开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 29 天,点击查看活动详情
TF-IDF
TF-IDF是一种在文本挖掘中广泛使用的特征提取方法,它能够反映一个词对于文本的重要程度。TF代表词频(Term Frequency),IDF代表逆文档频率(Inverse Document Frequency)。其主要思想是如果某个词或短语在一篇文章中出现的频率较高,并且在其他文章中出现的频率较低,则认为它具有很好的类别区分能力。
-
TF :词频,在单个文档中出现的频率
- TF越高,说明这个文档与这个词相关性越高
-
DF:文档频率,这个词项出现在了多少个文档中
- DF越高,这个词越不重要
-
IDF :逆文档频率,1/DF
- IDF越高,词越罕见,重要程度越高
- 其中加1的目的是为了避免分母为0的情况,同时这里采用的是log函数,是为了缩小IDF值的范围,避免IDF值过大而影响TF-IDF的效果。
TF-IDF值越大,代表该词越重要,越能代表文本的主题。在文本分类、信息检索等领域中,TF-IDF是一个常用的特征表示方法。
局限性:
- 认为词频与相关性成正比,其实不一定是
- 没有考虑文章的长短,也就是词的频率
- 没有考虑每个词的权重不同
BM25算法
BM25(Best Matching 25)是一种用于信息检索的算法,它在搜索引擎中得到了广泛的应用。与TF-IDF算法不同,BM25不仅考虑了查询词在文档中出现的频率,还考虑了文档的长度和查询词在所有文档中的出现频率。
BM25算法的核心是通过计算查询词与文档中各个词的匹配程度,从而确定文档的相关性得分。BM25得分公式如下:
其中,表示文档,表示查询,表示查询中的第个词,表示文档中出现的次数,表示文档的长度,表示所有文档的平均长度,和是调节参数,表示的逆文档频率:
其中,是文档总数,是包含的文档数。
BM25算法相对于TF-IDF算法,考虑了文档长度和查询词在所有文档中的出现频率,可以更好地评估文档的相关性得分,因此在信息检索中得到了广泛的应用。