0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

介绍两个few-shot NER中的challenge

深度学习自然语言处理 来源:AI Station 作者:QI 2022-08-24 10:01 次阅读

01

Introduction-现有什么问题、怎么解决

此部分着重介绍了两个few-shot NER中的challenge:limited information challenge和knowledge mismatch challenge。前者主要是指样本数少,后者是指不同的数据集中同一个实体可能被分成了不同的类别标签。(比如“America”在Wikipedia被分为geographic , 在 OntoNotes中被分为GPE, 在WNUT17被分为location )

本文最重要的思想基于这样一个假设:不论是否是未知的实体类别,都可以用一个概念集中的若干概念来描述(all entity types can be described using the same set of concepts)。这样可以解决knowledge mismatch challenge,而且在给了几个少样本后,可以根据这几个少样本构建新实体类别到概念集的映射,这样可以直接用映射后的若干概念识别实体,进而解决limited information challenge。下图是实体类别到概念集的映射举例。

93bd0394-22ce-11ed-ba43-dac502259ad0.jpg

02

SDNet: Self-describing Networks for FS-NER

2.1 SDNet核心部分: Mention describing、Entity generation

这部分将主要介绍SDNet怎么进行命名实体识别的,主要包括:Mention describing(从给的sentence构建该实体的concept description)和Entity generation(根据给的实体类型逐个生成句子中的实体词)。

以下图为例,输入一个sentence(以[MD]作为起始符),SDNet将输出novel series这样的concept description。输入一个以[EG]作为起始符、实体类别名+相关的concept description以及待识别的sentence作为内容的文本,SDNet将输出Harry Potter is creative work.这样的回答。这两个过程分别对应Mention describing和Entity generation。

93d176ee-22ce-11ed-ba43-dac502259ad0.png

2.2 模型工作流程

93dc6414-22ce-11ed-ba43-dac502259ad0.jpg

a、预训练阶段

左上角的维基百科上有大量的句子,句子中的人物、地点、公司等都有相应的维基百科给的标签和描述。预训练阶段根据2.1部分介绍的模板,进行[MD]和[EG]两个任务的Seq2Seq任务的训练。

b、微调与解码阶段

这部分对应于Few-shot NER的少样本阶段。给了一些带标注的少量样本句子,我们知道了这些句子中那些单词是实体部分,把这些实体部分添加到以[MD]开头的模板并输入到SDNet中,模型会生成这些实体部分描述,并将生成的描述加入到新类别的概念描述集中,并在预测阶段输入添加了新类别的[EG]开头的模板,根据生成的结果判断待预测的句子中哪些单词部分是该类别的实体。

以上图中为例,给的少样本中Iran是GPE类别的实体,SDNet先用[MD]开头的模板生成了Iran是country的描述,将country加入到属于GPE这个新类别的概念描述集合中,在预测阶段用[EG]开头的模板输入GPE这个类别名、其包含的概念描述以及待识别的句子,生成属于GPE的实体词,完成实体识别。

c、Filtering Strategy

在众多下游任务中,SDNet可能会遇到难以生成新实体类别描述的情况(或者或生成不准确的描述),因此SDNet在训练阶段可以对于那些不去确定的instance生成other的描述词。如果给少量样本生成的描述词中有0.5以上的other,将在最后的decode阶段直接使用新实体类别名(如GPE)。(实验部分可以看到这个策略带来了一定的提升)

具体实现过程将不再赘述,可以看原文的第4部分,有对预训练和fintune阶段的详细介绍。

03

实验部分

93f542f4-22ce-11ed-ba43-dac502259ad0.jpg

这种借助先验知识的方式,在6个数据集上都取得了很好的效果,尤其是对一些之前的识别效果一直很差的(比如I2B2),这说明这种通用的实体概念集合在各种类别间是通用的。

04

评价

优点

为少样本NER引用外部知识提供了新思路,且提供了可直接使用的,通用的预训练模型,可以为后来的研究工作提供参考。

可能的缺陷

在很多新领域下(尤其涉及到domain transfer)的,可能会出现很多无法描述成概念集合的实体类别,出现大量的other,这时只能用实体类别名了,在完全不重叠的领域之间可能效果会不佳。

另外,预训练阶段使用的维基百科,大量的是事件人物地点等这些广泛且常用的,面对实际应用中的非常见实体类别时,可能做不到很好的描述。

