CN101566998B - 一种基于神经网络的中文问答系统 - Google Patents

一种基于神经网络的中文问答系统 Download PDF

Info

Publication number
CN101566998B
CN101566998B CN2009100622390A CN200910062239A CN101566998B CN 101566998 B CN101566998 B CN 101566998B CN 2009100622390 A CN2009100622390 A CN 2009100622390A CN 200910062239 A CN200910062239 A CN 200910062239A CN 101566998 B CN101566998 B CN 101566998B
Authority
CN
China
Prior art keywords
module
user
semantic chunk
semantic
speech
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2009100622390A
Other languages
English (en)
Other versions
CN101566998A (zh
Inventor
何婷婷
张茂元
陈龙
张勇
胡泊
张红春
吴宝珍
刘星星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong Normal University
Original Assignee
Huazhong Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huazhong Normal University filed Critical Huazhong Normal University
Priority to CN2009100622390A priority Critical patent/CN101566998B/zh
Publication of CN101566998A publication Critical patent/CN101566998A/zh
Application granted granted Critical
Publication of CN101566998B publication Critical patent/CN101566998B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Machine Translation (AREA)

Abstract

本发明公开一种基于神经网络的中文问答系统,包括有用户接口模块、问题预分词模块、神经元预标注模块、学习训练模块、神经元知识库模块、语义块识别模块、问题集索引模块和答案推理模块。通过该系统,首先采用SIE编码方式,对语义块内词按相对位置进行编码;然后将问句语义块识别问题转化成一个标记分类问题,采用基于神经网络的分类模型来确定问句的语义结构;最后结合问句的语义结构,实现基于神经网络的问句相似度计算,通过对已标注完成的问句语义特征抽取,比较问句各个语义特征之间的权重,为最终答案推理提供依据。本发明将句子的句法、语义和语境知识融为一体,能够模拟人处理句子的过程。

Description

一种基于神经网络的中文问答系统
技术领域
本发明属于信息检索技术领域,特别涉及一种基于神经网络的中文问答系统。
背景技术
问答系统(Question Answering System)是指能够对计算机用户输入的使用自然语言描述的问题做出回答的系统,一般采用计算机软件系统技术实现。问答系统集自然语言处理、信息检索、知识表示为一体,正日益成为国际上研究的热点。它既能够让用户用自然语言提问,又能够为用户返回一个简洁、准确的答案,而不是一些相关的网页。因此,问答系统和传统依靠关键字匹配的搜索引擎相比,能够更好地满足用户的检索需求,更准确地找出用户所需要的答案,具有方便、快捷、高效等特点。
信息检索技术和自然语言处理技术是自动问答系统研究的基础。目前,信息检索技术已经逐步走向成熟,其中搜索引擎技术已经发展的比较完善。分词、词性标注、命名实体识别等基础自然语言处理技术研究也已经取得了很大的成绩。这些基础技术的蓬勃发展以及用户的巨大需求都预示着问答系统的研发将要进入一个空前的大发展时期。
现有的应用于汉语问题理解的机器学习方法有很多,隐马尔可夫模型(HMM),最大熵(Maximium Sntropy),支持向量机(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)运用神经网络知识存储和自适应特征,可以通过适应补充学习样本,实现历史经验与新知识完满结合,在发展过程中动态地评价系统状态,提高系统的准确率。
附图说明
图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-minp)/(maxp-minp)-1,其中,minp和maxp是样本数据的最小值和最大值,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)如下式:
tan sig ( x ) = 2 ( 1 + exp ( - 2 x ) ) - 1
其中,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中,以便标明哪些语义块分类标记的词更容易同时出现),带入语境相似度公式
S context = ( ( 1 + α 1 ) N + Σ j = 1 N α j , ( 1 + α 2 ) N + Σ j = 1 N α j , . . . , ( 1 + α N ) N + Σ j = 1 N α j ) ,
其中αj的设计原理是基于互信息定义 MI ( a , b ) = p ( ab ) p ( a ) p ( b ) , p(ab)是a,b同时发生的概率,p(a),p(b)是a,b独立发生的概率;在此基础进一步改进,得出: α j = MI ( A , B ) = log m 2 ( m + k ) ( m + l ) , 用户输入问题Sen1中出现最多的共现词标记为A,相关问题Sen2中出现最多的共现词标记为B。在用户输入问题Sen1中第j个语义块与相关问题Sen2中第j个语义块中,共现词A、B同时出现的次数为m;A出现而B没有出现的次数为k;B出现而A没有出现的次数为1。如果A和B不相关,则αj值为0。
(4)语义块序列相似度Ssemantic与语境相似度Scontext进行点乘运算得到最终相似度,即 S ultimate = ( ( 1 + α 1 ) N + Σ j = 1 N α j V 1 , ( 1 + α 2 ) N + Σ j = 1 N α j V 2 , . . . , ( 1 + α N ) N + Σ j = 1 N α j V N )
(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输出实现自动系统应答。

Claims (4)

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.如权利要求1所述的中文问答系统,其特征在于:答案推理模块(80)包括有问题推理单元、问题检索单元和问题相似度计算单元;
问题推理单元,用于选取用户输入问题中核心的语义块做同义词扩展,并将扩展后的语义块序列传给问题相似度计算单元;
问题检索单元,用于调用问题集索引库模块(70)存放的索引文件,找到与用户输入问题具有相同或相似关键字的相关问题;
问题相似度计算单元,用于分别计算每个相关问题与用户输入问题的相似度,选取相似度最高的相关问题的相应答案作为对用户输入问题的应答。
3.如权利要求1或2所述的中文问答系统,其特征在于:设置样本补充学习模块(90),用于向神经元提供模块(30)输入补充训练语料。
4.如权利要求1或2所述的中文问答系统,其特征在于:所述输入层根据语义块所含词的词义块分类标记和语境设定,其中语境包括词语本身、词的词性及与该词性相对应的共现词。
CN2009100622390A 2009-05-26 2009-05-26 一种基于神经网络的中文问答系统 Expired - Fee Related CN101566998B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100622390A CN101566998B (zh) 2009-05-26 2009-05-26 一种基于神经网络的中文问答系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100622390A CN101566998B (zh) 2009-05-26 2009-05-26 一种基于神经网络的中文问答系统

Publications (2)

Publication Number Publication Date
CN101566998A CN101566998A (zh) 2009-10-28
CN101566998B true CN101566998B (zh) 2011-12-28

Family

ID=41283151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100622390A Expired - Fee Related CN101566998B (zh) 2009-05-26 2009-05-26 一种基于神经网络的中文问答系统

Country Status (1)

Country Link
CN (1) CN101566998B (zh)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102253644A (zh) * 2010-05-17 2011-11-23 无锡爱德普信息技术有限公司 一种可配置型智能制程控制系统及其实现方法
CN102279843A (zh) * 2010-06-13 2011-12-14 北京四维图新科技股份有限公司 处理短语数据的方法以及装置
CN101908042B (zh) * 2010-08-09 2016-04-13 中国科学院自动化研究所 一种双语联合语义角色的标注方法
US8965820B2 (en) * 2012-09-04 2015-02-24 Sap Se Multivariate transaction classification
CN103870528B (zh) * 2012-12-17 2018-04-17 东方概念有限公司 深度问题回答系统中的问题分类和特征映射的方法和系统
US9754215B2 (en) 2012-12-17 2017-09-05 Sinoeast Concept Limited Question classification and feature mapping in a deep question answering system
CN103136352B (zh) * 2013-02-27 2016-02-03 华中师范大学 基于双层语义分析的全文检索系统
CN103914570A (zh) * 2014-04-25 2014-07-09 北京中讯爱乐科技有限公司 基于字符串相似度算法的智能客服搜索方法与系统
US9542496B2 (en) 2014-06-04 2017-01-10 International Business Machines Corporation Effective ingesting data used for answering questions in a question and answer (QA) system
US9697099B2 (en) 2014-06-04 2017-07-04 International Business Machines Corporation Real-time or frequent ingestion by running pipeline in order of effectiveness
US9547471B2 (en) * 2014-07-03 2017-01-17 Microsoft Technology Licensing, Llc Generating computer responses to social conversational inputs
CN105528349B (zh) 2014-09-29 2019-02-01 华为技术有限公司 知识库中问句解析的方法及设备
CN105786789B (zh) * 2014-12-16 2019-07-23 阿里巴巴集团控股有限公司 一种文本相似度的计算方法和装置
US10460720B2 (en) 2015-01-03 2019-10-29 Microsoft Technology Licensing, Llc. Generation of language understanding systems and methods
CN104615767B (zh) * 2015-02-15 2017-12-29 百度在线网络技术(北京)有限公司 搜索排序模型的训练方法、搜索处理方法及装置
CN104899188A (zh) * 2015-03-11 2015-09-09 浙江大学 一种基于问题主题和焦点的问题相似度计算方法
CN106294505B (zh) * 2015-06-10 2020-07-07 华中师范大学 一种反馈答案的方法和装置
GB201511887D0 (en) 2015-07-07 2015-08-19 Touchtype Ltd Improved artificial neural network for language modelling and prediction
CN105354180B (zh) * 2015-08-26 2019-01-04 欧阳江 一种实现开放式语义交互服务的方法及系统
JP6678930B2 (ja) 2015-08-31 2020-04-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 分類モデルを学習する方法、コンピュータ・システムおよびコンピュータ・プログラム
CN106803092B (zh) * 2015-11-26 2020-07-10 阿里巴巴集团控股有限公司 一种标准问题数据的确定方法及装置
CN106844368B (zh) 2015-12-03 2020-06-16 华为技术有限公司 用于人机对话的方法、神经网络系统和用户设备
CN105589844B (zh) * 2015-12-18 2017-08-08 北京中科汇联科技股份有限公司 一种用于多轮问答系统中缺失语义补充的方法
CN105677779B (zh) * 2015-12-30 2018-10-30 山东大学 一种基于评分机制的反馈型问题类型分类器系统及其工作方法
CN105677735B (zh) * 2015-12-30 2020-04-21 腾讯科技(深圳)有限公司 一种视频搜索方法及装置
CN105740226A (zh) * 2016-01-15 2016-07-06 南京大学 使用树形神经网络和双向神经网络实现中文分词
CN108780445B (zh) * 2016-03-16 2022-10-04 微软技术许可有限责任公司 用于对小数据的机器理解的并行分层模型
CN105956011B (zh) * 2016-04-21 2020-01-21 百度在线网络技术(北京)有限公司 搜索方法及装置
CN107590153B (zh) * 2016-07-08 2021-04-27 微软技术许可有限责任公司 使用卷积神经网络的对话相关性建模
CN106294325B (zh) * 2016-08-11 2019-01-04 海信集团有限公司 自然语言生成语句的优化方法及装置
CN108073587B (zh) * 2016-11-09 2022-05-27 阿里巴巴集团控股有限公司 一种自动问答方法、装置及电子设备
CN106649561B (zh) * 2016-11-10 2020-05-26 复旦大学 面向税务咨询业务的智能问答系统
CN106897263A (zh) * 2016-12-29 2017-06-27 北京光年无限科技有限公司 基于深度学习的机器人对话交互方法及装置
CN106844530A (zh) * 2016-12-29 2017-06-13 北京奇虎科技有限公司 一种问答对分类模型的训练方法和装置
CN108509408B (zh) * 2017-02-27 2019-11-22 芋头科技(杭州)有限公司 一种句子相似度判断方法
CN106991161B (zh) * 2017-03-31 2019-02-19 北京字节跳动科技有限公司 一种自动生成开放式问题答案的方法
CN107220296B (zh) * 2017-04-28 2020-01-17 北京拓尔思信息技术股份有限公司 问答知识库的生成方法、神经网络的训练方法以及设备
CN107329967B (zh) * 2017-05-12 2019-09-24 北京邮电大学 基于深度学习的问答系统以及方法
CN109145083B (zh) * 2017-06-27 2021-01-01 华东师范大学 一种基于深度学习的候选答案选取方法
CN107562856A (zh) * 2017-08-28 2018-01-09 深圳追科技有限公司 一种自助式客户服务系统及方法
CN107562863A (zh) * 2017-08-30 2018-01-09 深圳狗尾草智能科技有限公司 聊天机器人回复自动生成方法及系统
CN107967302A (zh) * 2017-11-08 2018-04-27 江苏名通信息科技有限公司 基于深度神经网络的游戏客服对话系统
CN107798140B (zh) * 2017-11-23 2020-07-03 中科鼎富(北京)科技发展有限公司 一种对话系统构建方法、语义受控应答方法及装置
RU2678716C1 (ru) * 2017-12-11 2019-01-31 Общество с ограниченной ответственностью "Аби Продакшн" Использование автоэнкодеров для обучения классификаторов текстов на естественном языке
CN108090174B (zh) * 2017-12-14 2022-01-07 北京邮电大学 一种基于系统功能语法的机器人应答方法及装置
CN110019736B (zh) * 2017-12-29 2021-10-01 北京京东尚科信息技术有限公司 基于语言模型的问答匹配方法、系统、设备及存储介质
CN108280061B (zh) * 2018-01-17 2021-10-26 北京百度网讯科技有限公司 基于歧义实体词的文本处理方法和装置
CN108446321B (zh) * 2018-02-10 2021-03-30 武汉市灯塔互动文化传播有限公司 一种基于深度学习的自动问答方法
CN108563779B (zh) * 2018-04-25 2022-03-08 北京计算机技术及应用研究所 一种基于神经网络的无模板自然语言文本答案生成方法
CN108959387B (zh) * 2018-05-31 2020-09-11 科大讯飞股份有限公司 信息获取方法及装置
CN108959552A (zh) * 2018-06-29 2018-12-07 北京百度网讯科技有限公司 问答类查询语句的识别方法、装置、设备及存储介质
CN109002501A (zh) * 2018-06-29 2018-12-14 北京百度网讯科技有限公司 用于处理自然语言对话的方法、装置、电子设备以及计算机可读存储介质
CN109145085B (zh) * 2018-07-18 2020-11-27 北京市农林科学院 语义相似度的计算方法及系统
CN109033318B (zh) * 2018-07-18 2020-11-27 北京市农林科学院 智能问答方法及装置
CN109086273B (zh) * 2018-08-14 2022-04-15 北京猿力未来科技有限公司 基于神经网络解答语法填空题的方法、装置和终端设备
CN109710772B (zh) * 2018-11-13 2023-03-31 国云科技股份有限公司 一种基于深度学习的问答库知识管理系统及其实现方法
CN109635083B (zh) * 2018-11-27 2020-11-17 北京科技大学 一种用于搜索ted演讲中话题式查询的文档检索方法
CN109741824B (zh) * 2018-12-21 2023-08-04 质直(上海)教育科技有限公司 一种基于机器学习的医疗问诊方法
CN109740077B (zh) * 2018-12-29 2021-02-12 北京百度网讯科技有限公司 基于语义索引的答案搜索方法、装置及其相关设备
CN110008308B (zh) * 2019-01-24 2023-06-02 创新先进技术有限公司 针对用户问句补充信息的方法和装置
CN109992657B (zh) * 2019-04-03 2021-03-30 浙江大学 一种基于强化动态推理的对话式问题生成方法
CN110069613A (zh) * 2019-04-28 2019-07-30 河北省讯飞人工智能研究院 一种回复获取方法及装置
CN111984765B (zh) * 2019-05-21 2023-10-24 南京大学 知识库问答过程关系检测方法及装置
CN110647619B (zh) * 2019-08-01 2023-05-05 中山大学 一种基于问题生成和卷积神经网络的常识问答方法
CN111506812B (zh) * 2020-03-26 2023-09-26 口口相传(北京)网络技术有限公司 一种推荐词的生成方法、装置、存储介质及计算机设备
CN111523323B (zh) * 2020-04-26 2022-08-12 梁华智能科技(上海)有限公司 一种中文分词的消歧处理方法和系统
CN111611809B (zh) * 2020-05-26 2023-04-18 西藏大学 一种基于神经网络的汉语语句相似度计算方法
CN112463944B (zh) * 2020-12-22 2023-10-24 安徽商信政通信息技术股份有限公司 一种基于多模型融合的检索式智能问答方法及装置
CN114328841A (zh) * 2021-07-13 2022-04-12 北京金山数字娱乐科技有限公司 问答模型训练方法及装置、问答方法及装置
CN116821311B (zh) * 2023-08-30 2023-10-31 环球数科集团有限公司 一种基于关联数据和用户行为分析的智能客服系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1312501A (zh) * 2001-04-20 2001-09-12 中国科学院合肥智能机械研究所 一种集成化智能信息系统开发控制的方法
EP1710735A1 (en) * 2005-04-08 2006-10-11 20Q.net Inc. Artificial neural network guessing method and game
CN101286161A (zh) * 2008-05-28 2008-10-15 华中科技大学 一种基于概念的智能中文问答系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1312501A (zh) * 2001-04-20 2001-09-12 中国科学院合肥智能机械研究所 一种集成化智能信息系统开发控制的方法
EP1710735A1 (en) * 2005-04-08 2006-10-11 20Q.net Inc. Artificial neural network guessing method and game
CN101286161A (zh) * 2008-05-28 2008-10-15 华中科技大学 一种基于概念的智能中文问答系统

Also Published As

Publication number Publication date
CN101566998A (zh) 2009-10-28

Similar Documents

Publication Publication Date Title
CN101566998B (zh) 一种基于神经网络的中文问答系统
CN110633409B (zh) 一种融合规则与深度学习的汽车新闻事件抽取方法
CN106844658B (zh) 一种中文文本知识图谱自动构建方法及系统
CN109190117B (zh) 一种基于词向量的短文本语义相似度计算方法
CN109948143B (zh) 社区问答系统的答案抽取方法
CN108681574B (zh) 一种基于文本摘要的非事实类问答答案选择方法及系统
CN103970729B (zh) 一种基于语义类的多主题提取方法
CN107122413A (zh) 一种基于图模型的关键词提取方法及装置
CN108304372A (zh) 实体提取方法和装置、计算机设备和存储介质
CN107818164A (zh) 一种智能问答方法及其系统
CN106970910A (zh) 一种基于图模型的关键词提取方法及装置
CN110096567A (zh) 基于qa知识库推理的多轮对话回复选择方法、系统
CN101251862A (zh) 一种基于内容的问题自动分类方法及其系统
CN108536807B (zh) 一种信息处理方法及装置
CN100511214C (zh) 一种对文档集进行批量单文档摘要的方法及系统
CN117807199B (zh) 一种基于文档检索增强机器语言模型的对话方法及系统
CN112115716A (zh) 一种基于多维词向量下文本匹配的服务发现方法、系统及设备
CN116127095A (zh) 一种序列模型与知识图谱结合的问答方法
CN112507078B (zh) 一种语义问答方法、装置、电子设备及存储介质
CN117932038A (zh) 一种基于上下文窗口的大语言模型构建方法及系统
CN112667797B (zh) 自适应迁移学习的问答匹配方法、系统及存储介质
CN107818078B (zh) 汉语自然语言对话的语义关联与匹配方法
CN111401070A (zh) 词义相似度确定方法及装置、电子设备及存储介质
Clifton et al. Bangor at TREC 2004: Question Answering Track.
CN113935308A (zh) 面向地球科学领域的文本摘要自动生成的方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20111228

Termination date: 20150526

EXPY Termination of patent right or utility model