中文命名实体识别方法及装置、介质、设备与流程

未命名 07-14 阅读:78 评论:0


1.本发明涉及命名实体识别技术领域,尤其是涉及一种中文命名实体识别方法及装置、介质、设备。


背景技术:

2.命名实体识别也称为实体识别、实体分块或实体提取,是自然语言处理领域中的一个重要研究方向,主要目标是定位给定文本中的命名实体并分类为预先定义的类别,如人物名、地名、组织机构名等实体。命名实体识别的研究方法有早期的基于规则和词典的方法、传统机器学习方法、深度学习方法和基于注意力机制方法。深度学习技术的发展使得命名实体识别在近年有很大的进步。
3.相较于英文命名实体识别,中文命名实体识别难度更大。因为中文并不能像英文那样自然切分,词边界非常模糊,造成了在分析文本前需要进行分词,然后将词级序列标注的模型应用于分词的句子。但是中文分词不可避免地会出现分词错误的情况,这将导致词边界和实体类别的预测上出现错误。因此,中文实体识别领域提出了直接使用单字符进行识别的方法,但是这种方法没有充分利用文本中的词信息,而这些词信息对于实体识别是非常重要的。
4.可见,如何充分挖掘中文文本中的词信息,充分利用文本结构特征,提高命名实体识别任务的准确率,是当前需要重视解决的问题。


技术实现要素:

