一种基于LSTM的汉语零指代消解方法与流程

文档序号:12363732阅读:394来源:国知局
本发明涉及基于LSTM的汉语零指代消解方法。
背景技术
:指代是指篇章中用一个指代词回指某个以前说过的语言单位。在语言学中,指代词称为照应语,所指的对象或内容称为先行语。回指是修辞学的一种术语,是指在一段话或语篇中一次又一次的提及同一个词,同一个人或同一个事物的现象。指代消解就是确定照应语和先行语之间相互关系的过程,是自然语言处理的关键问题之一。在自然语言中,读者能够根据上下文的关系推断出来的部分经常会被省略,被省略的部分在句子中承担句子的句法成分,并且回指前文中说过的语言单位,这个现象称为零指代。零指代即指在本身应该出现回指词的地方用零代词代替。例如:小芹那年九岁,晌午做捞饭,听见妈妈哼哼得很中听,站在桌前听了一会,把做饭也忘了。上述例子中每个处回指主语都是“小芹”,但却没有用实际的人称代词回指,而采用零形回指,但不影响全句的理解。对于中文等亚洲文字而言,省略句法结构中某个部分的现象高达36%。这表明了中文中出现零指代的现象是很普遍的。由于零指代现象的普遍存在性,使得中文在很多领域的研究都困难重重。比如,在机器翻译领域中,在无法知道省略部分所代表意思的时候,无法将中文翻译成目标语言等等。因此中文零指代的研究是自然语言处理的关键和热点问题之一,在自然语言篇章理解中举足轻重。通常在一段话中,为了保证文本的简洁明了,文本中往往会省略掉很多信息,人们能通过上下文获得这些信息,但是机器对于缺省的地方不能理解,这就要有一种方法来从文本中获得缺省的信息。中文零指代的研究就是为解决这样的问题而提出的。中文零指代的研究不但在信息抽取中起着重要作用,在机器翻译、文本分类和信息抽取等应用中也极为关键。早期零指代的研究主要利用语言的句法特征形成逻辑规则进行消解,比较有代表性的方法包括中心理论,基于句法的方法等。此类方法主要问题是表示和处理都非常困难,且需要大量的人工干预,同时系统的可移植性和自动化程度都比较差。因此机器学习方法用于解决指代消解的问题,如决策树,SVM,treekernel方法等。但是由于基于句法特征向量或者句法树结构的方法很难更有效的提高零指代消解问题的准确率。随着deeplearning研究方法的兴起和发展,在自然语言处理领域,越来越多使用词向量来解决自然语言处理任务,也取得了不错的效果,将词用“词向量”的方式表示可谓是将deeplearning引入NLP领域的一个核心技术。所以使用词向量和神经网络方法来解决零指代消解任务变成了一种很有必要的尝试和创新。目前汉语零指代消解的方法主要有三类:(1)把汉语零指代消解看作是一个二元分类任务。对句子中的每个零指代位置,首先根据规则确定其先行词候选集;根据设计的特征模版,在完全句法树上提取特征得到正负训练样本;训练一个二元分类器进行汉语零指代消解。(2)把该问题同样看作一个二元分类问题。首先在完全句法树上确定零指代的位置、先行词候选以及标记出正反例;抽取包含零指代位置和先行词候选的子树,根据treekernel原理,使用SVM-TK工具训练一个二元分类器进行零指代的消解。(3)无监督方法。有许多无监督方法也应用在汉语零指代消解问题中,如combingranking模型,IntegerLinearPrograming模型,概率模型等。以上传统方法中只利用了句子中零指代出现位置上下文句法信息而没有利用其语义信息,导致汉语零指代消解任务的准确率低以及对语义信息理解确率低。技术实现要素:本发明的目的是为了解决现有方法汉语零指代消解任务的准确率低以及对语义信息理解准确率低的缺点,而提出一种基于LSTM的汉语零指代消解方法。上述的发明目的是通过以下技术方案实现的:步骤一、对已有的文本数据中每一个词进行处理,采用word2vec工具对处理后的文本数据中每一个词进行训练,得到一个词向量字典,其中每一个词都对应着一个词向量;步骤二、使用OntoNotes5.0语料库中的汉语数据,该汉语数据中句子的零指代及其先行词有明确的标注;对已经标记出零指代位置的句子,先用句法分析工具转换成完全句法树的形式,在完全句法树中,对出现在零指代位置之前的所有NP结点选取最大的NP结点和修饰性NP结点作为该零指代的先行词候选集;所述NP为名词短语;步骤三、对出现在零指代位置之后的句子抽取关键词,与每个零指代的先行词候选集中的名词短语组成一个训练样本,如果当前零指代的先行词候选集中的候选短语是零指代真正的先行词,则该训练样本为正例样本,否则为负例样本;步骤四、将正负例样本中所有的词组成一个词字典,给每个词一个id标号,将正负例样本中的所有词用id标号替换,得到词序列,作为模型的输入;输入的词序列连接Embedding层,Embedding层将输入的id标号转换成词向量,采用步骤一得到的词向量字典初始化Embedding层的所有词向量;Embedding层连接双向LSTM网络层,将每个时刻双向LSTM网络层的输出结果拼接起来,送入Dropout层;Dropout层连接逻辑回归层,逻辑回归层输出一个介于0到1之间的数值,表示模型输入样本被判定为正例样本的概率值,这个值作为模型的输出;所述Embedding层为嵌入层;LSTM为长短期记忆模型。发明效果本发明相关研究不仅是对信息学、语言学相关理论的佐证,同时对自然语言理解有促进作用。本发明为了解决传统方法只利用了词法和句法结构信息或者统计概率信息等,没有在语义分析层面进行汉语零指代任务消解的问题,创新性的提出使用词向量和LSTM模型来进行该任务。在相同的数据集上,本发明与传统有监督方法相比,F1-score值提升了5.8%,与无监督方法比提升了2%。通过语料数据训练得到的词向量被证明含有特定的结构和语义信息,是一种很好的语义表达形式。本发明提出了一种关键词的提取方法,将句子中零指代位置下文出现的词中与先行词有关的词提取出来,与每个先行词候选组成一个样本,然后就将汉语零指代消解问题转化成一个二元分类任务,再设计了适合该分类问题的双向LSTM神经网络结构,通过训练得到这个二元分类模型。使用该模型进行汉语零指代消解,只要将句子转换成相应的格式输入模型就能得到分类结果。解决现有方法中只利用了句子中零指代出现位置上下文句法信息而没有利用其语义信息、汉语零指代消解任务的准确率低以及对语义信息理解准确率低的缺点,本发明考虑了语义信息,提高了汉语零指代消解任务的准确率和对语义信息理解的准确率。本发明提出一种关键词的抽取方法,在句子中零指代出现位置的下文抽取相关的名词和动词,设置一个关键词长度参数,如果抽取的关键词多于该参数则进行裁剪,反之则进行补充。对零指代的先行词候选短语,由于短语中的词数量不固定,也要设定一个词数量参数,进行相应的剪裁或补充。本发明使用词向量作为一种语义表达的方式,使用双向LSTM神经网络进行语义关系建模。通过对句子中先行词候选短语和零指代下文中的关键词进行语义建模,寻找两者之间的语义关系,从而更好的在语义层面进行汉语零指代消解。本发明使用双向LSTM网络,通过训练得到的词向量字典用来初始化LSTM网络中的Embedding层参数,双向LSTM层是由一个正向LSTM层和一个反向的LSTM层组成,这两个LSTM层每个时间结点的输出作为一个逻辑回归层的输入,最后用逻辑回归层的输出作为二元分类模型的输出。举例说明该发明的流程和效果。对于句子“中国机电产品进出口贸易继续增加,*pro*占总进出口的比重继续上升。”句子中“*pro*”是零指代出现的位置,将该句子转换成完全句法树,在“*pro*”前面出现的NP结点,确定零指代位置的先行词候选短语是:“中国机电产品进出口贸易”,“中国”,“机电产品”。“*pro*”真正的先行词是“中国机电产品进出口贸易”。根绝关键词抽取规则,在零指代位置“*pro*”的下文抽取的关键词是:“占”、“进出口”、“比重”、“继续”、“上升”。设置最大关键词数目为6,先行词候选短语最大词数为3,如果词数不够,用符号“*”来填充。得到三个样本:[产品进出口贸易–占进出口比重继续上升*]、[**中国–占进出口比重继续上升*]和[*机电产品–占进出口比重继续上升*]。通过词字典,将这些样本中的词替换成词ID,然后输入已经训练好的基于双向LSTM的二元分类模型。模型会将[产品进出口贸易–占进出口比重继续上升*]分为正例,另外两个样本分为负例,认为“中国机电产品进出口贸易”是“*pro*”真正的先行词。附图说明图1为整个基于双向LSTM进行汉语零指代消解的流程图;图2为具体实施方式一提出的双向LSTM模型网络结构图;图3为传统网络结构图;图4为dropout网络结构图。具体实施方式具体实施方式一:结合图1说明本实施方式,本实施方式的一种基于词向量和双向LSTM的汉语零指代消解方法,具体是按照以下步骤制备的:步骤一、对已有的文本数据中每一个词进行简单的处理,采用word2vec工具对处理后的文本数据中每一个词进行训练(word2vec是一款开源软件,专门用来将分好词的文本通过内部的模型,将词转换成相应的向量),得到一个词向量字典,其中每一个词都对应着一个词向量;步骤二、使用OntoNotes5.0语料库中的汉语部分数据,该汉语部分数据中句子的零指代及其先行词有明确的标注;对已经标记出零指代位置的句子文本,先用句法分析工具(将句子转换成树状形式的工具,如:StanfordParser)转换成完全句法树的形式,在完全句法树中,对出现在零指代位置之前的所有NP(名词短语)结点选取最大的NP结点(祖先结点中无NP结点)和修饰性NP结点(父节点是NP结点并且右兄弟结点也是NP结点)作为该零指代的先行词候选集;所述NP为名词短语;步骤三、对出现在零指代位置之后的句子(从零指代出现位置到句子末尾)抽取关键词,与每个零指代的先行词候选集中的名词短语NP组成一个训练样本,如果当前零指代的先行词候选集中的候选短语是零指代真正的先行词,则该训练样本为正例样本,否则为负例样本;步骤四、将正负例样本中所有的词组成一个词字典,给每个词一个id标号,将正负例样本中的所有词用id标号替换,得到词序列,作为模型的输入;输入的词序列连接Embedding层,Embedding层将输入的id标号转换成词向量,采用步骤一得到的词向量字典初始化Embedding层的所有词向量参数;Embedding层连接双向LSTM网络层,用于提取特征;将每个时刻双向LSTM网络层的输出结果拼接起来,送入Dropout层;Dropout层连接逻辑回归层,逻辑回归层输出一个介于0到1之间的数值,表示模型输入样本被判定为正例的概率值,这个值作为模型的输出;所述Embedding层为嵌入层;LSTM为长短期记忆模型;Dropout层为一种特殊网络结构,模型训练的时候dropout网络层会随机的选择某个比例的隐含单元失去作用。如图3和图4;图3为传统网络结构图,图4为dropout网络结构图;Dropout是指在模型训练时随机让网络某些隐含层节点的权重不工作,不工作的那些节点可以暂时认为不是网络结构的一部分,但是它的权重得保留下来(只是暂时不更新而已),因为下次样本输入时它可能又得工作了(有点抽象,具体实现看后面的实验部分)。可以认为是一种特殊的网络结构。具体实施方式二:本实施方式与具体实施方式一不同的是:所述步骤一中对已有的文本数据进行简单的处理的过程为:使用分词程序对已有的文本数据中句子进行分词,将特殊字符进行去除,只保留汉字、英文和标点(特殊字符比如希腊字母、俄文字母、注音符号、特殊符号等)。具体实施方式三:本实施方式与具体实施方式一或二不同的是:所述步骤二中先行词候选集的处理方式为:设置先行词候选集最大词数目为n,1≤n≤maxW,maxW表示一个句子的最大词数目;如果先行词候选集词数目小于n,则用符号*进行填充直到词数目等于n;如果先行词候选集词数目大于n,则只保留最后n个词;在词映射成词向量阶段,*映射成零向量。具体实施方式四:本实施方式与具体实施方式一至三之一不同的是:所述步骤三中对出现在零指代位置之后的句子(从零指代出现位置到句子末尾)抽取关键词;具体过程为:设置关键词最大词数为m,1≤m≤maxW,maxW表示一个句子的最大词数目,关键词提取规则是:抽取句子中的名词和动词;如果抽取的总词数小于m,则用符号*进行填充,直到达到m个词;如果抽取的总词数等于m,则不需要额外处理;如果抽取的总词数大于m,则要对抽取的所有词进行裁剪,首先删除修饰性名词,计算删除修饰性名词后的抽取的总词数,如果抽取的总词数等于m,则不需要额外处理;如果抽取的总词数小于m,则用符号*进行填充,直到达到m个词;如果抽取的总词数大于m,则再删除名词中除修饰性名词外的名词,计算删除后的抽取的总词数,如果抽取的总词数小于m,则用符号*进行填充,直到达到m个词;如果抽取的总词数等于m,则不需要额外处理;如果抽取的总词数大于m,则再删除动词,计算删除动词后的抽取的总词数,如果抽取的总词数小于m,则用符号*进行填充,直到达到m个词;如果抽取的总词数等于m,则不需要额外处理。具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:所述步骤四中双向LSTM网络层包括正向LSTM层和反向LSTM层;如图2所示;LSTM层的作用就是在输入的关键词序列上提取特征;正负例样本中的所有词分别正向输入正向LSTM层,反向输入反向LSTM层;使用双向LSTM层分别保存两个方向输入的信息。理论上可以使模型在处理当前时刻数据时利用到整个序列的上下文信息,最后这两个LSTM层在每个时序的输出都拼接起来。3个门以及独立的memorycell的设计,使得LSTM单元有保存,读取、重置和更新长距离历史信息的能力。具体实施方式六:本实施方式与具体实施方式一至五之一不同的是:所述LSTM层由LSTM单元组成,每个时序都对应一个LSTM单元;LSTM单元在每个时序都会输入一个词向量,然后输出一个值,每个时序的输出值经过拼接操作(两个向量的拼接操作可以看作是将第二个向量追加到第一个向量的末尾,使其合并成一个新的向量)得到一个特征向量,送入Dropout层,与Dropout层的逻辑回归层连接,逻辑回归层输出一个介于0到1之间的数值,表示输入样本被判定为正例的概率值,这个值作为模型的输出。具体实施方式七:本实施方式与具体实施方式一至六之一不同的是:所述LSTM层由LSTM单元组成,每个时序都对应一个LSTM单元;LSTM单元在每个时序都会输入一个词向量,然后LSTM单元输出一个值;具体过程为:LSTM单元专门设计了记忆单元(memorycell)用于保存历史信息。历史信息的更新和利用分别受到3个门的控制——输入门(inputgate),遗忘门(forgetgate),输出门(outputgate);设h为LSTM单元输出数据,c为LSTM候选记忆单元值,x为LSTM单元输入数据;(1)根据传统RNN的公式计算当前时刻的候选记忆单元值Wxc、Whc分别是LSTM单元当前时刻输入数据xt和上一时刻LSTM单元输出数据ht-1的权值参数,bc为偏置参数,h为激活函数;c~t=tanh(Wxcxt+Whcht-1+bc)]]>(2)计算输入门inputgate的值it,输入门用于控制当前数据输入对记忆单元状态值的影响。所有门的计算除了受当前输入数据xt和上一时刻LSTM单元输出值ht-1影响外,还受上一时刻记忆单元值ct-1的影响。it=σ(Wxixt+Whiht-1+Wcict-1+bi)其中,Wxi为LSTM单元当前时刻输入数据xt的权值参数,Whi为上一时刻LSTM单元输出数据ht-1的权值参数,Wci为上一时刻候选记忆单元值ct-1的权值参数,bi为偏置参数;σ为激活函数;(3)计算遗忘门forgetgate的值ft,遗忘门用于控制历史信息对当前记忆单元状态值的影响。ft=σ(Wxfxt+Whfht-1+Wcfct-1+bf)其中,Wxf为LSTM单元当前时刻输入数据xt的权值参数,Whf为上一时刻LSTM单元输出数据ht-1的权值参数,Wcf为上一时刻候选记忆单元值ct-1的权值参数,bf为偏置参数;(4)计算当前时刻记忆单元值ct;其中,⊙表示逐点乘积;由公式可见,记忆单元更新取决于上一时刻候选记忆单元值ct-1和当前时刻的候选记忆单元值,并且通过输入门和遗忘门分别对这两部分因素进行调节。(5)计算输出门ot;用于控制记忆单元状态值的输出。ot=σ(Wxoxt+Whoht-1+Wcoct-1+bo)其中,Wxo为LSTM单元当前时刻输入数据xt的权值参数,Who为上一时刻LSTM单元输出数据ht-1的权值参数,Wco为上一时刻候选记忆单元值ct-1的权值参数,bo为偏置参数;(6)最后LSTM单元的输出为ht=ot⊙tanh(ct)。具体实施方式八:本实施方式与具体实施方式一至七之一不同的是:所述σ一般取logisticsigmoid函数,取值范围0≤σ≤1。具体实施方式九:本实施方式与具体实施方式一至八之一不同的是:所述对LSTM单元输出的值,使用逻辑回归进行二元分类,逻辑回归层的输出结果是模型输入的样本,被预测为正例的概率值(本专利提出的模型最后的输出就是这个概率值,这个概率值越准确,说明模型越好),这个值作为模型的输出具体过程为:分类公式为:p(y=1|x)=exp(w·x+b)1+exp(w·x+b)]]>其中,x为dropout网络输出的特征向量,b为偏置向量,y为分类标签,分为正例标签或者负例标签;逻辑回归p(y=1|x)计算的是在输入的特征向量是x的条件下y为正例标签的概率;在基于双向LSTM模型的汉语零指代消解框架中。为了防止神经网络出现过拟合现象,使用dropout技术来避免模型出现过拟合现象。Dropout层在模型训练的时候随机让一定比例(比例p通常取0.5)的隐含节点不工作。不工作的这些节点对应的权值在这次训练中就不会更新。但是在模型使用的时候,所有节点都会被用到,恢复全连接。通过这种机制达到防止出现过拟合现象。整个LSTM二元分类网络的构造过程是:在数据预处理阶段,将抽取的关键词序列利用词字典转换成词标号序列;然后将这些词标号序列作为神经网络的输入,连接到embedding层,embedding层将每个时序的词标号转换成词向量,分别顺序传给正向LSTM网络层和逆序传给反向LSTM网络层;两个LSTM层在每个时间序列都会有一个输出,把这些输出结果横向拼接起来(通过concatenate操作,拼接到一起),然后送入dropout层;dropout层输出结果送入逻辑回归分类层,最后输出分类概率值。采用以下实施例验证本发明的有益效果:实施例一:本实施例一,具体是按照以下步骤制备的:(1)样本提取。在OntoNote5.0语料库抽取包含汉语零指代的句子和其完全句法树。在句子的完全句法树上抽取先行词候选集。每个先行词候选短语与其零指代构成一个样本,根据该候选短语是否是零指代的真正先行词来确定该样本为正例或负例。(2)关键词抽取。通过本发明提出的关键词抽取策略,抽取句子中零指代位置至句尾的关键词和候选短语的关键词。最后根据词字典,将这些关键词替换成词标号。(3)将正负训练样本送入本发明提出的双向LSTM模型框架,经过训练之后得到一个汉语零指代消解模型。(4)最后将新的测试样本(同样来自上述方法和语料库)送入模型,根据模型的预测结果和测试样本的真实结果,得到测试数据。测试结果如下:准确率召回率F1值50.750.750.7本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1