中国人工智能学会通讯——面向知识图谱的自然语言问答系统 2 语义解析式的知识库问答

简介:

2 语义解析式的知识库问答

基于语义解析(semantic parsing)的方法是指先利用语义解析理解自然语言问题的语义,将问题转化为具备相同语义的逻辑形式,再通过查询引擎对生成的逻辑形式进行查询处理,得到最终结果。上述过程分别对应语义解析和查询执行两个主要阶段。这类方法的优点在于如果解析成功,则能完整获得提问者的意图,从而精确地返回查询结果。与此同时,将生成的逻辑形式展示给用户可以让用户检验系统是否理解正确,哪一步解析发生了错误,从而利用用户反馈进一步改善系统的精度。因此这种方法是一种“可解释”的面向知识图谱的自然语言问答方法。语义解析式的问答系统所生成的逻辑形式一般与对应数据库的查询语言相同,例如RDF知识库对应的SPARQL语言;或者是通用的逻辑表达式,例如Lambda表达式;也有系统使用其他的逻辑形式,例如查询图等。

作为基于语义解析的问答系统中最重要的阶段,语义解析(问题理解)一般可以分解为三个任务,分别是短语检测、资源映射和语义组合。

短语检测

短语检测的目标是将问题中蕴含有效信息的短语抽取出来,这些短语被称作表征短语。蕴含有效信息是指能够对应到知识库中的特定元素(实体,概念,关系)。例如,图3中的短语film对应知识库中的概念(类型)dbo:Film,短语directed by对应知识库中的谓词(关系)dbo:director。

image

短语检测的难点在于冲突处理。例如在句子“The lyrics of April in Paris”中,短语“April in Paris”对应到知识库中的一首歌曲,短语“Paris”对应知识库中的一座城市,二者之中只能有一个被选作表征短语。较常被使用的应对策略是“最长覆盖原则”[16],即优先选择那些更长的短语而抛弃有冲突的较短短语。文献[17]提出了一种将冲突问题转化为带权极大团问题,再利用经典算法解决的思路。

资源映射

给定自然语言问题中的若干表征短语,资源映射的目标是将各短语映射到知识库中的特定元素。根据映射元素的不同种类,资源映射可以被分为实体链接(entity linking)和关系识别两个主要任务(relation extraction)。这两个任务在自然语言处理(NLP)领域被广泛研究。

实体链接的难点在于如何消除歧义。知识库中的实体在自然语言中可能有多种表述形式,自然语言短语也可能指代不同的实体。例如“Obama”既可能是指“Barack_Obama”,也可能指“Michelle_Obama”。如何选择合适的实体需要考虑到上下文环境、字符及语义层次的相似度,以及实体本身的流行度等相关因素。

关系识别的任务目标是将自然语言关系短语映射到知识库中的谓词。解决方案主要包括依赖于预定义的模板进行匹配、根据构建好的短语关系复述词典进行识别[8]、通过神经网络模型进行相似度计算[9]等。关系识别的难点在于隐式关系和复杂关系,例如“Chinese actor”隐藏着国籍的关系,“grandson”对应知识库中一条路径而不是一个简单谓词。文献[5]提出了一种基于规则的桥接(bridging)方法来补充上述隐式谓词的情况。

语义组合

将自然语言问题中的表征短语抽取出来,并将它们与知识库中的实体、谓词等元素对应起来。语义解析的最后一步就是将这些元素组合成对应的逻辑形式。对于简单的问题,一般只包含单一实体和关系,只需要将其相连即可。对于复杂的问题,可能包含多个实体和关系(例如图3所示),则需要考虑各实体和关系之间如何配对组合。

文献[6-7]等工作通过模板匹配的方式来进行逻辑形式的构建。文献[6]预先定义了若干Lambda表达式的模板,先根据模板生成问题N的若干候选Lambda表达式,然后对于每个表达式生成若干复述语句,再通过语言复述模型(Paraphrase Model)来比较这些复述语句和N的相似度,从而选择最合适的表达式。文献[7]针对特定数据库Freebase和评测集WebQuestions设计了三个查询模板,覆盖了其中将近95%的问题。由问题N匹配到查询模板时,获取N中每个实体在知识库中两步内所有符合模板限制的查询图作为候选,再经过特征提取和排序选择其中最好的作为最终查询。总的来说,基于模板的结构化查询生成的方法,被广泛应用到工业界的知识库问答系统中,例如前面提到的被Amazon收购的EVI系统,就是通过人工定义模板的方法[12]来生成面向知识库的结构化查询。

