Neural AMR: Sequence-to-Sequence Models for Parsing and Generation
https://arxiv.org/abs/1704.08381
Ioannis Konstas, Srinivasan Iyer, Mark Yatskar, Yejin Choi, Luke Zettlemoyer
https://arxiv.org/abs/1704.08381
Ioannis Konstas, Srinivasan Iyer, Mark Yatskar, Yejin Choi, Luke Zettlemoyer
Vintage NLP for Work
Neural AMR: Sequence-to-Sequence Models for Parsing and Generation https://arxiv.org/abs/1704.08381 Ioannis Konstas, Srinivasan Iyer, Mark Yatskar, Yejin Choi, Luke Zettlemoyer
AMR 作为一种为表示语义用的符号就不再赘述了。本文同时做了把句子 parse 为 AMR 结构以及把 AMR 图转换为自然语言句子两个任务,已经被 ACL-2017 收录。
简单说以前 seq-to-seq 模型在 AMR 上应用有两个困难:
- 标注语料太少
- AMR 本质上是个图不是序列
他们用了所谓配对训练(paired training)以及 AMR 语料的预处理来解决标注数据太少的问题。
由于想要使用 seq-to-seq 框架,他们还设计了实验证明图的线性化(linearization)如何影响结果的。
模型本身非常简单,encoder 是 stacked bidirectional LSTM,第一层加了 dropout,decoder 是 stacked LSTM + attention,如果要输出语料外的词时就用 attention 直接把原始串里的词拷贝过来。
最终选择的 stack 只有两层。
简单说以前 seq-to-seq 模型在 AMR 上应用有两个困难:
- 标注语料太少
- AMR 本质上是个图不是序列
他们用了所谓配对训练(paired training)以及 AMR 语料的预处理来解决标注数据太少的问题。
由于想要使用 seq-to-seq 框架,他们还设计了实验证明图的线性化(linearization)如何影响结果的。
模型本身非常简单,encoder 是 stacked bidirectional LSTM,第一层加了 dropout,decoder 是 stacked LSTM + attention,如果要输出语料外的词时就用 attention 直接把原始串里的词拷贝过来。
最终选择的 stack 只有两层。
Vintage NLP for Work
AMR 作为一种为表示语义用的符号就不再赘述了。本文同时做了把句子 parse 为 AMR 结构以及把 AMR 图转换为自然语言句子两个任务,已经被 ACL-2017 收录。 简单说以前 seq-to-seq 模型在 AMR 上应用有两个困难: - 标注语料太少 - AMR 本质上是个图不是序列 他们用了所谓配对训练(paired training)以及 AMR 语料的预处理来解决标注数据太少的问题。 由于想要使用 seq-to-seq 框架,他们还设计了实验证明图的线性化(linearization)如何影响结果的。…
先说创新点之一,就是 AMR 语料的预处理,最后使得形式比较简单,具体命名实体和日期等都用对应类型的token替换,并加上出现顺序的编号得到最终的(loc_0, loc_1),然后用 DFS 先序遍历,并在输出子节点时加上括号以示 scope,得到最终序列。
Vintage NLP for Work
先说创新点之一,就是 AMR 语料的预处理,最后使得形式比较简单,具体命名实体和日期等都用对应类型的token替换,并加上出现顺序的编号得到最终的(loc_0, loc_1),然后用 DFS 先序遍历,并在输出子节点时加上括号以示 scope,得到最终序列。
创新点之二是这个 paired training 算法。
比较新鲜的地方是第3-8行中先用 parser 解析未标注句子,得到一个集合,再用这个自己标的集合去训练 parser 自身,所谓自训练,然后再在真实标注的集合D上调优参数,迭代N次,每次多选一个量级的未标注样本。
比较新鲜的地方是第3-8行中先用 parser 解析未标注句子,得到一个集合,再用这个自己标的集合去训练 parser 自身,所谓自训练,然后再在真实标注的集合D上调优参数,迭代N次,每次多选一个量级的未标注样本。
Vintage NLP for Work
创新点之二是这个 paired training 算法。 比较新鲜的地方是第3-8行中先用 parser 解析未标注句子,得到一个集合,再用这个自己标的集合去训练 parser 自身,所谓自训练,然后再在真实标注的集合D上调优参数,迭代N次,每次多选一个量级的未标注样本。
AMR 官方使用的 SMATCH 评价指标下,在使用最多的无监督数据集(GIGA-20M)时 parser 的结果有了明显提升,但比需要更多外部资源依赖的 SBMT、CAMR 等还是要差一点。
Vintage NLP for Work
而在 Generation 任务上他们则达到了最佳效果。
最后他们还针对图结构的序列化顺序做了一些实验,以及模型配置的 ablation 的实验,这里就不说了。逻辑非常详尽,算是这次 ACL 中不错的论文。
总体来说觉得可以有三个启发:
- 图的线性化是可靠的,可以认为线性化后的图代表了图结构信息
- 采用对偶学习的思路联合学习 parser 和 generator,就能插入大量的非监督数据集,解决数据稀疏的问题
- paired training 成功的原因可能是,先用模型自己去标注、再用自己标出来的东西去学习自身,也许可以增加模型对自己的确信,从而在标准数据集上调优时能更容易分辨对错
总体来说觉得可以有三个启发:
- 图的线性化是可靠的,可以认为线性化后的图代表了图结构信息
- 采用对偶学习的思路联合学习 parser 和 generator,就能插入大量的非监督数据集,解决数据稀疏的问题
- paired training 成功的原因可能是,先用模型自己去标注、再用自己标出来的东西去学习自身,也许可以增加模型对自己的确信,从而在标准数据集上调优时能更容易分辨对错
Vintage NLP for Work
AMR 作为一种为表示语义用的符号就不再赘述了。本文同时做了把句子 parse 为 AMR 结构以及把 AMR 图转换为自然语言句子两个任务,已经被 ACL-2017 收录。 简单说以前 seq-to-seq 模型在 AMR 上应用有两个困难: - 标注语料太少 - AMR 本质上是个图不是序列 他们用了所谓配对训练(paired training)以及 AMR 语料的预处理来解决标注数据太少的问题。 由于想要使用 seq-to-seq 框架,他们还设计了实验证明图的线性化(linearization)如何影响结果的。…
AMR 本身的格式可以查看官网的概述 http://amr.isi.edu/language.html
或者参考这个关于 semantic parsing 的 slides
https://speakerdeck.com/zxteloiv/semantic-parsing-methods
或者参考这个关于 semantic parsing 的 slides
https://speakerdeck.com/zxteloiv/semantic-parsing-methods
Emotional Chatting Machine: Emotional Conversation Generation with Internal and External Memory
https://arxiv.org/abs/1704.01074
Hao Zhou, Minlie Huang, Tianyang Zhang, Xiaoyan Zhu, Bing Liu
https://arxiv.org/abs/1704.01074
Hao Zhou, Minlie Huang, Tianyang Zhang, Xiaoyan Zhu, Bing Liu
Vintage NLP for Work
Emotional Chatting Machine: Emotional Conversation Generation with Internal and External Memory https://arxiv.org/abs/1704.01074 Hao Zhou, Minlie Huang, Tianyang Zhang, Xiaoyan Zhu, Bing Liu
最近带情绪的句子生成貌似有点多(
本文来自清华的朱小燕老师组,另外刘兵老师也是在情感分析方面有多年经验的专家。
他们的目标就是生成图中带情绪的句子,出发点也与相关工作类似,即以前的工作都是重在提升内容质量(句子该说些什么),没有考虑过情绪因子。
相比其他相关工作,他们还考虑了两点更深入的东西:
- 心理学研究发现,人说一句话的过程中情绪也不是固定的,而是会变化的
- 句中的情绪变化如何影响最终用词的(有的词有情感而有的词是中性),这个不好直接观测到
针对这两点,他们用一个记忆网络(memory network)来保存句中的情绪变化,当情绪权重降到0就说明这个情绪已经发泄完毕,后面用词不会再被影响到了。
他们还并用了另一个外部权重来决定是生成一个中性词还是生成一个情感词。
但是他们没有说为什么需要用记忆网络。
本文来自清华的朱小燕老师组,另外刘兵老师也是在情感分析方面有多年经验的专家。
他们的目标就是生成图中带情绪的句子,出发点也与相关工作类似,即以前的工作都是重在提升内容质量(句子该说些什么),没有考虑过情绪因子。
相比其他相关工作,他们还考虑了两点更深入的东西:
- 心理学研究发现,人说一句话的过程中情绪也不是固定的,而是会变化的
- 句中的情绪变化如何影响最终用词的(有的词有情感而有的词是中性),这个不好直接观测到
针对这两点,他们用一个记忆网络(memory network)来保存句中的情绪变化,当情绪权重降到0就说明这个情绪已经发泄完毕,后面用词不会再被影响到了。
他们还并用了另一个外部权重来决定是生成一个中性词还是生成一个情感词。
但是他们没有说为什么需要用记忆网络。
Vintage NLP for Work
最近带情绪的句子生成貌似有点多( 本文来自清华的朱小燕老师组,另外刘兵老师也是在情感分析方面有多年经验的专家。 他们的目标就是生成图中带情绪的句子,出发点也与相关工作类似,即以前的工作都是重在提升内容质量(句子该说些什么),没有考虑过情绪因子。 相比其他相关工作,他们还考虑了两点更深入的东西: - 心理学研究发现,人说一句话的过程中情绪也不是固定的,而是会变化的 - 句中的情绪变化如何影响最终用词的(有的词有情感而有的词是中性),这个不好直接观测到 针对这两点,他们用一个记忆网络(memory ne…
前面大篇幅讲了情绪、seq-to-seq 模型、记忆网络等内容(倒是写得挺好)。关键模型如图,但是模型相关的式子解释得反而不如前面清楚,向量和矩阵的相关维度什么的都没写,只能看个大概。
Vintage NLP for Work
前面大篇幅讲了情绪、seq-to-seq 模型、记忆网络等内容(倒是写得挺好)。关键模型如图,但是模型相关的式子解释得反而不如前面清楚,向量和矩阵的相关维度什么的都没写,只能看个大概。
例如,在建模句中情绪变化时,memory network 就是用神经网络算出读写权重,然后对 memory 就像对计算机内存一样模拟操作。详细大家翻翻之前有介绍过的 DeepMind 那篇 DNC 的工作就明白了,他们的文章里没有太多解释。
Modeling Source Syntax for Neural Machine Translation
https://arxiv.org/abs/1705.01020
Junhui Li, Deyi Xiong, Zhaopeng Tu, Muhua Zhu, Min Zhang, Guodong Zhou
https://arxiv.org/abs/1705.01020
Junhui Li, Deyi Xiong, Zhaopeng Tu, Muhua Zhu, Min Zhang, Guodong Zhou
Vintage NLP for Work
Modeling Source Syntax for Neural Machine Translation https://arxiv.org/abs/1705.01020 Junhui Li, Deyi Xiong, Zhaopeng Tu, Muhua Zhu, Min Zhang, Guodong Zhou
本文做的任务是机器翻译,发表在 ACL2017,来自苏州大学。
他们发现像上图中这样的一些例子,翻译系统没有学到原句子的语法。例如中文的一整个名词短语 NP 翻译后就被切成两段。
因此他们尝试把句法树信息加到词序列中,以系统地缓解这类问题。
他们发现像上图中这样的一些例子,翻译系统没有学到原句子的语法。例如中文的一整个名词短语 NP 翻译后就被切成两段。
因此他们尝试把句法树信息加到词序列中,以系统地缓解这类问题。
Vintage NLP for Work
本文做的任务是机器翻译,发表在 ACL2017,来自苏州大学。 他们发现像上图中这样的一些例子,翻译系统没有学到原句子的语法。例如中文的一整个名词短语 NP 翻译后就被切成两段。 因此他们尝试把句法树信息加到词序列中,以系统地缓解这类问题。
他们的模型基于基本的 seq-to-seq + attention。他们通过 DFS 遍历成分句法树得到一个序列。同时直接通过查找对应词的 POS,把词和句法的 tag 关联起来。比如上图中 "I" (w_1) 就和 PRN 建立了联系。
Vintage NLP for Work
他们的模型基于基本的 seq-to-seq + attention。他们通过 DFS 遍历成分句法树得到一个序列。同时直接通过查找对应词的 POS,把词和句法的 tag 关联起来。比如上图中 "I" (w_1) 就和 PRN 建立了联系。
他们先提出了两种模型,在第一种平行 RNN 中分别把句法 tag 序列和词序列跑两个独立的 RNN,再把相关的隐变量拼起来。
第二种层次化 RNN 则先跑一个句法信息的 RNN,再传给上层跑一个词序列的 RNN。
第二种层次化 RNN 则先跑一个句法信息的 RNN,再传给上层跑一个词序列的 RNN。
Vintage NLP for Work
他们先提出了两种模型,在第一种平行 RNN 中分别把句法 tag 序列和词序列跑两个独立的 RNN,再把相关的隐变量拼起来。 第二种层次化 RNN 则先跑一个句法信息的 RNN,再传给上层跑一个词序列的 RNN。
第三种混合 RNN 则直接把句法信息和词序列全部混起来作为一个序列。