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

本文涉及的产品
NLP自然语言处理_高级版,每接口累计50万次
NLP自然语言处理_基础版,每接口每天50万次
NLP 自学习平台,3个模型定制额度 1个月
简介:

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

相关文章
|
24天前
|
机器学习/深度学习 人工智能 自然语言处理
探索人工智能的深度学习与自然语言处理前沿
【10月更文挑战第10天】探索人工智能的深度学习与自然语言处理前沿
|
7天前
|
机器学习/深度学习 自然语言处理 知识图谱
GraphRAG在自然语言处理中的应用:从问答系统到文本生成
【10月更文挑战第28天】作为一名自然语言处理(NLP)和图神经网络(GNN)的研究者,我一直在探索如何将GraphRAG(Graph Retrieval-Augmented Generation)模型应用于各种NLP任务。GraphRAG结合了图检索和序列生成技术,能够有效地处理复杂的语言理解和生成任务。本文将从个人角度出发,探讨GraphRAG在构建问答系统、文本摘要、情感分析和自动文本生成等任务中的具体方法和案例研究。
25 5
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
深度探索人工智能中的自然语言处理技术#### 一、
【10月更文挑战第28天】 本文旨在深入剖析人工智能领域中的自然语言处理(NLP)技术,探讨其发展历程、核心算法、应用现状及未来趋势。通过详尽的技术解读与实例分析,揭示NLP在智能交互、信息检索、内容理解等方面的变革性作用,为读者提供一幅NLP技术的全景图。 #### 二、
14 1
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
【自然语言处理】TF-IDF算法在人工智能方面的应用,附带代码
TF-IDF算法在人工智能领域,特别是自然语言处理(NLP)和信息检索中,被广泛用于特征提取和文本表示。以下是一个使用Python的scikit-learn库实现TF-IDF算法的简单示例,并展示如何将其应用于文本数据。
254 65
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
探索人工智能在自然语言处理中的应用
本文将深入探讨人工智能在自然语言处理领域的应用,包括语音识别、文本挖掘和情感分析等方面。通过实例演示,我们将展示如何利用深度学习技术来提高自然语言处理的准确性和效率。
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
探索人工智能前沿:自然语言处理的最新进展
探索人工智能前沿:自然语言处理的最新进展
91 2
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
探索人工智能:深度学习在自然语言处理中的应用
探索人工智能:深度学习在自然语言处理中的应用
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
探索人工智能:深度学习与自然语言处理
探索人工智能:深度学习与自然语言处理
38 1
|
2月前
|
机器学习/深度学习 自然语言处理 搜索推荐
探索深度学习与自然语言处理(NLP)在智能客服系统中的创新应用
探索深度学习与自然语言处理(NLP)在智能客服系统中的创新应用
155 0
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
【自然语言处理】python之人工智能应用篇——文本生成技术
文本生成是指使用自然语言处理技术,基于给定的上下文或主题自动生成人类可读的文本。这种技术可以应用于各种领域,如自动写作、聊天机器人、新闻生成、广告文案创作等。
86 8