文本分类:我的数据有多少维度?

text classificacion: how many dimensions does my data have?

我正在使用词袋模型对文本进行分类。我读了 800 个文本文件,每个文件包含一个句子。

然后句子表示如下:

[{"OneWord":True,"AnotherWord":True,"AndSoOn":True},{"FirstWordNewSentence":True,"AnSoOn":True},...]

我的数据有多少维度?

是最大向量中的条目数吗?还是唯一单词的数量?或者别的什么?

对于每个文档,词袋模型都有一组稀疏特征。例如(在你的例子中使用你的第一句话):

OneWord
AnotherWord
AndSoOn

以上三个是文档的三个active特征。它是稀疏的,因为我们从不明确列出那些 inactive 特征,而且我们有一个非常大的词汇表(所有可能的你认为是特征的独特词)。也就是说,我们没有说:

OneWord
AnotherWord
AndSoOn
FirstWordNewSentence: false

我们只收录 "true" 的词。

How many dimensions does my data have? Is it the number of entries in the largest vector? Or is it the number of unique words? Or something else?

如果您坚持使用 sparse 特征表示,您可能需要估计每个文档的平均活动特征数。在你的例子中这个数字是 2.5 ((3+2)/2 = 2.5).

如果你使用密集表示(例如,one-hot encoding,虽然词汇量很大,但这不是一个好主意),输入维度等于你的词汇量。

如果您使用具有 100 维的 词嵌入 并将所有词的嵌入组合起来形成一个新的输入向量来表示文档,那么您的输入维度就是 100。在这种情况下,您可以通过 embedding 将稀疏特征转换为 dense 特征。