一、引言
人通过获取和应用知识,能够实现对客观事物的认知和推理。从脑科学、神经科学的角度来说,人类的认知推理能力是一个非常复杂的系统,研究者对其机理的认识还非常有限。从人工智能的角度来说,研究者试图通过人工智能的技术去模拟人类的认知和推理的过程。问答就是一种典型的认知推理过程。智能问答,指的是根据预先构建的知识,对用户提出的问题给出答案。这里,我们通过介绍智能问答技术,来探讨人工智能如何实现认知推理。
人回答问题的过程,就是根据所掌握的知识来进行推理应用,从而得到答案的过程。一个全面而又庞大的知识储备是强大的推理能力的基础。人所掌握的知识可以是语义型(如:篮球比赛的场上人数是10人)、场景型(如:上周参加篮球比赛的情形)、经验型(如:篮球比赛最后几秒小比分落后该用的战术)、常识型(如:受伤了就不能上场比赛)等。那么,我们就可以结合这些知识回答各类问题(如图1所示)。
图1问答过程示意图
人还需要对知识进行串联,从而产生推理。如图1中的第四个例子,需要将“张三受伤了”和“常识:受伤了就不能上场比赛”进行串联,从而推理出张三不上场。类似于以上过程,智能问答系统,也是根据积累的知识进行推理,从而给出答案。
二、介绍
一个典型的智能问答流程(如图2所示)。当用户提出问题Query后,智能问答系统首先需要对Query进行语义理解,提取一些主要的语义单元,比如核心实体、分词、依存句法等,这些语义单元是理解Query含义的语言粒度。在理解了Query含义后,我们需要结合所掌握的知识进行推理,从而得到答案。
推理的过程,可以是符号主义的,也可以是联结主义的。符号主义学派认为,认知过程是建立在符号表示上的一种运算,主张通过形式推理规则来寻找答案。联结主义学派则主张通过神经网络这一数学模型来模拟高层次的认知过程,通过建立在神经元连接机制之上的数学计算来寻找答案。进入20世纪后期之后,连接主义成为主流,进入全盛时期。
图2智能问答流程示意图
同样地,知识在智能问答系统中也发挥着重要作用。在智能问答系统中,知识更多地是以语义、常识等形式存在。根据知识的不同形式,智能问答可以分成不同的形态和技术,对应的推理算法也不尽相同。在这里,我们结合四种不同的知识类型,介绍四种不同的智能问答技术。
>>>> 2.1 知识图谱问答
知识图谱问答的示意图(如图3所示)。在知识图谱问答中,知识是以知识图谱的形式存在。知识图谱是一种结构化的知识表示形式,它是由实体及实体之间的连接关系组成的语义网络图,能够表示存在于外部世界当中的隐含语义。
由于用户的Query是非结构化的自然语言,而知识图谱是结构化的语义网络。因此,知识图谱问答的关键问题,在于将非结构化的用户Query转换成结构化形式的图谱查询语句。经常使用的两种方式是基于语义解析的方式和基于路径检索的方式。基于语义解析的方式,是结合语言学方法对用户Query进行语法语义的分析,从而将其转换为图谱查询语句。
基于路径检索的方式,是先从知识图谱中挖掘一些候选的解析路径,然后通过排序找到最有可能的解析路径,从而找到答案。对于简单的Query,基于语义解析的方式直截了当非常有效,但是对于需要多跳才能回答的复杂Query(如图3所示),语义解析的准确率会降低,这时基于路径检索的方式就会更加有效。基于路径检索的方式,还可以给出推理的路径,可解释性更强,让用户的使用体验变得更加友好。
近年来,学界在图谱问答上的研究热情高涨。研究者通过各种方式尝试提升图谱问答技术在复杂Query上的准确率。比如,结合知识表示学习、引入非结构化文档或者对多跳情形进行更复杂的建模等。
图3知识图谱问答示意图
>>>> 2.2 检索问答
检索问答的示意图(如图4所示)。在检索问答中,知识是以QA对的形式存在。智能问答系统通过召回-排序两个步骤,从QA库中找到与用户Query语义最像的相似Q,以相似Q的答案来回答用户。随着BERT等大规模预训练语言模型的问世,相似Q匹配的准确率也越来越高,可以满足大部分的工业界问答场景需求。
图4检索问答示意图
>>>> 2.3 开放域问答
开放域问答的示意图(如图5所示)。在开放域问答中,知识一般是以单篇或多篇文档的形式存在,所以也可以叫作文档问答。问答系统需要从文档中寻找证据(evidence)来回答问题,这些证据可能是单条或者多条,可能存在于同一篇文档中,也可能存在于多篇文档中。当存在多条证据的时候,还需要对这多条证据进行串联分析,从而推理出答案。
开放域问答主要分为Retrieval和Read两个阶段,主要依赖的技术包括文本检索、阅读理解等。在Retrieval阶段,问答系统需要通过检索技术找到证据片段。依靠证据中的实体或者超链接实现跳转,进而找到更丰富的证据片段。也有研究者通过RNN模型对文档之间的跳转进行建模,找到最好的证据链条。在Read阶段,将这些证据片段连成段落,就可以借助于阅读理解技术,从段落中找到正确答案了。
图5开放域问答示意图
>>>> 2.4 常识问答
常识问答的示意图(如图6所示)。在常识问答中,知识以常识(fact)的形式存在,比如“饿了要吃饭”、“起床了要穿衣服”、“受伤了不能上场”等,这种常识是关于外部世界的一些简短的基本认识,知识图谱、文档等现有的知识形态中一般不会包含这种常识。常识问答,就要利用这些常识,进行认知推理,找到答案。由于常识的规模一般非常庞大,答案并不封闭,所以常识问答一般会提供几个选项答案,从选项中找到正确答案。
常识问答是一个比较困难的任务,研究者一般会寻找能够将问题和选项连接起来的常识fact集合,然后构建图网络,以图网络的形式来表示推理过程。通过图神经网络上的信息传递和计算,来衡量每个选项的正确性。
图6常识问答示意图
三、实践
智能问答是小爱同学的一类垂域,主要面向用户的求知需求,给用户提供知识服务。根据用户Query类型的不同,我们准备了不同形态的知识库,以提升问答系统的覆盖面和准确率,建设更好的用户体验。如图7所示,小爱场景下智能问答系统主要包括了图谱问答、检索问答和文档问答这三种模块。
图7小爱智能问答系统框架
>>>> 3.1 图谱问答实践
图谱问答主要回答用户的结构化Query,比如“姚明的老婆是谁”、“中国的面积是多少”,这一类Query中的实体和属性非常清晰,通过属性查询就可以得到答案。
基于语义解析的方式流程图(如图8所示)。通过语义解析,我们可以找到Query对应的模板,从而得到结构化的查询语句,去图谱中进行查询就可以得到答案。基于语义解析的方式可以覆盖大部分的结构化Query需求,并且可以给出答案的全方位信息,适合精品化建设。但是,当Query涉及多个实体或者涉及多跳情形时,语义解析的召回就会非常有限。这个时候,基于路径检索的方式就可以发挥作用了。
图8基于语义解析的图谱问答流程图
基于路径检索的方式流程图(如图9所示)。它主要包括实体抽取、路径挖掘、路径匹配、路径排序和答案生成这几个步骤。这种方式不再依赖模板,它的泛化性更好,对复杂Query的问答能力也更强。在路径挖掘中我们加入了约束挂载,具有了带约束的解析问答能力。我们的图谱问答技术在在CCKS2021生活服务知识图谱问答评测中取得第一名(1/412)的成绩。
图9基于路径检索的图谱问答流程图
>>>> 3.2 检索问答实践
检索问答主要回答用户的非结构化Query,比如HOW/WHY/WHETHER类问题,这一类Query没有明显的实体和属性,难以通过属性查询得到答案。但是通过寻找相似Q,我们可以解答用户的问题。检索问答的流程图(如图10所示)。它主要包括语义理解、检索、匹配、重排序等几个环节。在检索环节,我们从QA库中去寻找能回答问题的候选知识。在匹配环节,我们利用文本匹配的算法去找到与用户Query最相似的知识,再结合业务相关的一些重排序规则进行适当的调整。最终,将答案返回给用户。
图10检索问答流程图
>>>> 3.3 文档问答实践
当图谱问答和检索问答都回答不了用户的问题时,我们会使用文档问答技术尝试回答。我们以百科summary作为候选文档。由于候选文档一般都比较长,使得开放场景下文档检索的难度大,误召会比较严重,准确率难以适应产品的应用需求。为了提升准确率,我们限定在特定场景下直接针对给定的单文档,利用阅读理解技术从文档中去抽取答案片段,给用户返回一个清晰明了的答案。
最后,在终端设备上将以上智能问答技术的结果进行封装,就可以展现给用户了。以手机为例,通过卡片对答案进行封装,智能问答的实际效果如图11所示。
四、总结
知识存在不同形式,本文结合知识形式对不同形态的智能问答任务进行了介绍。此外,结合小爱的应用场景,对智能问答的业务实践进行了介绍,对其中涉及到的关键技术也进行了探讨。
智能问答,建立在众多NLP技术基础之上,是人工智能技术大展拳脚的舞台。智能问答技术的不断提升,也会给人的生活提供更大便捷。