APP下载

基于多维潜在语义特征的幽默识别

2021-10-12樊小超林鸿飞刁宇峰楚永贺张桐瑄

中文信息学报 2021年8期
关键词:句法结构分类器短语

樊小超,杨 亮,林鸿飞,刁宇峰,3,申 晨,楚永贺,张桐瑄

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

0 引言

幽默一词来源于英文单词humor,最早由林语堂先生引入我国,从此西方的一些幽默理论也逐渐在我国传播开来。随着人工智能的快速发展,如何利用计算机识别幽默、理解幽默、生成幽默成为了自然语言处理领域备受关注的研究内容之一,并逐渐形成了一个新兴的研究领域——幽默计算。幽默计算通常以幽默理论为依托,揭示了人类使用幽默的机制,并构建涵盖幽默机制的认知语言模型,为实现更为智能的人机交互环境奠定了研究基础。从应用层面来说,如果能让计算机理解人类语言中的幽默表达,那么计算机就将被赋予理解更深层次人类语言的能力,从而使其能够做出更人性化的决策。总之,在聊天机器人、儿童教育、机器翻译等多种人工智能应用场景中,幽默计算都有着广泛的应用前景。

幽默识别是幽默计算的重要组成部分。目前,幽默识别任务通常被认为是一个文本二分类任务,目标是判别一个句子是否包含幽默的语义表达。由于使用统一的模型来深入理解不同类型的幽默超出了现有计算机的计算能力,因此本文将研究对象聚焦于俏皮话(one-liner)形式的幽默。俏皮话是一种短句形式的幽默,它通过少量的单词引起读者的兴趣,使用特殊语义结构、句法结构或修辞手段引发笑点。与长篇幽默相比,俏皮话没有复杂的语义结构和较长的语境,它经常使用押韵、双关、前后语义矛盾等方式达到预期的幽默效果。以上这些特点使得俏皮话形式的幽默更加适合计算机来进行建模处理。本文利用自然语言处理技术来挖掘隐藏在俏皮话形式幽默背后的潜在语义内涵,构建面向幽默表达的计算模型,从而让计算机深入地理解并识别幽默。

对于俏皮话形式的幽默,英文语料的相关研究较多。前人的研究大多是基于幽默的相关理论,总结蕴含在幽默中的特征,这些研究成果为我们提供了重要的研究基础。其中比较有代表性的工作有: Mihalcea等[1-2]主要研究了头韵、尾韵和成人俚语三类特征对幽默识别的影响;Yang等[3]根据幽默的语言学特性,设计并实现了幽默的四类语义特征。仅从幽默的语音或语义角度构建幽默特征无法从多个维度对幽默的潜在语义进行表示,从而限制了幽默识别的性能。此外,以往的研究多局限于单一的分类器,缺乏对不同分类器的系统分析与对比,这也为后续的研究提出了进一步的要求。

本文在前人工作的基础上,根据幽默的相关理论,系统地对幽默的潜在语义特征进行了分类,并为每一类幽默特征设计了相应的特征集合,最后采用多种机器学习方法,在两个俏皮话幽默数据集上对比了不同类别特征的性能。本文的贡献主要有以下三点: 首先,根据幽默的不一致性理论和语言学特性,系统地分析了幽默的特点,从语音、语义和句法结构三个维度将幽默的特征归纳为五个类别,包括不一致特性、模糊特性、语音特性、情感特性和句法结构特性;其次,对于幽默的每一类特性,设计并实现了幽默的特征集合,并采用多种机器学习方法进行了对比实验;最后,在公开的俏皮话幽默数据集pun-of-the-day和oneliners-16000上,本文提出的幽默特征均取得了良好的性能。

1 相关工作

1.1 幽默理论的国内外发展概况

