APP下载

基于潜在语义特性的语义双关语检测及双关词定位

2019-05-24刁宇峰林鸿飞樊小超

中文信息学报 2019年4期
关键词:双关语双关语义

刁宇峰,杨 亮,林鸿飞,吴 迪,樊小超,3,徐 博,许 侃

(1. 大连理工大学 计算机科学与技术学院,辽宁 大连 116024;2. 内蒙古民族大学 计算机科学与技术学院,内蒙古 通辽 028043;3. 新疆师范大学 计算机科学技术学院,新疆 乌鲁木齐 830054)

0 引言

双关语是一种文字游戏,即利用一词多义或者语音相似来达到多个含义的一种修辞方式[1]。在文学、演讲和广告语中,双关语也是标准的修辞手段。例如,莎士比亚因为他的双关语而闻名世界[2],甚至在非喜剧作品中双关语也广泛存在。众所周知,双关语作为一个广泛研究的有趣对象,能够洞察文字游戏和双重含义的本质性质。

双关语分类任务在自然语言处理(NLP)领域中有重要的意义。例如,Redfern[3]将双关语划分为语义双关语和谐音双关语,前者主要解决同义词的问题,后者主要解决同音词的问题。这两种双关语都有其自身的特点,不能用同一种模式来区分两种类型的双关语。本文的研究主要集中于对语义双关语的研究。然而,目前对语义双关语的工作未从双关语理论的基础上进行系统的推导和解释。

本文的贡献主要有三点: 第一,在双关语的理论基础上,针对语义双关语,本文挖掘出不一致、模糊、情感因素和语言学四种潜在语义特性,并设计每个结构下的特征集,提出一种有效的语义双关语检测模型;第二,在语义双关语潜在语义特性的基础之上,考虑到低维分布语义空间和同义词信息,本文提出一种基于词向量和同义词融合的语义相似度算法,能够有效地定位双关词;最后,在SemEval 2017 Task 7和Pun of the Day两个数据集上,本文提出的方法在语义双关语检测和双关词定位两个任务上均取得了较好的实验性能。

1 相关工作

双关语自古以来就在修辞学和文学批判等领域被广泛使用和讨论,近年来日益成为一个值得研究的课题。但是,在计算语言学和自然语言处理领域中类似的研究工作并不多[3]。本节主要回顾与双关语相关的前人工作。

对于语义双关语的检测,Kao等[4]提出了一种双关语中幽默的计算模型,主要从模糊性和特殊性两个维度检测语义双关句。Miller和Gurevych[5]提出了针对语义双关语的多个含义进行词义消歧的语义双关语识别算法。Huang等[6]介绍了一种新的框架,主要考虑是把句子中的位置信息作为检测语义双关句的重要指标。然而,上述的语义双关语检测工作均没有从理论的角度出发,未对语义双关语的本质进行系统的推导和合理的解释。

对于双关词的定位,Doogan等提出的Idiom Savant系统[7]主要基于n-gram和词向量,计算关联度和候选双关词的得分以定位双关词。Vechtomova[8]等引入互信息等传统特征,运用排序学习算法得到双关词。Indurthi和Oota[9]提出的Fermi系统主要计算句子中任意词对的同义词之间的相似度。然而,现有的双关词定位任务没有从双关的理论和本质出发,未充分考虑低维稠密语义空间和一词多义的联系。

双关语在幽默中也有很广泛的应用。Taylor和Mazlack[10]提出了一种基于固定句法上下文的n-gram识别算法来说明双关语在英文笑话中的幽默效果。林鸿飞等[11]详细阐述了幽默的多种基本理论和实际应用,对于语义幽默的理解也给出了相应的讨论。但目前双关语的识别还处于起步阶段,未来还有很大的发展空间。尽管双关语经常在各种场合中使用,但由于歧义性和复杂性,现有的成果并不能很好地进行处理和分析。

2 语义双关语的潜在语义特性及其特征

