自动问答研究进展、现状及趋势

日期: 2019-01-02 13:37:18 / 人气: 178

1. 任务定义、目标和研究意义

自动问答(Question Answering, QA)是指利用计算机自动回答用户所提出的问题以满足用户知识需求的任务。不同于现有搜索引擎,问答系统是信息服务的一种高级形式,系统返回用户的不再是基于关键词匹配排序的文档列表,而是精准的自然语言答案。近年来,随着人工智能的飞速发展,自动问答已经成为倍受关注且发展前景广泛的研究方向。

自动问答的研究历史可以溯源到人工智能的原点。1950年,人工智能之父阿兰图灵(Alan M. Turing)在《Mind》上发表文章《Computing Machinery andIntelligence》,文章开篇提出通过让机器参与一个模仿游戏(Imitation Game)来验证“机器”能否“思考”,进而提出了经典的图灵测试(Turing Test),用以检验机器是否具备智能。同样,在自然语言处理研究领域,问答系统被认为是验证机器是否具备自然语言理解能力的四个任务之一(其它三个是机器翻译、复述和文本摘要)。自动问答研究既有利于推动人工智能相关学科的发展,也具有非常重要的学术意义。

从应用上讲,现有基于关键词匹配和浅层语义分析的信息服务技术已经难以满足用户日益增长的精准化和智能化信息需求,已有的信息服务范式急需一场变革。2011 年,华盛顿大学图灵中心主任 Etzioni 在 Nature 上发表的《Search Needs a Shake-Up》中明确指出:在万维网诞生 20 周年之际,互联网搜索正处于从简单关键词搜索走向深度问答的深刻变革的风口浪尖上。以直接而准确的方式回答用户自然语言提问的自动问答系统将构成下一代搜索引擎的基本形态。同一年,以深度问答技术为核心的 IBM Watson 自动问答机器人在美国智力竞赛节目 Jeopardy 中战胜人类选手,引起了业内的巨大轰动。Watson 自动问答系统让人们看到已有信息服务模式被颠覆的可能性,成为了问答系统发展的一个里程碑。此外,随着移动互联网崛起与发展,以苹果公司 Siri、Google Now、微软 Cortana 等为代表的移动生活助手爆发式涌现,上述系统都把以自然语言为基本输入方式的问答系统看做是下一代信息服务的新形态和突破口,并均加大人员、资金的投入,试图在这一次人工智能浪潮中取得领先。

当然,现有自动问答技术还不完美,仍面临许多具体问题和困难。本文对自动问答的主要研究内容、面临的科学问题和主要困难,以及当前采用的主要技术、现状和未来发展的趋势,进行概要介绍。

2. 研究内容和关键科学问题

自动问答系统在回答用户问题时,需要正确理解用户所提的自然语言问题,抽取其中的关键语义信息,然后在已有语料库、知识库或问答库中通过检索、匹配、推理的手段获取答案并返回给用户。上述过程涉及词法分析、句法分析、语义分析、信息检索、逻辑推理、知识工程、语言生成等多项关键技术。传统自动问答多集中在限定领域,针对限定类型的问题进行回答。伴随着互联网和大数据的飞速发展,现有研究趋向于开放域、面向开放类型问题的自动问答。概括地讲,自动问答的主要研究任务和相应关键科学问题如下。

2.1  问句理解

给定用户问题,自动问答首先需要理解用户所提问题。用户问句的语义理解包含词法分析、句法分析、语义分析等多项关键技术,需要从文本的多个维度理解其中包含的语义内容。在词语层面,需要在开放域环境下,研究命名实体识别(Named Entity Recognition)、术语识别(Term Extraction)、词汇化答案类型词识别(Lexical Answer TypeRecognition)、实体消歧(Entity Disambiguation)、关键词权重计算(Keyword Weight Estimation)、答案集中词识别(Focused Word Detection)等关键问题。在句法层面,需要解析句子中词与词之间、短语与短语之间的句法关系,分析句子句法结构。在语义层面,需要根据词语层面、句法层面的分析结果,将自然语言问句解析成可计算、结构化的逻辑表达形式(如一阶谓词逻辑表达式)。

2.2  文本信息抽取

