AL-实体抽取主动学习调研

article/2025/8/29 13:18:40

实体抽取主动学习调研

文章目录

  • 实体抽取主动学习调研
    • 资料
    • 前言
    • 相关文献阅读
      • 一、主动学习与自学习的中文命名实体识别
        • 算法流程图
      • 二、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
        • Uncertainty Sampling
        • Query-By-Committee
        • Expected Gradient Length
        • Information Density
      • 六、Active Learning with Visualization for Text Data
      • 七、A study of active learning methods for named entity recognition in clinical text
        • **Uncertainty-based querying algorithms**
        • **Diversity-based querying algorithms**
        • Baseline algorithms
      • 八、LTP: A New Active Learning Strategy for CRF-Based Named Entity Recognition
    • 小结

d3811091-406b-4cb7-aafe-aac1a0053ef4

资料

  • 基于深度主动学习的命名实体识别 | 分享总结 | 人人都是产品经理 (woshipm.com)
  • 主动学习(Active Learning)概述、策略和不确定性度量_腾讯新闻 (qq.com)
  • 主动学习(Active Learning)系列介绍(二)不确定度采样(Uncertainty Sampling)_杨小浩浩hh的博客-CSDN博客_不确定采样

前言

主动学习(Activ Learning):

通过机器学习的方法获取到那些比较 “难” 分类的样本数据,让人工再次确认和审核,然后将人工标注得到的数据再次使用有监督学习模型或者半监督学习模型进行训练,逐步提升模型的效果,将人工经验融入机器学习的模型中。

主动学习的三种情况(方法):

  • pool-based sampling

    顾名思义,即所有的数据均存在于一个池子中,我们的工作就是在该池子中选出一些样本进行标记。

  • membership query synthesis

    是指模型可以生成新的样本,即模型可以操控样本的生成。这类似于人在学习的过程中进行举一反三,自己生成一些新的问题,然后通过更深入的研究新问题来提高自己的认知

  • stream-based selective sampling

    是指样本不在池子中,而是按一定的次序被模型看到,而模型需要决定是否对每个新看到的样本进行标记。

相关文献阅读

注:下面每一小节的小标题即原论文

一、主动学习与自学习的中文命名实体识别

image-20220917104523039


贡献

  1. 提出了主动学习与自学习结合的命名实体识别,论文中提到的主动学习的框架如下图:

image-20220917104912454

  1. 置信度选择的修改

    传统的: 基于置信度的主动学习先计算每个字的置信度,然后对一个句子的所有字进行加权求和来计算句子的置信度。

    改后的: 设定置信度阈值,当语句L中有某个字的置信度小于阈值时,则认为L具有较高的训练效用。

  2. 样本选择采用 2-Gram

    image-20220917105927742

  3. 自学习与人工混合的样本标注

    image-20220917110249075

算法流程图

image-20220917110411515

二、DEEP ACTIVE LEARNING FOR NAMED ENTITYRECOGNITION

贡献

  1. 针对英文数据:提出了CNN-CNN-LSTM结构

img

  1. 总结了几种主动学习的策略:

    Least Confidence(LC) : 计算预测中最大的概率序列的对应概率值

    image-20220917151707128

    Maximum Normalized Log-Probality(MNLP) 基于 LC并且考虑到生成中的序列长度对于不确定性的影响,我们做一个normalization(即除以每个句子的长度),概率则用每个点概率数据的log值求和来代替。

    image-20220917151716628

​ ③ Bayesian Active Learning by Disagreement (BALD) 基于 Disagreement 的主动学习方法,主要利用dropout在深度学习中的另外一个作用(dropout本来是在训练中为了让模型的generalize得更好)。在这里的话是在inference的过程中同时做dropout,在得到的M种结果中计算有多少是不一致的。(这里等价于来计算模型的不确定性)。

image-20220917152927511

