一种基于内部语义层次结构的词嵌入表示方法转让专利
申请号 : CN201710256916.7
文献号 : CN107025219B
文献日 : 2019-07-26
发明人 : 苏劲松 , 杨静 , 阮志伟 , 张祥文
申请人 : 厦门大学
摘要 :
一种基于内部语义层次结构的词嵌入表示方法,涉及基于深度学习的自然语言处理。使用开源工具获得输入文本中每个词语的内部层次结构:该结构类似于传统短语树结构,不同的是以字符为基本单位,并且标注每个字符在该结构中的层次位置和类别信息;根据层次结构不变性原则对上述结构进行序列化操作,得到保持词内部的层次位置、类别信息的文本序列;将双向GRU网络作用于上述序列进行嵌入表示编码,然后将前向和后向GRU网络得到的两个嵌入表示向量进行拼接,最后通过非线性变换,ReLU操作,得到词语的最终嵌入表示向量。框架结构清晰简洁、方法直观,有助于学习内涵更为丰富的词嵌入表示,更好地为后续的自然语言处理任务服务。
权利要求 :
1.一种基于内部语义层次结构的词嵌入表示方法,其特征在于包括以下步骤:
1)使用开源工具获得输入文本中每个词语的内部层次结构:该结构类似于传统短语树结构,不同的是以字符为基本单位,并且标注每个字符在该结构中的层次位置和类别信息;
2)根据层次结构不变性原则对上述结构进行序列化操作,得到保持词内部的层次位置、类别信息的文本序列;
3)将双向门控循环单元GRU网络作用于上述序列进行嵌入表示编码,然后将前向和后向门控循环单元GRU网络得到的两个嵌入表示向量进行拼接,最后通过非线性变换,得到词语的最终嵌入表示向量;
4)对树形结构进行序列化操作,具体方法如下:
利用开源工具获得字符级别树形式的词内部层次结构,抽取序列化的词结构信息,采用深度优先遍历得到序列化结果,从序列化结果中抽取出各个词的序列信息,所述深度优先遍历的过程如下:假设由开源工具所得到的树形结构中,各类别信息所在的节点构成当前树的节点集合V={v1,v2,...,vk},k为节点个数,选定树的根节点作为起始节点,先对其左子树进行遍历,再对其右子树进行遍历,对于子树遍历过程中遇到的节点,若其不是叶子节点,则继续对其左子树和右子树进行遍历,如此递归进行,直至遍历至树中的最后一个叶子节点为止,至此,得到该树形结构的序列化结果;
序列化操作遵循词内部字符的层次结构不变性,即序列化后的结果中仍保持字符在树中左右分支顺序、类别信息的不变。
2.如权利要求1所述一种基于内部语义层次结构的词嵌入表示方法,其特征在于所述非线性变换采用修正线性单元操作。
说明书 :
一种基于内部语义层次结构的词嵌入表示方法
技术领域
[0001] 本发明涉及基于深度学习的自然语言处理,尤其是涉及一种基于内部语义层次结构的词嵌入表示方法。
背景技术
[0002] 自然语言处理作为计算机科学和语言学的交叉分支,是眼下十分热门的学科。它主要探讨处理和运用自然语言使其能与计算机系统进行有效通信的各种理论和方法。近年来,基于深度学习的自然语言处理研究已经成为该学科发展的主要趋势。
[0003] 词嵌入表示是指利用分布式向量来表示词的语义信息。通过将自然语言中的词汇映射成低维、稠密的向量,使词处于同一个向量空间中,由此引入“距离”的概念对词汇间的语义相似性进行衡量,有助于获得语义信息更为充分表达的向量表示。目前各种基于深度学习的自然语言处理多以词嵌入表示为基础。
[0004] 传统的词嵌入表示学习方法主要分为两大类:一类方法以词为基本单位,将词嵌入表示向量作为面向其它任务的神经网络的副产物,例如:Word2vec[1][2][3],语言模型[4]等等。这类方法的不足在于有限的词表使得神经网络模型无法很好地处理未登陆词;一类方法将字符为基本单位,将词包含的字符序列化,然后使用神经网络来学习词的双向嵌入表示向量。这类方法通过字符来构建词,解决了未登陆词的处理问题。其在英语等形态学信息较为丰富的语言上取得了很好的效果,然而并不完全适用于中文等语言。近年来,针对中文词汇嵌入表示的学习,许多研究者根据中文的特点提出了一系列方法。例如:利用中文偏旁部首[5][6][7],利用中文拼音[8]等等。然而,这些方法都忽视了由字符构成中文词汇内部蕴涵的以字符为基本单元的丰富语义信息。因此,当前对词嵌入表示学习的方法仍存在不足,如何获得更好的词嵌入表示仍十分具有研究价值。
[0005] 参考文献:
[0006] [1]Tomas Mikolov,Kai Chen,Greg Corrado,Jeffrey Dean.2013.Efficient Estimation of Word Representations in Vector Space.In Proceedings of the 2013Conference on International Conference on Learning Representations.[0007] [2]Tomas Mikolov,Ilya Sutskever,Kai Chen,Greg Corrado,Jeffrey
Dean.2013.Distributed Representations of Words and Phrases and their
Compositionality.In Proceedings of the 2013Conference on Neural Information Processing Systems.
Dean.2013.Distributed Representations of Words and Phrases and their
Compositionality.In Proceedings of the 2013Conference on Neural Information Processing Systems.
[0008] [3]Mikolov,Tomas and Yih,Wen-tau and Zweig,Geoffrey.2013.Linguistic Regularities in Continuous Space Word Representations.In Proceedings of the 2013Conference on the North American Chapter of the Association for
Computational Linguistics:Human Language Technologies.
Computational Linguistics:Human Language Technologies.
[0009] [4]Yoshua Bengio,Réjean Ducharme,Pascal Vincent,Christian Jauvin.2003.A neural probabilistic language model.Journal of Machine Learning Research,2003,3(6):1137-1155.
[0010] [5]Shi,Xinlei and Zhai,Junjie and Yang,Xudong and Xie,Zehua and Liu,Chao.2015.Radical Embedding:Delving Deeper to Chinese Radicals.In Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing(Volume 2:Short Papers).
[0011] [6]Sun,Yaming and Lin,Lei and Tang,Duyu and Yang,Nan and Ji,Zhenzhou and Wang,Xiaolong.2014.Radical-Enhanced Chinese Character Embedding.Journal of Computer Science,2014,8835:279-286.
[0012] [7]Li,Yanran and Li,Wenjie and Sun,Fei and Li,Sujian.2015.Component-Enhanced Chinese Character Embeddings.In Proceedings of the 2015Conference on Empirical Methods in Natural Language Processing
[0013] [8]Zhang,Xiang and Zhao,Junbo and LeCun,Yann.2015.Character-level convolutional networks for text classification.In Proceedings of the 2015Conference on Neural Information Processing Systems.
[0014] [9]Zhang,Meishan and Zhang,Yue and Che,Wanxiang and Liu,Ting.2013.Chinese Parsing Exploiting Characters.In Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics(Volume 1:Long Papers).
发明内容
[0015] 本发明的目的在于提供一种基于内部语义层次结构的词嵌入表示方法。
[0016] 本发明包括以下步骤:
[0017] 1)使用开源工具获得输入文本中每个词语的内部层次结构:该结构类似于传统短语树(Constituency Tree)结构,不同的是以字符为基本单位,并且标注每个字符在该结构中的层次位置和类别信息;
[0018] 2)根据层次结构不变性原则对上述结构进行序列化操作,得到保持词内部的层次位置、类别信息的文本序列;
[0019] 3)将双向GRU网络作用于上述序列进行嵌入表示编码,然后将前向和后向GRU网络得到的两个嵌入表示向量进行拼接,最后通过非线性变换,ReLU操作,得到词语的最终嵌入表示向量。
[0020] 本发明利用中文词汇内部的语义层次结构来建模学习由细粒度的字符信息组合成更高层次词表示的过程,使得模型既能克服无法学习未登录词的嵌入表示的缺陷,也能够充分利用词汇内部语义信息学习到更为准确的词嵌入表示向量,以进一步提升其他以词嵌入表示为基础的自然语言处理任务的效果,例如情感分类、机器翻译及问答系统等。
[0021] 本发明的具体思想如下:
[0022] 中文作为基于字符的语言,其词汇具有内部结构。在这种内部结构中,字符作为更细粒度的信息,其与词相互作用的方式同词与短语间相互作用的方式相类似。本发明将中文词汇的内部结构用于提供更为丰富的字符级别信息,进而改善词嵌入表示的学习。通过开源工具获得词的字符级别树结构后,通过序列化操作将词内部字符的顺序信息保留在序列中。在循环地将序列输送到GRU网络中进行建模时,采用双向GRU网络来同时编码历史信息和未来信息,进行词嵌入表示的学习。
[0023] 本发明以学习更好的词嵌入表示为目标,针对传统方法中缺乏考虑词汇内部语义信息的缺陷,提出了一种基于内部语义层次结构的词嵌入表示学习方法。本发明框架结构清晰简洁、方法直观,有助于学习内涵更为丰富的词嵌入表示,更好地为后续的自然语言处理任务服务。
附图说明
[0024] 图1为本发明中字符级别树结构及其序列化结果举例。在图1中,IP为字符级别短语树的根节点,NP为名词短语标记,VP为动词短语标记,NR为专有名词标记,NN为常用名词标记,VV为动词标记,ADJP为形容词短语标记,JJ为名词修饰标记。“-t”表示与其连接的标记为当前词的词性标签,“-r”表示当前词中中心字符的方向为右,“-c”表示当前词中字符属于并列关系,无中心偏向。“-b”表示当前字符在词中为起始字符,“-i”表示当前字符在词中为非起始字符。
[0025] 图2为本发明中模型框架示例图。在图2中,其中hf为前向GRU所得到的词的隐层表示,hb为后向GRU所得到的词的隐层表示,最终二者拼接得到最终的嵌入表示。
[0026] 图3为本发明中使用的神经网络语言模型框架示意图。在图3中,其中vec(wt|1),I,vec(wt|n+1)为句子中当前词wt的n-1个上下文词的嵌入表示,由本发明公开的词嵌入表示方法得到;tanh函数为非线性函数变换,用于模型中隐藏层信息的计算;softmax函数用于计算由输入层提供的上下文词集合预测当前词的概率。
具体实施方式
[0027] 本发明具体实施方式如下:
[0028] 第一步,根据词内部字符的层次结构不变性对树形结构进行序列化操作;
[0029] 第二步,将上述序列作为双向GRU网络的输入进行嵌入表示编码;
[0030] 第三步,以最大化语言模型概率为目标进行参数训练。
[0031] 下面介绍关键步骤的实现细节:
[0032] 1.对树形结构进行序列化操作
[0033] 本发明中,利用开源工具[9]来获得字符级别树形式的词内部层次结构。基于此树形结构,可以抽取序列化的词结构信息。
[0034] 图1给出了通过开源工具获得的字符级别树结构。其中句子“中国建筑业呈现新格局”的字符级别树结构,包含词语“中国”、“建筑业”、“呈现”、“新”和“格局”;对上述树结构采用“深度优先遍历”得到的序列化结果如下:
[0035]
[0036] 其中,IP为字符级别短语树的根节点,NP为名词短语标记,VP为动词短语标记,NR为专有名词标记,NN为常用名词标记,VV为动词标记,ADJP为形容词短语标记,JJ为名词修饰标记。“-t”表示与其连接的标记为当前词的词性标签,“-r”表示当前词中中心字符的方向为右,“-c”表示当前词中字符属于并列关系,无中心偏向。“-b”表示当前字符在词中为起始字符,“-i”表示当前字符在词中为非起始字符。
[0037] 从上述序列化结果中抽取出的各个词的序列信息如下:
[0038] (NR(NR-b中)(NR-i国))
[0039] (NN(NN-c(NN-b建)(NN-i筑))(NN-i业))
[0040] (VV(VV-b呈)(VV-i现))
[0041] (JJ(JJ-b新))
[0042] (NN(NN-b格)(NN-i局))
[0043] 其中,IP为字符级别短语树的根节点,NP为名词短语标记,VP为动词短语标记,NR为专有名词标记,NN为常用名词标记,VV为动词标记,ADJP为形容词短语标记,JJ为名词修饰标记。“-t”表示与其连接的标记为当前词的词性标签,“-r”表示当前词中中心字符的方向为右,“-c”表示当前词中字符属于并列关系,无中心偏向。“-b”表示当前字符在词中为起始字符,“-i”表示当前字符在词中为非起始字符。
[0044] 深度优先遍历的过程如下所述:
[0045] 假设由开源工具所得到的树形结构中,各类别信息(如图1中的“NN-t”标记)所在的节点构成当前树的节点集合V={v1,v2,...,vk},k为节点个数。选定树的根节点(即图1中的节点IP)作为起始节点,先对其左子树进行遍历,再对其右子树进行遍历。对于子树遍历过程中遇到的节点,若其不是叶子节点(以图1为例,叶子节点即为句子中的各字符所在的节点,例如“中”所在的节点),则继续对其左右子树进行遍历。如此递归进行,直至遍历至树中的最后一个叶子节点为止。至此,得到了该树形结构的序列化结果。
[0046] 上述序列化操作遵循词内部字符的层次结构不变形,即序列化后的结果中仍保持字符在树中例如左右分支顺序、类别标记等信息的不变。
[0047] 如所示序列化结果,通过对序列中“-t”标记的识别(即当前词的词性标签,亦是当前词的层次结构子树的根节点),得到各词对应的序列信息。值得注意的是,在最终结果中省略了分支中直连结构涉及的标记信息,因为认为这些信息已经蕴含在其上层标记中。
[0048] 融入词内部层次结构信息的词嵌入表示
[0049] 假设经过序列化操作后,词汇的内部层次结构(包含字符和层次结构各种标签)构成的序列为x={x1,x2,x3,...,xm},其中m为序列长度。将其作为双向GRU网络的输入,在时刻t时,对应的隐层状态ht的计算公式如下:
[0050] zt=σ(Wzxt+Uzht-1+bz)
[0051] rt=σ(Wrxt+Urht-1+br)
[0052]
[0053]
[0054] 其中,zt是t时刻更新门向量,rt是t时刻重置门向量,ht为t时刻的隐层状态向量,各W,U分别为参数矩阵,各b为偏置项。⊙为向量的逐元素乘操作。
[0055] 用 表示前向GRU网络建模文本得到的隐层表示,同样地,用 表示后向GRU网络建模文本得到的隐层表示,它们分别是网络中最后一个单元的隐层表示。将它们拼接后得到当前词的嵌入表示,计算公式如下:
[0056]
[0057] 其中“[]”为向量拼接操作,函数f为非线性变换函数,例如ReLU操作。
[0058] 2.模型的目标函数和训练方法
[0059] 本发明使用神经网络语言模型进行参数训练,其目标函数如下所示:
[0060]
[0061] 详细解释如下:
[0062] 对于语料库C,对于其中的句子 其中ls为当前句子s中词的个数。要计算其作为一个自然语言句子的概率,需要计算
[0063]
[0064] 即以句子中当前词wt的前个词wt-1,wt-2,...,wt-n+1作为其上下文,对当前词出现的概率进行预测,n为指定的用作上下文词的个数,θ为模型的参数集合。
[0065] 图2给出本发明中模型框架示例图。
[0066] 最终句中每个词预测概率的乘积即为该句子作为自然语言句子的概率。
[0067] 图3给出了神经网络语言模型的框架,模型的输出即为上式P的结果。
[0068] 经过上述模型的训练,本发明公开的这种嵌入表示涵盖了字符构成词的层次结构中所蕴涵的丰富内部层次语义信息,包括字符构成词的顺序信息,从而得到更好的词嵌入表示,可更好地服务于后续自然语言处理任务。