5.针对以上至少一个技术问题,本发明实施例提供一种中文命名实体识别方法及装置、介质、设备。
6.根据第一方面,本发明实施例提供的中文命名实体识别方法,包括:
7.将实体描述信息和待识别文本拼接成文本序列;
8.根据所述文本序列,确定对应的单字符向量序列;其中,所述单字符向量序列中包括所述文本序列中每一个字符对应的字符向量;
9.对所述文本序列对应的字符串进行分词处理,将分词处理得到的各个词形成词序列,并根据所述词序列确定对应的词向量序列;其中,所述词向量序列中包括所述词序列中的每一个词对应的词向量;
10.将所述单字符向量序列和所述词向量序列进行融合处理,得到第一融合向量序列;
11.将所述单字符向量序列和所述第一融合向量序列分别进行非线性变换,并将非线性变换得到的两个序列进行融合处理,得到第二融合向量序列;
12.将所述第二融合向量序列输入至预先训练得到的实体识别模型中,得到所述待识别文本的实体识别结果。
13.根据第二方面,本发明实施例提供的中文命名实体识别装置,包括:
14.第一拼接模块,用于将实体描述信息和待识别文本拼接成文本序列;
15.第一确定模块,用于根据所述文本序列,确定对应的单字符向量序列;其中,所述单字符向量序列中包括所述文本序列中每一个字符对应的字符向量;
16.第二确定模块,用于对所述文本序列对应的字符串进行分词处理,将分词处理得到的各个词形成词序列,并根据所述词序列确定对应的词向量序列;其中,所述词向量序列中包括所述词序列中的每一个词对应的词向量;
17.第一融合模块,用于将所述单字符向量序列和所述词向量序列进行融合处理,得到第一融合向量序列;
18.第二融合模块,用于将所述单字符向量序列和所述第一融合向量序列分别进行非线性变换,并将非线性变换得到的两个序列进行融合处理,得到第二融合向量序列;
19.第一识别模块,用于将所述第二融合向量序列输入至预先训练得到的实体识别模型中,得到所述待识别文本的实体识别结果。
20.根据第三方面,本发明实施例提供计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行实现第一方面提供的方法。
21.根据第四方面,本发明实施例提供的计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面提供的方法。
22.本发明实施例提供的中文命名实体识别方法及装置、介质、设备,将实体描述信息和待识别文本拼接成文本序列;根据所述文本序列,确定对应的单字符向量序列;对所述文本序列对应的字符串进行分词处理,将分词处理得到的各个词形成词序列,并根据所述词序列确定对应的词向量序列;其中,所述词向量序列中包括所述词序列中的每一个词对应的词向量;将所述单字符向量序列和所述词向量序列进行融合处理,得到第一融合向量序列;将所述单字符向量序列和所述第一融合向量序列分别进行非线性变换,并将非线性变换得到的两个序列进行融合处理,得到第二融合向量序列;将所述第二融合向量序列输入至预先训练得到的实体识别模型中,得到所述待识别文本的实体识别结果。可见,在对文本进行编码时,不仅进行单个字符的向量化,而且对字符串先进行分词,然后对分词得到的词进行向量化,并将词向量和组成词的各个字符的字符向量进行融合,充分挖掘了文本中的单字和词的信息,充分利用了文本的结构特征,提升了命名实体识别的准确率。
附图说明
23.图1为本发明一实施例中中文命名实体识别方法的流程示意图。
具体实施方式
24.第一方面,本发明实施例提供一种中文命名实体识别方法,参见图1,该方法包括如下步骤s110~s160:
25.s110、将实体描述信息和待识别文本拼接成文本序列;
26.例如,待识别文本为"我们藏有一册1945年6月油印的《北京文物保存保管状态之调查报告》,调查范围涉及故宫、历博、古研所、北大清华图书馆、北图、日伪资料库等二十几家,言及文物二十万件以上,洋洋三万余言,是珍贵的北京史料。"。
27.预设的实体类别分别为人名、地名、组织机构名。此例中,如果查询的实体类别为
地名,则实体描述信息为"按照地理位置划分的国家,城市,乡镇,大洲",实体描述信息是对查询实体类别含义的描述。
28.在一个实施例中,所述将实体描述信息和待识别文本拼接成文本序列,可以具体包括:将第一字符、所述实体描述信息中的各个字符、第二字符、所述待识别文本中的各个字符和第三字符依次进行拼接,得到所述文本序列;其中,所述文本序列的字符长度为所述实体描述信息的字符数、所述待识别文本的字符数和3的和。
29.其中,第一字符为[cls],第二字符为[sep],第三字符为[sep]。这三个字符的长度之和为3。
[0030]
例如,实体描述信息为"按照地理位置划分的国家,城市,乡镇,大洲",待识别文本为"我们藏有一册1945年6月油印的《北京文物保存保管状态之调查报告》,调查范围涉及故宫、历博、古研所、北大清华图书馆、北图、日伪资料库等二十几家,言及文物二十万件以上,洋洋三万余言,是珍贵的北京史料。",对应的文本序列为:
[0031]
{[cls],”按”,”照”,”地”,”理”,”位”,”置”,”划”,”分”,”的”,”国”,”家”,”,”,”城”,”市”,”,”,”乡”,”镇”,”,”,”大”,”洲”[sep]”我”,”们”,”藏”,”有”,”一”,”册”,”1”,”9”,”4”,”5”,”年”,”6”,”月”,”油”,”印”,”的”,”《”,”北”,”京”,”文”,”物”,”保”,”存”,”保”,”管”,”状”,”态”,”之”,”调”,”查”,”报”,”告”,”》”,”,”,”调”,”查”,”范”,”围”,”涉”,”及”,”故”,”宫”,”、”,”历”,”博”,”、”,”古”,”研”,”所”,”、”,”北”,”大”,”清”,”华”,”图”,”书”,”馆”,”、”,”北”,”图”,”、”,”日”,”伪”,”资”,”料”,”库”,”等”,”二”,”十”,”几”,”家”,”,”,”言”,”及”,”文”,”物”,”二”,”十”,”万”,”件”,”以”,”上”,”,”,”洋”,”洋”,”三”,”万”,”余”,”言”,”,”,”是”,”珍”,”贵”,”的”,”北”,”京”,”史”,”料”,”。”,[sep]}。
[0032]
可见,s110的目的是形成文本序列表示所述文本序列中的第i个字符。
[0033]
s120、根据所述文本序列,确定对应的单字符向量序列;其中,所述单字符向量序列中包括所述文本序列中每一个字符对应的字符向量;
[0034]
其中,一个文本序列对应一个单字符向量序列。如果文本序列中包括n个字符,则在对应的单字符向量序列中包括n个字符向量,一个字符对应一个字符向量。
[0035]
在一个实施例中,所述根据所述文本序列,确定对应的单字符向量序列,具体可以包括:针对所述文本序列中的每一个字符,获取对应的字符向量标识。对于所述文本序列中各个字符对应的各个字符向量标识形成的序列即字符向量标识序列,字符向量标识序列截取长度128,如果长度不足,则用符号“o”补充;根据所述字符向量标识,从预训练模型的向量表中获取对应的字符向量。
[0036]
举例来说,确定单字符向量序列的过程可以包括如下步骤:
[0037]
s11、设置初始的单字符向量序列xa为空集,初始化i=1;
[0038]
s12、通过预训练模型获取所述文本序列x
cstr
中的第i个字符的字符向量标识token_id;
[0039]
s13、根据token_id和预训练模型(例如,使用谷歌预训练模型bert-base(chinese))的向量表,获取对应的字符向量
[0040]
s14、将字符向量添加到单字符向量序列xa中;
[0041]
s15、令i=i+1;
[0042]
s16、判断i是否小于等于所述文本序列中的字符个数n;若是,则返回到s12,否则进入s17;
[0043]
s17、对单字符向量序列xa进行线性变换,得到最终的单字符向量序列xa。
[0044]
s130、对所述文本序列对应的字符串进行分词处理,将分词处理得到的各个词形成词序列,并根据所述词序列确定对应的词向量序列;其中,所述词向量序列中包括所述词序列中的每一个词对应的词向量;
[0045]
例如,对文本序列中的各个字符所形成的字符串进行分词处理,得到m个词,m个词形成上述词序列,然后获取每一个词对应的词向量,将m个词向量形成词向量序列。
[0046]
可见,首先将文本序列x
cstr
转换成字符串x
str
,对字符串x
str
进行分词处理,得到词序列表示词序列中的第i个词。然后再获取每一个词对应的词向量,形成词向量序列。获取词向量的方式具体可以为:预先加载预训练模型(例如,使用哈工大讯飞联合实验室发布的bert-wwm-ext),然后从预训练模型的向量表中获取第i个词所对应的词向量
[0047]
s140、将所述单字符向量序列和所述词向量序列进行融合处理,得到第一融合向量序列;
[0048]
在一个实施例中,s140具体可以包括:
[0049]
s1a、设置初始的第一融合向量序列xb为空集,设置i=1,设置起始索引位置sidx=1;
[0050]
s2a、确定所述词序列中第i个词的长度为leni,令eidx=sidx+len
i-1,eidx为结束索引位置;
[0051]
s3a、令j=sidx;
[0052]
s4a、计算所述文本序列中的第j个字符的字符向量和所述词序列中的第i个词的词向量的和,得到第j个第一融合向量将所述第j个第一融合向量添加至所述第一融合向量序列中;
[0053]
即,并添加到第一融合向量序列xb中。
[0054]
s5a、令j=j+1;
[0055]
s6a、判断j是否小于等于当前的结束索引位置eidx;若是,则返回到s4a;否则,进入s7a;
[0056]
s7a、令i=i+1;
[0057]
s8a、判断i是否小于等于所述词序列中词的个数m;若是,则令sidx=eidx+1,并返回到s2a中;否则,结束本流程。
[0058]
可见,本步骤s140的目的是生成第一融合向量序列xb,大致步骤是对文本序列组成的字符串进行分词,然后对分词得到的词进行向量化,最后将字符向量和词向量进行融合。这里生成单字符对应的融合编码即第一融合向量,具体为将一个词中各个字符的字符
向量加上该词对应的词向量,得到该词中各个字符各自对应的第一融合向量,实现了字和词信息的融合。
[0059]
s150、将所述单字符向量序列和所述第一融合向量序列分别进行非线性变换,并将非线性变换得到的两个序列进行融合处理,得到第二融合向量序列;
[0060]
在一个实施例中,s150具体可以包括:
[0061]
s1b、设置初始的第二融合向量序列xc为空集;
[0062]
s2b、令i=1;
[0063]
s3b、将所述单字符向量序列中的第i个字符向量x
ia
在最后一个维度上进行非线性变换,得到第i个变换字符向量将所述第一融合向量序列中的第i个第一融合向量在最后一个维度上进行非线性变换,得到第i个变换融合向量
[0064]
其中,非线性变换为softmax变换。
[0065]
其中,本发明实施例中提到的向量均为张量的概念,因为在本发明实施例涉及到的领域中技术人员理解的向量实际是张量。将向量在最后一个维度进行softmax非线性变换,起到归一化的作用。
[0066]
s4b、根据第i个变换字符向量和第i个变换融合向量,计算第i个第二融合向量,将所述第i个第二融合向量添加至所述第二融合向量序列中;
[0067]
例如,按照公式计算第i个第二融合向量然后将添加到xc中。其中,λ为超参数,可以按经验取值。
[0068]
s5b、令i=i+1;
[0069]
s6b、判断i是否小于等于所述单字符向量序列中字符向量的个数n;若是,则返回s3b,否则结束本流程。
[0070]
可见,s150的目的是将单字符向量序列xa和第一融合向量序列xb融合得到第二融合向量xc。
[0071]
s160、将所述第二融合向量序列输入至预先训练得到的实体识别模型中,得到所述待识别文本的实体识别结果。
[0072]
即,将第二融合向量输入到实体识别模型中,就会得到待识别文本中关于实体描述信息的各个实体。
[0073]
其中,实体识别模型为bert-mrc模型,bert-mrc模型由编码器和3个分类器组成,编码器为bert-base模型,3个分类器分别为start_classifier、end_classifier和span_classifier。
[0074]
在一个实施例中,所述实体识别模型的预先训练过程可以包括:
[0075]
s1c、确定每一条训练样本对应的第二融合向量序列;
[0076]
s2c、将所述第二融合向量序列输入至bert-mrc模型的编码器(即bert-base模型)中,得到向量矩阵e。e为一个n行d列的实数矩阵,n为待识别文本的长度,舍弃了实体描述信息对应的向量表示,d为所述编码器最后一层输出的向量维度。
[0077]
s3c、根据所述向量矩阵,确定起始索引位置对应的第一概率分布函数、结束索引位置对应的第二概率分布函数以及所述待识别文本中任意两个字符作为起始索引位置和结束索引位置对应的第三概率分布函数;
[0078]
其中,起始索引位置是指一个实体在待识别文本中的起始位置,结束索引位置是指一个实体在待识别文本中的结束位置。
[0079]
例如,可以根据下式表示第一概率分布函数:
[0080]
p
start
=softmax
eachrow
(e
·
t
start
)∈rn×2[0081]
其中,t
start
是待学习的权重矩阵,t
start
是一个d行2列的矩阵,t
start
具有初始值,通过不断的训练,t
start
不断调整,实现调优。p
start
是第一概率分布函数,是一个n行2列的实数矩阵,p
start
的每一行表示每个索引作为查询实体的起始位置的概率分布。e是向量矩阵。
[0082]
例如,可以根据下式表示第二概率分布函数:
[0083]
p
end
=softmax
eachrow
(e
·
t
end
)∈rn×2[0084]
其中,t
end
是待学习的权重矩阵,t
end
是一个d行2列的矩阵,t
end
具有初始值,通过不断的训练,t
end
不断调整,实现调优。p
end
是第二概率分布函数,是一个n行2列的实数矩阵,p
end
的每一行表示每个索引作为查询实体的结束位置的概率分布。e是向量矩阵。
[0085]
例如,可以采用下式表示第三概率分布函数:
[0086][0087]
其中,i
start
和j
end
分别是预测的起始索引位置和结束索引位置(分别是预测的起始索引位置和结束索引位置(和分别为预测的起始索引位置序列和结束索引位置序列)。为向量矩阵中的第i
start
行,为向量矩阵中的第j
end
行,为待识别文本中一个字符串预测为查询实体的概率,该字符串在待识别文本中的起始索引和结束索引分别为i
start
和j
end
;m为一个1行2d列的待学习的权重矩阵。
[0088]
其中,预测的起始索引位置序列和结束索引位置序列采用下式实现:
[0089][0090][0091]
其中,为p
start
的第i行,为p
end
的第j行。
[0092]
s4c、根据起始索引位置的第一概率分布函数,确定起始索引位置对应的第一预测损失;根据结束索引位置的第二概率分布函数,确定结束索引位置对应的第二预测损失;根据所述第三概率分布函数,确定起始索引位置和结束索引位置的第三预测损失;
[0093]
例如,采用下式表示第一预测损失:
[0094]
l
start
=ce(p
start
,y
start
)
[0095]
其中,l
start
为第一预测损失,p
start
为第一概率分布函数,y
start
为真实实体的起始索引位置,ce为交叉熵损失函数。
[0096]
例如,采用下式表示第二预测损失:
[0097]
l
end
=ce(p
end
,y
end
)
[0098]
其中,l
end
为第二预测损失,p
end
为第二概率分布函数,y
end
为真实实体的结束索引位置,ce为交叉熵损失函数。
[0099]
例如,采用下式表示第三预测损失:
[0100]
l
span
=ce(p
start,end
,y
start,end
)
[0101]
其中,l
span
为第三预测损失,p
start,end
为各个第三概率分布函数形成的矩阵,y
start,end
为真实实体的起始索引位置和结束索引位置,ce为交叉熵损失函数。
[0102]
s5c、根据第一预测损失、第二预测损失和第三预测损失,计算整体损失;
[0103]
具体的,可以计算第一预测损失、第二预测损失和第三预测损失分别与对应超参数的乘积,将三个乘积之和作为所述整体损失。
[0104]
例如,采用下式计算整体损失:
[0105]
l=αl
start
+βl
end
+γl
span
[0106]
其中,l为整体损失,α、β、γ是超参数,取值范围是[0,1]。
[0107]
s6c、根据所述整体损失,对训练模型进行参数调优。
[0108]
可理解的是,在通过s5c计算得到整体损失之后,如果整体损失比较大,则利用整体损失的变化,对上述待学习的权重矩阵进行调整,进而进入下一次训练过程。而如果整体损失已经很小,则不必再进入下一次训练过程,此时的模型已经可以满足使用需求。
[0109]
例如,一条训练样本为:
[0110]
{
[0111]
"qas_id":"3.1",
[0112]
"context":"我们藏有一册1945年6月油印的《北京文物保存保管状态之调查报告》,调查范围涉及故宫、历博、古研所、北大清华图书馆、北图、日伪资料库等二十几家,言及文物二十万件以上,洋洋三万余言,是珍贵的北京史料。",
[0113]
"start_position":[17,40,43,50,58,61,94],
[0114]
"end_position":[18,41,44,56,59,61,95],
[0115]
"query":"按照地理位置划分的国家,城市,乡镇,大洲",
[0116]
"ner_label":"ns"
[0117]
}。
[0118]
其中,qas_id为训练样本的编号,context为待识别文本,query为实体描述信息,start_position为起始索引位置序列,end_position为结束索引位置序列,ner_label为实体的类型。ns为地名。例如,起始索引位置为17、结束索引位置为18的实体为北京,属于地名。
[0119]
例如,一条训练样本为:
[0120]
{
[0121]
"qas_id":"3.0",
[0122]
"context":"我们藏有一册1945年6月油印的《北京文物保存保管状态之调查报告》,调查范围涉及故宫、历博、古研所、北大清华图书馆、北图、日伪资料库等二十几家,言及文物二十万件以上,洋洋三万余言,是珍贵的北京史料。",
[0123]
"start_position":[],
[0124]
"end_position":[],
[0125]
"query":"人名和虚构的人物形象",
[0126]
"ner_label":"nr"
[0127]
}。
[0128]
其中,nr表示的实体类型为人名。
[0129]
例如,一条训练样本为:
[0130]
{
[0131]
"qas_id":"3.2",
[0132]
"context":"我们藏有一册1945年6月油印的《北京文物保存保管状态之调查报告》,调查范围涉及故宫、历博、古研所、北大清华图书馆、北图、日伪资料库等二十几家,言及文物二十万件以上,洋洋三万余言,是珍贵的北京史料。",,
[0133]
"start_position":[46],
[0134]
"end_position":[48],
[0135]
"query":"组织包括公司,政府党派,学校,政府,新闻机构",
[0136]
"ner_label":"nt"
[0137]
}。
[0138]
其中,nt表示的实体类型为组织机构。
[0139]
例如,一条训练样本为:
[0140]
{
[0141]
"qas_id":"19.0",
[0142]
"context":"我们变而以书会友,以书结缘,把欧美、港台流行的食品类图谱、画册、工具书汇集一堂。",
[0143]
"start_position":[],
[0144]
"end_position":[],
[0145]
"query":"人名和虚构的人物形象",
[0146]
"ner_label":"nr"
[0147]
}。
[0148]
例如,一条训练样本为:
[0149]
{
[0150]
"qas_id":"19.1",
[0151]
"context":"我们变而以书会友,以书结缘,把欧美、港台流行的食品类图谱、画册、工具书汇集一堂。",
[0152]
"start_position":[15,16,18,19],
[0153]
"end_position":[15,16,18,19],
[0154]
"query":"按照地理位置划分的国家,城市,乡镇,大洲",
[0155]
"ner_label":"ns"
[0156]
}。
[0157]
例如,一条训练样本为:
[0158]
{
[0159]
"qas_id":"19.2",
[0160]
"context":"我们变而以书会友,以书结缘,把欧美、港台流行的食品类图谱、画册、工具书汇集一堂。",
[0161]
"start_position":[],
[0162]
"end_position":[],
[0163]
"query":"组织包括公司,政府党派,学校,政府,新闻机构",
[0164]
"ner_label":"nt"
[0165]
}。
[0166]
可理解的是,在对文本进行编码时,不仅进行单个字符的向量化,而且对字符串先进行分词,然后对分词得到的词进行向量化,并将词向量和组成词的各个字符的字符向量进行融合,充分挖掘了文本中的单字和词的信息,充分利用了文本的结构特征,提升了命名实体识别的准确率。
[0167]
可见,本发明实施例通过对单字信息和词信息进行融合,挖掘词语内各个字的内部相关性,充分利用单字和词信息,对实体描述信息先验知识和待识别文本的理解,提升了命名实体识别的准确率。
[0168]
第二方面,本发明实施例提供一种中文命名实体识别装置,包括:
[0169]
第一拼接模块,用于将实体描述信息和待识别文本拼接成文本序列;
[0170]
第一确定模块,用于根据所述文本序列,确定对应的单字符向量序列;其中,所述单字符向量序列中包括所述文本序列中每一个字符对应的字符向量;
[0171]
第二确定模块,用于对所述文本序列对应的字符串进行分词处理,将分词处理得到的各个词形成词序列,并根据所述词序列确定对应的词向量序列;其中,所述词向量序列中包括所述词序列中的每一个词对应的词向量;
[0172]
第一融合模块,用于将所述单字符向量序列和所述词向量序列进行融合处理,得到第一融合向量序列;
[0173]
第二融合模块,用于将所述单字符向量序列和所述第一融合向量序列分别进行非线性变换,并将非线性变换得到的两个序列进行融合处理,得到第二融合向量序列;
[0174]
第一识别模块,用于将所述第二融合向量序列输入至预先训练得到的实体识别模型中,得到所述待识别文本的实体识别结果。
[0175]
在一个实施例中,第一拼接模块具体用于:将第一字符、所述实体描述信息中的各个字符、第二字符、所述待识别文本中的各个字符和第三字符依次进行拼接,得到所述文本序列;其中,所述文本序列的字符长度为所述实体描述信息的字符数、所述待识别文本的字符数和3的和。
[0176]
在一个实施例中,第一确定模块具体用于:针对所述文本序列中的每一个字符,获取对应的字符向量标识;根据所述字符向量标识,从预训练模型向量表中获取对应的字符向量。
[0177]
在一个实施例中,第一融合模块具体用于执行如下步骤:
[0178]
s1a、初始化第一融合向量序列为空集,设置i=1,设置起始索引位置sidx=1;
[0179]
s2a、确定所述词序列中第i个词的长度为leni,令eidx=sidx+len
i-1,eidx为结束索引位置;
[0180]
s3a、令j=sidx;
[0181]
s4a、计算所述文本序列中的第j个字符的字符向量和所述词序列中的第i个词的词向量的和,得到第j个第一融合向量,将所述第j个第一融合向量添加至所述第一融合向量序列中;
[0182]
s5a、令j=j+1;
[0183]
s6a、判断j是否小于等于当前的结束索引位置;若是,则返回到s4a;否则,进入s7a;
[0184]
s7a、令i=i+1;
[0185]
s8a、判断i是否小于等于所述词序列中词的个数;若是,则令sidx=eidx+1,并返回到s2a中;否则,结束本流程。
[0186]
在一个实施例中,第二融合模块具体用于执行如下步骤:
[0187]
s1b、初始化第二融合向量序列为空集;
[0188]
s2b、令i=1;
[0189]
s3b、将所述单字符向量序列中的第i个字符向量在最后一个维度上进行非线性变换,得到第i个变换字符向量;将所述第一融合向量序列中的第i个第一融合向量在最后一个维度上进行非线性变换,得到第i个变换融合向量;
[0190]
s4b、根据第i个变换字符向量和第i个变换融合向量,计算第i个第二融合向量,将所述第i个第二融合向量添加至所述第二融合向量序列中;
[0191]
s5b、令i=i+1;
[0192]
s6b、判断i是否小于等于所述单字符向量序列中字符向量的个数;若是,则返回s3b,否则结束本流程。
[0193]
在一个实施例中,装置还包括:
[0194]
模型训练模块,模型训练模块包括:
[0195]
第一确定单元,用于确定每一条训练样本对应的第二融合向量序列;
[0196]
第一编码单元,用于将所述第二融合向量序列输入至预设深度学习模型的编码器中,得到向量矩阵;
[0197]
第二确定单元,用于根据所述向量矩阵,确定查询实体的起始索引位置对应的第一概率分布函数、查询实体的结束索引位置对应的第二概率分布函数以及所述待识别文本中任意两个字符作为查询实体的起始索引位置和结束索引位置对应的第三概率分布函数;
[0198]
第三确定单元,用于根据查询实体的起始索引位置的第一概率分布函数,确定查询实体的起始索引位置对应的第一预测损失;根据查询实体的结束索引位置的第二概率分布函数,确定查询实体的结束索引位置对应的第二预测损失;根据所述第三概率分布函数,确定查询实体的起始索引位置和结束索引位置的第三预测损失;
[0199]
第四确定单元,用于根据第一预测损失、第二预测损失和第三预测损失,计算整体损失;
[0200]
参数调整单元,用于根据所述整体损失,对训练模型进行参数调优。
[0201]
在一个实施例中,第四确定单元具体用于:计算第一预测损失、第二预测损失和第三预测损失分别与对应超参数的乘积,将三个乘积之和作为所述整体损失。
[0202]
可理解的是,本发明实施例提供的装置中有关内容的解释、具体实施方式、有益效果、举例等内容可以参见第一方面提供的方法中的相应部分,此处不再赘述。
[0203]
第三方面,本发明实施例提供一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行第一方面提供的方法。
[0204]
具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上
述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。
[0205]
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
[0206]
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd+rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。
[0207]
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
[0208]
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
[0209]
可理解的是,本发明实施例提供的计算机可读介质中有关内容的解释、具体实施方式、有益效果、举例等内容可以参见第一方面提供的方法中的相应部分,此处不再赘述。
[0210]
第四方面,本说明书一个实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现执行说明书中任一个实施例中的方法。
[0211]
可理解的是,本发明实施例提供的计算设备中有关内容的解释、具体实施方式、有益效果、举例等内容可以参见第一方面提供的方法中的相应部分,此处不再赘述。
[0212]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0213]
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、挂件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
[0214]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

