| |
|
开发:
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存在的问题:
因此,本文提出了基于小样本命名实体识别的自描述机制。其主要思想是所有的实体类型都可以使用相同的概念集来描述,并且类型和概念之间的映射可以通用的建模和学习。这样,就可以用同样的概念集,通过使用统一描述不同的实体类型来解决知识不匹配的问题。 例如:如下图所示,不同模式中的类型被映射到相同的概念集(concept)。
?由于概念映射是通用的,少数例子仅用于构造新类型和概念之间的映射,因此可以有效的解决有限的信息问题。 所以,本文提出了自描述网络SDNet,它是一种seq2seq生成网络,可以普遍的使用概念(concept)来描述提及(mention),自动的将新的实体类型映射到概念上,并自适应的按需识别实体。
例如:“Dr. Kohl came to [Beijing], ...”生成{capital, city} 。
例如:使用提及的“Beijing” 和 “America”将GPE映射到{country, capital, city} (GPE通常表示地理—政治条目,比如城市,州,国家,洲等。 LOCATION除了上述内容外,还能表示名山大川等)
例如:“France is beautiful.”中识别实体通过使用前缀提示“[EG] GPE: {country, capital, city}”生成“France is GPE”。 因为这个概念集是通用的,所以我们在大规模的、易于访问的web资源上对SDNet进行了预训练。 SDNet通过将提及和实体类型投影到一个通用的概念空间,可以有效地丰富实体类型来解决有限的信息问题,通用地表示不同的模式来解决知识不匹配问题,并可以有效地进行统一的预训练。 此外,通过前缀提示(prefix prompt)机制区分不同的任务,将上述任务建模在一个单一生成模型,使模型具有可控性、通用性、可连续训练性。 我们在8个不同领域的FS-NER基准测试上进行了实验。实验表明,SDNet具有非常强的性能,并在6个数据集上取得了SOTA性能。 本文的贡献如下:
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。
提及描述和实体识别可以看作是对称的过程
提及描述,prompt包含:任务描述符[MD]、目标提及。 实体识别,prompt包含:任务描述符[EG]、目标新的实体类别、相应描述的列表和句子。
为了指导上述两个过程,SDNet使用了不同的prompts?P,?生成不同的输出Y。如下图所示:
时间步?t 时,在词汇表中生成token的概率计算方法为:= Decoder(H, Y).
我们在这里使用Greedy Decoding(贪心解码),因此将生成目标词汇表中值最大的的单词,直到生成[EOS]。
(seq2seq 的 decoder 部分有三种 decoding 方法:Greedy Decoding,暴力搜索以及 Beam Search算法。Greedy Decoding 就是每次选择概率值最大的对应的单词,这样容易得不到全局最优结;暴力搜索是每次选择所有结果,这个方法的时间复杂度太高;而 beam search 是两者的折中方案。)
3.2 通过实体生成进行实体识别
将目标实体类型的描述放到prompt中,然后通过实体生成过程自适应地生成实体。
例如:句子:Harry Potter is written by J.K. Rowling.
在SDNet中,实体识别是由实体生成来执行的,给定的实体生成提示为和句子。
以任务描述符[EG]、目标类型和相应描述的列表
其中是第i个类型的第j个concept。
其中是第i个实体的类型
基于生成的文本Y,得到被识别的实体,即{<,>……<,>}。
3.3 通过提及描述构造类型描述SDNet通过提及描述来获得说明性示例中每个提到的概念描述。然后通过总结所有的概念描述,构建每种类型的类型描述。 通过向引入不同的对应类型描述,动态控制SDNet生成不同类型的实体。 例如,人:{actor, doctor, ...},位置:{city, state, ...}
1)Mention Describing(提及描述)
是第i个实体的第j个概念。 概念集合可以视作通过实体ei映射的语义集合。
2)Type Description Construction.(类型描述构造)
SDNet总结生成的概念来描述特定新类型的精确语义。 即,所有相同类型t的概念描述将融合到C,视为类型 t 的描述。并构造类型描述M = {(t,C)}。 然后将所构造的类型描述合并到中,以指导实体的生成。
3)Filtering Strategy.(过滤策略)
使得SDNet能够拒绝生成不可靠的描述。 由于下游新颖类型的多样化,SDNet可能没有足够的知识来描述这些类型,因此强制SDNet描述它们,可能会导致不准确的描述。为了解决这个问题,我们提出Filtering Strategy,使得SDNet能够拒绝生成不可靠的描述。 具体来说,针对不确定的实例,SDNet将其生成为other类。给定一个新的类型和一些说明性的实例,我们将在这些实例的概念描述中计算other实例的频率。如果在说明性实例上生成other实例的频率大于0.5,我们将删除类型描述,并直接使用类型名称作为。 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, 我们需要概念描述,其中, 、是类型的相关概念。本文使用上述收集的实体类型作为概念,并构建如下类型描述。给定一个实体类型,我们收集它的所有同时出现的实体类型作为它的描述概念。这样,对于每个实体类型,我们都有一个描述的概念集。由于一些实体类型有一个非常大的描述概念集,我们在效率预训练中随机抽样不超过N(本文N取10个)的概念。 ?Pre-training via Mention Describing and Entity Generation ?给定句子和它的提及-类型元组 :,其中?是第i个实体提及的类型集合。是的第j个类型。?是句子X中的实体提及。然后,我们构造类型描述,并将这些三元组转换为预训练的实例。 ?我们使用交叉熵(CE)损失来训练SDNet: ?4.2 实体识别微调给定标注示例<e,T,X>,首先构造不同类型的描述,接下来构造一个实体类型提示, 然后生成序列, 通过优化函数来微调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博客 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |