基于卷积神经网络的词义消歧
张春祥1, 赵凌云2, 高雪瑶2    
1. 哈尔滨理工大学 软件与微电子学院, 哈尔滨 150080;
2. 哈尔滨理工大学 计算机科学与技术学院, 哈尔滨 150080
摘要

为了提高词义消歧性能,提出了一种基于卷积神经网络的消歧方法.以歧义词为中心,向左右两侧连续扩展4个邻接词汇单元,选取其中的词形、词性和语义类作为消歧特征.以消歧特征为基础,使用卷积神经网络来确定歧义词的语义类别.利用SemEval-2007:Task#5的训练语料和哈尔滨工业大学语义标注语料来优化卷积神经网络.使用SemEval-2007:Task#5的测试语料来测试词义消歧分类器的性能,所提方法的消歧平均准确率有提高.实验结果表明,该方法在词义消歧中是可行的.

关键词: 词义消歧     卷积神经网络     消歧特征     语义类别    
中图分类号:TP391.2 文献标志码:A 文章编号:1007-5321(2019)03-0114-06 DOI:10.13190/j.jbupt.2018-148
Word Sense Disambiguation Based on Convolution Neural Network
ZHANG Chun-xiang1, ZHAO Ling-yun2, GAO Xue-yao2    
1. School of Software and Microelectronics, Harbin University of Science and Technology, Harbin 150080, China;
2. School of Computer Science and Technology, Harbin University of Science and Technology, Harbin 150080, China
Abstract

In order to improve the performance of word sense disambiguation (WSD), a disambiguation method based on convolution neural network (CNN) is proposed. Ambiguous word is viewed as center and four adjacent word units around its left and right sides are extended. Word, part-of-speech and semantic categories are extracted as disambiguation features. Based on disambiguation features, CNN is used to determine semantic categories of ambiguous words. Training corpus of SemEval-2007:Task#5 and semantic annotation corpus from Harbin Institute of Technology are used to optimize CNN classifier. Testing corpus of SemEval-2007:Task#5 is used to test the performance of WSD classifier. Average disambiguation accuracy of the proposed method is improved. Experiments show that this method is feasible in WSD.

Key words: word sense disambiguation     convolution neural network     disambiguation features     semantic categories    

机器翻译、自动文摘、信息检索和文本分类的性能与词义消歧密切相关.杨陟卓、Koppula和Duque等[1-3]将词义消歧转化为图求解问题.杨安等[4]利用无标注文本构建词向量模型,结合特定领域的关键词信息来进行词义消歧.李赟等[5]研究了语义相关词之间的主题聚类特性,选择两两相关的多个词得到相关词集合,并计算平均语义相关度. Faisal等[6]提出了一种基于支持向量机(SVM, support vector machine)的词义消歧方法.王桐等[7]给出了一种基于WordNet的概念语义相似度计算方法.李源和何径舟等[8-9]使用最大熵模型来进行词义消歧,提高了消歧性能. Gutierrez等[10]提出了一种个性化的PageRank算法,结合词义频率来处理词语歧义问题. Jimeno和Huang等[11-12]利用神经网络来确定歧义词汇的语义类别. Tripodi等[13]提出了一种基于博弈论的词义消歧方法,根据分布信息来计算语义相似度,解决了词语歧义问题. Iacobacci和Kang等[14-15]将词嵌入应用于词义消歧过程中,提高了消歧性能. Zhan和Hun等[16-17]从语义词典中挖掘语言学知识为词义消歧提供帮助.

提出了一种将歧义词左右邻接的4个词汇单元的词形、词性和语义类作为消歧特征,使用卷积神经网络进行消歧的方法.

1 词义消歧特征的提取

以歧义词为中心,从其左右4个邻接词汇单元中提取词形信息、词性信息和语义类信息作为消歧特征,来判别歧义词的真实含义.从左右4个邻接词汇单元中,共抽取了12个消歧特征.当歧义词左边或右边的邻接词汇单元数量不足2时,所对应位置的消歧特征值置为NULL.从而保证每个歧义词都有12个消歧特征.

