文章目录
VSM概念及应用场景文本分类的概念VSM涉及的概念VSM模型及相似性度量特征项的选择项的权重计算TF(Term frequency)IDF(Inverse document frequency)TF-IDF(Term Frequency-Inverse Document Frequency)VSM结合KNN流程总结VSM概念及应用场景
百度百科给出的定义
VSM概念简单,把对文本内容的处理简化为向量空间中的向量运算,并且它以空间上的相似度表达语义的相似度,直观易懂。当文档被表示为文档空间的向量,就可以通过计算向量之间的相似性来度量文档间的相似性。文本处理中最常用的相似性度量方式是余弦距离。
由于VSM可以通过相似性来度量文档之间的相似性,所以对文档检索有很大的作用;通过将文档与其关键字建立联系,可以根据用户输入的关键字进行检索相关内容的文档。
对向量空间模型来说,有两个基本问题:即特征项的选择和项的权重计算。
文本分类的概念
文本分类的任务可以理解为获得这样的一个函数:
D={d1, d2, …dn}表示要分类的文档,C={c1, c2, …cm}表示类别,T表示对于<di, cj>来说di是cj类别为True,F则相反。DxC可以理解为笛卡尔积的运算。
VSM涉及的概念
文档(document):通常是文章中具有一定规模的片段,如句子、句群、段落、段落组直至整篇文章。项/特征项(term/feature term):特征项是VSM中最小的不可分的语言单元,可以是字、词、词组或短语等。一个文档的内容被看成是它含有的特征项所组成的集合,表示为:Document=D(t1, t2, …, tn),其中ti是特征项。项的权重(term weight):对于含有个特征项的文档,每一特征项都依据一定的原则被赋予一个权重,表示它们在文档中的重要程度。这样一个文档D可用它含有的特征项及其特征项所对应的权重所表示:D=D(t1,w1; t2,w2; …),简记为D=D(w1, w2, …),其中wi就是特征项的权重。一个文档在上述约定下可以看成是视维空间中的一个向量,这就是向量空间模型的由来。由此引出SVM定义。
VSM模型及相似性度量
相似性度量
定义: 任意两个文档D1和D2之间的相似性系数Sim(D1,D2)指两个文档内容的相关程度(degree of relevance)。设文档D1和D2表示VSM中的两个向量:
D1=D1(w11, w12, …, w1n)
D2=D2(w21, w22, …, w2n)
借助于n维空间中两个向量之间的某种距离来表示文档之间的相似度,常用的方法是使用向量之间的內积来计算:
考虑到向量的归一化,则可以使用两个向量的余弦值来表示相似系数:
那为什么用两个向量之间的余弦值就可以作为相似性的度量,想了很久得出一个至少能说得过去的看法。加入对于二维空间,有固定好了两个向量的坐标点,一个在A(100,0),另一个在B(-5,0),现有一个向量的坐标点为C(1,0),很明显看到C和B的欧式距离更近一些,但是并不能说C和B的相似性更大,因为C和B在x轴上的因素是相反的关系;更通俗一点,假设x正半轴描述电影的爱情因素,x负半轴描述电影的动作因素,那只能说C点有很少的爱情因素,但并没有动作因素,这样看来C和A更相似一些。
特征项的选择
在文本处理过程中,将文本集合中的每个文本实行分词处理后,通常是统计出每个文本出现的词以及相应的词频,然后将每个文本出现的词合并成一个词空间,所以词空间中出现的不同词相当多。表示一篇文本的时候,无论文本用向量空间模型还是概率统计模型来表示,文本的特征的维度都和词空间的维度一样。而每个文本中出现的词只占词空间中很少一部分,文本特征表示非常稀疏。【但是如果词空间并不是很大的情况下就不需要进行特征选择】使分类算法的时间复杂度和空间复杂度增加,而且对文本特征表示的不准确性严重影响了文本分类性能。因此,需要对文本特征进行筛选,选出最能代表文本类别的特征,这个过程就是特征选择。特征选择的一般步骤是:
(1)从训练文本集中取得所有的特征项,构成文本特征集合F
(2)对集合中的每一项用下面将要介绍的特征评估函数进行打分,然后按照分值由高到低排序,得到有序集合F1
(3)假设需要选取N个分类需要的特征项,则从集合F1中选取前N个特征项,构成最终的分类特征项Fs,Fs将用于训练分类器和分类测试。
特征项的选择算法这里暂不学习。
项的权重计算
上面经过特征项选择出要投入算法的特征项组成的向量空间后,就要对每个文档进行权重的计算来作为每个维度上的坐标。
不同的特征项对文本的重要程度和区分度是不同的,所以在对文本分类模型进行形式化的时候,需要对所有特征项进行赋权重处理,常用的加权函数有布尔权重、词频权重、权重和基于熵概念的权重等。这里只学习TF-IDF相关权重计算方法。
TF(Term frequency)
词频是指某一个词语(项)在此文本中出现的频率。
但是, 需要注意, 一些通用的词语对于主题并没有太大的作用, 反倒是一些出现频率较少的词才能够表达文章的主题, 所以单纯使用是TF不合适的。权重的设计必须满足:一个词预测主题的能力越强,权重越大,反之,权重越小。所有统计的文章中,一些词只是在其中很少几篇文章中出现,那么这样的词对文章的主题的作用很大,这些词的权重应该设计的较大。IDF就是在完成这样的工作。
IDF(Inverse document frequency)
逆向文件频率 (inverse document frequency, IDF) IDF的主要思想是:如果包含词条t的文档越少, IDF越大,即说明词条具有很好的类别区分能力。某一特定词语的IDF,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到。
n表述所有文件集文档的数目,termcount 是词条在所有文件中出现的次数,通常分母为termcount+1,因为有时可能没有出现某个词条导致分母为0。
TF-IDF(Term Frequency-Inverse Document Frequency)
TF-IDF倾向于过滤掉常见的词语,保留重要的词语。
一个例子:假设100篇文档有10000个词,研究某篇500词文章,“机器学习”出现了20次,“而且”出现了20次,那么他们的TF都是20/500=0.04。
再来看IDF,对于语料库的100篇文章,每篇都出现了“而且”,因此它的IDF就是log1=0。而“机器学习”出现了10篇,那么它的IDF就是log10=1。
再看TF-IDF, “而且”的值为0,“机器学习”的TF-IDF=0.04>0,显然“机器学习”比“而且”更加重要。
VSM结合KNN流程总结
先是VSM部分
从很多文本中选择合适的特征项组成词空间(某些情况非必须);然后通过权重算法(例如tf-idf)计算出每个文本在各个维度上的权重,也就是坐标。
再是KNN部分
对于一个待分类的本文,先用上面的方法转换成向量的形式,然后通过sim公式找出n个相似度最近的本文,最终可以以少数服从多数方法来确定待分类文本的类别。
参考链接
/weixin_42398658/article/details/85063004/weixin_43606502/article/details/103414100