如何将文本文档表示为文本分类的特征向量?

时间:2012-02-14 08:06:20

标签: text classification

我有大约10,000份文本文件。

如何将它们表示为特征向量,以便我可以将它们用于文本分类?

是否有自动执行特征向量表示的工具?

3 个答案:

答案 0 :(得分:8)

最简单的方法是使用bag of words模型。您将每个文档表示为无序的单词集合。

你可能想要删除标点符号,你可能想忽略大小写。您可能还想删除常见字词,例如'和','或'和'the'。

要将其调整为特征向量,您可以从样本中选择(比方说)10,000个代表性字词,如果文档v[i,j] = 1包含单词i和{{},则可以使用二进制向量j 1}}否则。

答案 1 :(得分:3)

为了给这个问题提供一个非常好的答案,知道你感兴趣的分类是有帮助的:基于流派,作者,情感等。对于文体分类,例如,功能词很重要,对于基于内容的分类,它们只是噪声,通常使用停用词列表过滤掉。 如果您对基于内容的分类感兴趣,您可能希望使用加权方案,如术语频率/逆文档频率,(1),以便给出文档中典型的单词,并且在整个文本集合中比较少见更多重量。这假定您的文本的向量空间模型,它是文本的单词表示的包。 (参见Vector Space Modelltf/idf上的维基百科)通常,tf / idf将产生比二进制分类模式更好的结果,二进制分类模式仅包含文档中是否存在术语的信息。

这种方法是如此成熟和普遍,以至于机器学习库(如Python的scikit-learn)提供了便利方法,使用tf / idf作为加权方案将文本集合转换为矩阵。


答案 2 :(得分:2)

看一下MonkeyLearn,您可以轻松创建使用机器学习的文本分类器,以便从您拥有的文本样本(文档)中学习。它自动学习特征向量表示。如果你想使用n-gram,做词干或停用词过滤,你也可以调整。