对于包含歧义词“中医”的汉语句子,其消歧特征的提取过程如下.

汉语句子:政府大力提倡继续深化中医医疗机构的发展.

分词结果:政府大力提倡继续深化中医医疗机构的发展.

词性标注:政府/n大力/d提倡/v继续/v深化/v中医/n医疗/n机构/n的/u发展/n./wj

语义标注:政府/n/D大力/d/K提倡/v/H继续/v/I深化/v/I中医/n/D医疗/n/H机构/n/D的/u/K发展/n/I./wj/-1

从汉语句子中,提取歧义词左右4个邻接词汇单元,分别为“继续/v/I”、“深化/v/I”、“医疗/n/H”和“机构/n/D”.词汇单元的词形用W来表示;词汇单元的词性用P来表示;词汇单元的语义类用S来表示.从4个邻接词汇单元中,共抽取了12个消歧特征,分别为:WL2=继续、PL2=v、SL2=I、WL1=深化、PL1=v、SL1=I、WR1=医疗、PR1=n、SR1=H、WR2=机构、PR2=n和SR2=D.以哈尔滨工业大学语义标注语料为基础,统计出消歧特征x的出现频度F(x).

2 基于卷积神经网络的词义消歧

歧义词cr种语义类s1, s2, …, sr.在包含歧义词c的句子中,一共提取了m个特征向量.经过二进制转化后,每个向量对应于一个n位二进制数,从而构成了一个m×n的二进制特征矩阵.人工语义类别有r种,经过二进制转化后,每个语义类别对应一个r位二进制数.

对于歧义词c,使用M=(F(WL2), F(PL2), F(SL2), F(WL1), F(PL1), F(SL1), F(WR1), F(PR1), F(SR1), F(WR2), F(PR2), F(SR2))来表示其消歧特征向量.将频度F(x)转换成二进制数,用binary(F(x))来表示.因此,v1=binary(F(WL2))、v2=binary(F(PL2))、v3=binary(F(SL2))、v4=binary(F(WL1))、v5=binary(F(PL1))、v6=binary(F(SL1))、v7=binary(F(WR1))、v8=binary(F(PR1))、v9=binary(F(SR1))、v10=binary(F(WR2))、v11=binary(F(PR2))、v12=binary(F(SR2)).将v1v2v3v4v5v6v7v8v9v10v11v12作为行,构造特征矩阵V=(v 1T, v2T, v3T, v4T, v5T, v6T, v7T, v8T, v9T, v10T, v11T, v12T)T.

在卷积层中,通常设置大小为h*n的卷积核,其目的是提取更完整的消歧特征.其中:h表示卷积核可以在多少个相邻消歧特征上滑动;n表示消歧特征向量的维数.卷积核以步长1在特征矩阵V上滑动,每滑动一次就进行一次卷积操作,提取消歧特征,直至卷积核遍历完整个特征矩阵V.特征矩阵V=(v1T, v2T, …, vmT)T.根据式(1)计算卷积所提取的特征值.

$ {a_i} = R\left( e \right) = R\left( {w*v_{i:i + h - 1}^{\rm{T}} + b} \right) $ (1)

其中:w为卷积核,表示卷积层的权重矩阵;b表示偏置值;e表示卷积层的净激活;ai表示特征映射中的第i个特征值;R(·)表示激活函数,使用Relu激励函数,如

$ R\left( e \right) = \max \left( {0,e} \right) $ (2)

当卷积核遍历完高度为m的特征矩阵V后,共提取了m-h+1个特征值.然后,构造特征向量Z,如

$ \mathit{\boldsymbol{Z}} = {\left( {{a_1},{a_2}, \cdots ,{a_{m - h + 1}}} \right)^{\rm{T}}} $ (3)