在国内,尽管“幽默”一词出现较晚,但其作为一个致笑的喜剧范畴却已有相当长的历史,只不过未被冠以“幽默”的称谓[4]。随着国外语用研究和认知语用学的快速发展,国内的幽默研究也涌现出了许多研究成果[5-7]。但就总体而言,我国的幽默理论研究还比较薄弱,无论是研究的广度和深度都与西方的幽默研究差距较大[8]。在国外,幽默理论研究是一个古老的课题,至今已有两千多年的历史。西方主要的幽默理论可以归为三大理论范畴,包括从社会行为角度出发的优越论,从心理和精神分析角度出发的释放论,以及从认知心理学出发的乖讹论。其中,乖讹论对西方的现代幽默理论研究影响深远。Raskin在乖讹论的基础上提出了语义脚本理论(SSTH)[9],并进一步发展出了言语幽默的普遍理论(GTVH)[10]和幽默的本体语义理论(OSTH)[11]。

幽默理论为幽默计算提供了具有重要指导意义的语义规则和语用规则,为构造特征进行幽默识别奠定了理论基础。

1.2 幽默识别方法

传统的机器学习方法仍然是幽默识别领域应用最广泛的方法。Zhang等[12]构建了大规模笑话语料库。林鸿飞等[13]构建了大规模的笑话语料库,并利用n-gram语言模型对幽默进行识别。Mihalcea等[14]证明了机器学习方法能够较好地处理幽默计算问题,他们定义了三种类型的幽默特征,包括头韵、反义词和成人俚语。Zhang等[15]基于推特语料,设计了5大类别多达50多种幽默特征。Yang等[3]对幽默的潜在语义特征进行了系统的解释并提取了四种类型的幽默特征。Barbieri等[16]基于幽默的模糊性和语音特性提出了一系列幽默特征。Purandare等[17]由喜剧电视节目中的对话构造了幽默数据集,并采用多模态的分析方法,结合声音特征与语义特征进行幽默识别。Taylor等[18]提出了提取笑话结构模式的方法,该方法成功应用于双关语幽默的检测中。在最近的研究工作中,Liu等[19]建立了语篇单元感知关联模型来检测幽默。他们的另一项研究中[20],通过实验证明了句法结构特征与幽默的高度相关性。深度学习方法能够自动提取潜在语义特征,在幽默识别领域取得了一些研究成果[21-24]。但是,深度学习方法缺乏幽默理论的驱动,往往可解释性较差。因此,Zhao等[25]提出了词汇中心度的特征,并结合了张量的嵌入式表示。Bueno等[26]构造了幽默的语言学特征,并结合深度学习方法进行幽默识别。

传统机器学习方法通常基于幽默理论和幽默的语言学特性,因此人工构造的特征能够提取与幽默高度相关的本质特征。许多实验结果表明,传统机器学习方法性能令人满意。但是前人的工作大多基于单一维度的幽默特征,缺乏从语义、语音和句法结构等多个维度对幽默文本进行建模,且缺少对不同分类器性能的对比分析,而深度学习方法缺乏幽默理论的驱动,没有考虑幽默的本质语言特性,且大多实验结果难以给出让人信服的解释。

2 幽默的潜在语义特征

根据幽默理论和幽默的语言学特性,本文根据幽默的语义、语音和句法结构特点将幽默的本质特征归纳总结为以下5个类别,包括不一致特性、模糊特性、语音特性、情感特性和句法结构特性。对于每一种特性,本文设计并实现了一组特征,然后将这些特征结合起来对幽默进行识别。

2.1 不一致特性

幽默语义脚本理论[9]指出,不一致性是幽默产生的重要原因之一。语言学家Lefcourt[27]指出“幽默源自于对两种或两种以上的情况表现出来的不一致、不协调,或者发生强烈对比,这种表现往往在复杂的上下文中难以得到合理的解释,或者由于特定的组合方式产生了相互矛盾。”同样,Paulos[28]也有类似的看法,他认为“幽默的本质是不一致性,是两种思想的分离。”例如:

例1A clean desk is a sign of a cluttered desk drawer.

例1中,“clean”和“cluttered”是一对反义词,在二者共同作用下,句子的前后两个部分语义产生了强烈的对比,从而造成了幽默的效果。通过对上例的分析,我们发现不一致性往往通过单词之间的语义冲突体现出来。