给定问句语义分析结果,自动问答系统需要在已有语料库、知识库或问答库中匹配相关的信息,并抽取出相应的答案。传统答案抽取构建在浅层语义分析基础之上,采用关键词匹配策略,往往只能处理限定类型的答案,系统的准确率和效率都难以满足实际应用需求。为保证信息匹配以及答案抽取的准确度,需要分析语义单元之间的语义关系,抽取文本中的结构化知识。早期基于规则模板的知识抽取方法难以突破领域和问题类型的限制,远远不能满足开放领域自动问答的知识需求。为了适应互联网实际应用的需求,越来越多的研究者和开发者开始关注开放域知识抽取技术,其特点在于:1)文本领域开放:处理的文本是不限定

领域的网络文本;2)内容单元类型开放:不限定所抽取的内容单元类型,而是自动地从网络中挖掘内容单元的类型,例如实体类型、事件类型和关系类型等。

2.3  知识推理

自动问答中,由于语料库、知识库和问答库本身的覆盖度有限,并不是所有问题都能直接找到答案。这就需要在已有的知识体系中,通过知识推理的手段获取这些隐含的答案。例如,知识库中可能包括了一个人的“出生地”信息,但是没包括这个人的“国籍”信息,因此无法直接回答诸如“某某人是哪国人?”这样的问题。但是一般情况下,一个人的“出生地”所属的国家就是他(她)的“国籍”。在自动问答中,就需要通过推理的方式学习到这样的模式。传统推理方法采用基于符号的知识表示形式,通过人工构建的推理规则得到答案。

但是面对大规模、开放域的问答场景,如何自动进行规则学习,如何解决规则冲突仍然是亟待解决的难点问题。目前,基于分布式表示的知识表示学习方法能够将实体、概念以及它们之间的语义关系表示为低维空间中的对象(向量、矩阵等),并通过低维空间中的数值计算完成知识推理任务。虽然这类推理的效果离实用还有距离,但是我们认为这是值得探寻的方法,特别是如何将已有的基于符号表示的逻辑推理与基于分布式表示的数值推理相结合,研究融合符号逻辑和表示学习的知识推理技术,是知识推理任务中的关键科学问题。

3. 技术方法和研究现状

根据目标数据源的不同,已有自动问答技术大致可以分为三类:1)检索式问答;2)社区问答以及 3)知识库问答。以下分别就这几个方面对研究现状进行简要阐述。

3.1  检索式问答

检索式问答研究伴随搜索引擎的发展不断推进。1999 年,随着 TREC QA 任务的发起,检索式问答系统迎来了真正的研究进展。TREC QA 的任务是给定特定 WEB 数据集,从中找到能够回答问题的答案。这类方法是以检索和答案抽取为基本过程的问答系统,具体过程包括问题分析、篇章检索和答案抽取。根据抽取方法的不同,已有检索式问答可以分为基于模式匹配的问答方法和基于统计文本信息抽取的问答方法。

基于模式匹配的方法往往先离线地获得各类提问答案的模式。在运行阶段,系统首先判断当前提问属于哪一类,然后使用这类提问的模式来对抽取的候选答案进行验证。同时为了提高问答系统的性能,人们也引入自然语言处理技术。由于自然语言处理的技术还未成熟,现有大多数系统都基于浅层句子分析。

基于统计文本信息抽取的问答系统的典型代表是美国 Language ComputerCorporation公司的 LCC 系统。该系统使用词汇链和逻辑形式转换技术,把提问句和答案句转化成统一的逻辑形式(Logic Form),通过词汇链,实现答案的推理验证。LCC 系统在 TREC QA Track 2001~2004 连续三年的评测中以较大领先优势获得第一名的成绩。

2011年,IBM 研发的问答机器 Watson5在美国智力竞赛节目《危险边缘 Jeopardy!》中战胜人类选手,成为问答系统发展的一个里程碑。Watson 的技术优势大致可以分为以下三个方面:(1)强大的硬件平台:包括90台 IBM 服务器,分布式计算环境;(2)强大的知识资源:存储了大约2亿页的图书、新闻、电影剧本、辞海、文选和《世界图书百科全书》等资料;(3)深层问答技术(DeepQA):涉及统计机器学习、句法分析、主题分析、信息抽取、知识库集成和知识推理等深层技术。然而,Watson 并没有突破传统问答式检索系统的局限性,使用的技术主要还是检索和匹配,回答的问题类型大多是简单的实体或词语类问题,而推理能力不强。

3.2  社区问答

