中文词向量表达——基于拼音特征统计的词向量生成方法
发表时间 2018-11-26 16:15 来源 本站原创

  国网浙江省电力有限公司杭州供电公司:祝春捷、夏霖、潘坚跃、陈超

  摘要:

  中文文本不同于拉丁文书写及语言习惯,中文词结构在数量上包含较少的字符级信息,但却蕴含了大量的语义特征。本文针对中文词特性,通过构造拼音特征组pinyinn-grams和另一重要的语言参数tf-idf作为组合特征,提出了一种基于拼音特征统计的词向量生成方法py2vec。通过对比不同细粒度字符特征的算法,发现利用基于拼音字符级的信息去挖掘特征能够有效的提高中文词向量学习的水平。在wordsim-240和wordsim-297数据集的语义相似度实验中验证了py2vec的有效性,同时通过类比推理任务发现,py2vec能够更为有效的获取词语之间的语义关系。基于拼音特征表达结构所获取的中文词语更高细粒度的字符级特征,同时在书写体系下更接近于拉丁文本,对于多种词向量表达方法能存在较好的适应拓展性,进而在提升中文词向量表达性能方法提供新的思路。

  关键词:拼音特征组;词频统计;词向量表达

  Abstract:Chinese is different from the Latin scriptin the writing system.In Chinese, each word typically consists of less characters than English, where each character conveys fruitful semantic information. Considering characteristics ofChinese, we propose py2vec, a novel method, based on pinyin features statistics, which consists ofpinyin-level information pinyin n-grams and another vital parameter, tf-idf.By comparing with state-of-the-artapproaches of different fine-grained character features, it is found that using the pinyin-level to mine features can be more effectively. Through extensive experiments,We verify the validity of py2vec in Word Similarity Task based on wordsim-240 and wordsim-297. About Word Analogy Task, py2vec can dig more semantic information between related words. The architecture of pinyin-level doescapture certain level of fine-grained character and semanticinformation of Chinese, which could be closer to the Latin text in the writing system, also applied toother methods and provides new inspirationof Chinese

  word embeddings.

  KeyWords:pinyinn-grams;tf-idf;word embeddings

  0引言

  近年来,自然语言处理技术应用到了各个领域,词表示技[1]作为自然语言处理领域中最基础的研究得到了广泛的关注。词表示模型是对文本数据的一种表示能力,在特征工程或机器学习领域,都处于底层预备工作,它的好坏对模型的应用性能将产生很大的影响。这种数据表示方法在一定程度上能够自主无监督的从海量数据中直接挖掘到有用的语义信息。

  词袋模[2]曾是最广泛使用的表示方法,但由于受到数据稀疏问题的困扰,无法保留文本间的词序信息。因此随着特征工程的不断进步,基于词法、句法特征的模型被相继提出,基于规则的模型逐渐更新为机器学习模型。1954年,Harris等[3]提出分布式假说为词的分布式表达提供了理论依据,即关注词和上下文信息。上下文通常使用传统高维的词袋模型表示,当信息过于复杂时将产生维数灾难,而神经网络模型[4]能够通过词映射向量,以向量距离反映词之间语义相似度,从而降维。

  针对中文词向量表达面临的问题,需要自动的从大规模无标注的文本数据中学习得到相应的文本表示,而根据语言表达习惯,中文文本在形态学表达方面主要由笔划信息构成c,在生成表达方面主要由拼音字符构成。目前一方面,大部分的词向量表达模型均是专注于拉丁文表达,直接用于中文词向量表达将不能与中文输入习惯完全适应;另一方面,中文文本数据源的规范化和结构化程度随着信息数据增长,将不断退[6],错别字等问题的出现将在一定程度上对现有的词向量表达模型效果造成影响。在前人研究成果的基础上,本文提出一种基于拼音特征统计的词向量生成模型,通过构造拼音特征组增加对中文错别字的鲁棒性,同时引入语言模型另一重要特征词[7]作为权重参数。在语义相似[8]任务上验证了该方法的有效性,引入了拼音特征组的表达明显包含了更多的语义信息。

  1词表示生成相关工作

  词表示的理论基础是Harris等[3]在1954年提出的分布假说,即“上下文相似的词,其语义也相似”。随着研究的不断深入,基于矩阵的分布表示方[9]也被提出,这种方法生成的词表示统称为distributionalrepresentation。2000年,Xu等人[10]首次使用神经网络来求解二元语言模型。2003年,Bengio等[11]正式提出神经网络语言模型(NNLM),在学习语言模型中首次得到了实数低维词向量表示。

  近年来,词表示方法逐渐区别于传统的one-hot词编码方[12],都是通过低维分布式词向量去捕捉文本的语义信息。目前现有的方法主要关注基于上下文信息来学习词向量的表达,2013年,Mikolov等[13]在NNLM[11]和SENNA[14]的研究基础上,提出了word2vec模型,其包含了CBOW(ContinuousBagof-Words)和Skip-gram模型,以更简单高效的方法获取词向量,提供了神经网络在自然语言处理领域的新思路。2014年,Pennington等[15]提出了基于全局信息统计和上下文关系预测的GloVe模型。这些算法都是将整个词语作为最小语义单元,而后的一些研究逐渐整合字符级信息,从而更好的理解语义。2014年,Bian等[16]利用文本形态学、句法和语义信息来提高词向量表达能力。2015年,Chen等[17]提出的对于中文词向量,将字特征于词特征联合训练的CWE模型。2016年,Bojanowski等[18]针对罕见词样本问题,提出利用词缀组合的形态特征提升学习效果。2017年,Xin等[19]提取的对中文词偏旁部首等高细粒度字件来学习词向量的表达等。

  上述大多数方法是直接将关注拉丁文字符结构的词表示模型直接用于中文词向量表达,并不完全直接适用于中文书写体系。中文语言中每个词语所包含的字,相对于拉丁文中每个单词中包含的字母数量较少,但其中每个字蕴含了更丰富的语义信息。因此对中文词语或字挖掘细粒度更高的语义单元也是持续研究的方向,例如上述的字词联合训练和基于字件的表示模型。然后,本文考虑到中文的发展和书写特征,其最小语义单元的组成可以分为两种类型:语义结构和语音表达。语义结构即为中文汉字书写特征,从象形文字演变成为简体汉字,字件的变形和笔划的简略等诸多因素造成了字件或字与词语在语义相关性上逐渐弱。然而,拼音表达在中文语义传承中相对稳定,另一方面,拼音结构相同于拉丁文结构,一定程度上在词向量表达方法泛化能力上具有优势。

  2研究框架

  本文提出一种基于拼音特征统计的词向量生成方法,通过构造拼音特征组pinyin n-grams,对全文本词语生成拼音组字典,并统计其对应的拼音和中文表达的词频逆文档概率作为权重参数,将词语与拼音特征向量组合通过CBOW[13]网络结构,以随机梯度下降[20]方法更新权向量获得的最终目标词向量表达。在本文中主要提供三种表示模型,包括wp2vec基于中文语素和拼音表达联合统计模型、rpy2vec基于拼音特征组的词向量模型和py2vec基于拼音特征统计的词向量模型。

  2.1基于中文语素与拼音表达的词向量生成框架

  对于给定长度语句,其中为第K个词语。通过一个固定大小的窗口其中上下文词语来预测中心目标词,以(2m+1)为窗口大小,将中心目标词与的前m个和后m个词语及其对应的拼音作one-hot编码,生成中文词语向量组,其中为词语编码后大小为 的中文词语向量,同理将词语转化的拼音表达,经过one-hot编码得向量组

  此外由于在自然语言处理领域,词频和词向量均是重要的语言特征,因此将词频作为中文词语和拼音表达的统计权重,即对拼音表示在训练集语料和全文档中统计词频和逆文档概率,即有,

  对每个中文词语得到表达向量为,

  其中i仅表示为窗口中心位于语素位置。



