`

TF-IDF解释

 
阅读更多

我们知道,短语“原子能的应用”可以分成三个关键词:原子能、的、应用。根据我们的直觉,我们知道,包含这三个词多的网页应该比包含它们少的网页相关。当然,这个办法有一个明显的漏洞,就是长的网页比短的网页占便宜,因为长的网页总的来讲包含的关键词要多些。因此我们需要根据网页的长度,对关键词的次数进行归一化,也就是用关键词的次数除以网页的总字数。我们把这个商称为“关键词的频率”,或者“单文本词汇频率”(Term Frequency),比如,在某个一共有一千词的网页中“原子能”、“的”和“应用”分别出现了 2 次、35 次 和 5 次,那么它们的词频就分别是 0.002、0.035 和 0.005。 我们将这三个数相加,其和 0.042 就是相应网页和查询“原子能的应用”
相关性的一个简单的度量。概括地讲,如果一个查询包含关键词 w1,w2,...,wN, 它们在一篇特定网页中的词频分别是: TF1, TF2, ..., TFN。 (TF: term frequency)。 那么,这个查询和该网页的相关性就是:
TF1 + TF2 + ... + TFN。

读者可能已经发现了又一个漏洞。在上面的例子中,词“的”站了总词频的 80% 以上,而它对确定网页的主题几乎没有用。我们称这种词叫“应删除词”(Stopwords),也就是说在度量相关性是不应考虑它们的频率。在汉语中,应删除词还有“是”、“和”、“中”、“地”、“得”等等几十个。忽略这些应删除词后,上述网页的相似度就变成了0.007,其中“原子能”贡献了 0.002,“应用”贡献了 0.005。

细心的读者可能还会发现另一个小的漏洞。在汉语中,“应用”是个很通用的词,而“原子能”是个很专业的词,后者在相关性排名中比前者重要。因此我们需要给汉语中的每一个词给一个权重,这个权重的设定必须满足下面两个条件:

1. 一个词预测主题能力越强,权重就越大,反之,权重就越小。我们在网页中看到“原子能”这个词,或多或少地能了解网页的主题。我们看到“应用”一次,对主题基本上还是一无所知。因此,“原子能“的权重就应该比应用大。

2. 应删除词的权重应该是零。

我们很容易发现,如果一个关键词只在很少的网页中出现,我们通过它就容易锁定搜索目标,它的权重也就应该大。反之如果一个词在大量网页中出现,我们看到它仍然不很清楚要找什么内容,因此它应该小。概括地讲,假定一个关键词 w 在 Dw 个网页中出现过,那么 Dw 越大,w的权重越小,反之亦然。在信息检索中,使用最多的权重是“逆文本频率指数” (Inverse document frequency 缩写为IDF),它的公式为log(D/Dw)其中D是全部网页数。比如,我们假定中文网页数是D=10亿,应删除词“的”在所有的网页中都出现,即Dw=10亿,那么它的IDF=log(10亿/10亿)= log (1) = 0。假如专用词“原子能”在两百万个网页中出现,即Dw=200万,则它的权重IDF=log(500) =6.2。又假定通用词“应用”,出现在五亿个网页中,它的权重IDF = log(2)
则只有 0.7。也就只说,在网页中找到一个“原子能”的比配相当于找到九个“应用”的匹配。利用 IDF,上述相关性计算个公式就由词频的简单求和变成了加权求和,即 TF1*IDF1 + TF2*IDF2 +... + TFN*IDFN。在上面的例子中,该网页和“原子能的应用”的相关性为 0.0161,其中“原子能”贡献了 0.0126,而“应用”只贡献了0.0035。这个比例和我们的直觉比较一致了。

TF/IDF(term frequency/inverse document frequency) 的概念被公认为信息检索中最重要的发明。

分享到:
评论

相关推荐

    TF-IDF与余弦相似性的应用

    TF-IDF与余弦相似性的应用 TF-IDF(Term Frequency-Inverse Document Frequency)是一种常用的关键词提取算法,应用于自动关键词提取、信息检索等领域。该算法的优点是简单快速,结果比较符合实际情况。TF-IDF 算法...

    LDA和TF-IDF算法的相关论文

    《LDA与TF-IDF算法:深度探讨与应用》 在信息检索和自然语言处理领域,LDA(Latent Dirichlet Allocation)和TF-IDF(Term Frequency-Inverse Document Frequency)是两种至关重要的算法,它们在文本分析、文档分类...

    Using_TF-IDF_to_Determine_Word_Relevance_in_Document_Queries

    ### 使用TF-IDF确定文档查询中的词相关性 在当今数据驱动的世界中,从大量文本信息中高效地检索相关信息是一项至关重要的技能。本文探讨了如何应用TF-IDF(Term Frequency-Inverse Document Frequency)来确定文档...

    tf-idf_tf-idf_

    TF-IDF(Term Frequency-Inverse Document Frequency)是一种在信息检索和文本挖掘领域广泛使用的权重计算方法,用于评估一个词在文档中的重要性。这个概念基于两个主要因素:词频(Term Frequency, TF)和逆文档...

    NLP:基于TF-IDF的中文关键词提取.zip

    在这个主题中,"NLP:基于TF-IDF的中文关键词提取"是一个项目,它利用TF-IDF算法来从中文文本中提取具有代表性的关键词。TF-IDF是一种经典的文本特征权重计算方法,广泛应用于信息检索、文档分类和关键词提取等领域...

    基于TF-IDF算法抽取

    ### 基于TF-IDF算法抽取文章关键词 #### 一、引言 TF-IDF(Term Frequency-Inverse Document Frequency)是一种广泛应用于信息检索与文本挖掘领域的统计方法,用于评估单词对于一个文档集或者语料库中单个文档的...

    基于特定语料库的TF-IDF的中文关键词提取

    在"tf-idf-keyword-master"这个压缩包文件中,很可能包含了实现TF-IDF关键词提取的代码框架或者示例。用户可能需要进一步了解代码结构,学习如何加载特定语料库,如何进行预处理,如何计算TF-IDF值,以及如何输出和...

    C语言、Python实现TF-IDF算法

    首先,我们来详细解释TF-IDF的计算过程: 1. **词频(Term Frequency, TF)**:TF表示一个词在文档中出现的次数。一般而言,一个词在文档中出现的次数越多,它对文档主题的贡献越大。TF通常定义为词t在文档d中出现的...

    TF-IDF.zip_TF-IDF java_java tf idf_tf idf_tf-idf

    TF-IDF(Term Frequency-Inverse Document Frequency)是一种在信息检索和自然语言处理中广泛使用的统计方法,用于评估一个词在文档集合中的重要性。在Java编程环境下,TF-IDF可以帮助我们提取文本的关键信息,理解...

    TF-IDF.py.zip_TF-IDF WEIGHT_tf-idf_tf_idf_特征提取

    TF-IDF(Term Frequency-Inverse Document Frequency)是一种在信息检索和自然语言处理中广泛使用的文本特征表示方法。它能够衡量一个词在文档中的重要性,适用于文档集合的特征提取,帮助我们理解文档的主题和区分...

    基于TF-IDF文本向量化的SQL注入攻击检测.pdf

    基于 TF-IDF 文本向量化的 SQL 注入攻击检测 SQL 注入攻击是最常见的 Web 应用程序攻击手段,利用机器学习检测 SQL 注入攻击已成为一种趋势。该论文提出了基于 TF-IDF 文本向量化的 SQL 注入攻击检测方法,旨在提高...

    基于Python实现TF-IDF矩阵表示(人工智能实验)【100011921】

    TF-IDF(Term Frequency-Inverse Document Frequency)是一种在信息检索和文本挖掘领域广泛使用的权重计算方法,用于评估一个词在文档中的重要性。这个概念基于两个原则:词频(Term Frequency, TF)和逆文档频率...

    tf-idf.zip_Information Retrival_python IR_python TF-IDF_tf-idf

    首先,让我们解释一下TF-IDF的基本概念: 1. **词频(Term Frequency, TF)**:表示一个词在文档中出现的频率,即该词在文档中出现的次数除以文档中所有词的总数。高词频意味着这个词在文档中较为常见。 2. **逆文档...

    TF-IDF.zip_tf-idf_tfidf

    TF-IDF,全称为Term Frequency-Inverse Document Frequency,是一种在信息检索和文本挖掘领域广泛应用的统计方法,用于评估一个词在文档集或语料库中的重要性。它结合了词频(Term Frequency, TF)和逆文档频率...

    基于改进TF-IDF算法的牛疾病智能诊断系统.pdf

    "基于改进TF-IDF算法的牛疾病智能诊断系统" 本文介绍了一种基于改进TF-IDF算法的牛疾病智能诊断系统。传统的TF-IDF算法存在一些缺陷,例如无法合理地代表某疾病的症状,降低智能诊断系统的性能。为了解决这个问题,...

    关键词提取TF-IDF算法综述

    TF-IDF算法,即词频-逆文档频率(Term Frequency-Inverse Document Frequency)算法,是关键词提取中最常用的方法之一。该算法综合了词频(TF)和逆文档频率(IDF)两个因子来评估词汇在文档集合中的重要性。 在...

    TF-IDF.rar_TF-IDF algorithm

    TF-IDF算法是一种在信息检索和自然语言处理领域广泛应用的文本表示方法,它能够量化一个词在文档中的重要性。TF-IDF代表“词频-逆文档频率”(Term Frequency-Inverse Document Frequency),该方法结合了词频(Term ...

    使用python进行朴素贝叶斯的数据分析,使用TF-IDF方法整理数据

    在数据分析领域,Python是一种非常强大的工具,而朴素贝叶斯(Naive Bayes)和TF-IDF(Term Frequency-Inverse Document Frequency)则是两种常见的技术,常用于文本分类和信息检索。接下来,我们将深入探讨这两个...

    GetFileTimes.rar_IF-IDF_TF_java TF-IDF_tf idf_tf idf java

    标题中的"GetFileTimes.rar"可能是一个包含源代码和数据的压缩文件,专门用于实现基于Java的TF-IDF(Term Frequency-Inverse Document Frequency)算法。IF-IDF是TF-IDF的一种变体,它考虑了词的重要性。TF-IDF是一...

Global site tag (gtag.js) - Google Analytics