首页 > 其他分享 >GPT-NER:通过大型语言模型的命名实体识别

GPT-NER:通过大型语言模型的命名实体识别

时间:2023-04-21 15:13:49浏览次数:42  
标签:提取 LLMs 模型 实体 GPT 识别 NER

讲在前面,chatgpt出来的时候就想过将其利用在信息抽取方面,后续也发现了不少基于这种大语言模型的信息抽取的论文,比如之前收集过的:

接下来继续介绍另一篇论文。

GPT-NER:通过大型语言模型的命名实体识别

GPT-NER: Named Entity Recognition via Large Language Models

https://arxiv.org/pdf/2304.10428v1.pdf

https://github.com/ShuheWang1998/GPT-NER

Part1前言

为什么使用大语言模型在NER上的表现仍然明显低于普遍的基线?

由于NER和LLMs这两个任务之间的差距:前者本质上是一个序列标记任务,而后者是一个文本生成模型。

怎么解决上述的问题呢?

  • GPT-NER通过将序列标签任务转换 为一个可以被LLMs轻松适应的生成任务来弥补这一差距,例如, 在输入文本Columbus是一个城市中寻找位置实体的任务被转换为生成文本序列@@Columbus##是一个城市,其中特殊标记@@##标志着要提取的实体。
  • 为了有效地解决LLMs的幻觉问题,即LLMs有一个强烈的倾向,即过度自信地将NULL输入标记为实体,我们提出了一个自我验证策略,即提示LLMs询问自己所提取的实体是否符合标记的实体标签。

Part2介绍

GPTNER遵循语境学习的一般范式,可以分解为三个步骤:

  • (1)构建提示:对于一个给定的输入句子X,我们为X构建一个提示(用Prompt(X) 来表示);
  • (2)将提示输入到大语言模型得到生成的文本序列W = {w1 ,..., wn };
  • (3)将文本序列W转化为实体标签序列,以获得最终的结果。

如图所示:第一句话:你是一个优秀的语言学家;第二句话:任务是从给定的句子中标记xxx实体。接下来是一些例子,然后给树了一些例子。最后再输入自己想要提取实体的句子得到结果。很容易发现,每次只能提取一种实体,因此要提取出所有的实体,必须遍历实体列表。例如GPT-3,对提示的长度有 一个硬性的限制(例如GPT-3的4096个tokens)。鉴于这种有限的标记数量,我们不可能在一个提示中包括对所有实体类型的描述和演示。

1怎么提供实例样本?

如图所示:

  • 1、一个已经训练好的ner模型提取训练数据中的实体,并为每一个实体构建(实体,句子)对。
  • 2、将句子输入的模型中并获取实体的表示。
  • 3、通过knn找到和实体向量最接近的几个邻居,将得到的句子视为样例。

2怎么进行自我验证?

Prompt:
I am an excellent linguist. The task is to label location entities in the given sentence.
Below are some examples.
Input:Columbus is a city
Output:@@Columbus## is a city
Input:Rare Hendrix song sells for $17
Output:
GPT-3 Output:
Rare @@Hendrix## song sells for $17

过度预测是指将不是实体的预测为实体。如上面的例子:Hendrix被识别为一个location实体,这显然是不对的。自我验证策略:给定一个由LLM提取的实体,我们要求LLM进一步验证该提取的实体是否正确,用是或否回答。比如:

“The task is to verify whether the word is a location entity extracted from the given sentence”
(1) “The input sentence: Only France and Britain backed Fischler’s proposal”,
(2) “Is the word "France" in the input sentence a location entity? Please answer with yes or no”.
(3) Yes

同样的,也是根据之前的策略选择样例。

Part3实验

  • 模型:GPT-3 (Brown et al., 2020) (davinci-003)
  • 最大长度:512
  • 温度:0
  • top_p:1
  • frequency_penalty:0
  • presence_penalty:0
  • best_of:1

总结一下,利用大语言模型进行信息抽取,大多数都是采用这种类似问答的方式进行的,也就是分为多个步骤。

标签:提取,LLMs,模型,实体,GPT,识别,NER
From: https://www.cnblogs.com/xiximayou/p/17340402.html

