标签: topic-modeling

R LDAvis K=2 createJSON() 错误

我正在使用 LDAvis 包的 createJSON() 函数,而我的 topicmodel 用于 2 个主题并收到此错误

Error in stats::cmdscale(dist.mat, k = 2) : 'k' must be in {1, 2, .. n - 1} 
Run Code Online (Sandbox Code Playgroud)

然后我使用此处给出的可重现示例进行了测试,将 K=2 并保持所有内容相同,并在 createJSON() 中再次遇到此错误。

在这里查看 createJSON() 的源代码,问题出在函数 jsPCA() 中。在 jsPCA() 中,当 K=2 时,dist.mat 是一个单一值,会在行中抛出错误

pca.fit <- stats::cmdscale(dist.mat, k = 2) 
Run Code Online (Sandbox Code Playgroud)

有什么建议如何克服这个错误吗?

r lda topic-modeling

4
推荐指数
1
解决办法
1041
查看次数

Mallet 主题建模 - 主题键输出参数

在 MALLET 主题建模中,该--output-topic-keys [FILENAME]选项在每个主题旁边输出一个参数,该参数在 MALLET 站点的教程中称为该主题的“Dirichlet 参数”。

我想知道这个参数代表什么?是吗 ?在 LDA 模型中?如果不是,它是什么,它的意义和用途是什么。

我注意到当我在生成主题模型时不使用参数优化选项时,此参数在 2.0.7 版本中与在 2.0.8 版本中不同。我想知道为什么会发生这种差异。

这是 2.0.7 版输出

版本 2.0.7

和 2.0.8

在此处输入图片说明

我知道每次运行的输出都不同,但我只关心这个参数。

mallet topic-modeling

4
推荐指数
1
解决办法
1150
查看次数

如何改进lda中不同主题的词分配

我正在研究一种非英语的语言,并且我从不同来源收集了数据。我已经完成了预处理,如标点删除、停用词删除和标记化。现在我想提取特定领域的词典。假设我有与体育、娱乐等相关的数据,我想提取与这些特定领域相关的词,如板球等,并将它们放在密切相关的主题中。我试图为此使用 lda,但我没有得到正确的集群。同样在作为一个主题一部分的单词的集群中,它也出现在其他主题中。

我怎样才能改善我的结果?

 # URDU STOP WORDS REMOVAL
        doc_clean = []
        stopwords_corpus = UrduCorpusReader('./data', ['stopwords-ur.txt'])    
        stopwords = stopwords_corpus.words()
        # print(stopwords)
        for infile in (wordlists.fileids()):
            words = wordlists.words(infile)
            #print(words)


            finalized_words = remove_urdu_stopwords(stopwords, words)
            doc = doc_clean.append(finalized_words)

            print("\n==== WITHOUT STOPWORDS ===========\n")
            print(finalized_words)

            # making dictionary and corpus
        dictionary  = corpora.Dictionary(doc_clean)
        # convert tokenized documents into a document-term matrix
        matrx= [dictionary.doc2bow(text) for text in doc_clean]
        # generate LDA model
        lda = models.ldamodel.LdaModel(corpus=matrx, id2word=dictionary, num_topics=5, passes=10)
        for top in lda.print_topics():
                print("\n===topics from files===\n")
                print …
Run Code Online (Sandbox Code Playgroud)

python nltk lda topic-modeling

4
推荐指数
1
解决办法
1632
查看次数

用于主题建模的 Amazon Sagemaker 中的 LDA 和 NTM 有什么区别?

我正在寻找 LDA 和 NTM 之间的区别。您将在 NTM 上使用 LDA 的一些用例是什么?

根据 AWS 文档:

LDA:Amazon SageMaker 潜在狄利克雷分配 (LDA) 算法是一种无监督学习算法,它试图将一组观察结果描述为不同类别的混合。LDA 最常用于发现文本语料库中文档共享的用户指定数量的主题。

虽然您可以同时使用 Amazon SageMaker NTM 和 LDA 算法进行主题建模,但它们是不同的算法,预计会对相同的输入数据产生不同的结果。

algorithm topic-modeling

4
推荐指数
1
解决办法
1688
查看次数

相干性分数 (u_mass) -18 是好是坏?

