KBQA的核心任务

  • 知识体系构建(KB)
    • 基于业务特点,梳理知识体系;
    • 非结构化输入文本抽取三元组(主实体Subject,关系Predicate,客实体Object),并以特定方式进行存储(通常为图数据库)。
      • 如:"周星驰的电影功夫上映于2004年",包含两对三元组(周星驰,拍摄的电影,功夫)(功夫,上映时间,2004年)
  • 标准问答查询(QA)
    • 关系实体抽取
      • 查询语句抽取二元组(主实体Subject,关系Predicate)
      • 如:"功夫上映于哪一年",包含一对二元组(功夫,上映时间); 
    • 实体消歧
      • 解决同名实体产生歧义的问题;
      • 如:周星驰和星爷应对应同一实体; 
    • 关系链接
      • 将抽取得到的实体与关系进行链接,保证链接后的实体关系在知识体系中是有效的;
      • 如:豆瓣影评任务下询问"周星驰的母亲叫什么名字",所得到的二元组(周星驰,母亲)是非法的,因为知识体系中未建立该关系;
    • 结果查询
      • 在知识体系中检索合法的关系实体对,获取结果输出。

训练数据

[
    [
        "骗中骗的评分高吗",
        "豆瓣评分",
        "B-title I-title I-title O O O O O"
    ],
    [
        "安东尼娅家族啥时候上映的呀",
        "电影上映时间是什么",
        "B-title I-title I-title I-title I-title I-title O O O O O O O"
    ],
...
]

测试

{
    "text": "大话西游之大圣娶亲是最近刚上的电影吗",
    "predicate": "电影上映时间是什么",
    "subject": [
        {
            "title": "大话西游之大圣娶亲"
        }
    ],
    "response": "2014"
}

参考:Keras-Bert-KBQA | Bert系列模型应用于知识图谱问答的简单实践 - 知乎

### KBQA的技术定义 KBQA,即基于知识图谱的问答系统(Knowledge-based Question Answering),是一种利用结构化的知识库来理解和解答自然语言问题的方法[^1]。当面对一个问题时,KBQA通过分析其语义含义,在预先构建的知识图谱中定位相关信息,并据此推导出精准的答案。 此类系统不仅能够处理简单的事实型查询,还可以应对涉及复杂关系推理的任务。为了实现这一目标,KBQA依赖于多种核心技术,包括但不限于: - **语义解析**:将自然语言转化为机器可执行的形式化表示; - **信息检索**:依据识别的关键实体快速筛选潜在的相关数据项; - **逻辑推理**:运用预设规则集评估候选解的有效性和准确性; 值得注意的是,尽管存在其他类型的智能问答方案(如PairQA和DocQA),但只有KBQA专注于挖掘由专家精心整理过的高度组织化的领域特定知识源——这使得它特别适合解决那些需要深厚背景支持的专业话题询问[^2]。 ```python # 示例代码展示如何从知识图谱中获取答案 def get_answer_from_kg(question): parsed_query = parse_question_to_logic_form(question) # 将问题转换为逻辑形式 entities = extract_entities(parsed_query) # 提取其中涉及到的重要概念/对象 results = query_knowledge_graph(entities) # 向KG发起请求寻找关联信息 answer = select_best_match(results) # 对所得结果进行排序选出最优解释 return format_as_natural_language(answer) # 返回易于人类理解的回答表述 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值