掌桥专利:专业的专利平台
掌桥专利
首页

一种融合字形信息的命名实体识别方法

文献发布时间:2023-06-19 11:22:42


一种融合字形信息的命名实体识别方法

技术领域

本发明涉及计算机人工智能技术领域,尤其涉及一种中文领域命名实体识别方法。

背景技术

近年来,互联网技术取得了蓬勃的发展,人类生产文字信息的速度相比以前也有了显著的增长,因此自然语言处理技术获得了前所未有的发展机遇。自然语言处理技术的目的是通过计算机自动理解人类语言的含义,帮助人们快速处理文本信息以及实现智能问答、智能检索、智能交互等众多技术。

命名实体识别(Named Entity Recognition,简称NER)是指识别文本中特定的实体,例如:人名、地名等。NER是各种自然语言应用(例如智能问答,文本摘要等)的基础。目前常用的名实体识别的方法主要有:基于词典和规则的方法、基于特征工程的机器学习方法与基于深度学习的方法。

基于字典的方法通过字符串模糊查找或者完全匹配,是最为简单可靠的方法。基于规则的方法根据实体特征和其常见搭配,人为制定规则集,需要领域专家编写规则,在不及人力成本且对可靠性要求高的情况下可以应用。其缺点在于规则编写费时费力,同时在规则数量增多时很容易发生规则冲突的现象。

基于特征工程的机器学习方法需要标注数据,同时一般结合精心设计的特征,常用的模型如HMM,决策树,最大熵模型,CRF等.常用的特征包含词级别特征(大小写,词的形态,词性标记),文档和语料特征(局部语法和共现)等。机器学习方法的性能往往取决于人工选择的特征的是否包含足够的信息且有区分度,这依赖于经验,需要大量的实验来寻找合适的特征集合。

深度学习是机器学习的一个类别,其特点在于使用网络结构自动提取特征,其优点在于泛化能力强。深度学习方法需要大量的标注数据用于训练模型,自动提取特征只追求模型整体性能最优而不管提取到的特征究竟有何含义,防止了人认识的局限性限制模型性能。

发明内容

本发明实施例提供一种中文领域命名实体识别方法及系统,用以解决现有技术中基于深度学习方法进行命名实体识别时,照搬应用于其他语言的命名实体识别模型,没有考虑到中文作为一种象形文字其字形中亦包含字义信息的特点的问题。此外中文命名实体识别方面标注语料缺乏,本发明实施例提供一种用于命名实体识别领域的数据扩增方法,利用计算机扩大标注数据量完成识别网络模型的训练,进而提高识别网络模型的识别精度。

第一方面,本发明实施例提供一种中文领域命名实体识别方法,主要包括:获取标注的文本数据;将文本数据输入至命名实体识别模型,根据命名实体识别模型的输出结果,获取与文本数据对应的命名实体识别结果;其中,命名实体识别模型是根据带有命名实体识别标签的训练数据集和扩增得到的数据集共同训练得到的。

作为可选地,将文本输入命名实体识别模型之前,对所述命名实体识别模型进行训练,主要包括以下步骤:

S11,对标注文本数据进行扩增,得到扩增后的标注文本数据;

S12,对扩增后的标注文本数据进行预处理,构建字符到数字的映射表char2id,标签到数字的映射表tag2id,然后将数据中的字符和标签依据char2id和tag2id转换为数字;

S13,把预处理后的标注数据分为训练集和测试集两部分;

S14,构建字符到字形信息的映射表char2dotcode,将字符到字形信息的映射表载入到命名实体识别模型中;

S15,把训练集数据输入命名实体识别模型进行迭代训练,训练时使用测试集检测模型的识别准确率及召回率,直到模型收敛或者达到最大的迭代次数即完成训练。

作为可选地,上述步骤S11包括但不限于以下步骤:

对每一个实体类型type[i],遍历整个训练集,依次将type[i]类型的实体加入相应列表list[type[i]]的尾部,并且将实体词替换为type[i]标记;然后将每一个list均进行随机打乱顺序操作;最后遍历训练集,对每一个type[i]标记的位置,从list[type[i]]头部取出一个词语回填替换到标记位置。需要多倍扩增数据的适合只需要重复上述过程即可。