图1基于中文语素与拼音表达的词向量模型框架

  基于中文语素与拼音表达的词向量模型框架采用CBOW结构,其网络结构如图1所示,包含输入层、输出层和一个隐含层的神经网络,其中输入层和输出层神经元节点数量等于词汇表大小T。其输入特征即为,输出层采用softmax函数[21]激活,用于预测中心目标词。隐含层将输入层节点乘上输入权重矩阵得,

  之后隐含层经过输出权重矩阵得到则有输出层对进行softmax激活有,

  2.2拼音特征pinyinn-grams生成

  在2.1节中,本文对词语和拼音表达均通过one-hot编码随机生成向量,这种构造方法使得对于大部分中文文本来说与CBOW原理上一致,并没有挖掘拼音字符级特征信息。针对此问题,本文提出了一种基于拼音字符级特征pinyinn-grams表示的方法,其模型框架图如图2所示。以不同长度n(n可取3、4、5... )大小的窗口在一个词语拼音表示上滑动,构成局部拼音表示组。遍历全部语料的拼音表达即获得中文词语所共享的局部拼音表示字典S,其中S(x)表示语素x的局部拼音表示组



图2拼音字符级特征表达形式

  2.3损失函数与权参更新

  本文中也使用词语和上下文词之间的语义相似度作为衡量损失的特征。在大多数模型中,通常将一个词语作为一个语义单元,求其w与其上下文之一词c之间的相似性,即有,其中w和c分别对应词向量。本文中在2.2的基础上,对每一个pinyin n-gram的拼音特征随机生成T维特征向量,计算其与上下文之间余弦距离和值作为一个拼音特征组向量和上下文词之间的相似度,

  与2.1中介绍结构相同,在输出层通过softmax激活,得到对于中心词的预测条件概率为,

  因为文本词语数据庞大,直接求解条件概率分母难以计算,故使用负采样方法[22]计算,得损失函数,

  其中x和c分别是中心目标词和上下文词,σ是sigmoid函数,D是全部语料,S是窗口包含有词语的集合,是随机选的词语作为负样本,λ是负样本的个数,服从P分布的期望,P分布选择unigram[23]一元分词的分布,这种分布类似于统计词频,语素出现的次数越多的词语越容易获取。

  本文在训练词向量过程中采用随机梯度下降方法对损失函数进行优化。在学习词向量过程完成后,其输出的词向量表达即为目标中心词的词向量。

  3实验

  3.1实验设置

  本文为研究所提出的中文词向量表达方法在领域内应用的影响,使用了通用语料库和专业领域语料库。通用语料维基百科中文语料库,包含了27.5万篇中文文章,共计1.13亿中文词语,经排重后词典大小为28.9万个;专业领域采用电力运维采集日志语料,包含6.1万条记录信息,共计286.5万个中文词语,经排重后词典大小为5.8万。

  由于维基百科中文语料包含大量繁体中文,因此借助工具opencc将语料统一转化为简体中文。本文先对全部训练语料进行基于正则化提取,并根据预先设置的停用词表对语料文本进行正文提取,同时使用JIEBA对语料进行分词处理。对语料的拼音转化采用工具pypinying,考虑到中文输入过程中并通常不标记声调读音,在词语转为拼音表达时也丢弃声调信息,例如:使用“中文zhong wen”,而非“中文zho1ng we2n”。

  在本实验中,上下文窗口大小设置为5,为了优化运算速度,在训练过程中采用了负采样技术,设置采样大小为5,初始化学习率为0.05。在迭代次数的选择上,次数过少会造成模型训练不充分,参数尚未优化到最优解,此时词向量所包含的语义信息较少;次数过多,会造成模型过拟合,因此在训练过程中,本文中采用随机梯度下降更新权参矩阵,在损失函数值小于阈值时就会自动停止迭代,同时设置迭代次数上限为200。在词向量特征维度上,本实验统一将维度设定为200维,但实际中,词向量维度将对模型性能产生影响。

  3.2实验结果与分析

  本实验中衡量生成词向量模型的性能,使用两个任务作为评价指标,分别为:语义相似度和类比推理任务。此外对词向量维度对生成词向量所包含的语义信息的影响进行实验,使用语义相似度进行评价。

  语义相似度任务是判断两个词语之间是否相似,通过训练好的词向量表达来计算给定目标词语对多对应的词向量间的空间距离,后将此距离和人工标注主观评分进行相关性分析,其相关系数作为最终评价值。假设每个词语对为,对应词向量分别为,其对应的余弦距离为,

  记人工标注主观评分为,余弦距离于主观评分之间的pearson相关系数为,

  实验采用Wordsim-240和Wordsim-297[24]两个人工标注的数据集来进行测试,这两个数据集是由英文基准词翻译而来,剔除了其中一些难以翻译和不准确的词对。

  类比推理任务用来评估两个词语之间的逻辑相关性,是衡量词向量对于不同词语之间语义关系的理解程度。这个任务的主要形式为,

  通过三个词找到一个词,它的词向量表示最接近于确定目标词时认为模型正确,通过模型的正确率来评测模型好坏。实验中采用数据[24]包含1124组类比词组,分为国家和首都、城市和省份以及家族关系三类。

  本实验中选择所设计的3种基于拼音语素的词向量表示方法与较高水平的词向表示模型word2vec、GloVe和CWE进行语义相似度对比实验,上述所有模型均在从窗口大小为5、负采样大小为5及200维初始化条件下训练词向量。

  3.2.1语义相似度

  表1中结果展示了在不同数据集下各个对比方法的语义相似度任务实验结果。

  表1 wordsim-240和wordsim-297数据集的语义相似度结果

  skip-gram在语义相似度任务上的结果都不如CBOW,这是因为CBOW模型在学习目标词向量时同时参考了上下文多个词语信息。CWE的结果一般都优于CBOW和skip-gram模型,因此可以认为,细粒度更高的字符级特征在一定程度上能够提升词向量表达模型的性能,获取更多的语义信息。此外,我们观察到GloVe的结果优于skip-gram,较CBOW结果较差,主要是由于GloVe模型框架上与skip-gram相同,同此加入了词语在全预料中的统计特征。总体上来看,本文引入拼音特征的方法是能够有效的获取更多语义信息,wp2vec在CBOW的基础上直接对拼音编码词向量,对语料中所包含的错别字文本具有更好的稳定性,在wordsim-240数据集下表现出了更好的性能。rpy2vec通过构造pinyin n-grams特征组,获取相邻词语之间的语义相似损失函数,挖掘了更多的语义相关信息,在wordsim-240和wordsim-297数据集中均表现出了较好的结果。py2vec在rpy2vec结构基础上,加入了词频统计参量,在性能上也有一定的提升,这与GloVe和skip-gram间的对比结论相一致。

  本文中将拼音特征做为获取中文语义信息的关键,一方面认为拼音特征符合中文文本书写习惯,能够捕捉中文词的深度语义信息;另一方面,中文形态学文本的拼音表达能够将转化为近似拉丁文字的结构,使最小语义单元的字符信息在数量上和结构上包含了更多的语义信息。同时具有相同结构字符组可能会传递相似的语义,捕获这些信息也将可以进一步改善词向量表示的建模。从实验结果中可以看出,我们的方法可以确实能够更好地捕捉词间的语义相似度。这种拼音信息,加上在学习过程中使用的上下文信息和词频统计参量,使中文词表示方法得到了改进。

  3.2.2类比推理

  表2中结果展示了在数据集不同结构关系下各个对比方法的类比推理任务试验结果。

  表2类比推理任务结果

  在语义相似度任务中,skip-gram模型相比于CBOW性能略差,但在类比推理任务中,skip-gram能够更好的挖掘语义词语之间的关系,这是因为CBOW在训练时对于上下文信息的处理采用的时向量平均,生成的词向量包含的语义信息更泛化。与语义相似度任务结果相似,CWE用于类比推理,其准确率也较高,充分的说明了细粒度越高的语义单元,所包含的语义信息越多,对于词向量表达越准确。此外,本文基于拼音统计的词向量生成方法在数据集的三组关系中均得到了最好的结果。其中“国家—首都”关系推理准确率较低主要是因为数据集中的存在较多复杂国家名词,而本实验中在分词处理阶段没有针对词类国家名词构造相应字典,其分词结果本身存在一定的误差;而“家族关系”由于在语料库中出现频率较高,因此其训练的结果也更高,推理准确率也更高。以此验证了,语料越大,在类比推理任务中的表现越[13],语料越大模型的效果越好[15]

  3.2.3词向量维度对于实验结果的影响

  本文中除了对词向量的性能进行实验分析,也研究了词向量维度设置对词向量表达所带来的影响,在这个使用语义相似度作为衡量指标,数据集使用wordsim-240。图3中结果反映了rpy2vec获取语义信息能力随着维度变化的趋势。