​ ④ Other Sampling Strategies 基于样本是否具有代表性的采样方法。通过计算样本一样本之间的相似度,辅助选择进一步选择哪些样本更具有代表性以减少冗余信息的收集。这样的方法一般被处理为submodular maximization 的问题,并利用 streaming algorithm 得到近似最优解。

​ ⑤ baseline 随机生成样本并标记。

实验结果

部分1

三种颜色代表利用不同数据训练出来的模型,随后在所有未标记和未训练的样本中,利用前面提到的MNLP来计算出最不确定的1000个样本和他们的分布。

例如: nw 代表新闻,如果我们此前的训练模型都未使用任何的 nw 样本作为训练信息(橙色模型),那么通过不确定性的采样方法,我们就可以发现: nw 在前 1000 个不确定样本中比例最高,这也间接证明了该算法最有效。

image-20220917145536357

部分2

对比使用前面提到的几种不同的主动学习策略时,模型在增量学习各阶段性能的对比。

image-20220917155001021

三、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。

image-20220917172141832

聚类数量、采样策略:

通过下图,其中(a、b、c、d)代表不同的数据集。发现在聚类数据小于30时聚类增加,对最终的准确率有较大的提升。而同时采样策略 r、rc有更好的表现。

image-20220917180024442

结果展示:

文中对四个数据进行了实验,结果通过t-sne降维后在二维平面上进行展示。通过预测的准确率以及 predictionground truth的对比上,可以比较直观的看出选取的标签是具有一定代表性的。

image-20220917174337877

四、Interactive visual labelling versus active learning:

an experimental comparison
这一篇感觉讲的主要是结合可视化,对一个高维的有监督学习的分类任务制作训练集。主要分析了用户在通过不同图标和策略时准确率的变化。

image-20220918094403016

五、An Analysis of Active Learning Strategies for Sequence Labeling Tasks

文章主要调研,并且对比了15种主动学习的策略并且提出了一种新的主动学习采样策略。

下表是15种主动学习策略,在不同数据集上的表现。

image-20220918112847321

下面简单的介绍一下文中提到的这15种主动学习的采样策略,而这15种采样策略又可分为下面四大类:

Uncertainty Sampling

不确定性的采样,主要考虑一个模型在进行预测时得到的预测结果是否比较确定。

least confidence (LC)

image-20220918115317377

其实就是预测结果中的(1 - 最大概率%)。

margin (M)

image-20220918115433484

这个式子中的 y 1 ∗ y_{1}^{*} y1 y 2 ∗ y_{2}^{*} y2代表的是预测时概率最大的两个结果。也就是说M = 最大的两种预测结果的差值。

token entropy (TE)

image-20220918115944900

上面这个公式其实是对传统的 熵方法 (Entropy) 做了一个到序列预测领域的扩展,原始的熵模型是按照以下方法进行设置的

image-20220918151340303

total token entropy (TTE)

image-20220918153429558

这个方法就是相较TE少了一个normalize的过程。

sequence entropy (SE)

image-20220918155142243

这个指标也是信息熵的改版,就是将整个序列的标签预测情况看成一个整体,最终获得整体的信息熵代表这个序列的信息熵。

N-best sequence entropy (NSE)

NSE是对TTE的改进,因为当序列很长时计算TTE会比较耗时。因此,提出了选取N个最好的标注再按照TTE中看成整体的方法进行计算。

Query-By-Committee

这部分主要是是采样训练多个模型,然后看多个模型预测结果的一致性。

vote entropy (VE)

image-20220918172728241

投票熵:

训练出多个模型然后使用不同模型进行预测,然后根据序列中每个单元被不同模型预测的结构来信息熵。

Kullback-Leibler (KL)

image-20220918225843603

这个就是对常用的KL散度应用到序列的场景中。

sequence vote entropy (SVE)

image-20220919010036238

这个公式中的 N c N^{c} Nc是指所有模型前N最佳的推断,

image-20220919011005003

