法律状态公告日
法律状态信息
法律状态
2020-01-14
授权
授权
2019-09-17
实质审查的生效 IPC(主分类):G06F16/35 申请日:20190419
实质审查的生效
2019-08-23
公开
公开
技术领域
本发明涉及情感分类领域,具体涉及一种基于句内词对关系和上下文用户特征的反讽检测方法。
背景技术
反语(Irony)和讽刺(Sarcasm)是社会媒体中常用的修辞方法。反语是指运用跟本意相反的词语来表达此意,却含有否定、讽刺以及嘲弄的意思。讽刺则是用比喻、夸张等手法对人或事进行揭露、批评或嘲笑。关于反语和讽刺的关系,可以认为讽刺是包含情绪(比如攻击性情绪)的一种反语。本文将反语和讽刺统称为“反讽”,不再对反语和讽刺进行区分。反讽的比喻性质对情感分析任务提出了巨大的挑战。
目前,反讽检测研究主要存在以下难点:(1)单纯的文本信息,缺乏说话人的性格以及说话人的写作风格等信息,难以判断是否是反讽;(2)由于社交媒体或者会话中,以短文本多见,文本长度制约了反讽检测模型对上下文信息的获取;(3)反讽类型的表达方式与字面意思无关,需要获取深层的语义信息,才能准确的检测反讽;
现有方案大部分依赖LSTM或GRU等文本序列模型。首先,这类序列建模的方法无法有效挖掘句子内部词与词之间的矛盾不协调,不能捕获长距离依赖。其次,在句中不存在情感极性明显相反的词对的情况下,LSTM无法从上下文中学习到重要的用户背景等语境信息。
发明内容
本发明的目的是针对现有反讽检测技术的不足,提供一种新的对网络文本进行反讽检测的方法。提出了基于句内词对关系和上下文用户特征的反讽检测方法。首先,用自注意力机制捕获句子内部的词对关系,找出句子中存在矛盾的词对。既解决LSTM序列建模无法捕获长距离依赖的问题,又可以突出句子内部的不协调性。然后,用CNN预训练模型判断用户的性格类型,同时,用Paragraph Vector将用户发布的历史评论已文本向量的形式表示,代表用户的书写风格。接着,将两者融合后得到用户特征(user embedding),作为反讽检测的外部信息。最后,用LSTM编码句子的成分信息,结合句内词对关系和用户特征来判断目标句是否属于讽刺。
本发明解决其技术问题所采用的的技术方案如下:
步骤1、对需要进行反讽检测的评论文本进行预处理;
步骤2、用自注意力机制对每个单词进行关联建模,获得句内注意力表示;
步骤3、用Paragraph Vector将每个用户的评论以文档向量的形式表示,为每个用户生成书写风格特征向量;
步骤4、根据用户发布的文本,通过预训练的性格检测CNN模型判断用户的性格特征;
步骤5、用典型相关分析算法对用书写风格特征和用户个性特征进行特征融合,获取融合特征;
步骤6、用LSTM对每个文本评论进行序列化建模,得到句子表示特征;
步骤7、连接步骤4、5、6中学习到的特征,对句子是否反讽进行判断。
本发明的优点及有益效果如下:
本发明主要为了解决对网络文本进行反讽检测的任务。现有的方法依靠一般的LSTM对文本进行序列建模,得到的结果准确率较低。本发明采用的技术方案是,用自注意力机制计算文本中词与词之间的相似性,找到文本中存在的矛盾的、不协调的关系,还解决了LSTM不能捕获远距离依赖的问题。同时,学习用户的书写习惯特征和个性特征,将两者融合后得到的用户嵌入(user embeddings)。用户嵌入包含的用户信息作为文本的上下文语境信息,为反讽检测提供判别依据,有利于判别没有明显矛盾词对的反讽文本。从这两个角度提高了反讽检测的准确率。
附图说明
图1是本发明所述方法的流程框图。
图2是本发明所述模型方法的架构图。
图3是本发明所述模型中自注意力机制的架构图。
图4是学习用户书写特征的架构图。
图5是检测用户性格特征的架构图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1、图2、图3、图4和图5,基于句内词对关系和上下文用户特征的反讽检测方法,包括以下步骤:
步骤1、对需要进行反讽检测的评论文本进行预处理:
1.1.将在整个语料库中仅出现一次的单词删除并使用UNK标记进行替换;
1.2.删除少于5个单词的评论;
1.3.用W2V词向量模型将每一条评论表示为词向量形式列
步骤2、用自注意力机制对每个单词进行关联建模,获得句内注意力表示:
2.1对输入序列
2.2在矩阵s上逐行执行最大池化操作,计算得到注意力向量a=softmax(max s),
2.3使用向量a来学习
步骤3、用Paragraph Vector将每个用户的评论以文档向量的形式表示,为每个用户生成书写风格特征向量:
3.1每条评论文本后添加特殊分隔符<END>。
3.2收集每个用户的所有文本,创建成一个文档。
3.3将每个用户所发表的评论作为输入,ui表示第i个用户,共Nu个用户。
3.4通过Paragraph Vector得到每个用户对应的评论特征di,3.5把所有用户的评论都映射到矩阵
3.6给定用户ui的评论文档
3.7分别对滑动窗口内相邻的上下文词向量和文档向量di求平
3.8矩阵D学习到用户的文档表示向量。该文档表示向量可以代表用户的书写风格。
步骤4、根据用户发布的文本,通过预训练的性格检测CNN模型判断用户的性格特征:
4.1对于用户ui,遍历ui所有的vi条评论
4.2激活CNN最后的隐藏层向量,获得性格特征向量
4.3计算该用户发表的所有评论对应的性格特征的期望,得到该用户的整体性格特征表示
步骤5、用典型相关分析算法对用书写风格特征和用户个性特征进行特征融合:
采用典型相关分析算法对3.8中的用户书写风格特征di和4.3中的用户个性特征pi进行特征融合,得到最终的用户特征
步骤6、用LSTM对每个文本评论进行序列化建模,得到句子表示:
6.1用一个初始的LSTM模型对固定长度的句子输入进行编码,如果句子编码后的向量长度不够,则末尾用数字0进行补齐;
6.2 LSTM隐藏层的输出是隐藏层特征矩阵[h1,h2,...,hN],表示句子级别特征;隐藏层特征hi,i∈[1,ni]与词向量wi是一一对应的关系。
6.3将LSTM序列建模后得到的最后一个隐藏层表示记作
步骤7、连接步骤4、5、6中学习到的特征,对句子是否反讽进行判断:
7.1利用非线性投影ReLU来学习用户特征
7.2把vi传入softmax层进行分类:
机译: 基于状况和上下文信息生成用户自定义内容的方法和装置,该情况和上下文信息能够使用程序的上下文信息来创建用户自定义内容
机译: 具有知识图的上下文感知跨句关系提取装置及其方法
机译: 结合计算机硬件设备传感器读数和照相机的系统和方法,可提供最佳的,不受阻碍的增强现实体验,使真实世界的对象可以通过上下文和上下文关系转移到任何数字空间中。