技术特征:
1.一种中文命名实体识别方法,其特征在于,包括:将实体描述信息和待识别文本拼接成文本序列;根据所述文本序列,确定对应的单字符向量序列;其中,所述单字符向量序列中包括所述文本序列中每一个字符对应的字符向量;对所述文本序列对应的字符串进行分词处理,将分词处理得到的各个词形成词序列,并根据所述词序列确定对应的词向量序列;其中,所述词向量序列中包括所述词序列中的每一个词对应的词向量;将所述单字符向量序列和所述词向量序列进行融合处理,得到第一融合向量序列;将所述单字符向量序列和所述第一融合向量序列分别进行非线性变换,并将非线性变换得到的两个序列进行融合处理,得到第二融合向量序列;将所述第二融合向量序列输入至预先训练得到的实体识别模型中,得到所述待识别文本的实体识别结果。2.根据权利要求1所述的方法,其特征在于,所述将实体描述信息和待识别文本拼接成文本序列,包括:将第一字符、所述实体描述信息中的各个字符、第二字符、所述待识别文本中的各个字符和第三字符依次进行拼接,得到所述文本序列;其中,所述文本序列的字符长度为所述实体描述信息的字符数、所述待识别文本的字符数和3的和。3.根据权利要求1所述的方法,其特征在于,所述根据所述文本序列,确定对应的单字符向量序列,包括:针对所述文本序列中的每一个字符,获取对应的字符向量标识;根据所述字符向量标识,从预训练模型的向量表中获取对应的字符向量。4.根据权利要求1所述的方法,其特征在于,将所述单字符向量序列和所述词向量序列进行融合处理,得到第一融合向量序列,包括:s1a、初始化第一融合向量序列为空集,设置i=1,设置起始索引位置sidx=1;s2a、确定所述词序列中第i个词的长度为len
i
,令eidx=sidx+len
i-1,eidx为结束索引位置;s3a、令j=sidx;s4a、计算所述文本序列中的第j个字符的字符向量和所述词序列中的第i个词的词向量的和,得到第j个第一融合向量,将所述第j个第一融合向量添加至所述第一融合向量序列中;s5a、令j=j+1;s6a、判断j是否小于等于当前的结束索引位置;若是,则返回到s4a;否则,进入s7a;s7a、令i=i+1;s8a、判断i是否小于等于所述词序列中词的个数;若是,则令sidx=eidx+1,并返回到s2a中;否则,结束本流程。5.根据权利要求1所述的方法,其特征在于,将所述单字符向量序列和所述第一融合向量序列分别进行非线性变换,并将非线性变换得到的两个序列进行融合处理,得到第二融合向量序列,包括:s1b、初始化第二融合向量序列为空集;
s2b、令i=1;s3b、将所述单字符向量序列中的第i个字符向量在最后一个维度上进行非线性变换,得到第i个变换字符向量;将所述第一融合向量序列中的第i个第一融合向量在最后一个维度上进行非线性变换,得到第i个变换融合向量;s4b、根据第i个变换字符向量和第i个变换融合向量,计算第i个第二融合向量,将所述第i个第二融合向量添加至所述第二融合向量序列中;s5b、令i=i+1;s6b、判断i是否小于等于所述单字符向量序列中字符向量的个数;若是,则返回s3b,否则结束本流程。6.根据权利要求1所述的方法,其特征在于,所述实体识别模型的预先训练过程包括:确定每一条训练样本对应的第二融合向量序列;将所述第二融合向量序列输入至预设深度学习模型的编码器中,得到向量矩阵;根据所述向量矩阵,确定查询实体的起始索引位置对应的第一概率分布函数、查询实体的结束索引位置对应的第二概率分布函数以及所述待识别文本中任意两个字符作为查询实体的起始索引位置和结束索引位置对应的第三概率分布函数;根据查询实体的起始索引位置的第一概率分布函数,确定所述起始索引位置对应的第一预测损失;根据查询实体的结束索引位置的第二概率分布函数,确定所述结束索引位置对应的第二预测损失;根据所述第三概率分布函数,确定查询实体的起始索引位置和结束索引位置的第三预测损失;根据第一预测损失、第二预测损失和第三预测损失,计算整体损失;根据所述整体损失,对训练模型进行参数调优。7.根据权利要求6所述的方法,其特征在于,所述根据第一预测损失、第二预测损失和第三预测损失,计算整体损失,包括:计算第一预测损失、第二预测损失和第三预测损失分别与对应超参数的乘积,将三个乘积之和作为所述整体损失。8.一种中文命名实体识别装置,其特征在于,包括:第一拼接模块,用于将实体描述信息和待识别文本拼接成文本序列;第一确定模块,用于根据所述文本序列,确定对应的单字符向量序列;其中,所述单字符向量序列中包括所述文本序列中每一个字符对应的字符向量;第二确定模块,用于对所述文本序列对应的字符串进行分词处理,将分词处理得到的各个词形成词序列,并根据所述词序列确定对应的词向量序列;其中,所述词向量序列中包括所述词序列中的每一个词对应的词向量;第一融合模块,用于将所述单字符向量序列和所述词向量序列进行融合处理,得到第一融合向量序列;第二融合模块,用于将所述单字符向量序列和所述第一融合向量序列分别进行非线性变换,并将非线性变换得到的两个序列进行融合处理,得到第二融合向量序列;第一识别模块,用于将所述第二融合向量序列输入至预先训练得到的实体识别模型中,得到所述待识别文本的实体识别结果。9.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序
在计算机中执行时,令计算机执行实现实现权利要求1~6中的任一项所述的方法。10.一种计算设备,其特征在于,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1~6中的任一项所述的方法。

技术总结
本发明提供一种中文命名实体识别方法及装置、介质、设备。方法包括:将实体描述信息和待识别文本拼接成文本序列;确定对应的单字符向量序列;对所述文本序列对应的字符串进行分词处理,将分词处理得到的各个词形成词序列,并根据所述词序列确定对应的词向量序列;将所述单字符向量序列和所述词向量序列进行融合处理,得到第一融合向量序列;将所述单字符向量序列和所述第一融合向量序列分别进行非线性变换,将非线性变换得到的两个序列进行融合处理,得到第二融合向量序列;将所述第二融合向量序列输入至预先训练得到的实体识别模型中,得到所述待识别文本的实体识别结果。本发明充分挖掘了文本中的单字和词的信息,提升了命名实体识别的准确率。命名实体识别的准确率。命名实体识别的准确率。


技术研发人员:赵志航 周庆勇 王功明 潘心冰
受保护的技术使用者:浪潮云信息技术股份公司
技术研发日:2023.04.12
技术公布日:2023/7/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