一种基于神经网络的中文问答系统的制作方法

文档序号:6483255阅读:170来源:国知局

专利名称::一种基于神经网络的中文问答系统的制作方法
技术领域
:本发明属于信息检索
技术领域
,特别涉及-种基于神经网络的中文问答系统。
背景技术
:问答系统(QuestionAnsweringSystem)是指能够对计算机用户输入的使用自然语言描述的问题做出回答的系统,-般采用计算机软件系统技术实现。问答系统集自然语言处理、信息检索、知识表示为一体,正日益成为国际上研究的热点。它既能够让用户用自然语言提问,又能够为用户返回一个简洁、准确的答案,而不是一些相关的网页。因此,问答系统和传统依靠关键字匹配的搜索引擎相比,能够更好地满足用户的检索需求,更准确地找出用户所需要的答案,具有方便、快捷、高效等特点。信息检索技术和自然语言处理技术是自动问答系统研究的基础。目前,信息检索技术已经逐步走向成熟,其中搜索引擎技术己经发展的比较完善。分词、词性标注、命名实体识别等基础自然语言处理技术研究也已经取得了很大的成绩。这些基础技术的蓬勃发展以及用户的巨大需求都预示着问答系统的研发将要进入一个空前的大发展时期。现有的应用于汉语问题理解的机器学习方法有很多,隐马尔可夫模型(H麗),最大熵(MaximiumSntropy),支持向量机(SV)等,中文自动问答系统大多参考国外一些优秀的英文自动问答系统。但是与英文相比,中文具有用词灵活、句法复杂多变的特点,简单的模仿英文自动问答技术,导致中文自动问答系统普遍存在中文知识库的覆盖面窄、系统的准确率和召回率都很低的问题,对用户体验造成了伤害。
发明内容本发明目的在于解决现有技术不足,提出了一种基于神经网络的中文问答系统。本发明的技术方案是包括有用户接口模块(10)、问题预分词模块(20)、神经元预标注模块(30)、学习训练模块(40)、神经元知识库模块(50)、语义块识别模块(60)、问题集索引模块(70)和答案推理模块(80);用户接口模块(10)用于实现用户交互,包括接受用户输入问题,然后对用户输入问题的表达进行检査,将通过检查的用户输入问题提交到问题预分词模块(20),并将答案推理模块(80)所得结果反馈用户;问题预分词模块(20)用于接收用户接口模块(10)传递的用户输入问题,对用户输入问题进行预处理,所述预处理包括对用户输入问题进行分词、语义消歧及确定词性;并将预处理后的用户输入问题提交给语义块识别模块(60);神经元提供模块(30),用于提供训练语料给学习训练模块(40),所述训练语料是预先对训练用问句进行分词、语义消歧、确定词性并进行语义块标注形成的语义块序列;所述语义块标注,是为语义块内所含词,根据其位置设定语义块分类标记;学习训练模块(40),用于对神经网络进行训练直至网络收敛,得到稳定的神经网络;所述神经网络根据训练语料建立,其结构包括输入层、隐含层和输出层,其中输入层根据语义块所含词的词义和语境设定节点,输出层根据语义块分类设定节点,隐含层用于实现输入层到输出层的传递;神经元知识库模块(50),用于保存学习训练模块(40)所得稳定的神经网络;语义块识别模块(60),用于当出现用户输入问题时,从神经元知识库模块(50)中提取运行学习训练模块(40)所得稳定的神经网络并运行,从问题预分词模块(20)所得预处理后的用户输入问题中识别得到语义块,从用户输入问题识别得到的所有语义块构成语义块序列;问题集索引库模块(70),用于存放已知问题和答案对的索引文件;所述索引文件记载有已知问题的语义块序列和答案的位置信息,为冋答用户输入问题提供知识来源;答案推理模块(80),用于査询问题集索引库模块(70)所提供索引文件,找到与用户输入问题具有相同或相似关键字的相关问题,取得每个相关问题与用户输入问题的相似度,根据相似度选择应答用的相关问题,根据索引文件记载的位置信息提取应答用的相关问题的答案,通过用户接口模块(10)输出相关问题的答案实现应答;所述相关问题与用户输入问题的相似度,根据相关问题与用户输入问题的语义块序列相似度以及语境相似度得到,其中语义块序列相似度根据语义块间的相似度得到,语义块间的相似度由语义块内词之间的相似度得到。而且,答案推理模块(80)包括有问题推理单元、问题检索单元和问题相似度计算单元;问题推理单元,用于选取用户输入问题中核心的语义块做同义词扩展,并将扩展后的语义块序列传给问题相似度计算单元;问题检索单元,用于调用问题集索引库单元(70)存放的索引文件,找到与用户输入问题具有相同或相似关键字的相关问题;问题相似度计算单元,用于分别计算每个相关问题与用户输入问题的相似度,选取相似度最高的相关问题的相应答案作为对用户输入问题的应答。而且,设置样本补充学习模块(90),用于向神经元提供模块(30)输入补充训练语料。而且,所述输入层根据语义块所含词的词义块分类标记和语境设定,其中语境包括词语本身、词的词性及与该词性相对应的共现词。本发明提出将神经网络应用到问答系统领域,能够将句法、语义和语境知识融为一体,自动问答过程接近于人处理中文句子的过程。并且,本发明通过对语义块内词的相对位置进行编码,将问题语义块识别问题转化成一个标记分类问题,具体分析。本发明具有以下优点(1)人类对语言的理解,是综合运用句法、语义和语境知识的结果。本发明将这三种知识融为一体,对问题进行分析时,同时运用了这三种知识,网络的行为表现出一定的预期性;因此,在某种程度上较接近于人处理句子的过程。(2)由于采用神经网络模型,在上下文取词个数方面可以突破二元语法的限制,同时也不会引起空间的过度膨胀。在提高准确率的同时,避免了普通语义分析所带来的空间开销。(3)运用神经网络知识存储和自适应特征,可以通过适应补充学习样本,实现历史经验与新知识完满结合,在发展过程中动态地评价系统状态,提高系统的准确率。图l是本发明实施例的系统结构图。图2是本发明实施例的训练阶段流程图。图3是本发明实施例的测试阶段流程图。图4是本发明实施例的运行阶段流程图。具体实施例方式下面结合附图和实例对本发明作进一步详细的说明。如图1所示,本发明实施例提供的中文问答系统包括有用户接口模块10、问题预分词模块20、神经元预标注模块30、学习训练模块40、神经元知识库模块50、语义块识别模块60、问题集索引模块70、答案推理模块80以及另外样本补充学习模块90,各模块可由本领域技术人员根据本发明技术方案采用计算机软件技术实现。用户接口模块10用于实现用户交互,包括两方面的功能其一是接受用户输入问题,然后对用户输入问题的表达进行检查,将通过检査的用户输入问题提交到问题预分词模块20。对用户输入问题的表达检査可以防止错误,例如出现无法理解的符号、长度不够等情况时,不予接受,提示用户修改输入问题。只有用户输入问题的表达符合规范时,允许用户输入问题通过检查,并将其传送到问题预分词模块20进行下一步处理。其二是将答案推理模块80所得结果,即相关问题的答案反馈给用户,从而实现对用户输入问题的应答。问题预分词模块20用于接收用户接口模块10传递的用户输入问题,对用户输入问题进行预处理,所述预处理包括对用户输入问题进行分词、语义消歧及确定词性;并将预处理后的用户输入问题提交给语义块识别模块60。问题预分词替换20可以利用现有分词软件实现预处理,例如SEGTAG。为了利用神经网络进行自动问答,需要提供网络收敛的稳定神经网络。通过训练神经网络最终得到稳定的神经网络的过程,可称为训练阶段。本发明实施例为训练阶段提供了神经元提供模块30、学习训练模块40和神经元知识库模块50。神经元提供模块30,用于提供训练语料给学习训练模块40,所述训练语料是预先对训练用问句进行分词、语义消歧、确定词性并进行语义块标注形成的语义块;所述语义块标注,是为语义块内所含词,根据其位置设定了语义块分类标记。可以预先在神经元提供模块30中存入事先准备好的训练语料;也可以利用用户接口模块10输入训练用问句,在问题预分词模块20利用分词软件进行分词、语义消歧、确定词性,再通过用户接口模块10提供的用户交互功能实现人工语义块标注,最终形成的语义块序列作为训练语料传送到神经元提供模块30保存,参见图2提供的训练阶段流程。语义块分类标记是一种介于词汇和句子之间的、具有非递归特性的核心成分,每个语义块由句子中的单词或多词单元组成,并且具有固定的语义。发明人对5000句中文问题分析,总结出问题划分的5种语义块,如表l所示表l语义块类型<table>tableseeoriginaldocumentpage9</column></row><table>主体块(Sn):主体块主要描述了问题中施事和受事主体,主要是一些名词和名词短语。焦点块(Qf):焦点块是问题询问信息的焦点,焦点块是对问点的完全描述。通常文典块由疑问词和相关词结合而成。属性块(At)和属性值块(Av):属性块主要描述了实体的属性,属性值块描述了实体属性的值。事件块(Ev):事件块描述了问题中实体的动作。在这种语义块划分基础上,可以采用SIE编码方式为语义块内所含词设定语义块分类标记。其中,S表示一个语义块的开始,I表示语义块内部,E表示语义块结束。例如句子具哪些条件的学生才可以申请奖学金?经过分词软件进行分词、语义消歧、确定词性处理后,句子的词序列如下[哪些/r条件/n]的[学生/n][才/d可以/v申请/v][奖学金/n]/w其中,词性v表示动词、r表示代词、n表示名词、w表示符号词。加上语义块类型信息后,变成如下形式-[Qf哪些/r条件/n]的[Sn学生/n][Ev才/d可以/v申请/v][Sn奖学金/n]/w根据SIE编码方式,可以在语义块类型信息基础上为每个词附上语义块分类标记,编码为以下语义块序列具备/S-Ev那些/S-Qf条件/I-Qf的/E学生/S-Sn才/S-Ev可以/I-Ev申请/I-Ev奖学金/S-Ev/E其中Ev'表示一个类型为事件块的语义块中的第一个词,'I-Ev'表示一个类型为事件块的语义块中的内部词。E和S同时代表语义块的结束,比如具备/S-Ev那些/S-Qf条件/I-Qf的/E,通过该规则可以直接识别出语义块具备/Ev和那些条件/Qf。这样,针对每一种语义块分别有S-和I-两种标记,如果有G种语义块类别则对应有2G种语义块分类标记,语义块识别问题就转化为2G类分类器问题。本发明实施例按表1将语义块划分定义为5种类型,则语义块识别可以转化为10类的分类问题。具体实施时,也可以采用其他语义块划分方式和相应分类。本发明实施例对训练用问句进行语义块标注的实现过程为以经过切分和词性标注的训练用问句为语义块标注对象,用S二(W,T)表示,其中r—W,2,w3,…,w画)表示词序列,7=(^2,/3,..^画)表示对应的词性序列,c=(Cl,C2,C3,...,;m)表示训练用问句S二(W,T)的语义块分类标记序列,5=(^&53,...,^,)表示共现词词频序列。共现词词频可通过在神经元提供模块30所有训练语料中考察词的相邻词,统计词的共现次数得到。则对训练用问句的语义块标注问题转化为已知词序列W和词性序列T,标注语义块分类标记序列C。例如语义块序列具备/S-Ev那些/S-Qf条件/I-Qf的ZE学生/S-Sn才/S-Ev可以/I-Ev申请/I-Ev奖学金ZS-Ev/E此时下标nmn为8,『=(1,2,3,...,8),r=(v,r,",...,"),C=(S-fiv,S-0V-2f,…,s—五v),S=(0,0,..5,5)。其中,1,2,3,…,8表示问句中每个词"具备"、"那些"、"条件"…"奖学金"的位置信息,v,",...,"表示各词的词性、S-^,S-fiA/-就是各词的语义块分类标记,0,0,..5,5表示各词的共现词词频。学习训练模块40,用于对神经网络进行训练直至网络收敛,得到稳定的神经网络;所述神经网络根据训练语料建立,其结构包括输入层、隐含层和输出层,其中输入层根据语义块所含词的词义和语境设定节点,输出层根据语义块分类设定节点,隐含层用于实现输入层到输出层的传递。输入层对输入的训练语料以词为单元进行处理。为了充分发挥上下文对语义块标记的影响,本发明实施例的输入层设计不但考虑当前词的语义块分类标注尸(c,+,k,),还考虑了当前词的上下文环境,即语境。语境包括3个方面词语本身尸(^lc,)、词语的词性P(7;k,),与词性P(S,k)相对应的共现词。因此实施例将尸(^ic,)、zx;ic,)、P(c,+,k,)、户(S,lc,)作为神经网络的输入特征,对不同的输入特征分别设计输入节点,输入节点是和当前词有关的输入的所有可能性的表达。具体设计方式如下设L为当前词左边的词数,R为当前词右边的词数(L和R的值在隐含层确定),IXl为语义块分类标记的数目,lYi为词性的数目,IZl为该词对应的共现词记数。本发明实施例的IXl二10;SEGTAG软件提供28种词性,因此实施例IY|=28;|Z|则根据具体的共现词词频而定。(1)输入特征P,JO:即考虑当前词左边L个词和右边R个词的影响,每个节点都是一个二维向量/r(a)。i对应词的位置,取lnum;k表示第k种语义块分类标记,取1|X|。当前词的输入特征P(^lc,)对应共(L+l+RhlXl个节点。(2)瑜入特征p(t;Ic,):即考虑当前词左边L个词和右边R个词的词性的影响,每个节点都是一个三维向量/r(w,"。i对应词的位置,取lnmn;j表示第j'种词性,取llYl,取liXl;k表示第k种语义块分类标记,取1IXI。当前词的输入特征Ic,)对应共(L+l+R)*IXI*IYI个节点。(3)输入特征P(《lc,):即考虑当前词左边L个词和右边R个词中出现共现词的影响,每个节点都是一个三维向量/S(i,a》)。i对应词的位置,取1num;a表示左边第a个位置出现共现词;b表示右边第b个位置出现共现词。当前词的输入特征lc,)对应共(L+l+R)*IX1*IZi个节点。(4)、输入特征P(^l":即考虑当前词左边L个词和右边R个词的语义的影响,每个节点都是一个二维向量/C(a)。i对应词的位置,取ln咖;k表示第k种语义块分类标记,取liXl。当前词的输入特征A^k,)对应共(L+1+R)—Xj个节点。具体实施时,根据f(^k,)、P(i;k)、iV,+1k,)、户(Sk,)分别设定神经网络中输入层的节点数目,也就是输入层总共只设定4个特征。当用户输入问题分词后得到num个词后,其中每个词对应(L+l+R)个输入,即当前词左边的词、当前词和当前词右边的词。因此针对一个用户输入问题,输出层每个特征有(L+1+Rhnum组数据,共(L+1+R)化um组数据。具体实施时,输入层特征可采用现有神经网络工具箱(可从MATLAB的官网下载)中的premnmx函数对每组数据进行处理,归一化后的数据都处于一11的区域范围内,这样可以减小,结果误差率低。Premnmx对数据进行处理的算法为/"=2*(/;"—min/0/(maxp—ininp)—l,其中,minp禾口maxP是样本数据的最小值禾口最大值,戶就是每组数据归一化后的取值。输出层的设计直接关系到语义块识别模块60最终对语义块的选取。本发明实施例将神经网络的输出层设定为一个10类的分类器,也就是说输出层包括10个节点。每一类代表一个SIE标记,具体见表2表2语义块分类标记集<table>tableseeoriginaldocumentpage14</column></row><table>实施例的隐含层则采用^々W函数作为传输函数,^"'g")如下式加柳=_(l+exp(-2x))-1其中,exp(-2x)表示e的一2x次方,e为数学常量2.7182…具体实施时,也可采用其他传送函数,一般可以釆用MATLAB的自带函数。对于有限个输入到输出的映射,并不需要无限个隐含层节点,这就涉及到如何选择隐含层节点数的问题。本发明实施例通过神经网络训练实验来确定隐含层的神经元个数,具体方式为输入层与输出层网络结构不变,通过调整隐含层,查看相应神经网络性能后决定(1)设置初始隐含层netSea1—l神经元节点数为l,得到初始的神经网络保存其准确率;(2)设置i为隐含层节点的数目,逐步增加i值,得到新的隐含层netSealj以及神经网络,计算新的神经网络的准确率并与初始的神经网络准确率的准确率比较,所得误差值保存;(3)选择步骤2所得神经网络中误差值最小者,设置该神经网络中隐含层的神经元节点个数为最终隐含层节点数。神经元知识库模块50,用于保存学习训练模块40所得稳定的神经网络。通过保存训练阶段的成果,为运行阶段提供支持。具体实施时,神经元知识库模块50还可保存训练时所用训练语料、稳定的神经网络的输入和输出所构成的固定连接矩阵,以及训练时神经网络所达到水平的阀值矩阵,以便为评价系统状态提供参考。在运行阶段,主要工作模块是语义块识别模块60、问题集索引库模块70和答案推理模块80,参见图4:语义块识别模块60,用于实现问题标注,即当用户通过用户接口模块10提交问题时,从问题预分词模块20所得预处理后的用户输入问题中识别得到语义块,从用户输入问题识别得到的所有语义块构成语义块序列。识别基于运行稳定的神经网络实现,实施例的识别处理流程为(1)将词wordj送入输入层,输入词word—i左L右R个词的词性、语义块标记、语境、词本身位置等共4X(L+R+l)个参数,经隐含层传递后,得至lj输出层对应参数wordParameter—1、wordParameter—2…,wordParameter一10,输出层对应参数的大小反应了word一i选释该参数所对应语义块分类标记的可能性;(2)找出wordParameter—1、wordParameter—2…,wordPammeter一10中值最大值,以其对应的语义块分类标记,作为词word—i的语义块分类标记。问题集索引库模块70,用于存放已知问题和答案对的索引文件;所述索引文件记载有已知问题的语义块序列和答案的位置信息,为回答用户输入问题提供知识来源。索引文件可以预先构建,具体实施时构建流程可以为(1)从问答社区下载包含问题及答案的网页;(2)利用现有htmlParser开源包从网页中识别出问题和对应的最佳答案,构成已知问题和答案对。已知问题的语义块序列可以通过事先进行手工标注得到,或者用神经元知识库模块50存放的神经网络训练得到。其中手工标注的准确性更高。(3)利用现有lucene开源包,对已知问题和答案对建立倒排索引,形成索引文件。建立索引时可以为问题分配相应的ID号码,方便调用。问题集索引库模块70中不需要直接存放已知问题和答案对,这样可以减少系统资源占用负担。通过记载答案的位置信息,就可以调用答案,例如通过存放网址来利用含有丰富知识的互联网。记载已知问题的语义块序列,则是为了实现用户输入问题与已知问题的相似性匹配,以便利用相似的已知问题应答用户输入问题。答案推理模块(80),用于査询问题集索引库模块(70)所提供索引文件,找到与用户输入问题具有相同或相似关键字的相关问题,取得每个相关问题与用户输入问题的相似度,根据相似度选择应答用的相关问题,根据索弓I文件记载的位置信息提取应答用的相关问题的答案,通过用户接口模块(10)输出相关问题的答案实现应答;所述相关问题与用户输入问题的相似度,根据相关问题与用户输入问题的语义块序列相似度以及语境相似度得到,其中语义块序列相似度根据语义块间的相似度得到,语义块间的相似度由语义块内词间的相似度得到。16具体实施时可以对答案推理模块80进行更细致的单元设计,本发明实施例的答案推理模块80包括有问题推理单元、问题检索单元和基于神经网络的问题相似度计算单元问题推理单元,用于实现问题推理,即选取用户输入问题中核心的语义块做同义词扩展,并将扩展后的语义块序列传给问题相似度计算单元。根据汉语句子的表达习惯,在问题疑问词附近的词更能表达整个句子所要表达的语义信息,对于问题分类常常具有更加重要的作用,特别是其中具有名词特性的词,也就是分词时标记为"n"的词。疑问词右边标记为"n"的词所表达的语义信息比疑问词左边标记为"n"的词更丰富和有效。实验发现,如果同义词词典中存在有多个标记为"n"的词,并非选择的越多越好,选取的过多反而会增加很多干扰信息,产生噪声。因此,本发明实施例对于某一问题最多选取两个词扩展作为其语义特征,问题推理单元的工作流程为(1)选取疑问词右边标记为"n"的词作为扩展词,调用《同义词词林》,最多选取两个同义词扩展。如果疑问词的右边没有标记为"n"的词,则转到第2步。(2)在疑问词左边选取标记为"n"的词作为扩展词,调用《同义词词林》,最多选取两个同义词扩展。《同义词词林》也可以预先存放在神经元知识库模块50中,供问题推理单元调用。问题检索单元,用于实现问题检索,即调用问题集索引库模块70存放的索引文件,找到与用户输入问题具有相同或相似关键字的相关问题。问题相似度计算单元,用于实现问题相似度计算分别计算每个相关问题与用户输入问题的相似度。本发明实施例的相似度计算具体步骤如下17(1)接收问题推理单元针对用户输入问题&",扩展后的语义块序列wordsListj,以及从问题集索引库模块70提取相关的已知问题&的语义块序列wordsList—2;(2)首先计算用户输入问题与相关问题的语义块序列相似度=W,r2...,。,^表示用户输入问题&A中第j个语义块与相关问题&"2中第j个语义块的语义块间相似度,j取lN,N表示用户输入问题&巧与相关问题&分别含有N个语义块。逐个取用户输入问题S,中第j个语义块内所含带有语义块分类标记的词,与相关问题&中第j个语义块的语义块内所有带有语义块分类标记的词一一取关联度,得到一个关联度矩阵,关联度矩阵中的最大值设为F,。根据语义块间相似度^,^..,^加权得到相关问题&2与用户输入问题&"1的语义块序列相似度^,_;(3)然后计算用户输入问题&巧与相关问题&的语境相似度&。^,即根据相对共现词频词表(事先统计语义块之间的规则存入相对共现词频词表,作为规则库存放在神经元知识库模块50中,以便标明哪些语义块分类标记的词更容易同时出现),带入语境相似度公式S"(l+"!)(1+"2)(1+"W)、l)cW7"':c/—、W,/V"",A/J,/=1y=lJ=l其中的设计原理是基于互信息定义M/"&卜^^,p(W)是a,b同时发生的概率,p("),p(6)是a,b独立发生的概率;在此基础进一步改进,得出",=M/(A,5)=l。g7~~^^^,用户输入问题&",中出现最多的共现词标记为A,相关问题&中出现最多的共现词标记为B。在用户输入问题&巧中第j个语义块与相关问题&中第j个语义块中,共现词A、B同时出现的次数为m;A出现而B没有出现的次数为k;B出现而A没有出现的次数为1。如果A和B不相关,则值为0。(4)语义块序列相似度^。自与语境相似度&。^进行点乘运算得到最终相射,,/(1+A)(l+2)r/(l+"w)T,、(5)输出作为所述相关问题与用户输入问题的相似度。答案推理模块80中还可以设置答案匹配单元,取得每个相关问题与用户输入问题的相似度,根据相似度选择应答用的相关问题。可以选取相似度最高的相关问题的相应答案作为对用户输入问题的应答,也可以按照相似度降序提供所有相关问题的相应答案"并作为应答,供用户自行选择。具体实施时,也可将答案匹配单元合并到问题相似度计算单元,直接根据相似度选取应答用的相关问题,方便高效。为了保证自动问答准确率,本发明提出进一步技术方案设置样本补充学习模块90,用于向神经元提供模块30输入补充训练语料。训练语料随时间推移需要不断演化、补充,可以利用神经网络自适应特征,采用多重迭代方式,动态补充新知识存储。这样可以在训练阶段完成后,进行测试阶段。参见图3,实施例的测试阶段具体实现方式为,样本补充学习模块90中设置问句再训练集合,在问句再训练集合中存放R个问句question_i,i取1R;预先对R个问句question—i进行人工语义块标注;然后逐句判断是否作为训练用问句使用,过程如下(1)从问句再训练集合中提取问句question一i,进行预处理,包括分词、语义消歧及确定词性;19(2)运行已训练完毕的神经网络,对预处理后的问句question—i进行语义块识别,得到其语义块序列;然后与人工语义块标注的目标结果进行比较,判断其误差是否在预设的可接受范围内。若误差不在可接受范围,将问句question—i的语义块序列作为新的训练语料加入神经元提供模块30,由神经元提供模块30向学习训练模块40提供补充后的训练语料,由学习训练模块40重新训练新的稳定神经网络后存入神经元知识库模块50。若误差在可接受范围,则返回步骤(1),提取新的问句question—i进行新一轮识别比较,直到处理完再训练集合中的所有问题。因为误差不在可接受范围则需要再训练,所以要作为新训练语料补充;在范围内就没有训练意义了,因为相似度已经很高了。(3)神经元提供模块30向学习训练模块40提供补充后的训练语料,由学习训练模块40训练新的稳定神经网络。为了便于理解本发明技术方案,总结基于神经网络的中文问答系统建议使用方法如下A训练阶段神经元提供模块30输出训练语料给学习训练模块40,学习训练模块40训练得到稳定的神经网络后存入神经元知识库模块50。B检查阶段样本补充学习模块90从神经元知识库模块50提取当前的神经网络,运行已训练完毕的神经网络识别预处理后的问句,当误差不在可接收范围内时,将该问句送往神经元提供模块30,由神经元提供模块30向学习训练模块40提供补充后的训练语料,由学习训练模块40重新训练新的稳定神经网络后存入神经元知识库模块50。C运行阶段用户接口模块10将用户输入问题送入问题预分词模块20,预处理后送到神经元语义块识别模块60;神经元语义块识别模块60从神经元知识库模块50提取学习训练模块40所得稳定的神经网络,将预处理后的用户输入问题输入神经网络,识别得到语义块序列后输入答案推理模块80,实现问题标注;答案推理模块80査询问题集索引库模块70所提供索引文件,找到与用户输入问题具有相同或相似关键字的相关问题,然后从问题集索引库模块70提取相关问题的语义块序列;根据相关问题与用户输入问题的语义块序列相似度以及语境相似度,得到相关问题与用户输入问题的相似度;根据相关问题与用户输入问题的相似度选择应答用的相关问题,根据索引文件记载的位置信息提取相应答案,通过用户接口模块10输出实现自动系统应答。权利要求1.一种基于神经网络的中文问答系统,其特征在于包括有用户接口模块(10)、问题预分词模块(20)、神经元预标注模块(30)、学习训练模块(40)、神经元知识库模块(50)、语义块识别模块(60)、问题集索引模块(70)和答案推理模块(80);用户接口模块(10)用于实现用户交互,包括接受用户输入问题,然后对用户输入问题的表达进行检查,将通过检查的用户输入问题提交到问题预分词模块(20),并将答案推理模块(80)所得结果反馈用户;问题预分词模块(20)用于接收用户接口模块(10)传递的用户输入问题,对用户输入问题进行预处理,所述预处理包括对用户输入问题进行分词、语义消歧及确定词性;并将预处理后的用户输入问题提交给语义块识别模块(60);神经元提供模块(30),用于提供训练语料给学习训练模块(40),所述训练语料是预先对训练用问句进行分词、语义消歧、确定词性并进行语义块标注形成的语义块序列;所述语义块标注,是为语义块内所含词,根据其位置设定语义块分类标记;学习训练模块(40),用于对神经网络进行训练直至网络收敛,得到稳定的神经网络;所述神经网络根据训练语料建立,其结构包括输入层、隐含层和输出层,其中输入层根据语义块所含词的词义和语境设定节点,输出层根据语义块分类设定节点,隐含层用于实现输入层到输出层的传递;神经元知识库模块(50),用于保存学习训练模块(40)所得稳定的神经网络;语义块识别模块(60),用于当出现用户输入问题时,从神经元知识库模块(50)中提取运行学习训练模块(40)所得稳定的神经网络并运行,从问题预分词模块(20)所得预处理后的用户输入问题中识别得到语义块,从用户输入问题识别得到的所有语义块构成语义块序列;问题集索引库模块(70),用于存放已知问题和答案对的索引文件;所述索引文件记载有已知问题的语义块序列和答案的位置信息,为回答用户输入问题提供知识来源;答案推理模块(80),用于查询问题集索引库模块(70)所提供索引文件,找到与用户输入问题具有相同或相似关键字的相关问题,取得每个相关问题与用户输入问题的相似度,根据相似度选择应答用的相关问题,根据索引文件记载的位置信息提取应答用的相关问题的答案,通过用户接口模块(10)输出相关问题的答案实现应答;所述相关问题与用户输入问题的相似度,根据相关问题与用户输入问题的语义块序列相似度以及语境相似度得到,其中语义块序列相似度根据语义块间的相似度得到,语义块间的相似度由语义块内词间的相似度得到。2.如权利要求l所述的中文问答系统,其特征在于答案推理模块(80)包括有问题推理单元、问题检索单元和问题相似度计算单元;问题推理单元,用于选取用户输入问题中核心的语义块做同义词扩展,并将扩展后的语义块序列传给问题相似度计算单元;问题检索单元,用于调用问题集索引库单元(70)存放的索引文件,找到与用户输入问题具有相同或相似关键字的相关问题;问题相似度计算单元,用于分别计算每个相关问题与用户输入问题的相似度,选取相似度最高的相关问题的相应答案作为对用户输入问题的应答。3.如权利要求1或2所述的中文问答系统,其特征在于设置样本补充学习模块(90),用于向神经元提供模块(30)输入补充训练语料。4.如权利要求1或2所述的中文问答系统,其特征在于所述输入层根据语义块所含词的词义块分类标记和语境设定,其中语境包括词语本身、词的词性及与该词性相对应的共现词。全文摘要本发明公开一种基于神经网络的中文问答系统,包括有用户接口模块、问题预分词模块、神经元预标注模块、学习训练模块、神经元知识库模块、语义块识别模块、问题集索引模块和答案推理模块。通过该系统,首先采用SIE编码方式,对语义块内词按相对位置进行编码;然后将问句语义块识别问题转化成一个标记分类问题,采用基于神经网络的分类模型来确定问句的语义结构;最后结合问句的语义结构,实现基于神经网络的问句相似度计算,通过对已标注完成的问句语义特征抽取,比较问句各个语义特征之间的权重,为最终答案推理提供依据。本发明将句子的句法、语义和语境知识融为一体,能够模拟人处理句子的过程。文档编号G06F17/27GK101566998SQ200910062239公开日2009年10月28日申请日期2009年5月26日优先权日2009年5月26日发明者何婷婷,刘星星,吴宝珍,勇张,张红春,张茂元,泊胡,龙陈申请人:华中师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1