首页> 中国专利> 一种改进BERT训练模型及一种命名实体识别方法、系统

一种改进BERT训练模型及一种命名实体识别方法、系统

摘要

本发明提出了一种改进BERT训练模型及一种命名实体识别方法、系统,该改进BERT训练模型包括传统BERT模型、强化位置编码层、分类层。强化位置编码层用于提取各字符任务向量中的位置向量,将位置向量与预设参数矩阵相乘,得到与第一语义特征向量维度相同的第二语义特征向量;将各字符对应的第一语义特征向量、第二语义特征向量按预设方法进行处理,得到各字符的位置编码注意力向量;分类层,用于将得到的位置编码注意力向量分别与第一语义特征向量相加,然后进行维度缩放、归一化处理后输出第三语义特征向量,并用预设标注规则对第三语义特征向量进行分类,确定命名实体标签。本发明强化了位置编码信息,能避免传统BERT训练模型在关系抽取、语义分析的错误。

著录项

  • 公开/公告号CN112560484A

    专利类型发明专利

  • 公开/公告日2021-03-26

    原文格式PDF

  • 申请/专利权人 武汉数博科技有限责任公司;

    申请/专利号CN202011240770.5

  • 发明设计人 王忠璐;刘健博;

    申请日2020-11-09

  • 分类号G06F40/295(20200101);G06F40/30(20200101);

  • 代理机构11635 北京思格颂知识产权代理有限公司;

  • 代理人吕露;杨超

  • 地址 430000 湖北省武汉市东湖新技术开发区光谷大道77号金融港A4栋6层01室

  • 入库时间 2023-06-19 10:24:22

说明书

技术领域

本发明涉及自然语言处理识别技术领域,特别涉及一种改进BERT训练模型及一种命名实体识别方法、系统。

背景技术

随着经济的发展,各行各业的新生事物逐渐增多,例如微博中的新生词汇、化学中合成的新的物质、汽车公司新出的车系、科技公司开发的软件应用等,这些新生词汇在自然语言中的表达出现多样性、歧义性、时效性的特征,因此需要一种中文文本的数据结构化处理方法,能自动提取文本中的命名实体,让其在海量文本数据中发挥应有的价值。准确提取命名实体的前提是进行准确的命名实体识别(Named Entity Recognition,简称NER),即指识别文本中具有特定意义的实体,主要包括人名、地名、公司名、时间、专有名词等。命名实体是文本中的细粒度元素,是重要的信息表达载体,是正确理解和处理文本信息的基础。中文命名实体识别是自然语言处理领域中的基本任务之一,其主要任务是识别出文本中出现的名字实体和有意义的短语并加以归类,命名实体识别准确率和召回率的高低,直接决定着关系抽取、语义分析等语言理解全过程的性能。

2018年底,谷歌发布的论文《Pre-training of Deep BidirectionalTransformers for Language Understanding》提出了BERT(Bidirectional EncoderRepresentations from Transformers)模型,作为Word2Vec(用来产生词向量的相关模型)的替代者,其使用了Transformer作为算法的主要框架,Transformer能更彻底的捕捉语句中的双向关系,本质上是通过在海量的语料的基础上运行自监督学习方法为单词学习一个好的特征表示。

然而实际应用中发现,经过多层的Transformer处理,基于BERT的预训练模型输出向量中的位置编码信息已经弱化,从而导致一些依赖位置特征的实体标签预测错误。例如句子“另据阿尔及利亚主要日报《祖国报》报道”,预测出的实体是<阿尔及利亚,国家>、<祖国报,游戏>,其中<祖国报>的正确标签应该是书籍而不是游戏。这个错误是因为数据集中很多游戏实体带书名号,模型过度地学习了前后书名号地特征,而没有学习到与前面国家标签的依赖关系。再如,根据BIO标注规则(B-Begin表示开始,I-Intermediate表示中间,O-other表示与标注无关),第一个位置标签应该为B或者O,但有时却被错误的标签为I。由此可见,如果不注意实体标签与句子中的相对位置、绝对位置,则容易出现关系抽取、语义分析的错误。

发明内容

鉴于上述问题,有必要提出一种改进BERT训练模型以解决或部分解决上述问题,本发明提出的技术方案如下:

本发明提出了一种改进BERT训练模型,所述改进BERT训练模型包括传统BERT模型、强化位置编码层,以及分别与传统BERT模型、强化位置编码层输出端连接的分类层,其中:

所述传统BERT模型包括输入层、若干Transformer层、输出层,所述输入层用于对输入的按字符切分的任务句子进行向量表示,生成与各字符对应的任务向量,所述任务向量至少包括字向量、位置向量;所述Transformer层用于训练任务向量得到第一语义特征向量,所述输出层用于输出第一语义特征向量;

所述强化位置编码层,用于提取各字符任务向量中的位置向量,并将位置向量与预设参数矩阵相乘,得到与第一语义特征向量维度相同的第二语义特征向量;将各字符对应的第一语义特征向量、第二语义特征向量按预设方法进行处理,得到各字符的位置编码注意力向量;

所述分类层,用于将得到的各字符的位置编码注意力向量分别与第一语义特征向量相加,然后进行维度缩放、归一化处理后输出与每个字符对应的第三语义特征向量,并用预设标注规则对第三语义特征向量进行分类,确定命名实体标签。

进一步的,所述强化位置编码层用于将各字符对应的第一语义特征向量、第二语义特征向量按预设方法进行处理,具体包括:

将每个字符对应的第二语义特征向量分别与任务句子中其它字符的第一语义特征向量进行相似度计算,得到若干相似度值α

对若干相似度值α

将相似度向量ɑ作为权重,分别乘以所有字符对应的第一语义特征向量,进行加权求和。

进一步的,相似度计算包括:余弦相似度法或简单神经网络法或矩阵变换法或点积缩放法。

进一步的,所述分类层用于将得到的各字符的位置编码注意力向量分别与第一语义特征向量相加,然后进行维度缩放包括:将得到的各字符的位置编码注意力向量分别与第一语义特征向量相加后乘以待训练参数矩阵,再加上一个偏置参数,保证生成的向量维度满足预设标注规则的标签数量。

第二方面,本发明还公开了一种命名实体识别方法,包括以下步骤:

S1,对输入的待预测文本进行预处理,得到按照字符进行切分的任务句子;

S2,分别利用上述改进BERT训练模型、预设规则进行命名实体识别,其中,所述改进BERT训练模型由若干带标注实体的句子训练而成;

S3,对识别的命名实体求并集,去除重复命名实体后输出。

第三方面,本发明还公开了一种命名实体识别系统,包括预处理模块、改进BERT训练模型抽取实体模块、预设规则抽取实体模块、候选实体库模块,其中:

所述预处理模块,用于对输入的待预测文本进行预处理,得到按照字符进行切分的任务句子;

所述改进BERT训练模型抽取实体模块,用于利用上述改进BERT训练模型进行命名实体识别,并输出给候选实体库模块;

所述预设规则抽取实体模块,用于利用预设规则进行命名实体识别,并输出给候选实体库模块;

所述候选实体库模块,用于对改进BERT训练模型抽取实体模块、预设规则抽取实体模块输入的命名实体求并集,去除重复命名实体后输出。

相比于现有技术,本发明的有益效果在于:本发明的改进BERT训练模型还包括强化位置编码层、分类层,强化位置编码层用于提取各字符任务向量中的位置向量,并将位置向量与预设参数矩阵相乘,得到与第一语义特征向量维度相同的第二语义特征向量;将各字符对应的第一语义特征向量、第二语义特征向量按预设方法进行处理,得到各字符的位置编码注意力向量;所述分类层,用于将得到的各字符的位置编码注意力向量分别与第一语义特征向量相加,然后进行维度缩放、归一化处理后输出与每个字符对应的第三语义特征向量,并用预设标注规则对第三语义特征向量进行分类,确定命名实体标签。本发明改进BERT训练模型得到了各字符的位置编码注意力向量,强化了位置编码信息,即更关注实体标签与句子中的相对位置、绝对位置的关联性、前后位置的依赖性,能避免传统BERT训练模型在后续应用中出行的关系抽取、语义分析的错误。

附图说明

图1是本发明实施例一中,一种改进BERT训练模型的简单结构示意图;

图2是本发明实施例一中,一种改进BERT训练模型内部结构详细示意图;

图3是本发明实施例一中,注意力机制的原理示意图;

图4是本发明实施例二中,一种命名实体识别方法的流程图;

图5是本发明实施例二中,句法依存结构示意图;

图6是本发明实施例三中,一种命名实体识别系统的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例一

本发明提出了一种改进BERT训练模型,如图1所示,所述改进BERT训练模型包括传统BERT模型10、强化位置编码层20,以及分别与传统BERT模型10、强化位置编码层20输出端连接的分类层30,其中,传统BERT模型10包括输入层11、若干Transformer层12、输出层13。

