阅读笔记:Adversarial Multi-task Learning for Text Classification [ACL-2017]-程序员宅基地

技术标签: 情感分析  对抗性训练  多任务学习  半监督学习  自然语言处理  文本分类  

【阅读笔记:Adversarial Multi-task Learning for Text Classification】

论文题目:Adversarial Multi-task Learning for Text Classification

作者:Pengfei Liu, Xipeng Qiu and Xuanjing Huang

出处:ACL 2017

论文主要相关:多任务学习、文本分类、情感分析

概要:常规的多任务学习通常单纯的共享某些参数,导致共用特征空间和私有特征空间中存在大量冗余的特征。作者提出了一种对抗性多任务学习框架,缓解了共享特征空间和特定任务特征空间(私有潜在特征空间)之间的相互干扰的问题,并采用对抗学习确保共用特征空间中仅存在共用特征和任务无关的特征,辅以正交约束来去除私有和共用特征空间中冗余的特征。在16个任务的情感分析测试中,该框架比单任务学习平均效果提升了4.1%,比其他多任务学习框架(FS-MTL、 SP-MTL等)效果更好。并且实验结果表明模型的共享特征学习到的知识,容易被迁移到新任务的情感分析中。

一、待解决问题:特征噪声

  1.1 Multi-task Learning
  多任务学习是一种有效的借助其他相关任务的帮助来提升单个任务表现的方法,而基于神经网络的多任务学习模型因为便于结合来自多个任务的信息而在机器视觉和自然语言处理中大受欢迎。->关于多任务学习的回顾
  
  1.2 Problems in existing methods
  现有的方法中,提取的共享(shared)特征容易受到特定任务(task-specific)特征或其他任务带来的噪声污染。

Alt text

  Background:多任务学习中将特征空间划分为两部分,一个用于存储某任务特有的(private 、task-specific、task-dependent )的特征表示,另一个用于捕获与特定任务关联性较低的共享特征表示。
  目前的SP-MTL模型中存在的主要局限在于共享特征表示空间中可能包含一些不必要的任务特有特征表示,而且一些与任务关联性较低的共享特征表示也可能混合在私有特征空间中,这是由特征冗余造成的。
  私有特征表示:任务特定的,独有的的情感特征表示,在具体任务背景中具有独有的情感极性。
  共享特征表示:任务分类之间的泛化边界,应具有较低的任务敏感性,在不同的任务语境中表现出相同或相近的情感极性。
  
   1.3 Give an example
  使用传统多任务学习模型输入以上两个句子(电影评论与婴儿用品评论),进行情感特征分类学习。
Alt text

  使用传统多任务学习模型输入以上两个句子(电影评论与婴儿用品评论),进行情感特征分类学习。
   一词多义问题:“infantile”一词在电影任务中表示消极情绪,而在婴儿任务中则是中性的。使用传统的SP-MTL进行特征提取之后,在共享层与电影任务的特定特征表示层中都存放了“infantile”一词,这就对后续的情感分析造成潜在的不确定影响。
  同时,共享空间的容量也可能被一些不必要的特性所浪费。

  1.4 Neural network models

Alt text

  目前主要有四种用于MTL的神经网络模型,本文使用Long Short-term Memory(LSTM)模型进行文本分类,关于LSTM模型可见 【Deep Learning】LSTM(Long Short-Term Memory)及变体。对于一个给定的句子 x=x1,x2,···,xT x = x 1 , x 2 , · · · , x T ,首先通过lookup层获取到每个词的向量表示,然后通过LSTM,使用最后一个时间步的输出 hT h T 作用整个句子的表示,最后通过一个softmax层进行分类,得到相应类别的概率。

ŷ =softmax(WhT+b) y ^ = s o f t m a x ( W h T + b )   (5)

  其中y′表示通过softmax层输出的预测分类概率(向量),W表示通过训练得到的权重向量,b为偏置项;

  对于含有N个训练样本的数据集( xi,yi x i , y i ),对网络参数进行训练,从而使预测分布与真实分布的交叉熵达到最小。

L(ŷ ,y)=Ni1Cj=1yiIlog(yji) L ( y ^ , y ) = − ∑ i − 1 N ∑ j = 1 C y I i l o g ( y i ′ j )   (6)

   yji y i j 表示真实的类别标签, ŷ ji
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qj8380078/article/details/79914170

智能推荐

【雕爷学编程】Arduino动手做(85)---LCD1602液晶屏模块7-程序员宅基地

文章浏览阅读101次。嵌入式硬件,单片机,Arduino,物联网,机器人,C++

【雕爷学编程】Arduino智慧校园之远程校园灯光控制-程序员宅基地

文章浏览阅读628次,点赞14次,收藏12次。通过实时监测环境光照水平和设置的时间表,系统可以自动控制灯光的开关、亮度和色温,以达到节能和舒适照明的目的。通过对这些数据的统计和分析,可以了解校园灯光的使用情况,发现潜在的节能优化和运维问题,提供数据支持和决策参考。这意味着用户可以自由地访问和修改Arduino的设计和代码,以满足校园的特定需求,并且能够与其他开源硬件和软件兼容。在设计和实施系统时,需要考虑网络的可靠性和数据的安全,采取相应的安全措施,防止未经授权的访问和恶意攻击。学生和教师可以通过简单的代码编写实现自己的创意和想法,促进学习和创新。

多线程 线程池使用示例_public class thread4-程序员宅基地

