程 盼,徐弼军
(浙江科技学院 理学院,杭州 310023)
专利作为重要的技术信息载体,包含着各种有价值的重要研究成果,其数量也在不断攀升[1],于是面对海量的专利文本,对其进行合理的分类显得尤为重要[2]。目前,专利文本分类还是以人工为主,但随着专利数量的迅速增长,若仅靠专利审查员的专业素质与经验来进行分类,则无法满足高效和准确的实际需求[3]。
近年来,国内外对专利文本分类进行了大量的研究。Cassidy[4]提出了一种改进的朴素贝叶斯算法,并在来自世界专利信息(World Patent Information,WPI)测试集中的7 309项专利组成的语料库上进行了测试,结果表明在利用极少的数据进行训练时F1值仍能够达到34.26%。Li[5]等提出了一种基于卷积神经网络(convolutional neural networks,CNN)和单词嵌入向量的深度学习算法DeepPatent,并将其在数据集CLEF-IP与新数据集USPTO-2M上分别进行了测试,其精确度分别达83.98%与73.88%。贾杉杉等[6]提出了一种多特征多分类器方法,对多种特征分别用多个分类器进行测试,准确率最高达91.2%。胡云青[7]提出的改进的三体训练法半监督模式,能够动态改变分类器对相同未标记样本预测类别的概率阈值,并且在训练样本只有少数标记的情况下F1值最高达70.6%。
在海量的专利文本中,为了提高专利审查员的分类效率,提升对专利信息的组织管理水平,因此引进机器学习来对专利文本进行自动分类非常必要[8]。但是专利文本中大量专业术语的使用,特定于行业中的语言降低了词汇密度,并导致算法的搜索空间稀疏;此外,有意的非标准化语言虽然可以帮助申请人扩大专利范围或减少侵权的可能性,但这会给机器学习带来噪声,使其难以找到清晰的模式[9-10]。为了克服这些限制,我们提出了一种新的机器学习方法,利用word2vec模型的词向量进行文本表示,配合logistic回归模型来实现对专利文本的自动分类。
word2vec是一种用来产生词向量的神经网络概率语言模型,由Mikolov等[11]在2013年提出。它可以根据给定的文本数据,在快速有效地优化训练模型后将一个词转换成向量形式。该算法依据连续词袋(continuous bag-of-words,CBOW)模型和Skip-gram模型来进行训练,两个模型的结构如图1、图2所示,图中方框表示词汇的向量。CBOW模型的输入层为当前词汇的上下文词汇的独热向量(one -hot向量),经过投影层对上下文词汇的词向量进行累加计算,最后输出层输出预测的当前词汇的词向量。Skip-gram模型的输入层为当前词汇的one -hot向量,为了与CBOW模型对比,Skip-gram模型也加入一个投影层,但此投影层只对输入的当前词汇的向量进行加权,最后经过输出层输出当前词汇的上下文词汇的词向量。
图1 CBOW模型的结构
图2 Skip-gram模型的结构
由图1可知,CBOW模型是在已知上下文词汇w(t-2)、w(t-1)、w(t+1)、w(t+2)的前提下来预测当前词汇w(t),简言之,即通过上下文的内容来预测当前词汇。它的学习目标就是最大化对数似然函数,其数学表达式为
(1)
式(1)中:w为当前语料库C中任意一个词;Context(w)为当前词语w的上下文。
而Skip-gram模型是在已知当前词汇w(t)后,预测其上下文词汇w(t-2)、w(t-1)、w(t+1)、w(t+2)。其目标函数的数学表达式为
(2)
在本研究的实际操作过程中,Skip-gram模型的训练时间与CBOW模型相比更长,但其精度优于CBOW模型。因此,为了获得更好的分类效果,本研究选取Skip-gram模型[12]。
logistic回归模型[13]是统计学中比较经典的分类算法。它虽然被称为回归,但实际上却是一种用于分类的模型。它的因变量有二分类、多分类,本研究利用它进行多分类。
设X是连续随机变量,X服从logistic分布是指X具有下列分布函数和密度函数:
(3)
(4)
式(3)~(4)中:γ为形状参数;μ为位置参数。
二项logistic回归模型由条件概率分布P(Y|X)表示,形式为参数化的logistic分布。其中,随机变量X为实数,随机变量Y的取值范围为{0,1}。将x∈Rn作为输入,Y∈{0,1}作为输出,则二项logistic回归模型可用以下条件概率分布来表示:
(5)
(6)
式(5)~(6)中:w、b均为参数,w∈Rn,b∈R;w为权值向量;b为偏置;wx为w和x的内积。
为了方便计算,有时会将权值向量和输入向量进行扩充,仍然记作w、x,即w=(w1,w2,…,wn,b)T,wi表示权值向量w的第i个分量,x=(x(1),x(2),…,x(n),1)T,x(i)表示输入向量x的第i个分量,i=1,2,…,n。这时,logistic回归模型如下:
(7)
(8)
logistic回归模型在训练学习时,对于给定的训练数据集T={(x1,y1),(x2,y2),…,(xN,yN)}(xi∈Rn,yi∈{0,1})可以利用极大似然估计法来估计模型参数。
为了解决多类分类问题,将二项logistic回归模型进行推广。假设{1,2,…,K}为离散型的随机变量Y的取值集合,那么多项logistic回归模型为
(9)
(10)
式(9)~(10)中:x∈Rn+1,wj∈Rn+1。
本研究所有的试验都是基于Windows10操作系统,CPU型号为Core i5,主频为3.00 GHz,内存大小为8 GB,编程语言使用Python 3.7版本,用到了Sklearn、Jieba、Pandas等多方库。本试验数据为从万方数据知识服务平台下载的2019年中国已授权的专利文本数据,这些数据按照国际专利分类号(International Patent Classification,IPC)进行了标记。IPC分类号采用“部—类—组”的层次分类方法,层次越低,文本的相似度就越高[14]。为了方便研究,本研究从数据库中获取的是“部”类别为H的电学领域的专利文本,分别为H01、H02、H03、H04、H05,其中每个类别数量都为6 000篇,一共30 000条的专利数据作为语料库。各专利分类号的具体含义见表1。
表1 专利分类号含义
由于专利说明是对该专利的进一步解释,因此,我们在试验中将专利说明和摘要的内容进行文本合并后,构成了最终参与试验的语料库[15]。为了方便试验,人工划分出了训练集与测试集,其中训练集包含每个类别的5 000条数据,测试集包含每个类别的1 000条数据。整个试验设计的流程如图3所示。
图3 试验设计流程
对数据集进行人工标注后,开始进行文本预处理,其中主要包括分词和去除停用词[16]。由于文本处理中最基础的单元就是词汇,因此,需要将整个语料进行分词。我们使用Python的第三方库Jieba对专利文本进行有效的分词。然后再去除停用词,即助词、符号等对整个语义没有影响的词,本研究采用的是收录较为完整的《哈尔滨工业大学停用词表》。最后,将完成分词和去除停用词后的文档进行保存,该文档将全部由词汇组成。
将预处理之后的文本数据利用Python中的第三方库Gensim的word2vec模型进行训练,从而得到词汇的词向量表[17]。经过一系列的调试之后,我们发现将词向量维数设置为200,迭代次数设置为10,其他参数保持不变时,该模型的精度达到最优。
为了验证本研究提出的word2vec+logistic模型的有效性和优越性,设计了两组试验进行对比。一组试验为在相同的分类器logistic回归模型下,采用不同的文本表示方法,即word2vec模型和向量空间模型进行比较。其中word2vec模型是将得到的词向量与分词之后的文档进行词汇映射,得到每个词汇具体的词向量值,然后求出文档的平均值,从而得到文档的词向量表示;而传统的向量空间模型主要采用的是one-hot编码,即将所有待分类的语句中不重复的词汇全部提取出来,形成词典,将词汇出现在词典中的位置记为1,其他位置记为0,然后使用词频-逆向文档频率(TF-IDF)特征权重计算方法来加权表示[18]。另一组试验为在相同的文本表示方法word2vec模型下,采用不同的分类器logistic回归模型与k近邻(k-nearest neighbor,KNN)算法在相同数据集上进行对比试验。
采用精确度P、召回率R及F1值来评价模型的分类效果。假设将关注的类别标签记作正类,其余的类别标签记作负类,则分类器的预测结果在测试集上有正确和不正确两种[19]。其中,精确度以预测结果为判断依据,召回率以实际样本为判断依据。
精确度可表示为
(11)
式(11)中:a为实际为正例的样本数;b为实际为负例的样本数。
召回率可表示为
(12)
式(12)中:c为预测错误的样本数。
F1值是精确度和召回率的调和均值,其表达式为
(13)
3.2.1 word2vec+logistic模型与TF-IDF+logistic模型对比分析
为了验证词向量模型进行文本表示的优势,设计了在采用同种分类器下,利用词向量模型word2vec与向量空间模型TF-IDF分别进行文本表示的分类结果对比试验[20]。
在对利用word2vec模型进行文本表示的语料进行训练的过程中,采用了十折交叉验证,word2vec+logistic模型在训练集上的平均准确率达到了71%。由图4可知,将模型保存之后应用在测试集上,各类别的准确率分别为69%、64%、84%、76%、61%,平均准确率达到了70%左右,这与在训练集上的结果相差不大。而用同样的数据在对利用TF-IDF进行文本表示的语料进行训练时,经过交叉验证之后,TF-IDF+logistic模型在训练集上的平均准确率仅为42%,而在测试集上,平均准确率也就40%左右。
图4 word2vec+logistic与TF-IDF+logistic在测试集上各类别的准确率
表2、表3所示的是word2vec+logistic模型与TF-IDF+logistic模型分类结果的精确度(P)、召回率(R)与F1值,通过对比可以看出,使用向量空间模型的专利文本分类效果较差,除了H03类之外,其他类F1值只达到了35%左右。导致其分类效果低的原因可能是专利文本中不同领域拥有各种专有名词,而向量空间模型只会对词汇做比较简单的区分,并且向量的维度极高,样本之间的特征太过稀疏化。而基于word2vec的词向量文本表示,可以表达词汇之间的相似度,对近义词进行区分,其分类结果在各项指标上明显地要优于向量空间模型,相比之下,基本上所有类别的F1值都提高了30%左右。
表2 基于word2vec+logistic模型的文档分类结果
表3 基于TF-IDF+logistic模型的文档分类结果
3.2.2 word2vec+logistic模型与word2vec+KNN模型对比分析
KNN分类模型作为最简单的、经典的机器学习模型,在分类问题上被广泛使用,因此,选取KNN模型来与logistic回归模型进行比较。KNN模型是在特征空间中通过计算待测样本与训练样本间的距离,得出与待测样本相邻最近的k个样本中的大多数属于哪一类别,则该待测样本也属于这个类别[21]。
图5所示的是word2vec+logistic模型与word2vec+KNN模型在测试集上各类别的准确率,从图中可以看出,在进行十折交叉验证之后,word2vec+KNN模型在整个测试集上的平均准确率为63%左右,而word2vec+logistic模型平均准确率为70%左右,比word2vec+KNN模型提高了7%左右。
图5 word2vec+logistic与word2vec+KNN在测试集上各类别的准确率
表4所示的是word2vec+KNN模型在测试集上的分类结果,与表2所示的word2vec+logistic模型的分类结果比较,可以发现logistic回归模型各个类别的F1值最大提高了10%。究其原因,在选取数据时,我们是基于部随机选取的专利样本,每个部下面还有很多类、组,其类组之间有的可能存在较大的差异,KNN模型是靠邻近的k个点来判断,这就导致当出现样本不均衡问题时,其分类效果会变差;其次,KNN模型中k值大小的选择没有理论上的最优值,在训练过程中发现,随着k值越来越大,模型精度的确有所提升,但是这只会让模型变得简单,这并不是一个较好提升模型精度的方式,而logistic回归模型不依赖于样本之间的距离。因此,在本试验中,logistic回归模型充分表现出了它的优势。
表4 基于word2vec+KNN模型的文档分类结果
针对中文专利文本的自动分类问题,本研究提出了一种新的机器学习方法,利用word2vec进行文本表示,用logistic回归作为分类器的专利文本分类模型,并与传统的向量空间模型进行文本表示及利用KNN模型作为分类器进行比较。经过理论分析和试验评估发现,与传统的向量空间模型采用TF-IDF进行文本表示相比,word2vec模型在进行文本表示时,可以很好地区分专利文本中相似的特征,并且logistic回归模型与KNN模型相比,在分类效果上其精确度、召回率、F1值都有了显著的提高。此外,本研究的模型还可以推广到其他专利类别的文本分类上,后续工作将是进一步研究优化,以获得更优的分类效果。