我读了这个问题(相干分数 0.4 是好还是坏?),发现相干分数(u_mass)是从 -14 到 14。但是当我做实验时,我得到的 u_mass 分数为 -18,c_v 分数为 0.67 。我想知道我的 u_mass 分数如何超出范围 (-14, 14)?

更新:我使用gensim库并扫描了从2到50的主题数量。对于u_mass,它从0开始到最低的负点并返回一点,就像c_v的颠倒版本。

nlp lsa lda topic-modeling topicmodels

4
推荐指数
1
解决办法
1万
查看次数

(gensim) LdaMallet vs LdaModel?

usinggensim.models.LdaMallet和 和有gensim.models.LdaModel什么不一样?我注意到参数并不完全相同,想知道什么时候应该使用一个而不是另一个?

mallet lda gensim topic-modeling

4
推荐指数
1
解决办法
1647
查看次数

主题发现/发现的最佳模型

什么是短期非结构化文档中主题定位的最佳模型,例如.短信或Twitter消息?潜在的Dirichlet分配?

nlp information-retrieval keyword information-extraction topic-modeling

3
推荐指数
1
解决办法
1383
查看次数

标记的LDA用法

我正在开发一个需要应用主题模型LDA的项目.因为在我的情况下每个文件都很短,我必须使用Labeled LDA.我对这方面的知识不多,我需要做的就是将LLDA应用于我的数据.

在网上搜索后,我在Stanford TMT上找到了LLDA实施.我从" 标记LDA模型培训"一节中了解到:我应该在培训之前标记每个输入文档.我误会了什么吗?

如果我的理解是正确的,这将涉及标签文件的太多工作.相反,我可以提供单独的主题列表,并在没有标签的情况下训练文档吗?

nlp machine-learning lda topic-modeling

3
推荐指数
1
解决办法
2953
查看次数

R regex中的Mallet错误:java.lang.NoSuchMethodException:给定参数没有合适的方法

我一直在关注如何在R中使用mallet创建主题模型的教程.我的文本文件每行有1个句子.它看起来像这样,有大约50个句子.

Thank you again and have a good day :).
This is an apple.
This is awesome!
LOL!
i need 2.
.
.
. 
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

Sys.setenv(NOAWT=TRUE)

#setup the workspace
# Set working directory
dir<-"/Users/jxn"
Dir <- "~/Desktop/Chat/malletR/text" # adjust to suit
require(mallet)
documents1 <- mallet.read.dir(Dir)
View(documents1)
stoplist1<-mallet.read.dir("~/Desktop/Chat/malletR/stoplists")
View(stoplist1)
**mallet.instances <- mallet.import(documents1$id, documents1$text, "~/Desktop/Chat/malletR/stoplists/en.txt", token.regexp ="\\p{L}[\\p{L}\\p{P}]+\\p{L}")**
Run Code Online (Sandbox Code Playgroud)

除了代码的最后一行,一切都有效

**`**mallet.instances <- mallet.import(documents1$id, documents1$text, "~/Desktop/Chat/malletR/stoplists/en.txt", token.regexp ="\\p{L}[\\p{L}\\p{P}]+\\p{L}")**`**
Run Code Online (Sandbox Code Playgroud)

我一直收到这个错误:

Error in .jcall("RJavaTools", "Ljava/lang/Object;", "invokeMethod", cl,  : 
  java.lang.NoSuchMethodException: No suitable method for the given parameters
Run Code Online (Sandbox Code Playgroud)

根据包,这是函数应该是如何: …

regex r rjava mallet topic-modeling

3
推荐指数
1
解决办法
1650
查看次数

在9GB语料库上通过MALLET进行主题建模的时间

我想在9GB语料库上进行LDA主题建模.计划是使用MALLET训练LDA模型1000次迭代,包含100个主题,在200次迭代老化期后每10次迭代优化超参数.我正在使用64位Win8,计算机具有16GB RAM,英特尔®酷睿™i7-4720HQ处理器.有谁能告诉我我应该花多长时间拍这个?我们在谈论几小时或几天?这是我在这里提出的第一个问题,所以如果我跳过一些重要信息,请告诉我.

time mallet lda topic-modeling

3
推荐指数
1
解决办法
711
查看次数