基于方阵标注和双仿射层注意力的实体抽取方法及系统转让专利
申请号 : CN202310565366.2
文献号 : CN116306657B
文献日 : 2023-08-22
发明人 : 李栓 , 金雨青 , 丁锴 , 王艺涵 , 胡汉一 , 那崇宁
申请人 : 之江实验室
摘要 :
权利要求 :
1.一种基于方阵标注和双仿射层注意力的实体抽取方法,其特征在于,包括如下步骤:
(1)获取大量文本语料并存储至文本数据库中;
(2)清洗文本数据库中的文本语料,并根据文本的标签进行方阵标注得到标签方阵;所述清洗文本数据库中的文本语料为依次进行英文字母大小写统一、中英文标点符号统一、繁体中文转简体中文、删除乱码及无法打印字符的操作;所述根据文本的标签进行方阵标注的具体包括如下子步骤:(2.1)将语料库中的文本语料按照字符进行切分,形成每个文本的字符序列表示Ti=[ti1,ti2,ti3,...]和每个文本的字符序列表示长度Leni;并统计每个文本标签中的实体在文本中对应的起始和结束位置En2SEi={eni1:[si1,ei1],eni2:[si2,ei2],eni3:[si3,ei3],...enij:[sij,eij],...};
(2.2)将文本语料里的实体类型数字化,并建立每个标签中的实体与对应实体类型的数值的字典En2numi={eni1:2,eni2:1,eni3:2,...enij:7,...},其中{eni1:2}表示实体eni1的类别为地点名,而地点名的实体类型用数字2表示;
(2.3)建立一个长和宽均为Leni的空标签方阵Matrixi,将方阵中第sij到eij行且位于第sij到eij列的子方阵中的值设为En2numi中键值为enij对应的值,即使用En2numi[enij]的值填充Matrixi[sij:eij,sij:eij],标签方阵Matrixi中其他位置使用0值填充;
(3)构建基于预训练模型和双仿射层注意力机制的实体抽取模型并进行训练,并根据训练好的模型去抽取文本中存在的实体;所述训练具体包括如下子步骤:(4.1)将文本数据库中的有标签语料划分为训练集Strain和评估集Sdev;
(4.2)将Strain=[T1,T2,T3,...Ti,...]中的语料按批次Ti输入构建的实体抽取模型Model,Ti表示Strain=[T1,T2,T3,...Ti,...]里面的一个语料,得到文本i的方阵得分矩阵scorei=Model(Ti);将文本i的方阵得分矩阵scorei和标签方阵Matrixi打平,即将方阵得分矩阵scorei的维度从三维Leni×Leni×(c+1)变换为二维Leni×(Leni×c+Leni),将二维标签方阵Matrixi打平成一维向量;
(4.3)将打平后方阵得分矩阵scorei和标签方阵Matrixi输入交叉熵损失函数
Crossentropy计算模型的损失值并进行反馈优化,即lossi=CrossentropyLoss(scorei,Matrixi);
(4.4)当训练集每一轮训练结束后,将评估集Sdev中的语料按批次输入实体抽取模型Model,并统计每一轮训练结束后评估集在当前模型上的F1值,所述F1值的标准计算公式为F1=(2×Precision×Recall)/(Precision+Recall),Precision为精确率,表示预测为正确的样本中,真正对的样本所占的比例,Recall为召回率,表示真正正确的样本中,预测对的样本所占的比例;若F1值在连续五轮的训练中未超过设定的最大值F1max,则停止训练;若超过设定的最大值F1max,则将当前的F1值赋予设定的最大值F1max;
(4)最终输出识别的实体。
2.根据权利要求1所述的一种基于方阵标注和双仿射层注意力的实体抽取方法,其特征在于,所述构建基于预训练模型和双仿射层注意力机制的实体抽取模型具体包括如下子步骤:(3.1)将输入文本的字符序列表示Ti=[ti1,ti2,ti3,...]进行文本向量化得到Xi=[xi1,xi2,xi3,...];使用预训练模型构建文本的语义编码器,即Xi,embed=encoder(Xi);
(3.2)使用双仿射层注意力机制模型去交互不同层面的文本语义信息,具体是使用两个全连接层构建双仿射层,即h1i=W1(Xi,embed)+b1、h2i=W2(Xi,embed)+b2,使用注意力机制交互双仿射层拟合的信息得到文本的方阵得分矩阵scorei,即 式中h1i,h2i和Xi,embed的维度为Leni×d,W1和W2的维度为d×d,Um的维度是d×c×d,scorei的维度是Leni×Leni×(c+1),b1、b2和bm是偏置,d表示文本的词嵌入维度,c是实体类别的数量加1。
3.根据权利要求2所述的一种基于方阵标注和双仿射层注意力的实体抽取方法,其特征在于,所述使用预训练模型构建文本的语义编码器,其预训练模型采用RoBERTa‑Base模型,并以RoBERTa‑Large模型和RoBERTa‑Base模型的蒸馏模型rbt3为备用。
4.根据权利要求1所述的一种基于方阵标注和双仿射层注意力的实体抽取方法,其特征在于,所述将评估集Sdev中的语料按批次输入实体抽取模型Model,并统计每一轮训练结束后评估集在当前模型上的F1值,具体包括如下步骤:(5.1)将将评估集Sdev中的语料Tm∈Sdev按批次输入实体抽取模型Model,所述Tm的下标m表示评估集中的第m条语料,得到语料Tm的方阵得分矩阵scorem,即scorem=Model(Tm);
(5.2)由语料Tm的得分矩阵scorem查询语料Tm中每个实体的起始位置smn和结束位置emn,所述smn下标n表示语料Tm的第n个实体;从位置0到位置Lenm‑1遍历实体的起始位置smn,从位置Lenm到位置1遍历实体的结束位置emn,若同时存在位置smn和位置emn,使得方阵得分矩阵scorem中的第smn行的第smn列到第emn列与第smn列中的第smn行到第emn行中所有向量和预测的结果为实体enmn,即max_cound(scorem[smn,smn;emn],scorem[smn:emn,Smn])→enmn,式中max_count表述出现次数最多的值;且方阵得分矩阵scorem中的第emn行的第smn列到第emn列与第emn列中的第smn行到第emn行中所有向量和预测的结果也为实体enmn,即max_cound(scorem[smn,smn;emn],scorem[smn:emn,emn])→enmn;
(5.3)通过起始位置smn和结束位置emn预测中语料m中的实体enmn;循环查找,直至遍历出文本中所有实体的起始位置和结束位置,并预测出起始位置和结束位置对应的实体;并计算预测实体与实际实体的F1值。
5.根据权利要求1所述的一种基于方阵标注和双仿射层注意力的实体抽取方法,其特征在于,所述根据训练好的模型去抽取文本中存在的实体即为预测评估集语料中实体的流程。
6.一种基于方阵标注和双仿射层注意力的实体抽取系统,其特征在于,包括文本数据库模块、文本预处理模块、文本建模模块、输出模块;
文本数据库模块:获取大量文本语料并存储至文本数据库中;
文本预处理模块:清洗文本数据库中的文本语料,并根据文本的标签进行方阵标注;所述清洗文本数据库中的文本语料为依次进行英文字母大小写统一、中英文标点符号统一、繁体中文转简体中文、删除乱码及无法打印字符的操作;所述根据文本的标签进行方阵标注的具体包括如下子步骤:(2.1)将语料库中的文本语料按照字符进行切分,形成每个文本的字符序列表示Ti=[ti1,ti2,ti3,...]和每个文本的字符序列表示长度Leni;并统计每个文本标签中的实体在文本中对应的起始和结束位置En2SEi={eni1:[si1,ei1],eni2:[si2,ei2],eni3:[si3,ei3],...enij:[sij,eij],...};
(2.2)将文本语料里的实体类型数字化,并建立每个标签中的实体与对应实体类型的数值的字典En2numi={eni1:2,eni2:1,eni3:2,...enij:7,...},其中{eni1:2}表示实体eni1的类别为地点名,而地点名的实体类型用数字2表示;
(2.3)建立一个长和宽均为Leni的空标签方阵Matrixi,将方阵中第sij到eij行且位于第sij到eij列的子方阵中的值设为En2numi中键值为enij对应的值,即使用En2numi[enij]的值填充Matrixi[sij:eij,sij:eij],标签方阵Matrixi中其他位置使用0值填充;
文本建模模块:构建基于预训练模型和双仿射层注意力机制的实体抽取模型并进行训练,
并根据训练好的模型去抽取文本中存在的实体;所述训练具体包括如下子步骤:
(4.1)将文本数据库中的有标签语料划分为训练集Strain和评估集Sdev;
(4.2)将Strain=[T1,T2,T3,...Ti,...]中的语料按批次Ti输入构建的实体抽取模型Model,Ti表示Strain=[T1,T2,T3,...Ti,...]里面的一个语料,得到文本i的方阵得分矩阵scorei=Model(Ti);将文本i的方阵得分矩阵scorei和标签方阵Matrixi打平,即将方阵得分矩阵scorei的维度从三维Leni×Leni×(c+1)变换为二维Leni×(Leni×c+Leni),将二维标签方阵Matrixi打平成一维向量;
(4.3)将打平后方阵得分矩阵scorei和标签方阵Matrixi输入交叉熵损失函数
Crossentropy计算模型的损失值并进行反馈优化,即lossi=CrossentropyLoss(scorei,Matrixi);
(4.4)当训练集每一轮训练结束后,将评估集Sdev中的语料按批次输入实体抽取模型Model,并统计每一轮训练结束后评估集在当前模型上的F1值,所述F1值的标准计算公式为F1=(2×Precision×Recall)/(Precision+Recall),Precision为精确率,表示预测为正确的样本中,真正对的样本所占的比例,Recall为召回率,表示真正正确的样本中,预测对的样本所占的比例;若F1值在连续五轮的训练中未超过设定的最大值F1max,则停止训练;若超过设定的最大值F1max,则将当前的F1值赋予设定的最大值F1max;
输出模块:输出识别的实体。
7.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至5中任一项所述的一种基于方阵标注和双仿射层注意力的实体抽取方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至5中任一项所述的一种基于方阵标注和双仿射层注意力的实体抽取方法。
说明书 :
基于方阵标注和双仿射层注意力的实体抽取方法及系统
技术领域
背景技术
发明内容
;
的值填充 ,标签方阵 中其他位置使用0值填充。
, 和 的维度为 , 和 的维度为 , 的维度是 , 的维
度是 ,、 和 是偏置,表示文本的词嵌入维度,是实体类别的数量
加1。
打平,即将方阵得分矩阵 的维度从三维 变换为二维
,将二维标签方阵 打平成一维向量;
;
;
位置 ,从位置 到位置1遍历实体的结束位置 ,若同时存在位置 和位置 ,使
得方阵得分矩阵 中的第 行的第 列到第 列与第 列中的第 行第 行中
所有向量和预测的结果为实体 ,即
,式中 表述出现次数
最多的值;且方阵得分矩阵 中的第 行的第 列到第 列与第 列中的第 行
第 行中所有向量和预测的结果也为实体n,即
;
附图说明
具体实施方式
示: ,示例文本的文本
长度为10;
本中对应的起始和结束位置字典为:{‘一月’: [0,1], ‘三A股份’:[4,7]};将文本语料里的实体类型数字化,并建立每个标签中的实体与对应实体类型的数值的字典
,例如 表示实体 的类别为地点名,而
地点名的实体类型用数字2表示,示例文本中实体与对应实体类型的数值的字典为:{‘一月’: 3, ‘三A股份’:6};建立一个长和宽均为 的空标签方阵 ,将方阵中第 到
行且位于第 到 列的子方阵中的值设为 中键值为 对应的值,即使用
的值填充 ,标签方阵 中其他位置使用0值填充,示
例文本的标签方阵如图2所示,字符“三”、“月”的字符均属于“三月”这个时间实体,且“三”、“月”分别位于文本序列表示的第一个、第二个位置,则标签矩阵中位于0 1行且0 1列位置~ ~
使用时间实体的类别3进行标注,即图三中颜色较深的浅灰色部分。字符“三”、“A”、“股”、“份”属于公司名实体“三A股份”,且字符“三”、“A”、“股”、“份”位于文本序列表示的第4 7的~
位置,则标签矩阵中位于4 7行且4 7列位置使用公司名实体的类别6进行标注,即图2中深~ ~
灰色部分。其他位置使用字符0标记,即标签矩阵的浅灰色部分。
用预训练模型构建文本的语义编码器中的预训练模型采用RoBERTa‑Base模型,并以RoBERTa‑Large模型为备用,以面对更高准确率、低推断速度的应用需求,以rbt3模型(RoBERTa‑Base模型的蒸馏模型)为备用,以面对较低准确率,高推断速度的应用需求。
和 的维度为 , 和 的维度为 , 的维度是 , 的维度是
,、 和 是偏置,表示文本的词嵌入维度,是实体类别的数量加1。
和标签方阵 打平,即将方阵得分矩阵 的维度从三维 变
换为二维 ,将二维标签方阵 打平成一维向量;将打平后方阵得
分矩阵 和标签方阵 输入交叉熵损失函数 计算模型的损失值并进行
反馈优化,即 ;当训练集每一轮训练结束后,将评估集
中的语料按批次输入实体抽取模型 ,并统计每一轮训练结束后评估集在当前模型
上的F1值,若F1值在连续五轮的训练中没有超过设定的最大值 ,则停止训练,若超过设定的最大值 ,则将当前的F1值赋予设定的最大值 。
次输入实体抽取模型 (下标m表示评估集中的第m条语料),得到语料 的方阵得分矩阵 ,即 ;并由语料 的得分矩阵 查询语料 中每个实体的
起始位置 和结束位置 (下表n表示语料 的第n个实体);从位置0到位置 遍历
实体的起始位置 ,从位置 到位置1遍历实体的结束位置 ,若同时存在位置 和位
置 ,使得方阵得分矩阵 中的第 行的第 列到第 列与第 列中的第 行第
行中所有向量和预测的结果为实体 ,即
,式中 表述出现次数
最多的值;且方阵得分矩阵 中的第 行的第 列到第 列与第 列中的第 行
第 行中所有向量和预测的结果也为实体n,即
;则通过起始位置 和结束位置
预测中语料m中的实体 ;循环查找,直至遍历出文本中所有实体的起始位置和结束位置,预测出起始位置和结束位置对应的实体;并计算预测实体与实际实体的F1值;
实体“三A股份”最终的预测结果。同理第6行第8列的值被错误的预测成6,因
,该位置的预测结果被纠正为0,也完全不影响
实体“三圣股份”最终的预测结果;