一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第6天,点击查看活动详情。
导语
学习需要,对Coreference Resolution(指代消解)进行了解使用。本次学习资源为经典的斯坦福CS224n 2021课程,视频链接为:www.bilibili.com/video/BV18Y…
本节课的学习大纲见下面幻灯片,本篇博客先介绍以下三个部分:
- 什么是Coreference Resolution?
- Coreference Resolution的应用。
- Mention Detection。
什么是Coreference Resolution?
首先,我们先来了解一下什么是Coreference Resolution。Coreference Resolution中文可以译为指代消解。Stanford NLP Group网站上的定义如下:
Coreference resolution is the task of finding all expressions that refer to the same entity in a text. It is an important step for a lot of higher level NLP tasks that involve natural language understanding such as document summarization, question answering, and information extraction.
翻译即
指代消解是在一段文本中找出相同实体的所有表达的任务。对于许多涉及自然语言理解的高级自然语言处理任务,如文档摘要、问答和信息提取,这是一个重要的步骤。
这里,maning举了一个英文文章的例子来说明Coreference Resolution。在下面的文本中,标为同样颜色的名词(短语)指的都是最初的一个人名,即Vanaja。所谓的Coreference Resolution可以简单理解为将这个实体的所有指代名词全部正确找出和对应的任务。
实际上,这个任务可能会很复杂。因为一段话中的实体是非常多的,比如下文中至少出现了四个人名:
- Vanaja
- Akhila
- Prajwal
- Akash
而且,不同的mention之间可能会有嵌套关系。比如Prajwal就是Akhila‘s son。有时,一些代词可能指代了多个前面出现的实体。比如三行的they指代了前面出现的Prajwal和Akash两个实体。
Coreference Resolution的应用
尽管有这些困难,但是Coreference Resolution的应用却是非常广泛。例如可以用来做全文理解,像信息提取、问答、总结之类的的任务。除此之外,Coreference Resolution也被应用于机器翻译、对话系统中。
举个例子,在机器翻译中,许多语言的名词、动词、代词或者形容词等都会对性别有着不同的书写形式。例如,he指的是一个男性,而she指的是女性。通过利用这个特点,将Coreference Resolution应用到机器翻译中可以减少一些翻译错误。
同样,在对话系统中,Coreference Resolution也是一项重要的技术。下图展示了一个订票系统的对话内容。相同颜色的代词/短语指的是同一个实体,通过结合Coreference Resolution,可以大大提升对话系统的性能。
那么,我们该如何进行Coreference Resolution呢?我们以一个句子“I voted for Nader because he was most aligned with my values,” she said”为例来说明。
传统方法将这个问题定义为两个步骤:
-
检测出所有的mention(简单)
- “[I] voted for [Nader] because [he] was most aligned with [[my] values],” [she] said
- 上面句子中所有mention被使用[]进行了划分,这个任务通常比较简单,现有的模型和方法可以做的很好。但是需要注意的是,上面的mention之间也是有嵌套的。
-
聚类这些mention(困难)
-
上面的句子中的mention可以被聚类为如下几类,相同的类别指的是同一个实体:
- [I], [my], [she]
- [Nader], [he]
- [my value]
-
Mention Detection
我们来看一下Mention Detection这个任务。首先,我们给出mention的定义,即mention是一段代表一些实体的text span(若干连续的文本)。一般而言,有三种类型的mention:
- 名词,如I, your, it, she, him ,这个可以使用词性标注(Part Of Speech)来发现
- 命名实体,如人物、地点: Paris, Joe Biden, Nike ,这个可以使用命名实体识别(Named Entity Recognization)来发现
- 名词短语,如“a dog,” “the big fluffy cat stuck in the tree ,这个可以使用句法解析器(如成分句法分析)来发现
当然,mention detection任务也没有那么简单。并不是所有的名词、代词等都是mention,下面幻灯片举了几个例子。
我们该如何处理这些bad mention呢?一种方法就是可以训练一个分类器来过滤掉那些假的mention。但实际上,人们通常并不会这么去做。更普遍的做法是将所有的mention都当做候选的mention,再Coreference系统运行完成后丢弃掉所有的单个mention(即经过聚类后,没有与其他mention分到一个类)。
这些传统的方法其实也只是到2016年左右的方法。最新的一些方法是避免使用这种pipeline形式的方法,而是直接使用end-to-end的方式,直接将所有的文本输入到一个神经网络中来同时完成mention detection和Coreference resolution。
总结
本篇博客首先介绍了Coreference Resolution的基本概念和其应用,传统方法进行Coreference Resolution的两个步骤分别是mention detection和cluster the mentions。最后,本文对mention detection也给出了定义并介绍了其实现方法。下一篇博客将继续沿着课程大纲内容进行学习总结。