本文将语义双关语的检测视作一个传统的文本分类问题。首先,本文根据语义双关语的相关理论,从四个方面制定了语义双关语的潜在语义特性,分别是: (1)不一致特性;(2)模糊特性;(3)情感因素特性;(4)语言学特性。然后,针对每个潜在语义特性,本文设计了一系列的特征以有效地检测语义双关句。

2.1 不一致特性

语言学家Wales[12]指出,人们在说话时使用双关语,其主要目的在于使用不同意思以达到不同的奇妙的反应和效果。不一致特性由语境中的冲突和语义上的不连贯导致。双关产生于两种或两种以上不协调不合适的状态下,是一种复杂的组合方式。因此,不一致特性是产生双关语这种语言学现象的重要原因之一。

Eg1Money doesn’t grow on tree. But it blossoms at our #branches#.

例1钱不能长在树上。但是它可以在我们的#银行#上开花。

该句为双关语,[branches]为双关词,一般是[树枝]的意思,在该语境下意思为[银行]。[Money doesn’t grow on tree]和[But it blossoms at our branches]产生一种与语境的冲突,是一种不一致特性,从而达到语义双关语的效果。

针对不一致特性,首先本节定义了两类特征,间隔性和重复性,用以衡量一个句子中任意两个词对之间的语义距离。其次,不一致特性是一种语义上的不连贯,本节定义了语义连贯性来衡量语义双关语中的语义距离。本节使用Word Embedding和n-gram语言模型来计算不一致特性。Word Embedding能够充分展现低维稠密空间下的语义信息,能够更好地表示语义双关语的潜在语义信息,这里使用Word2Vec[注]https://code.goole.com/p/word2vec工具。同时,n-gram语言模型是一种能够发现语句中词与词之间关联性的规律信息,本文使用KenLM工具来训练n-gram语言模型,使用的外部语料来自开源的新闻语料(Brown语料集)。

① 间隔性: 衡量句子中任意两个词之间的最大语义距离,使用 Word2Vec词向量计算词与词之间的余弦相似度。

② 重复性: 衡量句子中任意两个词之间的最小语义距离。

③ 语义连贯性: 衡量句子的语义连贯性,使用KenLM工具对n-gram语言模型打分。

2.2 模糊特性

模糊特性是指句子中的一个词具有多个含义[13],起到模糊歧义的作用,是很多语义双关语的关键成分[5]。双关语可以使一个词关系到不同的方面和角度,双关词具有本身的字面意思,由于受到上下文语境的影响,一个词的多个可能的含义能够让人们产生不同的理解,以达到模糊的效果和突出的目的。

Eg2Before he sold Christmas trees, he got himself #spruced# up.

例2在他卖圣诞树之前,他将自己#打扮得整齐漂亮#。

该例句为语义双关语,[spruced]为双关词,该词有[云杉树]的意思,还有[使自己或事物看上去整齐和漂亮]的意思。

本节使用词汇资源WordNet[注]http://www.nltk.org/howto/wordnet.html来计算句子的模糊特性。双关语主要由句子中的内容词(名词、动词、形容词和副词)构成[1],称之为候选双关词。本文使用NLTK词性标注工具来识别候选双关词,用以体现双关语中的模糊性[1]。结合词性信息来计算一个词的语义分散度PSD,如式(1)所示。

Spos表示句子中具有相同词性的词的同义词(sysnet)集合(s0,s1,...,sn),P(|Spos|,2) 表示两个同义词集合中任意组合的个数,d(Si,Sj)表示同义词Si和Sj在WordNet之间的上位距离。

① 最远语义距离: 根据句子中相应的词性集合,计算任一词义的最远语义距离。

② 平均语义距离: 计算句子中任一词义的平均语义距离。

③ 最近语义距离: 计算句子中任一词义的最近语义距离。

2.3 情感因素特性

