System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及人工智能,尤其涉及一种命名实体识别方法和装置。
技术介绍
1、命名实体识别(named entity recognition,ner)作为自然语言处理中的一项基本任务,它需要从一段文本中预测一组出具有特定意义的实体,如人名、地名、组织机构名等。ner可以帮助计算机理解自然语言文本,并提取其中的关键信息,是信息提取、问答系统、句法分析、机器翻译等应用领域的重要基础工具,在自然语言处理技术走向实用化的过程中占有重要的地位。嵌套实体是指在ner任务中,存在一个实体包含了另一个实体。嵌套实体在ner任务中是一个常见的问题,因为一个实体可以包含多个子实体,这通常需要使用复杂的算法和技术,识别出嵌套的命名实体,并确定每个实体的边界和类型。最近,基于span(片段)的模型在ner研究中获得了广泛的欢迎,并取得了最先进的(sota)结果。该类模型能区分实体span(即正例子)和非实体span(即负例子)。即,在序列中,枚举序列中所有可能的span,并将枚举出来的span分类为预定义实体类别或一个额外的非实体类别,从而缓解嵌套实体问题。对基于span的ner来说,构建良好的span表示是至关重要的。然而,现有模型构建span表示通常通过聚合模型顶部或者底部的token(字符)表示,例如,在序列维度上只聚合开始和结束字符级表示生成span表示。在这种聚合分类过程中,会损害模型捕获长span信息的能力。其次当span属于嵌套实体时,将会导致与结构中嵌套的span表示因共享token表示而产生耦合。
技术实现思
1、有鉴于此,本专利技术实施例提供一种命名实体识别方法和装置,能够提高模型捕获长片段信息的能力,并产生更为丰富的上下文语义的片段表示。
2、为实现上述目的,根据本专利技术的一个方面,提供了一种命名实体识别方法。
3、本专利技术实施例的命名实体识别方法包括:收集训练文本语料;对所述训练文本语料进行预处理,生成字符级序列;获取预先标注的、所述训练文本语料的实体标签;其中,所述实体标签包括所述字符级序列中各实体的起始位置和结束位置的真实标签、以及各实体的实体类型的真实标签;将所述字符级序列输入预先建立的实体识别网络中的词嵌入层,得到蕴含片段位置信息的字符特征向量;将所述字符特征向量输入所述实体识别网络中的第一转换器transformer编码层,生成包含上下文语义的字符表示向量;将所述字符特征向量通过所述实体识别网络中的第二transformer编码层进行聚合计算,生成包含深层语义的片段表示向量;基于所述片段表示向量与所述实体标签构建损失函数来训练所述实体识别网络;将新文本序列输入训练完成的所述实体识别网络,由所述实体识别网络输出所述新文本序列中的命名实体。
4、可选地,所述将所述字符级序列输入预先建立的实体识别网络中的词嵌入层,得到蕴含片段位置信息的字符特征向量,包括:将所述字符级序列输入所述词嵌入层并融合字符的位置信息,得到所述字符特征向量其中d表示向量维度,t表示序列长度,表示实数集。
5、可选地,所述将所述字符特征向量输入所述实体识别网络中的第一转换器transformer编码层,生成包含上下文语义的字符表示向量,包括:将所述字符特征向量输入第一transformer编码层中,执行以下计算:
6、hl=trblock(hl-1,hl-1,hl-1)
7、其中,第一transformer编码层包括l个依次连接的编码模块,l为第一transformer编码层中的编码模块序号,trblock(q,k,v)表示第一transformer编码层的一个编码模块,q表示编码模块的查询,k表示编码模块的键,v表示编码模块的值,hl-1为当前编码模块的输入,hl为当前编码模块的输出。
8、可选地,所述将所述字符特征向量通过所述实体识别网络中的第二transformer编码层进行聚合计算,生成包含深层语义的片段表示向量,包括:将所述字符特征向量融入片段位置信息,通过以下公式得到初始化片段向量
9、
10、其中,k表示片段包含的字符数量;i为字符序号,表示s0,k的第i个向量,对应的片段位置为(i,i+k);为向量集合,包括h0从位置i的片段向量到位置i+k-1的片段向量之间的向量,aggregating()表示浅层聚合函数;将得到的s0,k输入第二transformer编码层,计算所述片段表示向量。
11、可选地,所述将得到的s0,k输入第二transformer编码层,计算所述片段表示向量,包括:对第二transformer编码层的每个编码模块,执行以下计算:
12、
13、其中,spantrblock(q,k,v)表示第二transformer编码层的一个编码模块,为当前编码模块输出的片段表示向量,为上一编码模块输出的片段表示向量,为中的字符表示向量;基于具有l个编码模块的第二transformer编码层得到输出的片段表示向量sl,k。
14、可选地,所述基于所述片段表示向量与所述实体标签构建损失函数来训练所述实体识别网络,包括:将sl,k通过以下计算降维得到降维向量zij:
15、
16、其中,fnn为前馈神经网络的计算函数,j表示序号,是对应于j-i的片段表示向量,wj-i表示大小为(j-i)的可学习矩阵,表示连接操作;将得到的zij输入到softmax层进行以下计算,得到相应片段的实体类型预测概率
17、
18、其中,w为参数矩阵,b表示可学习参数;在训练过程中,给定真实标签yij,通过优化所有片段的交叉熵损失来进行训练;所述损失函数为:
19、
20、其中,l表示所述损失函数,t表示转置。
21、可选地,第一transformer编码层和第二transformer编码层具有相同结构,包括第一子层和第二子层,第一子层由多头自注意力单元、规范化单元及残差单元组成,第二子层由前馈单元、规范化单元和残差单元组成。
22、为实现上述目的,根据本专利技术的另一方面,提供了一种命名实体识别装置。
23、本专利技术实施例的命名实体识别装置包括:准备单元,用于收集训练文本语料;对所述训练文本语料进行预处理,生成字符级序列;获取预先标注的、所述训练文本语料的实体标签;其中,所述实体标签包括所述字符级序列中各实体的起始位置和结束位置的真实标签、以及各实体的实体类型的真实标签;第一编码单元,用于将所述字符级序列输入预先建立的实体识别网络中的词嵌入层,得到蕴含片段位置信息的字符特征向量;第二编码单元,用于将所述字符特征向量输入所述实体识别网络中的第一转换器transformer编码层,生成包含上下文语义的字符表示向量;第三编码单元,用于将所述字符特征向量通过所述实体识别网络中的第二transformer编码层进行聚合计算,生成包含深层语义的片段表示向量;损失构建单元,用于基于所述片段表示向量与所述实体标签构本文档来自技高网...
【技术保护点】
1.一种命名实体识别方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述将所述字符级序列输入预先建立的实体识别网络中的词嵌入层,得到蕴含片段位置信息的字符特征向量,包括:
3.根据权利要求2所述的方法,其特征在于,所述将所述字符特征向量输入所述实体识别网络中的第一转换器Transformer编码层,生成包含上下文语义的字符表示向量,包括:
4.根据权利要求3所述的方法,其特征在于,所述将所述字符特征向量通过所述实体识别网络中的第二Transformer编码层进行聚合计算,生成包含深层语义的片段表示向量,包括:
5.根据权利要求4所述的方法,其特征在于,所述将得到的S0,k输入第二Transformer编码层,计算所述片段表示向量,包括:
6.根据权利要求5所述的方法,其特征在于,所述基于所述片段表示向量与所述实体标签构建损失函数来训练所述实体识别网络,包括:
7.根据权利要求5所述的方法,其特征在于,第一Transformer编码层和第二Transformer编码层具有相同结构,包括第一子
8.一种命名实体识别装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1-7中任一项所述的方法。
...【技术特征摘要】
1.一种命名实体识别方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述将所述字符级序列输入预先建立的实体识别网络中的词嵌入层,得到蕴含片段位置信息的字符特征向量,包括:
3.根据权利要求2所述的方法,其特征在于,所述将所述字符特征向量输入所述实体识别网络中的第一转换器transformer编码层,生成包含上下文语义的字符表示向量,包括:
4.根据权利要求3所述的方法,其特征在于,所述将所述字符特征向量通过所述实体识别网络中的第二transformer编码层进行聚合计算,生成包含深层语义的片段表示向量,包括:
5.根据权利要求4所述的方法,其特征在于,所述将得到的s0,k输入第二transformer编码层,计算所述片段...
【专利技术属性】
技术研发人员:朱恩伟,刘奕洋,李劲鹏,
申请(专利权)人:国科宁波生命与健康产业研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。