"euroscepticism"또는 "eurosceptic"이라는 용어를 사용하는 기준에 따라 수집 된 뉴스 기사의 데이터 세트가 있습니다. 이 기사의 주 주제를 확인하기 위해 lda
패키지 (dfm
행렬을 사용하여 quanteda
내장)를 사용하여 주제 모델을 실행했습니다. 그러나 내가 관심있는 단어는 어떤 주제에도 나타나지 않습니다. 따라서이 단어들을 모델에 넣고 싶습니다. 정확히 어떻게해야하는지 모르겠습니다.LDA 주제 모델에 단어를 시돈 R
패키지 topicmodels
은 "matrix
또는 객체 클래스 simple_triplet_matrix
"으로 지정할 수있는 seedwords라는 인수를 허용하지만 다른 지침은 없음을 알 수 있습니다. simple_triplet_matrix
은 문자열이 아닌 정수 만 사용하는 것 같습니다. 그러면 누구나 모델에 'euroscepticism'과 'eurosceptic'이라는 단어를 뿌릴 것입니다. 여기
library("quanteda")
library("lda")
##Load UK texts/create corpus
UKcorp <- corpus(textfile(file="~Michael/DM6/*"))
##Create document feature matrix
UKdfm2 <- dfm(UKcorp, ngrams =1, verbose = TRUE, toLower = TRUE,
removeNumbers = TRUE, removePunct = TRUE, removeSeparators = TRUE,
removeTwitter = FALSE, stem = TRUE, ignoredFeatures =
stopwords(kind="english"), keptFeatures = NULL, language = "english",
thesaurus = NULL, dictionary = NULL, valuetype = "fixed"))
##Convert to lda model
UKlda2 <- convert(UKdfm2, to = "lda")
##run model
UKmod2 <- lda.collapsed.gibbs.sampler(UKlda2$documents, K = 15, UKlda2$vocab,
num.iterations = 1500, alpha = .1,eta = .01, initial = NULL, burnin
= NULL, compute.log.likelihood = TRUE, trace = 0L, freeze.topics = FALSE)
'lda'를 실행하기 전에 당신이 사용하는 단어가'dtm'에 있는지 확인 하시겠습니까? 단어가 드문 경우 단어가 삭제 될 수 있습니다. 또한'stem = TRUE'을 사용하고 있습니다. 이것은 "euroscepticism"이라는 단어를 유로화로 줄이는 결과를 가져올 수 있습니다. 체크 아웃 할 것이 있습니다. –