中国人工智能学会通讯——面向知识图谱的自然语言问答系统 3 GAnswer 系统

简介:

3 GAnswer 系统

KB-QA中的难点之一是“歧义”问题,不同于传统的语义解析的方法,我们设计实现了一个新颖的面向知识图谱的问答系统gAnswer[8]。一方面,我们提出一种新的逻辑形式语义查询图,使用数据驱动的方式解决实体和关系的歧义,将消歧操作后推到查询执行阶段,从而提高识别精度。此方法的核心是将自然语言问题转化一个语义查询图QS,回答自然语言问题就是找到语义查询图Q在知识图谱RDF图G中的匹配。所谓“歧义后推”的方法是指,在产生语义查询图Q时我们并不做消歧的工作。如图5中短语Paul Anderson可能对应Paul S. Anderson、Paul W. S. Anderson等实体,在语义解析产生查询图QS阶段保留这些歧义,即允许问题中的“Paul Anderson”对应多个候选的实体;当进行查询图匹配时,我们发现不能找到包含Paul S. Anderson在内的匹配子图,则可以自然地抛弃这一候选实体,从而消除歧义。需要强调的一点是,我们提出了不依赖模板的语义组合方法,能够处理包括隐式关系在内的复杂问题,同时具备很好的鲁棒性和可扩展性。

image

3.1 GAnswer中的语义解析

GAnswer首先对问题进行语义解析,构建语义查询图。第一步是节点识别。对于自然语言问题N={w1,w2,...,wn},其中wi是N中第i个单词、wij是N中的一个短语。节点识别的目标是在N中抽取若干wij并产生wij的候选实体/概念列表。根据各节点对应的元素类别,还需要对其进行标注,图6是节点识别的样例。不同于传统方法只识别实体等常量,我们还识别变量并进行共指消解,提高了问题理解能力。

image

在得到节点集合后,我们需要知晓哪些节点之间有关系,需要进行连边。给出两个节点u和v,可以调用关系抽取模型判定它们之间有没有关系,并找到候选谓词列表。关系抽取模型有两部分,第一部分利用u和v在语法依存树(dependency parse tree) Y上的最短路径同关系短语复述词典进行匹配;第二部分是隐式关系推测,是直接将u和v映射到知识库中,并进行路径挖掘,得到最可能的候选谓词集合。有了关系抽取模型,最朴素的想法是对任意两个节点u和v,判断它们之间是否有关系,但这样做的时间复杂度较高。

为了提高效率,我们提出了一个基本假设:对于两个节点u和v,它们之间存在关系当且仅当u和v在Y上的最短路径P(u, v)中不存在第三个节点w。这是由于如果u和v之间存在节点w,那么u和w之间应该比u和v更亲密,那么u应该和w连边而不是v。经过实验证明,该假设在绝大多数情况下是正确的,少数错误的情况是由于关系依存树Y本身的错误。

在通过上述假设确定哪些节点之间有关系之后,就得到了语义查询图的基本结构。再对每一对u和v调用关系抽取模块和实体识别模块,即得到完整的语义查询图。传统方法在生成逻辑形式时已经进行语义消歧,为此花费额外的算法开销并可能丢失正确解。而我们在构建语义查询图时保留歧义,并在查询阶段根据数据匹配的情况进行消歧。另一方面,由于语法依存树Y本身可能存在错误,所以语义查询图也可能存在某些错误边,例如图7中v3和v4之间的边即是不应该存在的。这些错误边在对语义查询图进行查询时也会被消除掉。

image

3.2 GAnswer 中的查询执行

若我们在语义查询图QS各边/点的候选关系/实体列表中选择一个确定的关系/实体替代原来各边/点的标签,则QS转化为标准的查询图Q,即可使用现有的子图匹配算法进行查询。与信息检索式方法类似,我们定义了匹配的得分并返回得分最高的k个匹配作为最终结果。

为了提高效率,一方面将子图匹配算法进行扩展,使之支持对多标签的查询图进行子图匹配。基于图遍历算法,我们将实体节点对应的各实体作为它的候选,类似于原算法中的变量;将各边作为原算法中的节点看待,为它们建立候选列表。同时,建立代价模型(cost model)来评估各遍历顺序的花销,找到预估代价最小的方案来执行算法。

