基于改进的TF-IDF算法的文本分类应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.绪论
1.1介绍
1.1.1研究背景与意义
我们处于信息时代,并且处于高速发展的信息时代,在网络上的信息量也在爆炸式增加,这是非常好的事情,因为这里面包含了许多我们所需要的信息,但与此同时也是非常坏的事情,因为我们需要在海量的信息中检索到我们所需要的信息。因此就产生了一个问题:在这个信息爆炸的情况下,我们如何能够从海量的信息中搜索到我们要寻找的信息,或者如何根据提供的所需信息的特征寻找到我们所要查找的的信息。这就涉及到了文本分析技术,我们需要根据提供的信息特征来查找信息,我们也需要将文本的特征提取出来并根据特征进行分类。因此就涉及到了文本的特征提取以及文本分类的问题,根据提取的特征参数计算其之间的相似度,然后根据这些提取和计算的信息进行文本的分类。文本相似度说的是两个文章或好几个文章之间的相似程度的参数,文本相似度大这些文本的相似的程度高,反之则表示两个文本之间的相似程度低,文本相似的有效计算是文本信息处理过程之中非常关键的一项工作。分类是指自动对数据进行标注。人在生活中凭借自己的印象和对文字的理解来对一些事物进行分类,但是如果每一个网页都让人亲自来通过设定的前提手动的进行标注划分这是不现实的。因此,以计算机为基础的的高效率的自动文本分类技术变成了人们解决网络应用难题的急切渴望。分类是指自动对数据进行标注。人们在日常生活中通过经验划分类别。但是要依据一些规则手工地对网络上的每一个网页进行辨别分类,是不可能的。因此,以计算机为基础的的高效率的自动文本分类技术变成了人们解决网络应用难题的急切渴望。文本分类是自然语言处理和信息检索方向许多年来年来所一直研究的问题,一方面来说以检索的应用为目的来增加有效性和一切其他情况之下的效率;另一个方面,文本分类也是传统的机器学习技术之一。在机器学习方面,文本分类是在有人为注释的预定义的类别体系之下进行,因此他是属于有监督的机器学习问题。有几个应用场景1.情感分析:二个方面(积极、消极)或者多个方面(例如,愤怒、开心、沮丧之类),也有三个方面如(正面、负面、中性),但是在处理上还是会有些不同。一般在影评(比如猫眼、糯米)、商品评价(例如淘宝、咸鱼,拼多多的物品的评论)等。2.新闻题目分类:通过对文本的内容进行处理或者加上一些其他的信息来判断新闻所属的类,比如政治、农业、心理、艺术、空间、电子等等,所以常常用于新闻等方面。3. 垃圾邮件的滤除:用来区分一封邮件
是骚扰或是垃圾邮件来对邮件进行相应的处理。4. 舆论判定:和第一类较为相似,大多是分为两种,在政府机关以及在对经济行情的判定上有应用5. 从属于一个大的文本分析系统。文本分类一般流程是:文本分词、特征表示及选择,训练文本分类器,进行文本预测。文本分词就是将要处理的文本拆分成独立的词语,然后开始处理。当然这个步骤主要是针对一些东方的语言如中文,日语,阿拉伯语等因为这些语言的句子字符之间连接在一起,每个字符都不一定是独立的,而西方的一些语言如法语、英语等其他的每个词语之间都用空格分开的语言,就不用进行文本分词处理。进行特征表示是因为文本并不能被计算机识别,特征表示是将实际的文本内容变为机器内部的表示结果,而这一步又分为特征表示方法和权重计算方法,特征表示方法有向量空间模型VSM(Vector Space Model)和布尔模型等[1],权重计算方法有TF-IDF,DF,MI,CHI,ECE等[2]。特征选择就是从提取出的特征中剔除无关以及冗余项提取出一部分特征用于训练分类器,避免特征过多导致计算时间过长并提高训练的模型精度。分类器训练的方法有朴素贝叶斯分类器(Naive Bayes Classifier),K邻近算法(K-Nearest Neighbor)以及支持向量机(Support Vector Machine)等[3]在计算文本分类在解决自动文本分类的特征权重计算问题时,我们使用最广泛使用的TF-IDF算法。 尽管该算法被广泛使用,但是在计算权重时存在权重计算不合理的地方如词长权重问题。
本文利用一种改进的TF-IDF算法,将词长权重计算进去为TF-IDF-WL[4]用两种分别计算文本相似度进行比较优劣,最后将算法应用于文本分类(采用朴素贝叶斯分类器)来评估他的各项指标。
1.1.2 相关工作
在TF-IDF算法提出之后的时间里有不少的学者进行了该算法研究的工作,并提出了各种各样的改进方法或是针对算法计算过程本身的IDF或是对某一特定应用方向进行优化。Wang N等[5]认为VSM在利用TF-IDF描述文本特征只考虑了特征词和文本之间的关系,但忽略了不同特征词之间的关系针对该问题,提出了一种改进的TF-IDF权重函数,其使用类之间和类内的分布信息计算出DI表示一个词在分类时的权重。Hao M等[6]认为在文本相似度计算时,专业短语之间的同义词不被模型感知,并且它们被用作不同的词来计算相似性。并以生物医学领域的同义词为例,在TF-IDF模型中嵌入了同义词识别函数。首先,该方法获取生物医学领域中词汇的同义词并建立同义词,然后识别TF-IDF模型中的同义词并计算短语的更好权重。Chen J等[7] 认为经典的TF-IDF算法只考虑术语频率和逆文档频率的权重,
提出了一种基于TF-IDF的词算法位置自适应权重,称为TF-IDF-AP算法。TF-IDF-AP算法可以根据单词的位置动态地确定单词位置的权重。Huilong Fan等[8]认为TF-IDF算法在计算权重时存在特征类别具有不同权重的问题。提出了一种改进的TF-IDF算法(TF-IDCRF),它考虑了类之间的关系来完成文本的分类。通过修改IDF的计算公式来纠正特征类别分类不足的问题。王庆福等[9]认为TF-IDF 算法在文本分类时会使关键词权值发生波动,对该算法在分类时权值做全局化定义,可提高文本分类准确率。吉志薇[10]综合运用了类内和类间信息熵来改进了TF-IDF算法在计算文本相似度上的应用。杨欣[11]认为TF-IDF算法对文本中词语权重进行计算时,面临部分代表性较好的词语权重较低的问题,因此通过引进词语的类别信息定义了TW(Term Weight)的计算方法并用于代表该词的权重.
在本文中利用的是将词长权重计算进去的TF-IDF-WL[4]算法,用两种分别计算文本相似度进行比较优劣,最后将算法应用于文本分类(采用朴素贝叶斯分类器)来评估他的各项指标。
2.算法原理及相关介绍
2.1向量空间模型
当我们要进行文本处理时,常常会遇到怎么衡量几个文本的相似程度,我们知道文本是一个非常复杂的处理事务语意,词语表意与隐含意等等等等,怎么将其进行数字化,使我们能够从非常直观的角度比如数学表达式去衡量表示其相似程度。所以文本相似度计算的开始就是文本内容的向量化将文本,构成向量空间模型。
由萨尔顿等人在上个世纪发表的向量空间模型(VSM:Vector Space Model),并在SMART文本检索系统中顺利地应用。文本里的语言句子的处理被简单的表示为利用处理之后的矢量来进行计算,它以两个矢量的距离上的远近的表达来表示语义上的相似度,较为简明。
文档转换为多维矢量并且以特征词的权重为分量是向量空间模型的核心内容。向量空间模型认为文章中各个词语和词语之间没有关系(这也是导致向量空间模型没有办法解决语义相关方面的判断,特征词之间的线性无关的假说的这个前提是他的另一个缺点),将文本的内容进行矢量化表示,这样可以大大简化文本内容的冗杂关系,又因为文档的表示方法使矢量,使得模型可以进行数学计算。
萨尔顿提出的数学模型里面,文本表示的是各种能够被计算机识别的记录。
文本用D表示,用T表示文本中的特征词,这些特征词可以使用词语,短语甚至是橘子的提炼等表示,这样就能够将文本表示为D(T1,T2,…,Tn),括号中的Tn是特征词,其中下标n要保证1<=n<=N。
接下来将介绍一下向量空间模型的表示方法。
假设在一
个文档里面拥有四个特征项,这样一来这个文档就可以表示为D(T1,T2,T3,T4)
而要和他进行匹配对比的文档,他的特征项的顺序也必须如此。并且每个特征词都会给予一定的权重即这样就完成了文档D 的向量化表示,表达式里W是T的权重。假如上述的表示中的T1,T2,T3,T4的权重分别赋予为0.2,0.5,0.6,0.8,这样文本的矢量表达就可以写成D(0.2,0.5,0.6,0.8)
不管文本的表达文字是哪种语言,第一步我们都需要把他变为机器可以是别的表达方式。而这个将文本转化为机器可以识别的过程就叫作文本的向量化。
我们区分向量化的粒度可以通过以下几个方面判断:
1.中文的一个字英文的一个单词这样子来进行向量化。
2通过词语来进行向量化,这就涉及到了分词。
3.或者通过将句子分割,提炼出语意来进行表示。
而将文本进行向量化的方法有很多种,如以词为单位的文本向量化方法:词集模型、词代模型、TF-IDF、word2vec。在本文中主要使用的是TF-IDF算法以及其改进后的TF-IDF-WL算法来进行文本的向量化。
2.2传统TF-IDF算法
传统的TF-IDF加权通常用来进行关键词提取,生成等,可以用来让用户查询两个文本之间的相似水平。TF-IDF算法除了以上作用之外也经常的被当做一个小环节在一些文本处理的系统中。对于词语频率TF的定义是指的,一篇我们要处理的文档里面,经过分词处理之后,一个词语在这个文本里面所出现的频率。如果一个文档他的内容非常的多(即总的词语数目非常的多)那么一个词语出现的次数比在一个内容较少的文档中的相同词语出现的多但是并不能表示这个词的在长文档的重要程度大于在段文档之中,因此这个数字需要进行标准化。修正后TF计算如公式1所示。
可是并不是说一个词的频率越大那他的重要性就越高,例如“嗯”,“啊”,“这”这些词语,这些词在每一篇文章中都会大量的出现但是这些词并不能代表文章的内容。这些对于只是为了使文章结构完整的词语我们也将其称作为停用词。因此在对一个文本的词语出现的次数计算时,应当将这些词语除去在进行统计
如果仅仅是将停用词去除并不足够,比如如果想分析某一个类的文章比如电子方面,那么“电子”这个词在每篇文章中出现的概率都特别的大,但是对于分析这个类别的文章来说这个特征词的权重就会大大的下降。
通过上面的分析,要是某个词的出现频率较少(指在准备的语料库中出现的次数较少),相反这个词在某篇文章中出现的次数非常的多,这样的词语非常有可能能够代表这篇文章的主题,所以像这种词语我们应该给予较高的权重。于是就引出了下面