论文略读 | Pointing the Unknown Words
1.简介
2016 年的论文
用attention来处理神经网络中rare and unseen words
,用了两个softmax
层来预测模型中的下一个词。一个预测源语句中单词的位置,另一个单词预测短名单词汇表中的单词,通过MLP层以上下文为依据决定使用哪个softmax。
PS文中提供的代码不存在了:https://github.com/caglar/pointer_softmax
难点: 单词数量巨大,且是不断发展的系统。
(1)现在的处理:
有一个softmax output layer
,每个输出维度对应到predefined word-shortlist
中的一个单词。因为softmax计算很昂贵,所以实际计算中是把KB中最常用的topK个单词放到predefined word-shortlist
中,其他词都用一个特殊符号来替换UNK(未知单词问题)
。
这种方法存在两个问题:
rare word
:predefined word-shortlist
中的某些词在训练集中出现的次数较少,导致学习到的特征不是很好。- 将不同的
unseen word
都映射为UNK
丢失了很多消息。
(2)本文方法:
Pointing
:在不知道如何调用的情况下传递信息并将上下文关联到特定的对象。
基本思想:
可以将许多NLP问题看作是在给定上下文文本的情况下预测目标文本的任务,其中一些目标词也出现在上下文中。在这种情况下,我们可以让模型学会在上下文中point to
一个单词并将其复制到目标文本,以及when to point
。
本文方法:
为了生成目标词,模型首先确定单词生成的来源,即从预定义的候选名单中取出一个还是从上下文中复制一个。
- 对于前者,我们应用典型的softmax操作
- 对于后者,我们使用注意机制来获得上下文的
pointing softmax probability
并选择高概率的概率。
模型通过学习,仅在上下文包含可以复制的词的情况下使用Pointing
。这样,只要它出现在上下文中,我们的模型甚至可以预测不在候选名单中的单词。虽然有些词仍然需要标记为UNK,即如果它既不在候选名单中也不在上下文中时。
文章结构:
第二章:包括指针网络和以前针对rare word
/unseen word
的方法
第三章:回顾了机翻和注意力机制,这是本文的baseline
第四章:提出了处理罕见/未知单词问题的方法,称为Pointer Softmax(PS)
第五章:实验结果
2.Related work
(1)现有几种解决方法
- 第一种,侧重于提高softmax输出的计算速度,以便它可以保持非常大的词汇量。因为这只会增加候选名单的大小,所以它有助于缓解未知单词问题,但仍然会遇到罕见的单词问题。
- 第二种,和本文类似,使用上下文信息,学习将源语句中的某些单词指向并将其复制到目标句子。但相关工作没有用注意力机制,并且他们的softmax槽值是固定的,这对于QA和文本摘要等上下文以及指向位置变化很大的问题来说不适用。也有方法在entity位置放了placeholder,但是placeholder的id直接在softmax输出而不是预测它的位置(??这个问题没看懂)。
- 第三种,将输入/输出本身的单位从单词改为较小的分辨率,如字符和字节码,虽然它可以减少罕见/未知单词问题,但训练通常变得更加困难,因为序列的长度显着增加。
(2) 和指针网络的对比
指针网络中目标序列的输出空间被约束为输入序列(而不是输入空间)中的观察。不是具有固定维度softmax输出层,而是以这样的方式动态地计算每个输入序列的不同维度的softmax输出,以最大化目标输入的注意概率。(怎么做到动态的呢??)
3. 神经网络模型 + attention
Baseline: NMT + attention
(1)Encoder:
用了BiRNN,每个隐层相对于其他周围单词,从正反两个方向编码第j个单词。
(2) Attention计算:
软对齐机制(??)首先计算相关权重(用来确定hj对目标词t的贡献概率)。使用非线性映射f(例如,MLP),其将hj,先前解码器的隐藏状态st-1和先前输出yt-1作为输入:
然后将该相关性概率normalized
,得到relevance score
。
(3) context 上下文向量计算:
计算翻译上下文向量:
(4)Decoder:用了GRU
Decoder的隐藏层st由上一步st-1,上下文相关向量ct,以及前一步输出yt-1得到,其中fr是GRU。
(5)单词上的概率分布:
用deep output layer
来计算单词上的分布(??这是干嘛的)
然后将整个模型联合训练,最大化给定输入序列的目标序列的(条件)对数似然。
(6)NMT+attention 模型
就是一个encoder_decoder模型加了一个attention。
4. The Pointer Softmax
(1)相比于Pointer Network的两个改进:
- 在每步判断是否需要指向
- 可以指向上下文序列长度可变的任意位置。
(2)模型结构:
有两个softmax层:
shortlist softmax
:和以往的一样,每一维对应predefined word shortlist
中的一个单词。location softmax
:是一个pointer network,每个输出维度对应上下文中一个单词的位置。因此它的输出维度会随着上下文的长度来变化。
在每个时刻,如果模型决定用 shortlist softmax
,则从predefined word shortlist
中生成一个单词;如果上下文序列包含该步要生成的单词,则从location softmax
获得上下文单词lt的位置。为此,需要决定什么时候用哪个softmax,所以本文引入了一个switching network
。
switching network:
该网络用上下文表示(NMT中的ct)和输出RNN的先前隐藏状态作为其输入。它输出一个二进制变量zt,当zt = 1时用shortlist softmax
,当zt = 0时用location softmax
。注意,当生成的单词既不在候选名单中也不在上下文序列中时,交换网络选择shortlist softmax
,然后shortlist softmax
预测成UNK
。
这里是每次都生成两个网络吗?还是决定后再生成???
哦哦应该是每次都生成(wt是从shortlist中生成的,lt是从location中生成的,zt做一个选择)
考虑到是为了最大化生成单词和目标单词y的相似度,可以将式子(4)分解成式子(5)。
训练的目标是最大化如下式子
(3)Basic Components of the Pointer Softmax
Location Softmax lt
:拷贝到目标中的单词的位置用lt来算,location softmax
输出概率分布如下:
对于MNT等,可以直接使用源词上的概率分布来预测要指向的单词的位置,否则可以直接用一个指针网络来预测位置。Shortlist Softmax wt
:词典V中的词用wt来预测Switching network dt
:一个MLP用sigmoid 输出方程来输出是用lt还是wt。
pointer softmax
的输出是两个向量的结合
测试时,计算wt和lt,然后选择概率高的那一个。
5.6 实验结果和总结
就是NMT的softmax改成了一个可选择的softmax,可以更好的解决unseen word
和rare word
问题。
实验内容可以参考本篇翻译:https://zhuanlan.zhihu.com/p/36368316
参考:
https://blog.csdn.net/appleml/article/details/76988385
论文略读 | Pointing the Unknown Words相关推荐
- 【How to Design Translation Prompts for ChatGPT: An Empirical Study 论文略读】
How to Design Translation Prompts for ChatGPT: An Empirical Study 论文略读 INFORMATION Abstract 1 Introd ...
- 论文略读:《地区如何随着时间的推移而多样化?产业关系与地区新增长路径的发展》
地区如何随着时间的推移而多样化?产业关系与地区新增长路径的发展 阅读时间:2022.04.06 How Do Regions Diversify over Time? Industry Related ...
- 论文略读1《Direct training for spiking neural networks:faster,larger,better》
发布时间2019-07-17,AAAI 文章链接Direct Training for Spiking Neural Networks: Faster, Larger, Better | Procee ...
- 论文略读 | Pattern-revising Enhanced Simple Question Answering over Knowledge Bases
这是何世柱老师团队发表于COLING2018的一篇文章. 一. 文章贡献: 提出进行模式提取和实体链接,并提出模式修改程序来缓解错误传播问题 学习对候选主谓词对进行排序以使得能够在给出问题的情况下进行 ...
- 论文略读 | Question Answering on Knowledge Bases and Text using Universal Schema and Memory Networks
文章创新点: 使用文本和KB组合的通用模式,结合记忆网络来完成问答 提出模型: UNISCHEMA 提出原因: 知识库问答会受到不完整性的影响,文本虽然包含大量事实,但是存在非结构化文本,将KB和文本 ...
- 如何读论文才不至于发疯?
↑ 点击蓝字 关注视学算法 来源丨新智元 编辑丨极市平台 极市导读 本文精选Reddit热帖"如何阅读大量的学术论文,而不发疯?"下的优质回答,介绍了多种提高文献阅读效率的方法. ...
- 谷歌查看html地址_104篇CVPR 2019论文,追踪谷歌、Facebook、英伟达研究课题
[新智元导读]人工智能顶级会议CVPR刚刚公布了最佳论文,谷歌.Facebook和英伟达也随后公布了自家发表的论文共计104篇,本文列出了三家大厂论文的完整列表. 本周,在美国加利福尼亚州长滩举办了C ...
- ACL 2016 会议论文全集
网页地址 http://anthology.aclweb.org/P/P16/,内有下载连接 网页内容: ACL Logo ACL Anthology A Digital Archive of Res ...
- [转]深度学习论文推荐
Startups 机器学习.深度学习.计算机视觉.大数据创业公司 - Startups in AI Deep Reinforcement Learning David Silver. "Tu ...
- 【200+论文】深度强化学习、对话系统、文本生成、文本摘要、阅读理解等文献列表
[导读]本文收录了深度强化学习.对话系统.文本生成.文本摘要.阅读理解.因果推理.记忆网络.推荐系统.神经表示学习等一系列领域参考文献大合集! https://cloud.tencent.com/de ...
最新文章
- android中PreferencesActivity的使用(一)
- openfiler 搭建虚拟存储 并 配置服务端 (转载)
- 前端cookie 放到请求头_ajax请求携带cookie和自定义请求头header(跨域和同域)
- git版本号管理工具的上手
- springmvc教程(2)
- 阿里云朱照远:AI打开新视界 8K时代已来!
- 【渝粤教育】21秋期末考试管理会计10171k2
- LeetCode 1051. 高度检查器
- 动态规划求解装箱问题(洛谷P1049题题解,Java语言描述)
- ASP.NET Core 基于SignalR实时通讯的前后端分离技术
- Made in 大产品——技术商业盛典
- 泛泰Bin文件格式解析及解压出IMG方法
- win凭据添加计算机名,手动添加Windows凭据,彻底解决Win7系统打印共享-win7添加打印机...
- 计算机音乐出山,《出山》音乐
- android获取版本信息、屏幕信息和设备编号
- 杭电18年计算机考研人数,2018杭州电子科技大学考研报考统计
- 基本数据类型在传参中的自顶向下和自底向上;this;访问权限修饰符
- 图书管理系统之用户信息维护
- Renderbus瑞云渲染正式支持UE云渲染!离线渲染+实时渲染=渲染起飞!
- Arthas监控学习与分享
热门文章
- 用了python之后笔记本卡了_干货!如何用Python在笔记本电脑上分析100GB数据(上)...
- Android:SQLite数据库学习小结
- 2D激光雷达运动畸变矫正_base里程计
- 1+x云计算中级,第二天串讲,拓扑图
- Python办公自动化之PPT幻灯片自动化:使用Python制作PPT 操作PPT
- c语言中常用英语词汇,C语言常见英语词汇
- C#开发WinForm之DataGridView开发
- 程序员月薪过7万,可以落户北京了
- 三款截图软件:Snipaste+FastStone-Capture+FireShot
- 树莓派41/100- Pico控制触摸开关模块TTP223