IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> SDNet:Few-shot Named Entity Recognition with Self-describing Networks(ACL2022) -> 正文阅读

[人工智能]SDNet:Few-shot Named Entity Recognition with Self-describing Networks(ACL2022)

论文:?https://arxiv.org/pdf/2203.12252.pdf

代码:?https://github.com/chen700564/sdnet

0 摘要

小样本命名实体识别 (Few-shot NER)需要从有限的例子中精准捕获信息,并且能够从外部资源中转移有用的知识。本文针对小样本NER,提出一个自描述机制 (self-describing mechanism),该机制能够有效的利用说明性实例,并通过使用通用概念集来描述实体类型实体提及(mention), 精确地从外部资源转移知识。具体来说,我们设计了Self-describing Networks (SDNet), 该网络是一个Seq2Seq生成模型,其能够普遍使用概念描述mention,自动将新的实体类型映射到概念集,并自适应识别基于概念集的实体。

本文使用大规模的语料预训练SDNet,并且在8个不同领域的基准数据集上进行了实验。实验结果表明SDNet在8个基准数据集上,均取得了不错的性能,并在6个数据集上取得了SOTA的性能。 这也证明了该方法的有效性和鲁棒性。

1 引言

小样本NER旨在通过少量的样本来识别新的实体类型相对应的实体提及。

现有Few-shot NER存在的问题

limited information challenge:从小样本的数据中获取的知识非常有限

knowledge mismatch challenge:不同的知识库中对同一个实体的标注会存在冲突。

例如,”America”在Wikipedia,OntoNotes,WNUT17数据集中分别被分类为geographic entity,GPE,location。

因此,本文提出了基于小样本命名实体识别的自描述机制。其主要思想是所有的实体类型都可以使用相同的概念集来描述,并且类型和概念之间的映射可以通用的建模和学习。这样,就可以用同样的概念集,通过使用统一描述不同的实体类型来解决知识不匹配的问题。

例如:如下图所示,不同模式中的类型被映射到相同的概念集(concept)。

?由于概念映射是通用的,少数例子仅用于构造新类型和概念之间的映射,因此可以有效的解决有限的信息问题。

所以,本文提出了自描述网络SDNet,它是一种seq2seq生成网络,可以普遍的使用概念(concept)来描述提及(mention),自动的将新的实体类型映射到概念上,并自适应的按需识别实体

为了捕获提及的语义,SDNet生成一组通用的概念来作为其描述。

例如:“Dr. Kohl came to [Beijing], ...”生成{capital, city} 。

为了将实体类型映射到概念,SDNet生成并融合具有相同实体类型的提及概念描述。

例如:使用提及的“Beijing” 和 “America”将GPE映射到{country, capital, city}

(GPE通常表示地理—政治条目,比如城市,州,国家,洲等。

LOCATION除了上述内容外,还能表示名山大川等)

?为了识别实体,SDNet通过概念集丰富的前缀提示直接生成语义中的所有实体,该前缀提示包含目标实体类型及其概念描述。

例如:“France is beautiful.”中识别实体通过使用前缀提示“[EG] GPE: {country, capital, city}”生成“France is GPE”。

因为这个概念集是通用的,所以我们在大规模的、易于访问的web资源上对SDNet进行了预训练。

SDNet通过将提及实体类型投影到一个通用的概念空间,可以有效地丰富实体类型来解决有限的信息问题,通用地表示不同的模式来解决知识不匹配问题,并可以有效地进行统一的预训练。

此外,通过前缀提示(prefix prompt)机制区分不同的任务,将上述任务建模在一个单一生成模型,使模型具有可控性、通用性、可连续训练性。

我们在8个不同领域的FS-NER基准测试上进行了实验。实验表明,SDNet具有非常强的性能,并在6个数据集上取得了SOTA性能。

本文的贡献如下

  • 提出了一种自描述机制用于few-shot NER,通过一个通用的概念集合描述所有实体类别提及,从而能够有效解决limited information challenge和knowledge mismatch challenge;
  • 提出了自描述网络—SDNet,一种Seq2Seq生成网络,能够用概念统一描述提及,自动将新的实体类型映射到概念,并根据需要自适应地识别实体;
  • 在大规模开放数据集上预训练SDNet,为少样本NER提供了一个通用知识,有益于许多进一步NER研究。

2 相关工作

金融服务NER研究主要集中在利用外部知识,使用许多知识资源

1 产品生命周期管理,早期的小样本NER主要使用PLM进行比特编码,并且提出了基于提示的NER公式来更有效的利用PLM的知识。

