首页 / 专利库 / 人工智能 / 计算幽默 / 一种基于神经网络和幽默特征的幽默识别方法

一种基于神经网络和幽默特征的幽默识别方法

阅读:518发布:2020-05-12

专利汇可以提供一种基于神经网络和幽默特征的幽默识别方法专利检索,专利查询,专利分析的服务。并且一种基于神经网络和幽默特征的幽默识别方法,属于 数据挖掘 和 自然语言处理 领域,用以解决进行幽默识别的问题,要点是包括S1、幽默语料采集及预处理;S2、幽默特征提取;S3、文本的词向量表示;S4、神经网络模型构建;S5、幽默识别结果评价,效果是:对特定形式的幽默数据进行采集和预处理,根据相关成熟的幽默理论,充分考虑到幽默文本的语音特性,构造幽默的语音特征;利用幽默的模糊性特性,提取了句子中拥有同义词最多的词作为特征词并对其进行向量化;采用了 深度学习 方法,提取了幽默文本背后深层次的语义特征,并将幽默的语音特征和模糊性特征融合到神经网络当中,从而进行幽默识别,在数据集上的实验验证了本 发明 方法对幽默识别的有效性。,下面是一种基于神经网络和幽默特征的幽默识别方法专利的具体信息内容。

1.一种基于神经网络和幽默特征的幽默识别方法,其特征在于,包括以下步骤:
S1、幽默语料采集及预处理步骤:
a1、幽默语料采集:从网站上获取幽默的文本以及文本的评价信息;对文本ID进行编号作为文本的唯一标识;采集网站幽默的内容作为幽默文本候选集;从所述网站获取文本幽默的评价信息作为衡量文本幽默程度的标准;采集其他形式的文本作为非幽默文本的候选集,幽默语料为单句;
a2、预处理步骤:对幽默文本候选集和非幽默文本候选集进行数据清洗,删除文本中的特殊字符和不可识别字符;标注幽默文本;根据句子长度相近和正负例所用词典一致原则从非幽默文本候选集中选取非幽默文本;对幽默文本和非幽默文本进行分词处理;
S2、幽默特征提取步骤:
b1、幽默的语音特征提取:对步骤S1得到的句子的词语集合,利用发音词典,提取句子的幽默语音特征向量P;
b2、幽默的不一致性特征提取:对步骤S1得到的句子的词语集合,利用语义资源和词向量工具,提取幽默句子不一致性的特征向量Q;
S3、基于神经网络的文本的词向量表示步骤:
c1、词向量获取:获取语料,包括维基百科语料和笑话语料,作为训练词向量的语料集,使用词向量工具训练词向量,从而得到幽默文本和非幽默文本中每个词的低维稠密向量;
c2、文本的词向量表示:利用c1获取的词向量将步骤S1得到的幽默句子和非幽默句子表示为n×m×d的词嵌入式矩阵,n为样本的数量,m为每个样本包含的单词数量,d为词向量的维度;
c3、模糊性特征词抽取:对步骤S1得到的每个句子的词语集合,利用语义资源提取同义词集合Synseti={synset1,synset2,…,synsetj,…,synsetn},i为句子中的第i个单词,n为同义词集个数,synsetj为同义词语意单元;利用同义词语意资源由synsetj得到每个同义词集的意义相近的单词集合synWordsi={W11,W12,…,W1m,…,Wn1,…,Wnm},m为synsetj的同义词数量,去除synWordsi重复单词,计算句子中synWordsi最多的单词,句子中拥有近义词数量最多的单词作为幽默的模糊性特征词;
c4、模糊性特征词向量表示:每个句子可能抽取出一个或多个有关幽默的模糊性特征的单词,若句子只包含一个特征词,则利用有关词向量方法和c1获取的词向量将特征词表示为向量形式T;若句子中包含多个特征词,则使用它们的平均词向量作为模糊性特征词向量;
S4、神经网络模型构建步骤:
d1、模型的输入:根据步骤c4得到的幽默的模糊性特征词向量T,将其与句子中的每一个单词的词向量wt进行拼接,作为模型的输入词向量;
d2、构建幽默识别模型:利用循环神经网络提取d1中得到的输入的潜在语义特征,得到文本的隐层向量表示;
d3、注意机制幽默识别:采用注意力机制进行幽默识别,加大模糊性特征词及其周围词的权重,提高幽默识别的性能;
d4、计算句子的平均词向量表示:根据步骤d3得到的幽默句子的隐层表示,计算句子的平均词向量表示;
d5、融合幽默特征:将步骤b1中提取的幽默的语音特征和步骤b2提取的幽默的不一致性特征与步骤d4得到的句子的平均词向量表示进行拼接,得到句子的向量表示;
d6、幽默识别:根据步骤d5得到的幽默句子的隐层表示s,计算句子是否是幽默语句的概率,从而最终判断给定的句子是幽默文本或非幽默文本;
S5、幽默识别结果评价步骤:根据评价指标对幽默识别的结果进行评价。
2.根据权利要求1所述的一种基于神经网络和幽默特征的幽默识别方法,其特征在于,步骤a2,所述的标注幽默文本为:根据幽默评价信息,将评价得分较高的文本自动标注为幽默文本,即正例,并对自动标注信息进行人工审核。
3.根据权利要求1所述的一种基于神经网络和幽默特征的幽默识别方法,其特征在于,步骤a2中分词处理采用了Python语言中的NLTK模
4.根据权利要求1所述的一种基于神经网络和幽默特征的幽默识别方法,其特征在于,步骤b1中,所述的发音词典为CMU发音词典,所述的幽默的语音特征提取是将英文单词表示成音素的形式;提取句子中单词头部发音相同的单词个数、句子中单词头部发音相同的音素的最大长度、句子中单词尾部发音相同的单词个数、句子中单词尾部发音相同的音素的最大长度,是提取压头韵的单词个数、头韵链的最大长度、压尾韵单词个数、尾韵链的最大长度作为幽默的语音特征,得到4维的特征向量P。
5.根据权利要求1所述的一种基于神经网络和幽默特征的幽默识别方法,其特征在于,步骤b2中所述的幽默的不一致性特征提取是对步骤S1得到的句子的词语集合,利用语义资源,判断句子中是否有反义词对;利用词向量工具,将词语表示成低维稠密向量,提取句子中单词对的最大和最小的语义距离,将以上是否有反义词对,最大语义距离,最小语义距离作为幽默句子不一致性的特征,得到3维特征向量Q。
6.根据权利要求1所述的一种基于神经网络和幽默特征的幽默识别方法,其特征在于,步骤b2中和步骤c3中,所述的语义资源为wordNet。
7.根据权利要求1所述的一种基于神经网络和幽默特征的幽默识别方法,其特征在于,步骤S4中,模型的输入向量Xt可以表示为:
所述的循环神经网络为双向长短期记忆网络Bi-LSTM,
其中每个细胞计算单元的计算公式如下:
ft=σ(Wf·X'+bf)
it=σ(Wi·X'+bi)
ot=σ(Wo·X'+bo)
ct=ft⊙ct-1+it⊙tanh(Wc·X'+bc)
ht=ot⊙tanh(ct)
X'为LSTM输入向量Xt和(t-1)时刻的隐层输出向量ht-1的拼接,ft,it,ot分别为LSTM的遗忘、输入门和输出门,ct为LSTM的细胞单元,Wf,Wi,Wo分别为LSTM模型遗忘门、输入门和输出门的参数矩阵,bf,bi,bo分别为LSTM模型遗忘门、输入门和输出门的偏执量,以上参数由LSTM模型学习获得,σ为sigmoid函数,tanh为正切函数,Wc表示细胞单元的参数,bc为细胞单元的偏执量,⊙表示矩阵的按元素乘法,ht表示隐层输出;
所述的注意力机制幽默识别为:根据步骤d1中得到的基于特定模糊性特征词T的情况下句子的词嵌入式表示模型的输入向量Xt和步骤d2中得到的句子的隐层表示ht,计算注意力机制的句子中单词的权重向量αi和句子的隐层表示r,计算公式如下:
α’t=WαXt+bα
rt=htαt
其中Wα为注意力机制的权重,bα为注意力机制的偏执量,T为句子中单词数量。
8.根据权利要求1所述的一种基于神经网络和幽默特征的幽默识别方法,其特征在于,步骤S4中,所述的评价指标为精确率、准确率、召回率和F1值,精确率计算公式如下:
准确率计算公式如下:
召回率公式如下:
F1值公式如下:
其中TP表示分类器将正例判定为正例的样本数,TN表示分类器将负例判定为负例的样本数,FP表示分类器将负例判定为正例的样本数,FN表示分类器将正例判定为负例的样本数。

说明书全文

一种基于神经网络和幽默特征的幽默识别方法

技术领域

[0001] 本发明涉及数据挖掘自然语言处理领域,尤其是一种基于神经网络和幽默特征的幽默识别方法。

背景技术

[0002] 随着人工智能的快速发展,幽默识别成为了自然语言处理中一个非常有趣热的研究问题。幽默是一种特殊的语言表达形式,它能够活跃气氛,化解尴尬,维基百科中,幽默被定义为一种使人发笑的品质或使人发笑的能。毫无疑问,人与人的交往中如果没有幽默,那么人的交际能力是不完整的。而在人机交互领域,问答系统、对话系统已经在很多家用产品中得以应用,人与计算机的交互也变得越来越普遍,如果能够使得计算机理解并使用幽默,计算机将更加人性化,计算机与人的交流也会更加顺畅,这也将成为人工智能时代人类的一项重大成就。使计算机能够理解并使用幽默,首先要让计算机具有幽默识别的能力。
[0003] 幽默识别任务就是让计算机能够自动的识别出给定的段落或句子是否是幽默的。幽默识别任务在自然语言处理领域仍然是一个具有挑战性的任务。首先,幽默的形式种类多种多样,很难对幽默的形式给出准确的定义和划分;其次,一些幽默需要较长的上下文信息进行铺垫;此外,许多幽默的理解需要发现文本内容背后大量的常识知识,需要对文本内容进行多次的加工,换句话说,幽默是一种潜在的语义表示,是人类语言的高级抽象形式。
[0004] 使计算机识别所有形式的幽默超出了计算机现有的计算能力,本发明将幽默识别的研究范围限定为句子级别。一个仅包含少量单词的句子具有幽默的效果,通常该句子会存在一些特别的语法结构或语义形式,这也为计算机能够自动寻找和学习幽默背后的特征提供了有迹可循的线索。
[0005] 幽默的理论研究可以追溯到上个世纪90年代,其中最具有影响力的幽默理论是语义脚本理论(SSTH)等。根据幽默的相关理论,许多研究者投入到幽默计算的研究当中,Taylor等人采集了推特中的幽默文本并进行了标注,从幽默的语义特点和结构特点出发构造了一系列幽默特征,采用传统的机器学习方法对幽默进行了识别。
[0006] 目前对文本的幽默识别研究较少,大多数研究从幽默的理论出发,人工构造一些幽默的特征,采用传统的文本表示方法和分类算法进行幽默识别,识别的效果欠佳。而将深度学习方法应用于幽默识别还处于简单应用阶段,没有结合幽默的特征来进行文本的幽默识别。

发明内容

[0007] 本发明的目的是提供一种能够有效避免传统的特征工程方法需要人工构造大量幽默特征的缺点,为用户提供一种结合少量幽默特征的自动对文本进行幽默识别的方法。
[0008] 本发明解决现有技术问题所采用的技术方案:一种基于神经网络和幽默特征的幽默识别方法,包括以下步骤:
[0009] S1、幽默语料采集及预处理步骤:
[0010] a1、幽默语料采集:从网站上获取幽默的文本以及文本的评价信息;对文本ID进行编号作为文本的唯一标识,便于存储和今后使用;采集网站幽默的内容作为幽默文本候选集;从所述网站获取文本幽默的评价信息作为衡量文本幽默程度的标准;采集新闻等形式的文本作为非幽默文本的候选集。幽默语料为单句。
[0011] a2、预处理步骤:对幽默文本候选集和非幽默文本候选集进行数据清洗,删除文本中的特殊字符和不可识别字符;根据幽默评价信息,将评价得分较高的文本自动标注为幽默文本,即正例,并对自动标注信息进行人工审核;根据句子长度相近和正负例所用词典一致(词典由正例不重复单词生成,如果非幽默成本中含有非词典中词汇,此非幽默文本不被选取)两条原则从非幽默文本候选集中选取非幽默文本,即负例;对幽默文本和非幽默文本进行分词处理。
[0012] S2、幽默特征提取步骤:
[0013] b1、幽默的语音特征提取:对步骤S1得到的句子的词语集合,利用发音词典,将英文单词表示成音素的形式;提取句子中单词头部发音相同的单词个数、句子中单词头部发音相同的音素的最大长度、句子中单词尾部发音相同的单词个数、句子中单词尾部发音相同的音素的最大长度,即压头韵的单词个数、头韵链的最大长度、压尾韵单词个数、尾韵链的最大长度作为幽默的语音特征,从而得到4维的特征向量P。
[0014] b2、幽默的不一致性特征提取:对步骤S1得到的句子的词语集合,判断句子中是否有反义词对;利用步骤c1得到的词向量,将词语表示成低维稠密向量,计算句子中任意两个词的语义距离,计算语义距离最大值和语义距离最小值,将是否有反义词对,语义距离最大值和语义距离最小值作为幽默的不一致性特征,得到3维特征向量Q。语意距离计算采用Cosine相似度,其计算公式如下:
[0015]
[0016] similarity(A,B)表示两个单词向量的cosine语义距离。A和B分别表示句子中的任意两个单词,||A||2,||B||2分别表示单词向量A和B的2-范数。
[0017] S3、基于神经网络的文本的词向量表示步骤:
[0018] c1、词向量获取:获取维基百科语料和笑话语料作为训练词向量的语料集,使用词向量工具训练词向量。得到幽默文本和非幽默文本中每个词的低维稠密向量。
[0019] c2、文本的词向量表示:利用c1获取的词向量将步骤S1得到的幽默句子和非幽默句子表示为n×m×d的词嵌入式矩阵,n为样本的数量,m为每个样本包含的单词数量,d为词向量的维度。
[0020] c3、模糊性特征词抽取:对步骤S1得到的每个句子的词语集合,利用同义词语义资源提取同义词集合Synseti={synset1,synset2,…,synsetj,…,synsetn},i为句子中的第i个单词,n为同义词集个数,synsetj为同义词语意单元;利用同义词语意资源由synsetj得到每个同义词集的意义相近的单词集合synWordsi={W11,W12,…,W1m,…,Wn1,…,Wnm},m为synsetj的同义词数量,去除synWordsi重复单词,计算句子中synWordsi最多的单词,既句子中拥有近义词数量最多的单词作为幽默的模糊性特征词。
[0021] c4、模糊性特征词向量表示:每个句子可能抽取出一个或多个有关幽默的模糊性特征的单词。若句子只包含一个特征词,则利用c1获取的词向量将特征词表示为向量形式T;若句子中包含多个特征词,则使用它们的平均词向量作为模糊性特征词向量,其计算公式如下:
[0022]
[0023] T为特征词的平均词向量,N为句子中特征词的个数,Tn为第n个特征词的词向量。
[0024] S4、神经网络模型构建步骤:
[0025] d1、模型的输入:根据步骤c4得到的幽默的模糊性特征词向量 将其与句子中的每一个单词的词向量wt进行拼接,作为模型的输入词向量Xt,Xt∈ 其中 表示向量空间,d表示向量维度,输入向量可表示为:
[0026]
[0027] d2、构建幽默识别模型:利用循环神经网络RNN提取d1中得到的输入Xt的潜在语义特征,得到文本的隐层向量表示。本发明采用了双向长短期记忆网络(Bi-LSTM),其中每个细胞计算单元的计算公式如下:
[0028]
[0029] ft=σ(Wf·X'+bf)
[0030] it=σ(Wi·X'+bi)
[0031] ot=σ(Wo·X'+bo)
[0032] ct=ft⊙ct-1+it⊙tanh(Wc·X'+bc)
[0033] ht=ot⊙tanh(ct)
[0034] X'为LSTM输入向量Xt和(t-1)时刻的隐层输出向量ht-1的拼接,ft,it,ot分别为LSTM的遗忘门、输入门和输出门,ct为LSTM的细胞单元,Wf,Wi,Wo分别为LSTM模型遗忘门、输入门和输出门的参数矩阵,bf,bi,bo分别为LSTM模型遗忘门、输入门和输出门的偏执量,以上参数由LSTM模型学习获得,σ为sigmoid函数,tanh为正切函数,Wc表示细胞单元的参数,bc为细胞单元的偏执量,⊙表示矩阵的按元素乘法,ht表示隐层输出。
[0035] d3、注意力机制(attention):注意力机制能够使模型在进行幽默识别时加大模糊性特征词及其周围词的权重,从而提高幽默识别的性能。根据步骤d1中得到的基于特定模糊性特征词T的情况下句子的词嵌入式表示Xt和步骤d2中得到的句子的隐层表示ht,计算句子中单词的权重向量αi和句子的隐层表示r,计算公式如下:
[0036] α't=WαXt+bα
[0037]
[0038] rt=htαt
[0039] 其中Wα为注意力机制的权重,bα为注意力机制的偏执量,T为句子中单词数量。
[0040] d4、计算句子的平均词向量表示:根据步骤d3得到的幽默句子的隐层表示rt,计算句子的平均词向量表示s',其计算公式如下:
[0041]
[0042] d5、融合幽默特征:将步骤b1中提取的幽默的语音特征P和步骤b2提取的幽默的不一致性特征Q与步骤d4得到的句子的平均词向量表示s'进行拼接,得到句子的向量表示s,s的维度为三部分特征向量的维度之和,其计算公式如下:
[0043]
[0044] d6、幽默识别:根据步骤d5得到的幽默句子的隐层表示s,计算句子是否是幽默语句的概率p,从而最终判断给定的句子是幽默文本或非幽默文本,其计算公式如下:
[0045] p=softmax(Whs+bh)
[0046] S5、幽默识别结果评价步骤:根据预设的评价指标对幽默识别的结果进行评价。
[0047] 预设的评价指标为精确率、准确率、召回率和F1值,精确率计算公式如下:
[0048]
[0049] 准确率计算公式如下:
[0050]
[0051] 召回率公式如下:
[0052]
[0053] F1值公式如下:
[0054]
[0055] 其中TP表示分类器将正例判定为正例的样本数,TN表示分类器将负例判定为负例的样本数,FP表示分类器将负例判定为正例的样本数,FN表示分类器将正例判定为负例的样本数。附图说明
[0056] 图1为本发明的逻辑原理图
[0057] 图2为本发明实施例步骤S4模型原理图
[0058] 图3为本发明实施例的幽默识别结果

具体实施方式

[0059] 以下结合附图及具体实施例对本发明进行说明:
[0060] 一种基于神经网络和幽默特征的幽默识别方法,包括以下步骤:
[0061] S1、幽默语料采集及预处理步骤:
[0062] a1、幽默语料采集:
[0063] 利用网络爬虫技术,从www.punoftheday.com爬取英文的幽默语料,获取幽默的文本ID、文本内容,文本的评价信息。该网站上的幽默文本均为单句形式,通常句子的长度小于30个单词,每个句子的投票信息代表网友对该句是否幽默的认可程度。从所述网站爬取了幽默文本ID作为文本的唯一标识,爬取了文本内容作为幽默文本候选集,爬取了网友投票信息作为衡量文本是否幽默的度量标准。
[0064] 新闻语料是对某一事实的调查陈述,通常不具有幽默性,从雅虎新闻、纽约时代等新闻网站爬取了新闻数据作为非幽默文本即负例的候选集。
[0065] a2、预处理步骤:对幽默文本候选集和非幽默文本候选集进行数据清洗,删除文本中的特殊字符和不可识别字符;根据幽默评价信息,将3星及3星以上的文本作为幽默文本,即正例,对自动标注信息进行人工审核后,正例数据共2423条;从非幽默候选集中选取负例样本,遵循了两条规则:一是长度与正例样本相当,二是负例样本所用的单词均在正例中出现过,即负例用词词典和正例用词词典相同,人工审核后负例样本数量和正例数量相当。
[0066] 使用Python中的NLTK中的分词方法对幽默文本和非幽默文本进行分词处理。
[0067] S2、幽默特征提取步骤:
[0068] b1、幽默的语音特征提取:对步骤S1得到的句子的词语集合,利用CMU发音词典,得到带有重音的音素共69个,忽略音素的重音部分后最终得到的音素共39个,将英文单词用这39个音素进行表示,得到了单词的语音表示形式;根据音素的发音,提取句子中单词头部发音相同的单词个数、句子中单词头部发音相同的音素的最大长度、句子中单词尾部发音相同的单词个数、句子中单词尾部发音相同的音素的最大长度,即压头韵单词个数、头韵链的最大长度、压尾韵单词个数、尾韵链的最大长度作为幽默的语音特征,从而得到4维的特征向量P。
[0069] b2、幽默的不一致性特征提取:对步骤S1得到的句子的词语集合,利用同义词语意资源,查找句子中是否包含反义词对,如果句子中包含反义词对则该特征为1,否则为0;利用Word2Vec工具,将词语表示成低维稠密向量,维度为300维,计算句子中单词对的语义距离,将单词对的最大语义距离和最小语意距离作为特征。由此句子的不一致性特征用3维特征向量Q进行表示。语意距离计算公式如下:
[0070]
[0071] A和B分别表示句子中的两个单词,||A||2和||B||2分别表示单词向量A和B的2-范数,(A,B)表示通过遍历句子的词语集合得到的单词对,similarity(A,B)表示两个单词向量的cosine语义距离。
[0072] S3、基于神经网络的文本的词向量表示步骤:
[0073] c1、词向量获取:从网上获取维基百科语料13.6G和笑话语料20万条作为训练词向量的语料集,采用Python库中的gensim模训练词向量,从而得到幽默文本和非幽默文本中每个词的低维稠密向量,向量维度为300维。
[0074] c2、文本的词向量表示:利用c1获取的词向量将步骤S1得到的幽默句子表示为n×m×d的词嵌入式矩阵;利用c1获取的词向量将步骤S1得到的幽默句子表示为n×m×d的词嵌入式矩阵。其中n为样本的数量,m为每个样本包含的单词数量,d为词向量的维度。
[0075] c3、模糊性特征词抽取:对步骤S1得到的每个句子的词语集合,利用wordNet词典提取同义词集合Synseti={synset1,synset2,…,synsetj,…,synsetn},i为句子中的第i个单词,n为同义词集个数,synsetj为同义词语意单元;利用wordNet词典由synsetj得到每个同义词集的意义相近的单词集合synWordsi={W11,W12,…,W1m,…,Wn1,…,Wnm},m为synsetj的同义词数量,去除synWordsi重复单词,计算句子中synWordsi最多的单词,既句子中拥有近义词数量最多的单词作为幽默的模糊性特征词。
[0076] c4、模糊性特征词向量表示:每个句子可能抽取出一个或多个有关幽默的模糊性特征的单词。若句子只包含一个特征词,则利用有关词向量方法和c1获取的词向量将特征词表示为向量形式T;若句子中包含多个特征词,则使用它们的平均词向量作为模糊性特征词向量,其公式如下:
[0077]
[0078] T为特征词的平均词向量,N为句子中特征词的个数,Tn为第n个特征词的词向量。
[0079] S4、神经网络模型构建步骤:
[0080] d1、模型的输入:根据步骤c4得到的幽默的模糊性特征词向量 将其与句子中的每一个单词的词向量wt进行拼接,作为模型的输入词向量 其中 表
示向量空间,d表示向量维度,输入向量可表示为:
[0081]
[0082] d2、构建幽默识别模型:利用循环神经网络RNN对d1中得到的输入进行特征抽取,提取出幽默文本背后深层次的语义特征,得到文本的隐层向量表示ht,本发明采用了双向的长短期记忆网络(Bi-LSTM)作为分类模型,其中每个细胞计算单元的计算公式如下:
[0083]
[0084] ft=σ(Wf·X'+bf)
[0085] it=σ(Wi·X'+bi)
[0086] ot=σ(Wo·X'+bo)
[0087] ct=ft⊙ct-1+it⊙tanh(Wc·X'+bc)
[0088] ht=ot⊙tanh(ct)
[0089] X'为LSTM输入向量Xt和(t-1)时刻的隐层输出向量ht-1的拼接,ft,it,ot分别为LSTM的遗忘门、输入门和输出门,ct为LSTM的细胞单元,Wf,Wi,Wo分别为LSTM模型遗忘门、输入门和输出门的参数矩阵,bf,bi,bo分别为LSTM模型遗忘门、输入门和输出门的偏执量,以上参数由LSTM模型学习获得,σ为sigmoid函数,tanh为正切函数,Wc表示细胞单元的参数,bc为细胞单元的偏执量,⊙表示矩阵的按元素乘法,ht表示隐层输出。
[0090] d3、注意力机制(attention):注意力机制能够使模型在进行幽默识别时加大模糊性特征词及其周围词的权重,从而提高幽默识别的性能。根据步骤d1中得到的基于特定模糊性特征词T的情况下句子的词嵌入式表示Xt和步骤d2中得到的句子的隐层表示ht,计算注意力机制的句子中单词的权重向量αi和句子的隐层表示r,计算公式如下:
[0091] α't=WαXt+bα
[0092]
[0093] rt=htαt
[0094] 其中Wα为注意力机制的权重,bα为注意力机制的偏执量,T为句子中单词数量。
[0095] d4、计算句子的平均词向量表示:根据步骤d3得到的幽默句子的隐层表示rt,计算句子的平均词向量表示s',其计算公式如下:
[0096]
[0097] d5、融合幽默特征:将步骤b1中提取的幽默的语音特征P和步骤b2提取的幽默的不一致性特征a与步骤d4得到的句子的平均词向量表示s'进行拼接,得到句子的向量表示s,s的维度为三部分特征向量的维度之和,其计算公式如下:
[0098]
[0099] d6、幽默识别:根据步骤d5得到的幽默句子的隐层表示s,计算句子为幽默语句的概率p,从而最终判断给定的句子是幽默文本或非幽默文本,其计算公式如下:
[0100] p=softmax(Whs+bh)
[0101] S5、幽默识别结果评价步骤:根据预设的评价指标对幽默识别的结果进行评价。
[0102] 预设的评价指标为精确率、准确率、召回率和F1值,精确率计算公式如下:
[0103]
[0104] 准确率计算公式如下:
[0105]
[0106] 召回率公式如下:
[0107]
[0108] F1值公式如下:
[0109]
[0110] 其中TP表示分类器将正例判定为正例的样本数,TN表示分类器将负例判定为负例的样本数,FP表示分类器将负例判定为正例的样本数,FN表示分类器将正例判定为负例的样本数。对比实验如下:
[0111] SVM:n-gram、语音特征、不一致性特征作为输入,采用支持向量机(SVM)为分类器模型进行幽默识别。
[0112] CNN:,采用卷积神经网络(CNN)对文本进行幽默识别。
[0113] LSTM:文本的词向量作为输入,长短期记忆神经网络进行幽默识别。
[0114] ATF-LSTM:本发明所述方法。
[0115] 如图3所示,传统的分类器SVM需要人工构造大量的特征作为输入,在特征不能充分反映幽默数据特点的情况下,实验性能较低,由于幽默特征往往隐藏在表面语义之下,难以进行表征,因此采用传统的机器学习方法对幽默进行识别效果欠佳。深度学习方法,如卷积神经网络CNN、循环神经网络LSTM不需要构造复杂的有关幽默的特征,能够自动提取深层次的语义特征,发掘幽默潜在的语义内涵,幽默识别的性能较之传统机器学习方法有所提高。本发明的方法,结合了神经网络模型自动提取的特征,构造了词向量无法充分反映的语音及不一致性特征,使得幽默识别的性能有了进一步的提升。
[0116] 以上内容是结合具体的优选技术方案对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