这个其实就是SE的改版,不同的是SVE通过不同模型的进行投票。

sequence Kullback-Leibler (SKL)

image-20220919011338208

这个公式看起来非常复杂,不过其实就是将KL与序列场景、N-best相结合。

Expected Gradient Length

expected gradient length (EGL)

image-20220919012937215

在很多机器学习模型优化训练的过程中使用梯度下降法,梯度下降的好坏其实在一定程度上可以代表模型的质量。这个方法就是通过估计新样本可能对模型梯度产生的影响,从而找到使梯度下降最大的样本作为推荐样本。

Information Density

information density (ID)

image-20220919093733071

信息密度:在这个公式的前部分就是前面提到过的SE,而后部分则是计算了某个序列与样本中所有序列相似度的求和。

六、Active Learning with Visualization for Text Data

image-20220919095843929

这篇文章主要讲的是可视化结合的主动学习在文本分类任务上作用,并设计了以下三个实验:

image-20220919100111351

image-20220919101628946

七、A study of active learning methods for named entity recognition in clinical text

文章研究了在临床医学领域实体抽取领域的主动学习,对比了多种主动学习策略但未结合可视化。下面是文中提到的集中几种主动学习策略(由于很多与前面文章相同的对于重复的这里就直接给出截图):

Uncertainty-based querying algorithms

image-20220919103902114

这里的Entity entropy 是文中新提出的。主要考虑了在计算序列不确定性的时候实体词、实体的开头会对序列不确定性起着更大的影响。

Diversity-based querying algorithms

这是一种不基于模型和标注结果的方法,主要利用了Pooling 中样本的相似度从而进行推荐。(下面四种方法其实就是通过四种不同的策略获得句子的相似度)

image-20220919105340754

image-20220919105354962

Baseline algorithms

  1. Length-words

优先采样出长句子,认为长句子包含更多的信息。

  1. Length-concepts

优先选择出包含更多临床概念的句子。

  1. Random

随机采样。

最后结果如下表所示:

image-20220919111340802

八、LTP: A New Active Learning Strategy for CRF-Based Named Entity Recognition

顾名思义这篇文章最重要的就是提出了一种新的主动学习策略 LTP.

image-20220919115220938

公式代表的隐含意就是希望预测序列中的每个单元都有较高的可能性。(这个具体的还不是很确定)

image-20220919121316595

小结

目前的目标是想要做一个在实体抽取领域中可视化和主动学习相结合的工作。总结一下前面的这些论文可以主要分为两种类型:

  • ①. 采用迁移学习的方式(更多结合可视化):
    • 可视化数据的相关特征例第4、6篇,结合SPLOM等可视化图标,帮助用户查看数据的特征然后自己交互式地选择标注。
    • 采用对数据进行降维,结合类中的采样策略。例如第3篇的工作。(这个与之前横向的流程有点像,不一样的就是应用的领域与任务)
    • 特点:这个主动学习标签选择的过程一般需要更多的人工介入,也就是要专家自己进行选择需要标注的数据。(这在大规模语料上是否会有问题?)不过也正是因为这个特点,过程中需要更多的可视化介入。
  • ②. 主动学习策略的研究(侧重于指标方向):
    • 上面提到的很多篇都是这个方向的,研究的过程都是新主动学习策略的提出以及与传统主动学习策略的比对。
    • 特点: 这个一般都是通过计算例如不确定性这样的指标,然后将unlabelled data进行sort,最后使用排名的结果进行主动学习的推荐。因为这个主动学习推荐的过程式完全依赖于指标计算和模型的因此可视化很难介入其中(虽然可能可以可视化中间结果。但是可视化在对最终的推荐结果并不会起到影响,这个是问题所在!)。

目前的思路:

前面提到的两种方向都有他们的优缺点:

① . 面对大批量数据集的时候,用户选择需打标签的数据量太大。好处是用户可以介入并且了解数据的详情。

