APP下载

结合ALBERT和双向门控循环单元的专利文本分类

2021-03-07温超东任俊伟

计算机应用 2021年2期
关键词:层级向量专利

温超东,曾 诚,2,3*,任俊伟,张 䶮,2,3

(1.湖北大学计算机与信息工程学院,武汉 430062;2.湖北省软件工程工程技术研究中心,武汉 430062;3.湖北省智慧政务与人工智能应用工程研究中心,武汉 430062)

(*通信作者电子邮箱zc@hubu.edu.cn)

0 引言

近年来,专利申请数量呈现快速增长的趋势。2018 年全球创新者共提交了330 万件发明专利申请,连续九年实现增长,涨幅为5.2%。其中,中国国家知识产权局受理的专利申请数量最多,达到154 万件,占全球总量的46.7%[1]。为便于专利文献的检索与管理,需要对专利文献按照专业技术领域进行分类。1971 年《斯特拉斯堡协定》提出的国际专利分类法(IPC 分类法)是国际上通用的专利文献分类法,几乎涵盖了所有的科技领域,我国所使用的也是该专利分类法[2]。该分类标准按照专利所属的技术领域对专利进行分类,包含部、大类、小类、大组和小组五个层级。然而,现阶段专利分类的任务仍主要由专利审查员完成,不仅耗费大量人力和时间,且无法有效保证准确率。因此,需对专利文本进行自动化预分类,以实现专利文本的快速分类及快速审查。

与一般文本相比,专利文本具有以下特点:专业性强,领域词汇较多;类别众多,层级复杂;类别间相似度高,对特征表达能力要求高;各类别专利数量严重不均衡,给分类带来较大挑战。因此,对专利文本实现自动分类需要采用更加具有针对性的分类方法。本文利用结合ALBERT(A Lite BERT)和双向门控循环单元(Bidirectional Gated Recurrent Unit,BiGRU)的深度学习方法实现多层级专利文本的自动分类,提出了专利文本分类模型ALBERT-BiGRU,以辅助专利审查员快速准确地对专利文献进行分类。

1 相关研究

专利文本分类属于自然语言处理领域,一般包括数据预处理、文本特征表示、分类器选择及效果评价等步骤,其中文本特征表示与分类器选择最为重要,将直接影响分类结果的准确性。

1.1 文本特征表示方法

在文本特征表示方面,Mikolov 等[3-4]提出了Word2vec 模型,其本质是一种神经网络概率语言模型,包括CBOW(Continuous Bag-of-words)和Skip-Gram 两种模型。这两种模型能够很好地进行词汇类比,但只考虑了文本的局部信息,未有效利用整体信息。为克服Word2vec 模型的缺陷,Pennington 等[5]提出全局词向量(Global Vectors,GloVe)模型,该模型基于全局词汇共现的统计信息来学习词向量,同时考虑了文本的局部信息与整体信息。以上特征表示方法训练的词向量均为静态词向量,舍弃了文本中大量词语的位置信息,不能表示出文本的完整语义。为此,Peters等[6]提出了基于语言模型的词向量模型(Embeddings from language models,Elmo),利用双向长短期记忆(Bidirectional Long Short-Term Memory,BiLSTM)网络生成词的上下文表示,并根据实际数据的上下文对词的向量表达进行动态调整。Radford等[7]提出生成式预训练词向量模型(Generative Pre-Training,GPT),该模型采用Transformer[8]结构,在多项自然语言处理(Natural Language Processing,NLP)任务中取得了当时的最佳效果。Devlin 等[9]结 合Elmo 和GPT各自的优势,提出了BERT(Bidirectional Encoder Representations from Transformers)预训练语言模型。该模型通过使用双向Transformer编码器对语料库进行训练得到文本的双向编码表示,且训练出的词向量为动态词向量,即同一个词在不同的上下文语境中具有不同的词向量表达,提升了词向量的表征能力。增大BERT 预训练模型的规模对下游任务的效果有一定提升,但受计算资源的限制,所需的训练时间较长,且进一步提升模型的规模将导致显存或内存不足。为此,Lan 等[10]提 出ALBERT(A Lite BERT)模型,该模型是基于BERT 模型的一种轻量级预训练语言模型,与BERT 模型均采用双向Transformer 获取文本的特征表示,但大大减少了模型中的参数,并在多项NLP任务中取得了最佳效果。

