【问题标题】:Representing documents in vector space model在向量空间模型中表示文档
【发布时间】:2012-12-09 10:18:12
【问题描述】:

我有一个非常基本的问题。我有两套文档,一套用于培训,一套用于测试。我想用训练文档训练一个逻辑回归分类器。我想知道我做的是否正确。

  1. 首先找到训练文档中所有唯一单词的列表,称之为词汇表。
  2. 对于词汇表中的每个单词,在每个训练文档中找到它的 TFIDF。然后将文档表示为这些 TFIDF 分数的向量。

我的问题是: 1. 我如何代表测试文件?比如说,其中一个测试文档在词汇表中没有任何单词。在这种情况下,该文档词汇表中所有单词的 TFIDF 分数将为零。

  1. 我正在尝试使用使用稀疏向量格式的 LIBSVM。对于上述文档的情况,其向量表示中的所有条目都设置为 0,我该如何表示呢?

【问题讨论】:

    标签: machine-learning nlp classification svm


    【解决方案1】:

    您必须存储足够的关于训练语料库的信息,才能对看不见的文档进行 TF IDF 转换。这意味着您将需要训练语料库中术语的文档频率。忽略测试文档中看不见的单词很好。无论如何,您的 svm 不会为他们学习权重。请注意,如果您的训练和测试分布相似,那么在测试语料库中看不见的术语应该很少见。因此,即使删除了一些术语,您仍然有很多术语可以对文档进行分类。

    【讨论】:

    • 所以如果我有一个测试文档,其中包含训练语料库中从未出现过的单词,我的 tfidf 文档向量将全为零,对吗?
    • 仅当文档是所有看不见的单词时。
    • 是的。当我使用像 libSVM 这样的库时,它遵循稀疏向量格式。因此,由于所有条目都是 0 ,因此稀疏向量表示为空。如果你熟悉 libSVM ,你知道这是如何处理的吗?
    • 您无需费心在向量中放入 0 个条目,它们什么都不做。如果你给 LibSVM 一个 0 向量,它只会使用 SVM 中的偏差项,这可能对应于选择训练数据中最受欢迎的类。
    猜你喜欢
    • 2011-09-19
    • 1970-01-01
    • 2015-07-06
    • 2012-08-16
    • 2015-03-25
    • 1970-01-01
    • 2019-05-04
    • 1970-01-01
    • 2018-12-27
    相关资源
    最近更新 更多