中文问答系统答案抽取的研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中文问答系统答案抽取的研究
作者:何鹍叶昕李巍黄波
来源:《商情》2010年第28期
[摘要]中文问答系统是随着互联网的迅速发展和普及而产生的一项新的应用研究。针对传统搜索引擎存在的诸多弊端,问答系统要求用户以自然语言的形式进行提问,并将精确的答案快速地返回给用户,而不是包含大量无关信息的文档和网页。问答系统包含三个核心模块:问题分析、信息检索和答案抽取,作为问答系统中的一个核心模块,答案抽取模块性能的优劣直接影响着整个问答系统的性能,所以本文将对答案抽取进行重点研究。
[关键词]问答系统答案抽取依存树语义匹配
1 引言
随着互联网的迅速发展和广泛普及,互联网上的信息越来越丰富,人们足不出户就能利用互联网得到自己所需要的各种信息,而搜索引擎便是人们快速获取信息和资源的重要手段之一。例如Google、百度等搜索引擎都能帮助人们快速地找到所需要的相关信息,用户只需要输入一些关键词的组合,它们就会马上返回大量的文档和网页,提供给用户所需要的相关信息。
但传统的搜索引擎也存在着诸多弊端。首先,它主要采用基于关键词的查询,通过关键词的逻辑组合来表明用户的查询意图,但是人类的查询意图一般是难以理解的,不可能通过几个关键词的简单组合就能表达出来,因此如果没有将用户的查询意图明确表达清楚,搜索引擎肯定不会返回令用户满意的答案;其次,对于用户的某一次查询,传统的搜索引擎返回大量与问题相关的信息,这给用户想要快速准确地获得所需要的信息带来了极大的困难。例如,用户在搜索引擎上输入几个关键词,它有可能返回很多所谓的相关文档和网页,这样用户将浪费大量的时间在这些文档和网页中查找自己所需要的信息;再次,基于关键词的匹配算法虽然操作方便容易实现,但毕竟只停留在语言的表面层次,并没有触及到句子的语义信息和句法结构等自然语言处理比较深层次的东西,因此查询的效果很难进一步提高。
上述问题均成为了制约搜索引擎性能提高的瓶颈,问答系统正是为了克服传统搜索引擎的这些弊端而产生的。与传统搜索引擎基于关键词的查询不同,问答系统要求用户以自然语言的形式进行提问,并将精确的答案快速地返回给用户,而不是包含大量无关信息的文档和网页,因此问答系统非常好地解决了用户的需求,节约了时间,提高了效率。用户不需要再把问题拆分成关键词的组合,而是直接以自然语言的形式把整个问题输入到问答系统,问答系统通过问题分析,信息检索和答案抽取的处理返回给用户所需要的答案。例如,用户提交一个问题“是谁发明了电话?”,问答系统将会直接给出问题的答案“亚历山大贝爾”。由此可见,问答系统就像一个学识渊博的专家,可以回答用户所提出的任何问题,不仅快速而且准确。
目前,国外已经有一些相对成熟的问答系统问世,但由于中文的语法结构比较复杂,中文自然语言处理的基础资源相对匮乏,应用于国外一些比较成熟的问答题系统中的技术还不能应用到中文问答系统中,因此中文问答系统的研究还处于发展阶段,还有很多工作有待解决。
2 问答系统概述
问答系统包含三个核心模块:问题分析、信息检索和答案抽取。如何在问题分析模块充分理解用户的查询意图,如何在信息检索模块找到与用户所提问题相关的文档信息,如何在答案抽取模块把问题的正确答案从候选答案集中抽取出来,这些问题是问答系统的关键和核心,需要我们进行深入的研究。问答系统的主要模块以及每个模块之间的关系如下图1所示:
图1 问答系统的主要模块以及每个模块之间的关系
下面介绍以下问答系统三个模块的重要作用和主要工作:
(1)问题分析模块:目前,问答系统对于用户提出的问题所得到答案的准确率还不是很高。通过研究发现,一个很重要的原因是问答系统对于用户所提出的问题分析理解不是很准确,而问题分析又是问答系统的第一个模块,通过问题分析模块处理后得到的结果将成为后两个模块进行工作的重要依据。因此问题分析模块对用户提问的不精确分析甚至错误理解,会导致后面的工作变得毫无意义,最终使得用户得不到要需要的答案。在问题分析的阶段中对用户所提问题通过自然语言处理进行分析,明确用户的正确意图,识别出问题的疑问词,根据一定的规则对问题进行分类,抽取出用于信息检索模块的关键词,明确答案抽取规则和约束条件,这样才能为问答系统后续模块的正确进行提供重要依据。
问题分析模块的主要工作包括:①对问句进行分词和词性标注,为问题的分类做好准备工作。②问题分类:按照疑问词制定一定的规则对问题进行分类,确定问题的类型,根据问题的类型选取答案抽取的策略,可以帮助用户缩小可能候选答案的范围;③抽取关键词:关键词即所谓的查询词,在用户所提交的问题中,抽取对后面信息检索有用的关键词,为得到问题的候选答案集做准备。④关键词扩展:在候选答案句中的一些词语一般和问题中的关键词表面形式不同,但是它们的语义是一样的,这样就需要对关键词进行扩展,来提高关键词的查询成功率。⑤如果有必要的话还要对问句进行重写,移动组成句子的词语,使问句成为和答案句相同的句式,便于进行相似度的计算。
(2)信息检索模块:信息检索模块是问答系统承上启下的模块,它把大量的文本信息逐步转化为与问题相关的精确信息,从而减少了答案抽取模块的工作量,有利于答案抽取模块抽取更加精确的答案。由于问答系统中信息量很大,如果信息检索的效率不高,那么问答系统想要快速的为答案抽取模块提供一些有效的信息就比较困难。信息检索模块的主要工作就是利用问题分析模块抽取出来的关键词,通过网络搜索引擎进行查询,返回一些与用户问题相关的文档和网页。信息检索模块输入关键词的布尔组合,在返回与问题相关文档和网页中,只有很少一部分才是问题
真正的答案,所以在答案抽取模块中,还要把检索出来相关文档和网站进行去除冗余信息和断句处理,得到答案抽取的候选答案集。
(3)答案抽取模块:答案抽取模块是问答系统最终产生正确答案的关键模块,是问答系统的核心部分,答案抽取算法的优劣直接影响着问答系统的性能。问答系统前面的处理都是为答案抽取准备的,答案抽取的对象是对相关文档和网页处理后所形成的候选答案集。在信息检索模块通过网络搜索引擎查询出与问题相关的文档和网站,有太多与问题不相关的信息,因此需要对相关文档进行处理,得到问题的候选答案集。答案抽取算法就是要在候选答案集中选取一个最符合用户需求的句子,作为问题的答案,返回给用户。对于那些询问时间、地点的问题,就可以用简短的词语来给出答案,而对于询问原因、方法等问题就需要给出一个完整的句子进行回答,因此答案抽取时还需要利用问题分析模块的得到的问题类型,选择相应的答案抽取策略来进行答案的抽取。
作为问答系统中的一个核心模块,答案抽取模块性能的优劣直接影响着整个问答系统的性能,所以本文将对答案抽取进行重点研究。
3 答案抽取算法研究
句子相似度计算是自然语言处理中的一个核心技术,在本文所研究的中文问答系统中尤为重要,它采用的计算方法直接关系到答案抽取的准确度。下面就具体介绍以下目前所有关于相似度的各种计算方法。
(1)基于关键词的相似度计算
这种计算方法采用空间向量模型进行计算,只依靠句子的表面信息,对句子进行分词处理,然后把句子看成词的线性序列,并不对语句进行更深层次语法结构分析,只是根据句子中单词出现频率等相关信息计算句子的相似度。
(2)基于语义的相似度计算
这种计算方法采用基于语义词典进行计算,由于同义词的存在,所以这种方法能够进一步提高句子之间的相似度。这种算法对句子中单词进行更深层次的分析处理,并识别出表面上毫不相干,但是实际上意思相同的词语,通过语义的方法来计算句子之间的相似度。
(3)基于句法的搭配词对相似度的计算
这种算法将句子里面词语之间的相互依存关系应用到了相似度的计算中,较简单的算法就是根据句子里的有效搭配词对来进行计算。有效搭配词也就是经过句法分析后得到的句子关键词,整个句子可被表示成一个依存树,这个句子的核心词也就是树的根节点,下面举例说明两个句