1. 引言
信息抽取[1] (Information Extraction, IE)是自然语言处理(Natural Language Processing, NLP)中的一项核心任务,它主要任务是从非结构化的文本中去提取结构化的知识信息。作为NLP中的基础能力,信息抽取支撑了大量的上下游自然语言处理任务,包括知识图谱构建、知识推理、知识问答、信息关联、信息检索等。随着NLP能力在各个行业赋能,行业对领域信息抽取的诉求日益提升,随之带来的数据标注、数据治理等基础工作的急速增加,很大程度上制约了信息抽取能力在行业领域上的落地应用。
近年来,大语言模型[2] (Large Language Model, LLM)迎来了高速发展,得益于其超强的语言意图理解以及语言生成能力,LLM极大地提升了NLP在各上下游任务中的表现能力,信息抽取任务也得到了相当大的发展。相较于传统的基于判别式抽取模型,基于LLM的生成式语言模型进行信息抽取不再是从纯文本中提取结构化信息而是基于文本的上下文阅读生成所需的抽取结果。这种全新的信息抽取模式,使得LLM不仅能通过信息抽取训练数据进行微调学习[3],提升信息抽取效果,还可以依靠小样本提示学习[4] (Few-shot Learning)或者提示指令设计[5] (Prompt Design)就能在有限训练数据,甚至零样本学习(Zero-shot Learning)场景中大幅度提升信息抽取效果。
综上所述,信息抽取当前的主要发展是探索如何在更小的数据标注、数据治理等资源情况下,提升信息抽取效果。这样能使得信息抽取技术在不同的样本数据与不同领域的应用分析中,通过较少的数据学习,达到预期效果。
2. 技术现状
信息抽取在理解文本内容、提取关键信息等方面发挥着核心作用。随着深度学习和神经网络技术的广泛应用,信息抽取的精度和效率有了显著提升,当前,信息抽取任务主要集中在判决式信息抽取以及生成式信息抽取两种主要技术途径。
判决式信息抽取,主要是基于判决式的深度学习模型进行信息要素的识别以及提取。Yang等人[6]提出了一种基于预训练模型的事件抽取模型PLMEE,同样采用基于流水线的模型,在论元角色分类任务中利用触发词抽取的结果进行推理,并通过引入预训练模型BERT,带来性能上的提高。Zeng等[7]将卷积神经网络(Convolutional Neural Network, CNN)应用于实体关系抽取。Chen等[8]提出一种基于动态多池化卷积神经网络的事件抽取模型,以捕获语句中包含的多个事件信息。Socher等[9]使用循环神经网络方法分析语句,考虑语句的语法结构并完成实体关系提取任务。Nguyen等[10]将双向递归神经网络的协同框架应用到事件抽取任务中。Katiyar等[11]在实体关系提取任务中将递归神经网络与注意力机制相结合。但判决式信息抽取模型大多采用异构神经网络模型进行建模,其训练数据样式、训练任务方式差距较大,预训练语义特征捕获能力差,小样本学习能力不足,在多领域落地上带来较大挑战。
随着LLM技术的发展,生成式信息抽取获得了巨大的发展,生成式信息抽取主要基于生成式自然语言模型进行信息抽取信息预测,通过对预测信息解析,构建结构化的信息预测结果,实现信息抽取能力。Xie等人[12]提出了一种无需训练的自我提升框架,该框架利用LLM对未标记语料库进行预测以获取伪示例,从而增强LLM在零样本命名实体识别任务上的性能。Li [13]等人针对预定义的关系类型数量庞大且LLM不可控问题,提出将LLM与自然语言推断模块相结合,用于生成关系三元组,以此增强文档级关系数据集。Lei [14]等人考虑到扩展上下文中不同参数之间的相互关系,使用文本扩散模型创建了多种上下文感知的提示表示,通过识别多个特定角色的参数跨度查询并协调它们与上下文,增强了句子级别和文档级别的事件参数提取。从当前主流的研究方向可以看出,当前大多数方法基于大模型微调模式,但采用全量参数的SFT [15]或者LORA [16]等训练方式,再给模型带来灾难性遗忘的同时,在算力资源受限的场景以及抽取任务迭代要求迅捷的场景,也会形成新的落地屏障。
针对以上问题,本文提出了一种基于提示增强的LLM信息抽取算法,结合LLM的语义理解以及文本生成能力,实现实体抽取[17]、关系抽取[18]、事件抽取[19]统一抽取框架设计,同时,基于提示增强、思维链构建以及小样本提示等能力,提升信息抽取的能力。实验结果表明,本文提出的方法在少样本标注需求下,可以大幅度提升了领域信息抽取的效果,充分证明了方法的有效性,下面将详细介绍该技术。
3. 基于提示增强的LLM信息抽取算法
本文提出了一种基于提示增强的LLM信息抽取算法(LLM-IE Algorithm Based on Prompt Enhancement),通过将文本信息抽取任务转化为文本生成任务,并基于生成文本进行结构化解析,形成文本信息抽取能力,其信息抽取算法流程如图1所示。
Figure 1. The information extraction algorithm process of large language models based on prompt enhancement and chain-of-thought
图1. 基于提示增强以及思维链分析的大语言模型的信息抽取算法流程
本文算法整体流程如图1所示,首先,通过对文本进行类型检测动态提示构建,生成类型检测提示词,基于LLM提示推理获得文本类型检测结果;其次,基于文本类型检测标签,动态加载文本包含的标签定义集合,再基于小样本提示进行文本信息抽取任务提示词构建,并通过LLM预测获得信息抽取结果,最后通过抽取结果的格式解析,形成文本信息抽取结构化数据结果。
下面将详细介绍基于提示增强的大语言模型的信息抽取算法的核心步骤以及实现方案。首先,将介绍如何对信息抽取标签进行建模,用于描述信息抽取任务;其次介绍LLM动态提示推理,介绍如何进行动态提示词构建,以及如何通过文本特征化模型如何进行语义特征对齐,构建小样本动态提示进行提示推理;最后将对文本类型检测、信息抽取进行详细介绍。
3.1. 信息抽取标签建模
本文提出的算法中定义信息抽取任务分为:实体抽取(Named Entity Recognition),关系抽取(Relation Extraction),事件抽取(Event Extraction)三种任务。实体抽取在这里定义:检测实体边界,并识别出其类型。关系抽取在这里定义:是指检测出头实体、尾实体的边界与类型,判别出头实体与尾实体之间的关系类型。事件抽取在这里的定义:识别出事件类型,并基于事件类型从文本中识别在事件中扮演特定角色的论元。针对这三类任务,我们对标签描述形式进行定义,定义文本类型标签Tagtext、实体类型标签Tagentity、关系类型标签Tagrelation、关系实体类型标签Tagrelation_entity、事件类型标签Tagevent、事件角色标签Tagevent_role。
文本类型标签集合定义为{Tagtext1, Tagtext2, ∙∙∙},其中集合内的每个标签代表一个文本类别;实体类型标签集合定义为{Tagtext1: {Tagentity1a, Tagentity1b}, Tagtext2: {Tagentity2a, Tagentity2b, Tagentity2c} ∙∙∙},其中,定义每类文本标签Tagtext,其包含不同实体标签Tagentity;关系类型标签集合定义为{Tagtext1: [{Tagrelation_entity1, Tagentity1a, Tagentity1b}, {Tagrelation_entity2, Tagentity2a, Tagentity2b}, ∙∙∙] ∙∙∙},其中,定义每类文本标签Tagtext,其包含不同实体关系标签Tagrelation_entity以及首尾实体Tagentity;事件类型标签集合定义{Tagtext1: [{Tagevent1: {Tagevent_role1, Tagevent_role2, Tagevent_role3}}, ∙∙∙] ∙∙∙},其中,定义每类文本标签Tagtext,其包含不同事件类型标签Tagevent_role以及不同事件类型标签对应的事件角色标签Tagevent_role。基于以上定义,实现对实体抽取、关系抽取、事件抽取三类任务的标签定义,支撑后续信息提取任务。
3.2. LLM动态提示推理
本文提出的信息抽取算法,主要采用LLM动态提示推理进行文本类型检测以及信息抽取任务的执行。其中,本文的算法中提示词动态构建主要采用两种模式,一是基于标签的动态生成,二是基于语义的特征样本召回。
基于标签的动态生成是通过对不同类型的文本进行类型标签、抽取标签的定义,通过LLM思维链[20]推理,实时推理出文本的标签信息,基于不同的标签类型,动态加载对应标签信息生成提示词。
基于语义的特征样本召回,是采用语义相似计算进行小样本样例动态构建。通过对文本(text)进行Embedding,以及样本Examtext进行Embedding达成在语义向量空间统一建模,基于语义相似计算,采集每类标签中与文本(text)语义相似度最高的数据,动态构建样本样例,提升样本样例在当前文本语义空间的区分度。其中,语义相似度计算公式如下:
VECtext为文本特征向量,VECexam为样本特征向量,Sim为语义相似度计算结果。
其中,本文算法中采用的文本特征化模型是基于非对称encoder-decoder结构RetroMAE模型架构的BGE文本Embedding模型,进行文本向量化建模。BGE模型在本文算法中,主要通过语义空间对齐,支撑文本类型检测与小样本提取中的样本样例提示,构建动态few-shot learning小样本集合。基于上述任务,BGE模型微调采用对比学习[21]进行微调。其中,定义样本三元组(q, p, q'),q、p为两篇语义一致的正样本,q、q'为负样本,对于q样本采用指令提示进行构建,优化其在对应指令上的任务表现,构建公式如下:
其中,qt为原文信息,It为指令信息。模型微调采用对比学习微调,公式如下:
其中,q、p、q'为样本三元组信息,δ为学习温度参数。通过指令数据的对比学习微调,强化Embedding模型在各任务领域的文本语义对齐能力,支撑动态prompt的构建与增强。
3.3. 文本类型检测
文本类型检测任务中,采用小样本上下文学习的方式,通过语义的特征样本召回动态构建prompt,实现文本类型检测的动态提示词生成,基于LLM的提示推理能力,达成文本类型检测任务。文本类型检测prompt构建包括:语义角色(role)、任务(mission)、要求(require)、标签集合(tag)、样本样例(example),文本(text)。其中,语义角色(role)定义为文本分类器;任务(mission)定义为文本分类任务;要求(require)定义为按照原文内容依据标签描述进行文本标签分类输出;标签描述集合(tag)定义包括文本类型标签Tagtext以及针对每类文本定义文本描述Destext构建标签描述集合tag = {Tagtext1: Destext2, Tagtext2: Destext2, ∙∙∙};样本样例(example)定义包括文本类型标签Tagtext以及针对每类文本定义文本样例Examtext构建样本样例example = {Tagtext1: Examtext1, Tagtext2: Examtext2, ∙∙∙};文本(text)定义为待预测文本信息。
其中,样本样例构建阶段,通过语义的特征样本召回,将待预测文本中与每类标签类型最相似的文本通过语义向量比对进行召回,实现动态构建prompt。最终通过基于LLM对prompt进行推理预测,实现对待预测文本的文本类型检测结果生成,完成文本类型检测任务。
3.4. 信息抽取
信息提取任务中,通过标签的动态生成结合语义的特征样本召回,实现对应抽取任务的提示词构建。信息抽取prompt构建包括:语义角色(role)、任务(mission)、要求(require)、标签集合(tag)、样本样例(example),文本(text)。其中,语义角色(role)定义为信息抽取工具;任务(mission)定义为信息抽取任务;要求(require)定义按照规定的格式进行信息抽取并输出结果;标签集合(tag)为待抽取的实体标签、关系标签以及事件标签;样本样例(example)定义为近似文本对应的实体、关系、事件抽取结果信息;文本(text)定义为待预测文本信息。
其中,标签集合构建阶段,通过标签的动态生成技术实现,基于文本类型检测结果,动态加载对应文本类型的信息抽取标签,进行对应抽取任务的提示词构建。样本样例构建阶段,通过语义的特征样本召回实现,基于文本特征化模型进行语义相似比对结果,加载与待预测文本语义近似最高并且文本类型标签一致的抽取标注数据进行prompt的动态构建,实现动态提示词构建。最终通过基于LLM的prompt推理,实现对待预测文本的信息抽取,生成信息抽取标签,完成信息抽取任务。
4. 实验
4.1. 数据集
本文采用的数据集为自筹数据集合,其中数据来源于包括:腾讯新闻、网易新闻、新浪微博等主流新闻门户网站以及社交网络数据,通过开源数据采集、数据清洗、形成实体关系标注数据集以及事件标注数据集。
实体关系标注数据集中,总共标注了353篇文本数据。其中,实体标注信息包含12类实体标签,包括:国家、组织机构、职务、人物、时间、地点、经纬度、高度、速度、社交账号名、武器装备、网站等不同类型的实体标签,共计2921实体标注标签数据;关系标注信息包含7类关系标签,包括:人物会见、人物通联、人物所属组织、人物所属职务、人物社交账号名、人物所在地点、人物所属国家等不同类型的关系标签,共计1289关系标注标签数据。事件标注数据集中,总共标注了372篇文本数据。其中,事件标注数据包含8类事件标签,包括:会议事件、演习事件、会见事件、发布事件、军事攻击事件等事件标签,共计1481条事件标注数据。具体分布如下图2所示:
Figure 2. Annotated data situation
图2. 标注数据情况
4.2. 评估指标
本文在信息抽取任务采用的评价指标主要采用3个指标,Precision (准确率)、Recall (召回率)以及F1。其中,定义信息抽取任务中预测正确的结果数为NPrecision,定义信息抽取任务中标注的结果数为TotalPrecision,定义信息抽取任务中预测的结果数为NPredict。其具体计算公式如下所示:
5. 实验结果与分析
5.1. 模型实验结果
针对本文提出的LLM-IE Algorithm Based on Prompt Enhancement算法,模型实验将针对基座模型的规模学习方式对比以及提示增强的效果比对方面综合比较算法框架在生成式抽取上的能力。
首先,在数据的验证准备上,采用事件抽取数据集进行验证,因为事件抽取任务中事件论元的提取以及论元间关系的推理,隐式包含了实体抽取以及关系抽取任务的能力,通过事件抽取数据集上的实验可综合验证信息抽取算法的抽取能力。其中,随机采样10%的数据作为训练数据或知识数据,支撑抽取模型以及抽取框架的知识注入学习,另外90%的数据作为验证数据进行模型能力验证。
基座模型的规模学习方式对比,主要针对信息抽取在LLM不同规模基座模型上的能力进行对比。其中,基座模型采用Qwen系列的大语言模型,模型参数量分别为7B、14B、72B,在不同参数量的模型上进行测试。测试主要对比不同参数量以及不同知识注入方式下抽取能力的对比,在知识注入方式上,一种是本文在算法框架中提出的动态提示推理模式,通过样本提示以及思维链动态构建进行知识注入,另一种是监督学习,基于问答对样本知识采用LORA训练的方式进行训练微调达成知识注入。实验验证时,由于受机器资源影响,没有对72B模型LORA做全面抽取能力测试。现有对比结果如下图3所示,Y轴为事件抽取的F1值,可以看出,监督学习LORA的方式在模型参数量越小时,相较于提示增强(Prompt Enhancement)的方式提升更高。随着参数量的增加,模型的上下文语言能力大幅度提升,信息抽取的效果也大幅度提升。同时,随着模型参数的体量增加,小样本的LORA微调与提示增强(Prompt Enhancement)的效果进一步逼近。由此可以看出,随着基线模型语义理解能力增强,小样本的LORA与提示增强(Prompt Enhancement)的效果将趋于一致,LLM-IE Algorithm Based on Prompt Enhancement在标注资源受限情况下可以达到与LORA近乎一致的能力,大幅度减少GPU资源的需求。
Figure 3. Results of model scale experiment
图3. 模型规模实验结果
Figure 4. Comparison results of model prompt
图4. 模型提示工程对比结果
提示增强的效果比对,主要针对信息抽取在不同提示增强(Prompt Enhancement)策略中的效果对比。其中,基座模型采用Qwen系列的大语言模型,模型参数量采用72B。测试主要对比不同提示增强(Prompt Enhancement)策略对信息抽取能力的影响。其中,提示增强分别采用两种策略,Dynamic Prompt为本文采用的提示增强策略;Fixed Prompt为静态的提示增强策略即提示词中包含所有需要抽取的标签要素信息,同时,不再采用向量搜索进行相似样本的检索提示拼接,整个提示工程为固定的提示词信息。对比结果如下图4所示,Dynamic Prompt相较于Fixed Prompt在准确率、召回率上均有一定提升。根据具体实验过程,首先,是由于Dynamic Prompt相较于Fixed Prompt可以更精准的缩小抽取要素信息的范围,以便模型更加准确的得知具体抽取要素,达成更好的效果。其次,基于向量搜索进行相似样本的检索提示拼接,可以更好的实现模型思维链构建,使得模型在结构化、标准化输出能力以及相似语义信息的抽取理解能力上进一步提高,提升抽取效果。
5.2. 对比实验结果
信息抽取任务在数据集上的测试主要是针对小样本的分析处理的场景,类似RNN、LSTM、CNN等架构的深度学习任务模型框架的技术以及基于BERT及其变种模型的判决式信息抽取模型框架均对小样本学习能力较差。在实验对比初期进行实验验证后,由于能力差距过大,实验对比没有意义。故本次对比实验主要对比本文提出的基于提示增强的LLM信息抽取算法以及UIE信息抽取模型[22]的抽取能力。其中,UIE抽取模型在2022年由百度和中科院软件所共同提出,其作为一种通用信息抽取技术,通过多任务统一信息抽取结构实现通用的信息抽取能力,同时,其在小样本学习以及零样本推理中具有较强能力。
Figure 5. Comparison results of model experiment
图5. 比对模型实验结果
信息抽取任务在数据集上的比对实验结果如下图5所示,主要针对实体抽取任务、关系抽取任务、事件抽取任务进行评测,其中每类任务随机采样10%的数据作为训练数据或知识数据,支撑抽取模型以及抽取框架的知识注入学习,另外90%的数据作为验证数据进行模型能力验证。其中,UIE采用的模型基座为百度公司开源的UIE-base模型,LLM-IE Algorithm Based on Prompt Enhancement模型基座为Qwen72b大语言模型。通过实验对比可以看出,在实体抽取任务上,鉴于其任务的标签定义清晰并且任务相对简单,在仅10%数据小样本的学习情况下,两种算法框架实体抽取F1值均可达到60%以上,LLM-IE Algorithm Based on Prompt Enhancement较UIE有部分的能力提升。在关系抽取任务、事件抽取上,由于关系以及事件的定义领域差别性以及标注人员的个人主观性较强,同时这两类信息抽取复杂度更高,不仅需要抽取出对应的关系实体以及事件论元,还要将对应关系实体、事件论元进行要素组装以及类别推理形成关系抽取结果以及事件抽取结果。通过关系、事件抽取任务比对实验,UIE抽取模型框架其F1值均无法达到30%,LLM-IE Algorithm Based on Prompt Enhancement信息抽取框架F1值可达到50%以上,同时,LLM-IE Algorithm Based on Prompt Enhancement相较于UIE在抽取任务上F1值有较大幅度提升。通过比对实验分析可得,样本资源受限的情况下,针对难度越高的任务,LLM-IE Algorithm Based on Prompt Enhancement抽取模型框架比UIE抽取模型具有更大的效果提升空间。
6. 结束语
本文提出的LLM-IE Algorithm Based on Prompt Enhancement信息抽取算法框架,通过实验可以看出随着大语言模型的参数体量以及语言理解能力的升级,小样本的提升增强可以达到近似模型训练微调的能力。基于大模型的生成式抽取能力相较于非生成式抽取模型在上下文的理解、复杂抽取任务的理解上均有较大提升,通过动态提示工程学习的模式,减少了模型训练代价,为低服务资源、低样本资源环境下信息结构化提取提供了相关解决方案的参考。下一步将在更大参数量的模型上进行验证,检验此方法信息抽取能力的上限,同时后续还将开展将此能力进行知识蒸馏到较小参数模型上,为边缘端通用生成式信息抽取推理赋能。