TF-IDF

来源:互联网 发布:深海少女手办淘宝 编辑:程序博客网 时间:2024/05/01 16:49

TF-IDF主要涉及一下两方面问题:

1如何构建一个向量来表示文档中 的词项,构建另一个向量来表示查询中的词项.

2如何来度量任意文档向量和查询向量的相似度


倒排索引:



文档相似度计算:


1、内积Inner Product


通过内积方法,一个比较长的文档可能会得到一个比较高的分数,仅仅因为文档比较长,因此有更多的机会包含查询词——并不一定因为文档是相关的。

2、余弦(Cosine)


条件假设:余弦方法中假定文档长度对查询没有影响。

余弦方法通过将向量内积除以文档向量的长度来实现不同文档长度的归一化。除以文档向量长度就是不考虑文档长度。


3、Dice系数:


4、Jaccard系数:



TF-IDF计算方法:

1、词频


2、逆文档频率


3、分词工具的使用

TF-IDF涉及到分词,可以使用导入工具包 je-analysis-1.5.3.jar  和 lucene-core-2.9.2.rar

import jeasy.analysis.MMAnalyzer;


MMAnalyzer analyzer = new MMAnalyzer();
String result=null;
try
{    
result=analyzer.segment(context, "|");   
} catch (IOException e)    
{    
e.printStackTrace();    
}

将文本content分词,词与词之间用'|'隔开,以String的形式保存在result中.


实验结果:



TF-IDF优缺点:

优点:TF-IDF算法的优点是简单快速,结果比较符合实际情况

缺点:

1、单纯以词频衡量一个词的重要性,不够全面,有时重要的词可能出现次数并不多(TF不高)

2、算法中并没有体现出单词的位置信息,对于Web文档而言,权重的计算方法应该体现出HTML的结构特征。

3、IDF的简单结构并不能有效地反映单词的重要程度和特征词的分布情况,使其无法很好地完成对权值调整的功能。

0 0
原创粉丝点击