论文解读(BERT-DAAT)《Adversarial and Domain-Aware BERT for Cross-Domain Sentiment Analysis》
论文信息
论文标题:Adversarial and Domain-Aware BERT for Cross-Domain Sentiment Analysis
论文作者:
论文来源:2020 ACL
论文地址:download
论文代码:download
视屏讲解:click
1 介绍

2 问题定义
在跨域情绪分析任务中,给出了两个域 $D_{s}$ 和 $D_{t}$,它们分别表示源域和目标域。在源域中,$D_{s}^{l}=\left\{x_{s}^{i}, y_{s}^{i}\right\}_{i=1}^{N_{s}^{l}}$ 是 $N_{s}^{l}$ 标记的源域例子,其中 $x_{s}^{i}$ 表示一个句子,$y_{s}^{i}$ 是对应的标签。在源域中也有 $N_{s}^{u}$ 个未标记的数据 $D_{s}^{u}=\left\{x_{s}^{i}\right\}_{i=1+N_{s}^{l}}^{N_{s}^{l}+N_{s}^{u}}$。在目标域中,有一组未标记的数据 $D_{t}=\left\{x_{t}^{i}\right\}_{i=1}^{N_{t}}$,其中 $N_{t}$ 为未标记数据的数量。跨域情绪分析要求我们学习一个基于标记源域数据训练的鲁棒分类器来预测目标域中未标记句子的标签。
2 方法
2.1 BERT Post-training
2.1.1 域区分任务
本文用域区分任务(DDT)来替换 NSP 任务:50% 的时间句子 A 和句子 B 都是从目标域评论中随机抽取的,我们将其标记为 TargetDomain。50% 的时间句子 A 和句子 B 来自目标域和另一个域,其标签为MixDomain。
我们在合并表示上添加一个输出层,并使正确标签的可能性最大化。领域区分预训练使BERT能够提取出不同领域的特定特征,增强了下游的对抗性训练,有利于跨域情绪分析。
2.1.2 目标域 MLM
为了注入目标领域的知识,本文利用掩蔽语言模型(MLM),它需要预测句子中随机掩蔽的单词。在跨域情绪分析中,在目标域中没有标记数据,只有大量的未标记数据来进行 MLM 训练 BERT。具体来说,本文用 [MASK] 随机替换 15% 的 Token,并进行 mask token 的预测。
Note:来自其他域的句子将是带来域偏差的噪声。因此,当域区分任务标签是 MixDomain 时,只掩码目标域句子中的 Token。
2.2 对抗训练
BERT Post-training 注入目标领域的知识,并为 BERT 带来了对领域的意识。基于 BERT Post-training,现在可以利用对抗训练放弃提炼的域特定特征来导出域不变特征。具体来说,设计了一个情绪分类器和一个域鉴别器来处理特殊分类嵌入 [CLS] 的隐藏状态 $h_{[CLS]}$。
2.2.1 情绪分类器
分类器:
$y_{s}=\operatorname{softmax}\left(W_{s} h_{[C L S]}+b_{s}\right)$
2.2.2 域鉴别器
标准的 DANN:
$d=\operatorname{softmax}\left(W_{d} \hat{h}_{[C L S]}+b_{d}\right)$
$L_{d o m}=-\frac{1}{N_{s}+N_{t}} \sum_{i}^{N_{s}+N_{t}} \sum_{j}^{K} \hat{d}^{i}(j) \log d^{i}(j)$
$\begin{array}{c}Q_{\lambda}(x)=x, \\\frac{\partial Q_{\lambda}(x)}{\partial x}=-\lambda I .\end{array}$
2.3 训练目标
完整的训练目标:
$L_{\text {total }}=L_{\text {sen }}+L_{\text {dom }}$
3 实验结果
分类结果

A-distance

消融实验