② . 这种指标计算排名推荐的方法,可以批量的推荐出下一轮增量学习的样本。但是过程完全被主动学习策略以及模型所决定,用户很难掌握其中的细节与过程。

结合上述的两种方向的工作,能否做一个将这两种方向进行结合的工作。我们的主动学习策略可以分为两步:

① . 使用主动学习策略使用指标计算排序的方法进行批量推荐

② . 在上一步推荐的基础上结合迁移学习的方法,我们可以对数据进行可视化,让用户对前面批量推选出的样本进行修正和探索。(yy 一下甚至可以探索出上一步推荐出的数据的特征)

贡献分析

与这些相关工作不同的是,我们在主动学习的过程中结合可视化,增加了用户交互的能动性。同时,保证了批量推荐的效率性。此外,我们可以在第二步的过程中去探索分析,通过这些主动学习策略推荐出的文本的特征。


http://chatgpt.dhexx.cn/article/wf0G6p4h.shtml

相关文章

《异常检测——从经典算法到深度学习》15 通过无监督和主动学习进行实用的白盒异常检测

《异常检测——从经典算法到深度学习》 0 概论1 基于隔离森林的异常检测算法 2 基于LOF的异常检测算法3 基于One-Class SVM的异常检测算法4 基于高斯概率密度异常检测算法5 Opprentice——异常检测经典算法最终篇6 基于重构概率的 VAE 异常检测7 基于条件VAE异常检测8 Donut: …

主动学习简单教程及代码示例

