法律状态公告日
法律状态信息
法律状态
2023-02-03
公开
发明专利申请公布
技术领域
本发明涉及自然语言处理领域,尤其涉及一种基于融合性位置编码Transformer的温病古籍命名实体识别的标注方法。
背景技术
命名实体识别是自然语言处理中的一类任务,从非结构化的文本中自动的提取出预先定义类型的实体,具体为提取实体类型和实体边界。中文命名实体识别不同于英文,英文是一个字代表一个词,而中文一个词往往是由多个字符组成。这就给识别实体边界带来难度。在温病古籍中文本为文言文,其特点较白话文有二:字符级token、词级token都包含重要信息,且具有大量特殊句式,如倒装句、判断句等。
目前,中文命名实体识别主要通过网格化处理,主要方法有两种:Lattice Lstm算法和Lattice Transformer算法。Lattice Lstm的算法通过一个双向的长短时模型建立语言模型,能一定程度上减轻RNN的长程依赖问题,但是其仍然要求限制句长,无法解决复杂多变的古籍文本。Lattice Transformer的算法利用self-attention机制通过建立句中每两个词的相关性有效的解决了长程依赖问题。由于self-attention机制无法体现词的位置信息,使用时一般要求在输入端显示加入词的位置信息。已有算法仅使用了常规相对位置编码,并未为温病古籍文言文文本设计垂直领域的特殊编码方式,因此在处理特殊句式时效果不佳。
发明内容
有鉴于此,为了解决背景技术中存在的问题,本发明的目的在于提出一种基于融合性位置编码Transformer的温病古籍命名实体识别方法,通过设计一种针对温病古籍文言文文本的位置编码方式,以在不减少的字token、词token信息的前提下更有效的处理特殊句式等问题。
为了实现以上目的,本发明采用的技术方案如下:
一种用于温病古籍的命名实体识别方法,其包括:
S1:获取温病古籍,对所述温病古籍中的语句文本进行实体标注,得到实体标注信息;
S2:通过分词工具对所述温病古籍中的语句文本进行分词处理,获得词级颗粒度文本;
S3:基于所述温病古籍的分词处理结果,分别针对字和词构建字典和词典;
S4:在所述温病古籍的各语句文本末尾加入该语句文本分词处理得到的词,从而重构形成新文本序列,再为新文本序列中原语句文本内的每个字以及新加入的每个词分别添加头和尾两个绝对位置编码;
S5:构建由BERT预训练模型、融合位置编码模块、Transformer层和CRF层组成的识别实体模型;所述识别实体模型中,首先通过所述字典和词典将新文本序列生成BERT预处理模型所需的索引输入,再经过BERT预处理模型浅层提取语法语义信息后,输出新文本序列中每个字和词的分布式表示;然后在融合位置编码模型内对新文本序列中每个字和词分配一个带可学习参数的位置编码,使每个字和词的头绝对位置编码和尾绝对位置编码分别融入对应的分布式表示中,从而形成带位置编码的分布式表示;再后,在Transformer层中,将新文本序列中每个字和词的带位置编码的分布式表示输入Transformer网络,由网络结构融入相对位置信息,得到每个字和词的标签概率空间;最后,将所述句子编码结果输入条件随机场模型中,得到实体识别结果;
S6:利用S1~S4预处理得到的数据训练该实体识别模型,并利用训练后的所述识别实体模型对待识别的温病古籍文本进行实体识别。
作为优选,所述S1中,利用标注工具或人工标注对所述温病古籍文本进行实体标注得到标注信息,对所述标注信息分解为语句和标注,并将所述语句和所述标注分别存入语句列表和标注列表保存。
作为优选,所述S2中使用分词工具jieba将温病古籍中的语句文本分解成词颗粒度表示。
作为优选,所述S3中,将所述语句、实体标注和字典、词典的信息保存为josn文件。
作为优选,所述S4具体包括以下子步骤:
步骤S41:针对所述温病古籍的各语句文本,将其分词结果中的词按各自在原语句文本序列中的顺序添加到原语句文本的尾部,形成新文本序列;
步骤S42:为新文本序列中的原语句文本的各字分别给定头和尾两个绝对位置编码,每一个字的头绝对位置编码和尾绝对位置编码均为该字在原语句文本中的绝对位置;
步骤S43:为新文本序列中在原语句文本末尾新添加的各词给定头和尾两个绝对位置编码,每一个词的头绝对位置编码为该词中头字在原语句文本中的绝对位置,每一个词的尾绝对位置编码为该词中尾字在原语句文本中的绝对位置。
作为优选,所述BERT预处理模型输出的新文本序列中,每个字和词的分布式表示均为128维。
作为优选,所述融合位置编码模型中执行的融合位置编码算法如下:
新文本序列中每个字和词为分别为一个token,将每个token的分布式表示每相邻的两维为一组进行划分;对于每个token的分布式表示需分别以token的头绝对位置编码和尾绝对位置编码作为位置信息,对分布式表示中每一组两维元素独立进行带有可学习参数θ的线性转换,任意两维[x,y]的线性转换公式为:
式中:n代表当前进行线性转换所使用的位置信息,选择token的头绝对位置编码或者尾绝对位置编码中的一个;不同的两维元素进行线性转换时的可学习参数θ不共享,各自独立学习;
对于每个token的分布式表示,所有维度都完成线性转换后得到两个带位置编码的分布式表示X,其中以token的头绝对位置编码作为位置信息进行线性转换后得到形成带头绝对位置编码的分布式表示X
作为优选,所述Transformer层中,将新文本序列中每个字和词的带位置编码的分布式表示输入Transformer网络,由网络结构融入相对位置信息,得到每个字和词的标签概率空间具体包括以下子步骤:
S51:将带位置编码的分布式表示X输入Transformer网络,对每个token的分布式表示X进行线性变换:
q=XW
式中:q、k、v分别代表注意力机制中的查询、键和值,且当X=X
S52:对于新文本序列中的任意两个token,先计算四个子注意力:
式中:
再将上述四个子注意力拼接或叠加,得到总注意力Z;
S53:得到新文本序列中两两token之间的总注意力Z之后,将其送入全连接层;其中全连接层有两层,第一层的激活函数是ReLU,第二层是一个线性激活函数,全连接层的输出表示为:
FFN(Z)=max(0,ZW
式中:max表示取最大值操作,W
S54:将全连接层的输出经过Transfomer的解码模块,得到新文本序列中每个token的标签概率空间。
相对于现有技术而言,本发明的有益效果为:
(1)本发明方法充分利用了中文的词汇信息、同时有效避免了因分词误差带来的最终识别错误;
(2)本发明方法为文言文中多样的特殊句式设计了高效的位置编码方法;
(3)本发明方法运用Transformer为模型主干,克服了传统RNN、LSTM模型等的无法并行、长程依赖问题,从而提高了实体识别方法的准确率、召回率。
附图说明
图1是本发明实施例中用于温病古籍的命名实体识别方法的流程图;
图2是本发明一种用于温病古籍的命名实体识别方法的整体架构图;
图3为本发明中融合相对位置信息的自注意力机制示意图。
具体实施方式
下面结合附图以及具体实施例对本发明作进一步的说明,但本发明的保护范围并不限于此。
如图1所示,本发明的一个较佳实施例中,提供了一种用于温病古籍的命名实体识别方法,其步骤流程如下:
S1:获取温病古籍,对所述温病古籍中的语句文本进行实体标注,得到实体标注信息。
在本发明的较佳实施例中,在步骤S1中,可利用标注工具或人工标注对所述温病古籍文本进行实体标注得到标注信息,对所述标注信息分解为语句和标注,并将所述语句和所述标注分别存入语句列表和标注列表保存。
S2:通过分词工具对所述温病古籍中的语句文本进行分词处理,获得词级颗粒度文本。
在本发明的较佳实施例中,可在步骤S2中使用分词工具jieba将温病古籍中的语句文本分解成词颗粒度表示。
S3:基于所述温病古籍的分词处理结果,可分别针对字和词构建字典和词典。
在本发明的较佳实施例中,在步骤S3中,可将所述语句、实体标注和字典、词典的信息保存为josn文件。
S4:在所述温病古籍的各语句文本末尾加入该语句文本分词处理得到的词,从而重构形成新文本序列,再为新文本序列中原语句文本内的每个字以及新加入的每个词分别添加头和尾两个绝对位置编码。
在本发明的较佳实施例中,步骤S4具体包括以下子步骤:
步骤S41:针对所述温病古籍的各语句文本,将其分词结果中的词按各自在原语句文本序列中的顺序添加到原语句文本的尾部,形成新文本序列;
步骤S42:为新文本序列中的原语句文本的各字分别给定头和尾两个绝对位置编码,每一个字的头绝对位置编码和尾绝对位置编码均为该字在原语句文本中的绝对位置;
步骤S43:为新文本序列中在原语句文本末尾新添加的各词给定头和尾两个绝对位置编码,每一个词的头绝对位置编码为该词中头字在原语句文本中的绝对位置,每一个词的尾绝对位置编码为该词中尾字在原语句文本中的绝对位置。
S5:构建由BERT预训练模型、融合位置编码模块、Transformer层和CRF层组成的识别实体模型;所述识别实体模型中,首先通过所述字典和词典将新文本序列生成BERT预处理模型所需的索引输入,再经过BERT预处理模型浅层提取语法语义信息后,输出新文本序列中每个字和词的分布式表示;然后在融合位置编码模型内对新文本序列中每个字和词分配一个带可学习参数的位置编码,使每个字和词的头绝对位置编码和尾绝对位置编码分别融入对应的分布式表示中,从而形成带位置编码的分布式表示;再后,在Transformer层中,将新文本序列中每个字和词的带位置编码的分布式表示输入Transformer网络,由网络结构融入相对位置信息,得到每个字和词的标签概率空间;最后,将所述句子编码结果输入条件随机场模型中,得到实体识别结果。
在本发明的较佳实施例中,上述BERT预处理模型输出的新文本序列中,每个字和词的分布式表示均为128维。
在本发明的较佳实施例中,上述融合位置编码模型中执行的融合位置编码算法如下:
新文本序列中每个字和词为分别为一个token,将每个token的分布式表示每相邻的两维为一组进行划分;对于每个token的分布式表示需分别以token的头绝对位置编码和尾绝对位置编码作为位置信息n,对分布式表示中每一组两维元素独立进行带有可学习参数θ的线性转换。进行线性转换可显式的为编码加入绝对位置信息。对于位置信息为n的二维实数向量[x,y],可当它复数来运算,乘以e
(x+yi)e
由此任意两维[x,y]的线性转换公式即可表示为:
式中:符号→代表线性转换;n代表当前进行线性转换所使用的位置信息,选择token的头绝对位置编码或者尾绝对位置编码中的一个。
上述线性转换可赋予[x,y]绝对位置信息。因为上述每个token的分布式表示获得的是128维行向量,所以给每两维进行一次坐标变换时,为增强灵活度,每两维的θ可以不一样。也就是说,不同的两维元素进行线性转换时的可学习参数θ不共享,各自独立学习。
需要注意的是,上述位置需要分别取token的头绝对位置编码和尾绝对位置编码,因此任意两维[x,y]的线性转换都需要以两个不同的位置信息分别执行一次。对于每个token的分布式表示,所有维度都完成线性转换后得到两个带位置编码的分布式表示X,其中以token的头绝对位置编码作为位置信息进行线性转换后得到形成带头绝对位置编码的分布式表示X
在本发明的较佳实施例中,上述Transformer层中,将新文本序列中每个字和词的带位置编码的分布式表示输入Transformer网络,由网络结构融入相对位置信息,得到每个字和词的标签概率空间具体包括以下子步骤:
S51:将得到的带位置编码的分布式表示X输入Transformer网络,对每个token的分布式表示X进行线性变换:
q=XW
式中:q、k、v分别代表注意力机制中的查询、键和值,且当X=X
S52:由于自注意力机制,上述的e
其中*是共轭复数,右端的乘法是普通的复数乘法,Re[]表示取结果的实部。
在显式的加入绝对位置信息后,再放到内积中就有
意味着内积只和相对位置m-n有关,至此绝对位置和相对位置信息融合完成。因此,本步骤中对于每个token有两个位置编码:头、尾绝对位置编码,较交叉组合可获得4组q、k、v。对于新文本序列中的任意两个token,先计算四个子注意力:
式中:
再将上述四个子注意力拼接或叠加,得到总注意力Z。
S53:得到新文本序列中两两token之间的总注意力Z之后,将其送入全连接层;其中全连接层有两层,第一层的激活函数是ReLU,第二层是一个线性激活函数,全连接层的输出表示为:
FFN(Z)=max(0,ZW
式中:max表示取最大值操作,W
S54:将全连接层的输出经过Transfomer的解码模块,得到新文本序列中每个token的标签概率空间。
S6:利用S1~S4预处理得到的数据训练该实体识别模型,并利用训练后的所述识别实体模型对待识别的温病古籍文本进行实体识别。
需要说明的是,上述实体识别模型的训练过程属于现有技术,可参照现有的模型训练方法实现,对此不做限定。在实际应用推理过程中,待识别的温病古籍文本也需要与训练样本一样进行预处理后输入模型中。
下面将上述S1~S6所示的用于温病古籍的命名实体识别方法应用至一个具体的实例中,以展示其技术效果。
实施例
在本实例中,用于温病古籍的命名实体识别方法的具体流程如上述S1~S6所示,不再完全赘述。下面主要结合图1所示的流程展示各步骤的具体实现以及案例说明。
1)获取温病古籍文本,利用标注工具结合人工标注对温病古籍进行实体标注得到标注信息;
2)通过分词工具jieba对温病古籍中的语句文本进行分词处理,获得词级颗粒度文本;
3)基于分词处理结果,按索引位置分别构建字、词索引字典、词典,将语句、标注和字典词典保存为文件;
4)在各语句文本之后加入分词结果中与温病相关的长词(可人工辅助进行筛选),重构语句文本的输入序列,每个原语句文本重构形成新文本序列。为新文本序列中每个token添加两个位置编码,即前述的头和尾两个绝对位置编码。
例如,文本为“伤寒由毛窍而入”,分词后提取出温病相关的常见词“伤寒”和“毛窍”,添加到原文本后。伤为原文本第1个字,寒为原文本第2个字,毛为原文本第4个字,窍为原文本第5个字,将绝对位置编号分配给每个字/词。具体结果如图2。
5)通过字典、词典生成BERT预处理模型所需的索引输入,过BERT预处理浅层提取语法语义信息,输出新文本序列中每个字和词(均为token)的分布式表示。
假设“伤寒由毛窍而入”七个字与两个词“伤寒”“毛窍”索引为0,1,2,3,4,5,6,7,8,将之先表示为独热向量,如“伤”为[1,0,0,...]。输入到BERT中每个字token和词token分别得到128维的分布式表示,记为x1,x2,x3.....。
6)使用融合位置编码算法给每个字、词分配一个结合位置信息的带参数的编码使每个字和词的头绝对位置编码和尾绝对位置编码分别融入对应的分布式表示中,从而形成带位置编码的分布式表示。融合位置编码算法由上述线性变换公式实现:
具体的线性变换过程不再赘述。由于不同的两维元素进行线性转换时的可学习参数θ不共享,各自独立学习,而且需分别以token的头绝对位置编码和尾绝对位置编码作为位置信息n,对分布式表示中每一组两维元素独立进行线性转换。因此每个字token实际上将出现64个可学习参数θ,而每个词token实际上将出现128个可学习参数θ。
假设:“寒”的分布式表示为[a,b,c,d,....],变换后得到融入了绝对位置信息的表示[a cos 2θ
7)将字、词的向量表示和位置编码输入基于Transformer的网络,由网络结构融入相对位置信息,得到文本编码;
先通过W
q=xW
再通过自注意力机制,引入相对位置信息,同时能建立各字/词间的信息。先计算四个子注意力::
总的Attention可采用拼接或简化为将四个子注意力相加,本实例中采用相加的方式,即:
Z=∑Attention
得到Z之后,送到下一个模块,即全连接层。这个全连接有两层,第一层的激活函数是ReLU,第二层是一个线性激活函数,可以表示为:
FFN(Z)=max(0,ZW
8)将全连接层的输出结果输入条件随机场模型中,得到实体识别结果,即每个token对应的实体分类标签。
上述5)~8)构成了识别实体模型的框架,利用1)~4)得到的样本数据作为训练数据,即可进行模型的训练及预测,至此模型构建完成。
9)利用训练后的识别实体模型即可识别温病古籍,可以输入相关古籍文本,经过分词、向量化后输出文本中的病状、部位、药物、治疗方法
下面基于上述方法进行实验,并展示实验结果。为展示本方法效果,分别使用本方法和两种通用算法:lattice LSTM和Flat lattice Transformers。并在两种通用数据集和温病古籍数据集上多次实验,仅选取最优效果展示,证明本发明的优越性。具体结果见表1,其中性能指标选择精确率(pre)、召回率(rec)、F值(f)。
表1
从结果可以看出,本方法在通用数据集取得了很好的效果。同时在温病古籍文言文数据集上比其他两种算法有着显著提升,证明了在网络中加入融合性位置编码的有效性。
以上所述的实施例只是本发明的一种较佳的方案,然其并非用以限制本发明。有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型。因此凡采取等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。
机译: 一种用于手术器械的污染识别方法,可用于检测克雅氏病和其他相关病毒
机译: 一种体液抗体生物标记物,用于检测动脉病变、脑血管疾病、糖尿病、慢性肾病或实体瘤。
机译: 一种云芝提取物子实体,用于治疗和预防炎症性肠病和过敏性疾病的药物组合物