针对歧义词“中医”而言,其特征矩阵的卷积操作过程如图 1所示.

图 1 卷积操作过程

歧义词“中医”的消歧特征向量为(F(继续), F(v), F(I), F(深化), F(v), F(I), F(医疗), F(n), F(H), F(机构), F(n), F(D)).消歧特征的频度转换为一个16位二进制数,即vi=(xi1, …, xij, …, xi16),i=1, 2, …, 12,xij∈{0, 1}.构造二进制特征矩阵V=(xij)12×16,其中,i=1, 2, …, 12,j=1, 2, …, 16.设置卷积核为w2×16.从V中选取大小为2×16的子矩阵与卷积核w进行卷积,即对应元素相乘再相加,所得到的特征值为特征向量Z中的a1.卷积核以步长1进行滑动,再次从特征矩阵V中选取大小为2×16的子矩阵与卷积核w进行卷积,得到Z中的ai(i=2, 3, …, 11).在卷积操作之后,得到特征向量Z=(a1, a2, …, a11). v1v2构成的子矩阵(v1T, v2T)T经过卷积操作后得到a1. vivi+1构成的子矩阵(viT, vi+1T)T经过卷积操作后得到ai (i=2, 3, …, 11).

在池化层中,对输入的特征向量Z进行下采样,提取最重要的特征.采用最大池化方法获取特征向量Z中的最大特征值,如

$ a' = \max \left( {{a_1},{a_2}, \cdots ,{a_{m - h + 1}}} \right) $ (4)

对于不同的卷积核,获取的特征信息是不同的.设置多个卷积核,提取多个不同的特征值.若有t个卷积核,则可以提取t个最大特征值.池化层的输出为D=(a'1, a'2, …, a't).其中a'i表示第i个卷积核所对应的最大特征值.

利用softmax函数将多个神经元的输出映射到(0, 1)区间上,从而实现歧义词的语义分类.其计算过程如

$ Q = f\left( Y \right) = f\left( {WD + B} \right) $ (5)

其中:Q=(P(s1|c), …, P(si|c), …, P(sr|c))表示输出;Y=(y1, y2, …, yl)表示净激活;WB表示softmax层的参数;f(·)为softmax函数;P(si|c)表示歧义词c在语义类别si下的出现概率,计算过程如

$ P\left( {{s_i}\left| c \right.} \right) = \frac{{\exp \left( {{y_i}} \right)}}{{\sum\limits_{l = 1}^r {\exp \left( {{y_l}} \right)} }} $ (6)

在歧义词c的语义类概率分布P(s1|c), …, P(si|c), …, P(sr|c)中,选取概率最大的语义类s作为预测的语义类别,如式(7)所示.

$ s = \mathop {\arg \;max}\limits_{i = 1,2, \cdots ,r} \left( {P\left( {{s_i}\left| c \right.} \right)} \right) $ (7)

为每个歧义词构造一个卷积神经网络.在确定歧义词的语义类别时,使用所对应的卷积神经网络.因此,歧义词c所对应的卷积神经网络的输出层维度是固定的,为c的语义类别数r.

歧义词“中医”的卷积神经网络结构如图 2所示,主要包括输入层、卷积层、池化层和输出层.

图 2 卷积神经网络的结构

对包含歧义词“中医”的汉语句子进行分词、词性标注和语义类标注.选取其左右邻接的4个词汇单元,即“继续/v/I”、“深化/v/I”、“医疗/n/H”和“机构/n/D”.抽取词形、词性和语义类,共得到12个消歧特征.每个消歧特征对应于一个16位二进制数,形成特征矩阵V12×16.设置多个2×16的卷积核,经过卷积操作之后,得到特征向量Z.对特征向量Z进行池化操作,得到一维向量D.最后,利用softmax函数来计算歧义词“中医”在语义类别si下的概率分布P(si|中医),其中,i=1, 2, …, r.具有最大概率的类别即为歧义词“中医”的语义类别.

3 基于卷积神经网络的词义消歧算法

采用CNN来确定歧义词语义类别的过程主要包括CNN模型训练和语义分类. CNN模型的训练过程包括前向传播和反向传播.语义分类就是前向传播过程. CNN模型的训练过程如下.

输入:包含歧义词c的训练样本的消歧特征向量M=(F(WL2), F(PL2), F(SL2), F(WL1), F(PL1), F(SL1), F(WR1), F(PR1), F(SR1), F(WR2), F(PR2), F(SR2)),人工标注语义类hs;

输出:优化的参数θ={w, b, W, B}.

1) 初始化迭代次数k和参数集θ={w, b, W, B};