相关文章

  • loadrunner入门教程(31) --Analysis
    1.Analysis含义:分析器顾名思义就是对测试结果数据进行分析的组件,它是LoadRunner三大组件之一,其重要性不言而喻。在Controller组件执行场景的过程中,LoadRunner会将数据收集起来并保存到数据库中。当场景运行完成后,可以进入Analysis组件对这些数据进行分析。分析器中保存着大量用来......
  • loadrunner入门教程(20) --场景创建
    文章目录1.任务背景2.任务目标3.任务实操3.1人工场景3.2面向目标场景4.任务总结1.任务背景Controller是loadrunner的场景工具,用于创建和控制loadrunner场景。由一个场景负责定义每个测试会话中发生的事件。他控制要模拟的用户数、这些用户执行的操作以及用于运行模拟场景的计算......
  • loadrunner入门教程(17) --关联
    文章目录1.任务背景2.任务目标3.任务实操1.任务背景当执行脚本时,VuGen伪装成浏览器,然后根据脚本,把当初真的浏览器所发过的内容,再对网站服务器重新发送一遍,VuGen企图骗过服务器,让服务器以为它就是当初的浏览器,然后把网站内容传送给VuGen。所以记录在脚本中要对服务器所发送的内......
  • loadrunner入门教程(24) --Load Generator
    文章目录1.任务背景2.任务目标3.任务实操1.任务背景对场景进行设计后,接着需要对负载生成器进行管理和设置。LoadGenerator是运行脚本的负载引擎,在默认情况下使用本地的负载生成器来运行脚本,但是模拟用户行为也需要消耗一定的系统资源,所以在一台电脑上无法模拟大量的虚拟用户,这个......
  • GPT-4重磅发布,它究竟厉害在哪?
    3月14日,万众期待的GPT-4终于发布啦!千呼万唤始出来!GPT4是迄今为止最强大的模型GPT-4(GenerativePre-trainedTransformer4)是由OpenAI创建的多模态大型语言模型,是GPT系列的一员。官方说明,GPT-4将通过API和ChatGPTPlus向用户提供服务。OpenAI在宣布GPT-4的博客文章中写道,“GP......
  • What...MiniGPT-4居然开源了,提前感受 GPT-4 的图像对话能力!
    说在前面的话:一个月前,OpenAI向外界展示了GPT-4如何通过手绘草图直接生成网站,令当时的观众瞠目结舌。在GPT-4发布会之后,相信大家对ChatGPT的对话能力已有所了解。圈内的朋友们应该已经亲身体验过无论是文本生成、编写代码,还是上下文关联对话能力,这些功能都一次又一次地震撼着我们。......
  • GPT-4的前世、今生和未来!
    文|王思若前言诚然,从关系数据库到互联网信息检索,每一次知识表示和调用方式的跃迁都会在科技史引起一场巨大的技术变革。当ChatGPT发布之后,生成式AI成了新的技术范式,这场变革从微软、Google、百度这一众搜索引擎开始,星火燎原,越来越多的工作将会发生不可逆转的改变,有研究声称至少80......
  • What...MiniGPT-4居然开源了,提前感受 GPT-4 的图像对话能力!
    说在前面的话:一个月前,OpenAI向外界展示了GPT-4如何通过手绘草图直接生成网站,令当时的观众瞠目结舌。在GPT-4发布会之后,相信大家对ChatGPT的对话能力已有所了解。圈内的朋友们应该已经亲身体验过无论是文本生成、编写代码,还是上下文关联对话能力,这些功能都一次又一次地震撼着我们......
  • 如何解决ChatGPT 的数据保护盲点
    自成立以来的短时间内,ChatGPT和其他生成式AI平台理所当然地赢得了终极生产力助推器的声誉。然而,能够按需快速生成高质量文本的技术,可能同时暴露敏感的公司数据。最近发生的一件事,其中东方联盟网络安全研究人员将专有代码粘贴到ChatGPT中,清楚地表明该工具很容易成为潜在的数......
  • text() html() val() innerHTML的区别
    参考text()用于html元素文本内容的存取html()不仅可以用于文本内容的存取,还可用于html内容的存取val()用于input元素内容的存取    html()innerHTML的区别html()方法设置或返回被选元素的内容。当该方法用于返回内容时,则返回第一个匹配元素的内容。当该方法用......