cs224n 笔记15 共指解析

前言

cs224n 第15讲,讲解了指代消解的概念、传统算法、神经网络算法等相关内容。

文章目录

    • 前言
    • 什么是指代消解
      • 指代消解的应用
      • 指代消解的评测
      • 指代的类型
      • Coreference, anaphors, cataphors
    • 指代消解模型
      • 传统算法
        • 几种模型
        • 监督Mention-Pair Model
      • 神经网络指代消解模型
        • 深度增强学习用于mention-ranking指代消解
        • 训练方法
        • 强化学习

什么是指代消解

简单来说就是代指的问题,在语言中总是会用代词、名词或者一些名词性短语来代替其他事物,比如下图中的his和he都是代指Obama
cs224n 笔记15 共指解析_第1张图片
在课上,Manning对着一篇短文讲解了很久,总体意思就是文章中有很多代指的代词或者名词性短语,同时在判定代指对象时有很多复杂的问题,不容易判断。比如说短文中所有的she、her都是在代指Vanaja,但是短文开头同时出现了两个人名;the best tree并没有代指任何事物,只是简单的描述。
cs224n 笔记15 共指解析_第2张图片
另外,在常见文本中还会存在着大量嵌套的情况,比如下图中的Prime Corp被提及,同时CFO of Prime Corp也被提及的情况。
cs224n 笔记15 共指解析_第3张图片

指代消解的应用

  • 全文理解
  • 机器翻译:比如有的语言不区分男他和女她,在翻译时需要指代消解
  • 文本摘要:使用代词会使行文更加自然
  • 信息提取和QA系统

指代消解的评测

结合聚类的思想,发现指代消解和聚类很像,所以聚类的评测方法都被尝试过用于指代消解的评测。这里关注的是其中一种方法–B cubed。
cs224n 笔记15 共指解析_第4张图片
图中的准确率P和召回率R是针对于蓝色这一类计算的。

指代的类型

cs224n 笔记15 共指解析_第5张图片
NLP解决的更多的是后两种类型的指代问题。
还提到一种,就是说并不是所有的NP都在指代。下图中绿色的NP代指全集或者空集,没有具体指代。
cs224n 笔记15 共指解析_第6张图片

Coreference, anaphors, cataphors

这里提到共指、回指、下指(不确定这么翻译对不对),第三个在NLP里并不关注。
所谓回指就是两个代词共同指代同一事物,回指是代词具体指的事物依赖于先行词的内容。下图就很形象了
cs224n 笔记15 共指解析_第7张图片

指代消解模型

传统算法

Hobbs’ naive algorithm是一种传统的代词消解算法,基本就是Hobbs手写的规则集,很繁琐,也不是我们要学习的重点,这里就不记录啦。

几种模型

  • Mention Pair models
    将所有的指代词(短语)与所有被指代的词(短语)视作一系列pair,对每个pair二分类决策成立与否。
  • Mention ranking models
    显式地将mention作为query,对所有candidate做rank
  • Entity-Mention models
    一种更优雅的模型,找出所有的entity及其对话上下文。根据对话上下文聚类,在同一个类中的mention消解为同一个entity。但这种方法其实也用得不多。

监督Mention-Pair Model

这种方法用的很多,也很容易理解。简单来说就是根据指代关系构建正负样本,然后进行二分类。比如下图中,he和the president构成正样本,he和Milwaukee’s构成负样本。
在这里插入图片描述
这种二分类器也会结合一些规则进行最终的判断,比如Mary是女名,Jack是男名,所以she只能指代Mary。
cs224n 笔记15 共指解析_第8张图片

神经网络指代消解模型

这里介绍了几篇论文中的方法

深度增强学习用于mention-ranking指代消解

首先找出所有的mention
cs224n 笔记15 共指解析_第9张图片
然后对于某个词(my),让其与该词前面的mention构成pair,为每一对pair打分,这里的new是代表该词没有指代。
cs224n 笔记15 共指解析_第10张图片
将每次打分最高的构成指代关系,最终如下图所示
cs224n 笔记15 共指解析_第11张图片
####神经Mention-Pair Model
这个具体的模型就是简单的一个神经网络模型,输入的是词嵌入和人工特征。
cs224n 笔记15 共指解析_第12张图片

训练方法

训练过程中不能认为所有决策都是同等重要的,而应该是有些决策十分重要不能出错,有些决策出错也没有关系。比如下图中第一个错误把不同类别的连在一起,这是严重的错误,第二个错误中蓝色的it本身是孤立的,所以错了也无关紧要。所以决策的权重信息就显得很重要了。
cs224n 笔记15 共指解析_第13张图片

强化学习

几种错误类型
cs224n 笔记15 共指解析_第14张图片
其中第三种错误是最坏的,根据不同的错误类型,在训练时乘上不同的惩罚系数。
cs224n 笔记15 共指解析_第15张图片
那么这些稀疏需要人工设定,有没有更好的办法呢?当然就是希望在训练中自动的学习这些权重系数啦。
Kevin提出action序列的概念,对每个pair设置action值 a i a_i ai,我觉得应该就是权重系数的意思
cs224n 笔记15 共指解析_第16张图片
同时利用 B 3 B^3 B3来设计奖励函数
cs224n 笔记15 共指解析_第17张图片
有两种训练方法
1.REINFORCE 算法
利用softmax归一化打分情况,然后最大化决策序列的奖励期望,这种方法仍然要手动设定系数,同时优化目标并不是我们的最终目标。
cs224n 笔记15 共指解析_第18张图片
2.Reward-Rescaling算法
不再人工设定惩罚系数,而是将改动某个决策所带来的奖励下降作为惩罚系数
比如一开始奖励是100
cs224n 笔记15 共指解析_第19张图片
改动一个决策后,奖励减少,得到减少量Regret
cs224n 笔记15 共指解析_第20张图片
后面就是一些实验结果了,就到这啦~ 回家过年啦~

你可能感兴趣的:(cs224n 笔记15 共指解析)