传统BERT模型10的输入层11又可称为嵌入层,用于对输入的按字符切分的任务句子进行向量表示,生成与各字符对应的任务向量,所述任务向量至少包括字向量、位置向量,理论上还包括段落向量。比如使用随机初始化的字嵌入对语句中的每个字符进行表示,对每个字符使用768维的嵌入向量进行表示,即生成词向量。对于位置向量(在本实施例中用PE表示)的初始化是基于正弦函数,

若干Transformer层12,本质上是连续相同的多头注意力,用于训练任务向量得到第一语义特征向量具体的。

注意力机制可以更直接地捕捉词与词之间的关系,从而使序列的编码更具整体性,更能代表整个序列的含义。为了更好的介绍注意力机制,可以将其高度抽象地映射为一个查询Query和一系列键值对发生相互作用后,得到注意力值的过程,如图3所示。具体为分别计算Query与Key

而多头注意力就是将多个注意力合并起来,对于第i个头,使用待训练的参数矩阵

由于位置编码信息弱化容易造成后续应用中关系抽取、语义分析的错误,因此改进BERT训练模型还包括强化位置编码层20、分类层30,其中:

强化位置编码层20用于强化位置编码信息,即更关注实体标签与句子中的相对位置、绝对位置的关联性、前后位置的依赖性。结合图2所示,具体的,由于位置向量PE的维度与传统BERT输出的第一语义特征向量B并不相同,因此强化位置编码层20需要提取各字符任务向量中的位置向量PE,并将位置向量PE与预设参数矩阵W

在一些实施例中,参照传统BERT模型10的注意力机制将第二语义特征向量PE W

