gpt4 book ai didi

scala - 将主题映射回 Spark LDA 中的文档

转载 作者:行者123 更新时间:2023-11-30 08:46:20 26 4
gpt4 key购买 nike

我已将一些路透社新闻专线文章 (1986) 加载到 Spark 2.2 中,并希望使用 LDA 进行一些主题学习

+--------------------+--------------------+----+
| title| body| id|
+--------------------+--------------------+----+
|FED SAYS IT SETS ...| |5434|
|MIM TO ACQUIRE ST...|Mount Isa Mines H...|5435|
|MAGNA <MAGAF> CRE...|Magna Internation...|5436|
|J.W. MAYS INC <MA...|Shr 2.27 dlrs vs ...|5437|

我已经设置了管道

val pipeline = new Pipeline().setStages(Array(tokenizer, stopWordsRemover, vectorizer, lda))

运行模型

val pipelineModel = pipeline.fit(corpus)

我可以使用访问LDA(EM)模型

val ldaModel = pipelineModel.stages(3).asInstanceOf[DistributedLDAModel]

我可以使用

查看主题
ldaModel.describeTopics(maxTermsPerTopic = 5).show()

经过一些 DF 操作后,它给出了主题及其相关术语和概率

+-------+----------+--------------------+
|topicId| term| probability|
+-------+----------+--------------------+
| 0| company| 0.08715003585328869|
| 0| corp| 0.03355461912220357|
| 0| group|0.024083945559541863|
| 0| unit|0.016712655949244752|
| 0| stake| 0.01314416068270042|
| 1| dlrs| 0.072961342546073|
| 1| debt| 0.02826491264713813|
...

我想将主题分布映射回原始文档。回到 Spark 1.6,为了获取上面文档 (id=5435) 的主题分布,我将执行以下操作。但不再支持 topicDistributions。

 ldaModel.topicDistributions.filter(_._1 == 5435).collect

(Spark ML LDA API)确实列出了两种新方法,但我不清楚如何使用它们

 final val topicConcentration: DoubleParam

和 最终值 topicDistributionCol:Param[String]

有人这样做过吗?

最佳答案

我可能是错的,但看起来你只是想转换:

ldaModel.transform(corpus)

关于scala - 将主题映射回 Spark LDA 中的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45279441/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com