深度增强学习用于mention-ranking指代消解
首先找出所有的mention:
这些mention可能属于两个不同的类别,但模型并不知道。模型如果混淆了这两个类别,则是一个差劲的模型。
然后为每个mention与之前的mention建立pair,让模型打分:
这里的NEW表示my是一个独立的mention,不与构成共指或回指。最终得到:
这里不同的聚类之间没有指代关系。
网络架构
简单的前馈网络,输入是一些词嵌入与少量人工特征。
特征
虽然免不了一些手工特征,但数量已经降到非常少了。
训练
这个模型的架构稀松平常,重点在于训练方法。我们不是简单地认为所有决策都是同等重要,而是认为有些决策很重大不能失误,而另一些决策无关紧要。比如:
第一个错误联通了连个不相干的entity聚类,所以是致命的。而第二个错误中,蓝色it其实是孤立的、不指代任何事物,所以无关紧要。
这种决策重要性的不同带来了强化学习的舞台。
强化学习来救场
有一些旧的工作尝试启发式地分配不同的决策以不同的权重,但做这件事的最佳方案是RL。虽然没有巨大的进步,但的确有一些效果提升。RL以是否能得到较好的cluster为最终目标,据此评价每个独立决策。
错误类型
之前的工作部分可以复用:
其中,第三种错误是最坏的:
训练时为不同的错误分配不同的惩罚系数,以最大间隔损失函数乘上惩罚系数作为最终的损失函数。
这些惩罚系数需要人工指定,也未必与badness直接相关,所以Kevin等人想到用RL来代替它。
强化学习
将每个mention-pair视作一个action,在action序列上建模:
激励函数利用B3来设计:
训练
一共探索了两种学习算法。
1.REINFORCE 算法
将mention-pair模型的打分softmax成概率,最大化决策序列的奖励期望。
由于决策序列有指数级种,所以会用到一些采样算法。
但该算法存在一个很严重的问题,所有决策序列的奖励期望是提高了,但我们真正想要的是让得分最高的那一个决策序列的分值尽量高。
2.Reward-Rescaling算法
不再人工指定惩罚系数:
而是用当前决策序列下,改动某一个决策所带来的奖励的下降来作为惩罚系数。
比如黄金序列的奖励是100:
改动一个决策,得到奖励的减少量:
在此基础上再改动一个,得到:
总之利用regret值作为损失函数的缩放因子。
结果
神经网络(2016)比非神经网络要多1个百分点,RL再带来零点几个百分点。
神经网络模型能够捕捉一些语义近似而用词不同的指代(比较常见):
而RL实际上犯了更多的错误,但它擅长不犯致命错误:
Reward-Based Costs的优点
事实上,RL得到的cost反映出其方差是非常大的。启发式cost往往选取密度最大的那个值,但不适用于大多数情况:
而且所有mention的分布并不一定代表某种mention的cost分布:
重视这种灵活性,让RL少犯了特定类别的错误:
讲的可以啊 bro