本发明目的在于解决
现有技术不足,提出了一种基于神经网络的中文 问答系统。
本发明的技术方案是包括有用户
接口模
块(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)运用神经网络知识存储和自适应特征,可以通过适应补充学习样 本,实现历史经验与新知识完满结合,在发展过程中动态地评价系统状态, 提高系统的准确率。
附图说明
图1是本发明
实施例的系统结构图。
图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种语义块,如表1 所示:
表1语义块类型
语义块类型 名称 Av 属性值块 At 属性块 Sn 主体块 Ev 事件块 Qf 焦点块
主体块(Sn):主体块主要描述了问题中施事和受事主体,主要是一 些名词和名词短语。
焦点块(Qf):焦点块是问题询问信息的焦点,焦点块是对问点的完全 描述。通常文典块由疑问词和相关词结合而成。
属性块(At)和属性值块(Av):属性块主要描述了实体的属性,属性 值块描述了实体属性的值。
事件块(Ev):事件块描述了问题中实体的动作。
在这种语义块划分基础上,可以采用SIE编码方式为语义块内所含词设 定语义块分类标记。其中,S表示一个语义块的开始,I表示语义块内部,E 表示语义块结束。
例如句子:具哪些条件的学生才可以
申请奖学金?
经过分词软件进行分词、语义消歧、确定词性处理后,句子的词序列 如下:
[具备/v][哪些/r条件/n]的[学生/n][才/d可以/v申请/v][奖 学金/n]?/w
其中,词性v表示动词、r表示代词、n表示名词、w表示符号词。
加上语义块类型信息后,变成如下形式:
[Ev具备/v][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
其中‘S-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)表示,其中 W=(w1,w2,w3,...,wnum)表示词序列,T=(t1,t2,t3,...,tnum)表示对应的词性序列, C=(c1,c2,c3,...,cnum)表示训练用问句S=(W,T)的语义块分类标记序列, S=(s1,s2,s3,...,snum)表示共现词词频序列。共现词词频可通过在神经元提供模 块30所有训练语料中考察词的相邻词,统计词的共现次数得到。则对训练 用问句的语义块标注问题转化为已知词序列W和词性序列T,标注语义块分 类标记序列C。
例如语义块序列:具备/S-Ev那些/S-Qf条件/I-Qf的/E学生/S-Sn 才/S-Ev可以/I-Ev申请/I-Ev奖学金/S-Ev?/E
此时下标num为8,
W=(1,2,3,...,8),T=(v,r,n,...,n),C=(S-Ev,S-Qf,I-Qf,...,S-Ev), S=(0,0,..5,5)。其中,1,2,3,...,8表示问句中每个词“具备”、“那些”、“条件”... “奖学金”的位置信息,v,r,n,...,n表示各词的词性、S-Ev,S-Qf,I-Qf,...,S-Ev 就是各词的语义块分类标记,0,0,..5,5表示各词的共现词词频。
学习训练模块40,用于对神经网络进行训练直至网络收敛,得到稳定 的神经网络;所述神经网络根据训练语料建立,其结构包括输入层、隐含 层和输出层,其中输入层根据语义块所含词的词义和语境设定节点,输出 层根据语义块分类设定节点,隐含层用于实现输入层到输出层的传递。
输入层对输入的训练语料以词为单元进行处理。为了充分发挥上下文 对语义块标记的影响,本发明实施例的输入层设计不但考虑当前词的语义 块分类标注P(ci+1|ci),还考虑了当前词的上下文环境,即语境。语境包括3 个方面:词语本身P(Wi|ci)、词语的词性P(Ti|ci),与词性P(Si|ci)相对应的共 现词。因此实施例将P(Wi|ci)、P(Ti|ci)、P(ci+1|ci)、P(Si|ci)作为神经网络的输 入特征,对不同的输入特征分别设计输入节点,输入节点是和当前词有关 的输入的所有可能性的表达。具体设计方式如下:
设L为当前词左边的词数,R为当前词右边的词数(L和R的值在隐含层 确定),|X|为语义块分类标记的数目,|Y|为词性的数目,|Z|为该词对应 的共现词记数。本发明实施例的|X|=10;SEGTAG软件提供28种词性,因此 实施例|Y|=28;|Z|则根据具体的共现词词频而定。
(1)输入特征P(Wi|ci):即考虑当前词左边L个词和右边R个词的影响, 每个节点都是一个二维向量IW(i,k)。i对应词的位置,取1~num;k表示 第k种语义块分类标记,取1~|X|。当前词的输入特征P(Wi|ci)对应共 (L+1+R)*|X|个节点。
(2)输入特征P(Ti|ci):即考虑当前词左边L个词和右边R个词的词性的 影响,每个节点都是一个三维向量IT(i,j,k)。i对应词的位置,取1~num; j表示第j种词性,取1~|Y|,取1~|X|;k表示第k种语义块分类标记, 取1~|X|。当前词的输入特征P(Ti|ci)对应共(L+1+R)*|X|*|Y|个节点。
(3)输入特征P(Si|ci):即考虑当前词左边L个词和右边R个词中出现共 现词的影响,每个节点都是一个三维向量IS(i,a,b)。i对应词的位置,取1~ num;a表示左边第a个位置出现共现词;b表示右边第b个位置出现共现词。 当前词的输入特征P(Si|ci)对应共(L+1+R)*|X|*|Z|个节点。
(4)、输入特征P(ci+1|ci):即考虑当前词左边L个词和右边R个词的语义 的影响,每个节点都是一个二维向量IC(i,k)。i对应词的位置,取1~num; k表示第k种语义块分类标记,取1~|X|。当前词的输入特征P(ci+1|ci)对应 共(L+1+R)*|X|个节点。
具体实施时,根据P(Wi|ci)、P(Ti|ci)、P(ci+1|ci)、P(Si|ci)分别设定神经网 络中输入层的节点数目,也就是输入层总共只设定4个特征。当用户输入问 题分词后得到num个词后,其中每个词对应(L+1+R)个输入,即当前词左 边的词、当前词和当前词右边的词。因此针对一个用户输入问题,输出层 每个特征有(L+1+R)*num组数据,共(L+1+R)*num组数据。具体实施时,输 入层特征可采用现有神经网络工具箱(可从MATLAB的官网下载)中的 premnmx函数对每组数据进行处理,归一化后的数据都处于-1~1的区域范 围内,这样可以减小,结果误差率低。Premnmx对数据进行处理的
算法为: pn=2*(pn-min p)/(max p-min p)-1,其中,min p和max p是样本数据的最小值和 最大值,pn就是每组数据归一化后的取值。
输出层的设计直接关系到语义块识别模块60最终对语义块的选取。本 发明实施例将神经网络的输出层设定为一个10类的分类器,也就是说输出 层包括10个节点。每一类代表一个SIE标记,具体见表2
表2语义块分类标记集
标记类型 名称 S-Av 属性值块开始词 I-Av 属性值块中间词 S-At 属性块开始词 I-At 属性块中间词 S-Sn 主题块开始词 I-Sn 主题块中间词 S-Ev 事件块开始词 I-Ev 事件块中间词 S-Qf 焦点块开始词 I-Qf 焦点块中间词
实施例的隐含层则采用tan sig(x)函数作为传输函数,tan sig(x)如下式:
其中,exp(-2x)表示e的-2x次方,e为数学常量2.7182…
具体实施时,也可采用其他传送函数,一般可以采用MATLAB的自带函 数。
对于有限个输入到输出的映射,并不需要无限个隐含层节点,这就涉 及到如何选择隐含层节点数的问题。本发明实施例通过神经网络训练实验 来确定隐含层的神经元个数,具体方式为输入层与输出层网络结构不变, 通过调整隐含层,查看相应神经网络性能后决定:
(1)设置初始隐含层netSeal_1神经元节点数为1,得到初始的神经网 络保存其准确率;
(2)设置i为隐含层节点的数目,逐步增加i值,得到新的隐含层 netSeal_i以及神经网络,计算新的神经网络的准确率并与初始的神经网络 准确率的准确率比较,所得误差值保存;
(3)选择步骤2所得神经网络中误差值最小者,设置该神经网络中隐 含层的神经元节点个数为最终隐含层节点数。
神经元知识库模块50,用于保存学习训练模块40所得稳定的神经网 络。通过保存训练阶段的成果,为运行阶段提供支持。具体实施时,神经 元知识库模块50还可保存训练时所用训练语料、稳定的神经网络的输入和 输出所构成的固定连接矩阵,以及训练时神经网络所达到
水平的
阀值矩阵, 以便为评价系统状态提供参考。
在运行阶段,主要工作模块是语义块识别模块60、问题集索引库模块 70和答案推理模块80,参见图4:
语义块识别模块60,用于实现问题标注,即当用户通过用户接口模块 10提交问题时,从问题预分词模块20所得预处理后的用户输入问题中识 别得到语义块,从用户输入问题识别得到的所有语义块构成语义块序列。 识别基于运行稳定的神经网络实现,实施例的识别处理流程为:
(1)将词word_i送入输入层,输入词word_i左L右R个词的词性、语义 块标记、语境、词本身位置等共4×(L+R+1)个参数,经隐含层传递后, 得到输出层对应参数wordParameter_1、wordParameter_2…, wordParameter_10,输出层对应参数的大小反应了word_i选择该参数所对 应语义块分类标记的可能性;
(2)找出wordParameter_1、wordParameter_2…,wordParameter_10 中值最大值,以其对应的语义块分类标记,作为词word_i的语义块分类标 记。
问题集索引库模块70,用于存放已知问题和答案对的索引文件;所述 索引文件记载有已知问题的语义块序列和答案的位置信息,为回答用户输 入问题提供知识来源。索引文件可以预先构建,具体实施时构建流程可以 为:
(1)从问答社区下载包含问题及答案的网页;
(2)利用现有htmlParser开源包从网页中识别出问题和对应的最佳答 案,构成已知问题和答案对。已知问题的语义块序列可以通过事先进行手 工标注得到,或者用神经元知识库模块50存放的神经网络训练得到。其中 手丁标注的准确性更高。
(3)利用现有lucene开源包,对已知问题和答案对建立倒排索引,形 成索引文件。建立索引时可以为问题分配相应的ID号码,方便调用。
问题集索引库模块70中不需要直接存放已知问题和答案对,这样可以 减少系统资源占用负担。通过记载答案的位置信息,就可以调用答案,例 如通过存放网址来利用含有丰富知识的互联网。记载已知问题的语义块序 列,则是为了实现用户输入问题与已知问题的相似性匹配,以便利用相似 的已知问题应答用户输入问题。
答案推理模块(80),用于查询问题集索引库模块(70)所提供索引文 件,找到与用户输入问题具有相同或相似关键字的相关问题,取得每个相 关问题与用户输入问题的相似度,根据相似度选择应答用的相关问题,根 据索引文件记载的位置信息提取应答用的相关问题的答案,通过用户接口 模块(10)输出相关问题的答案实现应答;所述相关问题与用户输入问题 的相似度,根据相关问题与用户输入问题的语义块序列相似度以及语境相 似度得到,其中语义块序列相似度根据语义块间的相似度得到,语义块间 的相似度由语义块内词间的相似度得到。
具体实施时可以对答案推理模块80进行更细致的单元设计,本发明实 施例的答案推理模块80包括有问题推理单元、问题检索单元和基于神经网 络的问题相似度计算单元:
问题推理单元,用于实现问题推理,即选取用户输入问题中核心的语 义块做同义词扩展,并将扩展后的语义块序列传给问题相似度计算单元。 根据汉语句子的表达习惯,在问题疑问词附近的词更能表达整个句子所要 表达的语义信息,对于问题分类常常具有更加重要的作用,特别是其中具 有名词特性的词,也就是分词时标记为“n”的词。疑问词右边标记为“n” 的词所表达的语义信息比疑问词左边标记为“n”的词更丰富和有效。实验 发现,如果同义词词典中存在有多个标记为“n”的词,并非选择的越多 越好,选取的过多反而会增加很多干扰信息,产生噪声。因此,本发明实 施例对于某一问题最多选取两个词扩展作为其语义特征,问题推理单元的 工作流程为:
(1)选取疑问词右边标记为“n”的词作为扩展词,调用《同义词词 林》,最多选取两个同义词扩展。如果疑问词的右边没有标记为“n”的词, 则转到第2步。
(2)在疑问词左边选取标记为“n”的词作为扩展词,调用《同义词 词林》,最多选取两个同义词扩展。
《同义词词林》也可以预先存放在神经元知识库模块50中,供问题推 理单元调用。
问题检索单元,用于实现问题检索,即调用问题集索引库模块70存放 的索引文件,找到与用户输入问题具有相同或相似关键字的相关问题。
问题相似度计算单元,用于实现问题相似度计算分别计算每个相关问 题与用户输入问题的相似度。本发明实施例的相似度计算具体步骤如下:
(1)接收问题推理单元针对用户输入问题Sen1扩展后的语义块序列 wordsList_1,以及从问题集索引库模块70提取相关的已知问题Sen2的语 义块序列wordsList_2;
(2)首先计算用户输入问题Sen1与相关问题Sen2的语义块序列相似度 Ssemantic=(V1,V2...,VN),Vj表示用户输入问题Sen1中第j个语义块与相关问题Sen2 中第j个语义块的语义块间相似度,j取1~N,N表示用户输入问题Sen1与 相关问题Sen2分别含有N个语义块。逐个取用户输入问题Sen1中第j个语义 块内所含带有语义块分类标记的词,与相关问题Sen2中第j个语义块的语 义块内所有带有语义块分类标记的词一一取关联度,得到一个关联度矩阵, 关联度矩阵中的最大值设为Vj。
根据语义块间相似度V1,V2...,VN加权得到相关问题Sen2与用户输入问题Sen1的 语义块序列相似度Ssemantic;
(3)然后计算用户输入问题Sen1与相关问题Sen2的语境相似度Scontext,即根 据相对共现词频词表(事先统计语义块之间的规则存入相对共现词频词表, 作为规则库存放在神经元知识库模块50中,以便标明哪些语义块分类标记 的词更容易同时出现),带入语境相似度公式
其中αj的设计原理是基于互信息定义
p(ab)是a,b同 时发生的概率,p(a),p(b)是a,b独立发生的概率;在此基础进一步改进, 得出:
用户输入问题Sen1中出现最多的共现词标 记为A,相关问题Sen2中出现最多的共现词标记为B。在用户输入问题Sen1中 第j个语义块与相关问题Sen2中第j个语义块中,共现词A、B同时出现的 次数为m;A出现而B没有出现的次数为k;B出现而A没有出现的次数为 l。如果A和B不相关,则αj值为0。
(4)语义块序列相似度Ssemantic与语境相似度Scontext进行点乘运算得到最终相 似度,即
(5)输出Scontext作为所述相关问题与用户输入问题的相似度。
答案推理模块80中还可以设置答案匹配单元,取得每个相关问题与用 户输入问题的相似度,根据相似度选择应答用的相关问题。可以选取相似 度最高的相关问题的相应答案作为对用户输入问题的应答,也可以按照相 似度降序提供所有相关问题的相应答案一并作为应答,供用户自行选择。 具体实施时,也可将答案匹配单元合并到问题相似度计算单元,直接根据 相似度选取应答用的相关问题,方便高效。
为了保证自动问答准确率,本发明提出进一步技术方案:设置样本补 充学习模块90,用于向神经元提供模块30输入补充训练语料。训练语料 随时间推移需要不断演化、补充,可以利用神经网络自适应特征,采用多 重
迭代方式,动态补充新知识存储。这样可以在训练阶段完成后,进行测 试阶段。参见图3,实施例的测试阶段具体实现方式为,样本补充学习模 块90中设置问句再训练集合,在问句再训练集合中存放R个问句 question_i,i取1~R;预先对R个问句question_i进行人工语义块标注; 然后逐句判断是否作为训练用问句使用,过程如下:
(1)从问句再训练集合中提取问句question_i,进行预处理,包括分词、 语义消歧及确定词性;
(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输出实现自动系统应 答。