前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何用GPT大模型解决NER任务?

如何用GPT大模型解决NER任务?

作者头像
圆圆的算法笔记
发布2023-08-17 08:40:15
1.5K1
发布2023-08-17 08:40:15
举报

今天给大家介绍一篇北大、香农科技、浙大、亚马逊、南洋理工等多个机构近期联合发表的工作,利用GPT这类预训练大模型解决NER问题。

论文标题:GPT-NER: Named Entity Recognition via Large Language Models

下载地址:https://arxiv.org/abs/2304.10428

1、大模型做NER任务的挑战

命名实体识别任务(NER)的目标是识别出给定文本中的实体部分,一般采用序列标注的方法进行建模,预测每个位置的token是否属于某个实体、属于哪个实体。NER任务也在之前的文章中进行过详细结果

GPT等大模型在众多NLP任务中都取得了非常显著的效果,但是在NER上的效果却并不理想。文中指出,造成大模型解决NER问题效果一般的核心原因,是NER任务和GPT训练方式的差异。GPT本质上是一个生成模型,而NER是序列标注任务,因此将GPT应用到NER中,一个必须解决的问题是如何将NER任务转换成生成任务。

本文针对这个问题,提出了GPT-NER,将NER任务通过prompt转换成生成式任务,用预训练大模型解决NER问题。

2、GPT-NER整体思路

GPT-NER的整体思路为,将NER这种序列标注任务,通过prompt转换成一个生成任务,输入到大模型中,让其生成初步的NER打标结果。由于大模型存在幻觉问题,对于一些非实体结果也经常打出NER标签。为了解决这个问题,文中提出使用大模型自己来验证生成的结果是否准确。整体来看,GPT-NER包括初步结果生成和结果验证两个部分,这两个步骤都由大模型自身完成。

贯穿整个GPT-NER过程的,是如何生成比较好的prompt、demonstration,下面对GPT-NER中的两个核心模块进行详细介绍。

3、序列标注转换为生成任务

文中通过prompt将NER任务转换成生成任务。整个GPT的输入包含3个主要部分:

Task Description:用来描述任务,例如输入I am an exelent linquist,设置场景,让模型进行角色扮演,知道自己要从语言学专业角度进行NER打标;

Few-shot Demonstration:给一些NER任务的示例,用来指导GPT生成的样本格式。每个样例由Input和Output组成。对于输出的格式,一种直观方法是直接输出LOC O O O这种NER打标序列。但是这种输出对GPT非常不友好。因此文中采用的输出格式为,将原来句子中的Tagging部分两侧使用@@##特殊符号进行标记;

Input Sentence:即待标注的样本。

整体的prompt样例如下图所示。

4、样例选择

Demonstration的引入相当于是在做few-shot learning,我们的目标是希望找到一个和当前输入句子尽可能相似的文本,这样才能让待预测任务更多借鉴输入样例的知识,实现准确预测。那么如何寻找合适的样例呢?本文提出了一种基于样本表示向量+KNN检索的样例选择方法,整体流程如下。

最基础的方法是,使用一个文本表示模型(比如SimCSE,基于对比学习训练的句子级别表示模型)产出句子向量,计算和当前输入样本相似度,检索最相似的几个句子作为样例。然而,这种方法的问题在于,NER是一个token级别的序列标注任务,使用整句语义检索可能导致检索出来的句子确实语义比较像,但是NER任务上可借鉴的信息不多。

因此,文中提出了一种token级别的检索任务,使用一个训练好的NER模型得到每个token的表示,然后根据token表示进行KNN检索出高相关的token,将包含这些token的句子作为候选样例。Token的NER向量相似的,说明在NER任务上有相似的上下文,更有可能与待预测样本在NER角度相关。

5、生成结果验证

大模型的幻觉现象是一个常见问题。在NER任务上,作者发现大模型经常会给非实体的词标记为实体。为了解决这个问题,文中增加了一个验证模块,将上一步生成的初步NER结果,修改prompt的形式,再次输入到大模型进行一次验证。整个Prompt也是由Task Description、Demonstration、Input Sentence三个部分组成,下图是一个文中的示例。在样例选择上,也使用了类似的基于NER模型token级别表示的KNN检索方法。

6、实验结果

本文在实验中,对比了这种方法和有监督NER模型的效果,GPT-NER能够达到和有监督模型基本持平的效果。并且本文用的是GPT3模型,随着大模型版本的进一步迭代,GPT-NER这类方法有望取代传统的有监督NER方法。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-06-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 圆圆的算法笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档