在 R text2vec 包中 - LDA 模型可以显示文档中每个标记的主题分布吗?
In R text2vec package - LDA model can show the topic distribution for each tokens in document?
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
我在text2vec中创建测试LDA代码,我可以得到word-topic分布和document-topic分布。
(而且速度非常快)
顺便问一下,我想知道是否可以从 text2vec 的 LDA 模型中获取文档中每个标记的主题分布?
我了解到LDA分析过程的结果是文档中的每个token都属于特定的主题,因此每个文档都有主题分布。
如果我能得到每个token的主题分布,我喜欢通过分类文档(如句点)检查每个主题的热门词变化。可能吗?
如果有其他方法,请告知。
遗憾的是,无法获得给定文档中每个标记的主题分布。文档主题计数为 calculated/aggregated "on the fly",因此文档令牌主题分布不会存储在任何地方。
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
我在text2vec中创建测试LDA代码,我可以得到word-topic分布和document-topic分布。 (而且速度非常快)
顺便问一下,我想知道是否可以从 text2vec 的 LDA 模型中获取文档中每个标记的主题分布?
我了解到LDA分析过程的结果是文档中的每个token都属于特定的主题,因此每个文档都有主题分布。
如果我能得到每个token的主题分布,我喜欢通过分类文档(如句点)检查每个主题的热门词变化。可能吗?
如果有其他方法,请告知。
遗憾的是,无法获得给定文档中每个标记的主题分布。文档主题计数为 calculated/aggregated "on the fly",因此文档令牌主题分布不会存储在任何地方。