“问答系统”(question answering,简称QA)讨论如何从大规模真实的联机文本中对于指定的提问找出正确回答的方法和技术,这是自然语言理解的一个新的发展趋向。
在20世纪初年,计算机还没有出现的时候,图灵(A. Turing)就天才地预见到,检验计算机智能高低的最好办法是让计算机来讲英语和理解英语,他提出了著名的“图灵实验”来检验计算机智能的高低。近年来迅速发展着的自动问答系统研究是图灵实验的生动实践,反映了自然语言处理技术的长足进步。
在自动问答系统中,计算机要对于用户的提问给出一套数量不多的准确回答,在技术上,它更接近于信息检索(information retrieval),而与传统的文献检索(document retrieval)有较大的区别。
与信息抽取(information extraction)相比,自动问答系统要回答的提问可以是任何的提问,而信息抽取只需要抽取事先已经定义好的事件和实体。在开放领域的自动问答系统中,使用有限状态技术和领域知识,把基于知识的提问处理、新的文本标引形式以及依赖于经验方法的答案抽取技术结合起来,这样,就把信息抽取技术大大地向前推进了一步。
自动问答系统给某个提问提供简单而精确回答,与信息检索任务和与信息提取任务极为不同。目前的信息检索系统能让我们对与提问切题的相关文献进行定位,把从文本的等级列表中抽取答案的任务留给用户。在信息检索中,相关文本的识别是使用将提问与文献集匹配的方法来实现的,信息检索系统并不负责回答用户的问题。信息抽取与信息检索不同,信息抽取系统抽取的东西是用户感兴趣的信息,抽取的条件是信息已经存在于预先规定的被称为模板的目标表现形式中。从总体上,信息抽取系统在一个与提取任务相关的文献集合上操作。信息抽取系统在完成抽取的任务时,可以成功地组拼模板。
尽管在信息检索系统的输出和信息抽取系统的输入之间有重合现象,但是把信息检索技术和信息抽取技术简单地组合起来,直接应用到开放领域的自动问答系统中是行不通的。其原因在于:
第一,这种解决办法需要建立适用于所有可能领域的信息抽取规则;
第二,这种解决办法会把可能问及的问题的类型仅仅局限在信息抽取模板信息的形式范围之内。
不过,自动问答系统可以使用信息检索的方法来识别那些可能把包含问题的答案的文献,同时使用信息抽取技术来进行命名实体的辨识。
不管怎么说,成功的自动问答系统要对复杂的自然语言处理技术进行编码,捕获提问的语义,并对提问和候选答案进行词汇语义的合成。由于自动问答系统集中地使用了大量的句法、语义和语用的处理方法,因此,对自动问答系统技术的关注势必促进自然语言处理技术的发展,将自然语言理解推到研究与系统开发的前沿。
自动问答系统技术一定会在今后的数年内在信息技术中发挥重要的作用。自动问答系统的用户可能是随意的提问者,他们只是问一问简单的具体问题;也可能是寻找具体产品特性和价格的顾客;也可能是正在收集市场、财经或商业信息的调研分析人员;还可能是查询非常具体、需要大量专门技术的信息的专业信息分析人员。所以,对回答提问的需求是很广泛的,正是由于自动问答系统有广泛的用户群,它的研究具有广阔的应用前景。
根据处理提问与答案的形式,自动问答系统可以大致分为定型的自动问答系统和开放领域的自动问答系统两种。
在定型的自动问答系统中,系统需要回答的问题或者是关于特定事实的,或者是具有专业性的。定型的自动问答系统对一个新提问首先进行最佳匹配,匹配对象是已知答案的预置问题一个集合。若有合适匹配,就提供正确答案。定型的自动问答系统的客户群众多,客户们迫切希望依靠定型的自动问答系统,对自己特定的问题找出正确的答案。定型的自动问答系统在受限领域内表现较好,因为在这些领域中,比较容易预测问题的答案。
定型的自动问答系统中的问题大致可以分为两类:一类是关于具体事实的问题,一类是专业问题。
下面是关于具体事实的问题的例子:
-- Who was the first American in space?
(第一个进入太空的美国人是谁?)
-- Where is capital airport?
(首都机场在哪里?)
-- When did the Neanderthal man live?
(尼安德特人生活在什么时候?)
系统只要查询到有关的事实,就可以轻而易举地回答这一类的问题。
下面是关于专业问题的例子:
-- What will the US response be if Iran closes the Strait of Hormuz?
(如果伊朗关闭霍尔木兹海峡,美国将如何回应?)
-- What effects on the price of oil on the international market are likely to result from the terrorist attacks on Saudi facilities?
(恐怖分子袭击沙特阿拉伯的设施,对于国际市场上的油价会产生什么影响?)
回答这一类的问题,需要根据专业知识来进行推理,需要从各种专业文献中收集证据碎片,然后将这些证据碎片合并,才能形成最后的答案。
开放领域的自动问答系统要对来自任何领域的提问都能够提供答案,为了达到这个目的,需要运用句法、语义、语用等自然语言处理手段,从大量联机文献集合中搜寻并发现对于提问的答案。设计这种开放领域的自动问答系统的难点在于系统需要处理的提问的宽泛性。提问可能是问具体的信息的,例如,在文本检索会议(TREC)评估时所提的问题;提问也有可能问及复杂事件、事实或情况。
鉴于开放领域的自动问答系统具有提问的宽泛性,仅对提问类型分类是不够的,因为对同一问题,由于所查询文献的情况不同,或者由于文本中有关答案的遣词造句的方法不同,答案的提取有难有易。因此,我们不对问题处理技术或答案提取技术进行分类,而是对整个自动问答系统进行分类,把开放领域的自动问答系统进一步细分为如下5类:
第一类:能够处理事实问题的自动问答系统。这类系统从一个或几个文献的集合中抽取文本片段作为回答。在通常的情况下,系统只需要逐字逐句地进行搜索,在文献中直接找出问题的答案。
例如:
问: Who is the author of the book ‘The Iron Lady: A Biography of Margaret Thatcher’ ?
(谁是《铁娘子:撒切尔夫人传》的作者?)
答: THE IRON LADY: A Biography of Margaret Thatcher by Hugo Young.
(《铁娘子:撒切尔夫人传》的作者是雨果.杨。)
第二类:具有简单推理机制的自动问答系统。这类系统需要在不同的文本片段中找出答案,并且用简单的推理形式,找出问题与这些答案之间的关系,从而把它们关联起来。在这种形式下,答案的发现需要使用更加精细的本体概念知识或者更加精细的语用知识,而答案的抽取则需要在这些知识的基础上进行推理。由于简单释义的不足,这样的推理通常必须使用世界知识和普通的常识。例如,在下面的问答中,就使用了“喝有毒饮品是死亡的一个原因”这样的假设。
问: How did Socrates die?
(苏格拉底是怎么死的?)
答: Similarly, it was to refute the principle of retaliation that Socrates, who was sentenced to death for impiety and the corruption of the city’s youth, close to drink the poisonous hemlock, the state’s method of inflicting death, rather than accepting the escape from prison that his friends had prepared.
(类似地,这驳斥了那种报复的原则,认为苏格拉底被判处死刑是由于他的不敬行为以及他腐蚀城市的青年,他喝了毒芹,这是国家执行死刑的一种方式,而不是他接受了他的朋友们策划的越狱计划)
在词网(WordNet1.6)中,名词poison(毒)的第一个意思解释为any substance that causes injury or illness or death of a living organism(“能对生物体造成伤害、疾病或死亡的任何物质”),根据这样的因果链进行推理,就为poisonous hemlock(毒芹)可能是苏格拉底死亡的原因提供了证据。
第三类:能够从不同文献中融合出答案的自动问答系统。这种系统的特征是,它们能够提取散落在不同的若干个文献中的局部的信息,然后形成一个融合的答案。这样的回答格式决定着这些自动问答系统的多层复杂性。
例如:
问: Name three countries that banned beef imports from Britain in the 1990?
(列举出1990年禁止从英国进口牛肉的3个国家的名字?)
答: [France, West Germany, Luxembourg, Belgium]
([法国,西德,卢森堡,比利时])
这种融合的开放领域自动问答系统需要具有更高级的语义处理能力和名称别名的识别能力。例如,在不同的若干个文献中,可能会使用Britain和UK等不同的名称来称呼“英国”,系统要能够识别出Britain和UK是同一个国家,才有可能在若干个不同的文献中进行知识的融合,把Britain和UK融合在一起。
第四类:可以进行类比推理的自动问答系统。这类自动问答系统的特征是,它们具有类比推理的能力。在这种自动问答系统中,问题的答案不会在任何文献中明确表述出来,而是需要将不同的答案进行类比推理,预测它们之间的相似点和不同点。在类比推理时,系统需要将问题分解成提取证据碎片的若干个小问题,然后使用类比的方式进行推理来构造对于问题的答案。
例如:
问:Is the Fed going to raise interests at their next meeting?
(Fed打算在他们的下一次会议上提高利息吗?)
问:Is the US out of recession?
(美国摆脱了经济萧条吗?)
问: Is the airline industry trouble?
(航空工业出现了什么麻烦?)
要回答上述的问题需要从各种文本中提取证据的碎片,然后进行类比推理,构造出问题的答案。
第五类:交互式自动问答系统。这类自动问答系统的特征是能够在前期与用户互动形成的语境的基础上提问题,而不是孤立地提问,人与计算机之间可以交互。
例如:
语境中的提问1: Which museum in Florence was damaged by a major bomb?
(佛罗伦萨的哪一个博物馆被炸弹破坏了?)
答: On June20, the Uffizi gallery reopened it doors after the 1993 bombing.
(1993年爆炸之后,在6月20日,乌菲齐美术馆又重新开门了。)
语境中的提问2: On what day did is happen?
(爆炸是在那一天发生的?)
答: (Thursday) (May 27 1993)
(星期四)(1993年5月27日)
语境中的提问3: Which galleries were involved?
(包括哪一些画廊呢?)
答: One of the two main wings.
(两个主要侧面画廊当中的一个)
语境中的提问4: How many people were killed?
(死了多少人呢?)
答: Five people were killed in the explosion.
(在爆炸中死了5个人。)
在回答这些问题的时候,计算机需要在前面已经回答的问题的基础上,检查提问前后的语境,才有可能做出回答。
QuestionAnsweringSystem是一个Java实现的人机问答系统,能够自动分析问题并给出候选答案。