一种基于问答库的中文自然语言问答方法

文档序号:6556651阅读:369来源:国知局
专利名称:一种基于问答库的中文自然语言问答方法
技术领域
本发明涉及信息检索、自然语言问答系统,中文自然语言处理领域,特别是涉及一种基于问答库的中文自然语言问答方法。
背景技术
随着互联网信息的不断增长,网络上充斥了越来越多的冗余信息;对于在网络上搜寻自己所需要信息的互联网用户来说,整个行为无疑类似于“大海捞针”。虽然以Google为代表的第二代搜索引擎的出现在很大程度上降低了用户查找信息的难度,但是这类搜索引擎存在一定的缺陷首先,由于其搜索模式都是基于关键词精确匹配来查找相关信息的方式,因此用户输入的任何一个关键词都有可能成为某网页命中的依据(除去一些显而易见的停用词);同时,对于用户提供的这些关键词,搜索引擎认为这些词之间是没有联系,相互独立的。这样的一种工作模式缺乏对用户查询条件的分析,需要用户提供与搜索意图更为接近、同时更为精练的独立的关键词作为查询条件,而不是用户意图的原始文字体现。
其次,这类搜索引擎在搜索结果的表现上,无一例外地采用了列表的方式,影响搜索引擎性能的一个重要指标就是对这些条目的排序算法。但是,这种结果呈现方式存在着不足用户虽然通过搜索工具得到了过滤之后的结果,但用户如果要得到自己真正所需要的信息,还需要进一步手工去点击链接,重新定位。换句话说,这类搜索引擎返回的结果,并不是用户可以拿来立即解答疑问的直接答案。
自然语言问答系统,从上个世纪60年代开始出现,经过几个阶段的发展之后,与信息检索技术相结合已成为现在一个重要的趋势,典型系统流程如图1所示。在结合互联网检索系统的自然语言问答系统中,以自然语言问句作为系统的输入,摈弃了现有搜索引擎中,需要用户提供精简的关键词的限制性做法;系统应用自然语言处理技术对输入的问句(查询条件)进行分析处理,形成尽可能全面体现用户查询意图的查询关键词;系统中的答案抽取和选择模块可从含有答案的原始网页文本中得到可用于直接回答用户查询的文本答案,而不需要用户再去进行人工的筛选、定位。然而,现在的这类问答系统还存在着可解然而,现在的这类问答系统还存在着可解决的问题类型受限等不足,不能实现普遍意义上的应用。因此,需要开发一种更为灵活、易扩展并较原来的问答系统具有高准确率的问答系统。

发明内容
本发明的目的在于提供一种基于问答库的中文自然语言问答方法。
1、一种基于问答库的中文自然语言问答方法,主要包括以下步骤1)问答库建立以互联网专业网站上的FAQ以及现有的网络问答社区为问答对的来源,通过网络蜘蛛以及网页结构分析,提取并保存页面上的问题与对应的答案;2)问句分析通过中文分词、语法分析得到问句的查询主体词,主要包括语法成分上的主干词以及句子中其余的名词、动词、形容词和副词;3)倒排索引建立针对获得的问句文本,建立词到问句文本的索引;4)问句检索以用户的提问为输入,由问句分析得到的查询主体词,通过倒排索引,从现有的问答库中找出关键词匹配的问句;5)问句相似度计算计算用户提问问句与步骤4)得到的问句之间的相似度,按照相似度值从大到小进行排序,选择排在首位的问句;6)用户交互选择由步骤5)得到的相似问句对应的答案,提供给用户。
2、步骤(1)中利用Google,百度,雅虎等搜索引擎,采用各搜索引擎自己定义的查询格式,在互联网上寻找含有FAQ的网页。
3、步骤(2)中采用依存语法体系,以分析得到的依存语法树中的根节点、主语以及宾语为句子的主干词。
4、步骤(3)中,倒排索引建立时以问句分析得到的问句对应查询主体词为索引项,而非问句中所有的关键词。
5、步骤(5)中采用语法和语义结合的方法来衡量句子之间的相似度。
本发明与背景技术相比,具有有益的效果是与现有的搜索引擎不同,可接受自然语言方式的用户查询,并且直接返回答案文本,用户无需再在结果中手动筛选;同时本发明利用已有的答案来回答用户的问题,这些答案通常是手工生成,格式规整,且具有一定的权威性;同时所能解决的问题也不受问题类型的限制,易于广泛应用,可在一定程度上克服原有问答系统存在的弊端。


