蒙特利尔大学在读博士_沈驿康:自然语言模型和无监督语法分析.pdf
4.4 MB
Language Modeling and Unsupervised Parsing
Yikang Shen
Mila, University of Montreal
Yikang Shen
Mila, University of Montreal
Neural Compositional Denotational Semantics for QA
Nitish Gupta, Mike Lewis
https://www.aclweb.org/anthology/papers/D/D18/D18-1239/
本文发表于EMNLP2018,展示了一种语义组合的神经网络方法。
Nitish Gupta, Mike Lewis
https://www.aclweb.org/anthology/papers/D/D18/D18-1239/
本文发表于EMNLP2018,展示了一种语义组合的神经网络方法。
Vintage NLP for Work
Neural Compositional Denotational Semantics for QA Nitish Gupta, Mike Lewis https://www.aclweb.org/anthology/papers/D/D18/D18-1239/ 本文发表于EMNLP2018,展示了一种语义组合的神经网络方法。
现有的神经网络方法在KBQA任务上能回答的问句较为简单。这类方法能够回答较为复杂的、需要多步推理的问句。
这种claim大家见的多了,为什么它能做呢?因为他用神经网络建模了形式语义的组合,所以可以实现复杂的逻辑推理,从而能做多步任务。
形式语义的基本元素:真值、对象、谓词、逻辑连接符、量词
由于对象一般在真实世界中有所指(denote sth.),所以我们把指代的东西叫做 denotation,并假设这些对象均为真,而谓词则进一步作用到对象集合上并返回一个真值或对象子集。
例如,"The new postdoc has written several articles" 整个句子的语义可以形式地由更小的部分组合得来,最终得到:
∃x, y[new(postdoc(x)) ∧ article ∗ (y) ∧ write(x, y)]
但以往形式语义的方式需要很多组合规则,这种规则或者文法的学习非常困难,具体困难来自自然语言中普遍的歧义、多义等现象。
另一方面,我们现在比较熟悉的分布式语义,是基于分布式假设的,即一个语义由它的上下文得到。而用神经网络如RNN的方法组合整个句子的语义,忽视了语言的组合本质和句法关系,违反了创造性原则(即我们可以构造出自己从没见过但能理解的句子)。
当然我们也可以把句法信息加入神经网络,但是解释性往往不尽人意,这又是另外的话题了。
我们有理由相信这两种语义并不对立,例如这样的代表性工作:
- Recursive Language Model (Socher et al. 2012)
- Neural CCG Supertagging
- Formal Distributional Semantics (Grefenstette 2013)
本文也是基于这种结合二者的想法提出。具体定义了语义类型、组合模块,以及句子的解析模型三个部分。
这种claim大家见的多了,为什么它能做呢?因为他用神经网络建模了形式语义的组合,所以可以实现复杂的逻辑推理,从而能做多步任务。
形式语义的基本元素:真值、对象、谓词、逻辑连接符、量词
由于对象一般在真实世界中有所指(denote sth.),所以我们把指代的东西叫做 denotation,并假设这些对象均为真,而谓词则进一步作用到对象集合上并返回一个真值或对象子集。
例如,"The new postdoc has written several articles" 整个句子的语义可以形式地由更小的部分组合得来,最终得到:
∃x, y[new(postdoc(x)) ∧ article ∗ (y) ∧ write(x, y)]
但以往形式语义的方式需要很多组合规则,这种规则或者文法的学习非常困难,具体困难来自自然语言中普遍的歧义、多义等现象。
另一方面,我们现在比较熟悉的分布式语义,是基于分布式假设的,即一个语义由它的上下文得到。而用神经网络如RNN的方法组合整个句子的语义,忽视了语言的组合本质和句法关系,违反了创造性原则(即我们可以构造出自己从没见过但能理解的句子)。
当然我们也可以把句法信息加入神经网络,但是解释性往往不尽人意,这又是另外的话题了。
我们有理由相信这两种语义并不对立,例如这样的代表性工作:
- Recursive Language Model (Socher et al. 2012)
- Neural CCG Supertagging
- Formal Distributional Semantics (Grefenstette 2013)
本文也是基于这种结合二者的想法提出。具体定义了语义类型、组合模块,以及句子的解析模型三个部分。
Vintage NLP for Work
现有的神经网络方法在KBQA任务上能回答的问句较为简单。这类方法能够回答较为复杂的、需要多步推理的问句。 这种claim大家见的多了,为什么它能做呢?因为他用神经网络建模了形式语义的组合,所以可以实现复杂的逻辑推理,从而能做多步任务。 形式语义的基本元素:真值、对象、谓词、逻辑连接符、量词 由于对象一般在真实世界中有所指(denote sth.),所以我们把指代的东西叫做 denotation,并假设这些对象均为真,而谓词则进一步作用到对象集合上并返回一个真值或对象子集。 例如,"The new postdoc…
本文针对KBQA,语义类型主要分为具体化的、半具体化的、不具体化的三种。主要就看一个词能否对应到知识库的实体。首先定义语义怎么用张量来表示。例如实体类型的语义就包括所有实体上的概率,构成一个很长的向量。关系的表示则是任意两个实体之间的一个软邻接矩阵,越接近1表示该条边的强度越强。
Vintage NLP for Work
本文针对KBQA,语义类型主要分为具体化的、半具体化的、不具体化的三种。主要就看一个词能否对应到知识库的实体。首先定义语义怎么用张量来表示。例如实体类型的语义就包括所有实体上的概率,构成一个很长的向量。关系的表示则是任意两个实体之间的一个软邻接矩阵,越接近1表示该条边的强度越强。
到组合模块就比较容易了,本文定义了如 E+E=E 这样的组合规则,共有8个,每个规则都使用语义表示,及额外的参数来实现语义表示的合成。
Vintage NLP for Work
到组合模块就比较容易了,本文定义了如 E+E=E 这样的组合规则,共有8个,每个规则都使用语义表示,及额外的参数来实现语义表示的合成。
最后的问句解析部分使用了类似CKY的chart parsing算法。先定义人工的特征函数,然后计算从i到j的span中,所有的切分方式、所有的可能合成、所有的组合模块,对应得到的势能打分。最后用动态规划来计算出整个句子(从0到尾的span)的势能得分。
Vintage NLP for Work
最后的问句解析部分使用了类似CKY的chart parsing算法。先定义人工的特征函数,然后计算从i到j的span中,所有的切分方式、所有的可能合成、所有的组合模块,对应得到的势能打分。最后用动态规划来计算出整个句子(从0到尾的span)的势能得分。
势能得分是针对不同的语义类型分别计算的:实体类型、关系类型、空类型、真值类型等。
这样整个句子的势能得分中,得分最大的类型就视为句子最终的答案,其语义合成对应的表示就是所求的结果。
这样整个句子的势能得分中,得分最大的类型就视为句子最终的答案,其语义合成对应的表示就是所求的结果。
Vintage NLP for Work
势能得分是针对不同的语义类型分别计算的:实体类型、关系类型、空类型、真值类型等。 这样整个句子的势能得分中,得分最大的类型就视为句子最终的答案,其语义合成对应的表示就是所求的结果。
作者在自动生成和人工撰写的数据集上都做了实验。其中关于复杂的短语指代的数据集是人工撰写的。例如可能要求给出“all of the read items except for the rectangle”这样的短语的精确指代是什么。可以看到,无论是LSTM和Tree-LSTM等神经网络模型,都比本文的性能低很多。
Vintage NLP for Work
作者在自动生成和人工撰写的数据集上都做了实验。其中关于复杂的短语指代的数据集是人工撰写的。例如可能要求给出“all of the read items except for the rectangle”这样的短语的精确指代是什么。可以看到,无论是LSTM和Tree-LSTM等神经网络模型,都比本文的性能低很多。
最后给一点务虚的小结,本文的工作并不是完美的。
- 首先需要针对整个知识库的实体都给出一个向量表示这点就是不可扩展的,大规模的知识库实体数目往往百万起步。
- 第二,自然语言并不完全是形式语义,其表达方式多样,形式语义的方法避免不了要针对不同表达方式都设计组合方式来覆盖,肯定会比神经网络的向量相似度计算难一些。
- 第三,自然语言不会脱离应用场景而存在,语言的交际意义是形式语义也处理不了的,但KBQA任务中不太存在这种需求,交互式QA中可能需要。
- 首先需要针对整个知识库的实体都给出一个向量表示这点就是不可扩展的,大规模的知识库实体数目往往百万起步。
- 第二,自然语言并不完全是形式语义,其表达方式多样,形式语义的方法避免不了要针对不同表达方式都设计组合方式来覆盖,肯定会比神经网络的向量相似度计算难一些。
- 第三,自然语言不会脱离应用场景而存在,语言的交际意义是形式语义也处理不了的,但KBQA任务中不太存在这种需求,交互式QA中可能需要。
Forwarded from Parallel Experiments (Linghao Zhang)
二战时盟军通过缴获的德国坦克车身上的序列号来估计坦克的总产量,靠的是基本的统计知识:https://www.eadan.net/blog/german-tank-problem/
Jointly Learning Semantic Parser and Natural Language Generator via Dual Information Maximization
https://arxiv.org/abs/1906.00575
Hai Ye, Wenjie Li, Lu Wang
ACL 2019
语义解析和文本生成是两个形式上对偶任务,最大化对偶信息(Dual Information Maximization, DIM)可以在两个任务上联合训练。其核心想法是:使用对偶任务作为主任务的变分分布,并优化ELBO。
https://arxiv.org/abs/1906.00575
Hai Ye, Wenjie Li, Lu Wang
ACL 2019
语义解析和文本生成是两个形式上对偶任务,最大化对偶信息(Dual Information Maximization, DIM)可以在两个任务上联合训练。其核心想法是:使用对偶任务作为主任务的变分分布,并优化ELBO。
Vintage NLP for Work
Jointly Learning Semantic Parser and Natural Language Generator via Dual Information Maximization https://arxiv.org/abs/1906.00575 Hai Ye, Wenjie Li, Lu Wang ACL 2019 语义解析和文本生成是两个形式上对偶任务,最大化对偶信息(Dual Information Maximization, DIM)可以在两个任务上联合训练。其核心想法是:使用对偶任…
给定一个标注数据集(x, y),为了说明对偶性,我们考察联合分布P(x,y)。
语义解析是给定了x, 文本生成则给定了y。
二者建模这个联合分布的顺序正好相反,前者是P(x)P(y|x),后者是P(y)P(x|y)。
本文不考虑模型,直接使用标准模型Seq2Seq,对这两个条件分布做参数化。
语义解析是给定了x, 文本生成则给定了y。
二者建模这个联合分布的顺序正好相反,前者是P(x)P(y|x),后者是P(y)P(x|y)。
本文不考虑模型,直接使用标准模型Seq2Seq,对这两个条件分布做参数化。
Vintage NLP for Work
给定一个标注数据集(x, y),为了说明对偶性,我们考察联合分布P(x,y)。 语义解析是给定了x, 文本生成则给定了y。 二者建模这个联合分布的顺序正好相反,前者是P(x)P(y|x),后者是P(y)P(x|y)。 本文不考虑模型,直接使用标准模型Seq2Seq,对这两个条件分布做参数化。
传统做法直接用标注数据,对这两个任务各自优化最大似然。而本文的联合训练只需要加入一个“对偶信息”的额外损失项。