实体抽取主动学习调研
文章目录
- 实体抽取主动学习调研
- 资料
- 前言
- 相关文献阅读
- 一、主动学习与自学习的中文命名实体识别
- 二、DEEP ACTIVE LEARNING FOR NAMED ENTITYRECOGNITION
- 三、Visual Active Learning for Labeling: A Case for Soundscape
- 四、Interactive visual labelling versus active learning:
- 五、An Analysis of Active Learning Strategies for Sequence Labeling Tasks
- 六、Active Learning with Visualization for Text Data
- 七、A study of active learning methods for named entity recognition in clinical text
- 八、LTP: A New Active Learning Strategy for CRF-Based Named Entity Recognition
- 小结
资料
- 基于深度主动学习的命名实体识别 | 分享总结 | 人人都是产品经理 (woshipm.com)
- 主动学习(Active Learning)概述、策略和不确定性度量_腾讯新闻 (qq.com)
- 主动学习(Active Learning)系列介绍(二)不确定度采样(Uncertainty Sampling)_杨小浩浩hh的博客-CSDN博客_不确定采样
前言
主动学习(Activ Learning):
通过机器学习的方法获取到那些比较 “难” 分类的样本数据,让人工再次确认和审核,然后将人工标注得到的数据再次使用有监督学习模型或者半监督学习模型进行训练,逐步提升模型的效果,将人工经验融入机器学习的模型中。
主动学习的三种情况(方法):
-
pool-based sampling
顾名思义,即所有的数据均存在于一个池子中,我们的工作就是在该池子中选出一些样本进行标记。
-
membership query synthesis
是指模型可以生成新的样本,即模型可以操控样本的生成。这类似于人在学习的过程中进行举一反三,自己生成一些新的问题,然后通过更深入的研究新问题来提高自己的认知
-
stream-based selective sampling
是指样本不在池子中,而是按一定的次序被模型看到,而模型需要决定是否对每个新看到的样本进行标记。
相关文献阅读
注:下面每一小节的小标题即原论文
一、主动学习与自学习的中文命名实体识别
✨贡献
- 提出了主动学习与自学习结合的命名实体识别,论文中提到的主动学习的框架如下图:
-
置信度选择的修改
传统的: 基于置信度的主动学习先计算每个字的置信度,然后对一个句子的所有字进行加权求和来计算句子的置信度。
改后的: 设定置信度阈值,当语句L中有某个字的置信度小于阈值时,则认为L具有较高的训练效用。
-
样本选择采用 2-Gram
-
自学习与人工混合的样本标注
算法流程图
二、DEEP ACTIVE LEARNING FOR NAMED ENTITYRECOGNITION
贡献
- 针对英文数据:提出了CNN-CNN-LSTM结构
-
总结了几种主动学习的策略:
① Least Confidence(LC) : 计算预测中最大的概率序列的对应概率值
② Maximum Normalized Log-Probality(MNLP) 基于 LC并且考虑到生成中的序列长度对于不确定性的影响,我们做一个normalization(即除以每个句子的长度),概率则用每个点概率数据的log值求和来代替。
③ Bayesian Active Learning by Disagreement (BALD) 基于 Disagreement 的主动学习方法,主要利用dropout在深度学习中的另外一个作用(dropout本来是在训练中为了让模型的generalize得更好)。在这里的话是在inference的过程中同时做dropout,在得到的M种结果中计算有多少是不一致的。(这里等价于来计算模型的不确定性)。
④ Other Sampling Strategies 基于样本是否具有代表性的采样方法。通过计算样本一样本之间的相似度,辅助选择进一步选择哪些样本更具有代表性以减少冗余信息的收集。这样的方法一般被处理为submodular maximization 的问题,并利用 streaming algorithm 得到近似最优解。
⑤ baseline 随机生成样本并标记。
实验结果
部分1:
三种颜色代表利用不同数据训练出来的模型,随后在所有未标记和未训练的样本中,利用前面提到的MNLP来计算出最不确定的1000个样本和他们的分布。
例如: nw 代表新闻,如果我们此前的训练模型都未使用任何的 nw 样本作为训练信息(橙色模型),那么通过不确定性的采样方法,我们就可以发现: nw 在前 1000 个不确定样本中比例最高,这也间接证明了该算法最有效。
部分2
对比使用前面提到的几种不同的主动学习策略时,模型在增量学习各阶段性能的对比。
三、Visual Active Learning for Labeling: A Case for Soundscape
Ecology Data
这一主要讲了可视化结合的用户交互式的对音景生态数据进行主动学习标注的过程。(不过这一篇,并不是增量学习的)
主动学习策略
- Clustering 用 Hierarchical Agglomerative Clustering (HAC) 算法对原始数据进行聚类(文说对比了K-means发现 HAC在聚类数多的时候表现更好)。
- Sampling 使用r/rc(对应后面
部分研究内容
中的采样策略)从每个类中抽取出样本 - Tag 给选择出的样本打上标签
部分研究内容
采样策略分析:
使用: 随机®、中心点(m)、等高线©及其组合 rm、rc、mc和rmc。
聚类数量、采样策略:
通过下图,其中(a、b、c、d)代表不同的数据集。发现在聚类数据小于30时聚类增加,对最终的准确率有较大的提升。而同时采样策略 r、rc有更好的表现。
结果展示:
文中对四个数据进行了实验,结果通过t-sne降维后在二维平面上进行展示。通过预测的准确率以及 prediction和 ground truth的对比上,可以比较直观的看出选取的标签是具有一定代表性的。
四、Interactive visual labelling versus active learning:
an experimental comparison
这一篇感觉讲的主要是结合可视化,对一个高维的有监督学习的分类任务制作训练集。主要分析了用户在通过不同图标和策略时准确率的变化。
五、An Analysis of Active Learning Strategies for Sequence Labeling Tasks
文章主要调研,并且对比了15种主动学习的策略并且提出了一种新的主动学习采样策略。
下表是15种主动学习策略,在不同数据集上的表现。
下面简单的介绍一下文中提到的这15种主动学习的采样策略,而这15种采样策略又可分为下面四大类:
Uncertainty Sampling
不确定性的采样,主要考虑一个模型在进行预测时得到的预测结果是否比较确定。
least confidence (LC)
其实就是预测结果中的(1 - 最大概率%)。
margin (M)
这个式子中的 y 1 ∗ y_{1}^{*} y1∗和 y 2 ∗ y_{2}^{*} y2∗代表的是预测时概率最大的两个结果。也就是说M = 最大的两种预测结果的差值。
token entropy (TE)
上面这个公式其实是对传统的 熵方法 (Entropy) 做了一个到序列预测领域的扩展,原始的熵模型是按照以下方法进行设置的
total token entropy (TTE)
这个方法就是相较TE少了一个normalize的过程。
sequence entropy (SE)
这个指标也是信息熵的改版,就是将整个序列的标签预测情况看成一个整体,最终获得整体的信息熵代表这个序列的信息熵。
N-best sequence entropy (NSE)
NSE是对TTE的改进,因为当序列很长时计算TTE会比较耗时。因此,提出了选取N个最好的标注再按照TTE中看成整体的方法进行计算。
Query-By-Committee
这部分主要是是采样训练多个模型,然后看多个模型预测结果的一致性。
vote entropy (VE)
投票熵:
训练出多个模型然后使用不同模型进行预测,然后根据序列中每个单元被不同模型预测的结构来信息熵。
Kullback-Leibler (KL)
这个就是对常用的KL散度应用到序列的场景中。
sequence vote entropy (SVE)
这个公式中的 N c N^{c} Nc是指所有模型前N最佳的推断,
这个其实就是SE的改版,不同的是SVE通过不同模型的进行投票。
sequence Kullback-Leibler (SKL)
这个公式看起来非常复杂,不过其实就是将KL与序列场景、N-best相结合。
Expected Gradient Length
expected gradient length (EGL)
在很多机器学习模型优化训练的过程中使用梯度下降法,梯度下降的好坏其实在一定程度上可以代表模型的质量。这个方法就是通过估计新样本可能对模型梯度产生的影响,从而找到使梯度下降最大的样本作为推荐样本。
Information Density
information density (ID)
信息密度:在这个公式的前部分就是前面提到过的SE,而后部分则是计算了某个序列与样本中所有序列相似度的求和。
六、Active Learning with Visualization for Text Data
这篇文章主要讲的是可视化结合的主动学习在文本分类任务上作用,并设计了以下三个实验:
七、A study of active learning methods for named entity recognition in clinical text
文章研究了在临床医学领域实体抽取领域的主动学习,对比了多种主动学习策略但未结合可视化。下面是文中提到的集中几种主动学习策略(由于很多与前面文章相同的对于重复的这里就直接给出截图):
Uncertainty-based querying algorithms
这里的Entity entropy 是文中新提出的。主要考虑了在计算序列不确定性的时候实体词、实体的开头会对序列不确定性起着更大的影响。
Diversity-based querying algorithms
这是一种不基于模型和标注结果的方法,主要利用了Pooling 中样本的相似度从而进行推荐。(下面四种方法其实就是通过四种不同的策略获得句子的相似度)
Baseline algorithms
- Length-words
优先采样出长句子,认为长句子包含更多的信息。
- Length-concepts
优先选择出包含更多临床概念的句子。
- Random
随机采样。
最后结果如下表所示:
八、LTP: A New Active Learning Strategy for CRF-Based Named Entity Recognition
顾名思义这篇文章最重要的就是提出了一种新的主动学习策略 LTP.
公式代表的隐含意就是希望预测序列中的每个单元都有较高的可能性。(这个具体的还不是很确定)
小结
目前的目标是想要做一个在实体抽取领域中可视化和主动学习相结合的工作。总结一下前面的这些论文可以主要分为两种类型:
- ①. 采用迁移学习的方式(更多结合可视化):
- 可视化数据的相关特征例第4、6篇,结合SPLOM等可视化图标,帮助用户查看数据的特征然后自己交互式地选择标注。
- 采用对数据进行降维,结合类中的采样策略。例如第3篇的工作。(这个与之前横向的流程有点像,不一样的就是应用的领域与任务)
- 特点:这个主动学习标签选择的过程一般需要更多的人工介入,也就是要专家自己进行选择需要标注的数据。(这在大规模语料上是否会有问题?)不过也正是因为这个特点,过程中需要更多的可视化介入。
- ②. 主动学习策略的研究(侧重于指标方向):
- 上面提到的很多篇都是这个方向的,研究的过程都是新主动学习策略的提出以及与传统主动学习策略的比对。
- 特点: 这个一般都是通过计算例如不确定性这样的指标,然后将unlabelled data进行sort,最后使用排名的结果进行主动学习的推荐。因为这个主动学习推荐的过程式完全依赖于指标计算和模型的因此可视化很难介入其中(虽然可能可以可视化中间结果。但是可视化在对最终的推荐结果并不会起到影响,这个是问题所在!)。
目前的思路:
前面提到的两种方向都有他们的优缺点:
① . 面对大批量数据集的时候,用户选择需打标签的数据量太大。好处是用户可以介入并且了解数据的详情。
② . 这种指标计算排名推荐的方法,可以批量的推荐出下一轮增量学习的样本。但是过程完全被主动学习策略以及模型所决定,用户很难掌握其中的细节与过程。
结合上述的两种方向的工作,能否做一个将这两种方向进行结合的工作。我们的主动学习策略可以分为两步:
① . 使用主动学习策略使用指标计算排序的方法进行批量推荐
② . 在上一步推荐的基础上结合迁移学习的方法,我们可以对数据进行可视化,让用户对前面批量推选出的样本进行修正和探索。(yy 一下甚至可以探索出上一步推荐出的数据的特征)
贡献分析:
与这些相关工作不同的是,我们在主动学习的过程中结合可视化,增加了用户交互的能动性。同时,保证了批量推荐的效率性。此外,我们可以在第二步的过程中去探索分析,通过这些主动学习策略推荐出的文本的特征。