Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R text2vec包中,LDA模型可以显示文档中每个令牌的主题分布吗? 库(text2vec) 图书馆(平行) 图书馆(双平行) N_R_Lda_Topic Modeling_Text2vec - Fatal编程技术网

在R text2vec包中,LDA模型可以显示文档中每个令牌的主题分布吗? 库(text2vec) 图书馆(平行) 图书馆(双平行) N

在R text2vec包中,LDA模型可以显示文档中每个令牌的主题分布吗? 库(text2vec) 图书馆(平行) 图书馆(双平行) N,r,lda,topic-modeling,text2vec,R,Lda,Topic Modeling,Text2vec,不幸的是,不可能获得给定文档中每个标记的主题分布。文档主题计数是“动态”计算/聚合的,因此文档标记主题分布不会存储在任何位置。主题词分配位于LDA\u MODEL$components中。这是您要找的吗?如果我可以将LDA_MODEL$components结果与原始文档集匹配,我可以找到文档中的每个令牌主题。当我测试你的软件包时,我看到了你说的选项。但我无法与原始文档集匹配。例如,我尝试在LDA_MODEL$components结果中查看属于第一个~100文档的单词。有可能吗?我不知道你想达到什

不幸的是,不可能获得给定文档中每个标记的主题分布。文档主题计数是“动态”计算/聚合的,因此文档标记主题分布不会存储在任何位置。

主题词分配位于
LDA\u MODEL$components
中。这是您要找的吗?如果我可以将LDA_MODEL$components结果与原始文档集匹配,我可以找到文档中的每个令牌主题。当我测试你的软件包时,我看到了你说的选项。但我无法与原始文档集匹配。例如,我尝试在LDA_MODEL$components结果中查看属于第一个~100文档的单词。有可能吗?我不知道你想达到什么目的。你能举个例子(更新问题)吗?(不是代码,只描述您的用例)据我所知,主题的分布是由于文档中的术语分配给特定主题。因此,整个主题的分布是分配给该主题的术语的总和。(是否正确?)并且主题建模分析创建的LDA模型以用于分析的整个文本为目标。我现在假设它是一个日记文本。我将日记数据分为一年,并将其写在文档标题中。我想看看主题在不同时期的分布,但我也想看看组成主题的TEMR的变化。谢谢你的回答。很明显,我从最初的包装制造商那里听到了答案。谢谢你为我节省时间:)
library (text2vec)
library (parallel)
library (doParallel)

N <- parallel::detectCores()
cl <- makeCluster (N)
registerDoParallel (cl)
Ky_young <- read.csv("./Ky_young.csv")

IT <- itoken_parallel (Ky_young$TEXTInfo,
                       ids          = Ky_young$ID,
                       tokenizer    = word_tokenizer,
                       progressbar  = F)

##stopword
stop_words = readLines("./stopwrd1.txt", encoding="UTF-8")

VOCAB <- create_vocabulary (
        IT, stopwords = stop_words
        ngram = c(1, 1)) %>%
        prune_vocabulary (term_count_min = 5)


VoCAB.order <- VOCAB[order((VOCAB$term_count), decreasing = T),]

VECTORIZER <- vocab_vectorizer (VOCAB)

DTM <- create_dtm (IT, VECTORIZER, distributed = F)


LDA_MODEL <- 
      LatentDirichletAllocation$new (n_topics         = 200,
                                     #vocabulary       = VOCAB, <= ERROR
                                     doc_topic_prior  = 0.1,  
                                     topic_word_prior = 0.01) 


##topic-document distribution
LDA_FIT <- LDA_MODEL$fit_transform (
        x = DTM, 
        n_iter = 50, 
        convergence_tol = -1, 
        n_check_convergence = 10)

#topic-word distribution
topic_word_prior = LDA_MODEL$topic_word_distribution