基金项目:国家重点研发计划(2017YFB1002103); 国家自然科学基金(61331011,61662077,61462083)
通信作者:hasan1479@xju.edu.cn
(新疆大学信息科学与工程学院,新疆多语种信息技术实验室,新疆 乌鲁木齐 830046)
(Xinjiang Laboratory of Multi-language Information Technology,College of Information Science and Engineering,Xinjiang University,Urumqi 830046,China)
DOI: 10.6043/j.issn.0438-0479.201811028
目前探究维吾尔语词向量表示的相关研究报道很少,在对其性能评价、实际使用等方面存在一些问题亟待解决.基于此,构建了维吾尔语版wordsim240和word analogy词向量评测数据集; 提出了新的单词语义相似度评测方法,并以命名实体识别任务作为实际任务验证其有效性; 同时分析了改进的类比推理评测方法鉴别词向量表示语义的能力.实验结果显示,提出及改进的方法均能有效应用于评测任务; 且在较小语料规模下,较低维度(64,128,256维)的词向量在各项评测任务上表现更好.
Currently,Uyghur word embedding has been rarely investigated,and some problems remain to be solved in the performance evaluation and practical application.This paper primarily constructs the vector evaluation data set of wordsim240 and word analogy in Uyghur,and proposes a new method of word semantic similarity evaluation whose validity is verified by name entity recognition task.The ability of identifying the semantic representation using the improved analogic reasoning method is analyzed.Experimental results indicate that the proposed and improved method can be applied to the evaluation tasks effectively.Under small-scale corpus,low-dimensional(64,128,256 dimension)word embedding performs satisfactorily.
早期对于单词的处理采用独热表示(one-hot representation),即将单词作为一个独立的符号表示,这种单词表示没有任何语义关联.Harris[1]在1954年提出了关于上下文的分布假说(distributional hypothesis),认为“上下文相似的词,其语义也相似”.基于分布假说,研究人员提出了一系列训练单词表示的模型,后续的词向量一般以一组低维(通常50~1 000维)、稠密的实数向量来表示单词.1992 年Brown等[2]提出了基于聚类的词向量表示模型,1998年Landauer等[3]提出了基于矩阵的词向量表示模型.同时期,基于人工标注的单词表示如WordNet[4]和知网Hownet[5-6]均能在一定程度上较好地表示单词语义,但其规模小,成本高.2003年,Bengio等[7]用神经网络训练语言模型,2010年Mikolov等[8]进一步提出用循环神经网络训练语言模型,词向量作为副产品可从完成训练的语言模型的权值矩阵中抽取得到.2013年Mikolov等[9-10]提出了当前主流的词向量训练模型:连续词袋(continuous bag of words,CBOW)和跳字(Skip-gram)模型,利用窗口化的上下文对词向量进行训练.2014年Pennington等[11]提出了基于词共现矩阵的Glove模型,利用全局信息训练词向量.还有一些学者在词向量模型上融合了更细粒度的特征(字符、单字)对其进行改进:Huang等[12]提出一词多义的训练方法,Chen等[13]在中文上提出加入字向量的字词联合训练方法.2016年来斯惟等[14-15]通过详细的对比实验比较了各模型在中文上的性能和质量,并提出训练意见以及order模型.同时期,户保田[16]提出了结合动名词性训练词向量的方法.
维吾尔语属于黏着性语种,词形变化丰富,通过词本身形式的变化表示语法关系,可利用不同词干和词缀的组合构成具有丰富语义与句法信息的词汇[17].但是鉴于维吾尔语的黏着性,目前探究维吾尔语词向量表示对其进行语言处理的研究报道很少.在维吾尔语的自然语言处理过程中,词向量表示对后续很多自然语言处理任务(如词性标注[18]和命名实体识别[19]等)具有较大影响.在这些工作中,主要通过更换参数组合(模型、维度、输出层方法等)训练得到词向量,将其作为初始输入应用于具体任务进行对比实验,以确定实验中效果较好的参数组合,但存在以下3个问题:1)如果具体任务模型较为复杂,更换参数组合带来的大量重复实验成本较大; 2)维吾尔语词向量的研究缺乏公开的词向量评测数据集,无法使用统一的评测数据有效地评价维吾尔语词向量质量; 3)受限于语料规模,汉英常用的两种评测方法在维吾尔语词向量上的评测结果缺乏区分度,无法有效鉴别不同参数组合下的维吾尔语词向量质量.
为解决上述3个问题,本文中使用CBOW、Skip-gram和Glove模型对维吾尔语词向量表示进行研究,分析这3种模型各自的原理,进而采用多种参数组合训练得到词向量,并进行评测实验.首先,通过人工翻译构建维吾尔语版本的词向量评测数据集wordsim240[20]和word analogy[13],缓解了评测数据缺失的问题.在汉语与维吾尔语翻译过程中,出现了单词一对多的情况,对这些单词数据进行过滤,最终所得维吾尔语版的数据集比汉语的数据集规模要小.然后,针对汉英评测方法在维吾尔语词向量质量评测上存在区分度不高、评测方法失效等问题,本文中提出了新的单词语义相似度评测方法,并改进语义类比推理的评测方法.同时,采用双向长短时记忆神经网络(BiLSTM)和条件随机场(CRF)结合模型BiLSTM+CRF的命名实体识别任务[21]作为实际任务,对词向量在具体任务上的表现进行分析,验证本文评测方法的有效性.最后,综合各项评测任务和命名实体任务的实验结果,提供了当前语料规模下较为理想的参数组合建议.本文将公开维吾尔语版本的词义相似度数据集、语义类比推理数据集,为后续维吾尔语词向量的模型改进、对比研究以及实际应用提供参考.
CBOW模型[9]网络结构相较于神经网络语言模型[8]少了一个隐藏层,包括输入层、投影层和输出层,如图1所示.其训练思想是通过上下文的词来预测当前词,并在迭代训练过程中不断优化词向量.给定一个词向量及其上下文词向量组成的序列S=(wi-n,wi-n+1,…,wi,…,wi+n-1,wi+n),其中心词向量为wi,上下文词集合c为距离中心词在n范围内的所有词(不包括中心词),语料库词表为V,语料数
据集为D,e(wi)为结构中词wi的权值矩阵.
将上下文词向量的平均值[9]作为模型输入(原模型为上下文词向量求和,目前多采用上下文词向量均值的方式),如式(1)所示:
x=1/(2n)∑wj∈cwj.(1)
经过矩阵计算与softmax函数转化,得到预测结果为目标词wi的概率值
P(wi|c)=(exp(e(wi)x))/(∑k∈Vexp(e(k)x)).(2)
将式(2)的值代入对数似然函数,并通过迭代优化目标函数,如式(3)所示:
max∑(wi,c)log P(wi|c).(3)
Skip-gram模型[9]的训练思想与CBOW相反,是通过目标词预测上下文单词,本文采用上下文单词预测目标词的方式对该模型进行描述,这两种描述是等价的[15].其模型结构如图(2)所示.
将上下文单词依次作为模型输入,经过矩阵计算和sigmod函数转化,最后优化目标词的词向量.模型预测目标词概率
P(wi|wj)=(exp(e(wi)wj))/(∑k∈Vexp(e(k)wj)),(wj∈c),(4)
则该模型的目标函数为
∑wj∈clog P(wi|wj).(5)
上述2种模型均使用窗口范围内的上下文信息进行词向量的训练,而Glove模型[11]的不同之处在于采用全局信息进行词向量的构建.训练之前,Glove模型首先构造“词-词”共现矩阵,对于3个词wi、wj、wk,P(wj|wi)为词wj在词wi出现之后出现的概率.Glove模型建立在两条规律上:1)如果词wi和词wj相关性大,且词wi和词wk不相关,则(P(wj|wi))/(P(wk|wi))应当很大; 2)如果词wi和词wj相关性大,词wi和词wk相关性也很大,则(P(wj|wi))/(P(wk|wi))应当趋近于1.
基于这两条规律,对词频矩阵进行建模,目标优化函数为
∑wi,wj∈V,xij≠0f(xij)(log xij-wTiwj+
b(1)i+b(2)j)2,(6)
式中,xij为wi、wj共现词对,wi为目标词wi的词向量,wj为上下文词wj的词向量,b(1)i、b(2)j分别是各个词对应的偏置量,f(x)是一个加权函数,定义如下:
f(x)={(x/xmax)α, x<xmax,
1, 其他.(7)
式中xmax和α为2个超参数,可根据式(7)对低频的共现词对的权重进行下调,降低误差.
在命名实体识别任务中,BiLSTM+CRF模型是较为经典的模型组合[22],图3为其模型结构图.该模型将句子中每个词的向量输入BiLSTM神经网络层,学习得出的向量通过softmax层直接与CRF层相连.其中BiLSTM层主要学习词之间的上下文关系,而CRF层则能学习到标注的信息以及限定特征.两者都可以单独做序列标注任务,通过组合模型处理命名实体表现更好.
li表示第i个词及其上文信息,ri表示第i个词及其
下文信息,ci表示li和ri信息的组合.
维吾尔语中缺乏相应的词向量评测数据集,构建相应评测数据集有两种方案可选:1)直接在维吾尔语中构造,组织多位母语为维吾尔语的专业人员进行数据集建设,最后统计审阅得到评测数据集; 2)由其他语种现有数据集(源语言数据集)进行翻译,再进一步筛选过滤得到评测数据集.由于第一种方案的建设过程需要专业的语言学人员且对词向量技术评价有一定了解,同时构造过程可能存在知识面受限、人工打分误差大等不利因素,而源语言评测数据集已经过实验论证,其构建可行性与数据可信度更好,故采取第二种方案构建数据集.考虑到维吾尔语网站上新闻文本的社会背景、文化因素与汉语一致,因此选用汉语词向量评测数据集翻译成维吾尔语版本进行数据集的构建.首先通过人工翻译评测数据集得到对应的维吾尔语版本,然后过滤去除无法用单个维吾尔语单词翻译的汉语单词(例如“继子”翻译成“ögay oghul”)以及数据集中的未登录词,最后得到本文的评测数据集.数据集翻译任务由维吾尔语为母语的语言学专业翻译人员完成,经重复检验确认,保证数据集翻译得正确合理.
单词语义相似度采用的数据集为240个词对组成的wordsim240,过滤后保留了154个词对.例如“mektep-oqutquchi 0.815”意为“学校-教师 相似度=0.815”,打分(相似度值)与汉语的人工打分保持一致.
类比推理任务采用的数据集为1 124个词对组成的word analogy数据集,过滤后保留了892个词对.其中蕴含了“首都-国家”、“省会-省份”、“家庭关系”3个方面的语义关系.“省会-省份”145个词对,例如“Changchun jilin xangzhu zhëjiang”意为“长春 吉林 杭州 浙江”; “首都-国家”674个词对,例如“afina yunan Baghdad iraq”意为“雅典 希腊 巴格达 伊拉克”; “家庭关系”73个词对,例如“padishah xanish ëri ayali”意为“国王 王后 丈夫 妻子”.
维吾尔语命名实体识别数据集由新疆多语种信息技术实验室自然语言处理组早期构建,数据集构建采用哈尔滨工业大学pyltp工具包筛选汉语中含有命名实体的句子,翻译得到对应的维吾尔语句子并通过人工标注句子中的命名实体.数据集按5:1比例,分为训练集29 270个句子(共76 787个命名实体),测试集5 855个句子(共15 358个命名实体).
单词语义相似度评测数据集是由人工打分的单词对组成,计算单词对的词向量的余弦距离作为其语义相似度.与人工打分的数值进行相关性比较,采用斯皮尔曼等级相关系数作为评价指标[13].斯皮尔曼等级相关系数为分布在(-1,1)之间的实数,该数值越大表示相关性越大.
低资源量语种的语料不充分会导致词向量训练效果不佳,因此斯皮尔曼等级相关系数作为评价指标不适用于维吾尔语词向量评测.
本文中提出了改进的单词语义相似度评测方法,主要思想是计算人工打分与词向量相似度之间的误差,根据整个评测数据平均误差判定词向量模型在该项评测任务上的得分.如式(8)所示:
s=1-(∑k∈z(vs-vv))/m,(8)
式中,z为所有评测单词对的集合,vs为人工打分,vv为词向量计算的相似度,m为数据集单词对个数,s为词向量模型的综合得分.该公式可以理解为比较每一对单词计算的词向量语义相似度与人工打分的相似度之间的差异,平均误差越大,得分越低.
类比推理任务是将2个具有同种语义关系的词对,用向量距离体现词对之间的语义关系,例如“南京-江苏”和“乌鲁木齐-新疆”这2个词对都包含省会与省份的对应语义关系信息.该评测使用“南京”-“江苏”+“乌鲁木齐”的方式得到一个向量(本文中暂命名为“语义承载向量”),判断该向量空间距离最接近的单词向量是否为“新疆”(“新疆”为预期的目标词).这个评测任务可以较为直观地反映词向量是否学习到语义层的信息.通过统计数据集中能正确找到对应关系的词对个数来评价词向量模型的语义表征能力.
本文中认为在训练语料不充分的情况下,判断语义承载向量最近的词是否为目标词这一方式过于苛刻.假设目标词存在于语义承载向量附近的空间位置,也能说明词向量能够学习到语义信息,扩大查找范围可合理提高模型优劣的区分度.
改进的方法是先寻找语义承载向量空间距离最接近的1,5,10,20,50个词,再判断目标词是否在这5个范围内出现.例如,“成都”-“四川”+“兰州”得到语义承载向量,列出与该向量最相近的1,5,10,20,50个词,观察“甘肃”是否在5组近似词内出现.统计模型在5个范围内找到的目标词个数,进行评价.
命名实体识别任务采用BiLSTM+CRF模型,使用预训练的词向量,比较不同参数组合的词向量对命名实体识别任务评价指标F值的影响.本研究使用命名实体识别任务来区分不同模型训练的词向量在实际任务上的表现.如果评测结果与实际任务结果相吻合,确定两者表现最佳的词向量模型相一致,则说明本文评测方法的有效性.F值计算公式如下:
P=Nc/Nt×100%,(9)
R=Nc/Na×100%,(10)
F=2PR/(P+R)×100%,(11)
式中,Nc为识别正确的实体个数,Nt为识别出的实体总个数,Na为语料中所有实体个数.
本文中实验基于CBOW、Skip-gram和Glove 3种模型采用不同参数组合共训练了25个词向量,采用单词语义相似度、类比推理以及命名实体识别3项任务,综合评价各参数组合训练的词向量性能.
词向量训练语料共3.28×108句维吾尔语新闻语料,主要从天山网(http:∥uy.ts.cn/)等新疆地区主流网站爬取了352 506篇短篇新闻文本,分句得到940 954句维吾尔语句子,共计365 401个独立词汇(其中包括了符号和数字).
由于维吾尔语语料规模较小,本研究将语料中所有不同词纳入词典进行训练,以保证语料中的词尽可能多地覆盖到数据集中的词.语料是对词向量质量影响最大的因素[14],而在相同语料中,对词向量影响较大的训练参数有模型和维度.实验中将其他超参数取值保持一致,例如上下文窗口统一设置为5,主要针对模型、维度和输出层方法进行多种参数组合训练.其中模型包括CBOW、Skip-gram和Glove; 词向量维度包括64,128,256,512,1 024共5种维度; 输出层方法在CBOW与Skip-gram上分别使用负采样技术和层次softmax方法,Glove无此项参数.CBOW与Skip-gram模型采用谷歌发布的gensim工具包进行训练,Glove模型使用C语言版本的Glove训练工具训练代码.模型相关训练时间和文件大小如表1所示.
训练速度上CBOW均优于其他模型,随着维度增大,训练速度变化不大.Skip-gram略逊于CBOW模型,Glove相较于其他2种模型需要花费更多的时间,且CBOW与Skip-gram模型中,负采样技术的训练速度优于层次softmax方法的.3种模型训练得到的词向量文件大小基本相同.这与以往工作中训练其他语种花费的时间代价统计结果基本一致.
本研究先采用斯皮尔曼等级相关系数来评价模型效果[13],但结果并不理想,实验数值均为较高的负数,无参考价值,如表2所示.
该指标的实验数值较低且差异性较小,可能的原因主要有:1)语料不充分导致词向量质量不佳,词对相似度计算结果存在偏差,导致评价系数呈现乱序.2)人工打分与词向量计算的相似度相关性本身存在一定差异.3)斯皮尔曼等级相关系数对于取值密度较小的数列,数值要求不敏感,即数据大小排序合理的情况下,数值小范围波动对最终系数影响不大; 而对于取值密度较大的数列,数值的细微波动很容易造成数据排序混乱.上文实验中,对0至1之间的154个数据进行排序,数据密度较大.实验表明斯皮尔曼等级相关系数无法区分各模型训练的词向量质量,不适宜作为评价指标.与斯皮尔曼等级相关系数相比,式(8)细化到每个数值的误差计算,每个数据的误差都对打分造成影响,对相似度的数值要求更加苛刻.传统方法在低资源的情况下不适用于维吾尔语词向量的语义相似度任务评测,也无法与本文方法直接比较评测方法优劣.
采用本文提出的改进的评测方法对各模型进行评估实验,各模型在语义相似度评测任务上得分如图4所示:Skip-gram模型表现整体较好,CBOW模型表现一般; 采用不同的输出层方法得分差距较大,负采样技术优于层次softmax方法; Glove模型表现较差.
需要注意的是,高维度模型相比于低维度模型的语义相似度计算值普遍更低.由于评测方法设计对高相似度的模型结果有利,本方法仅在相同维度时对比不同模型得分,不能比较同种模型不同维度的词向量表示的优劣,这也是本方法的一个不足.
“省会-省份”数据集共计145个词对,其类比推理结果如图5所示:CBOW模型采用各种参数组合训练的词向量评测表现都是最好的,其中使用负采样技术和层次softmax方法的表现相近,难以区分优劣,在5种度量范围内都能找到较多的目标词; Skip-gram模型表现一般,且随着维度增大表现越来越差; Glove模型对此数据集仅在低维度时有所表现,高维度时完全不能获取对应的目标词.
“首都-国家”数据集共计674个词对,其类比
推理结果如图6所示:在5种度量范围内,CBOW模型表现最好,Skip-gram比Glove模型表现稍好,Glove模型在此任务上表现较差.与“省份-省会”数据集的实验结果不同,在这个数据集上,负采样技术综合表现优于层次softmax方法.
“家庭关系”数据集几乎不能根据给定的3个词寻找到目标词.即使查找范围扩大到50,上述各模型在73个词对中最多仅有1个词对判定有对应关系.该数据集无法区别模型优劣,因此该组评测不作为模型评价指标.“家庭关系”数据集实验结果较差的原因可能在于训练语料大多采集自新闻语料,“家庭关系”相关词出现次数较少,模型无法学习到相关语义,所以无法评测.
根据统计,训练语料中数据单词出现频次“省会-省份”>“首都-国家”>“家庭关系”,语料与评测数据越相关,实验任务表现越好,这也证明了语料领域和质量对于词向量质量的重要性.以上实验除了CBOW模型,其他模型在此项任务中随着维度的升高效果变差(512维以后降低较为明显),因此维度值的选取不宜过高,以免评测时效果不佳.
命名实体评测任务的实验结果如表3所示:在命名实体识别任务中,综合表现最好的是Skip-gram模型,该模型训练出的词向量F值整体较高.负采样技术的提出是为了提升训练速度,与层次softmax方法相比,任务性能略微下降.Glove与CBOW模型差距不大.从维度的角度看,词向量在较低维度(64,128,256维)表现较好,维度过大对于实际任务帮助不大.命名实体识别任务较为基础,其任务模型与机器翻译等任务的模型相比较为简单,因此模型对输入向量更加敏感.好的初始向量表示能够让模型更快地收敛,更好地趋向最优解,使模型得到较好的输出结果,而复杂模型对数据的深度训练使得输入向量不那么重要.利用这一点,在命名实体识别任务上验证了不同模型训练得到的词向量性能.如表3与图4所示,不同模型训练出来的词向量中,本文评测方法得到的语义相似度结果与命名实体识别任务中表现最好的词向量相同(Skip-gram模型训练得到,不同输出层结果略有差异),其他2种模型结果各有优劣,两者实验结果的一致性说明该评测方法有效.
本文实验结果表明词向量维度选取较高时实验效果普遍较差,可能的原因是维度过高时,语义信息在词向量上分布过于离散,低维度的词向量表示已足够容纳训练的语义信息,因此推荐训练词向量维度不宜过高.在本文中的语料规模下,词向量维度设置在64,128和256时较为合理.关于输出层方法的选择,语义相似度和类比推理评测结果均显示负采样技术表现优于层次softmax方法,而命名实体识别任务中层次softmax方法表现略优于负采样技术.导致这种差异的可能原因是低资源语料条件使词向量训练不够充分,从而不同输出层方法的结果之间差异更加明显.忽略输出层方法的差异,CBOW模型在类比推理上表现最好,Skip-gram模型在语义相似度任务上表现最优.命名实体识别评测任务中,Skip-gram模型表现更出色.改进的类比推理评测方法与其他两项评测任务最优结果不一致,可能原因在于模型训练的侧重点不同,CBOW模型采用上下文均值预测,建模更复杂一些,对类比推理任务中的向量线性加减更加敏感.
以命名实体识别任务作参考,本文提出的单词语义相似度方法得到的评测结果与实际任务的结果一致,验证了该评测方法的有效性.改进的类比推理评测方法增强了原方法的适应性与泛化能力,对维吾尔语等低资源语种,可有效检测模型学习语义信息的能力,对后续维吾尔语词向量的发展改进有一定的帮助.具有更好语义表示的词向量能够提升命名实体、句子相似度等许多基础任务的性能,而命名实体识别任务能够对机器翻译中人名、地名、机构名等专有名词进行有效提取,从预处理阶段推动机器翻译等自然语言处理复杂任务的发展.
本研究构建的数据集和两项改进的评测方法为后续维吾尔语词向量模型优化提供了对比评价的标准,同时提出了合理的维吾尔语词向量训练参数组合.未来工作将尝试融合字符、音节等特征训练维吾尔语词向量,进一步研究更好的词向量表示,以提升词向量技术对自然语言处理其他任务的帮助.