【问题标题】:Suggestion on LDA关于LDA的建议
【发布时间】:2017-12-15 06:44:04
【问题描述】:

我正在尝试对一堆(大约 140 个)文本文档进行文本分析。每个文档经过预处理和去除不必要的单词和停用词后,大约有 7000 个句子(由 nlkt 的句子分词器确定),每个句子平均大约有 17 个单词。我的工作是在这些文档中找到隐藏的主题。

我曾考虑过进行主题建模。但是,我无法确定我拥有的数据是否足以通过 LDA 获得有意义的结果,或者我还能做些什么。

另外,如何将文本分成不同的文档? 140 个文档(每个文档大约 7000 x 17 个单词)是否足够?或者我应该将每个句子视为一个文件。但是每个文档平均只有 17 个单词;很像推文。

任何建议都会有所帮助。 提前致谢。

【问题讨论】:

    标签: python-3.x nlp gensim text-analysis


    【解决方案1】:

    我从事过类似的工作。这种方法可以工作到 300 个这样的文档。但是,将其扩大到更高的规模,您需要使用 spark 复制该方法。

    这里是: 1)准备TF-IDF矩阵:用术语向量表示文档。为什么不使用 LDA,因为您需要首先提供您不知道的主题数量。如果想要更复杂(比语义更好),您可以使用其他表示文档的方法尝试 word2Vec、GloVe、Google News Vectors 等。

    2) 从上述 TF-IDF 准备一个潜在语义空间。 LSA 的创建使用 SVD 方法(可以选择 kaiser 标准来选择维数)。

    我们为什么要做 2)?

    a) TF-IDF 非常稀疏。第 3 步 (tSne),计算量很大。 b) 此 LSA 可用于创建语义搜索引擎

    当您的 TF-IDF 尺寸非常小时,您可以绕过 2),但我认为鉴于您的情况并非如此,而且您没有其他需求,例如对这些文档进行语义搜索。

    3) 使用 tSne(t-随机最近嵌入)来表示 3 维的文档。根据欧几里得坐标绘制球面图。

    4) 迭代地应用 K-means 以找到最佳的聚类数。

    一旦决定。为每个类别准备词云。有你的主题。

    【讨论】:

    • 不确定为什么要先做 SVD,然后再做 t-sne?你不能使用 SVD 本身吗?
    • 使用 SVD,您可以选择 n 个解释数据的组件,但如果没有我们可以可视化的 2 或 3 维信息损失,您无法进一步减少它们。
    • 归根结底,类别应该在不同的存储桶中“可见”。
    猜你喜欢
    • 1970-01-01
    • 2018-09-03
    • 1970-01-01
    • 1970-01-01
    • 2016-03-22
    • 1970-01-01
    • 1970-01-01
    • 2015-05-20
    • 1970-01-01
    相关资源
    最近更新 更多