Vintage NLP for Work
1.09K subscribers
266 photos
28 files
343 links
Natural Language Processing for Work

频道历史内容的网页归档:
https://www.notion.so/NLP-for-Work-af812710c3a543c2adc7acbdb3990036

For Work 系列频道
梗频道: @JISFW
图频道: @GfWR16
反馈投稿吹水群: @FishingFW

更多精彩:
https://t.me/JISFW/13392
Download Telegram
Summarizing Entity Descriptions for Effective and Efficient Human-centered Entity Linking
http://dl.acm.org/citation.cfm?id=2741094
Gong Cheng, Danyun Xu, Yuzhong Qu
Vintage NLP for Work
Summarizing Entity Descriptions for Effective and Efficient Human-centered Entity Linking http://dl.acm.org/citation.cfm?id=2741094 Gong Cheng, Danyun Xu, Yuzhong Qu
这篇文章比较早了,发表于WWW2015,但在自然语言生成(NLG)方面还是一篇比较有代表性的工作。
他们关注的点是实体链接系统。实体链接(entity linking)任务是把文章中的一段 mention 对应到一个准确的实体 token 上,除了用维基百科的锚文本外,很多时候也需要人工标注很多对应的数据。系统会给一个 mention 然后由人去点击某个实体进行标注。

但是,实体一般是个结构化数据(比如数据库表的某一行,或者一个巨大的 json 对象),标注者可能很困难才能确定一个 mention 究竟说的是不是这个实体(尤其是歧义的时候)。
因此,标题中所谓 summarizing entity description 的意思是如何从巨大的 json 中选择一些最有利于人类识别的字段,从而提高标注的效率和准确性。

他们确定了三个方向,这里简单地把它们称作标示度(identity)、区分度(differentiability)、主题性(contextualization)

- 标示度,指选一个实体最有代表性的字段,例如上图中 iPhone6 实体的类型“智能手机”就是最有代表性不会冲突的
- 区分度,指当有多个相似实体放在一起,如何与其他的区分开来,例如上图中两个 Apple 实体给出的对应字段分别是公司、水果
- 主题性,指的是当给定段落是科技主题的时候,对“三星电子”挑出来的字段就是它的类型:“IT公司”,这与主题相近,而不是选一些大众化的“注册资本”、“法人代表”等其他字段。

综合考虑上面的三种选择方法,其实都是为了选出实体的某些字段,这个“选”或“不选”的抉择就可以用整数线性规划来建模。

下面只以区分度为例。
Vintage NLP for Work
整体的建模是最大化一个选择效用 p,来确定选或不选两个实体对应的字段。它们满足一个长度约束,即选的字段别太多了就行。
p 直接定义为区分度函数,对应两个字段越能相互区别的程度。具体的计算中,只有当两个字段名相同、取值不同且取值的相似度为负,才取非0值,并且正相关于相似度的绝对值。

这个原则也比较容易理解,如果两个相似的实体取不同的字段,相当于东一榔头西一棒,人没法区分谁是谁,而把它们相同的属性但不同的值放在一起,就能更好地对比了。

在标示度和主题性两个上面类似,主题性用了类似于 TF-IDF 的方法,具体可以参考原文。他们还设计了一个综合的效用函数,把三者结合起来,放到一个规划问题里去求解。
Building RDF Content for Data-to-Text Generation
http://aclweb.org/anthology/C16-1141
Laura Perez-Beltrachini, Rania Mohamed Sayed, Claire Gardent
Vintage NLP for Work
Building RDF Content for Data-to-Text Generation http://aclweb.org/anthology/C16-1141 Laura Perez-Beltrachini, Rania Mohamed Sayed, Claire Gardent
本文发表在 COLING2016,是接着昨天推送的一篇相关工作。他们从 DBPedia 数据中提取相关的字段,把之前的工作升华到了 data-to-text 任务上来。
之前的工作中只是为了满足实体链接需要,为每个实体抽取一些代表性的字段。但这里为了生成句子,就需要抽取一些更复杂的字段来。从几何形状上来看,以前都是一层高的树,而现在是从知识图谱中抽出一个多层的树。

他们提出了两种模型,称为 sibling-model 和 chain-model,顾名思义,前者建模的是如何选择一个节点下面的子节点,而后者建模的是如何选择连续的一条链上的节点。
这里最重要的是主题一致性,这是这里 data-to-text 任务的需要。由于任务目标是生成一段文字,因此无论选的是子节点还是一条链,都需要把语义上接近的东西放到一起。例如名人的出生地和出生日期就是主题上较一致的,而出生地和当地的发展政策就是主题相距较远的,不适合放到一句话中。

他们也用整数线性规划来建模。定义决策变量 x 表示一个属性是否被选中,sibling model 中的一对属性用 y 决策变量,而连续一条链路上的一对属性用 z 决策变量控制。
Creating Training Corpora for NLG Micro-Planning
http://www.loria.fr/~gardent/publis/2017-acl-webnlgfwk.pdf
Claire Gardent, Anastasia Shimorina, Shashi Narayan and Laura Perez-Beltrachini
Vintage NLP for Work
Creating Training Corpora for NLG Micro-Planning http://www.loria.fr/~gardent/publis/2017-acl-webnlgfwk.pdf Claire Gardent, Anastasia Shimorina, Shashi Narayan and Laura Perez-Beltrachini
这篇文章发表在尚未召开的 ACL2017,也是接着上一篇的工作继续的。
传统的自然语言生成有一个中间步骤,叫做 micro-planning,主要包括句子聚合、词项生成、指代生成等三个小步骤。
但是以往除了人工模板方法之外很难对这三个小步骤做自动学习,很大一个原因就是根本就没有用于这种中间过程的训练数据,大家就只能局限于用语言模型或者端到端的方式训练。
本文就希望能构造一些合适的训练数据。Anyway,他们并没有解释 micro-planning 有些什么特殊需要,且这些数据集能够满足这种需要。他们只是创建了一个更好的数据集。

本文从 DBPedia 的知识库出发,如何构造句子是他们的一个亮点。简单说来就如下几步:

1. 使用上一篇文章(Perez-Beltrachini et al., 2016)的工作从 DBPedia 提取三元组
2. 人工把一些三元组中晦涩看不懂的谓词 token 换一个说法,比如把 crew1up 换成 commander
3. 在众包平台上,让每个人去把每个三元组改写成一个句子
4. 在众包平台上,让人把多个三元组合并成一个句子
5. 在众包平台上,再次让人对流畅、语法、准确三个维度打分,如果五个人中有三个认为某维度上有问题就丢弃这个样本。

顺带一提(不算广告)他们用的众包平台不是亚马逊的 Mechanical Turk 而是一个叫 crowdflower.com 的。

上面的图是他们的样本(下)和以前数据集样本(上)的区别,他们的句子更加饱满且自然。
Analysing Data-To-Text Generation Benchmarks
https://arxiv.org/abs/1705.03802
Laura Perez-Beltrachini, Claire Gardent

这篇短文发表在 arXiv 上,还是前几篇工作的两个人。他们试图从数据集的角度分析,现有 data-to-text 任务能做到什么程度。他们主要从四个方面考察2016年几个工作提出的数据集:

- 词项丰富度:即不要过多集中于个别词根,尽量什么都包含一点
- 句法多样性
- 语义充足性:每一对样本中,text 是否不多不少正好覆盖了 data 的语义
- 语言充足性:是否包括了同一个谓词的不同说法,捕捉尽量多的复述(paraphrase)

词项丰富度和语言充足性都比较容易算,就看一个谓词有多少种说法,句子里有多少不同词根就行了。方法和上一篇的工作相似。

这里比较有趣的是句法多样性的衡量。怎么才能定量地衡量一个句子复杂到啥程度呢?
借助前人 (Lu, 2010) 的工作,他们把解析后的句法树拆成小子树,并用启发式方法给每个子树都打个分。整个句子的得分按照指定规则计算:

- 若所有子树都为 lv0 则整个句子是 lv0
- 若所有子树要么 lv0 要么分得一个 lv K,则整个句子是 lv K
- 若子树中有超过2个的 lv K(>0),则整个句子是 lv 7

另外他们用一个 D-Level Scale (Covington et al. 2006) 来划分等级:

0. 简单句 (simple sentence)
1. 没有明显主体(overt subject)的不定式 (non-finite clause) 做宾语
2. 并列结构 (coordinated structure,即 A and B and C 之类的形式,可以是任意名词动词介词等等并列)
3. 限定性子句(finite clause) 做宾语
4. 有明显主体的不定式做宾语
5. 限定或不定的修饰性(adjunct)从句
6. 复杂的主语
7. 包含有1-6的多种结构
Vintage NLP for Work
对现有数据集的 D-Level 分析可以看到,简单句占据绝大多数,并列结构、修饰性从句以及混合结构次之,整体来说数据集是不那么平衡的。
语义充足度方面,由于句子要么是人写的,这样句子中可能会遗漏一些数据;要么是从维基百科里选句子,这样句子可能既说了 data 里没有的内容,又没说到 data 中包含的内容,这种情况下,数据不适合联合建模。
Vintage NLP for Work
Controlling Linguistic Style Aspects in Neural Language Generation https://arxiv.org/abs/1707.02633 Jessica Ficler and Yoav Goldberg
本文来自以色列 Bar-Ilan 大学,没错作者就是前阵子指责 arXiv 上发文的人喜欢夸大占坑的 Yoav Goldberg。
本文目标和之前推荐过的《Controllable Text Generation》(1703.00955) 相似,即控制句子的属性。
他们针对的是电影评论领域,设定了6个属性:

- 主题:即评论的是电影的什么部分,表演、情节或者别的
- 情感倾向
- 是否是专业性强的评论,或者是很朴素的语言(外行)
- 是否是个人观点
- 句子长度
- 是否是描述性的

他们模型是简单的 LSTM,在每个输入时都拼上一个 context 向量,其中包括上面6个属性。
训练时做有监督训练,测试时设定某个属性值然后生成内容。

但是监督训练怎么才能获得那么具体的6个属性的标注?

- 是否专业:由于评论来自网站抓取,因此根据用户是职业评论家或有网站提供的"super-reviewer"标记来判断即可
- 情感倾向:根据打分0-2是负面,3为中立,4-5是积极
- 句子长度:统计文本获得
- 个人观点:包含第一人称代词和所有格(I, my)
- 主题:确定使用情节、表演、制作、效果四个方面,然后人工选择了一些高频词做分类
- 描述性评论:在 POS tagger 结果中若形容词超过了35%则是描述性的
Vintage NLP for Work
本文来自以色列 Bar-Ilan 大学,没错作者就是前阵子指责 arXiv 上发文的人喜欢夸大占坑的 Yoav Goldberg。 本文目标和之前推荐过的《Controllable Text Generation》(1703.00955) 相似,即控制句子的属性。 他们针对的是电影评论领域,设定了6个属性: - 主题:即评论的是电影的什么部分,表演、情节或者别的 - 情感倾向 - 是否是专业性强的评论,或者是很朴素的语言(外行) - 是否是个人观点 - 句子长度 - 是否是描述性的 他们模型是简单的 …
他们对比了一个只在特定属性的数据上训练的普通模型,结果显示,如果属性较少同时筛选的样本足够多(绿色线上面的数字表示用于dedicated model的样本数),普通模型的效果要比他们的条件模型更好。

在实际运用中,我们不可能为每种属性值的组合都去搜集对应样本来单独训练模型,并且在属性值更多的情况下训练效果也不好,这便是他们 conditioned model 的意义。
Vintage NLP for Work
他们对比了一个只在特定属性的数据上训练的普通模型,结果显示,如果属性较少同时筛选的样本足够多(绿色线上面的数字表示用于dedicated model的样本数),普通模型的效果要比他们的条件模型更好。 在实际运用中,我们不可能为每种属性值的组合都去搜集对应样本来单独训练模型,并且在属性值更多的情况下训练效果也不好,这便是他们 conditioned model 的意义。
他们还对开发集中的值组合按比例选取了概率最高的k个句子,来验证对不同的6个属性值是否得到了正确的控制。效果也都非常好。

对于职业性和情感倾向方面,由于无法用自动化的方式评价生成的句子,他们借助 Amazon Mechanical Turk 进行评价。统计了职业性方面达到了72.1%的准确性,在积极和消极情感方面得到了86.3%的准确性,而当评价积极与中立、消极与中立时就较难区分,效果只有60%多