首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何提高sci学习中潜在dirichlet分配( LDA )的性能?

如何提高sci学习中潜在dirichlet分配( LDA )的性能?
EN

Stack Overflow用户
提问于 2018-06-10 16:15:38
回答 1查看 4.1K关注 0票数 2

我正在运行与健康相关的数据的LDA。具体来说,我有大约500份文件,其中包含了5-7页左右的访谈内容。虽然由于维护数据的完整性/保密性,我不能详细讨论数据或结果,但我将描述结果,并通过程序更好地了解我正在做的事情以及我可以改进的地方。

对于结果,我选择了20个主题,每个主题输出10个单词。虽然20有些任意性,而且我对大量的主题没有一个明确的概念,但考虑到数据的大小,这似乎是一个很好的数量,而且它们都是特定于健康的。然而,研究结果突出了两个问题: 1)不清楚主题是什么,因为每个主题中的词语不一定是一起或讲述一个故事;2)不同主题中的许多词语相互重叠,并且在大多数主题中出现了几个单词。

就我所做的工作而言,我首先对文本进行预处理。我把所有的东西都转换成小写,去掉标点符号,去掉了与手头的文档相关的不必要的编码。然后,我标记了这些文件,对这些文字进行了修饰,并执行了tf-以色列国防军。我使用了sklearn的tf-以色列国防军能力,并且在tf初始化过程中,我指定了要删除的自定义停止词列表(它添加到nltk的停止词集中)。我还将max_df设置为0.9 (不清楚好的数字是什么,我只是在玩不同的值),min_df设置为2,max_features设置为5000。我试了tf-以色列国防军和袋字(计数矢量),但我发现tf-国防军提供了稍微清晰和更明确的主题,同时分析了LDA输出。完成之后,我运行了一个LDA模型。我将主题数量设置为20,迭代次数设置为5。

根据我的理解,我上面所做的每一个决定都可能有助于LDA模型识别明确、有意义的主题的能力。我知道文本处理在LDA性能中起着巨大的作用,我在那里做的越好,LDA就会越有洞察力。

  • 是不是有什么明显的错误或者我错过了什么。对于上述任何参数,您有任何建议的值/探索吗?
  • 当筛选出潜在的特定域止损词时,我应该有多详细,挑剔?
  • 如何在LDA步骤中确定大量的主题和迭代?
  • 除了对输出进行定性比较之外,我如何进行性能验证呢?

我感谢所有的见解和意见。我是一个全新的话题建模领域,虽然我读了一些文章,但我有很多要学习的!谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-06-11 09:44:51

如何在LDA步骤中确定大量的主题和迭代?

这是像LDA这样的聚类算法中最困难的问题。有一个度量可以确定集群的哪个数目是最好的tutorial.ipynb

根据我的经验,通过调优主题、迭代或其他超参数的数量来优化这个度量并不一定会给您提供可解释的主题。

除了对输出进行定性比较之外,我如何进行性能验证呢?

同样,您可以使用上面的度量来验证性能,但我也发现了主题overview.ipynb的有用的可视化。

这不仅给出了主题直方图,而且还显示了主题是如何分开的,这同样有助于找出主题的最佳数量。

在我的研究中,我使用的不是科学工具,而是gensim

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50785661

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档