传统的独热形式编码会造成高维稀疏的特征空间,且特征向量之间是正交的,这种单词表示方法很难对句子的不一致特性进行衡量。因此本文采用了WordNet(1)https://wordnet.princeton.edu/和Word2Vec[29]两种方式间接地提取句子中不一致特性。WordNet能够基于上位词层次结构中相互连接的概念之间的最短路径计算单词之间的语义距离。因此,本文采用了WordNet的语义距离表示单词语义之间的差异程度。此外,Word2Vec能够把自然语言中的离散单词转换成计算机能够理解的低维稠密向量,因此本文采用Word2Vec衡量单词间的语义相似度作为不一致特性的衡量方法。余弦相似度被用来衡量单词之间的语义关联程度。设wi、wj为句子中的两个单词,xi、xj为单词的词向量表示,sen(w1),sen(w2)为WordNet中单词所属概念集合,则幽默的不一致特性的特征如下:

(1)最大语义距离: 句子中任意两个单词之间的最大语义距离SimImax(wi,wj)的计算如式(1)所示。

(1)

(2)最小语义距离: 句子中任意两个单词之间的最小语义距离SimImin(wi,wj)的计算如式(2)所示。

(2)

(3)最大语义相似度: 句子中任意两个单词之间的最大语义相似度,计算如式(3)所示。

(3)

(4)最小语义相似度: 句子中任意两个单词之间的最小语义相似度,如式(4)所示。

(4)

(5)反义词对: 是否存在反义词对。

2.2 模糊特性

幽默的关联理论[30]主要从自然语言中的一个普遍现象——模糊性来探索和分析幽默。模糊特性是指句子中的某些单词存在多个语义,使得句子的理解产生了歧义性[31]。Miller等[32]指出,模糊性是幽默的关键因素,是幽默中常见的语言现象。当表层句子结构中的单词以多种方式组合在一起时,产生多个相关句子的深层结构,从而产生了模糊特性。例如:

例2It is so hot that all the fans left after the baseball game.

例2中,单词“fans”在该句中可以做多种解释,读者可以将它理解为“球迷”或者“风扇”,这使得句子产生了两种截然不同的语义,进而造成了幽默效果。句子的模糊特性,通常是由于单词存在多种语义理解,且这些语义之间存在较大的差异。

WrodNet可以计算单词包含的语义数量和语义距离,因此本文采用WordNet来衡量句子的模糊特性。句子中的停用词通常对句子的表达影响较小,因此首先去除了句子中的停用词,将剩下的单词作为句子的候选单词集。然后利用WordNet的单词网络计算候选单词集中每个单词的同义词集合Synset。Synset可以反映一个单词包含语义的数量。在此基础上,本文使用了语义联合度衡量句子中单词包含的语义数量。除此之外,对于同一个单词,不同语义间的语义距离越大,可能造成的句子的歧义性就越大,更可能产生笑点。设w′n、w′m为单词wi的任意两个同义词,则模糊特性的特征为:

(1)语义联合度: 对于候选单词{w1,w2,…,wk},用WordNet统计wi的语义数量nwi,语义联合度计算如式(5)所示。

(5)

(2)词义最大距离: 对于同一单词的不同语义计算语义距离并取最大值,然后求和,计算如式(6)所示。

(6)

(3)词义最小距离: 对于同一单词的不同语义计算语义距离并取最小值,然后求和,计算如式(7)所示。

(7)

2.3 情感特性

幽默的优越理论关注了对于受众的人际影响。幽默在本质上与情感[33]和主体性[34]高度相关。一些带有强烈感情色彩的词会增加受众对于作者表述的认同感,能更充分地调动读者的情绪,从而达到幽默的效果。例如:

例3If I think I have seen an idiot before is that a case of deja fool.

例3中,单词“idiot”和“fool” 反映了作者的情绪,且都带有强烈的负向情感。该句包含影射、调侃和讽刺之意,显得风趣幽默。因此,单词的情感倾向、句子的情感值均可能对幽默识别产生影响。

