Я пытаюсь распределить список опрошенных вопросов по 30 различным категориям, используя функцию LDA в пакете топиков.
Код, который у меня есть до сих пор:
source <- VectorSource(openended$q2)
corpus <- Corpus(source)
corpus <- tm_map(corpus, content_transformer(tolower))
corpus <- tm_map(corpus, removeNumbers)
corpus <- tm_map(corpus, removePunctuation)
corpus <- tm_map(corpus, stripWhitespace)
corpus <- tm_map(corpus, removeWords, stopwords('english'))
corpus <- tm_map(corpus, stemDocument, language = "english")
mat <- DocumentTermMatrix(corpus)
rowTotals <- apply(mat , 1, sum)
mat <- mat[rowTotals> 0, ]
burnin <- 4000
iter <- 2000
thin <- 500
seed <-list(2003,5,63,100001,765)
nstart <- 5
best <- TRUE
k <- 30
ldaOut <-LDA(mat,k, method="Gibbs", control=list(nstart=nstart, seed = seed,
best=best, burnin = burnin, iter = iter, thin=thin))
ldaOut.topics <- as.matrix(topics(ldaOut))
write.csv(ldaOut.topics,file=paste("LDAGibbs",k,"DocsToTopics.csv"))
У меня уже есть 10% данных в открытом $q2, закодированных соответствующим образом, как я могу обучить алгоритм, используя эти данные?
Спасибо!
LDA()
, реализованный вtopicmodels
, представляет собой неконтролируемый генеративный алгоритм, вы не можете обучить модель так, как вы собираетесь. Вы можете подогнать модель и проверить, насколько новые данные вписываются в эту модель, черезperplexity()
. Что касается общего обсуждения, вы можете взглянуть на этот поток контролируемый LDA. Далее пакетlda
предлагает модельslda
, но я с ней не знаком и думаю, что это все же не то, что вы хотите. (поправьте меня кто-нибудь, если я ошибаюсь) - person Manuel Bickel   schedule 14.11.2017R
, используяtopicmodels
. На самом деле я сейчас работаю над чем-то подобным для Python. Вы можете проверить это здесь github.com/KenHBS/LDA_thesis с ним не очень приятно работать для другие люди, но, возможно, это может помочь указать вам правильное направление. По сути, вы манипулируете априорным значением тета, чтобы все значения были равны нулю, за исключением элемента (элементов), которые соответствуют теме, имеющейся у вас в размеченных данных. - person KenHBS   schedule 20.11.2017