强化学习做关系抽取和文本分类

清华冯珺(黄明烈)

强化学习基本

对每一个位置都有最佳的policy

关系抽取


(一句话包含多个实体关系无法解决)

问题描述



其实是关系分类:已经标注出了entity,对两个实体之间的关系分类,监督学习。

但是标记成本很高,现有不带噪音数据集提出distant supervision。问题:标记有噪音可能有问题

传统方法


传统:把关系抽取转化成袋子

不足:不知道具体关系,上一个和下一个句子

##我们方法有两个挑战

:数据集中不知道哪些label的正误、training中不是独立过程,互相影响

第一个:通过分类效果好坏来判断选择的子数据集是否好
第二个:train and error search,不停的选不同的子数据集

弱监督的结果就相当于reword(平均的likelihood)来更新policy

likelihood:通过分类器产生的概率

模型


强化学习来选择最好的子数据集

instance seletor来帮助做分类,做分类结果反过来帮助更好选择

(有一个jointy training的过程)

instance seletor


问题是数据集的traning和test都是自动生成

优化就是用

relation classifier

训练


25轮

实验


NYT(riedel 2010)
三个baseline:一个纯粹cnn不考虑noise,两个bag level(CNN+ATT,CNN+MAX)

总结

sentence level去做

只需要弱监督信息

还可以适用于任何有noise的数据集做分类

文本分类

背景


句子分类:用sentence representation再做分类

传统方法sentence representation

词带、cnn、rnn、att的共同问题都没有考虑句子结构

树lstm:树形结构是给定的

我们

希望做到和任务相关的树形的表示,并且问题是不知道做什么任务的时候是什么结构—–>得到结构之后丢进去分类看好坏

model

有点复杂

分成三部分

policy


把句子结构变成序列,输出policy

基于当前state生成action


encode

树形表示

根据动作生成句子树形表示

训练:最大化

分类(Cnet)


最小化

information distilled LSTM的过程

输入每个词,看哪个词比较重要,就保留:输出的动作就是删除或者保留(二分类)

retain就是跟传统lstm一样

reword加人为限制使它删除词更多

Hierarchically Structured LSTM

生成的lstm分为两层

word level 和 phrase level

问题:怎么样去分句子,action就是怎么去切分句子

动作:inside或者end(切割或者不切)

reword函数跟information distilled LSTM比较像

数据集:


MR、SST、Subi、AG

实验结果:

例子


无关紧要的词和短语都删了

分析

总结