1.一种中文医学实体关系联合抽取方法,其特征在于:包括如下步骤:步骤一:准备待抽取实体关系的中文医疗文本Text,根据给定的本体约束集合(包括关系名称、头实体类型和尾实体类型),使用中文BERT模型,将每个关系名称表示成嵌入向量,得到关系的语义信息,即关系嵌入C={c1,c2,...,cl},其中l为关系总数;
步骤二:获取已标注的中文医疗信息抽取数据集Data(包括各个医疗文本的关系名称、头实体和尾实体的名称及类型),对Data进行预处理,得到每个医疗文本中头实体和尾实体的头尾位置;
步骤三:基于Flat_Lattice结构对Text和Data进行词汇增强,计算它们各个医疗文本中任意两个字(或者词)向量的4个相对距离,得到各个医疗文本字(或者词)向量及其相对距离矩阵,具体过程如下:
3.1)对Text和Data的各个医疗文本分别使用中文的BERT模型得到各自的字向量;
3.2)获取预训练好的中文生物医学词向量,将Text和Data的各个医疗文本分别与中文生物医学词向量的词表进行匹配,识别出与词表有交集的词语进行词汇增强,得到Text和Data的各个医疗文本的词语向量;
3.3)对Text和Data中每个医疗文本的字向量、词语向量进行头尾位置编码,得到字、词的开始及结束位置,使用Flat_Lattice中的相对位置编码技术得到任意两个字(或者词)向量xi和xj之间的4个相对距离 和 放入相对距离矩阵,其中 表示xi的开始位置到xj的开始位置的距离, 表示xi的开始位置到xj的结束位置的距离, 表示xi的结束位置到xj的开始位置的距离, 表示xi的结束位置到xj的结束位置的距离;
步骤四:从Data中取一批训练数据集,将其医疗文本的字(或者词)向量Z和位置编码向量R输入Transformer‑XL编码器得到医疗文本词汇增强后的字向量H={h1,h2,…,hn},n为医疗文本的长度,Transformer‑XL编码器由自注意力层和前馈层2个子层组成,每个子层之后接残差连接和层标准化,任意两个字(或者词)向量xi和xj之间的位置编码Rij由4个相对距离 和 以绝对位置编码形式拼接后经过一个激活函数为ReLU的全连接得到:
其中,Wr是待训练的参数,Pd采用绝对位置编码,d指代 和 基于位置编码向量R的自注意力机制如下:* *
Attention(A,V)=Softmax(A)V,[Q,K,V]=Ex[Wq,Wk,Wv],其中Wq,Wk,Z,Wk,R,u,v,Wk,Wv都是待训练的参数;
步骤五:根据关系嵌入C和Transformer‑XL编码器输出的医疗文本字向量H预测关系,得到预测关系列表,具体过程如下:(s)
5.1将H输入两个全连接得到自注意力值A ,其中第一个全连接使用tanh激活函数,第(s) (s)
二个全连接使用softmax激活函数,根据A 计算基于自注意力机制的医疗文本表示M :(s)
A =softmax(W2tanh(W1H)),(s) (s) T
M =A H,
其中W1和W2是待训练的参数;
(l) (l)
5.2根据C和H计算关系注意力值A 和基于关系注意力机制的医疗文本表示M :(l)
A =CH,
(l) (l) T
M =A H;
(s) (l)
5.3通过注意力融合机制,将M 和M 分别输入一个使用sigmoid激活函数的全连接得到α和β,由α+β=1对α和β进行约束,融合得到M:(s)
α=sigmoid(M W3),(l)
β=sigmoid(M W4),(s) (l)
M=αM +βM ,
其中W3和W4是待训练的参数;
5.4将M输入两个全连接得到关系标签的预测概率 第一个全连接使用ReLU激活函数,第二个全连接使用sigmoid激活函数:其中,W5和W6是待训练的参数,如果 大于阈值0.5,就加入预测关系列表;
步骤六:将Transformer‑XL编码器输出的医疗文本的每两个字向量hi和hj拼接后作一个全连接,得到字符对向量hij:其中激活函数使用的是tanh,Wh和bh是待训练的参数;
步骤七:通过融合特定关系嵌入的TPLinker解码器解码得到主谓宾三元组,用EH‑to‑ET标记实体的头尾字符,用SH‑to‑OH标记关系头尾实体的头字符,用ST‑to‑OT标记关系头尾实体的尾字符,其中,EH‑to‑ET、SH‑to‑OH和ST‑to‑OT解码器由一个相同的全连接实现:其中, 表示字符对hij被标记的预测值,kq表示第q个关系的嵌入,Wt、bt是待训练的参数,激活函数使用的是softmax,具体过程如下:
7.1)解码EH‑to‑ET得到医疗文本中的所有实体及其头字符;
7.2)对于预测关系列表中的每个关系,解码ST‑to‑OT得到头尾实体的尾字符对,将尾字符对和关系存入集合O中,同时解码SH‑to‑OH得到头尾实体的头字符对,将头字符对和所有实体的头字符进行匹配,找到头字符对对应的头尾实体存入集合S中;
7.3)判断S中每对头尾实体的尾字符对是否在O中,如果是,那么确定该三元组为(头实体,关系,尾实体);
步骤八:计算总的损失函数L,并通过反向传播算法进行联合训练,得到联合抽取模型:L=Lrel+Ltp,
其中Lrel是关系预测的损失函数,第q个关系的真实值 第q个关系的预测值ltp是加入关系预测后的损失函数,E、H和T分别表示EH‑to‑ET、SH‑to‑OH和ST‑to‑OT, 表示字符对hij被标记的预测值,yijq表示字符对hij被标记的真实值, 表示解码第q个关系时,字符对hij被标记为yijq的概率, 表示预测得到的关系数, 是根据给定的本体约束集合,找到的预测关系对应的头尾实体类型数,即预测得到的实体类型数;
步骤九:从Data中取一批验证数据集,将其医疗文本的字(或者词)向量及其相对距离矩阵输入联合抽取模型,计算联合抽取模型的F1分数:其中precision为精确率,recall为召回率;
步骤十:重复步骤四到九,直到超过预定的F1分数,保存联合抽取模型;
步骤十一:将Text的各个医疗文本词汇增强后的字(或者词)向量及其相对距离矩阵输入联合抽取模型,得到实体关系三元组。
2.实施权利要求1所述的一种中文医学实体关系联合抽取方法的系统,其特征在于包括:医疗关系嵌入表示模块、医疗文本中头实体和尾实体的头尾位置获取模块、医疗文本字词向量及其相对距离计算模块、词汇增强后的字向量输出模块、医疗文本的关系预测模块、医疗文本的字符对向量生成模块、主谓宾三元组输出模块、联合抽取模型训练模块、联合抽取模型的F1分数计算模块、循环训练联合抽取模型模块、医疗文本实体关系获取模块。