专利名称:一种基于层级注意力和标签引导学习的关键信息识别方法
专利类型:发明专利
专利申请号:CN202111319941.8
专利申请(专利权)人:北京理工大学
权利人地址:北京市海淀区中关村南大街5号
专利发明(设计)人:牛振东,何慧,张春霞,白思萌,易坤
专利摘要:本发明涉及一种基于层级注意力和标签引导学习的关键信息识别方法,属于文本挖掘和信息处理技术领域。本发明采用基于层级注意力和标签引导学习融合的关键信息识别框架,将文本表示模型直接应用于文本挖掘的局限性,词编码层和句编码层能够充分捕捉文本组织结构,将重要单词聚合为句子向量,然后将重要句子向量聚合为文本向量;词注意力层和句注意力层将注意力机制分别用于单词和句子层面,使其能够在文本表示时区别关注更重要或者次重要的内容;采用标签引导学习层执行基于标签的注意力编码,将文本表示映射到标签空间,标签引导学习层可以直接与上下文编码一起联合学习。本发明在引文分析、信息检索和细粒度知识服务等领域,具有广阔的应用前景。
主权利要求:
1.一种基于层级注意力和标签引导学习的关键信息识别方法,其特征在于,包括以下步骤:步骤1:采集文献数据;
步骤2:解构文献数据并存储;步骤2.1:按页读取文献,根据段落之间的距离,对文档内容进行段落级切分,获取文本块;
首先,定义文本块block:block[x0,y0,x1,y1,page,uniqueId,textb],其中,x0,y0,x1,y1为对应block的位置坐标信息, 为block所属的页面信息,uniqueId为block所属论文唯一标识,textb为block的文字信息;
然后,合并因换页、插入表格/图片问题产生的异常block分割,去除包括页眉、页脚在内的无关信息,记录其坐标和页面信息,并将内容转为文本;
最后,定义文本块列表blockList为:blockList[block0,block1,…,blockj],其中,j表示block编号;
步骤2.2:根据停用词和标点符号,对文本块的列表进行句子级切分;
对步骤2.1获取的文本块列表blockList进行句子级切分,构建标签列表labelList:labelList[‘objective’,‘background’,‘method’,‘result’,‘conclusion’,‘others’],对句子类别进行人工标注,其中,objective表示目标,background表示背景,method表示方法,result表示结果,conclusion表示结论,others表示非关键信息;
定义句子senten为:senten{‘id’:uniqueId,‘content’:texts,‘labels’:labels,‘labelNum’:labelNum},其中,labels为句子标签,labelNum为标签数量,content为数据字典的键,texts为句子文本内容;
定义句子列表sentenList为:sentenList[senten0,senten1,…,sentenm],其中m表示senten编号;
步骤3:文本预处理,包括对预训练语料库进行预处理,构建预训练集;步骤3.1:获取文本语料库,依据步骤2中的标签列表labelList,构造相同标签列表,按行读取语料库,分别提取每篇文献的唯一标识uniqueId、文本内容、标签和对应标签数量;然后,隔离抽取标签为others的样本;
句子列表sentenPubList的格式为:sentenPubList[sentenPub0,sentenPub1,…,sentenPubn],其中,n表示sentenPub编号;
步骤3.2:利用自然语言处理工具,对步骤2.2和步骤3.1存储的句子列表sentenList、句子列表sentenPubList的所有句子文本进行处理,处理包括分词、去除标点符号和去除停用词;
步骤3.3:sentenList和sentenPubList中的texts和textp进行扩充,将前一句和后一句包含进来,作为最终的文本;
步骤3.4:构建预训练集和微调集;其中,sentenPubList和sentenList分别作为预训练集和微调集;
步骤4:构建预训练词编码层;
首先,获取在无标签文本语料库上预训练的语言表示模型;
然后,将步骤3构建的预训练集输入到预训练后的语言表示模型中,将所有词语映射为词向量,获得嵌入矩阵We,同时,将模型权重调至损失稳定;
步骤5:采用层级注意力和标签引导学习融合模型,进行关键信息识别,其中,融合模型包括:词编码层、词注意力层、句编码层、句注意力层、标签引导学习层和分类层;
包括以下步骤:
步骤5.1:将步骤3构建的训练集输入到词编码层;
设输入为一个句子包含单词 ,其中,t表示时刻,T表示总的时间;
首先,通过步骤4微调后的预训练语言模型,将单词表示为向量 ,其中, 表示单词;然后,使用双向长短期记忆网络,通过汇总来自单词两个方向的信息,获得单词注释,将上下文信息整合到注释中;其中,双向长短期记忆网络包含前向 ,意为从 到读取句子 ,以及后向 ,意为从 到 读取句子 ;
计算时间 时,双向长短期记忆网络的双向隐藏状态 和
,以及隐藏状态 是前一状态 和当前状
态 之间用新的序列信息计算的线性插值; 表示前向隐藏状态, 表示后向隐藏状态;
表示t时刻输入单词的向量,⊙表示点乘操作;
其中,更新门 决定保留多少过去的信息和添加多少新信息,门 的更新方式为:,其中, 是 时刻的序列向量,σ表示激活函数, 、 均为门神经元权重矩阵, 表示偏置;
候选状态 的计算方式为: ,其中, 为重置门,控
制过去状态对候选状态的贡献程度,如果 为0则会忘记前一个状态;tanh为激活函数;
、 均表示门神经元权重矩阵, 表示偏置;
步骤5.2:拼接步骤5.1获得的前向隐藏状态 和后向隐藏状态 ,获得给定单词的注释,即: ;以 为中心,总结整个句子信息;
步骤5.3:将隐藏状态输入到词注意力层;
设文档有 个句子 ,每个句子包含 个单词, 表示第 个句子中的单词;
在词注意力层,引入注意力机制来提取对句子意义重大的词语,并聚合这些词语的表示,形成句子向量;
将步骤5.2获得的 通过单层感知器获得 的隐藏表示 ,然后将单词的重要性作为其与单词级上下文向量 的相似性进行度量,并通过激活函数获得归一化的重要性权重;通过基于权重的单词注释的加权和,计算句子向量 ;
步骤5.4:将句子向量 输入句编码层,得到隐藏状态 和 ;
步骤5.5:拼接 和 ,得到句子注释,即 ;
步骤5.6:将隐藏状态 输入到句注意力层,获得句子级上下文向量 ,并使用该向量来衡量句子的重要性,获得样本向量 ,其总结了样本中句子的所有信息;
步骤5.7:将句子 输入到标签引导学习层;
将标签进行表示,其中 为标签, 为 的表示向量;然后将句子信息投影到标签表示空间, 表示在d维上的子向量;
计算方式为: ,其中, 表示最终的文本序列;d表示v的维度; 表示第j个子向量; 是标签注意力权重,用来衡量标签文本对 兼容性,兼容性通过余弦相似度计算;
步骤5.8:将 输入到分类层进行文本分类,获得概率 , 表示权重矩阵, 表示偏置;使用标签的负对数似然 作为损失函数,其中,表示获得的概率, 是样本 的标签。
2.如权利要求1所述的一种基于层级注意力和标签引导学习的关键信息识别方法,其特征在于,微调集按照6:2:2划分为训练集、验证集、测试集。
3.如权利要求1所述的一种基于层级注意力和标签引导学习的关键信息识别方法,其特征在于,步骤4中,使用在通用语料库上预训练的语言模型进行初始化。
4.如权利要求1所述的一种基于层级注意力和标签引导学习的关键信息识别方法,其特征在于,步骤5中,句子级上下文向量在训练过程中随机初始化和共同学习。 说明书 : 一种基于层级注意力和标签引导学习的关键信息识别方法技术领域[0001] 本发明涉及一种信息识别方法,具体涉及一种基于层级注意力和标签引导学习的关键信息识别方法,属于文本挖掘和信息处理技术领域。背景技术[0002] 文献分析在促进科技创新方面发挥着重要作用,有助于研究者全面了解科学技术的发展。例如,近年来生物医学文献数量持续快速增长,平均每天有3000多篇新文章发表在同行评议期刊上,不包括各种档案中的预印本和技术报告(如临床试验报告等)。截至2019年1月,仅生物医学文献数据库PubMed(https://pubmed.ncbi.nlm.nih.gov/)就有2900万篇文章,包含关于新发现和新见解的报告不断被添加到文献中。因此,越来越需要精准的文本挖掘工具从文献中抽取信息。传统的文献分析主要关注主题、作者、摘要、关键词、参考文献等文献元数据,而对文献的目标、背景、方法、结果、结论语句信息等关注较少。上述表达目标、背景、方法、结果、结论信息的语句,统称为关键信息。[0003] 目前,文献的关键信息识别技术问题可以转化为文本单标签多分类技术问题。李鹏等人在发明专利“一种基于人工智能的多级文本多标签分类方法及系统”中提出,序列到向量编码模块对输入的“文本‑类别”向量序列进行编码,对给定文本预测类别标签;Arman等在文献“PretrainedLanguageModelsforSequentialSentenceClassification”(CoRR,2019)中提出,应用预训练语言模型构造上下文联合句子表示,捕捉上下文依赖性;Chang等在文献“Languagemodelpre‑trainingforhierarchicaldocumentrepresentations”(CoRR,2019)提出,使用条件随机场捕获前后标签之间的依赖,通过考虑标签信息提高句子分类性能;Lin等在文献“Astructuredself‑attentivesentenceembedding”(ICLR,2017)中提出,提出基于序列模型的局部自注意力机制,构建矩阵表示和惩罚项,将句子的不同方面提取到多个向量表示中;Yang等在文献“SGM:sequencegenerationmodelformulti‑labelclassification”(CoRR,2018)中提出,生成序列模型能够捕获前后标签的依赖,嵌入解码器的局部注意力机制能够在预测标签时自动选择信息量最大的单词。[0004] 但是,现有的文献关键信息识别方法绝大多数都是基于序列模型架构,存在以下问题:[0005] 由于词分布从一般领域语料库向特定领域语料库转移,现有方法一是将通用语言表示模型直接应用到特定领域文本挖掘中,会使文本学习过程发生偏移;二是在文本表示学习过程中能够捕获源文本细粒度信息和前后标签的依赖,忽略了文本存在特别的层级组织结构,没有将文本结构知识纳入模型架构;三是更多关注局部上下文信息,忽略了标签的差异性,没有将全局标签线索嵌入到文本表示学习过程。发明内容[0006] 本发明的目的是为了克服现有的文献关键信息识别方法存在的不足,为解决文献关键信息高效识别的技术问题,创造性地提出一种基于层级注意力和标签引导学习的关键信息识别方法。[0007] 本发明采用的技术方案如下:[0008] 一种基于层级注意力和标签引导学习的关键信息识别方法,包括以下步骤:[0009] 步骤1:采集文献数据。[0010] 步骤2:解构文献数据并存储。[0011] 具体地,包括以下步骤:[0012] 步骤2.1:按页读取文献,根据段落之间的距离,对文档内容进行段落级切分,获取文本块。[0013] 具体地,可以采用以下方式实现:[0014] 首先,定义文本块block:block[x0,y0,x1,y1,page,uniqueId,textb],其中,x0,y0,x1,y1为对应block的位置坐标信息,page为block所属的页面信息,uniqueId为block所属论文唯一标识,textb为block的文字信息;[0015] 然后,合并因换页、插入表格/图片问题产生的异常block分割,去除包括页眉、页脚在内的无关信息,记录其坐标和页面信息,并将内容转为文本。[0016] 最后,定义文本块列表blockList为:blockList[block0,block1,…,blockj],其中,j表示block编号。[0017] 步骤2.2:根据停用词和标点符号,对文本块列表blockList进行句子级切分。[0018] 具体地,可以采用以下方式实现:[0019] 对步骤2.1获取的文本块列表blockList进行句子级切分,构建标签列表labelList:labelList[‘objective’,‘background’,‘method’,‘result’,‘conclusion’,‘others’],对句子类别进行人工标注,其中,objective表示目标,background表示背景,method表示方法,result表示结果,conclusion表示结论,others表示非关键信息。[0020] 定义句子senten为:senten{‘id’:uniqueId,‘content’:texts,‘labels’:labels,‘labelNum’:labelNum},其中,labels为句子标签,labelNum为标签数量,content为数据字典的键,texts为句子文本内容。[0021] 定义句子列表sentenList为:sentenList[senten0,senten1,…,sentenm],其中m表示senten编号;[0022] 步骤3:文本预处理。[0023] 具体地,包括以下步骤:[0024] 步骤3.1:对预训练语料库进行预处理。[0025] 首先,获取文本语料库,依据步骤2.2中的labelList构造相同标签列表,按行读取语料库,分别提取每篇文献的唯一标识uniqueId、文本内容、标签和对应标签数量。进一步地,其具体存储格式为:sentenPub{‘id’:uniqueId,‘content’:textp,‘labels’:labels,‘labelNum’:labelNum},其中,textp为文本内容。[0026] 然后,为了平衡数据集,维持预训练过程的稳定,隔离抽取标签为others的样本。最终的预训练语料库最不常见标签出现频率比最常见标签出现频率低大约4倍,表明数据集没有过度不平衡。[0027] 句子列表sentenPubList的格式为:sentenPubList[sentenPub0,sentenPub1,…,sentenPubn],其中,n表示sentenPub编号。[0028] 步骤3.2:利用自然语言处理工具,对步骤2.2和步骤3.1存储的sentenList和sentenPubList的所有句子文本进行处理,处理包括分词、去除标点符号和去除停用词。[0029] 步骤3.3:考虑句子上下文的影响,将sentenList和sentenPubList中的texts和textp进行扩充,将前一句和后一句包含进来,作为最终的文本;[0030] 步骤3.4:构建预训练集和微调集(训练、验证、测试集)。其中,sentenPubList和sentenList分别作为预训练集和微调集。[0031] 优选地,微调集按照6:2:2划分训练集、验证集、测试集。[0032] 步骤4:构建预训练词编码层。[0033] 具体地,包括以下步骤:[0034] 步骤4.1:获取在无标签文本语料库上预训练的语言表示模型。为了提高计算效率,可以使用在通用语料库上预训练的语言模型来初始化。[0035] 步骤4.2:将步骤3.4构建的预训练集sentenPubList输入到预训练后的语言表示模型中,将所有词语映射为词向量,获得嵌入矩阵We,同时,将模型权重调至损失稳定。[0036] 步骤5:采用层级注意力和标签引导学习融合模型,进行关键信息识别。其中,融合模型包括:词编码层、词注意力层、句编码层、句注意力层、标签引导学习层和分类层。[0037] 具体地,包括以下步骤:[0038] 步骤5.1:将步骤3.4构建的训练集输入到词编码层。[0039] 设输入为一个句子包含单词wit,t∈[0,T],其中,t表示时刻,T表示总的时间。[0040] 首先,通过步骤4.2微调后的预训练语言模型,将单词表示为向量xij=Wewij,其中,wij表示单词。然后,使用双向长短期记忆网络,通过汇总来自单词两个方向的信息,获得单词注释,将上下文信息整合到注释中。其中,双向长短期记忆网络包含前向 意为从wi1到wiT读取句子si,以及后向 意为从wiT到wi1读取句子si。[0041] 计算时间t时,双向长短期记忆网络的双向隐藏状态 t∈[1,T]和t∈[T,1],以及隐藏状态ht=(1‑zt)⊙ht‑1+zt⊙ht是前一状态ht‑1和当前状态ht之间用新的序列信息计算的线性插值。 表示前向隐藏状态, 表示后向隐藏状态;xit表示t时刻输入单词的向量,⊙表示点乘操作。[0042] 其中,更新门zt决定保留多少过去的信息和添加多少新信息,门zt的更新方式为:zt=σ(Wzxt+Uzht‑1+bz),其中,xt是t时刻的序列向量,σ表示激活函数,Wz、Uz均为门神经元权重矩阵,bz表示偏置。[0043] 候选状态ht的计算方式类似于传统的递归神经网络:h=tanh(Whxt+rt⊙(Uhht‑1)+bh),其中,rt为重置门,控制过去状态对候选状态的贡献程度,如果rt为0则会忘记前一个状态;tanh为激活函数;Wh、Uh均表示门神经元权重矩阵,bh表示偏置。[0044] 步骤5.2:拼接步骤5.1获得的前向隐藏状态 和后向隐藏状态 获得给定单词wit的注释,即: 以wit为中心,总结整个句子信息。[0045] 步骤5.3:将隐藏状态输入到词注意力层。[0046] 通常情况下,关注文本级别的分类,此处取特殊情况。设文档有L个句子si,每个句子包含Ti个单词,wit,t∈[1,T]表示第i个句子中的单词。[0047] 在词注意力层,并不是所有的词都能同等地表达句子意思。因此,引入注意力机制来提取对句子意义重大的词语,并聚合这些词语的表示,形成句子向量。[0048] 将步骤5.2获得的hit通过单层感知器获得hit的隐藏表示uit,然后将单词的重要性作为其与单词级上下文向量uw的相似性进行度量,并通过激活函数获得归一化的重要性权重αit。通过基于权重的单词注释的加权和,计算句子向量si。其中,上下文向量uw看作是固定查询“信息词是什么?”的高阶表示,而不是内存网络中使用的词。单词上下文向量uw是在训练过程中随机初始化和共同学习的。[0049] 步骤5.4:将句子向量si输入句编码层(具体方法可以采用步骤5.1所述方式),得到隐藏状态 和[0050] 步骤5.5:拼接 和 得到句子注释,即[0051] 此处,hi总结了句子i周围所有的句子,但仍将重点放在句子i上。[0052] 步骤5.6:将隐藏状态hi输入到句注意力层(具体方法可以采用步骤5.3所述方式),获得句子级上下文向量ui,并使用该向量来衡量句子的重要性,获得样本向量v,其总结了样本中句子的所有信息。[0053] 类似地,句子级上下文向量可以在训练过程中随机初始化和共同学习。[0054] 步骤5.7:将句子v输入到标签引导学习层。[0055] 将标签进行表示,其中l为标签,Cl为l的表示向量。然后将句子信息v=[v1,v2,...,vd]投影到标签表示空间,vd表示在d维上的子向量。具体计算方式为:其中,ul表示最终的文本序列;d表示v的维度;vj表示第j个子向量;wlj是标签注意力权重,用来衡量标签文本对<vj,Cl>兼容性,兼容性通过余弦相似度计算。[0056] 步骤5.8:将ul输入到分类层进行文本分类,获得概率p=softmax(Wcul+bc),Wc表示权重矩阵,bc表示偏置。使用标签的负对数似然 作为损失函数,其中,pdj表示获得的概率,j是样本d的标签。[0057] 有益效果[0058] 本发明方法,对比现有技术,具有以下优点:[0059] 1.本发明采用基于层级注意力和标签引导学习融合的关键信息识别框架,适用于小样本识别任务。在文本表示过程中,不仅能捕获局部上下文信息和文本组织结构,还能利用全局线索(标签信息),与局部上下文表示联合学习。输出的文本表示对识别任务更具鲁棒性和区分性。[0060] 2.本发明的词编码层中,为了解决标注数据不足,将先进的文本表示模型直接应用于文本挖掘的局限性,本发明使用语料库预训练后的语言模型用于序列编码,进行权重微调。[0061] 3.本发明的层级注意力机制中,词编码层和句编码层能够充分捕捉文本组织结构,将重要单词聚合为句子向量,然后将重要句子向量聚合为文本向量;词注意力层和句注意力层将注意力机制分别用于单词和句子层面,使其能够在文本表示时区别关注更重要或者次重要的内容。[0062] 4.为了利用全局线索(标签信息)编码文本信息,本发明采用标签引导学习层执行基于标签的注意力编码,将文本表示映射到标签空间。标签引导学习层可以直接与上下文编码一起联合学习。[0063] 本发明在引文分析、信息检索和细粒度知识服务等领域具有广阔的应用前景。附图说明[0064] 图1是本发明的流程图。[0065] 图2是本发明的基于层级注意力和标签引导学习融合识别架构。具体实施方式[0066] 下面结合附图和实施例对本发明方法做进一步详细说明。[0067] 实施例[0068] 以生物医学论文网站PubMed上以“covid‑19”为主题的2230篇论文文献为例,一种基于层级注意力和标签引导学习的关键信息识别方法,如图1所示,包括如下步骤:[0069] 步骤1:文献数据采集。[0070] 利用SeleniumWEB自动化工具包爬虫采集PubMed平台上所发表的论文文献,并将其以pdf格式保存到计算机;[0071] 步骤2:文献解构与存储。[0072] 包括以下步骤:[0073] 步骤2.1:首先,利用fitz工具包按页读取英文文献,并根据段落之间的距离对文档内容进行段落级切分,获取文本块。[0074] 然后,合并因换页、插入表格/图片问题产生的异常block分割,去除包括页眉、页脚在内的无关信息,记录其坐标和页面信息,并将内容转为文本,最后生成文本块列表。[0075] 步骤2.2:根据停用词和标点符号,对步骤2.1获取的block进行句子级切分,并构建标签列表labelList,具体地,labelList为:[‘objective’,‘background’,‘method’,‘result’,‘conclusion’,‘others’]。然后,对句子类别人工标注,最后生成句子列表。[0076] 本实施例中,对于文献“ComparisonofRapidAntigenTestsforCOVID‑19”,共7页内容,利用fitz工具包获得21个文本块,共116条语句,对每条语句人工标注,最终语句存储格式样例为:senten{‘id’:33322035,‘content’:‘Therefore,studiesonfalse‑positiveratesshouldbeperformedinthefuturetodeterminethespecificityoftheseandotherRATs.’,‘labels’:[4],‘labelNum’:1}。[0077] 步骤3:文本预处理。[0078] 包括以下步骤:[0079] 步骤3.1:对预训练语料库进行预处理,具体步骤为:[0080] 获取有标签生物医学英文文本语料库PubMed_20k_RCT(http://github.com/Franck‑Dernoncourt/pubmed‑rct),每行对应一个uniqueId或开头带有大写标签的句子,标签和句子以空格分开;[0081] 本实施例中,展示一个PubMed_20k_RCT数据集中格式化的文本示例,对应文章uniqueId为9813759:[0082] ###9813759[0083] OBJECTIVEThisstudyevaluatedan[…][0084] OBJECTIVEItwashypothesizedthat[…][0085] METHODSParticipantswere@men[…][0086] METHODSPsychologicalfunctioning[…][0087] RESULTSInterventiongroupsubject[…][0088] RESULTSComparedtothecontrol[…][0089] CONCLUSIONSThisstudyhasshown[…][0090] 依据步骤2.2中labelList构造相同标签列表,按行读取txt文件,分别提取每篇文献唯一标识uniqueId,文本内容,标签及对应标签数量,具体存储格式为sentenPub{‘id’:uniqueId,‘content’:textp,‘labels’:labels,‘labelNum’:labelNum},其中textp为文本内容;[0091] 例如,对于论文“RecurrenceofSARS‑CoV‑2viralRNAinrecoveredCOVID‑19patients:anarrativereview”,通过构造标签,生成样例{‘id’:33113040,‘content’:‘Atthetimeoftheirinitialhospitalization,thesepatientsgenerallyhadmildsymptomssuchasfeverandacough.’,‘labels’:[3],‘labelNum’:1};[0092] 为了平衡数据集,维持预训练过程的稳定,隔离抽取8500条标签为others的样本。最终预训练语料库最不常见标签出现频率比最常见标签出现频率低大约4倍,表明数据集没有过度不平衡;[0093] 定义句子列表sentenPubList为:sentenPubList[sentenPub0,sentenPub1,…,sentenPubm],其中m表示sentenPub编号;[0094] 步骤3.2:利用NLTK(naturallanguagetoolkit)自然语言工具对步骤2.2和步骤3.1存储的sentenList和sentenPubList所有句子文本进行分词、去除标点符号和去除停用词处理;[0095] 例如,对于文本“Atthetimeoftheirinitialhospitalization,thesepatientsgenerallyhadmildsymptomssuchasfeverandacough.”,通过分词、去除符号和去除停用词处理,获得{‘id’:33113040,‘content’:[‘At’,‘time’,‘their’,‘initial’,‘hospitalization’,‘these’,‘patients’,‘generally’,‘had’,‘mild’,‘symptoms’‘fever’,‘cough’],‘labels’:[3],‘labelNum’:1};[0096] 步骤3.3:为了考虑句子上下文的影响,将sentenList和sentenPubList中的texts和textp进行扩充,将前一句和后一句包含进来,作为最终的文本;[0097] 步骤3.4:构建预训练集、微调集(训练、验证、测试集),sentenPubList和sentenList分别作为预训练集和微调集,预训练集共有243万条样本,微调集按照6:2:2划分训练集、验证集、测试集,分别有49500,10224,9900条样本数据。[0098] 步骤4:构建预训练词编码层,具体操作为:[0099] 步骤4.1:获取在无标签生物医学英文文本语料库PubMedAbstracts和PMCFull‑textarticles上预训练的序列语言模型BioBERT,为了提高计算效率,使用在通用语料库EnglishWikipedia和BooksCorpus上预训练的BERT模型来初始化BioBERT,具体语料库信息如表1所示:[0100] 表1文本语料库列表[0101][0102] 步骤4.2:将步骤3.4构建的预训练集sentenPubList输入到预训练后的BioBERT模型中,将所有词语映射为词向量,获得嵌入矩阵We,同时微调BioBERT模型权重;[0103] 本实施例中,我们使用BioBERTv1.0(+PubMed+PMC),词嵌入维度设置为100;[0104] 步骤5:按照图2构建层级注意力和标签引导学习融合模型,进行关键信息识别,模型共训练50个epoch,batch_size设置为16,学习率设置为0.001,具体操作为:[0105] 融合模型主要包括词编码层、词注意力层、句编码层、句注意力层、标签引导学习层和分类层。[0106] 步骤5.1:本实施例中,选择GRU作为双向长短期记忆网络,将步骤3.6构建的训练集输入到BioBERT+GRU词编码层,神经元维度设置为256。给定一个句子包含单词wit,t∈[0,T],首先通过步骤4.2微调后的BioBERT,将单词表示为向量xij=Wewij;[0107] 本实施例中,单词“covid”的100维词向量xij为:[0108] [3.644242760.945617970.479374052.475236890.30545411‑0.511503280.8177557‑2.5822196‑0.733906690.90805513‑2.304868221.137581350.77013636‑3.94328427‑1.548790572.380724672.256247520.589142081.97867608‑0.11233572‑1.69857848‑2.1796999‑1.60061908‑2.432630540.738542972.931921240.626291330.30427742‑1.943769812.419943331.985210181.471596245.71299458‑0.32408041‑1.74629819‑1.350605493.19008422‑3.60678196‑4.02345753‑0.82960749‑2.307535890.790551252.70422292‑0.303082411.21032894‑0.964444762.703811410.13965414.11979723‑3.502915860.78200734‑0.842700181.56163085‑2.616679193.57305312‑1.624953390.14854783‑0.58073193‑0.86824652.78661489‑2.309881211.65305662‑0.88041091‑0.338060950.11432729‑0.79816812‑3.678965331.077005744.303411480.91094202‑0.74039763‑1.459145310.78949791‑1.804537181.044866681.76284969‑2.827330592.74808241.06749737‑1.753781082.67111492‑2.28325343‑2.14109492‑0.037669091.884678840.027362923.02323961‑1.05271411‑0.20649259‑0.30097884‑0.54178369‑0.17824177‑1.01088226‑0.07230047‑3.45828462‑0.583710011.379724140.17604917‑2.177989481.86067879][0109] 使用双向GRU,通过汇总来自单词两个方向的信息来获得单词注释,因此将上下文信息整合到注释中。双向GRU包含前向 (从wi1到wiT读取句子si)和后向 (从wiT到wi1读取句子si),获取 和[0110] 步骤5.2:拼接上一步获得的前向隐藏状态 和后向隐藏状态 获得给定单词wit的注释,即 以wit为中心总结整个句子信息;[0111] 步骤5.3:将隐藏状态输入到词注意力层,构建层级注意力,例如文档有L个句子si,每个句子有包含Ti个单词。wit,t∈[1,T]表示第i个句子中的单词;[0112] 将上一步获得的hit通过一层多层感知器获得hit的隐藏表示uit,然后将单词的重要性作为其与单词级上下文向量uw的相似性进行度量,并通过softmax函数获得归一化的重要性权重αit。通过基于权重的单词注释的加权和,计算句子向量si;[0113] 步骤5.4:将句子向量si以类似的方式输入句编码层,得到前后向隐藏状态 和[0114] 步骤5.5:拼接 和 得到句子注释,即 hi总结了句子i周围所有的句子,但仍将重点放在句子i上;[0115] 步骤5.6:将隐藏状态hi以类似方式输入到句注意力层,获得句子级上下文向量ui,并使用该向量来衡量句子的重要性,获得样本向量v,总结了样本中句子的所有信息。类似地,句子级上下文向量可以在训练过程中随机初始化和共同学习;[0116] 步骤5.7:将v输入到标签引导编码层,先将标签进行表示,l为标签,Cl为l的表示向量,再将句子信息v=[v1,v2,...,vd]投影到标签表示空间,获得ul。wlj是标签注意力权重,用来衡量标签文本对<vj,Cl>兼容性,兼容性通过余弦相似度计算。ul用于表示最终的文本序列;[0117] 步骤5.8:将ul输入到分类层,进行文本分类,获得概率数组p=softmax(Wcul+bc),其中概率最大值被识别为该文本的类别。[0118] 为说明本发明的关键信息识别效果,本实验是在同等条件下,以相同的训练集、验证集和测试集,分别采用两种方法进行比较。第一种方法是基于自注意力机制的关键信息识别方法,第二种方法是本发明的关键信息识别方法。[0119] 采用的测评指标为:[0120] (1)precision,精确率,表示识别为正的样本中实际为正样本的比例;[0121] (2)recall,召回率,表示实际为正样本中被正确识别为正样本的比例。[0122] 关键信息识别的结果为:已有技术的基于自注意力机制的关键信息识别方法的precision值为0.4244,recall值为0.53。采用本发明方法的precision值为0.4275,recall值为0.6615。通过实验表明了本发明提出的基于层级注意力和标签引导学习的关键信息识别方法的有效性。
专利地区:北京
专利申请日期:2021-11-09
专利公开日期:2024-07-26
专利公告号:CN114139522B