一种基于细粒度词表示模型的序列标注模型的制作方法

文档序号:15271671发布日期:2018-08-28 22:30阅读:279来源:国知局

本发明属于计算机应用及自然语言处理领域,涉及一种基于注意力机制的字符级模型及其在序列标注任务的应用。本发明提出了一种基于细粒度词表示模型的序列标注模型。主要创新在于设计了一种基于注意力机制的细粒度词表示模型来更精准、全局、动态地刻画单词的形态学信息,进而提出了基于该词表示模型的序列标注模型。该模型不仅具有较高的序列标注能力,而且无需特征工程,同时具有很强的可解释性。



背景技术:

词性标注(part-of-speechtagging)、命名实体识别(namedentityrecognition,ner)等序列标注任务是自然语言处理领域的基础工作。以ner为例,其主要任务是识别文本中的人名、地名、组织机构名等专有名词和有意义的时间、日期等短语。序列标注任务作为信息抽取中重要的组成部分,其识别效果对于后续的机器翻译等任务有很大影响。

目前序列标注任务主要模型分为传统的统计机器学习模型和神经网络模型两类。常见的统计模型主要有隐马尔可夫模型(hiddenmarkovmodel,hmm)和条件随机场(conditionalrandomfield,crf)等浅层模型,其中crf模型广泛应用于各种序列标注任务中,并取得了不错的效果。近年来,深度学习在自然语言处理领域中取得了重大的突破。与传统机器学习方法相比,神经网络模型在序列标注任务中取得了更好的结果。神经网络方法在使用大规模的未标注语料进行词向量训练,通过将预训练词向量输入到卷积神经网络(convolutionalneuralnetwork,cnn)、循环神经网络(recurrentneuralnetwork,rnn)等模型,实现了端到端的训练。在基于神经网络方法的ner任务中,collobert等人采用cnn进行特征抽取,同时提出了一种句级对数似然函数(sentence-levellog-likelihood),通过融合其它特征取得了不错的结果。huang等人提出了bilstm-crf模型,同时还融合了其他语言学特征以提升模型性能。在上述方法中,浅层模型采用了特征工程,但在其他领域和语言中泛化能力不佳;大部分神经网络模型尽管采用了语义丰富的词向量,自动学习任务相关的特征表示,但是没有考虑单词的结构信息,导致形态学信息缺失的问题。如何使模型能根据当前的任务自动学习形态学上的信息,从而提升实体识别性能成为近期研究的热点。

在目前的序列标注任务中,研究自动学习词形信息的工作主要有lample等人的双向长短时记忆网络(bi-directionallongshort-termmemorynetwork,bilstm)和chiu等人的cnn。lample等人采用两个bilstm分别自动学习词级和字符级表示,在命名实体识别任务中取得了与先进水平可比的结果。chiu等人提出采用cnn自动学习字符级表示,在一定程度上缓解了模型对于特征工程的依赖,同时还融合了由两个公开的外部资源构造的词典特征,在conll2003英文ner语料上取得了f1为91.62%的目前最先进结果。尽管上述字符级表示模型在命名实体识别任务中取得了较好的进展,但是两者在理论上均无法全局、动态地定量表示单词内各字符在字符级词向量中的贡献。如何能全局、动态地定量刻画词内各字符的贡献以期产生一种更好的字符级表达方式是本发明的核心内容。

近年来,注意力(attention)机制广泛应用于机器翻译等自然语言处理领域中。在ner任务中,rei等人采用一种类似门机制的attention模型动态地选择词级信息和字符级信息作为模型的输入,相比于仅有词向量作为输入的方法,该方法在多个数据集上有了显著提升。bharadwaj等人通过attention机制针对输入单词的语义信息与词内字符信息之间的关联性进行全局性地建模,从而得到该单词的上下文表示。尽管attention机制开始在ner任务中取得了一定的进展,但如何将attention机制的动态性和全局性有效地融入字符级模型有待进一步探索。

综合上述情况和近期attention机制在自然语言处理领域上取得的进展,本发明提出了一种基于attention机制的细粒度字符级词表示模型(fine-grainedcharacter-levelwordrepresentationmodel,finger)。finger根据attention机制产生的概率分布,重点关注对于单词的形态学信息表示起到关键作用的个别字符,从而充分捕获词内的结构信息,进而有助于提升系统的识别效果。在此基础上,我们结合bilstm-crf模型构建了finger-bilstm-crf模型进行实体识别任务。该模型是基于bilstm-crf模型的改进,结合解释性极强的attention机制,构成了一种完全端到端、无任何特征工程的序列标注系统。



技术实现要素:

本发明要解决的技术问题是如何通过字符级表示模型自动地、动态地、全局地学习形态学信息,其关键点在于如何合理利用注意力机制,从而得到细粒度的字符级词表示,进而联合bilstm-crf模型进行序列标注任务。

