汉语语句相似度算法在问答系统中的应用研究
2013-05-11
(黔南民族师范学院 计科系,贵州 都匀558000)
一、中文问答系统的理论基础
1.知网的结构
首先分别介绍一下知网在工作中的两个概念:其中一个是由词表示的描述词汇语义用的“概念”;另外一个则是描述概念需要用到最基本的最小意义单位“义原”。
2.中文问答系统的分类
(1)根据涉及的领域和主题的内容可以将中文问答系统分为面向开放领域的问答系统和专业领域的问答系统,这种分类方式叫领域分类。
(2)用TREC 会议评测的标准作为参考,根据问题的类型将问答系统分为三种:定义性问题问答系统、罗列性问题问答系统、事实性问题问答系统,这是特性分类方式[1]。
3.处理中文信息的特点
中文信息处理具有不同于英文信息处理的特点:
(1)处理中文信息的基础是对中文词语的连续书写和分词,中文问答系统先将整段句子分成单个词语,然后再对问句和答案进行分析。
(2)英文有形态的变化而中文没有。
(3)中文句子具有非常灵活的语法,句子中的各成分有复杂的关系,句子没有规律可循。
(4)没有完整的语料库支持信息处理[2]。
4.问句特征向量的提取
提取问句特征向量是指对句子进行分词并对分出的词进行词性标注后,去掉句子中的虚词(拟声词、介词、连词等)和一些对句子意思影响不大的低频词和高频词,最后得到的词语序列。
二、中文问答系统的模型
1.中文问答系统的框架
中文问答系统是一种较高级的信息检索技术。它的目的是让用户能够用日常生活中自然的语言进行提问,然后得到一个自然的回答,模拟出与人交流的情形。简单地说中文问答系统就是通过分析用自然语言提出的问题并理解问题内容,然后采用固定的策略在数据库或者网页中搜索相应的答案,将答案提取回复给用户。
从上图可以知道中文问答系统的组成有三部分内容:第一部分是问句预处理,这部分包括的内容有语句分词、标注词性、提取和扩展关键字以及分析问句类型。第二部分是语句的相似度计算,这部分的内容主要是词语相似度计算、词序相似度计算、语句相似度计算、词形相似度计算、句长相似度计算、语义相似度计算以及结构相似度计算。第三部分是抽取答案进行回答,这部分的内容主要是进行关键词筛选、相似度排序、输出答案并反馈到用户结果显示。
2.问句预处理
处理中文信息的基础是对语句的分词,因为中文语句是由分词连写的,要理解问句的意思,不仅要对语句进行分词处理,还要对分词处理后的关键字标注其词性。
3.关键词抽取
任何句子都是由关键成分(主、谓、宾等等)和改造成分(定、状、补等)构成的。句子的重要组成部分发挥着重要的作用,然而修饰成分在句子中起次要作用。句子相似度计算,需要考虑这句话的重要组成部分。因此,当不能确定句子的内部组件时,句子的相似度计算只考虑这些关键字。
4.多特征加权的语句相似度计算
(1)词语相似度计算是以知网为语义知识库进行义原相似度计算、词语相似度计算、实词概念相似度计算以及虚词概念相似度计算。
(2)词形相似度是比较两个句子中相同词语形态和数量的相似程度确定的。
(3)对句子A 和B的词序相似度进行分析。
(4)结构相似度,有两个方面能够表现两个句子在结构上的相似度,这个方法进行标注两个汉语句子的词性以及分词,得到各异的序列,结合不同词类的权重,自动对词语的序列进行配对,检索出最好的结果。
(5)句子在长度上的相似度由句长相似程度表现。
5.FAQ库的更新
利用上述介绍的方法计算出用户所输入的目标问句和候选问题集中每个问句的相似度,如果所有这些计算出来的相似度的最大值大于或等于一定的阈值m(m=0.65),那么就认为最大的相似度所对应的问句和用户的目标问句问的是同一个问题。可以直接将这个问句对应的答案输出给用户。如果最大相似度的值小于阈值m(m=0.65),就可以认为FAQ库中没有用户所问的问题,那么必须利用其他的方法(如信息检索,答案抽取等)来找出答案。如果能找到答案,就可以将用户所问的问题和对应的答案加入FAQ库。
三、中文问答系统的实现
1.设计数据结构
以语句相似度作为中文问答系统运行的基础,与知识库的相关信息是不可分割的存在,这么多的数据,建立一个数据库来储存管理,使用Access2003 来管理储存后台数据,因为这个软件使用简便、易于上手。
(1)分析表示问题库,需要建立以常见问题集为基础的问答系统,系统的基础就是一个常见问题库,并且要想到一个问题有不同的回答的情况[3]。
(2)知网的分析与表示。我们用知识和语言来描述表达知网的构成,用树状图来解释义原关系。用Java 来构成中文问答系统,当开始运行程序时就将所有的词典内容保存到内存之中,可以使得系统的运行效率显著提升。
2.问答系统的实现
在已有的问题数据库之中找出能够解答用户所提的问题的句子的,以常见问题集为基础的中文问答系统,这个问题的答案都在答案库之中,找出答案之后再返回给用户。成立候选问题集、检测语句的相似程度、更新FAQ库这三个过程是系统做出解答的步骤。
3.结果及分析实验
所谓的信息检索系统,就是假设存在用户的查询与一个文档集有关联,反而以常见问题集为基础的中文问答系统,通常假设存在有正确的答案常见问题。
(1)评测标准和测试集。大学校长信箱之中的问题与答案是经过手工整理实用的测试集,由304个句子组成的常见问题库。为了评测系统的总体性能,于是建立两组测试集。在第一组,从常见问题库取出124条问句;而第二组,则直接从FAQ库中手工选择60条具代表性的问句。在评测时,方便程序的统计以及核对工作的展开,采用的S@n(Success at n)方法与TREC 十分相似,就是说在答案之前的N个答案中的比例,考虑问句之中的正确答案会被拿来评判正误,假如系统判断是正确的,那么认定为发生错误;假如系统之中无相应的匹配问句,则不放在考察范围之内,取值为S@1。
(2)实验结果和对结果的分析。实验采用基于语句相似度计算的问句和向量空间模型匹配的方法来测试,下表显示了评测的结果。
测试结果
仔细分析上表可以得到以下结论:比较两组数据,第一组数据的S@1值较低,分析之后发现了错误的原因,即存在一些相对随便的问题,没有多少有用的讯息:以“不公平”问句为例的问句包含比较随意的讯息;而有一些没有答案的问题,例如:校长是哪个专业毕业的?”第二组从候选问题库中选取问句的S@1值相对较好,但是答案的错误率还是在30%左右。仔细剖析错误的原因,首先是由于无法分辨问句的种类,其次是答案之中存在否定词语,使得问句无法正确配对。比较两种相似度的方法,在相似度计算方法方面,两组测试集的差别很大:从语句表面来分析的VSM方法,由于本文的问句匹配方法以语句相似度为基础,其中有语义知识库的参与,对传统语句进行了深层次剖析,使得句子匹配的精度大大提高,传统的VSM方法得到了改进与提升[4]。
[1]张仰森,郭江.四种统计词义消歧模型的分析与比较[J].北京信息科技大学学报:自然科学版,2011,(2).
[2]杨松,楼新远.基于向量空间模型附加词义特征的句子相似度研究[J].成都信息工程学院学报,2012,(3).
[3]靳伟,张月清,王芳.基于本体的分类检索系统的设计与实现[J].河北农业大学学报,2010,(2).
[4]李东园,白宇,蔡东风.面向中文问答的信息检索系统及评测[J].沈阳航空工业学院学报,2009,(3).