本文使用SenticNet(2)https://sentic.net/来衡量句子中单词的情感极性和情感强度。SenticNet是包含了一系列将常识推理、心理学、语言学和机器学习相结合的情感分析工具和技术,能够从多个维度计算单词的情感极性(polarity)和情感学特性(sentics)。设句子为S={w1,w2,…,wN},N为句子长度,则幽默的情感特性的特征为:

(1)正负向情感单词数量: 句子中包含正负向情感单词的个数。

(2)情感值: 句子中所有单词的正负情感得分,可表示为式(8):

(8)

(3)情感平均值: 句子的情感得分除以句子长度,计算如式(9)所示。

(9)

(4)情感绝对值: 句子中所有单词情感得分取绝对值后求和,计算如式(10)所示。

(10)

(5)情感绝对值的平均值: 句子中所有单词情感得分取绝对值后求和并除以句子长度,计算如式(11)所示。

(11)

(6)情感学总分: 句子中所有单词的正负情感学得分,计算如式(12)所示。

(12)

(7)情感学平均值: 句子的情感学得分除以句子长度,计算如式(13)所示。

(13)

(8)情感学绝对值: 句子中所有单词情感学得分取绝对值后求和,计算如式(14)所示。

(14)

(9)情感学绝对值的平均值: 句子中所有单词情感学得分取绝对值后求和并除以句子长度,计算如式(15)所示。

(15)

2.4 语音特性

幽默的普遍理论[10]指出,幽默可以由不协调的语音或单词发音引起。Mihalcea等[12]指出幽默句子的语音特性几乎和它们的语义特性处于同等重要的位置。许多研究表明,俏皮话形式的幽默常常会使用修辞手段造成幽默效果,比如押头韵、押尾韵或单词重复等。此外,即使句子的内容缺乏喜剧效果,句子的一些语音特性也能独立地引发笑点,即语音特性能够独立于语义产生幽默。例如:

例4You can tune a piano, but you can’t tuna fish.

例4中,虽然句子的内容缺乏笑点,但是单词“tune”和“tuna”相似的发音在很大程度上增强了句子的幽默效果,成为了幽默句子中画龙点睛之笔。通过该例子进一步发现,单词的发音和拼写并不是完全一致,需要把单词转换成语音才能更好地分析幽默的语音特性。

为了得到单词的语音表示,本文使用了卡内基梅隆大学的发音词典(CMU)。CMU(3)http://www.speech.cs.cmu.edu/cgi-bin/cmudict发音词典包含134 000多个单词及其发音。CMU包含39个音素,比没有词汇重音的版本更加准确。每个单词被转换成对应的音素,例如单词“word”的发音是[W,ER, D]。对于幽默的语音特性,设计特征如下:

• 押头韵: 句子中押头韵单词的个数。

• 头韵链长度: 句子中头韵链的最大长度。

• 押尾韵: 句子中押尾韵单词的个数。

• 尾韵链长度: 句子中尾韵链的最大长度。

• 重复性: 去除停用词后,句子中是否出现重复的单词或符号。

2.5 句法结构特性

尽管人们研究了许多幽默的语言学特性,但往往忽略了幽默也是一种文体,幽默的句法结构对幽默的产生同样重要[18]。Liu等[19]指出句法结构特征能够有效地提高幽默识别的性能。

如图1所示,本文利用Stanford Parser(4)https://nlp.stanford.edu/software/lex-parser.shtml来分析句子的句法结构,从句子的结构特性来揭示幽默的固有特征。本文分别从单词和短语两个粒度构造了幽默特征:

图1 句法分析树

(1)句子长度: 句子包含单词的数量。

(2)词性占比: 名词、动词、形容词、副词的个数除以句子长度。

(3)词性链占比: 两个以上的词性组成了词性链,例如S-NN, 计算词性链数量并除以所有词性链的数量。

(4)词性链的最大长度: 最长词性链的长度。

(5)句子复杂度: 名词短语数量,动词短语数量,介词短语数量,从属连词数量。

(6)短语长度占比: 计算名词短语、动词短语、介词短语的平均长度除以句子长度。

