토픽 분석

LSA, LDA, 딥러닝으로 텍스트의 토픽을 분류하는 방법을 알아봅니다

514
수강중

7. R에서 LSA 실행하는 법

강의 노트

Term Document Matrix를 저장한 tdm에서 많이 쓰이는 상위 1000개 단어의 번호를 freq.word로 뽑는다

library(slam)
word.count = as.array(rollup(tdm, 2))
word.order = order(word.count, decreasing = T)
freq.word = word.order[1:1000]

상위 1000개 단어만을 가지고 LSA 분석을 해서 30차원으로 줄인다

library(lsa)
news.lsa = lsa(tdm[freq.word,], 30)

해석을 쉽게 하기 위해 Varimax 회전을 한다

library(GPArotation)
tk = Varimax(news.lsa$tk)$loadings

30개의 차원이 어떤 단어들과 관련이 있는지 출력한다

for(i in 1:30){
  print(i)
  importance = order(abs(tk[,i]), decreasing = T)
  print(tk[importance[1:10], i])
}