作为可选地,命名实体识别模型是有监督学习模型,主要包括依次连接的嵌入层,卷积层(CNN层),双向长短时记忆网络层(Bi-LSTM)以及条件随机场(CRF)层。

作为可选地,嵌入层由两部分组合而成,一部分是一个常规的嵌入层,将字转换成向量;另一部分是以字形信息作为嵌入向量的参数不可变的嵌入层,两者的输出向量拼接得到最终的嵌入层结果。

作为可选地,卷积层的输入由N个字形嵌入向量组成,N为句子的长度,每个字形向量为256维度。在本实施例中,为了和常规嵌入层得到的128维向量拼接得到融合字形信息的嵌入向量,在卷积层中采用128个5*256的卷积核自动提取特征。对于每一个字符,卷积层的输出是由前述128个卷积核的卷积运算结果构成的128维向量。

作为可选地,双向长短时记忆网络层的输入是N个融合字形信息的嵌入向量组成,N为句子的长度。Bi-LSTM层通过提取句子正向和反向的特征,在每一个字符的位置得出一个概率分布,该分布表示这个字符属于每一种BIO标签的概率。

作为可选地,CRF层通过一个转移矩阵记录了任意两个标签同属于相邻两个字符的概率(称为转移概率),再综合Bi-LSTM层的输出的每个字符对应标签的概率(称为发射概率),得出一个出现概率最大的标签序列作为CRF层的输出,这个标签序列则完成了命名实体识别任务。

作为可选地,上述步骤S14包括但不限于以下步骤:

对于char2id中的每一个字,使用python中的Pillow库初始化一张16*16的图片img1,背景为白色,笔画为黑色,然后将字体大小设置为16并且打印在img1上,而后将这张图片的灰度值矩阵按行拼接成一个一维向量作为这个字的字形向量,存储到映射表char2dotcode内。然后将char2dotcode内的值赋值给命名实体识别模型的嵌入层的字形信息部分的参数中。

作为可选地,命名实体识别的结果可以包括人名、地名和机构名这三个类型。

第二方面,本发明实施例还提供一种中文领域的命名实体识别系统,主要包括获取中文文本数据,根据命名实体识别模型的输出结果获取与文本数据对应的命名实体识别结果;其中命名实体识别模型是个根据带有命名实体标签的数据集和扩增产生的带有命名实体标签的数据集训练得到的。

本发明实施例提供的中文领域命名实体识别方法及系统,利用一种结合字形信息与数据扩增技术的监督模型,实现中文领域的命名实体识别,解决了中文领域缺少标记数据、训练样本集构建困难的问题。有效的提升了模型训练和预测的能力,节省了人力财力。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种中文领域命名实体识别方法的流程示意图;

图2为本发明实施例采用的BIO标注方法的一个示例图;

图3为本发明实施例提供的一种用于中文领域命名实体识别的数据扩增方法的流程示意图;

图4为本发明实施例提供的一种中文字形信息编码方法的流程示意图;

图5为本发明实施例提供的命名实体识别模型结构示意图;

图6为本发明实施例的方法与基于Bi-LSTM-CRF的命名实体识别性能对比图;

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种中文领域命名实体识别方法,如图1所示,包括但不限于以下步骤:

步骤S1,获取中文文本数据;

步骤S2,根据命名实体识别模型的输出结果获取与文本数据对应的命名实体识别结果;其中命名实体识别模型是根据带有命名实体标签的数据集和扩增产生的带有命名实体标签的数据集训练得到的。

作为可选地,获取中文文本数据的方法,可以通过架设HTTP服务器,接受从用户端传来的文本数据;

在本发明的实施例中,预先构建一个命名实体识别模型,该模型是一个深度学习模型,能够对每个输入的文本数据进行特征提取后,输出与输入的文本数据相对应得命名实体识别结果,例如该文本数据中包含的人名、地名、机构名等,对此本发明不做具体限定。

需要说明的是,本发明实施例中用于进行命名实体识别的模型是预先训练好的,其训练步骤包括:

构建一个带有命名实体识别标签的文本数据集,其中带有命名实体识别标签的数据集中被预先设置了命名实体识别标签,每一条数据和其标注信息一一对应。

将上述标注的数据集,按照比例划分为训练集和测试集,比例可以采用8:2,也可根据实际情况采用其他比例,本实施例不做限制。

本发明实施例中提供了一种序列标注的方法,即BIO标注法。BIO标注法中B为实体的开头的字,I为实体中除开头以外的字,O表示不属于实体的字,对于不同类的实体,在B和I后加“-”和实体类别缩写表示区分。

例如图2所示,为采用BIO标记法对文本数据“今天,高盛公司宣布进行全球裁员。”进行序列标注后的结果。

进一步地,图3展示了本实施例提供的一种专用于命名实体识别的文本数据扩增的方法,可以将训练数据扩增一倍得到扩增后的训练集,该方法包括但不限于以下步骤:

S21首先根据本实施例的三种实体类型:人名、地名、机构名,初始化三个列表L[人名]、L[地名]、L[机构名];

S22顺序遍历训练数据集,将每一个命名实体添加到上述对应的列表尾部,同时把原句中的命名实体替换成实体类型标记<人名>、<地名>、<机构名>;、S23将前述三个列表分别打乱顺序;

S24最后,顺序遍历训练数据集,遇到实体类型标记则从对应列表中的头部取出一个命名实体并且替换掉该命名实体类型标记,同时从列表中删去该命名实体。

以上步骤S21-S24实现了命名实体识别训练数据集的一倍扩增,需要多倍扩增则仅需重复S21-S24多次即可,本实施例不做限制。

进一步地,对扩增后的标注文本数据进行预处理,构建字符到数字的映射表char2id,标签到数字的映射表tag2id,然后将数据中的字符和标签依据char2id和tag2id转换为数字得到数字化的训练集和测试集。构建字符到字形信息的映射表char2dotcode,本实施例提供一种获取字形信息向量的方法,包括但不限于以下步骤:

对于char2id中的每一个字,使用python中的Pillow库初始化一张16*16的图片img1,背景为白色,笔画为黑色,然后将字体大小设置为16并且打印在img1上,而后将这张图片的灰度值矩阵按行拼接成一个一维向量作为这个字的字形向量,存储到映射表char2dotcode内。然后将char2dotcode内的值赋值给命名实体识别模型的嵌入层的字形信息部分的参数中。

如图4所示,展示了本实施例提供的获取一个字符字形信息的流程的示意图。

基于上述实施例的内容,作为一种可选的实施例,本发明实施例提供的命名实体识别模型具体问一种监督学习模型,至少包括嵌入层,卷积层,双向LSTM层,和CRF层。

具体地,在如图5所示的模型结构的基础上,本发明实施例提供的命名实体识别方法,对命名实体识别模型进行训练以及利用该模型进行命名实体识别的步骤包括但不限于:

S31将扩增后数字化的训练集划分成许多batch,batch的大小可以设定为256;

S32使用python中的pytorch搭建图5所示的神经网络结构,将前述char2dotcode的所有向量构成的矩阵赋值给网络中的嵌入层的字形信息提取的模块,并且将参数设置成不可更新。

S33按照batch将训练集输入命名实体识别模型中,每一个batch运算完后,按照梯度下降法更新模型的参数,在所有batch输入完后,在将测试集输入模型,并且计算模型的准确率、召回率以及F1分数。

S34重复S33直到达到最大迭代次数或者模型的F1分数连续多个迭代过程没有上升;此处的最大迭代次数和F1分数连续不上升次数是人工选取的,本实施例中最大迭代次数定为50,F1分数连续不上升次数定为10次。

在完成模型训练工作之后,将文本数据获取单元获取到的文本数据输入到命名实体识别单元之后,则可以由命名实体识别单元输出对应的命名实体识别结果。

图6展示了本发明实施例提供的使用扩增数据训练的融合字形信息的Bi-LSTM-CRF命名实体识别模型和Bi-LSTM-CRF模型的性能对比。

本发明实施例提供的中文领域命名实体识别方法及系统,解决了中文命名实体识别缺少标注数据、没有充分利用字形信息的问题,有效提升了模型的预测能力,节约了人力物力。

另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的中文领域命名实体识别方法,该方法包括:获取中文文本数据,根据命名实体识别模型的输出结果获取与文本数据对应的命名实体识别结果;其中命名实体识别模型是个根据带有命名实体标签的数据集和扩增产生的带有命名实体标签的数据集训练得到的。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 一种融合字形信息的命名实体识别方法
  • 一种融合信息高级特征的命名实体识别方法
技术分类

06120112900303