2) 将M转换为二进制特征矩阵V

3) 建立网络模型;

for(t=1; tk; t++){

执行前向传播过程:

① 利用式(1)~(3)计算卷积层的输出特征向量Z.

② 根据式(4)得到池化层的最大特征值,多个特征值组成一维特征向量D.

③ 根据式(5)计算歧义词c在语义类别si下的概率分布P(si|c) (i=1, 2, …, r).

执行反向传播过程:

④ 根据式(8)计算误差.其中:t1, t2, …, tr为人工标注语义类hs的One-hot表示;λ表示正则化系数.

$ J\left( {W,B} \right) = - \sum\limits_{i = 1}^r {{t_i}\log \left( {P\left( {{s_i}\left| c \right.} \right)} \right)} + \lambda \left\| W \right\|_2^2 $ (8)

⑤ 根据式(9)计算输出层的灵敏度γ.其中:表示对应位置上的2个元素相乘.

$ \gamma = \frac{{\partial J}}{{\partial Q}} \circ f'\left( Y \right) $ (9)

⑥ 根据输出层的灵敏度γ,利用式(10)计算池化层的灵敏度β,其中1表示池化层激活函数的导数.

$ \beta = {W^{\rm{T}}}\gamma \circ 1 $ (10)

⑦ 根据池化层的灵敏度β,利用式(11)计算卷积层的灵敏度δ,其中L(·)表示上采样操作.

$ \delta = L\left( \beta \right) \circ R'\left( e \right) $ (11)

⑧ 根据输出层的灵敏度γ和卷积层的灵敏度δ,利用式(12)~(15)更新参数θ,其中:a表示学习率,rot180(·)表示旋转180°.

$ W = W - \alpha \left( {\gamma {D^{\rm{T}}}} \right) $ (12)
$ B = B - \alpha \gamma $ (13)
$ w = w - \alpha \left( {\delta {\rm{rot}}180\left( V \right)} \right) $ (14)
$ b = b - \alpha \sum\limits_{i,j} {\left( {\delta \left[ {i,j} \right]} \right)} $ (15)

}

执行反向传播过程④~⑧来优化CNN的参数.

语义分类过程:

将包含歧义词c的测试样本的消歧特征向量转换为二进制数,并输入到CNN的卷积层.使用优化后的参数θ作为CNN的参数,根据式(1)、(2)、(3)得到卷积层的输出特征向量Z.以Z为基础,设置多个卷积核,根据式(4)得到池化层的最大特征值,形成一维特征向量D.根据式(5)计算歧义词c在语义类别si下的概率分布P(si|c),其中i=1, 2, …, r.利用式(7)确定歧义词c的语义类别.

4 实验分析

在实验中,使用了SemEval-2007: Task#5的训练语料和测试语料,比较了叶贝斯(Bayes)模型、深度信念网络(DBN, deep belief network)、SVM和所提出方法的消歧效果,共进行了4组实验.实验1选取歧义词左右邻接的2个词汇单元的词形作为消歧特征,采用Bayes模型来确定其语义类别.实验2选取歧义词左右邻接的4个词汇单元的词形、词性和语义类作为消歧特征,利用DBN来确定其语义类别.实验3选取歧义词左右邻接的4个词汇单元的词形、词性和语义类作为消歧特征,利用SVM来确定其语义类别.实验4选取歧义词左右邻接的4个词汇单元的词形、词性和语义类作为消歧特征,利用CNN来确定其语义类别.利用SemEval-2007: Task#5的训练语料来分别优化Bayes模型、DBN、SVM和CNN.分别用优化后的Bayes模型、DBN、SVM和CNN对SemEval-2007: Task#5的测试语料进行语义分类.

