【问题标题】:How to deal with very uncommon terms in tf-idf?如何处理 tf-idf 中非常不常见的术语?
【发布时间】:2012-10-08 14:53:20
【问题描述】:

我正在实现一个简单的“关键字提取算法”。虽然我是自学成才,所以我缺乏一些在线文学中常见的术语和数学。

我正在查找文档的“最相关关键字”:

  1. 我计算每个术语在当前文档中的使用频率。我们称之为 tf
  2. 我查看了这些术语在整个文档数据库中的使用频率。我们称之为 df
  3. 我通过 r = tf / df 计算每个术语的相关性权重 r

每个文档都是语料库的适当子集,因此没有文档包含不在语料库中的术语。这意味着我不必担心被零除。

我按它们的 r 对所有术语进行排序,并保留许多最重要的术语。这些是与本文档最密切相关的顶级关键字。本文档中常用的术语更为重要。在整个文档数据库中通用的术语不太重要。

我认为这是tf-idf 的幼稚形式。

问题在于,当术语在整个数据库中非常罕见但出现在当前文档中时,它们的 r 值似乎太高了。

由于样本量小,这可以被认为是某种人工制品。弥补这一点的最佳方法或常用方法是什么?

  • 丢弃在整个数据库中不常见于某个阈值的术语。如果是这样,该阈值是如何计算的?似乎它取决于太多的因素才能成为硬编码值。
  • 能否通过某种数学函数(例如平方反比或余弦)对其进行加权或平滑处理?

我尝试过在网上搜索并阅读 tf-idf,但我发现的大部分内容都涉及比较文档,我对此并不感兴趣。另外,它们中的大多数内容都比较低解释与行话和公式的比例。

(事实上,我的项目是对这个问题的概括。我真的在 Stack Exchange 网站上使用标签,所以术语的总数很少,停用词无关紧要,低使用率的标签可能比低使用率的标签更常见- 标准情况下的用法词。)

【问题讨论】:

    标签: feature-extraction relevance tf-idf noise-reduction oov


    【解决方案1】:

    我花了很多时间尝试对特定的 tf-idf 信息进行有针对性的 Google 搜索,并挖掘了许多文档。

    最后,我找到了一份文档,其中包含清晰简洁的解释以及我可以理解的公式:Document Processing and the Semantic Web, Week 3 Lecture 1: Ranking for Information Retrieval,作者是麦考瑞大学计算机系的 Robert Dale:

    第 20 页:

    我缺少的两件事是考虑到集合中的文档数量,并使用逆 df 的对数而不是直接使用逆 df .

    【讨论】:

      猜你喜欢
      • 2010-09-18
      • 1970-01-01
      • 2020-02-10
      • 2020-09-27
      • 2020-07-21
      • 2015-03-30
      • 2017-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多