在大量的语料中进行训练,可能出现了“泄露”,当然这只是一个猜测。




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SDNet
    +关注

    关注

    0

    文章

    4

    浏览量

    5622

原文标题:ACL2022 | 基于自描述网络的小样本命名实体识别

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ad如何设置两个元器件的距离

    在Altium Designer(简称AD)设置两个元器件之间的距离,主要是通过设置元器件间的安全间距(Clearance)规则来实现的。这个规则定义了元器件之间、元器件与走线之间以及其他设计元素
    的头像 发表于 09-02 15:31 4980次阅读

    触发器的两个稳定状态分别是什么

    触发器作为数字电路的基本逻辑单元,具有两个稳定状态,这两个状态通常用于表示二进制数码的0和1。
    的头像 发表于 08-12 11:01 640次阅读

    双稳态触发器的两个基本性质是什么

    双稳态触发器(Bistable Trigger)是一种具有两个稳定状态的逻辑电路,广泛应用于数字电路设计。它具有两个基本性质:记忆性和切换性。 一、双稳态触发器的基本概念 1.1 双稳态触发器
    的头像 发表于 08-11 10:08 556次阅读

    两个PLC之间如何交互信号

    在工业自动化系统,PLC(Programmable Logic Controller,可编程逻辑控制器)是核心的控制设备。在许多复杂的应用场景,需要两个或多个PLC之间进行信号交互,以实现更高
    的头像 发表于 06-14 16:57 3719次阅读

    两个铜片可以形成原电池吗

    两个铜片本身不能形成原电池,因为原电池的工作原理依赖于两个不同电位的电极材料之间的氧化还原反应。
    的头像 发表于 05-21 16:23 849次阅读

    为什么在交流电桥至少需要两个可调参数?

    在交流电桥的测量,至少需要两个可调参数的原因与电桥的工作原理、测量的准确性以及校准过程有关。
    的头像 发表于 05-15 17:49 1544次阅读

    原电池中的两个电极能是相同的吗?

    在原电池的设计和运作两个电极是否可以相同,这取决于电池的类型和所需的电化学反应。
    的头像 发表于 04-26 17:32 1784次阅读

    arcgis如何关联两个属性表

    在ArcGIS,关联两个属性表是一重要的操作,可以通过此操作将两个的数据关联起来,以便进行分析和查询。下面是详细
    的头像 发表于 02-25 11:01 4022次阅读

    两个电位器地控制一变频器,如何接线?

    两个电位器地控制一变频器,如何接线? 接线方式如下: 1. 首先,明确需要使用的电器设备。在这个场景,我们需要两个电位器(即可变电阻器
    的头像 发表于 02-05 10:13 4912次阅读

    两个机器的时钟怎么同步?

    多个机器的时钟保持同步。在本文中,我们将详细介绍如何同步两个机器的时钟,并讨论其原理、方法和实施。 一、时钟同步的重要性 1.数据一致性:在分布式系统,确保多个机器的时钟同步可以保证数据在不同机器上的一致性,
    的头像 发表于 01-16 14:26 1496次阅读

    ADXRS453能同时检测两个方向吗?

    ADXRS453的介绍说可以检测两个方向X或Y,但是手册只提供了一套速率寄存器RATE0和RATE1,只能用于一方向。我的问题是ADX
    发表于 12-29 06:30

    如何给C语言中的函数定义两个不同的名字?

    最近有位哥问我,如何给C语言中的函数定义两个不同的名字?就是这两个名字都是指向同一函数,同一地址,而且两个名字都可以当做函数来用的那种。
    的头像 发表于 12-19 16:21 763次阅读

    电子设计两个不同概念:pcb与pcb封装

    电子设计两个不同概念:pcb与pcb封装
    的头像 发表于 12-11 15:49 820次阅读

    如何设置两个路由器使用同一Wi-Fi网络?

    Wi-Fi网络。本文将详细介绍设置两个路由器使用同一Wi-Fi网络的步骤和注意事项。 第一步:选购适合的路由器设备 在设置两个路由器使用同一
    的头像 发表于 12-11 10:50 1.2w次阅读

    两个硬盘2系统开机切换

    切换两个硬盘上的系统是一种常见的行为,可以让用户在不同的操作系统之间进行切换,以满足不同的需求。在本文中,我们将详细介绍如何配置和使用两个硬盘上的系统进行切换。本文将分为以下几个部分进行讨论:硬件
    的头像 发表于 11-28 15:08 7438次阅读