利索能及
我要发布
收藏
专利号: 2022106531615
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-08-19
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于注意力状态转移模型的生物嵌套命名实体识别方法,包含以下步骤:

步骤1:将包含DNA、RNA、蛋白质、细胞系和细胞这五种类型实体标签的生物领域文本分为训练数据和测试数据;

步骤2:根据注意力状态转移模型和语义遮罩模型的输入形式,将训练数据调整为满足模型输入的形式;

注意力状态转移模型的输入是模型的状态,将其定义为一个元组(B1,S1,S2,B2),其中B1、B2表示两个队列,用其作为缓冲区Buffer来存储上下文信息,S1、S2表示堆栈Stack,用来存储当前状态下模型需要判断的词;其中S2结构仅存放一个词来用于单个词是否构成实体的判断,S1结构中存放与S2可能构成实体的单词;通过字典{'buffer1':[],'stack1':[],'stack2':[],'buffer2':[]}存放句子中的词来表示当前模型的状态;根据句子中实体及其类型生成注意力状态转移模型数据集的正例,当S1中单个词构成实体或S1与S2中的词构成时,模型的输出标签为其实体的类型,当S1中的词与S2中的词有关联但并没有构成一个完整的实体,用‘correlation’作为模型的输出标签;随机抽取非实体的词生成注意力状态转移模型数据集的负例,用‘not’表示负样例的标签;

语义遮罩模型的输入为用特殊标识符将原始句子与遮罩后句子间隔开的句子,遮罩的句子是在原始句子的基础上,将原始句子中的类型实体用其类型标识符进行替换;根据句子中实体及其类型生成语义遮罩模型数据集的正例,随机抽取非实体的词生成注意力状态转移模型数据集的负例;

步骤3:训练注意力状态转移模型,用来学习词与词之间的关联性,通过模型输出的状态能够从文本中提取出候选实体并判断其类型;

通过拼接上下文表示 非上下文表示 和字符级表示 作为当前词的词向量其中, 通过预训练模型获得;非上下文表示 通过预训练的Wordvecs获得; 是单词中的每个字符通过BiLSTM模型生成而来;[;]表示向量的拼接操作;

B1、B2的状态表示β1、β2都是通过单向LSTM模型对结构中的词向量进行特征提取获得的;

其中, 表示B1中第i个词的d维向量表示, 表示B2中第i个词的d维向量

表示;

对于单个词的类型判断,S1的状态表示S1也是通过单向LSTM模型对结构中的词向量进行特征提取获得的;

其中, 表示S1中第i个词的d维向量表示;

S2的状态表示S2是 表示S2中单词的d维向量表示;

对于多个词的类型判断,由于模型需要关注到S1与S2两个结构中词的关联性,引入了注意力机制;

其中, 表示缩放因子,用于优化点积注意力的缺陷,将值缩放到softmax函数变化最大的区域,放大差距;

此时S1的状态表示S1是对S1与S2中词向量进行关注并通过LSTM的结果,S2的状态表示S2是对S2与S1中词向量进行关注的结果;S1=LSTM(Attention(S′1,S′2))      (6)S2=Attention(S′2,S′1)       (7)其中, 表示S1中h个词的词向量所构成的矩阵, 表示S2中词的词向

量词向量所构成的矩阵;

整个模型的状态表示为 由4个结构的状态表示拼接而成;

Pk=[β1;S1;S2;β2]      (8)

得到模型的状态表示Pk后,会通过多层感知器MLP进行分类,将分类结果为实体类型的词作为候选实体;

步骤4:训练语义遮罩模型,用来判断候选实体及其类型是否符合上下文语义;

利用BERT模型获取遮罩语句和原始语句的全局特征的向量表示v[cls]、v[sep],拼接向量v[cls]和v[sep],并通过多层感知器MLP进行二分类,判断遮罩的实体边界和实体的类型是否上下文语意;

步骤5:将测试数据输入到注意力状态转移模型中,提取出候选实体,随后将提取的实体进行遮罩,送入到语义遮罩模型中进行筛选,最终确认出符合上下文的实体;

模型的输入为单词序列x0,x1,...,xn,整体的运行过程如下:

1.所有词存放入B2中为最初状态,最初状态表示为{'buffer1':[],'stack1':[],'stack2':[],'buffer2':[x0,x1,...,xn]};

2.将B2的第一个词放入S2中,当前状态表示为{'buffer1':[],'stack1':[],'stack2':[x0],'buffer2':[x1,...,xn]};

3.对S2中的词进行单个词的类型判断;若得到单个词的实体类型,则将该词作为候选实体,并对其进行遮罩后送入语义遮罩模型中进行判断;

4.将S2中的词存放入S1中,当前状态表示为{'buffer1':[],'stack1':[x0],'stack2':[],'buffer2':[x1,...,xn]};

5.将B2中的第一个词放入S2中,当前状态表示为{'buffer1':[],'stack1':[x0],'stack2':[x1],'buffer2':[x2,...,xn]};

6.对S1与S2中的词进行多个词的类型判断;若判断结果为实体类型,则将S1与S2中的词作为候选实体,并对其进行遮罩后送入语义遮罩模型中进行判断;若类型为‘correlation’,则将S2中的词放入S1中,将B2的第一个词放入S2中,即{'buffer1':[],'stack1':[x0,x1],'stack2':[x2],'buffer2':[x3,...,xn]},再进行多个词的类型判断,循环该过程直到输出类型为‘not’或B2为空;

7.将状态调整为{'buffer1':[],'stack1':[],'stack2':[x0],'buffer2':[x1,...,xn]},将S2的元素存放入B1中,即{'buffer1':[x0],'stack1':[],'stack2':[],'buffer2':[x2,...,xn]};

8.循环过程2到7直到句子中的每个单词都被S2遍历一遍得到候选实体集合,对集合中的实体进行遮罩,并将原始句子和遮罩后的句子送入语义遮罩模型进行判断,若符合上下文语意,则为最后识别的实体,若不符合则舍弃;

对测试集中的句子都进行上述操作,会得到所有识别的实体,其中包括嵌套实体和长实体。

2.如权利要求1所述的一种基于注意力状态转移模型的生物嵌套命名实体识别方法,其特征在于:步骤3所述的预训练模型包BERT、BioBERT等;步骤3所述预训练的Wordvecs包括BioWord2Vec和GloVe。

3.如权利要求1所述的一种基于注意力状态转移模型的生物嵌套命名实体识别方法,其特征在于:步骤3和4所述的多层感知器MLP包括线性层和GLUE激活函数。