博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
论文笔记|Distantly Supervised Named Entity Recognition using Positive-Unlabeled Learning
阅读量:4290 次
发布时间:2019-05-27

本文共 4385 字,大约阅读时间需要 14 分钟。

作者:任重灿

单位:燕山大学

文章目录

论文简介

论文来源:ACL2019

在该论文中,研究了仅使用无标记的数据和命名实体字典,来进行命名实体识别(NER)的方法。为此,该文将任务定义为一个正无标记(positive-unlabeled, PU)学习问题,并据此提出了一种新的PU学习算法,可以无偏且一致地估计任务损失,效果如同有全标记数据。
该方法的创新点在于使用半监督的方式进行NER,它不要求词典标注句子中的每个实体,甚至不要求词典标注构成一个实体的所有单词。这大大降低了对词典质量的要求,使其能够很好地适用于非常简单的词典。

问题的引出

监督方法在NER上取得了巨大的成功。然而,监督方法通常需要大规模的细粒度注释,使得难以应用于标记较少的领域,如生物/医学领域。该论文探索了仅使用无标记数据和命名实体字典进行NER的方法。

NER很自然的方法,即使用字典扫描文本,并匹配其中的实体。然而,这种方法需要非常高质量的命名实体字典。如下图所示,若字典质量较低,则该方法效果很差
在这里插入图片描述
为了解决这个问题,一个直观的方法是使用字典标记的数据进一步进行监督或半监督学习。但是,由于它不能保证词典涵盖了一个句子内的所有实体词(实体的词),所以不能简单地将未被词典标记的单词视为非实体词。这时,传统的监督或半监督学习算法并不适用,因为它们通常需要所有类的标注数据。

为此,该文提出将任务定义为正无标记(PU)学习问题,并引入一种新的PU学习算法来进行该任务:有标记的实体词形成正§数据,其余的形成无标记(U)数据,用于PU学习。该算法可以无偏且一致地估计任务损失,前提是标记的P数据可以揭示P类的数据分布。

由于字典只覆盖了部分实体,它不能完全揭示实体词的数据分布。为了解决这个问题,又基于AdaSampling提出了一种自适应方法来扩充字典。

预备

风险最小化

在这里插入图片描述

无偏性

这里用条件概率,证明了只需要用无标签的正例就能无偏地预测 R l R_l Rl 无偏性即,样本统计量的数学期望等于被估计的总体参数的值。

无偏 正-无标签学习(uPU)旨在在只有一组正例和一组无标记例时估计 R l R_l Rl R l R_l Rl也可以表示为

在这里插入图片描述
其中, π p = P ( Y = 1 ) , π n = P ( Y = 0 ) π_p= P(Y =1), π_n= P(Y = 0) πp=P(Y=1)πn=P(Y=0) E X , Y = 1 l ( f ( x ) , 1 ) E_{X,Y=1}l(f(x),1) EX,Y=1l(f(x),1)可以由正样本高效计算。因此,PU学习的主要问题是如何在不使用负标记数据的情况下估计 E X , Y = 0 l ( f ( x ) , 0 ) E_{X,Y=0}l(f(x),0) EX,Y=0l(f(x),0)。于是
在这里插入图片描述
P ( Y = 0 ) P ( X ∣ Y = 0 ) = P ( X ) − P ( Y = 1 ) P ( X ∣ Y = 1 ) P(Y = 0)P(X|Y = 0) = P(X) − P(Y = 1)P(X|Y = 1) P(Y=0)P(XY=0)=P(X)P(Y=1)P(XY=1),可知上式成立。

总体上, R l R_l Rl可以由下式进行无偏的估计:

在这里插入图片描述
式中, x i u x_i^u xiu x i p x_i^p xip分别表示一个无标签例和正例, n u n_u nu n p n_p np分别表示无标记例和正例的个数。

一致性

证明一致性。 一致性即,随着样本容量的增大,估计量的值越来越接近被估计的总体参数。

该节内容较难懂,暂且跳过。

使用PU方法,基于字典的NER

定义符号

W W W:单词级输入随机变量

S S S:句子级输入随机变量
D e D_e De:给定实体类型的实体字典
D D D:未标记的数据集
D + D^+ D+:由 D e D_e De标记的实体词集合
D u D^u Du:剩余的无标记词集合