采用SemEval-2007提供的平均准确率pa来评价词义消歧效果,其计算过程如

$ {p_i} = \frac{{{m_i}}}{{{n_i}}},\;{p_a} = \frac{{\sum\limits_{i = 1}^N {{p_i}} }}{N} $ (16)

其中:N为所有目标歧义词的数目;mi为第i个歧义词正确分类的测试句子数;ni为包含第i个歧义词的所有测试句子数;pi为第i个歧义词的消歧准确率;pa为词义消歧的平均准确率.

在实验中,选取了28个具有代表性的歧义词进行测试,分别为“表面”、“菜”、“单位”、“动摇”、“儿女”、“镜头”、“开通”、“气息”、“气象”、“使”、“推翻”、“望”、“眼光”、“震惊”、“中医”、“本”、“补”、“成立”、“队伍”、“赶”、“旗帜”、“日子”、“天地”、“挑”、“长城”、“吃”、“动”和“叫”.测试语料的消歧准确率如表 1所示.

表 1 测试语料的消歧准确率

表 1可以看出,实验2、实验3和实验4的消歧平均准确率比实验1高,其原因是:在实验1中,仅采用了歧义词左右2个词汇单元的词形作为消歧特征.在实验2、实验3和实验4中,采用了歧义词左右4个邻接词汇单元的词形、词性和语义类作为消歧特征.相对于词形特征而言,词性和语义类具有更强的语言现象覆盖能力和判别消歧能力.实验3的消歧平均准确率比实验2的要高.由此可知,SVM的语义分类能力要好于DBN.实验4的消歧平均准确率比实验2和实验3的都高.由此可知,相对于DBN和SVM而言,CNN更适合于词义消歧问题.

根据表 1画出的折线图来比较4组实验的消歧准确率,如图 3所示.

图 3 4组实验的测试语料的消歧准确率

图 3中可以看出:对于绝大多数歧义词而言,基于CNN的词义消歧分类器的性能要好于基于Bayes模型的词义消歧分类器、基于DBN的词义消歧分类器和基于SVM的词义消歧分类器.由此可知,基于卷积神经网络的消歧方法更适合于词义消歧问题.

5 结束语

选取歧义词左右邻接的4个词汇单元的词形、词性和语义类作为消歧特征,利用卷积神经网络来确定其真实含义.使用SemEval-2007: Task#5的训练语料和哈尔滨工业大学语义标注语料来优化CNN分类器.实验结果表明,相对于贝叶斯模型、深度信念网络和支持向量机而言,所提方法的消歧性能有所提升.