本发明的技术方案:

一种基于细粒度词表示模型的序列标注模型,一种完全基于attention机制的字符级词表示模型finger来替代bilstm、cnn字符级模型,将finger作为bilstm-crf模型的扩展,构造了新的命名实体识别模型finger-bilstm-crf;该模型的结构见图1所示,主要由特征表示层、bilstm和crf层3部分构成;

(1)特征表示层:主要由词向量层和字符特征层组成;字符特征层由字符向量层和构建在字符向量层之上的基于注意力机制的finger模型组成;词向量层和字符向量层分别接受单词和字符作为输入,分别将离散高维的独热表示映射到各自的稠密连续的低维特征空间中;finger则将单词转换为字符序列表示,通过attention机制建立形态学信息与字符信息间的关联,构成与词内结构相关的字符级向量;最后,将词向量和字符级向量进行拼接以表示单词在特定语义空间下的特征;

(2)bilstm:由正向和反向的长短时记忆网络(longshort-termmemory,lstm)组成;正向和反向lstm接收特征表示层的输出特征作为输入,分别编码当前时刻的上文和下文信息;两者的编码信息合并构成待解码的得分信息;

(3)crf:crf层接受bilstm的输出得分作为输入,同时引入转移得分矩阵,根据序列得分选择全局最优的标签序列;

整个模型既融合了序列标注任务所需的词形信息,有助于模型对于实体的判断,又结合了bilstm对于单词的上下文信息的表示能力,还保留crf层求解标签序列的全局最优解的能力,从而为模型产生最优结果创造了可能。

一种采用序列标注模型进行序列标注任务的方法,步骤如下:

第一步,特征表示阶段

特征表示层将输入的单词序列映射为实值的特征向量,特征向量捕获单词的句法信息、语义信息和形态学信息;定义一个固定大小的词典vwrd和一个固定大小的字符集vchr;给定长度为n的句子{w1,w2,...,wn},将句子中每个单词wn映射为由词向量和字符级向量拼接而成的词表示其中词向量捕获单词的句法信息和语义信息,字符级向量表达词形信息;

1)词向量层

词向量矩阵中的第i列代表词典中第i个单词的词向量;如公式(1)所示,通过矩阵-向量乘法将单词wn映射为向量

其中,向量是维数为|vwrd|的独热(one-hot)表示;矩阵wwrd为待学习参数,词向量维度dwrd为超参数;

2)字符向量层

给定一个由m个字符{c1,c2,...,cm}构成的单词wn,先将每个字符cm映射为字符向量和词向量层的表示过程是相同的,字符向量矩阵中的第j列代表字符集中的第j个字符的字符向量;如公式(2)所示,通过矩阵-向量乘法将字符cm映射为向量

其中,向量是长度为|vchr|的独热(one-hot)表示;矩阵wchr为待学习参数,词向量维度dchr为超参数;

单词的字符序列经过上述的线性映射,生成字符向量序列作为后续模型的输入;

3)finger模型

词向量的出现减少了模型对于特征工程的依赖,但由此产生了未登录词问题和形态学信息缺失问题。尽管作为字符级表示模型的bilstm和cnn均能通过模型学习,捕获单词的结构信息,弥补了信息缺失的问题,解决了未登录词问题。尽管bilstm能捕获单词的词缀信息,但无法明确指出哪些字符构成字符表示;尽管cnn捕获了单词的n-gram信息,但无法动态地表示n-gram中各个字符的贡献。

为了更好的编码单词的形态学特征,本发明提出一种基于attention机制的细粒度字符级词表示模型finger。finger采用attention机制找到适合任务的字符级词表示,该过程可以理解为形态学信息编码过程,即引入待学习的形态学信息参数,针对词形信息与字符信息的关联性进行建模,通过训练赋予与任务相关的字符以较高的权重,而降低其它无关字符的权重。在避免人工提取词缀信息的同时,捕获了单词内全局的、非线性的形态学信息。该模型将bilstm对于词形特征的定性表示和cnn的静态表示转变为全局动态的定量刻画。

如图2所示,首先引入一个形态学信息矩阵finu表示形态学特征类别数,mk表示第k类形态学信息特征向量;同时,采用公式(3)计算相关性得分向量gk,通过双线性操作(bilinearoperation)来捕获形态学信息mk与输入字符序列矩阵c之间的关联信息:

gk=mktuc(3)

其中,u是待训练权值矩阵;

随后,根据公式(4)来处理相关性得分向量gk,以获得该类形态学信息的attention权重向量αk:

其中gk,j,αk,j分别表示形态学信息mk与输入的第j个字符间的相关性得分和对应权重;

