原之安,彭甫镕,谷 波,钱宇华
(1.山西大学 大数据科学与产业研究院 山西 太原 030006;2.山西大学 计算智能与中文信息处理教育部重点实验室 山西 太原 030006;3.山西大学 计算机与信息技术学院 山西 太原 030006)
专利是指专有的权利和利益,囊括了全球95%以上的最新技术情报[1]。通常科技类文献可以通过关键字快速掌握文献信息。但在专利文献中,没有关键词这一重要属性,读者想要快速获取专利的科技信息,需要了解专利分类号的含义。我国采用国际专利分类号对专利进行标注,即便是专利工作者,也很难了解每一条分类号的分类信息,导致不能像读论文一样快速了解文献中的信息。针对这一问题,本文将抽取专利文献中富含科技信息的词,即科技实体,这将有利于读者通过科技实体快速了解专利文献中蕴含的科技信息、提高专利检索的精度、构建专利知识图谱、提升专利自动分类的效果、梳理专利发展趋势等。
科技实体具体指在专利文献中能够反映某种科技成就、经验与方法、科学理论等的实体。反映科技成就的实体有物联网、存储器等;反映经验与方法的实体有人工智能、汉字识别等;反映科学理论的实体有微分方程、波函数等。科技实体的定义包括但不限于以上描述。
在类似的科技实体抽取研究中,Jang等[2]通过句法分析处理专利数据,对描述一项技术的单词TechWord进行依赖关系分析并识别其词性,从名词短语和SAO(subject-action-object)结构中提取TechWord候选词,通过中心性指标将每个词之间的关系解释为一个网络,评估TechWord候选词的重要性,进而抽取出专利中的TechWord。该方法速度较快,且不需要对专利中的科技词进行标注,但没有涵盖所有词性,而是通过句法关系提取科技词,且对专利进行句法标注也是一大难题。
自然语言处理(natural language processing,NLP)中的命名实体识别(named entity recognition,NER)[3]技术是指识别文本中具有特定意义的实体。命名实体识别问题通常被抽象为序列标注任务。该方法适用于本文的科技实体抽取。因此本文将使用命名实体识别技术对专利文本进行深度挖掘,抽取专利中的科技实体。
早期的命名实体识别研究大都是基于领域专家建立手工规则对实体进行抽取[4-6],该方法成本较高,且速度较慢。随着深度学习在自然语言处理上的应用[7-8],基于神经网络的命名实体识别方法[9-12]针对训练数据开展基于词语级或字符级的实体语义特征学习,进而实现对测试数据的实体抽取。李建等[13]使用BERT-BiLSTM-CRF结构对专利中的实体进行抽取,由于使用了BiLSTM结构,训练速度慢,并且这些神经网络模型的最大局限性是依赖大量的标注数据。
专利数据规模较大,需要大量具有领域知识的标注人员进行标注,这对数据标注造成了一定的阻碍。本文考虑在有限的标注数据上,建立一套可靠的命名实体识别模型。
在有限的标注数据上,一些研究人员使用迁移学习的方法进行突破[14-16],该方法需要有标记的平行语料库,对专利数据来说,该语料库难以获得,无法用迁移学习解决专利中科技实体抽取任务。远程监督学习也是解决低资源问题的常用方法[17-19]。该方法需要特定任务领域的词典进行监督,且性能会受到词典中数据量的影响,若词典仅包含待标注语料所属的领域,将大幅提升该方法针对特定领域命名实体识别的精确率。以上方法都需要带标注的语料库或外部词典。Liang等[20]使用半监督学习的方法从科学文献中提取生物医学实体,选择BiLSTM-CRF作为命名实体识别模型,然后执行Bootstrapping过程,该方法使用了循环神经网络结构,无法并行计算,使得训练速度下降。综上,现有方法中存在一些不足:1)专利中标记数据和外部语料稀缺,且构建字典代价昂贵,导致传统监督学习过拟合问题。2)现有的BERT模型在预训练时使用通用领域的语料库,语料库中没有专利方面的数据,对专利分析问题有一定的影响。3)BiLSTM网络结构无法并行计算,训练速度较慢。
近年来,在自然语言处理领域,使用预训练语言模型的方法在多项NLP任务上都取得了突破性的进展。在众多预训练语言模型中比较具有代表性的模型有ELMo(embeddings from language models)[21]、OpenAi GPT(generative pre-training)[22]和BERT(bidirectional encoder representations from transformers)[23],它们都是神经网络模型。因神经网络语言模型在当前研究中表现最佳,且使用神经网络的方法可以结合上下文信息学到一些语义信息有利于翻译系统性能的提升,所以本文也采用了该方法预训练语言模型。
本文将采用半监督学习与命名实体识别模型相结合的方法解决标注数据稀缺的问题,命名实体识别模型选择BERT模型学习融合上下文关系的字的表征信息,在BERT输出部分添加条件随机场(conditional random field,CRF)[24],学习标签之间的依赖关系,进而获得全局最优的实体标记序列,并根据输出序列的规范化条件概率用于半监督学习算法中判断输出标记序列的可靠性。由于BERT模型的性能会受到训练时选择的语料库的直接影响,本文还将使用大量的专利数据在原有的BERT模型基础上进行预训练,使其适应专利领域的应用。模型框架如图1所示。其中:E1,E2,…,EN表示词向量,即模型的输入;Trm表示Transformer编码器结构;T1,T2,…,TN表示模型的输出。
图1 基于半监督学习和预训练语言模型的科技实体抽取方法Figure 1 Technology entity extraction method based on semi supervised learning and pre training language model
BERT是一个预训练语言模型,它在大规模语料库上采用多层双向Transformer[25]编码结构,基于自注意力机制对文本建模。由于采用了双向编码器结构,训练出的结果反映了词所在句子的上下文语义关系,能够学到词的多义性,可以获得更好的词的分布表示。大规模语料的预训练语言模型能够为某些数据规模较小的自然语言处理任务提供模型参数,进而提升模型的性能。
Transformer是一个基于多头自注意力机制的深度网络,自注意力机制主要是通过同一个句子中词与词之间的关联程度调整权重系数矩阵来获取词的表征,所用公式为
(1)
其中:Q、K、V是字向量矩阵,dk是词向量的维度。
在Transformer结构中无法和循环神经网络(recurrent neural network,RNN)一样获取句子中字的序列信息,为了解决这个问题,Transformer在数据预处理之前加入了位置编码,并与输入向量的数据进行相加,得到句子中每个字的相对位置。
我们在Google发布的BERT-Base Chinese基础上进行专利数据上的预训练,得到一个专利领域的BERT预训练语言模型,该模型对我们的任务能够有所帮助。
在命名实体识别任务中,通常采用BIO标注方法,将每个元素标注为“B-X”、“I-X”或者“O”。其中,“B-X”表示此元素所在的片段属于X类型,并且此元素在此片段的开头;“I-X”表示此元素所在的片段属于X类型,并且此元素在此片段的中间位置,“O”表示不属于任何类型。BERT模型能够得到融合输入上下文关系的字的表征信息,但是无法处理BIO标签模式之间的依赖关系,如:“O”标签的下一个标签可以是“B”标签,但是不可以是“I”标签;“I”标签一定在“B”标签之后才出现。所以条件随机场能够通过相邻的标签获得一个最优的预测序列,从而弥补BERT模型的不足。条件随机场模型是基于概率图模型的分类学习方法,是条件概率分布模型P(Y|X)。对于任一个文本序列X={x1,x2,…,xn},根据BERT模型的输出预测序列Y={y1,y2,…,yn},通过条件概率P(y|x)进行建模:
(2)
其中:i表示当前节点在x中的索引;m、n分别表示当前节点上的特征函数总个数;μm表示定义在边上的特征函数,称为转移特征,描述从前一个标签到当前标签的条件概率,只与当前位置和前一个节点位置有关;tn表示定义在节点上的特征函数,称为状态特征,描述一个观测序列标记为某标签的条件概率,只与当前位置有关;βn、λm分别表示特征函数tn和μm对应的权重系数,用于衡量特征函数的信任度;Z(x)为归一化因子,在所有可能的输出序列上进行求和,以便获得全局归一化,所用公式为
(3)
在定义特征函数阶段,可以将节点处和边上的特征函数的初始值都设置为1,由于每个特征函数都分配有权重参数,因此在训练的时候,如果节点之间不存在依赖关系,则该特征函数的权重参数会在训练结束后趋近于0,以此学习标签之间的相互依赖关系。
首先人为地标注一部分数据作为种子数据集Data-Seed,使用种子数据集训练一个初始的命名实体识别模型M0,使用该模型在未做标记的数据集Data-Unlabeled上预测样本的标签序列,本研究设置一个阈值选取出较高概率的标签序列,用于评估标签序列的可靠性。将可靠标签序列的样本集Data*与Data-Seed融合得到一个增广数据集,用于迭代命名实体识别模型,直到达到最大迭代次数或所有标签序列均达到可靠标签序列的水准。其具体步骤如算法1所述。
算法1半监督学习的命名实体识别算法。
输入:在专利数据集上预训练的BERT模型BERT-Patent,带有标记的种子数据集Data-Seed,不带有标记的数据集Data-Unlabeled。
输出:命名实体识别模型Ms。
1)M0=BERT-Patent(Data-seed)
2)fors← 1 toK
3)ifData-unlabeled=∅
4)returnMs
5)end if
6)sentence=Ms-1(Data-unlabeled)
7)p=Ms-1(Data-unlabeled)
8)ifp>θ
9)Data*←sentence
10)end if
11)Data-seed+=D*
12)Ms=Ms-1(Data-seed)
13)end for
14)returnMs
本文收集了6 080 130条专利的摘要数据用来对BERT模型进行预训练,从而得到适应于专利领域的BERT模型,数据来源于山西大学大数据科学与产业研究院自主研发的“山西大学知识产权大数据分析平台”。
以“计算机”为检索词收集了1 691篇发明专利的摘要数据,共计4 025个样本(一句话为一个样本),三个人使用brat标注工具标注了18 100个实体,并进行人工校验。为了验证种子数据集的规模对模型学习效率的影响,将实验数据按比例划分有标记的数据和无标记的数据,划分结果如表1所示。
表1 数据集划分及规模Table 1 Dataset splitting and size 单位:个
本文按照BIO标注格式对专利中的科技实体进行标注:B-TEC,即Begin Technology,表示当前科技实体的开始;I-TEC,即Intermediate Technology,表示当前科技实体的延续或结束;O,即Other,表示其他字符,用于标记无关字符。标注示例见表2。
表2 数据标注示例Table 2 Example of data annotation
本文选择通用领域的BERT模型作为基线模型。其他模型如下:
1)半监督学习结合通用领域BERT模型(BERT with SS);
2)专利领域的BERT模型(BERT on Patent);
3)半监督学习结合专利领域的BERT模型(BERT on Patent with SS)。
为了验证本文方法在通用领域数据集上的有效性,选择人民日报命名实体识别数据集进行对比实验。
本文采用命名实体识别任务中常用的实体准确率pre、实体召回率rec,F1值以及标签正确率acc作为科技实体抽取模型性能的评价指标,计算公式分别为
pre=识别出的正确实体数/识别出的实体数,
rec=识别出的正确实体数/样本的实体数,
F1=(2×pre×rec)/(pre+rec),
acc=识别出的正确标签数/样本的标签数。
实验采用Google发布的BERT-Base,共有12层Transformer结构,字向量维度为768,12个自注意力头,参数量共110 M。最大序列长度为202,batch_size为64,学习率为1e-5,dropout为0.5。LSTM隐藏层单元数为128。
表3显示了BERT-CRF结构和BERT-BiLSTM-CRF结构在不同划分比例专利数据集上的性能对比。通过实验发现,加入了BiLSTM层的网络结构对命名实体识别的效果提升并不显著,但比不加BiLSTM层的网络结构更耗时。这反映了BiLSTM层不能并行加速的不足,同时,BERT模型通过Self-Attention机制能够学习到上下文的词汇表示。相比之下,本文选择了BERT-CRF结构作为命名实体识别模型的网络结构。
表3 BiLSTM层对命名实体识别性能的影响Table 3 Influence of BiLSTM layer on named entity recognition performance
图2显示了具有不同标签概率阈值的开发集上F1值的曲线。本实验是为不同比例的训练数据寻找最优阈值。从理论上讲,提高阈值可以降低误报率,从而提高精确度,相反,若阈值设置较低会得到较高的召回率。通过实验发现慢慢提高标签概率会使F1值升高,但是当标签概率高于阈值时,F1值开始下降。这说明随着标签概率的升高,实体精确度上升的同时,召回率在下降,通过实验可以确定不同数据集划分下标签概率阈值的选择。
图2 不同标签概率阈值下的实体F1值Figure 2 Entity F1 values under different label probability thresholds
专利数据集在不同模型上的实验结果如表4所示,人民日报数据集在不同模型上的实验结果如表5所示。
表4 不同模型在专利数据集上的实验效果Table 4 Experimental Performance of different models on patent dataset
表5 不同模型在人民日报数据集上的实验效果Table 5 Experimental performance of different models on People′s Daily dataset
通过实验发现,本文的方法和传统的BERT-CRF方法相比,准确率、召回率、F1值指标分别平均提高了6.37%、2.99%、4.63%;在人民日报数据集上分别平均提高了2.87%、1.24%、2.07%。
半监督学习方法对科技实体抽取性能的影响由表4可以得出,采用了半监督学习框架后,通用领域的BERT和专利领域的BERT模型性能在准确率上分别平均提升了5.18%和3.84%。出现这一现象的原因是半监督学习在训练过程中加入许多无标签数据和伪标签信息,使模型的准确率性能上升。
预训练语言模型对科技实体抽取性能的影响由表4可以得出,专利领域的BERT模型相比通用领域的BERT能够在更少的数据集上找到更多的科技实体。使用了专利领域的BERT模型之后,使用半监督学习框架和未使用半监督学习框架的实体召回率分别平均提升1.32%和1.08%。与此同时,使用了专利领域的BERT模型之后,随着标记数据集的扩大,模型性能上升较稳定。这说明在使用了大量的专利数据之后,BERT模型能够更高效地抽取专利文本中内容。
本文方法在不同数据集上的性能对比由表5可以得出,在半监督学习框架下,对人民日报数据集上的命名实体识别模型依旧表现出了比较好的性能。同时发现,专利领域的BERT模型在人民日报数据集上的性能不如通用领域的BERT模型,这进一步说明了BERT模型的性能与预训练时语料库的选择有密切关系。
由表4和表5标签正确率发现,标签正确率要远远高于实体的评价指标,出现这个现象的原因是本文的方法不能准确地找到实体边界,导致实体的评价指标降低。
本文针对专利文本中的科技实体抽取任务,研究了基于半监督学习和预训练语言模型的专利科技实体抽取模型。通过在大量专利上对BERT模型进行预训练,使其能够更好地抽取专利中的特征信息,并结合CRF构建命名实体识别模型,使用半监督学习的思想解决专利科技实体抽取问题。通过实验证明了本文的方法能够在标注数据不足的情况下抽取专利中的科技实体。本文工作在专利检索、专利价值评估等专利挖掘工作上将发挥重要的作用。
本文接下来的工作,将考虑进一步提高科技实体抽取的准确率,准确识别实体边界,并考虑利用科技实体信息对专利文本进行更深层次的挖掘。