图1为典型自然语言问答系统的系统结构图;图2为本发明的流程图,显示了各个步骤之间的交互情况,其中实线表示用户问句处理流程,虚线表示问答库与倒排索引建立流程;图3为本发明的问答库保存时的数据结构示意图。
具体实施例方式
本发明的处理流程如图2所示。首先通过Google,百度,雅虎等现有搜索引擎,利用互联网上的资源,由问答库建立步骤建立问答库。问答库中的问题文本通过基于依存体系的问句分析得到主干词,以这些主干词为索引项,建立词到问句的倒排索引。对于用户输入的查询条件,首先通过问句分析,得到查询条件的主干词;利用常见的基于关键词匹配的方法,通过问句检索,从索引中得到主干词命中的结果,然后计算结果中的句子与用户查询句子的相似度,按照相似度值从大到小进行排序,选择排在首位的句子。最后,从问答库中找到该句子对应的答案文本,通过浏览器,返回给用户。
本发明实施的关键主要包括问答库的建立以及问句相似度计算方法,其中问答库是本发明实施的基础,问句相似度的计算则连接了用户问题与问答库中的问句。
1.问答库的建立问答库中的问题与答案主要来自两方面网页上的FAQ以及问答社区中的问答信息。
含有FAQ的网页通过Google,百度等搜索引擎查找,方法为在这些搜索引擎中以“inurl:faq”或者“insite:faq”为查询条件,搜索引擎返回的结果即为含有FAQ的网页;分析结果网页中的网页结构,根据各个网页中的规则,提取出其中的问题与答案。
现有的互联网问答社区包括了百度知道、新浪爱问、雅虎知识堂等,这些社区是开放式的,允许普通用户浏览他人的问题与对应的解答,问题与答案在页面上的组织方式固定,并且对正确的答案做有明确的标记。因此,通过启发式的模式匹配方法,机器容易识别。
以百度知道为例,在一张普通的含有问题的网页页面中,含有“<div class=″t3 bcg bgg″>已解决</div>”HTML代码的页面,表示该页面中的问题已经解决,在页面中含有正确的解答。问题文本的提取,可通过识别页面中“<div class=″f14 B wr″>”HTML代码后的非HTML代码即可。答案文本的提取,首先通过识别页面中的“<div class=″t3 bcr bgr″><img src=″http://img.baidu.com/img/iknow/icn_best.gif″width=″24″height=″22″align=″absmiddle″>最佳答案</div>”HTML代码,定位到含有答案文本的区域,再通过识别“<div class=″f14 wr″>”和“</div>”代码,在这两段代码之间的文本去掉其中的HTML标签之后就是答案文本。在其他的开放式问答社区中,都可找到类似的启发式规则。
问答库存储时,问题文本通过普通的关系型数据库存储,数据存储结构如图3所示;答案文本保存在普通的文本文件中。问题文本存储时,为每个问题都分配了一个ID号,同时记录下了对应答案所保存文本的文件名,偏移大小及答案文本的长度,方便读取问题对应的答案。
2.问句相似度计算本发明中的问句相似度采用了依存语法与语义相结合的计算方法,基本思路如下词作为句子的基本单位,对于衡量句子间的相似度起着关键作用;首先通过现有的语义词典或者同义词词林,计算词与词之间的语义相似度;再考虑在同一个句子中,不同的词由于在句子中的语法成分不同,在句子相似度计算时的贡献有所不同,即所占的权重不同。因此,在计算句子间的相似度时,需要同时考虑词与词之间的相似度以及词本身在句子中的语法成分。
对于给定的两个句子S1={w11,w12,w13,...,w1m}和S2={w21,w22,w23,...,w2n},S1含有m个词,S2含有n个词,S1与S2的相似度synsem(S1,S2)计算方法为synsem(S1,S2)=(Σi=1msim(w1i,S2)*weight(w1i))/m+(Σi=1msim(w2i,S1)*weight(w2i))/n2---(1.1)]]>其中,weight(w1i),weight(w2i)为根据词在句子中的语法成分得到的权重,计算公式如下 公式(1.1)中的sim(w1i,S2),sim(w2i,S1)为词与句子之间的相似度,计算公式分别为sim(w1i,S2)=max(sim(w1i,w21),sim(w1i,w22),...,sim(w1i,w2n))(1.3)sim(w2i,S1)=max(sim(w2i,w11),sim(w2i,w12),...,sim(w2i,w1m))(1.4)sim(w1,w2)是通过语义词典或者同义词词林得到的词之间的语义相似度,其计算方法已非本发明的内容,故不再详细叙述。
权利要求
1.一种基于问答库的中文自然语言问答方法,其特征在于1)问答库建立以互联网专业网站上的FAQ以及现有的网络问答社区为问答对的来源,通过网络蜘蛛以及网页结构分析,提取并保存页面上的问题与对应的答案;2)问句分析通过中文分词、语法分析得到问句的查询主体词,主要包括语法成分上的主干词以及句子中其余的名词、动词、形容词和副词;3)倒排索引建立针对获得的问句文本,建立词到问句文本的索引;4)问句检索以用户的提问为输入,由问句分析得到的查询主体词,通过倒排索引,从现有的问答库中找出关键词匹配的问句;5)问句相似度计算计算用户提问问句与步骤4)得到的问句之间的相似度,按照相似度值从大到小进行排序,选择排在首位的问句;6)用户交互选择由步骤5)得到的相似问句对应的答案,提供给用户。
2.根据权利要求1所述的基于问答库的中文自然语言问答方法,其特征在于,步骤1)中利用Google,百度,雅虎等搜索引擎,采用各搜索引擎自己定义的查询格式,在互联网上寻找含有FAQ的网页。
3.根据权利要求1所述的基于问答库的中文自然语言问答方法,其特征在于,步骤2)中采用依存语法体系,以分析得到的依存语法树中的根节点、主语以及宾语为句子的主干词。
4.根据权利要求1所述的基于问答库的中文自然语言问答方法,其特征在于,步骤3)中,倒排索引建立时以问句分析得到的问句对应查询主体词为索引项,而非问句中所有的关键词。
5.根据权利要求1所述的基于问答库的中文自然语言问答方法,其特征在于,步骤5)中采用语法和语义结合的方法来衡量句子之间的相似度。
全文摘要
本发明公开了一种基于问答库的中文自然语言问答方法。通过分析网页结构,利用启发式规则,抽取互联网上的FAQ以及开放式问答社区中的问答对,搭建问答库,从而在此问答库的基础上实现面向中文的自然语言问答系统,弥补现有搜索引擎以及问答系统中的不足和缺陷。与现有的搜索引擎不同,可接受自然语言方式的用户查询,并且直接返回答案文本,用户无需再在结果中手动筛选;同时本发明利用已有的答案来回答用户的问题,这些答案通常是手工生成,格式规整,且具有一定的权威性;同时所能解决的问题也不受问题类型的限制,易于广泛应用,可在一定程度上克服原有问答系统存在的弊端。
文档编号G06F17/30GK1928864SQ200610053530
公开日2007年3月14日 申请日期2006年9月22日 优先权日2006年9月22日
发明者陈纯, 卜佳俊, 仇光, 黄鹏, 蔡柯柯 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1