1.2 文本特征分类算法

文本特征分类算法一般分为两种:一种是浅层学习的分类算法,如支持向量机(Support Vector Machine,SVM)、最邻近分类(K-Nearest Neighbors,KNN)和朴素贝叶斯(Naive Bayes)等;另一种是基于神经网络的深度学习分类算法。文献[11]将获取到的文本特征输入到朴素贝叶斯分类器中,对其进行分类;文献[12]则将SVM 与KNN 进行结合并应用于专利文本分类中,根据样本点与最优超平面的距离来决定使用KNN 或SVM 作为分类器。但以上浅层学习的分类算法没有考虑特征在类间、类内的分布,分类效果较差。近年来,随着深度学习的发展,研究人员开始尝试使用神经网络构建分类模型。Kim[13]提出文本卷积神经网络(Text Convolutional Neural Network,TextCNN)用于文本分类,但基于卷积神经网络的文本分类算法无法考虑到文本中长距离词之间的语义关联。为此,Mikolov 等[14]利用循环神经网络(Recurrent Neural Network,RNN)[15]进行文本分类,较好地利用了当前词上下文信息。然而,传统的RNN 存在梯度爆炸和消失问题[16],处理长序列文本的效果并不理想。Hochreiter 等[17]提出长短期记忆(Long Short-Term Memory,LSTM)网络,解决了传统RNN 梯度爆炸和消失的问题。之后,Dey 等[18]提出了门控循环单元(Gated Recurrent Unit,GRU),在保持LSTM 的效果的同时使得模型结构更加简单。文献[19]使用LSTM-Attention 解决专利文本分类问题,有效提升了高相似度专利文本分类的准确率;文献[20]将文本特征输入GRU 中进行文本分类,有效提升了文本分类的效果。

综合以上研究,本文旨在专利文本的特征表示层面以及分类器选择上进行改进,提出了一种结合ALBERT 和BiGRU的多层级专利文本分类模型ALBERT-BiGRU。使用ALBERT作为预训练语言模型对专利文本进行句子层面的特征表示,以提升词向量的表征能力;并将ALBERT 模型中最后一层Transformer 层的输出作为下游BiGRU 模型的输入,最大限度地保留专利文本中长距离词之间的语义关联。最后通过在不同层级专利文本上的对比实验,验证了本文方法的有效性。

2 关键技术

2.1 ALBERT预训练语言模型

ALBERT 模型是基于BERT 模型的一种轻量级预训练语言模型,与BERT 模型均采用双向Transformer 编码器(Trm)获取文本的特征表示,其模型结构如图1 所示。其中,E1,E2,…,EN表示序列中的每一个字符,经过多层双向Transformer 编码器的训练,最终得到文本的特征向量表示T1,T2,…,TN。

图1 ALBERT模型结构Fig.1 ALBERT model structure

其中,Transformer 编码器是一个基于Self-Attention 的Seq2Seq(Sequence to Sequence)模型[21],该模型的结构为Encoder-Decoder[22-23]。ALBERT 只采用了其Encoder 部分,该部分的模型结构如图2所示。Encoder由N个相同的网络层堆叠而成,每个网络层有两个子网络层:第一层为多头自注意力机制层;第二层为普通的前馈网络层,用于融入词语的位置信息。另外,每个子网络层都含有一个Add&Norm 层,用于将本层的输入与输出相加并进行归一化处理[24],随后两个子网络层之间使用残差连接[25]。

在Transformer 编码器中,最主要的模块是多头自注意力机制,计算公式如下所示。

其中:WO是附加权重矩阵,能使拼接后的矩阵维度压缩成序列长度大小;Q、K、V分别表示输入序列中每个词的query、key和value 向量分别是Q、K、V的权重矩阵;dk表示每个词的query和key向量的维度;Softmax(⋅)为归一化激活函数,z表示N维的行向量。