标记分配机制

在这项工作中,将正负标签分配机制应用于NER任务,而不是流行的BIO或BIOES机制。实体词被映射到正类,非实体词被映射到负类。这是因为,正如之前所讨论的,词典不能保证涵盖一个句子中的所有实体词。它只能标记实体中开头(B)、内部(I)或最后(E)的单词,因此无法区分标注的实体词属于哪一种类型。

使用字典进行数据标记

使用最大匹配算法以获得 D + D^+ D+,这是一种贪心算法,遍历一个句子,从句子中给定的点开始,找到与字典中的一个条目匹配的最长字符串。算法的一般过程如下。

在这里插入图片描述

构建PU学习分类器

使用一个基于神经网络的体系结构来实现分类器f,这个体系结构被不同的实体类型共享。

词表示

上下文无关的词表示由三部分组成:

  • 字符级词向量
  • 普通词向量(文中使用Glove)
  • 人工特征向量(一个0|1向量)

三种词向量拼接

在这里插入图片描述
输入到BiLSTM
在这里插入图片描述
通过sigmoid分类
在这里插入图片描述

损失函数

在这里插入图片描述

在这里插入图片描述

其中

在这里插入图片描述

标签推理

PU分类器被训练后,可用它来执行标签预测。由于为每个实体类型构建了不同的分类器,因此一个实体可能被不同的分类器预测为不同的类型。选择具有最高预测概率的类型。解决类型冲突后,将同类型分类器预测为正类的连续词作为一个实体处理,得到最终的实体单词标签预测。

扩充词典

在PU学习中,使用标记正数据的经验风险,来估计正数据的期望风险,这要求正数据 x i p x_i^p xip与分布 P ( X ∣ Y = 1 ) P(X|Y=1) P(XY=1)相独立。若使用一个简单的字典来进行数据标记,这种要求很难满足。于是该文提出了一种基于AdaSampling算法的自适应方法。

该方法的核心思想是自适应地扩充命名实体字典。具体来说,首先训练一个PU学习分类器 f f f,并使用它来标记未标记的数据集。基于预测的标签,提取所有预测的实体。对于一个被预测的实体,如果它出现超过k次,并且它在未标记数据集中的所有出现都被预测为实体,则将在下一次迭代中将其添加到实体字典中。重复该过程至字典不再改变。

实验

实证研究以下内容:

  • 使用简单字典的方法的总体性能
  • 未标记数据大小的影响
  • 字典质量的影响,如字典大小、数据标注精度和查全率
  • π p π_p πp的估计的影响

比较方法

该文提出的自适应PU学习(Adapted PU learning, AdaPU)算法,与5个基线进行比较。

  • 字典匹配方法,称之为Matching。它直接使用构造的命名实体字典来标记测试集,如Algorithm 1所示。
  • 监督方法,它使用与f相同的架构,但训练细粒度注释(完全标记的 D u D^u Du D + D^+ D+)。此外,还应用了BIOES标签分配机制进行模型训练。作为基线BiLSTM。
  • uPU算法,它利用交叉熵损失来实现 l l l
  • 有界uPU(buPU)算法,该算法实现了平均绝对误差。与AdaPU相比,它不应用非负约束,也不进行字典适配。
  • 有界非负PU学习算法(bnPU),与AdaPU相比,bnPU不进行字典自适应。

此外,与几个具有代表性的监督方法进行比较。

  • Stanford NER (MEMM) ,一种基于最大熵马可夫模型的方法;
  • Stanford NER (CRF) ,一种基于条件随机场的方法;
  • BiLSTM + CRF,基于神经网络,但另外引入CRF层。

数据集

CoNLL(en)

CoNLL(sp)
MUC
Twitter

构建命名实体字典

Table 1列出了使用Algorithm 1对这些字典进行数据标注结果的一些统计信息。

在这里插入图片描述

从表中可以看出,数据标注的精度是可以接受的,但召回率很低。这是预料之内的,也是只使用字典进行NER的典型问题。

估计 π p π_p πp

在这里插入图片描述

