本技术涉及计算机领域,尤其涉及一种基于大语言模型的命名实体识别方法及设备。
背景技术:
1、命名实体识别(named entity recognition,简称ner)是自然语言处理(nlp)领域的一项重要任务,其目标是从文本中识别出具有特定意义的命名实体,如人名、地名、组织机构名等。ner对于信息提取、问答系统、机器翻译等应用具有重要意义,因为它能够帮助计算机理解文本中实体的上下文关系和语义信息。
2、目前,主流的命名实体识别方法主要包含三种技术路线,分别为基于规则的方法、基于统计模型的方法、基于深度学习的方法。
3、其中,基于规则的方法通过事先定义的规则、词典或模式来识别实体。这种方法适用于一些特定领域或语言,尤其是当实体有明显的模式和规律时可以取得较高的精度。但是这种方法通常是为特定领域或任务手工设计的,缺乏泛化性,当面对新领域或多样化的语境时,需要不断更新和扩展规则,维护成本较高。
4、基于统计模型的方法在命名实体识别中利用统计学原理对文本序列进行建模,以捕捉实体出现的概率分布和上下文关系;其中,隐马尔可夫模型(hmm)、条件随机场(crf)和最大熵模型(maxent)是代表性的统计模型。hmm通过考虑状态转移概率对序列进行标注,crf则在全局范围内优化标注序列,而maxent则通过最大化熵来学习实体识别模型。这些方法相对于基于规则的方法具备较好的通用性。但是,基于统计模型的方法存在处理长距离依赖困难和特征工程复杂问题,统计模型在处理长距离依赖时可能表现不佳,尤其是在序列标注任务中,模型可能难以捕捉到远距离的上下文信息。在使用统计模型时,需要仔细设计和选择特征,这通常需要领域专业知识和经验。
5、基于传统的深度学习的命名实体识别方法,利用神经网络模型进行特征学习,这些模型包括传统的循环神经网络(rnn)、改进的长短时记忆网络(lstm)、双向长短时记忆网络(bilstm),以及预训练语言模型。这些网络能够自动捕捉输入文本中的语义和上下文信息,从而提高对命名实体的识别准确性。其中,rnn通过递归地处理序列数据,lstm则通过引入门控机制来更有效地处理长距离依赖。bilstm通过同时考虑前向和后向的上下文信息,弥补了传统rnn对于序列中远距离关系建模的不足。基于预训练语言模型的命名实体识别方法的核心思想是使用在大规模无监督语料上进行的预训练模型,通过学习丰富的语言表示,包括单词之间的语义关系和上下文信息。bert是其中一种成功的预训练模型,其双向注意力机制允许模型在考虑一个单词时同时利用其前后上下文,更好地捕捉单词之间的关联。在应用于命名实体识别任务时,预训练语言模型可以通过微调阶段进行特定领域或任务的定制。微调的过程中,模型接收有标签的命名实体识别数据,通过调整其参数,使其适应于特定任务的要求。由于预训练模型已经学到了通用的语言表示,这种方法能够在相对较小的标注数据集上取得较好的性能,尤其在缺乏大量标注数据的领域。虽然传统深度学习在命名实体识别方面取得了一定的进展,但是其仍然存在以下难以解决得问题:
6、1)大量标注数据需求:深度学习方法通常需要大量标注数据进行训练,而在某些领域,获取大规模标注数据可能是昂贵且耗时的。
7、2)模型较为简单:传统深度学习方法的参数量一般较少,所能蕴含的信息有限,因此,对于稍微复杂的任务,能力会表现一般。
8、3)无法处理长文本:预训练语言模型的输入通常有长度限制,这可能导致对于长文本的处理存在一定的限制,在处理超过模型最大输入长度的文本时,需要采取截断、切分等处理,可能会影响模型的性能。
技术实现思路
1、本技术的一个目的是提供一种基于大语言模型的命名实体识别方法及设备,解决现有技术中缺乏泛化性、处理长距离依赖困难、特征工程复杂、需要大量标注数据及无法处理长文本的问题。
2、根据本技术的一个方面,提供了一种基于大语言模型的命名实体识别方法,该方法包括:
3、对待训练文本进行数据清洗,对清洗后的数据进行数据增强,得到目标数据;
4、将lora结构融入到大语言模型llama模型中,得到新的大语言模型;
5、使用目标数据对所述新的大语言模型进行训练,得到目标模型;
6、使用所述目标模型从文本中抽取出目标实体。
7、可选地,对待训练文本进行数据清洗,包括:
8、基于python去除待训练文本中的噪音数据,基于正规则表达式及规则对去除噪音后的文本进行处理,得到清洗后的数据。
9、可选地,对清洗后的数据进行数据增强,包括:
10、步骤a,对清洗后的数据进行同义词替换;
11、步骤b,对清洗后的数据进行多语言转换;
12、步骤c,对清洗后的数据进行gpt4转换;
13、将上述步骤a至c重复多次,生成多个不同的语料,得到目标数据。
14、可选地,将lora结构融入到大语言模型llama模型中,包括:
15、在训练过程中保持llama 7b的所有参数的数值不变;
16、在原始的每个transformer块中添加两个lora适配器;
17、初始化每个lora适配器中的参数,并激活所有初始化后的参数,使其接受梯度更新,保存添加lora结构的llama模型。
18、可选地,初始化每个lora适配器中的参数,包括:
19、采用随机初始化的方法初始化每个lora适配器中的参数,其中,适配器中的参数包括一个维度为h×r的矩阵和r×h的矩阵,h为输入的维度,r为预先配置好的超参。
20、可选地,原始的每个transformer块包括自注意力层和前馈神经网络层,在原始的每个transformer块中添加两个lora适配器,包括:
21、将一个lora适配器添加在自注意力层后面,另一个lora适配器添加在前馈神经网络层后面。
22、可选地,使用目标数据对所述新的大语言模型进行训练,包括:
23、利用python将目标数据处理为符合训练格式的数据,得到目标格式数据;
24、将目标格式数据输入至新的大语言模型中,利用交叉熵损失函数计算所述新的大语言模型在目标格式数据下的损失;
25、将得到的损失在所述新的大语言模型中进行反向传播并更新所有激活后的参数。
26、根据本技术又一个方面,还提供了一种基于大语言模型的命名实体识别设备,所述设备包括:
27、一个或多个处理器;以及
28、存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述所述方法的操作。
29、根据本技术再一个方面,还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如前述所述的方法。
30、与现有技术相比,本技术通过对待训练文本进行数据清洗,对清洗后的数据进行数据增强,得到目标数据;将lora结构融入到大语言模型llama模型中,得到新的大语言模型;使用目标数据对所述新的大语言模型进行训练,得到目标模型;使用所述目标模型从文本中抽取出目标实体。从而解决了传统方法由于参数量和知识较少导致的效果不足的问题,并增加了训练数据,提升模型的效果,采用lora提升了模型的训练速度,并解决训练资源不足的问题。
1.一种基于大语言模型的命名实体识别方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,对待训练文本进行数据清洗,包括:
3.根据权利要求1或2所述的方法,其特征在于,对清洗后的数据进行数据增强,包括:
4.根据权利要求1所述的方法,其特征在于,将lora结构融入到大语言模型llama模型中,包括:
5.根据权利要求4所述的方法,其特征在于,初始化每个lora适配器中的参数,包括:
6.根据权利要求4所述的方法,其特征在于,原始的每个transformer块包括自注意力层和前馈神经网络层,在原始的每个transformer块中添加两个lora适配器,包括:
7.根据权利要求1所述的方法,其特征在于,使用目标数据对所述新的大语言模型进行训练,包括:
8.一种基于大语言模型的命名实体识别设备,其特征在于,所述设备包括:
9.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1至7中任一项所述的方法。
