【问题标题】:text classificacion: how many dimensions does my data have?文本分类:我的数据有多少维?
【发布时间】:2017-03-20 17:30:27
【问题描述】:

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

然后句子表示如下:

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

我的数据有多少维度?

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

【问题讨论】:

    标签: text-classification


    【解决方案1】:

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

    OneWord
    AnotherWord
    AndSoOn
    

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

    OneWord
    AnotherWord
    AndSoOn
    FirstWordNewSentence: false
    

    我们只包含那些“真实”的词。

    我的数据有几个维度? 它是最大向量中的条目数吗?或者是唯一词的数量?还是别的什么?

    如果您坚持使用 sparse 特征表示,您可能希望改为估计每个文档的平均活动特征数。在您的示例中,该数字为 2.5 ((3+2)/2 = 2.5)。

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

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

    【讨论】:

    • 非常感谢您的回答!澄清一下:如果我使用词嵌入,我指定维数?所以我也可以根据我的数据使用 50 或任何其他数字?
    • 如果您使用从其他地方预先学习的嵌入,则需要使用原始嵌入维度。否则,如果您自己学习,则需要指定维度。当然,您可以根据自己的需要使用 50 或任何其他数字。
    猜你喜欢
    • 2017-09-09
    • 2014-02-01
    • 1970-01-01
    • 2016-06-14
    • 1970-01-01
    • 2015-07-22
    • 1970-01-01
    • 2020-03-13
    • 2011-11-26
    相关资源
    最近更新 更多