论文解读(BERT-DAAT)《Adversarial and Domain-Aware BERT for Cross-Domain Sentiment Analysis》的更多相关文章
- [cross domain] four approachs to cross domain in javascript
four approachs can cross domain in javascript 1.jsonp 2.document.domain(only in frame and they have ...
- 论文解读(CDCL)《Cross-domain Contrastive Learning for Unsupervised Domain Adaptation》
论文信息 论文标题:Cross-domain Contrastive Learning for Unsupervised Domain Adaptation论文作者:Rui Wang, Zuxuan ...
- 论文解读(CDTrans)《CDTrans: Cross-domain Transformer for Unsupervised Domain Adaptation》
论文信息 论文标题:CDTrans: Cross-domain Transformer for Unsupervised Domain Adaptation论文作者:Tongkun Xu, Weihu ...
- 论文解读(CAN)《Contrastive Adaptation Network for Unsupervised Domain Adaptation》
论文信息 论文标题:Contrastive Adaptation Network for Unsupervised Domain Adaptation论文作者:Guoliang Kang, Lu Ji ...
- 论文解读(ToAlign)《ToAlign: Task-oriented Alignment for Unsupervised Domain Adaptation》
论文信息 论文标题:ToAlign: Task-oriented Alignment for Unsupervised Domain Adaptation论文作者:Guoqiang Wei, Cuil ...
- BERT论文解读
本文尽量贴合BERT的原论文,但考虑到要易于理解,所以并非逐句翻译,而是根据笔者的个人理解进行翻译,其中有一些论文没有解释清楚或者笔者未能深入理解的地方,都有放出原文,如有不当之处,请各位多多包含,并 ...
- bert系列二:《BERT》论文解读
论文<BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding> 以下陆续介绍ber ...
- CVPR2020论文解读:三维语义分割3D Semantic Segmentation
CVPR2020论文解读:三维语义分割3D Semantic Segmentation xMUDA: Cross-Modal Unsupervised Domain Adaptation for 3 ...
- 图像分类:CVPR2020论文解读
图像分类:CVPR2020论文解读 Towards Robust Image Classification Using Sequential Attention Models 论文链接:https:// ...
- 人工智能论文解读精选 | PRGC:一种新的联合关系抽取模型
NLP论文解读 原创•作者 | 小欣 论文标题:PRGC: Potential Relation and Global Correspondence Based Joint Relational ...
随机推荐
- 笔记:设置redhat 7.2 默认root用户启动以及网络服务自启动
笔记:设置redhat 7.2 默认root用户启动以及网络服务自启动 1.root用户启动 root用户下打开 /etc/gdm/custom.conf文件,添加字段如下: [daemo ...
- ai问答:使用vite如何配置多入口页面
Vite 是一个 web 开发构建工具,它可以用于开发单页应用和多页应用.要在 Vite 中配置多入口,可以: 在 vite.config.js 中定义多个 entry 入口: export defa ...
- 网站七牛云CDN加速配置
首先进入七牛云管理平台 1.添加域名 2.添加需要加速的域名,比如我添加的是gechuang.net 3.源站配置,这里要用IP地址,访问的目录下面要有能访问测试的文件 4.缓存配置,也就是配置缓存哪 ...
- 2022-11-19:第二高的薪水。表结构和数据的sql语句如下,输出200,因为200是第二大的。请问sql语句如何写? DROP TABLE IF EXISTS `employee`; CREAT
2022-11-19:第二高的薪水.表结构和数据的sql语句如下,输出200,因为200是第二大的.请问sql语句如何写? DROP TABLE IF EXISTS `employee`; CREAT ...
- 2022-09-29:在第 1 天,有一个人发现了一个秘密。 给你一个整数 delay ,表示每个人会在发现秘密后的 delay 天之后, 每天 给一个新的人 分享 秘密。 同时给你一个整数 forg
2022-09-29:在第 1 天,有一个人发现了一个秘密. 给你一个整数 delay ,表示每个人会在发现秘密后的 delay 天之后, 每天 给一个新的人 分享 秘密. 同时给你一个整数 forg ...
- 2021-02-18:给定一个字符串str,给定一个字符串类型的数组arr,出现的字符都是小写英文。arr每一个字符串,代表一张贴纸,你可以把单个字符剪开使用,目的是拼出str来。返回需要至少多少张贴纸可以完成这个任务。例子:str= "babac",arr = {"ba","c","abcd"}。a + ba + c 3 abcd + abcd 2 abcd+ba 2。所以返回2。
2021-02-18:给定一个字符串str,给定一个字符串类型的数组arr,出现的字符都是小写英文.arr每一个字符串,代表一张贴纸,你可以把单个字符剪开使用,目的是拼出str来.返回需要至少多少张贴 ...
- 2021-10-16:单词拆分 II。给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。
2021-10-16:单词拆分 II.给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中.返回所有这些可能的句子. ...
- Selenium - 元素操作(2) - 页面滚动条
Selenium - 元素操作 函数滚动 一般元素定位,元素如果不在浏览器的可视位置(即可见只是不在可视位置),会自动把元素滚动到可视位置,但也有不会自己滚动的(比较少). 那我们就可以用seleni ...
- ModuleNotFoundError: No module named 'flask_sqlalchemy'
ModuleNotFoundError: No module named 'flask_sqlalchemy' 解决: pip install flask_sqlalchemy
- SpringMVC 简单的开始
SpringMVC简单的开始 利用Spring模板配置写一个web项目. 1.核心配置文件(模板代码) <?xml version="1.0" encoding=" ...