【NLP】 向量空间模型
向量空间模型是一种比较广泛是一种用向量来表示文本的代数模型。
在向量空间模型中,文档被表示成一个权值向量,其中的每一个权值都通过词频率表(TF),或者词逆向文档频率表(TF-IDF),或者他们的变异版本计算得到的。
词频率表(Term Frequency(TF)Scheme):在这种方式中,文档di中token ti的权值就是在dj中ti出现的次数,被定义为fij,在此基础上还可以进行标准化。
词逆向文档频率表(TF-IDF Scheme):这是最有名的权值表,这种表有很多种变异的版本,在这里给出最基本的形式
在一份给定的文件里,词频(term frequency,TF)指的是某一个给定的词语在该文件中出现的次数。这个数字通常会被正规化,以防止它偏向长的文件。(同一个词语在长文件里可能会比短文件有更高的词频,而不管该词语重要与否。)对于在某一特定文件里的词语 ti 来说,它的重要性可表示为:
tfij = nij/∑knkj
以上式子中是该词在文件中的出现次数,而分母则是在文件中所有字词的出现次数之和。
逆向文件频率(inverse document frequency,IDF)是一个词语普遍重要性的度量。某一特定词语的IDF,可以由总文件数目除以包含该词语之文件的数目,再将得到的商取对数得到:
idfi=log(|D|/|{j:ti∈dj}|)
其中
|D|:语料库中的文件总数
|{j:ti∈dj}|:包含词语ti的文件数目(即nij≠0的文件数目)如果该词语不在语料库中,就会导致被除数为零,因此一般情况下使用1+|{j:ti∈dj}|。
然后
tfidfij=tfij×idfi
某一特定文件内的高词语频率,以及该词语在整个文件集合中的低词语频率,可以产生出高权重的TF-IDF。因此,TF-IDF倾向于过滤掉常见的词语,保留重要的词语。
P.S. 自己开题报告上的,写在博客上应该没有什么问题吧~ HOHO~ 参考的维基和Web Data Mining。
余弦相似度
余弦相似度是向量空间模型的一种度量方式,是通过以上方法把文档转换成向量后度量两个向量之间的距离。
cos(di,dj)=<di · dj>/( ||dj|| × ||di|| )
例如:
两篇文档为 (a,c) 和 (c,d),单词对应的权重两篇文章分别为:wi = (0.5, 0.2, 0.3, 0.5), wj = (0.5, 0.3, 0.5, 0.2)
则相对应的两篇文档的向量为:di = (0.5, 0, 0.3, 0) 和 dj = (0, 0, 0.5, 0.2)
则<di · dj>=0.5*0+0*0+0.3*0.5+0*0.2=0.15;
||dj|| = sqrt{0.52+0.32}=0.583; ||di|| = sqrt{0.52+0.22}=0.539
那么这两篇文档的余弦相似度为:cos(di,dj)=<di · dj>/( ||dj|| × ||di|| ) = 0.15 / ( 0.583 * 0.539 ) = 0.477