CN110222349B - 一种深度动态上下文词语表示的方法及计算机 - Google Patents
一种深度动态上下文词语表示的方法及计算机 Download PDFInfo
- Publication number
- CN110222349B CN110222349B CN201910511211.4A CN201910511211A CN110222349B CN 110222349 B CN110222349 B CN 110222349B CN 201910511211 A CN201910511211 A CN 201910511211A CN 110222349 B CN110222349 B CN 110222349B
- Authority
- CN
- China
- Prior art keywords
- word
- layer
- model
- context
- representation
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/42—Data-driven translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本发明属于计算机词语表示技术领域,公开了一种深度动态上下文词语表示的模型及方法,所述深度动态上下文词语表示的模型为带层注意力机制的多层双向Transformer编码器堆叠成的遮蔽语言模型;是多层神经网络,网络每一层从不同的角度捕获输入语句中每个单词的上下文信息;然后通过一个层注意力机制给予网络每一层不同的权重;最终根据权重把不同的词语表示综合起来形成词语的上下文表示。使用该模型生成的词语表示在公开数据集上进行了逻辑推理(MultiNLI)、命名实体识别(CoNLL2003)和阅读理解任务(SQuAD)三项任务,比现有模型分别提升了2.0%、0.47%和2.96%。
Description
技术领域
本发明属于计算机词语表示技术领域,尤其涉及一种深度动态上下文词语表示的模型及方法、计算机。
背景技术
目前,最接近的现有技术:神经网络语言模型。单词作为连续向量的表示有着悠久的历史。一种非常流行的神经网络语言模型NNLM(Neural Network Language Model)利用线性投影层和非线性的隐藏层的前馈神经网络联合学习词向量表示和统计语言模型。由于该模型的参数太多,虽然原理简单,但是难以训练和实际应用。CBOW、Skip-Gram、FastText和Glove模型。CBOW、Skip-Gram、FastText和GloVe等模型,其中CBOW和Skip-Gram都属于著名的word2vector框架下的模型,都是使用浅层的神经网络语言网络训练而来,然后取隐藏层作为固定的词向量矩阵。FastText相对于原始的word2vec向量最主要的提升是它引入了n元字符(n-gram)。GloVe是一个基于全局词频统计的词表征模型,弥补了word2vector没有考虑词语全局共现信息的不足,实验证明GloVe模型生成的词向量在许多场景下的效果更好。但是,word2vec模型和GloVe模型都过于简单,都受限于所使用的浅层模型(一般为3层)的表征能力。
基于机器翻译模型的词语表示模型MT-LSTM使用Encoder-Decoder框架对机器翻译语料库进行预训练,并抽取模型的Embedding层和Encoder层。然后设计一个基于新任务的模型,并将训练好的Embedding层和Encoder层的输出作为这个新任务模型的输入,最终在新的任务场景下进行训练。但是这种机器翻译模型需要大量的监督数据,同时Encoder-Decoder结构限制了模型捕捉某些语义信息。深度语言模型通常优于简单的浅层神经网络模型。例如,基于神经网络的语言模型显著优于N-gram模型、word2vec类模型和GloVe词嵌入模型。其中一个有趣的架构是在ELMo中提出的,在这个架构中,使用多层的BiLSTM(Bi-directional Long Short-Term Memory)的内部状态的学习函数产生词语表示。但它将预先训练词嵌入作为固定参数处理,限制了它的实用性。如今大量的在基于深度学习的NLP***往往都要首先将文本输入转换成向量化的词语表示,即词嵌入向量,然后再进行下一步处理。研究者们提出了大量的词嵌入方法将词语和句子编码成稠密的定长向量,从而大大地提升神经网络处理文本数据的能力,目前最常用的词嵌入方法包括word2vec、FastText和GloVe等。研究表明,这些词嵌入方法可以显著改进和简化许多文本处理应用程序。
现有技术基于浅层神经网络语言模型,比如CBOW、Skip-Gram、FastText和GloVe等模型。这类模型是目前最常使用的模型,也是本技术主要对比和改进的模型。由于使用浅层的神经网络语言模型训练而来,然后取隐藏层作为固定的词向量矩阵。模型都过于简单,都受限于所使用的浅层模型(一般为3层)的表征能力。导致表征能力差、使用固定向量表示词语。现有技术基于机器翻译模型的词语表示模型,比如MT-LSTM,由于使用Encoder-Decoder框架对机器翻译语料库进行预训练,并抽取模型的Embedding层和Encoder层。然后设计一个基于新任务的模型,并将训练好的Embedding层和Encoder层的输出作为这个新任务模型的输入,最终在新的任务场景下进行训练。但是这种机器翻译模型需要大量的监督数据,同时Encoder-Decoder结构限制了模型捕捉某些语义信息;导致需要大量的监督数据。现有技术基于深度NNLM的词语表示模型,比如ELMo;由于模型利用多层BiLSTM(Bi-directionalLong Short-Term Memory)的内部状态产生词向量。但ELMo受限于BiLSTM的串行计算机制和特征提取能力;导致BiLSTM串行计算,速度慢;BiLSTM提取能力弱。
然而,当前常用的词语嵌入技术没有上下文和动态的概念,将词语视为固定的原子单位,因为是用词汇表中的索引或者预先训练好的词嵌入矩阵中的固定值来表示词语。由于当前常用的词语嵌入技术没有上下文和动态的概念,将词语视为固定的原子单位。即常用的词语嵌入技术没有考虑上下文的概念,没有对多义词进行建模,这种简单的固定词语的嵌入方法限制了它在许多任务种的效果(例如,在“植物是靠它的根从土壤中吸收水分”和“他说的话有很大水分”两句话中,“水分”一词的含义不同。如果使用预先训练好的词向量,这两句话中的“水分”一词都只能使用同一个词向量来表示),无法对多义词进行建模;。因为在情感分析、文本分类、语音识别、机器翻译和推理等复杂的自然语言处理任务中都需要包含上下文意义的动态词语表示,即同一个词语在不同的上下文语境下有着不同的表示向量。例如:在“植物是靠它的根从土壤中吸收水分”和“他说的话有很大水分”两句话中,“水分”一词的含义不同。如果使用预先训练好的词向量,这两句话中的“水分”一词都只能使用同一个词向量来表示。
综上所述,现有技术存在的问题是:当前常用的词语嵌入技术没有上下文和动态的概念,将词语视为固定的原子单位,限制了在许多任务种的效果。
解决上述技术问题的难度:由于当前常用的词语嵌入技术没有上下文和动态的概念,将词语视为固定的原子单位。无法用改良的办法修补前常用的词语嵌入技术。只能从新建模具有上下文和动态的概念词语表示,同时还要考虑到模型生成词语表示在多种任务中的效果好、生成词语表示的效率高和模型所需的资源小,所以难度较大。
解决上述技术问题的意义:该词语表示技术提升了现有词语表示的效果,可以有效地解决一词多义问题。
发明内容
针对现有技术存在的问题,本发明提供了一种深度动态上下文词语表示的模型及方法、计算机。
本发明是这样实现的,一种深度动态上下文词语表示的模型,所述深度动态上下文词语表示的模型为带层注意力机制的多层双向Transformer编码器堆叠成的遮蔽语言模型;是多层神经网络,网络每一层从不同的角度捕获输入语句中每个单词的上下文信息;然后通过一个层注意力机制给予网络每一层不同的权重;最终根据权重把不同层次的词语表示综合起来形成词语的上下文表示。
所述深度动态上下文词语表示的模型表达式:
其中:各层Transformer赋予不同权重α1,α2,...αT,CoDyWor词语表示;hj和aj分别是第j层Transformer编码器的输出向量和对应的权重,β是一个缩放参数,α和β都由神经网络的随机梯度下降算法自动调整,α是由Softmax层保证满足概率分布。
本发明的另一目的在于提供一种使用所述深度动态上下文词语表示的模型的深度动态上下文词语表示的方法,所述深度动态上下文词语表示的方法包括以下步骤:
第一步,单词序列输入模型;
第二步,单词序列通过多层Transformer编码器提取出单词序列的语法和语义等信息,接着通过层注意力机制赋予每一层不同的权重,把各层提取出的信息融合起来;
第三步,输出每个单词的上下文词语表示序列,对于每个词汇,一个L层DyCoWor模型含有L个不同的Transformer输出表示。
进一步,所述深度动态上下文词语表示的方法对于每个词汇wk,一个L层DyCoWor模型含有L个不同的Transformer输出表示,如下式所示:
Transformerk={hkj|j=1,...L};
DyCoWor直接用最后一层Transformer的输出作为词语的上下文词语表示,即DyCoWork=hkl;使用层注意力机制,给予每一层不同的关注;使用一个与任务task的有关的缩放参数βtask和一组关于每一层Transformer输出状态相关的权重参数hkj,DyCoWor词语表示的计算公式如下式所示:
在式中,atask和βtask都由神经网络的随机梯度下降算法自动调整;α是由Softmax层(含归一化指数函数Softmax)保证满足概率分布。加入β参数主要调整模型生成的词语表示向量的范数到合适的大小,便于模型训练。
Transformer编码器首先将输入复制三份,用{Q,K,V}三个不同的符号表示,通过对键的查询,计算出对不同键应该给予不同的关注程度;然后把键对应的值取出来并且根据计算出的权重把“值”相加起来形成输出;
Transformer多头缩放点乘注意力机制计算过程说明:查询q、键k值v的维度都是dk,首先计算q和k的点乘结果,然后把结果除以接着softmax函数把结果转换成概率值,最后用概率值点乘值v得到了缩放点乘注意力运算输出;把多个查询q放在一起变成矩阵Q,让注意力函数同时作用于多个查询;同样也把键k和对应的值v分别放在矩阵K和V中,使用下式计算经过注意力作用后的矩阵输出:
本发明的另一目的在于提供一种应用所述深度动态上下文词语表示的方法的计算机程序。
本发明的另一目的在于提供一种实现所述深度动态上下文词语表示的方法的信息数据处理终端。
本发明的另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述深度动态上下文词语表示的方法。
综上所述,本发明的优点及积极效果为:本发明的基于深度上下文的动态词语表示模型,该模型摒弃了目前主流词语表示模型CBOW、Skip-Gram、FastText和GloVe使用固定向量作为词语表示的方法,增加了上下文动态的概念,生成的词语表示可以解决一词多义问题。本发明的深度动态上下文词语表示模型,该模型是一个多层神经网络,网络每一层从不同的角度捕获输入语句中每个单词的上下文信息(语法信息和语义信息等);然后通过一个层注意力机制给予网络每一层不同的权重;最终根据权重把不同层次的词语表示综合起来形成词语的上下文表示。模型首先在无标注数据进行预先训练;然后再应用到各种具体的任务中。使用该模型生成的词语表示在公开数据集上进行了逻辑推理(MultiNLI)、命名实体识别(CoNLL2003)和阅读理解任务(SQuAD)三项任务,比现有模型分别提升了。
本发明提出深度动态上下文词语表示模型结构DyCoWor,该模型是一种遮蔽语言模型,该模型由多层具有上下文编码能力的Transformer编码器构成。这与ELMo的研究形成了对比,ELMo使用了使用多层的BiLSTM。DyCoWor消除了许多特定于任务的高度工程化的模型结构的需求,优于许多特定于任务的结构的模型。DyCoWor在3项自然语言处理任务提提升了性能指标。在消融实验中,进一步分析了模型层注意力机制和神经网络层数与模型生成的词语表示质量的关系。本发明的代码和预先训练的模型已经发布到GitHub,以便更广泛的应用。
本发明应用了ELMo中由语言模型神经网络内部状态生成词嵌入的思想,扩展原有架构,将其模型中BiLSTM编码器替换为可以并行计算和具有上下文编码能力的Transformer编码器,并引入多层注意力机制,融合神经网络不同层次的词语表示信息,生成具有上下文意义的词语向量。在实验部分将详细对比本发明提出的DyCoWor(Deepdynamic Contextualized word representation)与流行的Glove、CoVe和ELMo词嵌入方法效果。经过预先训练的词嵌入被认为是现代NLP(natural language processing)***不可分割的一部分,词嵌入提供了比从零开始学习明显更优的结果。
附图说明
图1是本发明实施例提供的深度动态上下文词语表示的方法流程图。
图2是本发明实施例提供的遮蔽语言模型示意图。
图3是本发明实施例提供的深度动态上下文词语表示模型结构示意图。
图4是本发明实施例提供的多头点乘注意力机制示意图。
图5是本发明实施例提供的与流行的词嵌入方法比较示意图。
图6是本发明实施例提供的Transformer大小的影响示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
目前主流词语表示技术没有上下文和动态的概念,用固定的向量作为词语的表示,无法解决一词多义问题,直接影响了计算机进一步对自然语言的理解。本发明的深度动态上下文词语表示模型是一个多层深度神经网络;模型的每一层从不同角度捕获输入语句每个单词的上下文的信息(语法信息和语义信息等),然后通过一个层注意力机制给予神经网络每一层不同的权重,把不同层次的语义信息综合起来最终形成词语的向量化表示。模型满足以下实践标准:1)使用单一的模型结构和训练方法;2)模型输出的词语表示在逻辑推理、命名实体识别和阅读理解等多个自然语言处理领域都有效果;3)模型不需要人工特征工程。
下面结合附图对本发明的应用原理作详细的描述。
本发明实施例提供的深度动态上下文词语表示的模型带层注意力机制的多层双向Transformer编码器堆叠成的遮蔽语言模型;该模型是一个多层神经网络,网络每一层从不同的角度捕获输入语句中每个单词的上下文信息(语法信息和语义信息等);然后通过一个层注意力机制给予网络每一层不同的权重;最终根据权重把不同层次的词语表示综合起来形成词语的上下文表示。
所述深度动态上下文词语表示的模型表达式:
其中:各层Transformer赋予不同权重α1,α2,...αT,CoDyWor词语表示;hj和aj分别是第j层Transformer编码器的输出向量和对应的权重,β是一个缩放参数,α和β都由神经网络的随机梯度下降算法自动调整,α是由Softmax层保证满足概率分布。
如图1所示,本发明实施例提供的深度动态上下文词语表示的方法包括以下步骤:
S101:单词序列输入模型;
S102:单词序列通过多层Transformer编码器提取出单词序列的语法和语义等信息,接着通过层注意力机制赋予每一层不同的权重,把各层提取出的信息融合起来;
S103:输出每个单词的上下文词语表示序列,对于每个词汇,一个L层DyCoWor模型含有L个不同的Transformer输出表示。
下面结合附图对本发明的应用原理作进一步的描述。
1深度动态上下文词语表示框架
1.1整体框架
深度动态上下文词语表示模型的训练过程分为两步。第一步,在大型文本语料库预先训练遮蔽语言模型。第二步,根据特定任务需要,改变遮蔽语言模型的输出层,然后在特定的任务上微调模型。经过微调后的模型输出就是该任务上的动态词语表示。
1.2语言模型
把一段自然语言文本看作是一段离散的时间序列。假设一段长度为T的文本序列context中的词依次为w1,w2,...,wT,语言模型可以计算该序列的概率,如公式(1)所示:
语言模型的优化目标是最大化语料库C={context1,context2,...,contextn}中所有文本序列出现的概率,如公式(2)所示:
为了便于计算,一般使用语言模型目标对数似然函数形式,如公式(3)所示:
1.3遮蔽语言模型
图3是遮蔽语言模型与一般语言模型的对比图,图3左侧为一般的语言模型,右侧为遮蔽语言模型。对于文本“the cat catches mice”,一般语言模型输入为“the catcatches”,然后通过LSTM从左至右捕捉词语信息,最终目标为预测输入语句的下一个词语“mice”;遮蔽语言模型输入为“the<MASK>catches”,然后通过Transformer从左至右和从右至左同时捕捉词语信息,最终目标为预测被<MASK>遮住的词语“cat”。
通常情况下,神经语言模型的基础结构是LSTM或者BiLSTM单元,但是循环神经网络需要递归计算,存在“长距离依赖”和信息丢失问题。更为严重的是循环神经网络是依照输入文本的顺序,依次处理输入,本质上是单方向抽取文本信息,即使BiLSTM也只是把从两个方向抽取的信息连接起来,并没有同时考虑两个方向的输入信息(上下文信息)。而深度双向模型可以同时获取输入文本的上下文信息,比从左到右模型或从左到右模型和从右到左模型的浅层连接更强大,所以本发明使用可以同时捕捉两个方向信息的Transformer编码器来抽取文本信息进而计算语料库所有文本出现的条件概率。标准条件语言模型只能按照从左到右或从右到左的方向进行训练,因为从同时从双向看(同时看到所有单词)将允许每个单词在多层上下文中间接地看到自己,而语言模型的目标就是根据看到的部分单词预测未看到的单词,从而使模型不能正常训练,所以本发明使用了遮蔽语言模型的策略来避免这一问题。遮蔽语言模型的策略就是人为主动把输入语句中的部分单词遮住,然后再输入模型,然后让模型预测被遮住的是哪些单词,类似完形填空。这样即使模型同时接受两个方向的输入,也可以达到训练语言模型的效果。
遮蔽语言模型的目标是最大化语料库中所有文本出现概率的对数似然函数,如公式(4)所示:
在公式(4)中,Mask是一个由文本context中被遮住的词语组成的集合{wq,wr,...,wu},遮住Mask集合中的词语然后根据剩下的词语尽可能地预测出被遮住的词语{wq,wr,...,wu}。
在遮蔽语言模型中,输入的词语序列context首先被表示成由词语序列组成的向量形式c=[word1,word2,...,wordt],然后遮住输入词语序列context中一些词语得到被遮住部分词语的词语序列u=[word1,<MASK>,...,wordt],接着通过多层Transformer编码器提取输入词语序列的信息,最后再使用归一化指数函数计算P(wk|contexti-Maski)值。整个计算过程如公式(5)所示:
公式(5)中,MASK(c)表示对词语序列c中一些词语的遮蔽操作,W和M表示权重矩阵,Transformer表示Transformer编码器对输入词语序列进行信息抽取,L表示Transformer编码器的层数。Softmax是归一化指数函数,把输入转换成概率分布。
1.4模型结构
图4是深度动态上下文词语表示Deep dynamic Contextualized wordrepresentation(DyCoWor)的模型结构图。该模型是一种由带层注意力机制的多层双向Transformer编码器堆叠成的遮蔽语言模型。单词序列输入模型,然后单词序列通过多层Transformer编码器提取出单词序列的语法和语义等信息,接着通过层注意力机制赋予每一层不同的权重α1,α2,...αT,把各层提取出的信息融合起来,最终输出每个单词的上下文词语表示序列。对于每个词汇wk,一个L层DyCoWor模型含有L个不同的Transformer输出表示,如公式(6)所示:
Transformerk={hkj|j=1,...L}\*MERGEFORMAT(6)
在最简单的情况下,CoDyWor直接用最后一层Transformer的输出作为词语的上下文词语表示,即CoDyWor(word)=hL。由于不同层次的Transformer可以捕获不同类型的信息,可以使用多层注意力机制,为各层Transformer赋予不同权重α1,α2,…αT。CoDyWor词语表示的计算公式如下:
在公式(7)中,atask和βtask都由神经网络的随机梯度下降算法自动调整。atask是由softmax层(含归一化指数函数softmax)保证满足概率分布。加入βtask参数主要为了模型输出向量与具体任务的向量分布拉平到同一个分布水平,便于模型训练。
1.5 Transformer编码器
图5是Transformer编码器的多头缩放点乘注意力机制计算示意图,其中MatMul表示矩阵乘法运算,Softmax表示归一化指数运算,Scale表示缩放向量运算。Transformer编码器将输入复制三份,并且用Q,K和V三个符号来表示,对应着“查询”、“键”和“值”三个概念。首先通过对“键”的“查询”,计算出对不同“键”应该给予不同的权重,然后把“键”对应的“值”取出来并且根据权重把“值”相加起来形成输出,重复这个过程的次数称为Transformer头的个数。查询q、键k和值v都是d维。Transformer多头缩放点乘注意力机制计算时:1)计算q和k的点乘结果,然后把结果除以常数2)softmax函数把结果转换成概率值;3)用概率值点乘值v得到缩放点乘注意力运算输出。为了提高运算效率,把多个查询q放在一起变成矩阵Q,然后让注意力函数同时作用于多个查询。同样也把键k和对应的值v分别放在矩阵K和V中。可以像公式8一样计算经过注意力作用后的矩阵输出:
下面结合实验对本发明的应用效果作详细的描述。
实验1:
1、实验方法:首先,按照训练遮蔽语言模型的方式预先训练本发明提出的深度动态词语表示模型。然后使用该模型在逻辑推理、命名实体识别和问答三个领域内进行实验,因为这三个领域不仅是自然语言处理研究的重要领域,而且在现实世界中有重要的应用。最后本发明将对比DyCoWor方法与目前最流行的Glove、CoVe和ELMo词嵌入方法。
在所有任务中的超参数设置是最大输入句子长是128,训练批次大小是32,学习率是2e-5,训练周期是6。
2、逻辑推理
为了评估DyCoWor在逻辑推理任务上的表现,在公开的多领域逻辑推理数据MultiNLI上进行了实验。MultiNLI是逻辑推理任务中最大语料库之一,它涵盖十种不同领域的书面和口头英语数据共计43万多条数据,其中类型包括演讲、信件、小说和政府报告等。MultiNLI用MultiNLI-A表示训练集和测试集都的数据来自相同的领域,用MultiNLI-B表示训练集和测试集的数据来自不同的领域。所以它能评估复杂的语言模型的跨领域推理的适应能力。
数据集名称 | 任务名称 | 下载地址 |
MultiNLI | 逻辑推理 | <u>https://www.nyu.edu/projects/bowman/multinli/</u> |
CoNLL03 | 命名实体识别 | <u>https://www.clips.uantwerpen.be/conll2003/ner/</u> |
SQuAD | 阅读理解 | <u>https://rajpurkar.github.io/SQuAD-explorer/</u> |
MultiNLI数据集的要求是,给定一对(前提,假设)句子,目的是预测“假设”句子相对于“前提”句子是蕴含的、矛盾的还是中立的关系。例如:假设“一个女人唱歌。”与前提“一个棕色头发的女人,对着麦克风唱歌。”是蕴含关系。
对于MultiNLI数据集,使用准确率来评估模型效果,准确率越高模型效果越好。实验结果如表1所示,这里用A代表MultiNLI-A,B代表MultiNLI-B,本发明提出的模型DyCoWor优于使用Glove词表示的增强序列推理模型ESIM11.8%(在A测试集上)和11.6%(B测试集上),同时优于最近OpenAI GPT的方法Transformer decoder的2.0%(在A测试集上)和2.3%(在B测试集上)。同时,还比较了与流行词嵌入CoVe、ELMo的效果,本发明提出的深度动态上下文词表示DyCoWor在逻辑推理数据MultiNLI上的效果明显更优。
表1 MultiNLI数据集结果
3、命名实体识别
为了评估DyCoWor在命名实体识别任务上的表现,在著名的公开命名实体识别数据集CoNLL2003上进行了实验。CoNLL2003数据集的任务是,识别出句子中的四种命名实体:人物、地点、组织和杂项(不属于前三种的实体)。例如,把“皮特刚刚从海南旅游回来。”这个句子标注为“人物O O地点O O O”,把其中不是实体的词语都标注为了“O”。
对于CoNLL2003数据集,使用F1值来评估模型效果,F1值越高模型效果越好。实验结果如表2所示,本发明提出的模型DyCoWor比现有最优模型ELMo绝对效果提升0.47%,相对效果提升6.0%。与ELMo方法相比,ELMo只使用了双向的LSTM状态的输出加权求和作为句子的状态表示,而本发明使用了具有上下文编码能力的Transformer编码器。
表2CoNLL03数据集结果
4、阅读理解
为了评估DyCoWor在阅读理解任务上的表现,在著名的公开斯坦福阅读理解数据集SQuAD上进行了实验。SQuAD数据集是由10万条“问题-答案”对组成的集合。给出一个问题和一段来自***包含这个问题答案的段落,SQuAD的任务是在这个段落中找出问题答案所在的区间。例如:问题“谁是本赛季最有价值球员?”,段落“四分卫卡姆·牛顿被评为美国国家橄榄球联盟最有价值球员(MVP)”,答案“凯姆·牛顿”。
对于SQuAD数据集,使用F1值来评估模型效果,F1值越高模型效果越好。如表3所示,本发明提出的模型DyCoWor比现有最佳模型ELMo效果提高了2.96%。同时优于使用Glove词嵌入并且模拟了机器阅读理解中的多步推理的随机应答网络SAN。
表3SQuAD数据集结果
5、对比DyCoWor与Glove、CoVe和ELMo词嵌入方法
在图4中总结了本发明提出的DyCoWor与目前流行的词嵌入在多项任务上的效果对比。CoDyWor在逻辑推理(MultiNLI数据集)、命名实体识别(CoNLL03数据集)、阅读理解(SQuAD数据集)任务中都明显优于目前流行的词嵌入方法。其中Glove词嵌入是目前应用最为广泛的词嵌入技术之一,GloVe词嵌入是利用词语共现矩阵而生成的词语嵌入,但只能得到比较弱的“共现意义”上的词向量,并且没有考虑词语位置信息。CoVe嵌入是利用神经机器翻译模型生成的词语嵌入,但是这种机器翻译模型需要大量的监督数据,同时机器翻译模型结构限制了模型捕捉某些语义信息。ELMo是最近提出的利用多层BiLSTM内部状态的产生词语嵌入向量,能捕捉一定的语法和语义信息,但由于BiLSTM的结构限制,模型的层数和捕捉能力都不够。本发明提出DyCoWor能克服以上模型的缺点,生成深度动态上下文词语表示。
实验2
对DyCoWor的层注意力机制和Transformer编码器进行了消融实验,以便更好地理解每个部分的相对重要性。
1、层注意力机制的影响
本发明在SQuAD数据集上进行实验来分析DyCoWor模型层注意力机制中层数(Transformer个数)、注意力层的位置、正则化参数βtask带来的影响。表4中第一列Layers表示把层注意力机制作用于不同的层,第二列T1表示使用正则化参数βtask,第三列T2表示不使用正则化参数。ahead表示取多层神经网络第一层的输入,behind表示取神经网络最后一层的输出。实验结果如表4所示,可以发现的规律有三点:1)随着层数的增加,模型效果明显提升;2)层数相同的情况下,使用高层的效果好,特别是在层数少的时候差异明显;3)使用正则化参数βtask可以提升模型效果0.19%。
表4 MultiNLI层注意力机制的影响
2、Transformer大小的影响
在MultiNLI数据集上进行实验,分析CoDyWor模型采用不同Transformer层数和Transformer中自注意力头的个数对推理准确率的影响。实验结果如图1所示,可以发现在一定范围内增加Transformer的层数或者增加Transformer中自注意力头的个数都可以提升模型的推理准确率。
本发明提出了一个高效的、结构简单的、能广泛应用于自然语言处理任务的深度动态上下文词语表示模型DyCoWor。模型生成的词语表示能用于逻辑推理、命名实体识别和阅读理解等自然语言处理任务,具有一定通用性。模型DyCoWor产生的词语表示显著的优于目前流行的词语表示。总之,本发明已经证明了深度动态上下文词语表示对自然语言处理的好处,并希望本发明的结果将促进自然语言处理新发展。
在本发明实施例中,图6是提供的Transformer大小的影响示意图。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行***,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种深度动态上下文词语表示的方法,其特征在于,所述深度动态上下文词语表示的方法利用深度动态上下文词语表示的模型进行词语的上下文表示;所述深度动态上下文词语表示的模型为带层注意力机制的多层双向Transformer编码器堆叠成的遮蔽语言模型;具体地,所述深度动态上下文词语表示的模型是一个多层神经网络,网络每一层从不同的角度捕获输入语句中每个单词的上下文信息;然后通过一个层注意力机制给予网络每一层不同的权重;最终根据权重把不同层次的词语表示综合起来形成词语的上下文表示;
所述深度动态上下文词语表示的模型表达式:
其中:各层Transformer赋予不同权重α1,α2,...αT,CoDyWor词语表示;hj和aj分别是第j层Transformer编码器的输出向量和对应的权重,β是一个缩放参数,α和β都由神经网络的随机梯度下降算法自动调整,α是由Softmax层保证满足概率分布。
2.如权利要求1所述的深度动态上下文词语表示的方法,其特征在于,所述深度动态上下文词语表示的方法包括以下步骤:
第一步,单词序列输入模型;
第二步,单词序列通过多层Transformer编码器提取出单词序列的语法和语义信息,接着通过层注意力机制赋予每一层不同的权重,把各层提取出的信息融合起来;
第三步,输出每个单词的上下文词语表示序列,对于每个词汇,一个L层DyCoWor模型含有L个不同的Transformer输出表示。
3.如权利要求2所述的深度动态上下文词语表示的方法,其特征在于,所述深度动态上下文词语表示的方法对于每个词汇wk,一个L层DyCoWor模型含有L个不同的Transformer输出表示,如下式所示:
Transformerk={hkj|j=1,...L};
DyCoWor直接用最后一层Transformer的输出作为词语的上下文词语表示,即DyCoWork=hkL;使用层注意力机制,给予每一层不同的关注;使用一个与任务task的有关的缩放参数βtask和一组关于每一层Transformer输出状态相关的权重参数hkj,DyCoWor词语表示的计算公式如下式所示:
在式中,atask和βtask都由神经网络的随机梯度下降算法自动调整;atask是由softmax层含归一化指数函数softmax满足概率分布;加入βtask参数为了模型输出向量与具体任务的向量分布拉平到同一个分布水平。
4.如权利要求2所述的深度动态上下文词语表示的方法,其特征在于,所述深度动态上下文词语表示的方法的Transformer编码器MatMul表示矩阵乘法运算,softmax表示归一化指数运算,Scale表示除以常数的除法运算;
Transformer编码器首先将输入复制三份,用{Q,K,V}三个不同的符号表示,通过对键的查询,计算出对不同键应该给予不同的关注程度;然后把键对应的值取出来并且根据计算出的权重把“值”相加起来形成输出;
Transformer多头缩放点乘注意力机制计算过程说明:查询q、键k值v的维度都是dk,首先计算q和k的点乘结果,然后把结果除以接着softmax函数把结果转换成概率值,最后用概率值点乘值v得到了缩放点乘注意力运算输出;把多个查询q放在一起变成矩阵Q,让注意力函数同时作用于多个查询;同样也把键k和对应的值v分别放在矩阵K和V中,使用下式计算经过注意力作用后的矩阵输出:
5.一种实现权利要求1~4任意一项所述深度动态上下文词语表示的方法的信息数据处理终端。
6.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1~4任意一项所述深度动态上下文词语表示的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910511211.4A CN110222349B (zh) | 2019-06-13 | 2019-06-13 | 一种深度动态上下文词语表示的方法及计算机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910511211.4A CN110222349B (zh) | 2019-06-13 | 2019-06-13 | 一种深度动态上下文词语表示的方法及计算机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110222349A CN110222349A (zh) | 2019-09-10 |
CN110222349B true CN110222349B (zh) | 2020-05-19 |
Family
ID=67816948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910511211.4A Active CN110222349B (zh) | 2019-06-13 | 2019-06-13 | 一种深度动态上下文词语表示的方法及计算机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110222349B (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110866098B (zh) * | 2019-10-29 | 2022-10-28 | 平安科技(深圳)有限公司 | 基于transformer和lstm的机器阅读方法、装置及可读存储介质 |
CN110807316B (zh) * | 2019-10-30 | 2023-08-15 | 安阳师范学院 | 一种汉语选词填空方法 |
CN110765269B (zh) * | 2019-10-30 | 2023-04-28 | 华南理工大学 | 基于动态词向量和层级神经网络的文档级情感分类方法 |
CN111104789B (zh) * | 2019-11-22 | 2023-12-29 | 华中师范大学 | 文本评分方法、装置和*** |
CN111079938B (zh) * | 2019-11-28 | 2020-11-03 | 百度在线网络技术(北京)有限公司 | 问答阅读理解模型获取方法、装置、电子设备及存储介质 |
CN111160050A (zh) * | 2019-12-20 | 2020-05-15 | 沈阳雅译网络技术有限公司 | 一种基于上下文记忆网络的篇章级神经机器翻译方法 |
CN111309908B (zh) * | 2020-02-12 | 2023-08-25 | 支付宝(杭州)信息技术有限公司 | 文本数据处理方法及装置 |
CN111368993B (zh) * | 2020-02-12 | 2023-03-31 | 华为技术有限公司 | 一种数据处理方法及相关设备 |
CN111368079B (zh) * | 2020-02-28 | 2024-06-25 | 腾讯科技(深圳)有限公司 | 一种文本分类的方法、模型训练的方法、装置及存储介质 |
CN110990555B (zh) * | 2020-03-05 | 2020-06-12 | 中邮消费金融有限公司 | 端到端检索式对话方法与***及计算机设备 |
CN111563146B (zh) * | 2020-04-02 | 2023-05-23 | 华南理工大学 | 一种基于推理的难度可控问题生成方法 |
CN111666373A (zh) * | 2020-05-07 | 2020-09-15 | 华东师范大学 | 一种基于Transformer的中文新闻分类方法 |
CN111597306B (zh) * | 2020-05-18 | 2021-12-07 | 腾讯科技(深圳)有限公司 | 语句识别方法和装置、存储介质及电子设备 |
CN111858932A (zh) * | 2020-07-10 | 2020-10-30 | 暨南大学 | 基于Transformer的多重特征中英文情感分类方法及*** |
CN111914097A (zh) * | 2020-07-13 | 2020-11-10 | 吉林大学 | 基于注意力机制和多层级特征融合的实体抽取方法与装置 |
CN112434525A (zh) * | 2020-11-24 | 2021-03-02 | 平安科技(深圳)有限公司 | 模型推理加速方法、装置、计算机设备及存储介质 |
CN112380872B (zh) * | 2020-11-27 | 2023-11-24 | 深圳市慧择时代科技有限公司 | 一种目标实体的情感倾向确定方法及装置 |
CN112651225B (zh) * | 2020-12-29 | 2022-06-14 | 昆明理工大学 | 一种基于多阶段最大化注意力的多项选择机器阅读理解的方法 |
CN113032563B (zh) * | 2021-03-22 | 2023-07-14 | 山西三友和智慧信息技术股份有限公司 | 一种基于人工遮掩关键词的正则化文本分类微调方法 |
CN113095040A (zh) * | 2021-04-16 | 2021-07-09 | 支付宝(杭州)信息技术有限公司 | 一种编码网络的训练方法、文本编码方法和*** |
CN113254575B (zh) * | 2021-04-23 | 2022-07-22 | 中国科学院信息工程研究所 | 一种基于多步证据推理的机器阅读理解方法与*** |
CN113010662B (zh) * | 2021-04-23 | 2022-09-27 | 中国科学院深圳先进技术研究院 | 一种层次化会话式机器阅读理解***和方法 |
CN113282707B (zh) * | 2021-05-31 | 2024-01-26 | 平安国际智慧城市科技股份有限公司 | 基于Transformer模型的数据预测方法、装置、服务器及存储介质 |
CN113780350B (zh) * | 2021-08-10 | 2023-12-19 | 上海电力大学 | 一种基于ViLBERT和BiLSTM的图像描述方法 |
CN114595687B (zh) * | 2021-12-20 | 2024-04-19 | 昆明理工大学 | 基于BiLSTM的老挝语文本正则化方法 |
CN114758676A (zh) * | 2022-04-18 | 2022-07-15 | 哈尔滨理工大学 | 一种基于深度残差收缩网络的多模态情感识别方法 |
CN114707518B (zh) * | 2022-06-08 | 2022-08-16 | 四川大学 | 面向语义片段的目标情感分析方法、装置、设备及介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10417554B2 (en) * | 2014-05-22 | 2019-09-17 | Lee J. Scheffler | Methods and systems for neural and cognitive processing |
US10049307B2 (en) * | 2016-04-04 | 2018-08-14 | International Business Machines Corporation | Visual object recognition |
CN109726745B (zh) * | 2018-12-19 | 2020-10-09 | 北京理工大学 | 一种融入描述知识的基于目标的情感分类方法 |
CN109710760A (zh) * | 2018-12-20 | 2019-05-03 | 泰康保险集团股份有限公司 | 短文本的聚类方法、装置、介质及电子设备 |
CN109783825B (zh) * | 2019-01-07 | 2020-04-28 | 四川大学 | 一种基于神经网络的古文翻译方法 |
CN109902145B (zh) * | 2019-01-18 | 2021-04-20 | 中国科学院信息工程研究所 | 一种基于注意力机制的实体关系联合抽取方法和*** |
-
2019
- 2019-06-13 CN CN201910511211.4A patent/CN110222349B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110222349A (zh) | 2019-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110222349B (zh) | 一种深度动态上下文词语表示的方法及计算机 | |
JP7072585B2 (ja) | 文脈固有の単語ベクトルを用いた自然言語処理 | |
CN113987209B (zh) | 基于知识指导前缀微调的自然语言处理方法、装置、计算设备和存储介质 | |
CN107590138B (zh) | 一种基于词性注意力机制的神经机器翻译方法 | |
Dos Santos et al. | Deep convolutional neural networks for sentiment analysis of short texts | |
Chelba et al. | One billion word benchmark for measuring progress in statistical language modeling | |
CN110020438A (zh) | 基于序列识别的企业或组织中文名称实体消歧方法和装置 | |
CN113743099B (zh) | 基于自注意力机制方面术语提取***、方法、介质、终端 | |
Nagaraj et al. | Kannada to English Machine Translation Using Deep Neural Network. | |
Sartakhti et al. | Persian language model based on BiLSTM model on COVID-19 corpus | |
CN112818110B (zh) | 文本过滤方法、设备及计算机存储介质 | |
CN107679225A (zh) | 一种基于关键词的回复生成方法 | |
Zhang et al. | Named entity recognition method in health preserving field based on BERT | |
De Cao et al. | Sparse interventions in language models with differentiable masking | |
CN109766523A (zh) | 词性标注方法和标注*** | |
CN113239666A (zh) | 一种文本相似度计算方法及*** | |
CN114254645A (zh) | 一种人工智能辅助写作*** | |
Li et al. | Language model pre-training method in machine translation based on named entity recognition | |
CN109117471A (zh) | 一种词语相关度的计算方法及终端 | |
Wang et al. | Classification-based RNN machine translation using GRUs | |
CN111813907A (zh) | 一种自然语言问答技术中的问句意图识别方法 | |
Sakti et al. | Incremental sentence compression using LSTM recurrent networks | |
Chen et al. | Audio captioning with meshed-memory transformer | |
Wang et al. | Predicting the Chinese poetry prosodic based on a developed BERT model | |
Chakkarwar et al. | A Review on BERT and Its Implementation in Various NLP Tasks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221118 Address after: Room 501, 502, 503, 504, Building 6, Building 6, No. 200, Tianfu 5th Street, High-tech Zone, Chengdu 610000, Sichuan Province Patentee after: CHENGDU JIZHISHENGHUO TECHNOLOGY Co.,Ltd. Address before: 610225, No. 24, Section 1, Xuefu Road, Southwest Economic Development Zone, Chengdu, Sichuan Patentee before: CHENGDU University OF INFORMATION TECHNOLOGY |
|
TR01 | Transfer of patent right |