一种面向文本的隐喻识别模型及方法

文档序号:37280797发布日期:2024-03-12 21:19阅读:108来源:国知局
本发明属于自然语言处理领域,具体涉及一种面向文本的隐喻识别模型及方法。
背景技术
::1、根据文本中是否包含显式情感词,文本的情感可以分为显式情感和隐式情感。例如,显式情感词“love”和“bad”,根据这些词可以直接推断出用户的情感倾向。按照表达方式的不同,隐式情感又可分为事实型隐式情感和修辞型隐式情感。事实型隐式情感通常出现于无显式情感词但表达了情感色彩的客观陈述句中,例如“there is ash on thistable.”没有显式情感词,但用户明显在表达消极情感。修辞型隐式情感则通过修辞方法来传达情感。常见的隐式情感修辞方法包括隐喻、反讽和幽默等。面向文本的隐喻识别旨在赋予计算机像人类一样分析理解隐喻的能力,研究隐喻有助于更好地挖掘语义和情感信息。面向文本的隐喻识别的方法主要分为三种类型,即基于手工特征和机器学习的隐喻识别方法、基于深度学习的隐喻识别方法和基于预训练语言模型的隐喻识别方法。2、基于手工特征和机器学习的隐喻识别方法。shutova等人采用基于规则的算法,从语料库中收集大量具有类似句法结构的隐喻表达。通过聚类动词和名词的关联规则构建隐喻识别模型,进而捕捉隐喻表达。但是手工特征工程对于不同的任务需要进行不同的特征提取,需要耗费大量的人力物力。3、基于深度学习的隐喻识别方法。随着深度学习的兴起和词嵌入模型的出现,手工特征工程逐渐退出历史舞台。le等人认为单独考虑隐喻识别这一个任务会缺少和其他相关任务的交互信息,因此提出使用多任务学习框架来获取相关任务的交互信息。该多任务学习框架采用图卷积网络分别对隐喻识别任务和语义消歧任务进行特征提取,并同时优化两个任务,达到获取两个任务交互信息的目的。4、基于预训练语言模型的隐喻识别方法。su等人将隐喻识别视为阅读理解问题,使用bert的变体模型roberta对全局和局部上下文进行编码,并结合了查询特征、细粒度词性特征和上下文特征等多种语言特征。5、虽然深度学习方法和预训练语言模型能够提升隐喻识别的准确率,但目前的研究仍存在两个不足之处。首先,现有的隐喻识别模型没有充分结合先验常识知识,而隐喻目标词的新含义往往与日常生活中的含义不同,这可能导致模型无法充分理解句子的语义信息。其次,语法信息有利于提升隐喻识别模型的性能,但过于宽泛的语法上下文可能会引入噪声,导致隐喻目标词无法聚焦于语法关联性更强的上下文词,从而难以获得语法上下文信息增强的目标词特征表示。技术实现思路1、针对现有技术的不足,本发明设计一种面向文本的隐喻识别模型及方法。2、一种面向文本的隐喻识别模型,包括:bert词嵌入层、常识知识嵌入层、目标词上下文层、目标词注意力层、目标词语义层和预测层六个模块;3、所述bert词嵌入层bert embedding layer,bel,将句子s和目标词t转化为考虑上下文语义关系的词向量表示;4、所述常识知识嵌入层commonsense embedding layer,cel,包括常识知识获取和常识知识选择两个子模块,首先采用comet引入外部常识知识,然后衡量各类型常识知识的重要性,构建出融合多类型常识知识的特征表示;5、所述目标词上下文层target context layer,tcl,首先采用基于面向目标词的句法依赖树的gcn建模来融合常识知识特征的目标词语法上下文信息,然后通过掩码机制掩盖非目标词的特征表示,仅保留上下文信息增强的目标词表示;6、所述目标词注意力层target attention layer,tal,通过注意力机制对cel和tcl输出结果进行交互,捕获与目标词在语义上关联性更强的重要特征,输出概率分布y1;7、所述目标词语义层target semantic layer,tsl,首先利用bel的输出提取目标词的字面意思和在特定上下文中的非字面意思,然后根据隐喻识别理论即“隐喻识别程序”和“选择倾向冲突”对目标词语义信息构建特征表示,输出概率分布y2;8、所述预测层prediction layer,pl,对tal得到的概率分布y1和tsl得到的概率分布y2进行加权求和,并通过softmax函数进行归一化处理,得到最终的隐喻标签预测概率分布预测出隐喻标签;9、一种面向文本的隐喻识别方法,基于上述一种面向文本的隐喻识别模型实现,具体包括以下步骤:10、步骤1:获取包含隐喻识别基准英文数据记录的数据集,并对其进行预处理;11、所述对数据集进行预处理,具体为:12、数据集解析;数据集中每条记录包括句子、目标词及位置索引以及隐喻标签,读取并去除句子首尾多余空格,将句子中所有字符转化为小写形式;13、分词处理;选取transformers库中的berttokenizer进行分词,该分词方式首先用空格将文本划分为原始的单词序列,然后依次遍历每个单词,采用基于贪婪最长优先匹配原则将单词进一步拆分为若干个子词;14、文本序列化表示;采用bert预训练模型中的词汇表将分词后的单词转化为对应的位置索引,得到以位置索引构成的文本序列化表示;15、截断与补齐;当文本中句子长度超过设置的句子最大长度时,则将多余部分截断;当句子长度不足最大长度时,则使用[pad]标识符来对长度不足的部分进行填充;16、标记;将文本按照空格拆分为单词序列,然后依次对每个单词采用berttokenizer进行分词,直至遍历至目标词时停止,此时记录目标词在序列中的起始索引区间,并将该区间内单词标记为分词后的目标词;17、步骤2:读取经过预处理后数据集中的每条句子si和目标词wi,根据spacy工具构建每条句子si的面向目标词的句法依赖树t,并将其转换为邻接矩阵a;18、构建句法依赖树具体为:将目标词作为依赖树的根节点,然后遍历原始依赖树中所有节点,保留其中所有子节点是目标词的节点以及目标词的所有子节点,并舍弃原始依赖树中的其他边关系,并将其转换为邻接矩阵a;19、步骤3:利用bert词嵌入层,分别得到句子si和目标词wi的上下文嵌入表示hs和ht,并进一步得到句子和目标词的字面意思;20、把句子si转换为句子上下文sc:[cls]+si+[sep],将目标词wi转换为目标词上下文tc:[cls]+wi+[sep];然后,对句子上下文和目标词上下文按照步骤1进行预处理,将其转换为文本序列化表示;其中,目标词被berttokenizer拆分为v个token;句子si经过berttokenizer后的分词序列为tokens={t1,t2,...,tu,...,tu+v-1,...,tn},其中{tu,...,tu+v-1}为分词后的目标词部分,u表示目标词在分词后序列中的起始位置;最后,将数据预处理后的句子上下文和目标词上下文分别输入到bert模型中,得到句子上下文嵌入和目标词上下文嵌入和21、采用dropout对ht和hs做进一步处理;基于句子上下文嵌入hs,提取目标词在特定上下文中的非字面意思并取其中[cls]对应的输出作为句子的上下文嵌入基于目标词上下文嵌入ht得到目标词的字面意思计算过程如公式1、公式2所示;22、23、24、步骤4:利用常识知识嵌入层中常识知识获取子模块得到九种常识知识向量利用常识知识嵌入层中常识知识选择子模块得到融合多种常识知识和上下文嵌入hs的特征hk;25、所述利用常识知识获取子模块得到九种常识知识向量具体为:先将句子si转换为comet能处理的形式常识知识类型ri∈r,r={xintent,xreact,oreact,xwant,owant,xeffect,oeffect,xneed,xattr},i=1,2,...,9,表示拼接操作,s表示句子集合;弃用comet的解码器部分,采用编码器部分对进行常识知识特征提取,并取编码器最后一层输出作为常识知识特征i代表常识知识类型,d是输出维度;为了后续进一步建模需要对其进行扩展,得到计算过程如公式3和公式4所示;其中comet_encoder()表示comet的编码器部分,expand为扩展操作;26、27、28、所述利用常识知识选择子模块得到融合多种常识知识和上下文嵌入hs的特征hk具体为:首先对每种类型的常识知识与句子上下文嵌入hs进行拼接,将其通过transformer编码器建模融合该类型常识知识的上下文嵌入,然后将九种融合常识知识的上下文嵌入拼接,得到采用sigmoid函数衡量各种融合常识知识的上下文嵌入的重要性,得到重要性分数,然后将该重要性分数与hf相乘,最后经过多层感知机multi-layer perceptron,mlp和relu非线性激活函数处理,获取综合考虑了多种常识知识和上下文嵌入hs的特征向量计算过程如公式5和公式6所示;其中transformer_encoder()代表transformer的编码器部分,σ为sigmoid激活函数,⊙操作表示逐元素相乘;29、30、hk=mlp(o(hf)☉hf)31、                           (6)32、步骤5:将hk和a经过目标词上下文层后得到上下文信息增强的目标词表示hg;33、先根据目标词位置和通过计算得到的目标词长度计算目标词的位置权重然后用hk与其相乘,得到位置感知的目标词上下文嵌入计算方法如公式7和公式8所示;34、35、hp=pos·hk                             (8)36、n是句子分词后的token数;37、为了使目标词聚焦于与其关联性更强的语法上下文词,进而减少提取目标词语法上下文特征时引入噪声,采用gcn对融合了常识知识特征的目标词语法上下文信息建模时,首先根据步骤2构建面向目标词的句法依赖树然后将转换为无向图表示的邻接矩阵a∈rn×n,并在图中添加自环以适配gcn模型的输入形式;随后将其输入第一层gcn模型中提取特征计算过程如公式9所示;38、he=relu(ahpwe)                           (9)39、采用了两层gcn建模融合了常识知识特征的目标词语法上下文信息hl,每经过一层gcn结构,节点便会聚合其直接邻居节点的信息;将第一层gcn模型的输出he以及邻接矩阵a输入第二层gcn模型,得到融合了常识知识特征的目标词语法上下文信息计算过程如公式10所示;其中,relu是非线性激活函数,we∈r2d×2d和wl∈r2d×2d为线性变换权重矩阵;40、hl=relu(ahewl)                          (10)41、为了获得目标词的特定上下文特征,需要对hl做进一步掩码处理;即通过掩码机制掩盖hl中非目标词部分的特征,仅保留经过gcn建模后的上下文信息增强的目标词表示计算过程如公式11至公式13所示;42、43、44、hg=hmas☉hl         (13)45、为hl中第i个元素对应的掩码值,其中0表示掩盖该位置的元素,1表示保留该元素,hmask为由构成的掩码向量,⊙操作表示逐元素相乘;46、步骤6:经过目标词注意力层得到与目标词语义关联性更强的重要特征ho以及隐喻预测概率y1;47、先计算hk和hg中各元素之间的注意力分数,并通过点积来衡量目标词与上下文词之间的语义相关性,计算过程如公式14和公式15所示;48、49、50、其中,βt为与hg的注意力分数,并使用softmax函数对βt作归一化处理;51、然后根据注意力权重对hk进行加权求和处理,得到与目标词在语义上关联性更强的重要特征计算过程如公式16所示;52、53、最后将ho经过一个全连接层得到用于隐喻标签预测的概率分布其中dm=2表示隐喻标签的维度,计算过程如公式17所示,和分别表示权重矩阵和偏置变量;54、y1=w1ho+b1                             (17)55、步骤7:通过目标词语义层模块,基于上述步骤得到的hs和ht以及mip和spv隐喻理论得到隐喻预测概率y2;56、先利用bert词嵌入层的输出提取目标词的字面意思ht,目标词在特定上下文中的非字面意思hs以及上下文嵌入hc,计算过程如公式1和公式2所示;57、然后根据隐喻识别理论mip将hs和ht拼接后经过全连接层,建模目标词的字面意思与其在特定上下文中的非字面意思之间的相似性特征由hs和hc根据spv理论建模目标词与其上下文之间的不一致性特征58、最后将hv和hm拼接后经过全连接层得到隐喻标签预测的概率分布目标词语义层模块的计算过程如公式18至公式20所示;和是线性变换权重矩阵,和为偏置变量,表示拼接操作;59、60、61、62、步骤8:在预测层对y1和y2进行加权求和,得到句子si的反讽预测标签;63、为了在判断目标词的隐喻性时综合考虑目标词注意力层和目标词语义层提取的特征表示,采用预测层对目标词注意力层得到的概率分布y1和目标词语义层得到的概率分布y2进行加权求和,并通过softmax函数进行归一化处理,得到最终的隐喻标签预测概率分布预测层的计算过程如公式21和公式22所示;64、y=(1-α)×y1+α×y2                        (21)65、66、步骤9:在训练模型过程中,采用交叉熵损失函数,并添加l2正则化缓解过拟合;67、68、其中,n为训练集样本数,和分别表示样本i的真实标签和预测标签概率分布,θ表示模型中所有需要训练的参数,λ为l2正则化系数。69、本发明有益技术效果:70、本发明针对现有的隐喻识别模型没有充分结合先验常识知识的问题,提出了一种常识知识嵌入方法,旨在向隐喻识别任务中引入多种常识知识,最终获取到综合考虑了多种常识知识和上下文关系的特征向量。71、针对过于宽泛的语法上下文可能会引入噪声,进而导致隐喻目标词无法聚焦于语法关联性更强的上下文词的问题,构建了面向目标词的句法依赖树,聚焦于与目标词语法关联性更强的上下文词。72、根据隐喻识别理论mip和spv提取目标词语义信息。实验结果表明,提出的csk-gcn模型在vua all、vua verb以及moh-x数据集上的acc指标均优于现有基线模型,验证了csk-gcn模型的有效性。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1