张春祥 赵凌云 高雪瑶
摘 要:针对汉语中存在的词汇歧义问题,根据左右邻接词汇的词形、词性和译文信息,采用卷积神经网络(convolution neural network,CNN)来确定它的真实含义。选取歧义词汇的消歧词窗,共包含两个邻接词汇单元,抽取其词形、词性和译文作为消歧特征。以消歧特征为基础,结合卷积神经网络来构建词义消歧分类器。利用SemEval-2007: Task#5的训练语料和哈尔滨工业大学语义标注语料来优化CNN的参数。采用SemEval-2007: Task#5的测试语料对词义消歧分类器进行测试。实验结果表明:相对于贝叶斯(Bayes)模型和BP神经网络(BP neural network)而言,本文所提出方法的消歧平均准确率分别提高了14.94%和6.9%。
关键词:词汇歧义;卷积神经网络;词汇单元;消歧特征;词义消歧
DOI:10.15938/j.jhust.2020.03.020
中图分类号: TP391.2
文献标志码: A
文章编号: 1007-2683(2020)03-0131-06
Abstract:For vocabulary ambiguity problem in Chinese, CNN (Convolution Neural Network) is adopted to determine true meaning of ambiguous vocabulary where word, part-of-speech and translation around its left and right adjacent words are used. We select disambiguation window of ambiguous word which contains two adjacent lexical units and word, part-of-speech and translation are extracted as disambiguation features. Based on disambiguation features, convolution neural network is used to construct word sense disambiguation (WSD) classifier. Training corpus in SemEval-2007: Task#5 and semantic annotation corpus in Harbin Institute of Technology are used to optimize parameters of CNN. Test corpus in SemEval-2007: Task#5 is applied to test word sense disambiguation classifier. Experimental results show that compared with Bayes model and BP neural network, the proposed method in this paper can make average disambiguation accuracy improve 14.94% and 6.9%.
Keywords:vocabulary ambiguity; convolution neural network; lexical unit; disambiguation feature; word sense disambiguation
0 引 言
詞义消歧是自然语言处理领域中的关键性研究课题。在汉语文本中,存在着词汇歧义问题。这种问题给机器翻译、信息检索和文本分类带来了很大的困扰。只有先判断歧义词汇的真实语义,才能对汉语文本进行有效快速的分类和翻译。国内外很多学者针对这一现象开展了大量的研究工作。
在汉语词义消歧问题上,张仰森等[1]研究了贝叶斯模型、决策树模型、向量空间模型和最大熵模型。比较了它们的消歧效果,为词义消歧模型的发展与应用奠定了基础。Singh等[2]提出了基于共现词的条件概率和基于朴素贝叶斯分类器的两种有监督词义消歧算法,能够提高消歧精度。赵谦等[3]利用综合词的词性、词语所处的语境和Hownet语义词典来计算语义相似度。以词语的语义相似度为基础,根据句子结构加权平均得到句子的语义相似度。利用二元集合法来计算短文本的语义相似度,以实现词义消歧。杨陟卓等[4]以贝叶斯模型为基础,以译文所组成的上下文作为伪训练语料,利用真实训练语料和伪训练语料,来确定歧义词汇的词义。李国臣等[5]以词、词性、位置和目标词特征为基础,融入不同的词林信息,使用条件随机场模型,研究了各词林信息特征对语义角色边界识别与分类的影响。Kang等[6]构建了一个有监督学习的嵌入式感知空间模型。使用大量的标记语料,结合嵌入的词义来扩展词向量空间模型,以确定歧义词汇在上下文中的具体含义。Wang等[7]提出了一种具有标签实例和功能的交互式学习算法。通过标记上下文特征,结合标记信息实例和领域知识来进行词义消歧。Vij等[8]将权重分配给WordNet图的边缘。利用各种模糊图的连通性来确定模糊图中每个结点的重要性,从而识别出歧义词汇的真实含义。Abed等[9]对局部搜索技术进行改进,最大化给定文本的整体语义相似性。使用信息内容、光泽重叠方法和改进的遗传算法来进行词义消歧。Duque等[10]提出了一种基于图形的无监督词义消歧方法。利用摘要来构建图形,使用个性化PageRank算法来进行消歧。Huang等[11]将语义分析看作是多个语义序参数的竞争过程,提出了一种基于改进协同神经网络并融入词义信息的角色标注模型。Henderson等[12]提出了一种向量空间模型,利用逻辑向量来代替消歧特征,使用半监督方法来进行词义消歧。DurgaPrasad等[13]提出了一种基于统计技术的词义消歧方法,解决了与自然语言处理有关的AI-Complete问题。翟继强等[14]利用信息增益和交叉熵特征选择算法来进行特征降维,使用SVM、NB和C4.5分类算法对中文专利进行分类。谭冠群等[15]提出了一种应用于文本分类的改进KNFL算法,改善了KNFL算法的分类效率。Lopez-Arevalo等[16]提出了一种针对特定领域的词义消歧方法。该方法使用了特定领域的测试语料库和特定领域的辅助语料库,抽取相关特征,通过功能集成来进行词义消歧。Sinoara等[17]提出了一种基于文档集合嵌入式表示的词义消歧方法。所提出的文档集合嵌入式表示使得分类器更稳定,在语义复杂的分类中提高了消歧效果。Abid等[18]采用多种机器学习方法对歧义词汇进行消歧。Gutierrez等[19]提出了一种基于个性化的PageRank算法,结合SemCor语料库的词义频率和搭配词组的词义信息来解决词语歧义问题。Adrian等[20]在实体网络中,通过分析实体集所参照对象之间的语义关系,结合不同语言资源的消歧信息,来确定歧义词汇的语义类别。
以歧义词汇为中心,确定消歧词窗,共有两个邻接词汇单元。选取其中的词形、词性和译文作为消歧特征,使用卷积神经网络来确定它的语义类别。
1 消歧特征的选择
歧义词汇的语义确定是与其所处的文本密切相关的。汉语文本包含了很多语言学知识,可以从中提取消歧特征。根据歧义词汇所在语境中的消歧特征可以有效地判别歧义词汇的真实含义。因此,消歧特征对于语义分类而言是至关重要的。
本文以歧义词汇为中心,选取歧义词汇所在的消歧词窗。消歧词窗包含左右两个部分,即左词窗和右词窗。左词窗包含了歧义词汇的左侧邻接词汇单元。右词窗包含了歧义词汇的右侧邻接词汇单元。从消歧词窗中,抽取每个词汇单元的词形、词性和译文作为消歧特征。以此为基础来判断歧义词汇的真实含义。
对于包含歧义词汇“单位”的汉语句子,其消歧特征的提取过程如下所示:
汉语句子:对基层干部群众意见大、作风差的单位和个人,将由有关部门进一步核实情况,作出处理和整改。
分词结果:对 基層 干部 群众 意见 大 、作风 差 的 单位 和 个人 ,将 由 有关 部门 进一步 核实 情况 ,作出 处理 和 整改。
词性标注结果:对/p 基层/n 干部/n 群众/n 意见/n 大/a、/w 作风/n 差/a 的/u 单位/n 和/c 个人/n,/w 将/d 由/p 有关/vn 部门/n 进一步/d 核实/v 情况/n,/w 作出/v 处理/vn 和/c 整改/vn。/w。
译文标注结果:对/p/for 基层/n/grass-roots 干部/n/cadre 群众/n/the masses 意见/n/opinion 大/a/big、/w/-1 作风/n/style 差/a/poor 的/u/0 单位/n/unit 和/c/and 个人/n/self,/w/-1 将/d/will 由/p/by 有关/vn/concern 部门/n/department 进一步/d/further 核实/v/check 情况/n/situation,/w/-1 作出/v/make 处理/vn/handle 和/c/and 整改/vn/rectify and improve。/w /-1。
对包含歧义词汇“单位”的汉语句子而言,以歧义词汇“单位”为中心,设置左词窗和右词窗。词窗并不是越大越好,开设得越大反而会引入相关联较弱的消歧信息和噪声,降低准确率。设置左右词窗各包含一个邻接的词汇单元。左词窗包含的词汇单元为“的/u/0”,右词窗包含的词汇单元为“和/c/and”,如图1所示。实线方框表示词形,短虚线方框表示词性,长虚线方框表示译文。从左词窗中提取了3个消歧特征,分别为:“的”、“u”和“0”,其中“的”的译文无实意,设置为0。从右词窗中提取了3个消歧特征,分别为:“和”、“c”和“and”。一共抽取了6个消歧特征。词形特征为“的”和“和”;词性特征为“u”和“c”,其中,词汇“的”的词性是助词,用“u”表示,词汇“和”的词性是连词,用“c”表示;查询汉-英机读翻译词典,得到译文标注,译文特征为:“0”和“and”。
2 数据预处理
卷积神经网络模型的每一层都是由若干个神经元构成的。每个神经元取1或0两种状态。在数据预处理部分,需要将消歧特征转换成模型可输入数据。
目前,在自然语言处理中常用消歧特征出现的频度来判别歧义词汇的语义。在包含歧义词汇的汉语句子中,一共提取了m个消歧特征。以哈尔滨工业大学人工语义标注语料和汉-英机读翻译词典为基础,统计消歧特征出现的频度。消歧特征出现的频度定义为语料中包含消歧特征的句子数目。
频度经过转换后,每个消歧特征对应于一个n位二进制数。从而构成了一个m*n的二进制数特征矩阵。人工语义类别有t种,经过转换后,每个语义类别对应于一个t位二进制数。
使用频度向量Feature=[N(W1), N(P1), N(TR1), N(W2), N(P2), N(TR2)]来表示消歧特征。N(W1)、N(P1)和N(TR1)表示左詞窗中词汇单元的消歧特征出现的频度,N(W2)、N(P2)和N(TR2)表示右词窗中词汇单元的消歧特征出现的频度。N(W1)、N(P1)、N(TR1)、N(W2)、N(P2)和N(TR2)转换成模型可输入向量,即a1、a2、a3、a4、a5和a6,构造输入特征矩阵A=[a1, a2, a3, a4, a5, a6]T。歧义词汇“单位”的语义类别有两种,“organization”和“unit”,即t=2。使用二进制数“01”表示语义类“organization”,使用二进制数“10”表示语义类“unit”。
3 基于卷积神经网络的消歧过程
采用卷积神经网络对歧义词汇进行消歧。基于CNN的词义消歧过程如图2所示。在图2中,CNN由输入层、卷积层、池化层、全连接层和输出层组成。Feature=[N(W1), N(P1), N(TR1), N(W2), N(P2), N(TR2)]为特征向量。A表示输入的特征矩阵。si(i=1, 2, …, t)为歧义词汇的语义类别。Q表示卷积层与池化层之间的卷积核。U表示全连接层与输出层之间的权值矩阵。参数b和c表示偏置值。卷积核Q、权值矩阵U、参数b和c共同构成CNN的基本参数。CNN模型包括语义分类和模型训练两个过程。第一个过程为右侧的语义分类过程。第二个过程为左侧的模型训练过程。
在语义分类过程中,输入测试数据所对应的消歧特征向量Feature=[N(W1), N(P1), N(TR1), N(W2), N(P2), N(TR2)]。转换成模型可输入向量,构造输入特征矩阵A。经过卷积层、池化层和全连接层,最后输出歧义词汇的语义类别。基于CNN的词义消歧模型的输出结果为概率分布序列
P(s1), P(s2),…,P(st),最大概率所对应的语义类别即为歧义词汇的语义类别。
在模型训练过程中,输入训练数据所对应的消歧特征向量Feature=[N(W1), N(P1), N(TR1), N(W2), N(P2), N(TR2)]和所对应的语义类s={s1, s2, …, st}。经过卷积层、池化层和全连接层,最后输出歧义词汇的预测语义类别概率。预测概率和真实概率进行比较,计算误差。误差通过反向传播沿原路线返回,即从输出层反向经过全连接层、池化层和卷积层,逐层更新参数,最终回到输入层。不断地进行前向传播和反向传播,以减小误差,从而更新模型参数,直到网络模型训练好为止。随着误差反向传播并不断更新参数之后,CNN模型的消歧准确率也有所提高。
经过k次训练之后,可以得到优化的CNN的参数,即卷积核Q、权值矩阵U、偏置值b和c。
4 基于卷积神经网络的词义消歧算法
基于CNN的词义消歧算法包括语义分类和模型训练两个过程。在语义分类过程中,利用前向传播过程计算歧义词汇w在每个语义类别si下的概率分布。在模型训练过程中,根据预测概率反向逐层更新每一层参数。
语义分类过程:
输入:歧义词汇w的消歧特征向量Feature=[N(W1), N(P1), N(TR1), N(W2), N(P2), N(TR2)]。
输出:歧义词汇w在每个语义类别下的概率分布序列P(s1|w), …, P(si|w), …, P(st|w),最大概率的语义类别s′。
1)初始化网络模型;
2)将Feature转化为模型可输入向量a1, a2, …, am,构造输入特征矩阵A=(a1, a2, …, am)T;
3)构建CNN模型;
①将特征矩阵A输入到CNN模型中,根据式(1)计算卷积所提取的特征值。
其中:Q表示卷积层的权重矩阵(卷积核),大小为h*n;b表示偏置值;di表示特征映射中的第i个特征值;f(x)表示激活函数。通常,使用Relu激励函数,如式(2)所示。
当卷积核遍历完特征矩阵A后,共提取了m-h+1个特征值,如公式(3)所示。其中,m为矩阵A的行数。
②在池化层中,根据公式(4)对输入进行下采样操作,本文采用最大池化(Max pooling)方法。
设置多个卷积核,可以提取多个不同的特征向量。若有l個卷积核,则可以提取l个最大特征值。池化层的输出为D=[d′1, d′2, …, d′l]。其中,d′i表示第i个卷积核所对应的最大特征值。
③利用softmax函数来计算歧义词汇w在每个语义类别si下的概率分布,其计算过程如公式(5)所示。
其中:U和c表示softmax层的参数;g(x)表示softmax函数,具体计算过程如式(6)所示。
其中:d′i表示softmax函数的输入数据,P(si|w)表示歧义词汇w在语义类别si下的出现概率(i=1, 2, …, t)。
④最大概率所对应的语义类别s′即为歧义词汇w的语义类别,其计算过程如式(7)所示。
其中:s′表示概率最大的语义类别;t表示语义类别数,P(s1|w), …, P(si|w), …, P(st|w)表示歧义词汇w在语义类别si下的概率分布。
模型训练过程:
1)初始化迭代次数k;
①前向传播:
根据公式(1)、(4)、(5)得到歧义词汇w在语义类别si下的预测概率。
②反向传播:
a)最大概率即为歧义词汇w的预测概率,其计算过程如公式(8)所示。
其中,y_predictedi表示歧义词汇w的预测概率。
b)利用交叉熵损失函数来计算误差loss,即
其中,yi表示歧义词汇w在语义类别si下的真实分布概率。
c)根据误差loss,反向传播,逐层更新参数,即
其中:θ表示参数集;θ′表示更新之后的参数集;α为学习率。
不断迭代CNN训练模型,得到优化后的CNN模型。对于不同的歧义词汇,可以获得不同的CNN模型参数。在对歧义词汇w进行消歧时,需要导入所对应的CNN模型参数。
5 实 验
以SemEval-2007: Task#5的训练语料和测试语料为基础,比较了贝叶斯模型、BP神经网络和卷积神经网络的实验效果。目前,基于BP神经网络的词义消歧效果非常好,本文将其用于对比实验。
在SemEval-2007: Task#5的测试语料中,包含40个歧义词汇的1000条汉语句子,每一个歧义词汇对应着多个汉语句子,都是以歧义词汇为中心,进行切分并标注相应的语义信息。其中,汉语句子的类别有二类、三类和四类。
在实验1中,选取歧义词汇左右邻接的两个词汇单元的词形、词性和译文作为消歧特征,采用贝叶斯分类器来确定歧义词汇的语义类别。使用SemEval-2007: Task#5的训练语料对贝叶斯分类器进行训练。利用优化后的贝叶斯分类器对SemEval-2007: Task#5的测试语料进行词义消歧。
在实验2中,选取歧义词汇左右邻接的两个词汇单元的词形、词性和译文作为消歧特征,采用BP神经网络来确定歧义词汇的语义类别。使用SemEval-2007: Task#5的训练语料对BP神经网络进行训练。利用优化后的BP神经网络对SemEval-2007: Task#5的测试语料进行词义消歧。
在实验3中,选取歧义词汇的左右词窗。左词窗包含了歧义词汇的左侧邻接词汇单元。右词窗包含了歧义词汇的右侧邻接词汇单元。从消歧词窗中,抽取每个词汇单元的词形、词性和译文作为消歧特征。以哈尔滨工业大学语义标注语料和汉-英机读翻译词典为基础,统计词形、词性和译文的出现频度。使用SemEval-2007: Task#5的训练语料对CNN进行训练。利用优化后的CNN对SemEval-2007: Task#5的测试语料进行词义消歧。
在实验中,选取了10个具有代表性的歧义词汇。在三组实验中,测试语料的消歧准确率和平均准确率如表1所示。
从表1可以看出:对于“旗帜”之外的所有歧义词汇,实验3的消歧准确率都高于实验1。对于“动”之外的所有歧义词汇,实验3的消歧准确率都高于实验2。实验3的消歧平均准确率比实验1和实验2的高。3组实验都采用了歧义词汇左右两个词汇单元的词形、词性和译文作为消歧特征。实验2的消歧平均准确率比实验1高。相对于贝叶斯分类器而言,BP神经网络的分类效果好。实验3的消歧平均准确率明显高于实验1和实验2。相对于贝叶斯分类器和BP神经网络而言,CNN具有更好的词义消歧效果。
6 结 论
本文提出了一种结合词形、词性和译文的汉语词义消歧方法。以歧义词汇左右相邻的两个词汇单元的词形、词性和译文作为消歧特征,利用CNN来判别歧义词汇的语义类别。使用SemEval-2007: Task#5的训练语料和哈尔滨工业大学人工语义标注语料来优化CNN分类器。使用SemEval-2007: Task#5的测试语料来测试词义消歧分类器的性能。实验结果表明:所提出方法的消歧平均准确率有所提升。
参 考 文 献:
[1] 张仰森, 郭江. 四种统计词义消歧模型的分析与比较[J]. 北京信息科技大学学报(自然科学版), 2011, 26(2): 13.
ZHANG Yangsen, GUO Jiang. Analysis and Comparison of 4 Kinds of Statistical Word Sense Disambiguation Models[J]. Journal of Beijing Information Science and Technology University(Natural Science Edition), 2011, 26(2): 13.
[2] SINGH S, SIDDIQUI T J. Role of Karaka Relations in Hindi Word Sense Disambiguation[J]. Journal of Information Technology Research, 2015, 8(3): 21.
[3] 趙谦, 荆琪, 李爱萍, 等. 一种基于语义与句法结构的短文本相似度计算方法[J]. 计算机工程与科学, 2018, 40(7): 1287.
ZHAO Qian, JING Qi, LI Aiping, et al. A Short Text Similarity Calculation Method Based on Semantics and Syntax Structure[J]. Computer Engineering & Science, 2018, 40(7): 1287.
[4] 杨陟卓. 基于上下文翻译的有监督词义消歧研究[J]. 计算机科学, 2017, 44(4): 252.
YANG Zhizhuo. Supervised WSD Method Based on Context Translation[J]. Computer Science, 2017, 44(4): 252.
[5] 李国臣, 吕雷, 王瑞波, 等. 基于同义词词林信息特征的语义角色自动标注[J]. 中文信息学报, 2016, 30(1): 101.
LI Guochen, LV Lei, WANG Ruibo, et al. Semantic Role Labeling Based on TongYiCi CiLin Derived Features[J]. Journal of Chinese Information Processing, 2016, 30(1): 101.
[6] KANG M Y, MIN T H, LEE J S. Sense Space for Word Sense Disambiguation[C]// IEEE International Conference on Big Data and Smart Computing, Shanghai, 2018: 669.
[7] WANG Y, ZHENG K, XU H, et al. Interactive Medical Word Sense Disambiguation Through Informed Learning[J]. Journal of the American Medical Informatics Association, 2018, 25(7): 800.
[8] VIJ S, JAIN A, TAYAL D, et al. Fuzzy Logic for Inculcating Significance of Semantic Relations in Word Sense Disambiguation Using a WordNet Graph[J]. International Journal of Fuzzy Systems, 2018, 20(2): 444.
[9] ABED S A, TIUN S, OMAR N. Word Sense Disambiguation in Evolutionary Manner[J]. Connection Science, 2016, 28(3): 1.
[10]DUQUE A, STEVENSON M, MARTINEZ-ROMO J, et al. Co-occurrence Graphs for Word Sense Disambiguation in the Biomedical Domain[J]. Artificial Intelligence in Medicine, 2018, 1(28): 9.
[11]HUANG Z H, CHEN Y D. 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.
[12]HENDERSON J, POPA D N. A Vector Space for Distributional Semantics for Entailment[C]// Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics. Berlin: ACL, 2016, 4(1): 2052.
[13]DURGAPRASAD P, SUNITHA K V N, PADMAJA R B. Context-based Word Sense Disambiguation in Telugu Using the Statistical Techniques[J]. Advances in Intelligent Systems and Computing, 2017,712(1): 271.
[14]翟繼强, 王克奇. 依据TRIZ发明原理的中文专利自动分类[J]. 哈尔滨理工大学学报, 2013, 18(3): 1.
ZHAI Jiqiang, WANG Keqi. Automatic Classification of Chinese Patents According to TRIZ Inventive Principles[J]. Journal of Harbin University of Science and Technology, 2013, 18(3): 1.
[15]谭冠群, 丁华福. 改进的K最近特征线算法在文本分类中的应用[J]. 哈尔滨理工大学学报, 2008, 13(6): 19.
TAN Guanqun, DING Huafu. Improved K Nearest Feature Line Algorithm in Text Categorization[J]. Journal of Harbin University of Science and Technology, 2008, 13(6): 19.
[16]LOPEZ-AREVALO I, SOSA-SOSA V J, ROJAS-LOPEZ F, et al. Improving Selection of Synsets from WordNet for Domain-specific Word Sense Disambiguation[J]. Computer Speech & Language, 2017, 41(1): 128.
[17]SINOARA R A, CAMACHO-COLLADOS J, ROSSI R G, et al. Knowledge-enhanced Document Embeddings for Text Classification[J]. Knowledge-Based Systems, 2018, 163(1): 955.
[18]ABID M, HABIB A, ASHRAF J, et al. Urdu Word Sense Disambiguation Using Machine Learning Approach[J]. Cluster Computing, 2017, 21(1): 515.
[19]GUTIERREZ Y, VAZQUEZ S, MONTOYO A. Spreading Semantic Information By Word Sense Disambiguation[J]. Knowledge-Based Systems, 2017, 132(1): 47.
[20]ADRIAN W T, MANNA M. Navigating Online Semantic Resources for Entity Set Expansion[C]// The 20th International Symposium on Practical Aspects of Declarative Languages, Los Angeles, 2018: 170.
(編辑:温泽宇)