2 现有的标注数据集,这些研究集中在重用现有数据集中的注释,并且注释可以用于预训练NER模型。

3 远程标注数据集。部分作品尝试通过远程监控自动构建NER数据集,但是会有标记不全和噪音标签的问题

为了处理知识不匹配问题,使用标签项目方法。在不同的模式中,使用人工标签描述来丰富标签的语义。

将不同模式中的标签合并到同一个分类法中,以便进行知识共享

使用当前标签重新标记外部噪音数据集

与这些方法相比,我们通过将所有实体类型映射到一个通用的概念集来解决知识不匹配的问题,并且使用自描述网络自动生成概念映射和目标实体。

3 小样本NER的自描述网络

在本节中,我们将描述如何使用自我描述网络来构建少量的实体识别器和识别实体。具体来说,SDNet是一个Seq2Seq网络,它连续执行两个生成任务

1)提及描述,生成提及的概念描述;

2)实体生成,自适应地生成对应的实体提及。

使用SDNet,NER可以在实体生成过程中输入类型描述,直接执行NER。给定一种新的类型,它的类型描述是通过提及描述其说明性实例来建立的。下面,我们将首先介绍SDNet,然后描述如何构建类型描述和构建小样本实体识别器。

3.1 自描述网络(Self-describing Networks)

SDNet,是一种seq2seq的结构,需要融合相同实体类型的mention,产生concept集合。主要有两个生成任务:mention describing 和Entity generation。
提及描述和实体识别可以看作是对称的过程
  • mention describing:提及描述是生成提及的概念描述,捕获给定实体的概念语义
  • Entity generation:实体生成是自适应地生成实体提及,识别包含特定概念的实体

提及描述,prompt包含:任务描述符[MD]、目标提及。

实体识别,prompt包含:任务描述符[EG]、目标新的实体类别、相应描述的列表和句子。

为了指导上述两个过程,SDNet使用了不同的prompts?P,?生成不同的输出Y。如下图所示:

输入:prompt p 和句子X

输出:SDNet将生成一个序列Y,其中包含提及描述实体生成结果

  • SDNet首先将prompt P和句子X连接到序列I = P⊕X中,
  • 然后将 I 输入编码器,获得隐藏状态表示H:H = Encoder(I).
  • 最后被送入解码器,解码器将顺序的产生一个序列。

时间步?t 时,在词汇表中生成token的概率计算方法为:P_{t}= Decoder(H, Y_{<t}).

我们在这里使用Greedy Decoding(贪心解码),因此将生成目标词汇表中P_{t}值最大的的单词,直到生成[EOS]。
(seq2seq 的 decoder 部分有三种 decoding 方法:Greedy Decoding,暴力搜索以及 Beam Search算法。Greedy Decoding 就是每次选择概率值最大的对应的单词,这样容易得不到全局最优结;暴力搜索是每次选择所有结果,这个方法的时间复杂度太高;而 beam search 是两者的折中方案。)

3.2 通过实体生成进行实体识别

目标实体类型的描述放到prompt中,然后通过实体生成过程自适应地生成实体
例如:句子:Harry Potter is written by J.K. Rowling.

1 识别的实体类型:人

  • 实体生成提示P_{EG}:{[EG] person: {actor, writer}}
  • 输入:{[EG] person: {actor, writer}}Harry Potter is written by J.K. Rowling.
  • 输出:J.K. Rowling is person

2 识别的实体类型:creative_work

  • 实体生成提示P_{EG}:{[EG] creative_work: {book, music}}
  • 输入:{[EG] creative_work: {book, music}}Harry Potter is written by J.K. Rowling.
  • 输出:Harry Potter is creative_work
在SDNet中,实体识别是由实体生成来执行的,给定的实体生成提示P_{EG}和句子X
  • SDNet的输入?实体生成提示P_{EG}和句子X?
P_{EG}任务描述符[EG]目标类型相应描述的列表

P_{EG}=\left \{ [EG]t_{1}:\left \{ l_{1}^{1},...l_{1}^{m^{1}} \right \};t_{2}:{\left \{ l_{2}^{1},...l_{2}^{m_{2}}\right \}};... \right \}

其中l_{i}^{j}是第i个类型t_{i}的第j个concept。
  • 输出:SDNet将生成格式为“e_{1}?is t_{y1} ; . . . ; e_{n} is t_{yn}”的文本Y。
其中t_{yi}是第i个实体e_{i}的类型
基于生成的文本Y,得到被识别的实体,即{<e_{1}t_{y1}>……<e_{n}t_{yn}>}。