图2 Transformer encoder模型结构Fig.2 Structure of Transformer encoder model

为减少BERT 模型的参数和增强模型的语义理解能力,ALBERT模型在BERT模型的基础上做出了以下改进:

1)ALBERT 模型通过嵌入层参数因式分解(Factorized Embedding Parameterization)和跨层参数共享(Cross-layer Parameter Sharing)两个方法有效减少了BERT 模型中的参数,大大降低了训练时的内存花销,并有效提升了模型的训练速度。

其中:嵌入层参数因式分解为将一个大的词嵌入矩阵分解成两个小矩阵;跨层参数共享则为在不同层的Transformer编码器之间共享所有的参数。进行嵌入层参数因式分解后的时间复杂度变化如式(5)所示,其中:V表示词表的大小,E表示嵌入层大小,H表示隐藏层大小,由于H≫E,可知通过该分解能有效减少模型的参数。

在与BERT-large 模型相同配置的情况下,ALBERT 模型的参数量缩小至了原来的1/18,且训练速度加快了1.7倍。

2)使用SOP(Sentence Order Prediction)任务 代替NSP(Next Sentence Prediction)任务。为弥补Yang 等[26]提出的BERT 中NSP 任务存在的缺点,ALBERT 通过使用SOP 任务代替BERT 中的NSP 任务,提升了多句子输入的下游任务的效果。SOP 任务的核心为对句子间的连贯性进行评估,并产生句子间连贯损失(Inter-sentence Coherence Loss)。对于多句子输入的下游任务,SOP相对NSP能够提升约2%的准确率。

2.2 GRU神经网络模型

GRU 是LSTM 模型的一个变体,其模型结构如图3 所示。LSTM模型包含三个门计算,即输入门、输出门和遗忘门,GRU模型在LSTM 的基础之上进行了简化,只由zt和rt两个门控单元组成。其中zt表示更新门,用于控制前一时刻的状态信息被代入到当前状态中的程度,zt的值越大说明前一时刻的状态信息代入越多;rt表示重置门,用于控制忽略前一时刻的状态信息的程度,rt的值越小说明忽略得越多。

图3 GRU模型结构Fig.3 GRU model structure

基于以上GRU的模型结构,可以得出GRU的前向传播计算公式如下:

其中:σ表示sigmoid 激活函数;xt表示当前时刻的输入,在文本分类中表示第t个词的词向量;ht-1和ht分别表示前一时刻隐藏层状态和当前时刻隐藏层状态表示当前时刻新的记忆;⊙表示向量的点乘;Wzx、Wrx和分别表示在更新门、重置门和新的记忆中对于xt的权重矩阵,Wzh、Wrh和分别表示在更新门、重置门和新的记忆中对于ht-1的权重矩阵;bz、br和分别表示在更新门、重置门和新的记忆中的偏置值。

3 ABERT-BiGRU专利文本分类模型

由于GRU 模型为单向传播模型,不能充分利用当前文本的下文信息,为此,本文采用双向门控单元(BiGRU)作为分类模型,并将ALBERT预训练语言模型与BiGRU模型相结合,组成ALBERT-BiGRU综合模型,用于多层级专利文本分类。

3.1 ALBERT-BiGRU综合模型的结构及工作流程

ALBERT-BiGRU 综合模型的结构如图4 所示,主要由以下6 个部分组成:输入层、ALBERT 层、BiGRU 层、全连接、Softmax层和输出层。该模型的工作流程如下:

步骤1 从专利数据集中选取“专利名称”和“摘要”这两个字段的内容组成专利文本X,并通过输入层将其输入到ALBERT 层中,专利文本X如式(10)所示,其中Xi表示该条专利文本中的第i个词。

步骤2 在ALBERT层对输入的文本数据进行序列化,将文本数据X中的每个词转化为其在字典中所对应的编号。序列化后的文本数据E如式(11)所示,其中Ei表示文本中第i个词的序列化字符。经过多层双向Transformer 编码器的训练,最终输出文本的特征表示。文本特征表示T如式(12)所示,其中Ti表示文本中第i个词的特征向量。