图3语义相似度任务性能随词向量维度变化曲线

  向量维度越大,模型的效果越好。但由于维度过高会造成模型训练的时间复杂度过高,同时从随着维度增加,词向量表示模型性能增速逐渐放慢,故在本文中认为综合效率和性能,词向量维度在200时较优。

  4结语

  本文提出一种基于拼音统计的词向量生成方法,通过构造拼音特征组pinyin n-grams,对全文本词语生成拼音组字典,并统计其对应的拼音和中文表达的词频逆文档概率作为权重参数,将词语与拼音特征向量组合通过CBOW网络结构,以随机梯度下降方法更新权向量获得的最终目标词向量表达。

  我们在语义相似度和类比推理任务中分别验证了py2vec模型的有效性,均获得了较好的结果。通过分析实验结果发现,本文提出的方法对词向量表达的质量有较大的提升,主要在于(1)拼音特征表达结构能够获取中文词语更高细粒度的字符级特征,在一定程度上能够获取词语间更多的语义信息;(2)拼音特征符合中文文本书写或生成系统,能够捕捉中文词语的深度语义信息;(3)拼音表达相比于中文字件或偏旁部首,更接近于拉丁文字书写结构,更适应于在现有词向量表达方法上的优化。因此本文提出的方法能够更好的捕捉中文文本的语义信息,从而应用于自然语言处理的其它任务工作中。在后续工作中,我们将进一步研究利用拼音特征生成词向量方法的优化,从而提升词向量的质量,并探索对短语类文本的向量表达方式。

  参考文献

  [1] Salton G, Wong A, Yang C S. A Vector Space Model for Automatic Indexing[J] . Communications of the Acm, 1974, 18(11):613-620.

  [2] Zhang Y, Jin R, Zhou Z H. Understanding bag-of-words model: a statistical framework[J] . International Journal of Machine Learning and Cybernetics, 2010, 1(1-4):43-52.

  [3] Harris Z S. Distributional structure[J] . Word, 1981, 10(2-3):146-162.

  [4] Hinton G E, Salakhutdinov R R. Reducing the Dimensionality of Data with Neural Networks[J] . Science, 313.

  [5] Cao, S. and Lu,W. 2017. Improving word embeddings with convolutional feature learning and subword information. In

  AAAI. [6] Chen H, Liang J, Liu H. How Does Word Length Evolve in Written Chinese?[J] . PLoS ONE, 2015, 10(9):e0138567.

  [7] Wu H C, Luk R W P, Wong K F, et al. Interpreting TF-IDF term weights as making relevance decisions[J] . Acm Transactions on Information Systems, 2008, 26(3):55-59.

  [8] Bamler R, Mandt S . Dynamic Word Embeddings[J] . 2017.

  [9] Turian J P, Ratinov L A, Bengio Y . Word Representations: A Simple and General Method for Semi-Supervised Learning.[C] // Acl, Meeting of the Association for Computational Linguistics, July, Uppsala, Sweden. DBLP, 2010.

  [10] Xu W, Rudnicky A . Can artificial neural networks learn language models?[C] // Sixth International Conference on Spoken Language Processing, ICSLP 2000 / INTERSPEECH 2000, Beijing, China, October 16-20, 2000. 2000.

  [11] Choi W N, Wong Y W, Lee T, et al. Lexical tree decoding with a class-based language model for Chinese speech recognition.[J] . Proc.icslp, 2000, 193(3):813-849.

  [12] 宗成庆. 统计自然语言处理[M] . 清华大学出版社, 2013.

  [13] Mikolov T, Sutskever I, Chen K, et al. Distributed Representations of Words and Phrases and their Compositionality[J] . Advances in Neural Information Processing Systems, 2013, 26:3111-3119.

  [14] Collobert R, Weston J . A unified architecture for natural language processing[C] // International Conference on Machine Learning. ACM, 2008.

  [15] Pennington, J.; Socher, R.; and Manning, C. D. 2014. Glove: Global vectors for word representation. In EMNLP.

  [16] Bian, J.; Gao, B.; and Liu, T.-Y. 2014. Knowledge-powered deep learning for word embedding. In ECML-PKDD.

  [17] Chen, X.; Xu, L.; Liu, Z.; Sun, M.; and Luan, H. 2015. Joint learning of character and word embeddings. In IJCAI.

  [18] Bojanowski, P.; Grave, E.; Joulin, A.; and Mikolov, T. 2016. Enriching word vectors with subword information. arXiv preprint arXiv:1607.04606.

  [19] Xin, J. Y. X. J. H., and Song, Y. 2017. Joint embeddings of chinese words, characters, and fine-grained subcharacter components. EMNLP.

  [20] Paras. Stochastic Gradient Descent[J] . Optimization, 2014.

  [21] Kim Y, Jernite Y, Sontag D, et al. Character-Aware Neural Language Models[J] . Computer Science, 2015.

  [22] Gutmann, M. U. and Hyv¨arinen, A. 2012. Noise-contrastive estimation of unnormalized statistical models, with applications to natural image statistics. JMLR.

  [23] Tillmann C . A unigram orientation model for statistical machine translation[C] // Hlt-naacl: Short Papers. Association for Computational Linguistics, 2004.

  [24] 汪祥, 贾焰, 周斌, et al. 基于中文维基百科链接结构与分类体系的语义相关度计算[J] . 小型微型计算机系统, 2011, 32(11):2237-2242.