双关语能够产生委婉、含蓄、幽默的语言效果。Van Mulken[14]等人发现,经常使用双关语以达到幽默的效果,会让观众对广告中的产品增加更正面的看法和积极的认同感。因此,语义双关语与情感因素有密切的关系。

Eg3The two guys caught drinking battery acid will soon be #charged#.

例3这两个喝电池酸液的家伙很快就会被#起诉#。

该句为语义双关语,[charged]为双关词,具有强烈的情感色彩。语义双关语中的双关词表现出一定的情感色彩,所关联的正面或者负面的倾向性都是人们在情感上的真实反映。

本节使用开放资源SenticNet[15]识别词级别的情感。该资源提供情感极性(polarity)和情感学(sentics),可以充分地衡量词汇的主观性和情感信息。

① 情感极性: 计算所有词的情感极性分值的总和、情感极性分值的平均值、情感极性分值绝对值的总和以及情感极性分值绝对值的平均值。

② 情感学: 从情感学的总分、平均分、绝对值总分和绝对值平均分四个维度来表示情感学特征。

2.4 语言学特性

本节主要采用语言学特性进行分析,从词性、位置、句子长度和语义信息四个方面设计了有效的特征。

(1) 词性信息

Eg4Boyle said he was under too much #pressure#.

例4波义耳说他承受的#压力#太大了。

该句为语义双关句,[pressure]是双关词,为名词。根据词性信息,可以影响语义双关语检测。具体的特征如下所示。

① 候选双关词数量: 计算句子中的各类候选双关词的数量。

② 候选双关词占比: 计算各类候选语义双关词在句子中的占比。

(2) 位置信息

Eg5Here is how the track meet is going to #run#.

例5这里是赛道如何#运行#的说明。

该句为语义双关句,其中run为双关词,且位置在句子的后端。特征如下所示。

① 最大位置: 计算候选双关词集合在句子中的最大位置。

② 最小位置: 计算候选双关词集合在句子中的最小位置。

③ 平均位置: 计算候选双关词集合在句子中的位置的平均值。

(3) 句子长度

Barbieri和Saggion[16]提出句子的结构信息能够有效地衡量不同实体之间的差异。因此,句子的不同长度会影响语义双关句的检测。

① 句子长度: 计算句子的长度。

② 长度之差: 计算当前句子长度与句子平均长度的差值。

(4) 语义信息

本节定义句子间的搭配关系是同词性候选双关词之间的语义关系,使用WordNet来计算候选双关词间的语义相似度。

Eg6I used to be a banker but I lost #interest#.

例6我过去是一个银行家,但是我失去了#利益#。

该句为语义双关语,[ interest]为双关词,具有[利益]和[兴趣]的含义,这里是[利益]的意思。本节通过计算[used]和[lost],[banker]和[interest]之间的语义相似度来检测该句是否为语义双关语。

同样,本节衡量候选词之间的反义关系。如词[fall]在WordNet中的反义词有: [ascent],[rise],[ascend]和[increase]。特征如下所示。

① 最大语义相似度: 通过WordNet计算名词与名词、动词与动词、形容词与形容词、副词与副词之间的路径相似度。

② 是否存在反义词: 计算句子中的候选双关词在WordNet中是否具有反义词。

③ 最大反义词数量: 计算候选双关词在WordNet中的反义词个数的最大值。

④ 平均反义词数量: 计算候选双关词在WordNet中的反义词个数的平均值。

3 基于词向量和同义词融合的双关词定位

每一条语义双关语都包含一个双关词,本节需要给出线索并定位到哪个词是双关词。本节将双关词定位归结为一个无监督匹配问题,提出LOCATION_PUN相似度匹配算法,如表1所示。该算法的输入为每一条语义双关语,输出为具体的双关词。

表1 LOCATION_PUN算法

续表

Eg7Getting rid of your boat for another could cause a whole #raft# of problems.

例7把你的#船#换成另一艘船,可能会造成很多的问题。