文章浏览阅读159次。多线程 线程池使用示例class Thread4 implements Runnable{ @Override public void run() { try{ System.out.println("测试线程池开始:"+System.currentTimeMillis()+" "+Thread.currentThread()...._public class thread4

ORA-00604: 递归 SQL 级别 1 出现错误,ORA-01000: 超出打开游标的最大数 -程序员宅基地

文章浏览阅读1.1k次。@SuppressWarnings("rawtypes") public void execBq(BatchBean bb, BlockingQueue bq, boolean closeConnetction) { PreparedStatement pst = null; try { conn.setAutoCommit(fal..._ora-00604 ora-01000

leetcode-4.17[819. 最常见的单词、1108. IP 地址无效化、55. 跳跃游戏](python解法)_python里为什么会出现这样的结果? >>> -10//3, 10//-3, -10//-3, --程序员宅基地

文章浏览阅读141次。题目1题解1from queue import PriorityQueueclass Solution: def mostCommonWord(self, paragraph: str, banned: List[str]) -> str: pq = PriorityQueue(maxsize=0) for c in "!?',;.": ..._python里为什么会出现这样的结果? >>> -10//3, 10//-3, -10//-3, -(10//3) (-4, -

[569]tf.nn.embedding_lookup函数_tf.nn.embedding_lookup(-程序员宅基地

文章浏览阅读470次。我觉得这张图就够了,实际上tf.nn.embedding_lookup的作用就是找到要寻找的embedding data中的对应的行下的vector。tf.nn.embedding_lookup(params, ids, partition_strategy=‘mod’, name=None, validate_indices=True, max_norm=None)参数说明:par..._tf.nn.embedding_lookup(

随便推点

jk触发器上升沿怎么看_jk触发器波形图_jk触发器波形图怎么画-程序员宅基地

文章浏览阅读8.9k次,点赞3次,收藏4次。设主从JK触发器的原状态为1,按照图4.1(a)所给出的J、K、CP输入波形,画出触发器Q端的工作波形。解:此题信号K的某些跳变与CP脉冲的跳变发生在同一时刻,这是初学者容易感到疑惑的地方,所以要注意到,画Q次态波形时应看CP脉冲下降沿前一刻的J、K值。画波形时,从第1个CP脉冲开始分析,看它的下降沿前的J、K为何值,再根据JK触发器真值表所述的功能,确定Q的次态,也就是CP脉冲下降沿触发以后Q的..._cp脉冲波形图怎么画

流水线 面试题 linux,Jenkins打造多分支流水线指南-程序员宅基地

文章浏览阅读584次。overview:多分支工作流程带来了以下几个关键能力:在代码仓库中,每个新分支都有自己单独的工作流水线(job)。每个工作流水线都记录了对应分支的构建和变更历史。可以自定义设置流水线随着分支的删除而删除或修建。通过重写父属性(如果需要),可以灵活地单独配置分支流水线属性。Jenkins pipeline-as-code 使您可以在项目/应用程序源代码存储库中维护CI / CD工作流逻辑,而无需在..._jenkins面试题

互联网软件开发—— 实验三 JSP 内置对象(留言板)_request.getparameter("titletext").tostring()-程序员宅基地

文章浏览阅读2.2k次。实验名称: 实验三 JSP 内置对象一、实验目的1、掌握表单提交及页面间参数传递的方法。2、理解页面转发与重定向之间的区别。3、掌握 request、session 和 application 等内置对象的常用 API。二、实验内容和要求1、对实验二的内容进行扩展,编写以下 JSP 文件。(1) login.jsp:登录页面,如下图所示。(2) doLogin.jsp:登录处理页面,假定合法的用户名均以“ahpu_”开头且长度介于 6 至 12,密码均为“123”。若用户名或密码不正确则_request.getparameter("titletext").tostring()

10 个杀手级的 Python 自动化脚本_ai python自动化-程序员宅基地

文章浏览阅读3.8w次,点赞61次,收藏552次。厌倦了校对你的长文章或文本,然后,你可以试试这个自动化脚本,它将扫描你的文本并纠正语法错误,这个很棒的脚本使用 Happtransformer 模块,这是一个机器学习模块,经过训练可以修复文本中的语法错误。这个方便的脚本可以让你设置你想要得到通知的电池百分比,该脚本使用 Pyler 进行通知,使用 Psutil 获取当前的电池百分比。你可以在下面找到脚本,将告诉你如何修复句子中的单个单词或多个单词。使用这个很棒的自动化脚本,可以帮助把图像处理的更好,你可以像在 Photoshop 中一样编辑它们。_ai python自动化

大数据面试题必读-程序员宅基地

文章浏览阅读2k次,点赞2次,收藏38次。kafka的message包括哪些信息 一个Kafka的Message由一个固定长度的header和一个变长的消息体body组成 header部分由一个字节的magic(文件格式)和四个字节的CRC32(用于判断body消息体是否正常)构成。当magic的值为1的时候,会在magic和crc32之间多一个字节的数据:attributes(保存一些相关属性,比如是否压缩、压缩格式等等...

计算机无法识别ANSI编码文件里的中文导致乱码_ansi乱码-程序员宅基地

文章浏览阅读2.2w次,点赞8次,收藏10次。问题现象 最近远程协助一个用户的电脑(TeamView竟然连接不上,只好用QQ远程啦),原来ANSI编码的ini文件里的中文是正常的;用着用着,某一天就乱码了,无法识别ANSI编码文件里的中文。创建ANSI编码的ini配置文件,输入中文后保存会提示“…该文件有Unicode格式的字符,当文件保存为ANSI编码的文本时,该字符将丢失…”的问题。 原因 Unicode和ANSI是两种不同的字符编..._ansi乱码

推荐文章

热门文章

相关标签