自动专利分类任务的实现
李俊 罗坤
摘要:自动专利分类任务即是根据专利摘要的内容,自动地将专利分为预先定义的一个类或几个类的过程,自动专利分类的研究目标是实现专利分类的自动化,以达到降低分类成本、提高分类效率和改善分类性能等目的。根据摘要提供的文本信息的特点,自动专利分类任务可分为文本预处理、维数约减、分类器的学习等步骤。
关键词:自动专利分类 文本预处理 维数约减 分类器学习
引言
根据专利摘要,自动分类是一类自动文本分类任务,文本分类即根据文本的内容,自动地将文本预先定义为一个类或几个类的过程[1]。本次专利分类任务的样本取自G06F1~G06F21,一共274个类别。其中部分样本个体同时属于G06F1~G06F21中的多个类别,但是考虑到只有少数的样本个体满足多类别的条件,我们考虑将多类别划分为一个新的类别,以此保证每个样本个体只能属于一个类别。这样做的目的是,变成单类别任务后可以大幅度地提高分类的准确率。
本次专利分类任务主要可分为如图1所示的几个步骤。
图1
一、文本预处理
对于本次专利分类任务,文本预处理主要分为四个步骤:有效数据的提取、中文分词、停用词与稀有词的去除、文本表示。
有效数据的提取:原始数据来自于G06F.xls格式的文件,每个文件包含ID、申请号、分类号、摘要等七个子项,而对于分类任务来说我们只需要分类号以及摘要这两项,所以第一步是对数据进行清洗,只保留对我们有用的信息。
中文分词:在本次任务中,我们用到的分词算法是最大正向匹配法,其基本思想是:假定分词词典中的最长词有i个汉字字符,则用被处理文档的当前字串中的前i个字作为匹配字段查找字典。若字典中存在这样的一个i字词,则匹配成功,匹配字段被作为一个词切分出来。如果词典中找不到这样的一个i字词,则匹配失败,将匹配字段中的最后一个字去掉,对剩下的字串重新进行匹配处理。
停用词与稀有词的去除:考虑到专利摘要的语义相似度很大、高频词较多的特点,每一个词的出现对类别的正确分类都有一定的帮助,所以根据实验结果,我们没有选择去除任何停用词与稀有词。
文本表示:根据分词后的词组利用向量空间模型将每个文本投影到空间上的一个点。其中,每个文本的权重采用文档频率来表示。
二、维数约减
文本分类数据的明显特征就是特征的高维性与稀疏性,这会对分类算法带来两个方面的问题:其一,会在训练与分类时间上带来很大的开销;其二,过多的特征往往会导致人们常说的维数灾难问题[2],因此对文本数据进行维数约减就变得极为重要了,这也是文本分类的必要前提。文本分类中的维数约减可以消除文本数据的冗余特征,消除可能存在的数据噪声,提高分类器训练的效率和分类性能,节省存储空间,因而是文本分类的一个研究热点。
维数约减的任务是在不损失文本分类性能的前提下,从一组数量为D的特征中选择出数量为d(D>d)的一组最优特征。特征选择和特征抽取[3]是维数约减的常用两种方法。特征选择是根据某种评分准则从原始特征中选择部分最优特征;特征抽取是依据某种原则构造从原始特征空间到低位空间的一个变换,从而将原始特征空间所包含的分类信息转移到新的低维空间中去。
本次任务我们分别采用特征选择与特征抽取进行测试。
在特征选择中,我们又先后利用信息增益与卡方检测进行测试,信息增益的主要衡量标准是看特征能够为分类带来多少信息,而卡方检测主要是对类别与特征的关联度进行量化。结果显示,虽然两种方法的衡量标准略有不同,但是采用这两种方法可以得到相似的准确率。
在特征抽取中,我们采用主成分分析与潜在语言索引这两种方法进行测试,结果显示,对于专利分类任务,不论采用哪种特征抽取方法,得到的结果都没有利用特征选择效果好,这主要是因为专利摘要的语义相似度很大,即便我们利用话题模型抽取特征也不能得到一个有效的新结构,反而会让数据信息丢失,从而造成分类准确率的下降。
三、分类器学习
文本分类器是文本分类系统中的核心部分,目前,许多统计学习、机器学习的算法都在文本分类中得到了广泛的应用,基于统计学习、机器学习的文本分类技术已经成为主流技术,现在已提出了许多文本分类算法,常见的有k-近邻,朴素贝叶斯,支持向量机等。下面对这些方法进行简单介绍。
(一)朴素贝叶斯
朴素贝叶斯分类是贝叶斯学习方法中最常用的方法,它是一种简单而又非常高效的分类方法,它的一个前提是:在给定的文档集的语境下,文档属性是相互独立的。之所以称其为朴素的,在于其假设构成特征向量的各个特征相互独立。
假定di为任意一文档,它属于文档类别集合C中某一类cj,根据朴素贝叶斯分类法有
对文档di进行分类,就是按照上述公式计算所有文档在给定di情况下的概率,概率值最大的那个类就是所属di类别。由公式可知,当给定分类背景和测试文档集,使用朴素贝叶斯方法的关键问题就是计算P(cj)P(di|ci),根据计算公式的不同,朴素贝叶斯又可分为最大似然模型、泊松模型和多项式模型。
(二)k-近邻
k-近邻分类器是一种应用广泛的经典分类方法,也叫基于实例的分类器,KNN算法很早就用于文本分类的研究中,其分类性能优秀。
KNN分类模型的原理相当简单直观:给定一个带分类的测试文档,考察和待分类文档最相似的已知的k篇文档,根据这k篇文档的类别来判断待分类文档的类别值。其中,文档相似度的判定可以使用欧式距离等,最相似的k篇文档按其和待分类文档的相似度高低对类别值给予加权平均,从而预测待分类文档的类别。
在k-近邻分类器中,参数k的取值非常重要,k值选取过小,不能充分体现待分类文档的特点,而如果k值选取过大,则会造成噪声增加,导致一些和待分类文档实际上并不相似的文档也会包含进来,使准确率降低。利用k-近邻分类器进行分类,文档向量x属于类别ci的权值由下式计算,权值越高,则认为文档向量x属于类别ci的概率越高。
其中,S函数是向量之间的相似度;x1,x2,…,xn是训练集和x相似度最大的k个文档向量;而当xj属于类别ci时为1,否则为0。
(三)支持向量机
由V.N.Vapnik教授等人创立的统计学习理论是一种专门的小样本理论,这一方法数学推导严密,理论基础坚实。基于这一理论提出的支持向量机(support vector machines, SVM)方法,为解决基于数据的非线性建模问题提供了一个新思路。SVM方法是一种具有严密理论基础的计算机学习的新方法,它已经成为计算机学习、模式识别、计算智能、预测预报等领域的热点技术,受到国内外的广泛关注。
SVM方法的基本思想是:定义最优线性超平面,并把寻找最优线性超平面的算法归结为求解一个凸规划问题。进而基于Mercer核展开定理,通过非线性映射φ,把样本空间映射到一个高维乃至于无穷维的特征空间(Hilbert空间),使在特征空间中可以应用线性学习机的方法解决样本空间中的高度非线性分类和回归等问题。简单地说就是升维和线性化。升维,即把样本向高维空间做映射,这一般只会增加计算的复杂性,甚至会引起“维数灾难”,因而人们很少问津。但是作为分类、回归等问题来说,很可能在低维样本空间无法线性处理的样本集,在高维特征空间却可以通过一个线性超平面实现线性划分。SVM的线性化是在变换后的高维空间中应用解线性问题的方法来进行计算。在高维特征空间中得到的是问题的线性解,但与之相对应的却是原来样本空间中问题的非线性解。
一般的升维都会带来计算的复杂化。SVM方法巧妙地解决了这两个难题:由于应用了核函数的展开定理,所以根本不需要知道非线性映射的显式表达式;由于是在高维特征空间中建立线性学习机,所以与线性模型相比不但几乎不增加计算的复杂性,而且在某种程度上避免了“维数灾难”。这一切要归功于核的展开和计算理论。因此人们又称SVM方法为基于核的一种方法。核方法研究是比SVM更为广泛和深刻的研究领域。
(四)实验结果
在本次任务中,我们对常用的机器学习算法都做了测试,其中支持向量机的测试结果最好,对于大多数样本容量较大的类别,查全率以及查准率都可达到50%以上,对于个别样本容量很小的类别,分类效果很差,不过这也是符合统计规律的。整体的分类效果如下所示(G06F1~G06F21):
该结果是利用支持向量机分类得到的,采用一对一策略进行分类,即在每两类训练一个分类器,因此对于一个k类问题,将有k(k-1)/2个分类函数。当对一个未知样本进行分类时,每个分类器都对其类别进行判断,并为相应的类别“投票”,最后得票最多的类别即作为该未知样本的类别。
四、结语
自动专利分类任务是一类自动文本分类任务,即自动地将文本分为预先定义的一个类或几个类的过程,自动专利分类的研究目标是实现专利分类的自动化,以达到降低分类成本、提高分类效率和改善分类性能等目的。任务可分为文本预处理、维数约减、分类器的学习等步骤,对于每个步骤采用什么具体的方法进行实现,我们需要结合专利摘要提供的文本信息的特点进行选择。根据实验的效果,我们最终采用文档频率作为特征权重,采用信息增益作为维数约减的手段,最后采用支持向量机作为学习器对专利进行分类。对于将近300个标签的样本,最终分类效果能到达45%的准确率已经是一个非常不错的结果了。但是该结果并不是在参数最优的情况下产生的,所以我们相信在参数调到最优后,准确率会达到更高。
参考文献
[1]YANG Y, PEDERSEN J Q.A comparative study on feature selection in text categorization[C].Proceedings of the 14th International Conference on Machine Learning(ICML), 1997:412-420.
[2]谭松波.高性能文本分类算法研究[D].北京:中国科学院计算机研究所,2006:11,27.
[3]SEBASTIANI F.Machine learning in automated text categorization[J]. ACM Computing Surveys.2002,34(1):1-47.