토픽모델링은 텍스트 데이터에서 사용된 주제어들의 동시 사용 패턴을 바탕으로,
해당 텍스트들을 대표하는 특정 주제나 이슈, 주제 그룹들을 자동으로 추출하는 분석 기법이다.
이때 토픽은 함께 등장할 확률이 높고 유사한 의미를 가지는 단어들의 집합이라고 할 수 있다.
이 방식은 텍스트 데이터 내 단어들의 빈도를 통계적으로 분석하여
전체 데이터를 관통하는 잠재적 주제, 즉 토픽들을 자동으로 추출하는 분류를 하기 때문에 쟁점,
즉 프레임 분석 시 유용하다.
출처 : https://blog.naver.com/bflysoft_biz/222012782382
텍스트 분석 - 네이버 카페(비건 디저트) : 전처리, 형태소 분석(Komoran)
데이터 불러오기 여기서 필요한 것은 content와 reply뿐이다. content content를 문자열로 다 바꾸고 인덱스와 함께 리스트로 저장한다. 여기서 길이가 4 이상이어야 하는데 그 이유는 누락값은 NaN인데 �
steadiness-193.tistory.com
위에서 만들어낸 mas 엑셀 파일을 이용한다.
텍스트 분석 - 네이버 카페(비건 디저트) : 상위빈도단어 시각화, wordcloud
https://steadiness-193.tistory.com/144 텍스트 분석 - 네이버 카페(비건 디저트) : 전처리, 형태소 분석(Komoran) 데이터 불러오기 여기서 필요한 것은 content와 reply뿐이다. content content를 문자열로 다..
steadiness-193.tistory.com
전처리와 STOP_WORDS와 CHANGE_WORDS_SET에 대한 내용은 위 포스팅 참조
데이터 불러오기
mas 엑셀파일을 data_mas 변수에 담았다.
1. mas_total 제작
mas_noun 컬럼의 모든 단어들을 필터링 해서
mas_total에 넣어두는 것이다.
set으로 중복을 제거하면
전체 단어 개수는 27,788개가 나온다.
2. word_list 제작
mas_total과 Counter를 이용해
100번 초과로 나온 단어만 걸러낸 리스트
우선 mas_total의 모든 단어의 개수를 센 뒤
빈도가 101번 이상인 단어들만 모아서
word_list에 넣어둔다.
빈도가 101번 이상인 단어의 총 개수는 652개이다.
3. mas_double_list 만들기
STOP_WORDS에 해당하지 않고
word_list에는 해당하며
CHANGE_WORDS_SET을 거친
리스트를 담은 이중리스트
이제 원하는 mas_double_list가 만들어졌으니
Topic 별로 분류해보자
토픽 모델링
문서 내 단어를 아이디로 변환하고
문서별로 벡터로 전환한다. (단어 아이디, 단어 빈도수)
토픽별 주요 단어는
위 처럼 나온다.
5번 토픽을 보면 비건 디저트 중에서도 식빵, 스콘이 나왔고
건강과 버터, 우유, 재료를 고려하는 집단이며 인스타그램도 눈여겨 볼 만 하다.
토픽별 15개의 단어로 설정하고 출력한 결과이다.
시각화
import pyLDAvis
import pyLDAvis.gensim as gensimvis
prepared_data = gensimvis.prepare(model, corpus, dictionary)
pyLDAvis.display(prepared_data)
현재 4번 토픽을 클릭한 상태
[토픽의 비중 정도]
N% of tokens
우측 상단에 4번 토픽의 비중 정도를 볼 수 있는데
전체에서 11.6%를 차지한다.
[오른쪽의 단어 리스트]
해당 토픽과 가장 연관성이 높은 순서로 단어들을 배치하고
특정한 단어의 문서 내 나타난 전체 빈도 중에 해당 토픽에 속하는 비율을 보여준다.
[원의 크기]
해당 토픽이 전체 글에서 차지하는 비중
토픽 9보다 토픽 1이 상대적으로 더 높은 비중을 보인다고 볼 수 있다.
[토픽 간 원의 위치]
토픽 간 확률 분포의 유사성에 따라 다차원 척도로 정해진 것
예를 들어 토픽 간 확률 분포가 비슷하면
해당 토픽들이 서로 유사하다는 것을 의미하며,
이에 따라 서로 근접히 위치하게 된다.
아래 그림의 2,3번 토픽과 5,6,8번 토픽이 그러한 것이다.
위 내용 출처 : https://blog.naver.com/bflysoft_biz/222012782382
1번 토픽
지금 선택된 1번 토픽을 보면
15.1%로 토픽의 비중은 제일 높다.
1번 토픽의 페르소나는 서울 카페, 레스토랑에 자주가고
와인, 메뉴, 음식, 사진 등의 가치를 높게 평가한다고 볼 수 있다.
10번 토픽
4.6%로 토픽의 비중이 제일 낮다.
다른 토픽들과의 거리가 상대적으로 제일 멀어, 타 토픽과 유사도가 제일 낮다.
비건 디저트의 원데이 클래스의 가격, 수강료를 문의하거나
후기 등을 중요시하는 집단이라고 볼 수 있다.
3번 토픽
토픽 2와 유사한 군집으로 분류되며
주로 비건 디저트 종류(스콘, 식빵, 머핀, 타르트 등)와
재료(버터, 우유, 단호박, 초코, 흑임자)에 관심이 많고
밀가루나 글루텐 등 건강을 생각하며 이를 인스타그램에 인증하는 집단이라고 볼 수 있다.