该例句为语义双关语,其中[raft]为双关词,有[一批]和[船]的意思。

通过语义双关语的潜在语义特性可知,(1)语言学特性的位置信息: 双关词通常出现在语义双关语的句尾;(2)语言学特性的词性信息: 候选双关词通常为名词、动词、形容词和副词;(3)模糊特性: 双关词在WordNet中有至少两个词义;(4)不一致特性的间隔性和重复性: 双关词与非双关词之间在低维稠密空间的语义关联性不大。

对于候选双关词与其他词之间语义相似度的计算方式,本节使用词向量和WordNet两种方式。对于词向量,使用Word2Vec和GloVe,语义距离采用余弦距离和编辑距离;对于WordNet,使用WordNet中的同义词集合,利用Path Similarity计算候选词的不同同义词的相似度。最后,从词向量和同义词出发,融合GloVe和Sysnet的方式计算语义相似度,最终定位双关词的位置。

4 实验与分析

首先介绍实验方面的设置,然后验证本文提出的潜在语义特性在双关语检测任务中的性能,最后验证LOCATION_PUN相似度匹配算法在双关词定位任务中的表现。

4.1 实验设置

本节首先分析实验使用的数据集,然后介绍具体的评价指标和基线方法,最后给出在模型训练过程中的实现细节。

(1) 数据集

SemEval 2017[注]SemEval 2017 Task 7: http://alt.qcri.org/semeval2017/task7.Task 7: 该任务主要检测和定位语义双关句,包括语义双关句和谐音双关句两部分。本文主要关注语义双关句,子任务一是检测语义双关句,每条语料至多含有一个双关表达;子任务二是定位双关词,每条语料均为语义双关句,需要线索定位哪个词为双关词。

Pun of the Day[注]Pun of the Day: http://www.punoftheday.com/.: 该网站的数据用于检测语义双关句,其正例来源于日常的用户,为了构建平衡的数据集进而获取合适的负例,该数据集从以下四个网站收集负例: AP News[注]AP News: http://hosted.ap.org/dynamic/fronts/HOME?SITE=AP.、New York Times、Yahoo!Answer[注]Yahoo!Answer: http://answers.yahoo.com/.和Proverb。统计分析见表2。

表2 数据集SemEval 2017 Task 7和 Pun of the Day的统计信息

数据集正例负例平均长度正例平均长度负例平均长度Task 7(子任务一,语义双关语)160764313.113.910.8Pun of the Day2403240313.512.213.8

(2) 评价指标

对于语义双关语的检测任务,本文的评价指标与SemEval 2017 Task 7任务一的评价方法一致,采用准确率、召回率和F1值指标。

对于语义双关词定位任务,本文与SemEval 2017 Task 7子任务二的评价指标一致,采用覆盖率、准确率、召回率和F1值指标。

(3) 基线方法

对于语义双关语的检测任务,本文设置了如下的基线方法。

• Bag of Words(BOW): 主要捕获句子中的词序关系信息,检测是否为语义双关句。

• Language Model(LM): 在统计学的基础上,通过句子中词的概率分布计算对应的双关概率值,不需要训练集和训练语料。

• AVGWord2Vec: 根据潜在语义分布表示,将句子的任意词对应的词向量相加取平均值。

• HPCF: 将本文提出的四个潜在语义特性定义为语义双关语核心特征(homographic puns core features,简称HPCF)。

• AVGWord2Vec_HPCF: HPCF和AVGWord2Vec结合在一起使用,性能已超过基线方法。

对于语义双关词的定位任务,本文设置了如下的基线方法。

• Idiom Savant: 该方法采用Word2Vec计算候选词的得分,使用WordNet提供的gloss vector计算关联度,在SemEval 2017 Task 7任务二评测中取得了第一名的成绩。

• UWaterloo: 该方法引入互信息等特征,运用得分公式进行排序,从而得到双关词,在SemEval 2017 Task 7中排名第二。