接着,利用公式(5)将attention权重向量αk和输入字符序列向量c相乘来表示形态学上强调的字符表示:

然后,根据公式(6),通过一个非线性变换来表示第i类形态学特征对应的字符表示:

其中,非线性激活函数f为双曲正切函数;

最后,构成单词wn的字符级向量

第二步,编码阶段

循环神经网络是一种时间序列模型,具有保持历史信息的能力,理论上能根据长距离特征来推测当前输出,但在实际中,rnn因为梯度消失和梯度爆炸而无法学习到历史信息。为了解决长距离依赖问题,hochreiter等人设计了一种lstm单元来替换原来rnn的内部实现,该单元采用了门机制来控制信息的传递,同时引入记忆单元,保证历史信息的更替。结果显示,lstm能很好地解决长距离依赖问题。本发明中采用的lstm实现如下:

it=σ(wxixt+whiht-1+wcict-1+bi)(7)

ct=(1-it)⊙ct-1+it⊙tanh(wxcxt+whcht-1+bc)(8)

ot=σ(wxoxt+whoht-1+wcoct+bo)(9)

ht=ot⊙tanh(ct)(10)

其中,w为层间的权重矩阵,b为偏置向量,σ为按位sigmoid函数,i,o和c分别对应输入门、输出门和记忆单元;⊙表示按位乘法;

为了充分考虑序列中的上下文信息,本发明选择bilstm进行上下文信息编码;bilstm由两个独立的lstm构成,其中一个lstm在某一时刻t沿着正向时序获得上文信息另一个lstm沿着逆向时序获得下文信息将每个时刻上的两个lstm的隐藏层向量连接起来,形成bilstm在该时刻的输出ht表示当前时刻t的上下文信息;

第三步,解码阶段

通常在预测阶段采用softmax分类器解决多分类问题,但softmax分类器在序列标注问题中没有考虑到标签之间的依存关系。例如,在iobes标注方式下,标注器若能正确学得模型,那么i-per的后继标签不能为b-org或i-loc等错误标签,可能的正确标注应该为i-per或e-per。

鉴于上述情况,本发明采用collobert提出的句级对数似然函数,也就是crf层。该方法考虑标签序列的全局信息,具体细节如下:

假定引入转移得分矩阵a,矩阵元素ai,j表示标签i转移到标签j的转移得分,令y0,yn+1为句中的起始标签和终止标签,标签种类为k,则设句子长度为n,则输出层的得分矩阵为矩阵元素pi,j表示第i个词在第j个标签下的输出得分;

给定输入句子x=(x1,x2,...,xn),输出标签序列y=(y1,y2,...yn),则该标签序列的总得分为

对所有可能的序列路径进行归一化,产生关于输出序列y的概率分布:

在训练过程中,最大化关于正确标签序列y*的对数概率:

从上式可知:采用句级似然函数的目的是鼓励模型生成正确的标签序列。在解码阶段,预测总得分最高的序列作为最优序列,即:

在预测阶段,本发明采用维特比算法来求解最优序列。

本发明的有益效果:以序列标注任务中经典的实体识别任务为例,由于引入finger模型,整个模型对于单词的边界判断有了很大提升,表明finger作为字符级模型的有效性;而在实验过程中对于实体内各单词的首字母均呈现较高权重,这和我们对于命名实体特征的认知保持高度一致,表明本发明设计的finger模型不同于bilstm和cnn,该模型通过attention机制,展现了良好的可解释能力,能定量表示词内各字符对于字符级词表示的贡献程度,所呈现的词表示对于ner系统的实体识别能力有较大的提升。

附图说明

图1是finger-bilstm-crf模型结构。

图2是finger结构。

具体实施方式

所论述的具体实施例仅用于说明本发明的实现方式,而不限制本发明的范围。以下结合技术方案和附图详细说明本发明的实施例。

为了更为精确的表示单词的词形信息,本发明设计了一种基于attention机制的细粒度词表示模型finger,同时,通过联合finger和bilstm-crf模型进行序列标注任务,取得了理想的结果。

1.表示阶段

在表示阶段,给定由任意长的句子,通过公式(1)-(6)分别表示对应单词的词向量表示和字符向量表示,并通过拼接,连接单词序列的词向量和字符向量。

2.编码阶段

在编码阶段,bilstm将接收步骤1中单词序列表示作为输入,通过公式(7)-(10)编码每个单词的上下文信息。

3.解码阶段

在解码阶段,crf将接收来自bilstm的上下文信息,通过公式(11)-(14)解码出整个输入序列的最优解序列。

目前,本发明在命名实体识别任务conll2003语料上取得了91.09%的结果,在词性标注语料wallstreetjournal上取得了97.36%的结果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1