Delete, Retrieve, Generate: A Simple Approach to Sentiment and Style Transfer 阅读
这篇论文发表在2018年的 NAACL 上
在做文本风格迁移时,要使转换后的句子尽可能做到这三个方面
- Attribute Transfer
- Content Preservation
- Grammaticality
Motivation
作者通过观察语料库中的句子,发现文本的属性一般是由句子中特定的情感词所决定
并基于此提出了本文的方法,文中将文本情感转换任务定义为:只将句子的情感改变,而不改变与情感无关的部分
如: the chicken was delicious ---------> the chicken was bland
文中的训练集是被标注了情感(positive or negative)的句子,但是是非平行的语料
Approach
-
Delete
即要找出句子中的情感词,并将其去掉,定位情感词方法如下:
count用来计算词 u 在情感集中出现的次数,λ 为用来平滑的参数,当 s(u,v)超过阈值 γ 时,就认为 u 是与情感相关的部分
-
Retrieve (计算两个句子之间的相似度)
在删除源句子的情感词后,为了确定将什么词插入到 c (删除后所剩的内容)中,可以在包含目标情感的句子集中去找与原句子相似的句子,然后提取出情感词
-
Generate
作者采用了四种策略来生成新句子(前两种策略作为 baseline)
-
RETRIEVEONLY
即直接讲 retrieve 的那一步中找到的相似句子作为结果输出
优点:一定能生成一个语法上非常通顺的且包含目标情感的句子
缺点:可能生成的句子在内容上差别很大
-
TEMPLATEBASED
将 retrieve 中找到的相似句子的情感词提取出来,替代原句子的情感词
优缺点:一般需要原句子和目标句的上下文语境相似,在大多数情况可行,但有时会导致输出的句子在语法上不通顺
-
DELETEONLY
将删除情感词后得到内容 c 进行embedding之后送人一个 RNN,将隐藏层最后一层的输出与学习得到的 目标情感词进行拼接,再送入 RNN 解码器,产生新的句子
-
DELETEANDRETRIEVE
与 deleteonly 相似,先将 c 进行 embedding 送入一个 RNN, 然后将 retrieve 后提取的目标情感词 embedding 送入另一个 RNN, 再进行拼接,送入 RNN decoder,产生新句子
整个过程如下:
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端