如何使用词袋或 tf-idf 对文本进行分类

How to use bag of words or tf-idf to classify text

我有一个关于使用词袋或类似方法进行分类的一般性问题。

我有我想 classify.The 类 我知道的文本,我知道文本的每个句子都属于一种类型 sentences.For 例句 1 应该是命令,句子2应该是新闻等

所以我想的是使用 n-gram 生成来提取特征,我的想法是单词的 n-gram 可以帮助机器找到正确的 category.But 使用 Python 并不容易,因为 me.I 无法将概念与实现联系起来。例如,我不确定我是否必须提供属于每个类别的所有可能的 POS 标签块,或者机器可以找到 them.Also,我觉得 n-gram 在这种 analysis.But我不知道怎么办。

如果能给我一些想法或者告诉我做这种分类应该采取的步骤就太好了。

最佳

要在此类分析中使用 ngram,您可以提取文本中出现的所有 ngram。然后,您可以通过以下方式为每个句子中的每个 ngram 计算 TF-IDF:

  • TF:表示一个ngram在句子中出现的次数。
  • IDF:表示包含该 ngram 的句子的比例。

这将为您提供衡量 'value of each ngram to each sentence given all sentences' 的 TF-IDF 指标。一旦你有了 TF-IDF 指标,你就可以用标准的监督方法输入你的句子。

对于每个 class,您还可以基于 ngram、POS 标签甚至依存分析句子构建语言模型。然后,给定一个新句子,您可以计算从每个语言模型生成该句子的可能性。话又说回来,您可以在监督学习方法中利用这些概率值。

我建议您查看以下文章:

1 - 在此处查看第 5.1 节以了解 TF-IDF

的使用

2- 本文档提供了使用 language models

的示例

祝你好运;)