随着 Web2.0 的兴起,基于用户生成内容(User-Generated Content,UGC)的互联网服务越来越流行,社区问答系统应运而生,例如 Yahoo! Answers6、百度知道等。问答社区的出现为问答技术的发展带来了新的机遇。据统计 2010 年 Yahoo! Answers 上已解决的问题量达到10亿,2011 年“百度知道”已解决的问题量达到3亿,这些社区问答数据覆盖了方方面面的用户知识和信息需求。此外,社区问答与传统自动问答的另一个显著区别是:社区问答系统有大量的用户参与,存在丰富的用户行为信息,例如用户投票信息、用户评价信息、回答者的问题采纳率、用户推荐次数、页面点击次数以及用户、问题、答案之间的相互关联信息等等,这些用户行为信息对于社区中问题和答案的文本内容分析具有重要的价值。

一般来讲,社区问答的核心问题是从大规模历史问答对数据中找出与用户提问问题语义相似的历史问题并将其答案返回提问用户。假设用户查询问题为q0 ,用于检索的问答对数据为SQ,A = {(q1,a1 ),(q2 ,a2 )},…,(qn ,an)}},相似问答对检索的目标是从S Q,A 中检索出能够解答问题q 0的问答对(q i ,a )。

针对这一问题,传统的信息检索模型,如向量空间模型、语言模型等,都可以得到应用。但是,相对于传统的文档检索,社区问答的特点在于:用户问题和已有问句相对来说都非常短,用户问题和已有问句之间存在“词汇鸿沟”问题,基于关键词匹配的检索模型很难达到较好的问答准确度。目前,很多研究工作在已有检索框架中针对这一问题引入单语言翻译概率模型,通过 IBM 翻译模型,从海量单语问答语料中获得同种语言中两个不同词语之间的语义转换概率,从而在一定程度上解决词汇语义鸿沟问题。例如和“减肥”对应的概率高的相关词有“瘦身”、“跑步”、“饮食”、“健康”、“远动”等等。 除此之外,也有许多关于问句检索中词重要性的研究和基于句法结构的问题匹配研究。

3.3  知识库问答

检索式问答和社区问答尽管在某些特定领域或者商业领域有所应用,但是其核心还是关键词匹配和浅层语义分析技术,难以实现知识的深层逻辑推理,无法达到人工智能的高级目标。因此,近些年来,无论是学术界或工业界,研究者们逐步把注意力投向知识图谱或知识库(Knowledge Graph)。其目标是把互联网文本内容组织成为以实体为基本语义单元(节点)的图结构,其中图上的边表示实体之间语义关系。目前互联网中已有的大规模知识库包括DBpedia、Freebase、YAGO 等。这些知识库多是以“实体-关系-实体”三元组为基本单元所组成的图结构。基于这样的结构化知识,问答系统的任务就是要根据用户问题的语义直接在知识库上查找、推理出相匹配的答案,这一任务称为面向知识库的问答系统或知识库问答。

要完成在结构化数据上的查询、匹配、推理等操作,最有效的方式是利用结构化的查询语句,例如:SQL、SPARQL 等。然而,这些语句通常是由专家编写,普通用户很难掌握并正确运用。对普通用户来说,自然语言仍然是最自然的交互方式。因此,如何把用户的自然语言问句转化为结构化的查询语句是知识库问答的核心所在,其关键是对于自然语言问句进行语义理解(如图 1 所示)。目前,主流方法是通过语义分析,将用户的自然语言问句转化成结构化的语义表示,如 λ范式和 DCS-Tree。相对应的语义解析语法或方法包括组合范畴语法(Category CompositionalGrammar, CCG) 以 及依存组合语法(Dependency-based Compositional Semantics, DCS)等。


尽管很多语义解析方法在限定领域内能达到很好的效果,在这些工作中,很多重要组成部分(比如 CCG 中的词汇表和规则集)都是人工编写的。上述方法当面对大规模知识库时会遇到困难,如词汇表问题(在面对一个陌生的知识库时,不可能事先或者用人工方法得到这个词汇表)。目前已有许多工作试图解决上述问题,如利用数据回标方法扩展 CCG 中的词典,挖掘事实库和知识库在实例级上的对应关系确定词汇语义形式。