• Fermi: 计算词与词的同义词之间的相似度,在SemEval 2017 Task 7中排名第三。

• LOCATION_PUN: 本文提出的基于词向量和同义词融合的语义相似度匹配算法,用于定位语义双关词,取得了最好的性能。

(4) 实验细节

对于语义双关句的检测任务,本文采用5倍交叉验证来进行实验,使用60%的数据训练模型,使用20%的数据调参,使用20%的数据进行预测。训练Word2Vec词向量维度的语料来自Wiki,分别对比了维度100、200、300,最终选择300维。本文使用GBDT这个基于决策树的方法作为分类算法,与文献[17]一致。

对于双关词的定位任务,本文使用GloVe[注]GloVe: https://nlp.stanford.edu/projects/glove/词向量,分别对比了维度50、100、200,最终选择100维,使用WordNet提供的同义词集,本文对比了余弦距离和编辑距离两种相似度算法,最终选择了余弦距离算法。

4.2 语义双关语检测

将本文提出的基于潜在语义特性的检测方法与基线方法进行对比,具体结果见表3。

(1) HPCF主要包括不一致、模糊、情感因素和语言学共计四个潜在语义特性,在语义双关语检测任务中,其性能优于BOW和LM方法。这充分验证了基于双关语理论提出的潜在语义特性是合理且有效的。HPCF的结果高于LM,表明潜在语义特性消除了领域之间的差异, 从而更精确地检测语义双关句。HPCF的结果高于BOW,表明潜在语义特性能够更合理地理解词在句子中出现的顺序。

表3 语义双关语检测任务中不同方法结果对比

(2) BOW_HPCF是融合BOW和HPCF的算法,在两个数据集上的结果均高于BOW和HPCF方法。这个结果表明BOW_HPCF方法可以充分地表示潜在语义信息和句子中的词序顺序。但是BOW_HPCF的结果不如AVGWord2Vec_HPCF,因为前者仅涉及了充足的潜在语义特性信息,而没有考虑分布式语义信息。

(3) AVGWord2Vec_HPCF在语义双关语检测任务中,在Pun of the Day数据集上,取得了0.91的最优F1值。原因在于该方法充分考虑到潜在语义特性和分布式低维稠密语义信息的关系。而在SemEval 2017 Task 7的任务一中,除了BOW_HPCF取得了最高的召回率之外,其他结论几乎是一致的。从这些结果可以看出,本文提出的潜在语义特性能够深刻地理解语义双关语。

在SemEval 2017 Task 7中最佳的系统Fermi[9,18],该方法同样将语义双关语检测看作一种有监督的分类问题,使用深度学习模型中的循环神经网络来训练分类器,F1值达到0.899。因此,未来本文也将尝试使用现有的深度学习方法来解决这类问题。

本文针对提出的潜在语义特性进行展开实验,分析每个潜在语义特性对语义双关句检测的影响。对于上述的两个数据集,使用统一的分类器GBDT来验证上述不同特性的表现。为了公平性,本文使用统一的参数设置。实验结果如图1所示。

图1 不同的潜在语义结构对语义双关语检测任务的贡献程度

(1) 根据实验结果,可以看出本文提出的潜在语义特性在两个数据集上取得了类似的性能。语言学特性在SemEval 2017 Task 7任务一和Pun of the Day上均取得了最优的实验结果。原因在于语义双关语的检测与语言学特性中的位置信息、词性信息、搭配信息和反义信息具有相当密切的联系。

(2) 在两个数据集中,模糊特性取得了第二的效果,这表明大多数的语义双关语都有着良好的句式结构和多义性,具有难以理解和分析的特点。从图1中可以看出,在Pun of the Day数据集中,情感因素特性性能表现最差,原因在于人类的情感表达,尤其是语义双关句中的情感信息是难以挖掘和分析的。