(7)平均短语长度: 每个短语的单词数除以对应短语类型的数量。在这里,本文只考虑了没有嵌套关系的情况。

(8)归一化短语长度: 名词短语、动词短语、介词短语的平均长度除以句子长度。

(9)短语占比: 名词短语、动词短语、介词短语的数量除以句子长度。

3 实验与分析

本节首先介绍了实验数据和基线方法,然后分析了不同类型特征对幽默识别性能的影响,最后对不同分类器的性能进行了对比。

3.1 实验数据与评价指标

Pun-of-the-day (Puns): 该数据集由Yang等[3]构建,其中幽默文本来自同名网站,非幽默文本来自美联社新闻、纽约时报、雅虎新闻和谚语。数据集为平衡数据集,正样本和负样本的数量均为2 403,句子的平均长度为13.5。

Oneliner-16 000 (Oliners): 该数据集由Mihalcea[14]构建(在Liu等[19-20]的研究中称该数据为mixed)。数据集中的正例样本来自多个著名的幽默网站,负例样本为路透社新闻的标题。该数据集同样是一个平衡数据集,正负样例均为16 000条,句子的平均长度是12.6。

评价指标: 为了与基线方法进行比较,本文在实验中采用了被广泛接受并应用于文本分类任务中的评价指标,包括精确率(Acc)、准确率(P)、查全率(R)和F-measure(F1)。本文采用10折交叉验证的方法对模型的性能进行评估。

3.2 基线方法

•词袋模型[3]: 将词频作为特征,采用随机森林分类器。

•SaC[3]: 提取了幽默文本的头韵、反义词和成人俚语特征,采用随机森林分类器。

•HCF[3]: 提取了幽默的不一致性、歧义性、语音和人际交互特征,采用随机森林分类器。

•W2V+HCF[3]: HCF的4类特征中加入了词向量特征,采用随机森林分类器。

•SA[19]: 在HCF特征的基础上,提出了对话关系特征、情感冲突特征和情感转移特征,同时采用了词向量特征,采用随机森林分类器。

•Syn[20]: 在HCF特征的基础上,提出了句法结构特征,同时采用了词向量特征,使用了随机森林分类器。

•TELC[25]: 采用张量的嵌入式表示对语句的上下文信息进行编码,并采用k-近邻方法识别幽默。

•IASPS: 本文提出的不一致特性、模糊特性、情感特性、语音特性和句法结构特性5类幽默特征。

为了便于与前人的工作比较,本文首先采用了随机森林作为分类器,比较不同特征集合的性能,结果如表1所示。

表1 Puns和Oliners幽默识别结果

从表1可以看出:

(1) 词袋模型和TELC的性能较低。词袋模型只考虑了词频,而幽默语句的用词和普通语句的用词十分相似,TELC只考虑了用词之间的相互关系对上下文建模,二者均无法有效地表征幽默的本质特征。

(2) Sac和HCF方法的性能有所提升,它们能够更好地表征幽默语句的特征。但是二者在两个数据集上的表现存在差异,Sac在Puns上取得了更好的性能,而HCF在Oliners上取得了较好的性能,说明它们提取的幽默特征有限,泛化能力较差。

(3) 词向量能够表达单词的深层次的语义特征,因此在实验中的性能较好,且在两个数据集上性能保持稳定,与HCF结合后仍然能够得到较好的性能。

(4) SA和Syn方法加入了情感相关特征或句法结构相关特征,二者的F1值在Oliners上均有所提升,Syn在Oliners上的精确率较高。这表明情感特征和句法结构特征能够为幽默识别提供有力的支持。

(5) 本文提出的特征集合IASPS与其他基线方法相比在多个指标上取得了较好的性能,与加入了词向量特征后的SA和Syn的性能在Oliners上可比。这表明本文构造的特征集合能够从多个维度对幽默的潜在特征进行较好的表征,从而使得分类器取得较好的性能。