文献[9]提出了一种查询图生成方法STAGG(见图4),基于识别出的实体和关系定义了若干操作和状态。查询图最初由只包含一个实体的状态开始,通过不同操作进行扩展(状态转移)。对于每一种状态由状态评估模型给出置信度,每次操作优先作用于当前置信度最高的状态。当所有候选都扩展完毕后,选取全局得分最高的状态作为最终查询图。

image

当问题被转化为结构化的逻辑形式时,只需要使用相应的数据查询引擎执行查询就可以了。对于没有直接生成SPARQL查询的RDF问答系统,利用一些简单规则将生成的逻辑形式进一步转化成SPARQL语言,再利用现有的SPARQL查询引擎(Virtuoso[18]、GStore[19] 1等)进行查询,得到最终结果。

相关文章
|
13天前
|
机器学习/深度学习 人工智能 自然语言处理
ChatGPT的应用与发展趋势:解析人工智能的新风口
ChatGPT的应用与发展趋势:解析人工智能的新风口
90 0
|
13天前
|
SQL 存储 人工智能
探索语义解析技术和AI人工智能大模型的关系
探索语义解析技术和AI人工智能大模型的关系
86 1
|
13天前
|
机器学习/深度学习 人工智能 PyTorch
Python 与人工智能的完美结合——解析 PyTorch 框架
【2月更文挑战第4天】本文将探讨 Python 在人工智能领域中的应用,以及介绍 PyTorch 框架。PyTorch 是一个基于 Python 的开源机器学习库,其强大的自动微分功能和易于使用的接口使其成为深度学习领域的热门选择。本文将从 PyTorch 的发展历程、工作原理以及示例代码等方面进行详细分析和解释。
|
13天前
|
人工智能 测试技术 Python
软件测试/人工智能|Python 数据类型转换解析:理解数据之间的灵活转换
软件测试/人工智能|Python 数据类型转换解析:理解数据之间的灵活转换
39 0
|
13天前
|
存储 人工智能 测试技术
软件测试/人工智能|Python 数据类型解析:探索编程世界的多样性
软件测试/人工智能|Python 数据类型解析:探索编程世界的多样性
115 0
|
13天前
|
存储 人工智能 Java
软件测试/人工智能|Python 变量解析:从基础概念到内存地址探究
软件测试/人工智能|Python 变量解析:从基础概念到内存地址探究
37 0
|
8月前
|
机器学习/深度学习 人工智能 算法
编织人工智能:机器学习发展总览与关键技术全解析
编织人工智能:机器学习发展总览与关键技术全解析
73 0
|
8月前
|
机器学习/深度学习 人工智能 算法
编织人工智能:机器学习发展历史与关键技术全解析
关注TechLead,分享AI领域与云服务领域全维度开发技术。本文全面回顾了机器学习的发展历史,从早期的基本算法到当代的深度学习模型,再到未来的可解释AI和伦理考虑。文章深入探讨了各个时期的关键技术和理念,揭示了机器学习在不同领域的广泛应用和潜力。最后,总结部分强调了机器学习作为一种思维方式和解决问题的工具,呼吁所有参与者共同探索更智能、更可持续的未来,同时关注其潜在的伦理和社会影响。
229 0
|
机器学习/深度学习 人工智能 自然语言处理
阳过→阳康,数据里的时代侧影;谷歌慌了!看各公司如何应对ChatGPT;两份优质AI年报;本周技术高光时刻 | ShowMeAI每周通讯 #003-12.24
这是ShowMeAI每周通讯的第3期。本期内容关键词:新冠、ChatGPT、2022 AI 报告、腾讯·绝悟、阿里·AliceMind、小红书·全站智投、OpenAI·Point-E、Google·CALM、Wayve·MILE、AI2·MemPrompt、Stanford x MosaicML·PubMed GPT、腾讯全员大会、特斯拉裁员、图森未来裁员、AI 应用与工具大全。
480 0
阳过→阳康,数据里的时代侧影;谷歌慌了!看各公司如何应对ChatGPT;两份优质AI年报;本周技术高光时刻 | ShowMeAI每周通讯 #003-12.24
|
机器学习/深度学习 人工智能 自然语言处理
与世界同行 2017中国人工智能大会有感
与世界同行 2017中国人工智能大会有感
1894 0
与世界同行 2017中国人工智能大会有感

热门文章

最新文章

推荐镜像

更多