1. 论文研读笔记
因为恰逢ACL2019召开,这段时间扫一下ACL比较有意思的文章。恰逢最近有一个命名实体识别的比赛,也就顺便看到这篇文章,感觉对于用少量标准数据进行学习的任务,会成为NLP的热点,之前看过面向关系抽取的,这次则是面向命名实体识别之类的序列标注任务。
1.1 研究动机
1.2 研究方法
标注机制
因为字典不能够保证包含句子中所有的实体单词,所以本文并没有使用传统的BIO或者BIOES标注模式,而是把标注问题转化为二分类问题进行处理。实体单词被映射到正类,非实体单词被映射到负类,并对于实体采用词典进行数据标注。
建立PU算法分类器
作者使用神经网络结构建立PU算法分类器。
#####词语表示
上下文无关的词语表示包含三部分的特征,分别是字符级别表示,词表示,以及手选特征
最后,作者定义了一个指示符,以消除大小写产生的问题。作者使用allCaps, upperInitial, lowercase, maxedCaps, noinfo五个特征来对指示符进行处理,如果任一特征被激活,则将指示符置为1,否则为0.
作者将这三部分特征串联起来(concatenate)作为词语表示,
标签推理
经过训练的PU分类器可以用来进行标签预测。因为每个实体类型有着不同的分类器,所以同一个实体单词可能被分类为不同的正类。所以作者选取概率最大的正类作为该单词的类别,同时其他类型分类器的预测归零。解决正类冲突之后,作者使用最大匹配的原则对连续实体单词进行分类,得到最终的实体单词标签预测。
扩充辞典
在PU学习中,作者使用已标记的正数据经验风险去估计正数据的期望风险。这要求正数据与分布P(X|Y=1)相互独立。对于一个很小的字典来说,这个要求很难达到,所以作者使用了AdaSampling的方法进行词典扩充。此方法为不断迭代PU学习算法,并把每一次标注出的结果加入到字典中,直到字典的大小不在变化。
1.3 实验结果
作者选取了几个基线模型,分别是直接用词典预测(Matching),使用完全标注数据,BIOES和神经网络模型进行预测(BiLSTM),使用交叉熵作为损失函数的PU模型(uPU),没有使用非负约束并且实行字典扩大的PU模型(buPU),仅仅没使用字典扩大的PU模型(bnPU),和完整PU模型(adaPU)