本文是这篇文章的(翻译)简化版。 本文代码地址 已经不止一次有人说代码地址打不开,但是每次我都打得开。。这里放个阿里云的地址吧Active_Learning_Tutorial.ipynb。需要的去阿里云下载文件就行了。 建议直接看代码地址(代码地…

主动学习研究现状

主动学习研究现状 一. 传统查询策略(Query Strategy)二. 在图像分类的应用三. 在目标检测的研究3.1.《Localization-Aware Active Learning for Object Detection 》(ACCV, 2018)3.2. 《Active Learning for Deep Object Detection via Probabilistic Mo…

什么是主动学习?

机器学习算法特别需要数据,需要成千上万的例子才能做出明智的决定。为我们的算法提供高质量的训练数据是一项昂贵的任务。主动学习是一种优化构建有效机器学习系统所需人力的策略。 主动学习定义 主动学习是一种机器学习训练策略,它使算法能够主动识别…

Deep Active Learning(深度主动学习)

在深度学习时代,以监督学习为首的各项模型都取得了非常好的效果,但是这往往需要非常多的数据量来支撑。所以主动学习这一领域主要的目的就是为了让目标模型达到性能的前提下,尽可能的减少标准成本。 Active Learning(主动学习&a…

主动学习入门

文章目录 1.介绍1.1 监督学习、半监督学习、非监督学习1.2 主动学习1.2.1 主动学习介绍1.2.2 主动学习与半监督学习异同1.2.3 主动学习流程 2. 基本思想2.1 图示2.2 策略 3. 算法3.1 基于流、基于池3.2 类别3.3 算法(这里只介绍基本的)3.3.1 基于不确定性3.3.2 多样性(一般与不…

主动学习(active learning)

背景 在现实应用场景中,训练一个有效的深度模型依赖大量已标注样本,而准确标注大规模数据往往耗时耗力且代价高昂。为降低模型对数据的依赖,相继提出无监督学习,半监督学习以及弱监督学习等领域的学习方法。在这些方法中&#xf…

主动学习(Active Learning,AL)综述

目录 1. 基本概念2. 基于不确定性的主动学习方法3.基于最近邻和支持向量的分类器的方法3.1 NNClassifier3.2 RBF network Gradient Penalty 4 基于特征空间覆盖的方法5 基于对抗学习的方法5.1 VAAL5.1.1 核心思想5.1.2 网络结构5.1.3 主动学习策略5.1.4 模型特点 5.2 SRAAL5.3…

主动学习(Active Learning) 概述、策略和不确定性度量

主动学习是指对需要标记的数据进行优先排序的过程,这样可以确定哪些数据对训练监督模型产生最大的影响。 主动学习是一种学习算法可以交互式查询用户(teacher 或 oracle),用真实标签标注新数据点的策略。主动学习的过程也被称为优化实验设计。主动学习的…

主动学习(Active Learning,AL)的理解以及代码流程讲解

为什么要使用主动学习(Active Learning,AL) 针对有监督的学习任务,存在标记成本较为昂贵且标记难以大量获取的问题。 在此问题背景下,主动学习(Active Learning, AL)尝试通过选择性的标记较少数据而训练出表现较好的模…

主动学习(Active learning)简介

文章目录 Labeling faster vs. labeling smarter1. 什么是主动学习?2. 主动学习如何运行?2.1 Stream-based Active Learning2.2 Pool-based Active Learning2.3 Membership Query Synthesis 3. 主动学习与强化学习的不同?4. 不确定性度量1&am…

哪本书适合推荐给 Java 初学者?

之前写过一篇文章叫《假如时光倒流, 我会这么学习Java》, 希望对你有帮助: ----------------------------------------------------------------------- 回头看看, 我进入Java 领域已经快15个年头了, 虽然学的也一般…

Java程序员必看的20本书,从入门到精通!收藏

推荐的20本学习 Java 必看书,记得点收藏哈~ 基础核心 1、《Java核心技术卷2:高级特性(原书第9版)》 豆瓣评分: 8.7 推荐指数:👍👍👍👍 2、《图解 HTTP》 讲漫画一样的…

Java入门到进阶推荐书籍

Java学习中推荐的书籍 第一本,《Head First JAVA》 小白学习JAVA的入门书籍,这本书和其他专业书籍相比多了一些趣味性,让人能够读下去,知识点比较全面,但是也没有讲的很深。 第二本,《JAVA核心技术卷1》 …

【书籍学习】史上最全的Java进阶书籍推荐

学习Java,书籍是必不可少的学习工具之一,尤其是对于自学者而言。废话不多说,下边就给大家推荐一些Java进阶的好书。 第一部分:Java语言篇 1.《Java编程规范》 适合对象:初级、中级 介绍:这本书的作者是被…

java 入门书籍(java7)

一、Java从入门到精通 《Java从入门到精通(第3版)》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Java语言进行程序开发需要掌握的知识。 《Java从入门到精通(第3版)》编辑推荐:“软件开发视频大讲堂”丛书系清华社…

Java从入门到进阶书单推荐|必收藏

关于Java从入门到进阶的书单推荐 一、入门基础类 如果是0基础学习,入门阶段千万不要选择太难的书,首先太难的你也看不懂,而且会打击信心,所以建议选择通俗易懂的就行,先领进门(注意:基础一定要…

零基础学Java有哪些必看书?推荐这5本

零基础学Java初学者,想要入门,应该多看一些关于Java的书,先充实理论基础。然而Java的技术知识是海量的,市面上关于Java的书令人眼花缭乱,零基础的小白完全不知道该看哪本书。那么,零基础学Java有哪些必看书…

MySQL启动1053错误之解决方法

版权声明:本文为博主原创文章,未经博主允许不得转载。https://blog.csdn.net/qq_42680327 创建mysql服务时,系统已提示创建服务成功,但是net start mysql命令提示启动失败,并在services.msc中提示1053错误 解决办法1…

解决phpstudy mysql启动不了

之前的电脑上下了mysql,phpstudy自带一个mysql,目测是本来的mysql进程占用端口。 1、按winR键,输入 services.msc 找到mysql服务,关闭 2、再以管理员身份运行 一定要用管理员身份运行,我的问题这种方法解决了,其他的…