参考文献
[1]
杨陟卓, 黄河燕. 基于异构关系网络图的词义消歧研究[J]. 计算机研究与发展, 2013, 50(2): 437-444.
Yang Zhizhuo, Huang Heyan. WSD method based on heterogeneous relation graph[J]. Journal of Computer Research & Development, 2013, 50(2): 437-444.
[2]
Koppula N, Rani B P, Rao K S.Graph based word sense disambiguation[C]//The 1st International Conference on Computational Intelligence and Informatics.Hyderabad: Springer, 2017: 665-670.
[3]
Duque A, Martinezromo J, Araujo L. Can multilinguality improve biomedical word sense disambiguation?[J]. Journal of Biomedical Informatics, 2016, 64(1): 320-332.
[4]
杨安, 李素建, 李芸. 基于领域知识和词向量的词义消歧方法[J]. 北京大学学报(自然科学版), 2017, 53(2): 204-210.
Yang An, Li Sujian, Li Yun. Word sense disambiguation based on domain knowledge and word vector model[J]. Acta Scientiarum Naturalium Universitatis Pekinensis, 2017, 53(2): 204-210.
[5]
李赟, 黄开妍, 任福继, 等. 维基百科的中文语义相关词获取及相关度分析计算[J]. 北京邮电大学学报, 2009, 32(3): 109-112.
Li Yun, Huang Kaiyan, Ren Fuji, et al. Wikipedia based semantic related Chinese words exploring and relatedness computing[J]. Journal of Beijing University of Posts and Telecommunications, 2009, 32(3): 109-112. DOI:10.3969/j.issn.1007-5321.2009.03.025
[6]
Faisal E, Nurifan F, Sarno R.Word sense disambiguation in Bahasa Indonesia using SVM[C]//The 3rd International Seminar on Application for Technology of Information and Communication.Semarang: IEEE, 2018: 239-243.
[7]
王桐, 王磊, 吴吉义, 等. WordNet中的综合概念语义相似度计算方法[J]. 北京邮电大学学报, 2013, 36(2): 98-106.
Wang Tong, Wang Lei, Wu Jiyi, et al. Semantic similarity calculation method of comprehensive concept in WordNet[J]. Journal of Beijing University of Posts and Telecommunications, 2013, 36(2): 98-106.
[8]
李源, 翟宏森, 刘凤娇, 等. 汉语复句中基于依存关系与最大熵模型的词义消歧方法研究[J]. 计算机与数字工程, 2018, 46(1): 78-82.
Li Yuan, Zhai Hongsen, Liu Fengjiao, et al. Research on word sense disambiguation method based on dependency relation and maximum entropy in Chinese complex sentences[J]. Computer & Digital Engineering, 2018, 46(1): 78-82. DOI:10.3969/j.issn.1672-9722.2018.01.018
[9]
何径舟, 王厚峰. 基于特征选择和最大熵模型的汉语词义消歧[J]. 软件学报, 2010, 21(6): 1287-1295.
He Jingzhou, Wang Houfeng. Chinese word sense disambiguation based on maximum entropy model with feature selection[J]. Journal of Software, 2010, 21(6): 1287-1295.
[10]
Gutierrez Y, Vazquez S, Montoyo A. Spreading semantic information by word sense disambiguation[J]. Knowledge-Based Systems, 2017, 132(1): 47-61.
[11]
Jimeno Y A. Word embeddings and recurrent neural networks based on long-short term memory nodes in supervised biomedical word sense disambiguation[J]. Journal of Biomedical Informatics, 2017, 73(1): 137-147.
[12]
Huang Zhehuang, Chen Yidong. An improving SRL model with word sense information using an improved synergetic neural network model[J]. Journal of Intelligent & Fuzzy Systems, 2016, 31(3): 1469-1480.
[13]
Tripodi R, Pelillo M. A game-theoretic approach to word sense disambiguation[J]. Computational Linguistics, 2017, 43(1): 31-70. DOI:10.1162/COLI_a_00274
[14]
Iacobacci I, Pilehvar M T, Navigli R.Embeddings for word sense disambiguation: an evaluation study[C]//The 54th Annual Meeting of the Association for Computational Linguistics.Berlin: ACL, 2016: 897-907.
[15]
Kang M Y, Kim B, Lee J S. Word sense disambiguation using embedded word space[J]. Journal of Computing Science and Engineering, 2017, 11(1): 32-38.
[16]
Zhan Jingwen, Chen Yanmin.Research of Chinese word sense disambiguation based on HowNet[C]//The 2011 International Conference on Artificial Intelligence and Computational Intelligence.Taiyuan: Springer, 2011: 477-482.
[17]
Hung C, Chen S J. Word sense disambiguation based sentiment lexicons for sentiment classification[J]. Knowledge-Based Systems, 2016, 110(1): 224-232.