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


我有大约10,000个文本文档。

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

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


4226
2018-02-14 08:06


起源



答案:


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

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

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


8
2018-02-14 08:14





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

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



3
2018-03-11 04:53





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


2
2018-02-18 15:21



它如何确定特征向量表示的数量,例如,在一个rnn-lstm中训练一本故事书,然后让它从中预测句子? “特征数量”是否为1,因为您只是要求网络从每步的设定序列长度中学习它能够做什么? - naisanza


答案:


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

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

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


8
2018-02-14 08:14





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

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



3
2018-03-11 04:53





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


2
2018-02-18 15:21



它如何确定特征向量表示的数量,例如,在一个rnn-lstm中训练一本故事书,然后让它从中预测句子? “特征数量”是否为1,因为您只是要求网络从每步的设定序列长度中学习它能够做什么? - naisanza