我有大约10,000个文本文档。
如何将它们表示为特征向量,以便我可以将它们用于文本分类?
有没有自动执行特征向量表示的工具?
我有大约10,000个文本文档。
如何将它们表示为特征向量,以便我可以将它们用于文本分类?
有没有自动执行特征向量表示的工具?
最简单的方法是使用 一袋字 模型。您将每个文档表示为无序的单词集合。
你可能想要删除标点符号,你可能想忽略大小写。您可能还想删除常见字词,例如'和','或'和'the'。
要将其调整为特征向量,您可以从样本中选择(比方说)10,000个代表性单词,并使用二进制向量 v[i,j] = 1
如果是文件 i
包含单词 j
和 v[i,j] = 0
除此以外。
为了给这个问题提供一个非常好的答案,知道你感兴趣的分类是有帮助的:基于类型,作者,情感等。对于文体分类,例如,功能词是重要的,对于分类根据内容,它们只是噪音,通常使用停用词列表过滤掉。 如果您对基于内容的分类感兴趣,您可能希望使用加权方案,如术语频率/逆文档频率,(1),以便给出文档中典型的单词,并且在整个文本集合中比较少见更多重量。这假设您的文本的向量空间模型是文本的单词表示的袋子。 (见维基百科 矢量空间模式 和 TF / IDF通常tf / idf将产生比二进制分类模式更好的结果,二进制分类模式仅包含文档中是否存在术语的信息。
这种方法是如此成熟和普遍,以至于机器学习库(如Python的scikit-learn)提供了便利方法,使用tf / idf作为加权方案将文本集合转换为矩阵。
看一眼 MonkeyLearn,您可以轻松创建使用机器学习的文本分类器,以从您拥有的文本样本(文档)中学习。它自动学习特征向量表示。如果你想使用n-gram,做词干或停用词过滤,你也可以调整。
最简单的方法是使用 一袋字 模型。您将每个文档表示为无序的单词集合。
你可能想要删除标点符号,你可能想忽略大小写。您可能还想删除常见字词,例如'和','或'和'the'。
要将其调整为特征向量,您可以从样本中选择(比方说)10,000个代表性单词,并使用二进制向量 v[i,j] = 1
如果是文件 i
包含单词 j
和 v[i,j] = 0
除此以外。
为了给这个问题提供一个非常好的答案,知道你感兴趣的分类是有帮助的:基于类型,作者,情感等。对于文体分类,例如,功能词是重要的,对于分类根据内容,它们只是噪音,通常使用停用词列表过滤掉。 如果您对基于内容的分类感兴趣,您可能希望使用加权方案,如术语频率/逆文档频率,(1),以便给出文档中典型的单词,并且在整个文本集合中比较少见更多重量。这假设您的文本的向量空间模型是文本的单词表示的袋子。 (见维基百科 矢量空间模式 和 TF / IDF通常tf / idf将产生比二进制分类模式更好的结果,二进制分类模式仅包含文档中是否存在术语的信息。
这种方法是如此成熟和普遍,以至于机器学习库(如Python的scikit-learn)提供了便利方法,使用tf / idf作为加权方案将文本集合转换为矩阵。
看一眼 MonkeyLearn,您可以轻松创建使用机器学习的文本分类器,以从您拥有的文本样本(文档)中学习。它自动学习特征向量表示。如果你想使用n-gram,做词干或停用词过滤,你也可以调整。