Table 2列出了数据集上不同实体类型的 π p π_p πp=(实体词的#)/(训练集的#)的真值。可以看出,不同的数据集 π p π_p πp的变化很小。使用π从现有的标记数据集中获取的值作为初始化。已标记的数据集可能来自其他域或过期。在本研究中,首先对PER、LOC、ORG和MISC分别设置 π p π_p πp= 0.04、0.04、0.05、0.03。从这个值开始,训练了提出的模型,并使用它对未标记的数据集进行预测。根据预测结果,重新估计了 π p π_p πp的值,结果值列在Table 2中.

实验结果

整体性能

Table 3显示了按实体类型划分的模型性能和四个测试数据集上的整体性能,可以观察到:

  1. 与其他模型相比,Matching模型的性能相当差。主要原因是查全率低。这与之前的讨论一致,说明使用这种简单的词典并不合适。
  2. 这些基于PU 学习的方法相对于所有数据集的匹配有了明显的改进。这证明了PU学习的有效性。
  3. buPU的性能明显优于uPU。
  4. 在大多数数据集和实体类型上,bnPU的性能略优于buPU。这验证了非负约束的有效性。
  5. 该文所提出的AdaPU模型在bnPU的基础上做了进一步的改善,甚至与一些监督方法拥有相当的性能,特别是对于PER类型。验证了该方法在扩充命名实体字典方面的有效性。
    在这里插入图片描述

未标记数据的影响

分别使用CoNLL (en)训练数据集的20%、40%、60%、80%、100%和300%(使用额外的未标记数据)对AdaPU进行训练。Figure 2描述了对PER、LOC和ORG的研究结果。可以看出,增加训练数据的大小一般会提高AdaPU的性能,但这种提高是递减的。
在这里插入图片描述
字典的影响
使用DBpedia扩展了字典,Table 4列出了生成字典的统计信息,Table 5列出了使用该字典的模型性能。对结果的一个值得注意的观察是,在LOC上,当使用扩展字典时,性能下降很多。这意味着在使用扩展字典时,它在PU学习中引入了更多的假阳性例子。

在这里插入图片描述

π p π_p πp的影响。
Table 6列出了AdaPU在使用Table 2中 π p π_p πp的真值或估计值时的性能。从表中可以看出,使用π估计的模型仅略低于使用 π p π_p πp的真值的模型。说明了该模型对 π p π_p πp的小变化具有鲁棒性,并验证了π估计方法的有效性。
在这里插入图片描述

总结

对该论文中的工作总结如下:

  1. 提出了一种PU学习算法,仅使用无标记数据和命名实体字典来进行NER任务。
  2. 验证了在假设字典中找到的实体能够揭示实体分布的前提下,所提算法能无偏地、一致地估计任务损失。
  3. 提出了一种基于AdaSampling算法的自适应方法来丰富字典。
  4. 在4个NER数据集上进行了大量的实验研究,验证了所提方法的有效性。

该论文较为难懂,以翻译为主,阅读得比较粗糙,日后如有需要再做补充。

转载地址:http://khmgi.baihongyu.com/

你可能感兴趣的文章
原 荐 cache线程池对数据库操作的饥饿问题
查看>>
使用Eclipse把java文件打包成jar 含有第三方jar库的jar包
查看>>
3种web会话管理的方式
查看>>
SSM(框架)-异常1:面向接口式编程异常
查看>>
Android蓝牙4.0之玩爆智能穿戴、家具(二)
查看>>
使用Condition实现多线程之间调用
查看>>
javaAPI之String
查看>>
JQ 新窗口打开链接并设置参数
查看>>
JQuery实现列表中复选框全选反选功能封装
查看>>
JAVA GC 简单总结
查看>>
JS中常遇到的浏览器兼容问题和解决方法
查看>>
JAVA学习笔记之-servlet知识点
查看>>
apache 配置不同的端口访问不同的站点
查看>>
2017年3月Java9带来的革新!
查看>>
Log4j容器深入探究
查看>>
记glide框架使用中所遇到的问题
查看>>
学习AOP之透过Spring的Ioc理解Advisor
查看>>
Jquery一个简单的注册验证
查看>>
SpringMVC基础_ControllerAdvice
查看>>
Toast还能显示图片你知道么?
查看>>