본문 바로가기

Do it! 공부단

[3회차] Do it! 쉽게 배우는 R 텍스트 마이닝 / p.146~p.229 / 5장 의미망 분석: 어떤 맥락에서 단어를 썼을까?, 6장 토픽 모델링: 어떤 주제로 글을 썼을까?

반응형

 

 

오늘 스터디에서는 의미망 분석과 토필 모델링에 대해서 공부를 했다. 의미망 분석중 동시 출현 빈도를 이용해 단어의 관계를 네트워크 형태로 표현한 것을 동시 출현 네트워크라고 하는데 예전에 이런걸 어떻게 만들었는지 궁금했는데 오늘 그 궁금증이 해결이 되었다. 네트워크 그래프 데이터로 변환 해야 하는데 tidygraph 패키지의 as_tbl_graph()를 이용하면 쉽게 네트워크 그래프 데이터를 만들수 있다.

토픽 모델링에서는 문서와 단어의 관계를 이용해서 토픽 별로 분류하고 각 토픽이 어떤 내용이 담고 있는지를 알수 있다. 먼저 문서를 토픽별로 분류 하기 위해서는 LDA라는 토픽 모델링 알고리즘을 사용한다. LDA모델을 만드는 방법은 먼저 기본적인 전처리를 한다. 중복 문서를 제거하고, 짧은 문서를 제거한다. 그리고 명사를 추출한다. 빈도가 높은 단어를 제거한다. 그리고 불용어 제거와 유의어를 처리한다. 이번에는 DTM을 이용해 LDA모델을 만든다. count_word를 이용해 문서별 단어 빈도를 구한다. tidytext 패키지의 cast_dtm()을 이용하면 손쉽게 문서별 단어 빈도를 만들수 있다. 그리고 DTM을 topicmodels 패키지의 LDA()에 적용해 LDA 모델을 만들수 있다. 

 

 

 

반응형