但是,上述方法的处理范式仍然是基于符号逻辑的,缺乏灵活性,在分析问句语义过程中,易受到符号间语义鸿沟影响。同时从自然语言问句到结构化语义表达需要多步操作,多步间的误差传递对于问答的准确度也有很大的影响。近年来,深度学习技术以及相关研究飞速发展,在很多领域都取得了突破,例如图像、视频和语音等,在自然语言处理领域也逐步开始应用。其优势在于通过学习能够捕获文本(词、短语、句子、段落以及篇章)的语义信息,把目标文本投射到低维的语义空间中,这使得传统自然语言处理过程中很多语义鸿沟的现象通过低维空间中向量间数值计算得到一定程度的改善或解决。因此越来越多的研究者开始研究深度学习技术在自然语言处理问题中的应用,例如情感分析、机器翻译、句法分析等等,知识库问答系统也不例外。与传统基于符号的知识库问答方法相比,基于表示学习的知识库问答方法更具鲁棒性,其在效果上已经逐步超过传统方法,如图 2 所示。这些方法的基本假设是把知识库问答看做是一个语义匹配的过程。通过表示学习,我们能够把用户的自然语言问题转换为一个低维空间中的数值向量(分布式语义表示),同时知识库中的实体、概念、类别以及关系也能够表示成同一语义空间的数值向量。那么传统知识库问答任务就可以看成问句语义向量与知识库中实体、边的语义向量之间的相似度计算过程。

3.4  技术现状

根据上面的阐述可以看到,根据不同的技术路线,检索式问答、社区问答以及知识库问答所采用的评测数据集也不尽相同。

在检索式问答方面,最权威的评测是美国国家标准技术研究所(NIST)推动的TREC(TextRetrieval EvaluationConference)于1999年开始组织的问答评测任务(QA Track)8和NTCIR(NII Testbeds and Communityfor Information access Research)组织的跨语言问答评测任务(CLQA)9。TREC QA评测考察三类不同的问题:事实性(factoid)、列表类(list)和定义类(definition)。然后综合这三类问题的平均得分,对于参评系统进行评价。TREC QA 评测一直持续到 2007 年,该评测一直都是检索式问答领域最受关注、参加机构最多的 TREC 评测项目之一。根据 2007 年的评测结果来看,最好的评测系统 MRR(MeanReciprocal Rank)可以达到 0.48 以上(接近0.5意味着评测系统对于所有的问题将在前两位返回结果中获得正确答案)。基于 TREC 评测系统,IBM公司于2011年研发的 Watson 系统参加了美国 Jeopardy 知识比赛,并战胜了人类选手,可以看做是检索式问答系统的一个里程碑。但是不可忽略的是,Jeopardy比赛还是一个限定问题类型、限定答案类型的知识比赛,面对开放式的场景和环境,已有检索式问答系统还有很长的路要走。

在社区问答方面,目前并没有权威的评测数据集,公认的数据集通常是由 Yahoo!Answers 社区问答系统上利用为研究人员提供的 API10接口下载的。目前,最好的检索系统在 Top 10 的准确率可以达到 40%。尽管社区问答系统相对于检索式问答和知识库问答技术简单,但是目前已经商业化,例如 Yahoo Answer11和百度知道12

在知识库问答方面,已有的评测主要针对于一些限定领域的知识库进行问答。已有方法也取得了不错的结果。例如:在Geoquery13(美国地理知识查询)数据集上(600个训练样本,280个测试样本)上,使用 CCG 和本体匹配的方法F值能达到89.0%,使用DCS的方法F 值能达到 91.1%;在求职(JOBS)数据集上(500 个训练样本,140 个测试样本),使用 CCG的方法F值能达到 79.3%,使用 DCS 的方法F值能达到 95%。在这一方面,QALD(QuestionAnswering overLinked Data)评测的举办更是推动了这方面的研究。QALD 每年举办一届,目前已经举办到了第六届。每一次评测,组织者都会给出一些问题,要求参加评测系统在给定知识库的基础上,将所给问题转化为结构化的SPARQL 查询语句,并在给定知识库上查询答案。但是,目前的研究趋势是从限定领域的知识库向大规模开放域甚至是多领域知识库进行扩展,例如 Freebase。与限定领域知识库相比,大规模开放知识库包含的资源和关系数量要大得多,比如Geoquery中只包含8个关系谓词,而 Freebase 包含上万个关系。因此开放知识库上的语义解析效果有明显下降。例如利用Freebase知识库,开放查询测试的最好效果只有39.9%;而在 QALD 评测中,在DBpedia上、开放查询中,表现最好的问答系统的正确率只有 40%。下图给出在面对开放域知识库 Freebase 时,在公开问题库 WebQuestion上,已有系统能够达到的精度。

4. 总结和展望

纵观自动问答研究的发展态势和技术现状,以下研究方向或问题将可能成为未来整个领域和行业重点关注的方向:

4.1  基于深度学习的端到端自动问答

目前,基于深度学习的问答系统试图通过高质量的问题-答案语料建立联合学习模型,同时学习语料库、知识库和问句的语义表示及它们相互之间的语义映射关系,试图通过向量间的数值运算对于复杂的问答过程进行建模。这类方法的优势在于把传统的问句语义解析、文本检索、答案抽取与生成的复杂步骤转变为一个可学习的过程,虽然取得了一定的效果,但是也存在很多问题。例如: 1)资源问题。深度学习的方法依赖大量的训练语料,而目前获取高质量的问题-答案对仍然是个瓶颈。Bordes提出了一些模板利用已有三元组来生成问句,用较小的代价生成了大量的问题-答案对,但是相应的问句质量并不能保证,而且问句同质化严重。在训练资源上的提高空间仍然很大。2)已有的基于深度学习的问答方法多是针对简单问题(例如单关系问题)设计的,对于复杂问题的回答能力尚且不足。如何利用深度学习的方法解决复杂问题值得继续关注。

4.2 多领域、多语言的自动问答

开放域环境下,用户的问题复杂多样,很多场景下,单单只用一个数据源或单一语言的语料库或知识库的信息不能完全回答用户的问题,需要对于多个资源进行综合利用。然而,网络中不同来源的语料库和知识库在框架和内容层面均存在差异, 同时也存在大量冗余。已有自动问答方法只能处理单一数据源的问答操作,尚缺乏对于多源异构知识库异构性和冗余性的有效处理机制。

4.3 面向问答的深度推理

尽管已有网络知识资源规模巨大,能够覆盖多个领域,但仍旧面临信息缺失问题,给知识库问答带来巨大挑战。这就需要研究面向问答的深度推理技术。传统基于符号逻辑的逻辑推理方法基于严格的符号匹配,过分依赖于推理规则的生成,因此具有领域适应性差、无法进行大规模推理的缺点。而深度学习基于分布式语义表示,利用语义空间中的数值模糊计算替代传统问答过程中的符号严格匹配,为解决上述问题供了一种有效途径,但也存在推理结果准确度低、可解释性差的问题。因此,如何利用深度学习大规模、可学习的特点,在深度神经网络框架下,融入传统的逻辑推理规则,构建精准的大规模知识推理引擎是自动问答迫切需要解决的难点问题。

4.4 篇章阅读理解

机器阅读理解是近几年兴起的问答任务,类似于传统的问答任务,核心在于考察机器的文本理解和推理能力。从这个角度上说,我们可以把机器阅读理解任务看作是问答系统的延伸。但是,机器阅读和传统问答仍然存在区别,主要在于:传统问答任务往往要求系统根据用户所提的问题,在海量文本库或大规模结构化知识库中检索、抽取或推理出相应的答案,大多数情况下会利用海量数据的冗余特性对于答案进行检索和抽取。因此,传统问答任务多考察系统的文本匹配、信息抽取水平。而在阅读理解任务当中,系统被要求回答一些非事实性的、高度抽象的问题。同时,信息源被限定于给定的一篇文章,虽然可以利用一些已有背

景知识,但是问题的答案往往来源于当前给定篇章中的文本。特别考察系统对于文本的细致化的自然语言理解能力以及已有知识的运用能力和推理能力。从这个角度上来说,相对于传统问答任务,机器阅读理解更具挑战。

4.5 对话

传统的自动问答都是采用一问一答的形式。然而在很多场景下,需要提问者和系统进行多轮对话交互,完成问答过程。针对这一问题,已有研究已经提出若干方法,但是由于场景的开放性以及用户问题的复杂度,这一问题一直难以很好解决。特别是在对话上下文建模与知识表示、对话策略学习以及对话准确性评价等方面亟待解决。

总之,自动问答作为人工智能技术的有效评价手段,已经研究了 60 余年。整体上,自动问答技术的发展趋势是从限定领域向开放领域、从单轮问答向多轮对话、从单个数据源向多个数据源、从浅层语义分析向深度逻辑推理不断推进。我们有理由相信,随着自然语言处理、深度学习、知识工程和知识推理等相关技术的飞速发展,自动问答在未来有可能得到相当程度的突破。伴随着 IBM Watson、Apple Siri 等实际应用的落地与演进,我们更有信心看到这一技术将在不远的未来得到更大、更广的应用。


(摘自《中文信息处理发展报告(2016)》)


现在致电 0755-88820392 OR 查看更多联系方式 →