Prompt单次预测就能做NER——EntLM解读

简介: Prompt单次预测就能做NER——EntLM解读

读了复旦大学发的文章《Template-free Prompt Tuning for Few-shot NER》,是用小样本思路prompt做ner的新方法,就是没开源代码很遗憾,导致有的小问题就是不明白,通过给作者发邮件弄明白了。


目录:



1、原有的prompt做ner的方式,及弊端;


2、该文章的思路;


3、该文章的思路的主要问题的解决思路;


4、我对该文章的思考。


1、原有的prompt做ner的方式,及弊端:



经典的prompt方式,将原文本是新文本模板中的一个槽位,用语言模型去预测另一个槽位,该槽位的取值是事先定好的很能代表label的词,多为一个英文词或比较少(如2个字)的中文。由于是用语言模型预测,依赖预训练的数据,所以理论上可以完全不训练,或者用少样本训练。故而成为小样本学习,或零样本学习。


本文之前的prompt做ner的思路也是如此,如图。


1221f0e54342c3d266fd2abfec28295e.png


与prompt做分类的区别是:


  • prompt-ner需要把候选的槽位组合也当做一个槽位放入模板,从而确定文本中的实体到底是哪些词;


  • 由于上一条,导致每种可能的实体选择都样分别放入模板,分别做一次预测。(如果按照n-gram的说法,相当于把“1~文本长度”-gram 都试一遍)巨大的复杂度将引起巨量的预测,耗时肯定是实际工作中无法承受的。——弊端


所以改进方式就需要摆脱“把候选的槽位组合也当做一个槽位放入模板”的思路,即“候选的槽位组合不能是模板的一个槽位”。


2、该文章的思路:



ccca3b1b512e8c8012525defe067cf0c.png


  • 压根不用模板,而是语言模型做mask的方式去分别预测每个词;


  • 预测出来的词并非是原文本中的词,而是在预设的n个label word中选一个;该label word和槽位类型一一对应;


  • 耗时:n个词构成的文本要做n次预测(这一点文章没提,我想的)。这个时间实际工作中你能接受吗?


  • 文章示例是单个词构成的实体,如果多个词构成的实体,预测时要预测几个mask位?——询问作者后,作者回复:


8b3ae2c8cb545928880b16353789053d.png


3、该文章的思路的主要问题的解决思路:



经典prompt有2个问题:模板如何构建,和label word怎么设置。该文章没用模板,所以只涉及label word怎么设置。


需要注意的是,由于是小样本,所以任务数据集的样本量很小,为了找到更合适的label word,所以从“开放数据”中选择“相应类型”的词和文本。这就导致如果开放数据中没有这种类型,则无法用下述方式找label word。比如,“地点”、“人名”等通用类型的数据好找;但如果是垂类下特有的实体类型,甚至是业务上自己定义的实体类型,则没有相关的开放数据对应,则下述方法无效。


开放数据是指:


9f5ccb97d4d92f33d584e6305d09dd6d.png


文章采用“数据集分布”+“语言模型预测”两种相结合的方式选取label word。


222631ebded1cd7d5fedfe94ef6b94df.png


大致思路是:


  • “数据集分布”是指:该实体类型下,词频最高的词;


  • “语言模型预测”是指:用语言模型对该槽位类型的词做mask后做预测,预测出来的词中选高频词;


  • 实际选用的是二者结合,具体思路是通过选合适的label word让上述两项的概率都高。(就不列公式了。)


4、我对该文章的思考:(下文有修改,之前读文章漏了)



优点:


  • 一句话仅预测一次即可,完全可以用在实际工作中;


  • 不用弄模板,工作量相对下降;


  • 用开源数据提升效果。(得看slot的类别,见下文的“缺点”。)


  • 选label word的思路是独立于“无模板做prompt”的主思路的,所以选label word的思路完全可以被替换,甚至我就人肉设定也未尝不可。


缺点:


  • 对于垂类任务,缺少相关的开源实体的数据,无法在大规模开源数据中选更好的label word。——但由于选label word的思路是独立于主思路的,所以这一点在垂类数据中可以用因地制宜的类似方案作为替代。


不确定的点:


  • 多个词构成的实体,每个mask位都预测同样的label word。有没有更好的方法?


  • 还是对于上一条的情况,对于中文怎么弄?——不能把中文人名也预测成一个中国字吧?——或者2、3个字的mask也未尝不可。——我不能确定英文方案就不行。但我能想到的另一种方式是依赖分词。但还不能直接用,因为对于非实体的词被mask之后,应该预测为什么呢?还没想好。


5、之前读文章漏的地方


按照语言模型的思路,一句话仅需预测一次。


46b9e2fce2316d36d955e6e87acd1301.png

相关文章
|
机器学习/深度学习 人工智能 自然语言处理
一文理解Skip-Gram上下文的预测算法
自然语言处理属于人工智能领域,它将人类语言当做文本或语音来处理,以使计算机和人类更相似,是人工智能最复杂的领域之一。 由于人类的语言数据格式没有固定的规则和条理,机器往往很难理解原始文本。
4479 0
|
存储 机器学习/深度学习 算法
语义检索系统排序模块:基于ERNIE-Gram的Pair-wise和基于RocketQA的CrossEncoder训练单塔模型
语义检索系统排序模块:基于ERNIE-Gram的Pair-wise和基于RocketQA的CrossEncoder训练单塔模型
语义检索系统排序模块:基于ERNIE-Gram的Pair-wise和基于RocketQA的CrossEncoder训练单塔模型
|
3月前
|
机器学习/深度学习 数据采集 PyTorch
使用 PyTorch 创建的多步时间序列预测的 Encoder-Decoder 模型
本文提供了一个用于解决 Kaggle 时间序列预测任务的 encoder-decoder 模型,并介绍了获得前 10% 结果所涉及的步骤。
50 0
|
自然语言处理 安全 数据挖掘
PaddleNLP基于ERNIR3.0文本分类以CAIL2018-SMALL数据集罪名预测任务为例【多标签】
文本分类任务是自然语言处理中最常见的任务,文本分类任务简单来说就是对给定的一个句子或一段文本使用文本分类器进行分类。文本分类任务广泛应用于长短文本分类、情感分析、新闻分类、事件类别分类、政务数据分类、商品信息分类、商品类目预测、文章分类、论文类别分类、专利分类、案件描述分类、罪名分类、意图分类、论文专利分类、邮件自动标签、评论正负识别、药物反应分类、对话分类、税种识别、来电信息自动分类、投诉分类、广告检测、敏感违法内容检测、内容安全检测、舆情分析、话题标记等各类日常或专业领域中。 文本分类任务可以根据标签类型分为**多分类(multi class)、多标签(multi label)、层次分类
PaddleNLP基于ERNIR3.0文本分类以CAIL2018-SMALL数据集罪名预测任务为例【多标签】
|
人工智能 自然语言处理 PyTorch
NLP文本匹配任务Text Matching [有监督训练]:PointWise(单塔)、DSSM(双塔)、Sentence BERT(双塔)项目实践
NLP文本匹配任务Text Matching [有监督训练]:PointWise(单塔)、DSSM(双塔)、Sentence BERT(双塔)项目实践
NLP文本匹配任务Text Matching [有监督训练]:PointWise(单塔)、DSSM(双塔)、Sentence BERT(双塔)项目实践
|
机器学习/深度学习 自然语言处理 算法
SnowNLP使用自定义语料进行模型训练(情感分析)
SnowNLP使用自定义语料进行模型训练(情感分析)
1577 1
SnowNLP使用自定义语料进行模型训练(情感分析)
|
机器学习/深度学习 自然语言处理 大数据
使用Flow forecast进行时间序列预测和分类的迁移学习介绍
使用Flow forecast进行时间序列预测和分类的迁移学习介绍
340 0
使用Flow forecast进行时间序列预测和分类的迁移学习介绍
|
算法 数据挖掘 API
AutoML | AutoSklearn的基本分类、回归、多输出回归和多标签分类数据集的使用示例
AutoML | AutoSklearn的基本分类、回归、多输出回归和多标签分类数据集的使用示例
182 0
AutoML | AutoSklearn的基本分类、回归、多输出回归和多标签分类数据集的使用示例
|
机器学习/深度学习 存储 数据可视化
机器学习算法(一): 基于逻辑回归的分类预测-Task01
Logistic Regression 虽然被称为回归,但其实际上是分类模型,并常用于二分类。Logistic Regression 因其简单、可并行化、可解释强深受工业界喜爱。
327 0
机器学习算法(一): 基于逻辑回归的分类预测-Task01
在 IMDB 电影评论数据集上进行文本数据漂移检测(Seldon Alibi Detect)(4)
我们使用最大均值差异(MMD)和 Kolmogorov-Smirnov (K-S) 检测器检测文本数据的漂移。 在这个示例中,我们将专注于检测协变量漂移Δp(x)\Delta p(x)Δp(x), 因为检测预测的标签分布漂移与其他方式没有区别(在 CIFAR-10 上检查 K-S 和 MMD 漂移)。
下一篇
无影云桌面