3.3 通过提及描述构造类型描述

SDNet通过提及描述获得说明性示例中每个提到的概念描述。然后通过总结所有的概念描述,构建每种类型的类型描述。

通过向P_{EG}引入不同的对应类型描述,动态控制SDNet生成不同类型的实体。

例如,人:{actor, doctor, ...},位置:{city, state, ...}

1)Mention Describing(提及描述)

  • 输入:句子X、描述提示P_{MD}= {[MD]e1; e2; ...}(e是目标实体提及)
  • SDNet将生成文本Y:e_{1}\, \, is\, \, l_{1}^{1},...,l_{1}^{n_{1}};e_{2}\, \, is\, \,l_{2}^{1},...,l_{2}^{n_{2}}

l_{i}^{j}是第i个实体e_{i}的第j个概念。

概念集合可以视作通过实体ei映射的语义集合。

2)Type Description Construction.(类型描述构造)

SDNet总结生成的概念来描述特定新类型的精确语义

即,所有相同类型t的概念描述将融合到C,视为类型 t 的描述。并构造类型描述M = {(t,C)}。

然后将所构造的类型描述合并到P_{EG}中,以指导实体的生成。

3)Filtering Strategy.(过滤策略)

使得SDNet能够拒绝生成不可靠的描述

由于下游新颖类型的多样化,SDNet可能没有足够的知识来描述这些类型,因此强制SDNet描述它们,可能会导致不准确的描述。为了解决这个问题,我们提出Filtering Strategy,使得SDNet能够拒绝生成不可靠的描述

具体来说,针对不确定的实例,SDNet将其生成为other类。给定一个新的类型和一些说明性的实例,我们将在这些实例的概念描述中计算other实例的频率。如果在说明性实例上生成other实例的频率大于0.5,我们将删除类型描述,并直接使用类型名称作为P_{EG}

4 学习

在本节中,我们首先描述如何使用大规模的外部数据对SDNet进行预训练?,以便通过提到描述能力和实体生成能力来捕获常见的NER能力。然后,我们描述了如何通过微调来快速适应和转移NER知识。

4.1 预训练

在SDNet中,NER能力包括提到描述能力和实体生成能力,这可以通过构建相应的数据集进行有效的预训练。本文利用易于获得的大规模维基百科和维基百科数据构建了数据集和预训练SDNet。

Entity Mention Collection

将数据组织成<e,T,X>三元组形式,e是实体,T是实体类别,X是句子,

例如<J.K. Rowling; person, writer,...; J.K. Rowling writes ...>。

作者从Wikidata获得了 31K 类型的集合 T,构建了一个包含 56M 实例的训练数据集。

Type Description Building.

为了训练SDNet, 我们需要概念描述M^P = \{ (t_i , C_i) \},其中, t_i\in \mathbb{T}C_i是类型t_i的相关概念。本文使用上述收集的实体类型作为概念,并构建如下类型描述。给定一个实体类型,我们收集它的所有同时出现的实体类型作为它的描述概念。这样,对于每个实体类型,我们都有一个描述的概念集。由于一些实体类型有一个非常大的描述概念集,我们在效率预训练中随机抽样不超过N(本文N取10个)的概念。

?Pre-training via Mention Describing and Entity Generation

?给定句子和它的提及-类型元组 :\{ (e_i, T_i) | e_i \in E, T_i \subset \mathbb{T})\},其中?T_i = \{ t_i^1,..., t_i^{n_i}\}是第i个实体提及的类型集合。t_i^je_i的第j个类型。?E = \{ e_1, e_2,... \}是句子X中的实体提及。然后,我们构造类型描述,并将这些三元组转换为预训练的实例。

?我们使用交叉熵(CE)损失来训练SDNet:

?4.2 实体识别微调

给定标注示例<e,T,X>,首先构造不同类型的描述,接下来构造一个实体类型提示P_{EG}, 然后生成序列\widetilde{y_n^f}, 通过优化函数来微调SDNet

?

5 实验

主要结果

不同shot大小的影响

?消融实验:

参考

Few-shot Named Entity Recognition with Self-describing Networks - 知乎

论文:Few-shot Named Entity Recognition with Self-describing Networks_追光女孩儿的博客-CSDN博客

30. Few-shot Named Entity Recognition with Self-describing Networks 阅读笔记_薰珞婷紫小亭子的博客-CSDN博客

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-09-15 02:00:48  更:2022-09-15 02:02:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:41:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码