本文主要是介绍TF-IDF、向量空间模型和余弦相关度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、TF-IDF
TF-IDF是信息检索和数据挖掘中常用的一种加权技术。它是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。
TFIDF的主要思想是:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。
TF词频(Term Frequency)指的是某一个给定的词语在该文件中出现的频率。
IDF反文档频率(Inverse Document Frequency)是一个词语普遍重要性的度量。
总的来说
文档集中包含某一词条的文档越多,说明它区分文档类别属性的能力越低,其权值越小;
另一方面,某一文档中某一词条出现的频率越高,说明它区分文档内容属性的能力越强,其权值越大。
我的经验,TF-IDF高于0.01就已经有较好的区分能力。笔者在做文本分类的时候,提取TF-IDF>=0.01或0.02的词作特征,分类效果还不错,第一次测试就有90%的准确率。
二、向量空间模型
向量空间模型(VSM:Vector Space Model)作为向量的标识符(比如索引),是一个用来表示文本文件的代数模型。它应用于信息过滤, 信息检索, 索引以及评估相关性。
向量空间模型将文档映射为一个特征向量V(d)=(t1,ω1(d);…;tn, ωn(d)),其中ti(i=1,2, …,n)为一列互不雷同的词条项,ωi(d)为ti在d中的权值, 一般被定义为ti在d中出现频率tfi(d)的函数。
其中,Wi,j表示特征空间中第j个特征项(词项)在该文档向量中的权重值。
Wi,j的计算公式有很多变种,以下是常见的一种。
k表示词库维度;
TFi,j表示特征词 在文档 中出现的频率(不出现则为0);
N表示语料库中的文档总数;
DFj表示语料库中包含词的文档数。
三、余弦相关度
两文档之间的相似度可以用其对应的向量之间的夹角余弦来表示。
即是两向量的点积除以两向量的长度之积。
可化简为:
利用以上这些东西,本人周末两天做了个简易的搜索引擎,索引了之前爬的43w个网页,虽然数据少,但有些搜索结果还挺靠谱的。
这篇关于TF-IDF、向量空间模型和余弦相关度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!