步骤3 在BiGRU 层对ALBERT 层输出的文本特征进行训练,将文本特征分别输入到前向GRU 层和后向GRU 层中,经过多个GRU 隐藏单元的训练,最终得到两个文本向量表示,分别记作Fg0和Fg1。将两者在第一个维度进行叠加,得到向量Fg,可知Fg的维度为2h,h为隐藏单元的个数。

步骤4 通过全连接层对Fg进行两次全连接,其中第一次全连接的输出维度为h,第二次全连接的输出维度为n,n表示标签的个数。

步骤5 对全连接层的输出结果进行Softmax 归一化,得到专利文本属于每一类的概率分布矩阵L,对L按行取最大值的索引,即得到最终的专利文本分类标签。

图4 ALBERT-BiGRU模型结构Fig.4 ALBERT-BiGRU model structure

3.2 ALBERT-BiGRU综合模型的训练

ALBERT-BiGRU 综合模型更新的参数包括ALBERT 和BiGRU 中的参数。为防止过拟合,在将文本特征输入BiGRU之前,加入Dropout层,每次迭代剔除掉部分神经元。

在进行前向传播时,采用的损失函数为交叉熵损失函数,计算方式如式(13)所示。其中,p()xi表示该条文本真实标签的概率分布,q()xi表示预测标签的概率分布。

在进行反向传播时,对模型参数W和b进行更新,更新方式如式(14)所示。

其中,J(W,b)表示所采用的损失函数。

4 实验与结果分析

4.1 实验环境与数据

本文的实验环境如表1所示。

为评估本文模型的有效性,使用文献[2]中国家信息中心提供的专利数据集进行验证。该数据集包含申请时间为2017 年的全国专利数据,数据总量约为277 万条,包含申请号、专利名称、摘要、专利分类等16 个核心字段。本实验选取“专利名称”“摘要”和“专利分类”三个字段进行分类模型训练,将“专利名称”和“摘要”合并组成专利文本,从“专利分类”中提取分类标签。专利分类采用IPC 分类法,将专利分为部、大类、小类、大组和小组五个层级,如“A01D41/12”,“A”是部,“01”是大类,“D”是小类,“41”是大组,“12”是小组。

表1 实验环境Tab.1 Experimental environment

本文选择在部和大类两个层级对专利进行分类。首先对原始数据进行清洗,剔除掉分类号为非严格的IPC 分类标准的数据后,数据剩余约232 万条,包含IPC 的所有部(从A 到H),共有124 个大类,数据集详情如表2 所示。之后对数据集进行划分,由于其数据量较大,本文按照98∶1∶1 的比例将其划分为训练集、验证集和测试集。

表2 专利数据集详情Tab.2 Patent dataset details

4.2 评价指标

为评价模型的分类效果,采用准确率Acc(Accuracy)和精确率P(Precision)与召回率R(Recall)的F1(调和平均值F1)对模型效果进行评价。其中准确率Acc指模型预测正确样本数占样本总数的比例;精确率P指在所有预测为正例的样本中预测正确的样本所占的比例;召回率R指在所有真实为正例的样本中预测正确的样本所占的比例;由于精确率和召回率会出现相互矛盾的情况,因此采用它们的调和平均值F1来进行综合评价。

计算公式如下:

其中:真正例TP表示实际为正例且预测为正例,假正例FP表示实际为负例但预测为正例,真负例TN表示实际为负例且预测为负例,假负例FN表示实际为正例但预测为负例。

4.3 实验参数设置

ALBERT-BiGRU 模型的参数主要包括ALBERT 模型和BiGRU模型的参数,在固定其他参数的前提下,依次改变可变参数的数值,以得到模型的最优参数。

其中ALBERT 采用Google 发布的中文预训练模型“ALBERT-Base”,其模型参数如表3所示。

表3 ALBERT模型参数Tab.3 Parameters of ALBERT model

BiGRU 模型的隐藏层大小为128,网络层数为1,选取ReLU 作为模型的激活函数,并在训练阶段将Dropout 的比例设置为0.1。

