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 wordrare word问题。
实验内容可以参考本篇翻译:https://zhuanlan.zhihu.com/p/36368316

参考:
https://blog.csdn.net/appleml/article/details/76988385

论文略读 | Pointing the Unknown Words相关推荐

  1. 【How to Design Translation Prompts for ChatGPT: An Empirical Study 论文略读】

    How to Design Translation Prompts for ChatGPT: An Empirical Study 论文略读 INFORMATION Abstract 1 Introd ...

  2. 论文略读:《地区如何随着时间的推移而多样化?产业关系与地区新增长路径的发展》

    地区如何随着时间的推移而多样化?产业关系与地区新增长路径的发展 阅读时间:2022.04.06 How Do Regions Diversify over Time? Industry Related ...

  3. 论文略读1《Direct training for spiking neural networks:faster,larger,better》

    发布时间2019-07-17,AAAI 文章链接Direct Training for Spiking Neural Networks: Faster, Larger, Better | Procee ...

  4. 论文略读 | Pattern-revising Enhanced Simple Question Answering over Knowledge Bases

    这是何世柱老师团队发表于COLING2018的一篇文章. 一. 文章贡献: 提出进行模式提取和实体链接,并提出模式修改程序来缓解错误传播问题 学习对候选主谓词对进行排序以使得能够在给出问题的情况下进行 ...

  5. 论文略读 | Question Answering on Knowledge Bases and Text using Universal Schema and Memory Networks

    文章创新点: 使用文本和KB组合的通用模式,结合记忆网络来完成问答 提出模型: UNISCHEMA 提出原因: 知识库问答会受到不完整性的影响,文本虽然包含大量事实,但是存在非结构化文本,将KB和文本 ...

  6. 如何读论文才不至于发疯?

    ↑ 点击蓝字 关注视学算法 来源丨新智元 编辑丨极市平台 极市导读 本文精选Reddit热帖"如何阅读大量的学术论文,而不发疯?"下的优质回答,介绍了多种提高文献阅读效率的方法. ...

  7. 谷歌查看html地址_104篇CVPR 2019论文,追踪谷歌、Facebook、英伟达研究课题

    [新智元导读]人工智能顶级会议CVPR刚刚公布了最佳论文,谷歌.Facebook和英伟达也随后公布了自家发表的论文共计104篇,本文列出了三家大厂论文的完整列表. 本周,在美国加利福尼亚州长滩举办了C ...

  8. ACL 2016 会议论文全集

    网页地址 http://anthology.aclweb.org/P/P16/,内有下载连接 网页内容: ACL Logo ACL Anthology A Digital Archive of Res ...

  9. [转]深度学习论文推荐

    Startups 机器学习.深度学习.计算机视觉.大数据创业公司 - Startups in AI Deep Reinforcement Learning David Silver. "Tu ...

  10. 【200+论文】深度强化学习、对话系统、文本生成、文本摘要、阅读理解等文献列表

    [导读]本文收录了深度强化学习.对话系统.文本生成.文本摘要.阅读理解.因果推理.记忆网络.推荐系统.神经表示学习等一系列领域参考文献大合集! https://cloud.tencent.com/de ...

最新文章

  1. android中PreferencesActivity的使用(一)
  2. openfiler 搭建虚拟存储 并 配置服务端 (转载)
  3. 前端cookie 放到请求头_ajax请求携带cookie和自定义请求头header(跨域和同域)
  4. git版本号管理工具的上手
  5. springmvc教程(2)
  6. 阿里云朱照远:AI打开新视界 8K时代已来!
  7. 【渝粤教育】21秋期末考试管理会计10171k2
  8. LeetCode 1051. 高度检查器
  9. 动态规划求解装箱问题(洛谷P1049题题解,Java语言描述)
  10. ASP.NET Core 基于SignalR实时通讯的前后端分离技术
  11. Made in 大产品——技术商业盛典
  12. 泛泰Bin文件格式解析及解压出IMG方法
  13. win凭据添加计算机名,手动添加Windows凭据,彻底解决Win7系统打印共享-win7添加打印机...
  14. 计算机音乐出山,《出山》音乐
  15. android获取版本信息、屏幕信息和设备编号
  16. 杭电18年计算机考研人数,2018杭州电子科技大学考研报考统计
  17. 基本数据类型在传参中的自顶向下和自底向上;this;访问权限修饰符
  18. 图书管理系统之用户信息维护
  19. Renderbus瑞云渲染正式支持UE云渲染!离线渲染+实时渲染=渲染起飞!
  20. Arthas监控学习与分享

热门文章

  1. 用了python之后笔记本卡了_干货!如何用Python在笔记本电脑上分析100GB数据(上)...
  2. Android:SQLite数据库学习小结
  3. 2D激光雷达运动畸变矫正_base里程计
  4. 1+x云计算中级,第二天串讲,拓扑图
  5. Python办公自动化之PPT幻灯片自动化:使用Python制作PPT 操作PPT
  6. c语言中常用英语词汇,C语言常见英语词汇
  7. C#开发WinForm之DataGridView开发
  8. 程序员月薪过7万,可以落户北京了
  9. 三款截图软件:Snipaste+FastStone-Capture+FireShot
  10. 树莓派41/100- Pico控制触摸开关模块TTP223