另一方面,由于QS可能存在错误边,正确的语义查询图QC是QS的一个生成子图。鉴于枚举所有生成子图再进行匹配的开销十分巨大,我们设计了自底向上的贪心算法。初始从一个节点出发,每一步优先选择置信度更高的边加入查询图,并不断进行匹配来确保当前的查询图可以找到解。当匹配失败的时候标记错误边并通过回溯选择其他边,最终将找到的匹配排序并返回得分最高的k个匹配。

3.3 GAnswer 在 QALD 比赛中的表现

QALD(Question Answering over Linked Data)[20]是一系列开放领域问答比赛,从2011年开始至今已举办七届。我们的系统参加了QALD-6的评测(QALD-6是ESWC 2016会议举办的评测任务之一),如 表1所示,以0.86的F-1值排名第二[20]。排名第一的系统CANaLI[21]并不是全自动的自然语言问答系统,它需要人工指定各短语所对应的实体和谓词,相当于要求用户自行解决消歧问题,并不适合直接与其他自动问答系统进行比较。KWGAnswer是我们开发的关键词问答系统,其表现也强于大部分自然语言问答系统。

image

image

相关文章
|
2月前
|
人工智能 自然语言处理 算法
为什么知识图谱是人工智能系统的未来?
检索增强生成(RAG)系统为大型语言模型(LLM)适应新数据集提供了巨大的前景,因为它提供了可据以构建响应的参考资料。
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
springboot基于人工智能和自然语言理解技术的医院智能导医系统源码
智能导诊系统可为患者提供线上挂号智能辅助服务,患者根据提示手动输入自己的基本症状,通过智能对话方式,该系统会依据大数据一步步帮助患者“诊断”,并最终推荐就医的科室和相关专家。患者可自主选择,实现“一键挂号”。这一模式将精确的导诊服务前置,从源头上让医疗服务更高效。
370 2
|
3月前
|
机器学习/深度学习 存储 人工智能
人工智能自然语言对话系统
人工智能自然语言对话系统
43 1
|
26天前
|
机器学习/深度学习 人工智能 自然语言处理
【人工智能技术专题】「入门到精通系列教程」零基础带你进军人工智能领域的全流程技术体系和实战指南(NLP自然语言处理概念介绍)
【人工智能技术专题】「入门到精通系列教程」零基础带你进军人工智能领域的全流程技术体系和实战指南(NLP自然语言处理概念介绍)
43 0
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能(AI)之计算机视觉和自然语言训练文件
人工智能(AI)之计算机视觉和自然语言训练文件
45 0
|
12天前
|
人工智能 自然语言处理 搜索推荐
|
1月前
|
机器学习/深度学习 自然语言处理
基于深度学习的自然语言处理技术在智能客服系统中的应用
【2月更文挑战第21天】随着人工智能技术的不断发展,自然语言处理(NLP)技术在各个领域得到了广泛应用。本文主要探讨了基于深度学习的自然语言处理技术在智能客服系统中的应用。首先介绍了深度学习和自然语言处理的基本概念,然后分析了智能客服系统的工作原理和技术要求,接着详细阐述了基于深度学习的自然语言处理技术在智能客服系统中的具体应用,包括语义理解、情感分析和问答系统等。最后对基于深度学习的自然语言处理技术在智能客服系统中的优势和挑战进行了总结。
44 1
|
3月前
|
存储 人工智能 自然语言处理
知识图谱系统在人工智能领域的应用与前景
知识图谱(Knowledge Graph)是一种新型的知识表示、存储和查询的方法,也是人工智能领域中重要的基础技术之一。本文主要介绍了知识图谱的概念、产生背景,以及发展历程,并详细分析了知识图谱人工智能领域中的应用,最后对其未来的发展趋势进行了展望。
|
1月前
|
机器学习/深度学习 自然语言处理 监控
利用深度学习技术实现自然语言处理中的情感分析
本文将深入探讨如何利用深度学习技术在自然语言处理领域中实现情感分析。通过介绍情感分析的背景和原理,结合深度学习模型如LSTM、BERT等的应用,帮助读者了解情感分析的重要性以及如何利用最新技术实现更准确的情感识别。
|
1月前
|
机器学习/深度学习 自然语言处理 算法
探索机器学习中的自然语言处理技术
【2月更文挑战第16天】 在数字化和智能化的浪潮中,自然语言处理(NLP)技术已成为连接人类与机器沟通的重要桥梁。本文深入探讨了机器学习在自然语言处理中的应用,包括最新的模型架构、算法优化技巧及实际场景中的挑战和解决方案。通过逻辑严密的分析,我们将揭示如何有效利用机器学习提升NLP系统的性能,同时对未来发展趋势进行预测。
23 0