位置编码注意力向量att=Attention(PEW

在一些实施例中,相似度计算可以采用的方法包括余弦相似度法

对若干相似度值α

命名实体识别本质是一个多分类任务,因此分类层30用于将得到的各字符的位置编码注意力向量分别与第一语义特征向量相加,然后进行维度缩放、归一化处理后输出与每个字符对应的第三语义特征向量,并对第三语义特征向量进行分类,确定命名实体标签。具体的:

分类层30包括全连接层31及归一化处理层32,全连接层31的输入为各字符的位置编码注意力向量与第一语义特征向量之和,可记为Bin=att+B,其维度等于BERT的输出维度,而全连接层31的输出维度应该等于预设标注规则对应的标签数量,因此需要进行维度缩放。由于全连接层31的每一个输出都可以看成前一层每个结点乘以一个权重系数W

另外,一般情况下,依然需要对输出向量进行归一化处理,以方便后续应用,在本实施例中归一化处理层32依然采用softmax函数。综上可知,第三语义特征向量Bout得到计算过程可以抽象为公式(2):

Bout=softmax(W

在一些实施例中,假设得到的第三语义特征向量为[0,0.9,0.1,0,0,…],则用预设的标注规则对其分类,比如利用BIO标注规则进行分类,则得到第二个标签B-Company,说明这个字属于公司实体。可以理解的,为了优化该改进BERT训练模型,优选利用大量已人工标注的数据训练。

现对BIO标注规则进行更详细的说明。在对句子中每个字进行标注(又称打标签)时,若不属于实体则标记“O”,若属于实体且为实体的第一个字则标记“B-实体名”,若属于实体且不为实体的第一个字标记“I-实体名”。以句子“小米发布了Note 10手机”为例,标记结果如表1所示。

表1

本实例公开的改进BERT训练模型还包括强化位置编码层20、分类层30,强化位置编码层20用于提取各字符任务向量中的位置向量,并将位置向量与预设参数矩阵相乘,得到与第一语义特征向量维度相同的第二语义特征向量;将各字符对应的第一语义特征向量、第二语义特征向量按预设方法进行处理,得到各字符的位置编码注意力向量;所述分类层30,用于将得到的各字符的位置编码注意力向量分别与第一语义特征向量相加,然后进行维度缩放、归一化处理后输出与每个字符对应的第三语义特征向量,并用预设BIO标注规则对第三语义特征向量进行分类,确定命名实体标签。改进BERT训练模型得到各字符的位置编码注意力向量,强化了位置编码信息,即更关注实体标签与句子中的相对位置、绝对位置的关联性、前后位置的依赖性,能避免传统BERT训练模型在后续应用中出行的关系抽取、语义分析的错误。

实施例二

本发明还公开了一种命名实体识别方法,需要利用实施例一中的改进BERT训练模型,结合图4所示,该命名实体识别方法包括以下步骤:

S1,对输入的待预测文本进行预处理,得到按照字符进行切分的任务句子。

具体的,预处理过程可以包括:文章切分,将一篇长文章切割为句子,之后处理均基于独立的句子;清除文本中多余的空格与生僻的标点符号、表情符号;校正并统一文本中的半角、全角字符,英文、中文标点符号;将每个句子按照字符进行切分。

S2,分别利用上述改进BERT训练模型、预设规则进行命名实体识别,其中,所述改进BERT训练模型由若干带标注实体的句子训练而成。

利用改进BERT训练模型进行命名实体识别的方法可以参考实施例一,在此不再赘述。利用预设规则进行命名实体识别可以包括:使用简单正则表达式抽取出文本中的书籍、时间、公司、产品等实体,比如找出文本中匹配出字母数字组合的部分,作为实体“专有名词”;找出文本中匹配出字母数字组合+品牌/厂家的部分,作为实体“公司”;找出文本中匹配出字母数字组合+系列/产品的部分,作为实体“产品”等等。

在一些实施例中,预设规则也可以包括根据句子的句法依存结构,找出一些特定结构的、符合某种规律的词语序列组合识别为实体。以“小米发布了Note10手机”为任务句子进行说明其句法依存结构如图5所示。显然“Note”做定语修饰手机,“10”做定语修饰手机,将此结构抽象化表示:

令i为句子中分词结果的序号,X

S3,对识别的命名实体求并集,去除重复命名实体后输出。

本实施例利用改进BERT训练模型、预设规则进行多种策略的命名实体识别,对识别的命名实体的结果求并集,命名实体识别准确性高。

在另一些实施例中,可能存在一种情况,比如改进BERT训练模型抽取了“布了Note10”作为实体词,而预设规则抽出了“Note 10手机”作为实体,两者并未重复,因此都会输出。显然这样的结果是有问题的,因此需要判断哪一个实体的可信度更高。

优选的,本实施例的命名实体识别方法还包括:

步骤S4,使用基于统计的分词方法判断S3输出的是否是实体,并将实体输出。

在一些实施例中,基于统计的分词方法主要采用马尔可夫假设的二元句法模型,比如对于以下两种分词方案:A1=小米/发布/了/Note 10手机,A2=小米/发/布了Note10/手机,依据马尔可夫假设的二元句法模型有以下两种概率:

P(A1)=P(小米|BOS)*P(发布|小米)*P(了|发布)*P(nz|了)*P(EOS|nz)

P(A2)=P(小米|BOS)*P(发|小米)*P(nz|发)*P(手机|nz)*P(EOS|手机)

由于“发”作为单字出现的次数极少,所以P(发|小米)接近于0,于是P(A2)

实施例三

与实施例二相对于,本发明还公开了一种命名实体识别系统,如图5所示,包括预处理模块41、改进BERT训练模型抽取实体模块42、预设规则抽取实体模块43、候选实体库模块44,其中:

所述预处理模块41,用于对输入的待预测文本进行预处理,得到按照字符进行切分的任务句子。

所述改进BERT训练模型抽取实体模块42,用于利用上述改进BERT训练模型进行命名实体识别,并输出给候选实体库模块44。该改进BERT训练模型抽取实体模块使用的改进BERT训练模型结构可参考实施例一,其由若干带标注实体的句子训练而成。

所述预设规则抽取实体模块43,用于利用预设规则进行命名实体识别,并输出给候选实体库模块44。

所述候选实体库模块44,用于对改进BERT训练模型抽取实体模块42、预设规则抽取实体模块43输入的命名实体求并集,去除重复命名实体后输出。

优选的,所述命名实体识别系统还包括分词模块45,用于基于统计的分词方法判断候选实体库模块输出的是否是实体,将实体输出。在一些实施例中,该分词模块45主要采用马尔可夫假设的二元句法模型。

该命名实体识别系统的工作流程可以参考实施例二,在此不再赘述。本实施例的命名实体识别系统利用改进BERT训练模型抽取实体模块、预设规则抽取实体模块进行多种策略的命名实体识别,对识别的命名实体的结果求并集,命名实体识别准确性高。在使用分词模块后,还能有效避免抽取实体词过短、过长、边界错误等问题,去除模型预测结果中的鲁棒性错误,命名实体识别准确性更高。

在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。

上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式级似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号