对ALBERT-BiGRU 综合模型设置批次大小为32,迭代轮数为4,最大序列长度为300,采用交叉熵损失函数,选取Adam作为模型的优化器,并将学习率设置为1e-5。

4.4 对比实验设置

为评估本文模型ALBERT-BiGRU 在多层级专利文本分类中的效果,分别与SVM、TextCNN、Word2vec-BiGRU 以及GloVe-BiGRU 进行对比,在专利数据集的部级别和大类级别分别进行实验。各对比模型的详情如下:

1)SVM:采用传统机器学习算法中的SVM,并选取高斯核作为核函数。

2)TextCNN:采用文献[13]中的TextCNN模型。

3)Word2Vec-BiGRU:采用文献[4]中的Word2Vec 提取文本特征,BiGRU 模型的参数同本文方法中的BiGRU 模型参数。

4)Glove-BiGRU:采用文献[5]中的Glove 提取文本特征,BiGRU模型的参数同本文方法中的BiGRU模型参数。

4.5 实验结果及分析

经模型对比实验,得出各模型在部级别和大类级别中的准确率如表4 所示。可以看出,在部级别中,与SVM、TextCNN、Word2vec-BiGRU 和GloVe-BiGRU 相 比,ALBERTBiGRU 模型的准确分别提高了9.8、6.0、9.1 和10.9 个百分点。由此可知,ALBERT 预训练语言模型获取的文本特征表示在应用上效果优于传统的词向量;同时也说明基于预训练语言模型的ALBERT-BiGRU 在专利文本分类方面有着强大性能。大类级别上的实验能验证本文模型在多个层级专利文本分类中的有效性,由表4 也可以看出,与SVM、TextCNN、Word2vec-BiGRU 和GloVe-BiGRU 相比,ALBERT-BiGRU 模型的准确率分别提高了11.5、5.0、9.5和11.2个百分点,说明本文模型ALBERT-BiGRU 在不同层级的专利文本分类任务中均有着较好表现。

从各部的分类效果来看,本文模型ALBERT-BiGRU 在F1值上表现也突出,如图5 所示。可知,本文模型在八个部中的F1 值均高于其他模型,且F1 值的平均值为0.860,再次验证了本文方法的有效性。

以上实验结果表明,本文模型通过ALBERT 预训练语言模型提升了词向量的表征能力,且使用BiGRU 神经网络作为分类模型,能够最大限度保留专利文本中长距离词之间的语义关联。由此得出,本文提出的专利文本分类模型ALBERTBiGRU能有效提升不同层级专利文本分类的效果。

表4 部级别和大类级别上各模型准确率 单位:%Tab.4 Accuracies of different models at department level and big class level unit:%

图5 各模型在八个部中的F1值对比Fig.5 Comparison of F1 values of different models in eight departments

5 结语

针对现有的专利文本分类算法大都采用Word2vec 和GloVe 等方式获取文本的词向量表示,舍弃了大量词语的位置信息且不能表示出文本的完整语义的问题,提出了一种结合ALBERT 和BiGRU 的多层级专利文本分类模型ALBERTBiGRU。该模型不仅通过ALBERT 预训练语言模型提升了词向量的表征能力,并且利用BiGRU 最大限度地保留了专利文本中长距离词之间的语义关联,从而有效提升了专利文本分类的效果。在专利数据集的部和大类两个层级分别进行实验,实验结果表明,ALBERT 预训练语言模型获取的文本特征表示在应用上效果优于传统的词向量,且在不同层级的专利文本分类中,本文所提出的方法ALBERT-BiGRU 在各项评价指标中均有着较好表现。在下一步工作中,将扩展模型到小类和大组等更深层级的分类中,以应用于实际的专利自动分类。

猜你喜欢

层级向量专利
科室层级护理质量控制网的实施与探讨
向量的分解
聚焦“向量与三角”创新题
层级护理模式对血液透析患者的影响
职务职级并行后,科员可以努力到哪个层级
2014—2016贵州英语学考、高考学生认知水平分析
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
2007年上半年专利授权状况统计