(6) 在加入了GloVe词向量特征之后,本文提出IASPS在两个数据集上的几乎所有指标均取得了最佳的性能。这表明本文提出的5类人工特征和潜在语义特征的结合能够有效地对幽默特征进行表征,从而更好地识别幽默文本。我们对比了100维,200维和300维的GloVe词向量,其中100维的词向量性能较好,所有评价指标在两个数据集上均有不同程度的提升,这表明词向量能够从深层次表征文本的语义内容,能够从语义角度为人工特征提供有益的补充。

3.3 分类器性能对比

为了对比不同分类器的性能,本文分别训练了逻辑回归(LR)、朴素贝叶斯(NB)、支持向量机(SVM)、梯度提升树(GBDT)等分类器,以上分类器均采用了本文提出的5类幽默特征。以上模型均采用默认的参数。实验结果如表2、表3所示。

表2 不同分类器在Puns数据集的性能对比

表3 不同分类器在Oliners数据集的性能对比

表2和表3对比了不同模型在两个数据集上的幽默识别的性能。对于Puns数据,SVM取得最佳的性能,相比于其他模型,所有评价指标均有显著提升,表明本文设计的人工特征在小规模数据集中能够更好地从不同维度表征幽默文本的语义表达。对于大规模数据集Oliners,SVM也取得了最佳的性能,但性能提升相对较小,说明幽默的潜在语义特征复杂多样,模型的泛化能力有限。实验结果表明本文设计并实现的多种幽默特征能够有效捕获潜在的幽默语义表达,SVM相对于其他分类算法具有更好的幽默识别性能。

3.4 特征重要性对比

为了研究不同的语义特征对幽默识别的影响,本文分别将不一致特性、模糊特性、情感特性、语音特性和句法结构特性5类特征作为幽默的潜在语义表示,使用SVM作为分类器,得到了不同类型特征对幽默识别的贡献程度。

实验结果如图2所示。对于Puns数据集,情感类特征对幽默识别的性能影响最为显著。这主要是因为幽默的文本通常带有正向的情感,而非幽默的语句包含的情感词汇较少或带有负面情感,因此情感特征对幽默识别具有显著的影响。对于Oliners数据集,不一致性特征影响最为明显。这表明在幽默的表达中,不一致性普遍存在于幽默的表达中,且能够较好地表达出文本的幽默效果,是幽默产生的重要原因。模糊性特征在两个数据集上均表现出一定的识别性能,但是人工构造的模糊性特征表征能力有限,对幽默识别性能影响相对较小。语音类特征对幽默识别的影响较小,说明谐音、重复造成的幽默形式在这两个数据集中的比重较小,但是也不能忽视语音特征对幽默的影响。句法结构特征在两个数据集上性能相当,对幽默识别性能的影响较小。

图2 特征重要性对比

4 结论

本文的研究工作旨在提取幽默文本中的特征进而对幽默文本进行自动识别。基于幽默理论和幽默的语言学特性,本文从语义、语音和句法结构等多个维度对幽默文本的潜在语义表达进行建模,构造了5类特征,包括不一致特性、模糊特性、情感特性、语音特性和句法结构特性。对于每一类特征,分别设计并实现了一系列的特征,从而从多个维度的不同侧面对幽默潜在语义表达进行了表征。在两个公开的幽默数据集上的实验结果表明,本文构造的5类特征能够更好地对幽默表达进行表示,其中情感类特征对幽默识别的影响最为显著。其次,词向量能够从更高维度表达词汇信息,对幽默识别有一定的帮助。最后,本文对不同分类器的性能进行了对比,SVM模型在幽默识别领域具有较好的性能。

在未来的工作中,我们将尝试构建更加有效的幽默特征来提升幽默识别的性能。同时,深度学习算法能够自动地学习更深层次的潜在语义特征,如何将其与认知语言学结合起来进行幽默识别也是我们今后需要研究的方向。

猜你喜欢

句法结构分类器短语
现代汉语句法结构解读
《基本句法结构:无特征句法》评介
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
《健民短语》一则
基于LLE降维和BP_Adaboost分类器的GIS局部放电模式识别
多重决策树并行组合分类器设计及其应用研究
构词派生:语义关系与句法结构