(3) 与Pun of the Day数据集的结论不同,在SemEval 2017 Task 7任务一中,不一致特性取得了最差的结果,原因在于不协调、不和谐的含义使人们难以找到和理解丰富有用的信息。潜在语义特性在两个数据集上有不同的表现结果,这表明语义双关句的潜在语义特性在不同数据集上会有不同的潜在语义表示信息。

4.3 语义双关词定位

本文选取SemEval 2017 Task 7的任务二作为数据集,提出一种基于词向量和同义词融合的相似度匹配算法,即LOCATION_PUN算法来定位语义双关词,实验结果如表4所示。

由表4可知,本文的LOCATION_PUN算法在双关词定位任务的所有指标中均取得了最优的性能,其F1值超过评测的Idiom Savant近3.4%。原因有两点: 第一,本文提出的潜在语义特性对语义双关词定位任务是有效的,如语言学特性的位置、词性信息,不一致特性的间隔性和重复性,以及模糊特性;第二,在潜在语义特性的基础之上,本文从低维语义空间和传统词典提供的同义词两个角度入手,提出了词向量和同义词融合的方式,既考虑了词共现的分布式语义空间表示,又结合了WordNet提供的同义词信息。

表4 语义双关词定位任务中不同方法的结果对比

下面,本文详细地对LOCATION_PUN算法进行分析,衡量维度有: 语言学潜在语义特性(是否考虑位置信息和词性信息,Linguistics)、模糊特性(是否考虑同义词信息,Sysnet)和不一致特性(是否考虑Word2Vec/GloVe词向量),均使用余弦相似度算法进行对比,实验结果如表5所示。

表5 语义双关词定位任务中不同维度的结果对比

从表5中,可以得到以下的结论。

(1) Linguistics+Sysnet、Linguistics+Word2Vec的结果要分别高于Sysnet、Word2Vec,说明本文提出的语言学潜在语义特性的位置信息和词性信息可以帮助定位语义双关词,从侧面表明了该特性的有效性。

(2) Linguistics+Word2Vec+Sysnet、Linguistics+GloVe+Sysnet的结果均高于Linguistics +Sysnet,说明不一致特性能够帮助定位双关词,同时低维分布式语义空间对双关词的定位也有很大的影响,且GloVe的结果均优于对应的Word2Vec,说明了词共现信息的有效性。

(3) Linguistics+GloVe+Sysnet、Linguistics+Word2Vec+Sysnet的结果高于Linguistics +GloVe、语言学+Word2Vec,原因在于模糊特性提供的同义词信息能够合理地定位双关词。本文提出的方法(Linguistics+GloVe+Sysnet,即LOCATION_PUN算法)的结果最优,在位置信息和词性信息的基础上,考虑了低维分布式语义空间和Sysnet,充分融合了词向量和同义词的信息,能够合理高效地定位语义双关句中的双关词。

5 结论与未来工作

本文的研究工作旨在检测语义双关语和定位双关词。基于双关语的理论基础之上,挖掘了四个潜在语义特性,针对每个特性设计了有效特征集,用以检测语义双关语。在双关词定位任务方面,本文从潜在语义特性出发,提出一种基于词向量和同义词融合的无监督语义相似度匹配算法。在两个数据集上得到的实验结果表明,本文提出的潜在语义特性具有足够的检测语义双关语的能力,能够准确地定位双关词。

在未来工作中,本文将尝试探索更高效的特征来体现语义双关的特点,并结合深度学习算法来检测语义双关句,运用无监督方法、弱监督方法来实现定位双关词的工作。

猜你喜欢

双关语双关语义
真实场景水下语义分割方法及数据集
语音隐喻视角下的韩国语谐音双关句研究
感悟“双关”修辞 提高习作能力
语言与语义
概念整合理论视角下的双关语认知
俄语双关语及其汉译技巧探究
批评话语分析中态度意向的邻近化语义构建
双关
“吃+NP”的语义生成机制研究
德拉巴斯蒂塔的戏剧双关语翻译模式研究