안녕하세요. 소셜네트워크분석 전문기업 ㈜사이람입니다.
NetMiner를 활용하여 SNS, 뉴스, 논문 등의 text 데이터에서 토픽을 분석하고, 분석 결과를 다양한 형태로 제공하는 ‘자동 토픽 분석 Plug-in’을 소개하고 무료로 여러분께 제공해 드리려 합니다.
토픽 분석(Topic Modeling)은 기계학습 기법 중 하나로 문서 데이터에 내재된 토픽을 파악하여 문서를 분류하거나 토픽을 구성하는 단어 클러스터를 도출할 수 있게 해줍니다. SNA의 2-모드 네트워크 데이터와 연계하여 활용할 수 있는 분석방법으로 더 풍부한 비정형 텍스트 분석을 위해 최근 많은 연구자들과 분석가들이 활용하고 있습니다.
□ 자동 토픽 분석 Plug-in 이란?
단 2번의 클릭만으로 아래의 복잡한 토픽 분석 과정을 한 번에 처리하실 수 있습니다.
자동 토픽 분석 Plug-in은 토픽 모델링 기법 중 하나인 잠재 디리클레 할당(LDA) 알고리즘을 통해 토픽을 추출하고 토픽별 주요 단어, 문서 클러스터링 등을 다양한 시각화 결과물과 함께 제공합니다.
□ 자동 토픽 분석 Plug-in 분석 프로세스
□ Plug-in 추가 방법
우선, Plug-in을 사용하기 위해서는 NetMiner에 사용 할 Plug-in을 등록해야 합니다.
① ‘‘자동 토픽 분석 Plug-in’ 다운로드 링크에서 [Automatic Plugin] Topic modeling.nmx 다운로드하여 PC에 저장
② NetMiner 실행 후, 다운로드 받은 파일(.nmx)을 Tools >> Plug-in Manager 클릭
③ 'Add Plug-in’ 클릭 후, 다운로드 받은 파일([Automatic Plugin] Topic modeling.nmx 파일) 등록
④ Plug-in List에 정상 등록이 확인되면, ‘Close’를 클릭하여 종료
□ ‘자동 토픽 분석 Plug-in’을 활용한 분석 사례
○ 분석 데이터
2017년 말부터 큰 이슈를 불러 일으킨 ‘bitcoin’을 검색 키워드로 하여 2018년 2월 27일 기준 트윗글 6,088개를 수집하였습니다.
샘플데이터 다운로드 →
○ 분석 절차
① 텍스트 데이터 불러오기(Semantic Network Package 필수)
i. File >> Import Unstructured Text
ii. 텍스트 데이터 불러오기 및 사전 설정(첨부된 엑셀 데이터와 사전 데이터 활용)
분석할 데이터로는 첨부된 Bitcoin_Tweets.xls를, 사전 데이터는 스팸어 사전, 유사어 사전, 지정어 사전, 제외어 사전을 활용하였고. 명사만 추출하였습니다.
② Plug-in 실행
i. Tools >> Plug-ins >> [Automatic Plugin] Topic Modeling
ii. 분석 옵션 값 입력(Filtering word)
TF-IDF Threshold : TF-IDF 값이 입력 값 미만인 단어를 제거하기 위한 옵션 ⇒ 흔하게 사용된 단어 제거
Word length : 짧은 글자를 제거하기 위한 옵션 ⇒ 1~2 글자 단어 제거
TF-IDF Threshold 값이 0.5 이상인 키워드와 글자 수가 두 글자 이상인 단어만을 추출하기 위해 위와 같이 입력하였습니다.
‘OK’ 버튼을 누르면 단어 필터링이 실행되고 다음 옵션창이 뜹니다.
iii. 분석 옵션 값 입력(Discover Topics in your text)
먼저 토픽 분석을 위한 창이 나타납니다.
Analysis unit : 토픽 분석 단위
# of Topics : 추출할 토픽의 수
alpha, beta : LDA 의 하이퍼파라미터
# of words by topic for vis : 토픽 – 단어 네트워크 맵에서 표시할 토픽 별 주요 단어 수(시각화용)
(Advanced) Pie chart of proportion of topic : 토픽의 비중을 파이 차트로 그리려면 Yes, 아니라면 No (추가 시간 소요)
(Advanced) Word Cloud to visualize word frequency : 사용 빈도에 따른 워드클라우드가 필요하다면 Yes, 아니라면 No
(Advanced) Make Word Network for each topic : 토픽별로 주요 단어끼리의 동시출현 네트워크를 만들고 싶다면 Yes, 아니라면 No (추가 시간 소요)
그리고 토픽별 단어 네트워크를 만드는 항목에 Yes 를 선택했다면, 키워드 동시출현 네트워크(공출현 네트워크) 생성을 위한 옵션이 나타납니다.
# of top words in each topic for analysis : 각 토픽 별로 추출할 상위 단어 수
Window size : 단어 간 네트워크를 생성할 때의 범위 (최소값인 2를 입력하면, 바로 나란히 등장한 단어들끼리 네트워크가 생성)
Link Frequency Threshold : 단어 간 링크의 가중치(동시출현빈도)의 임계치. 예를 들어, 2를 입력하면 2회 이상 함께 사용된 단어쌍만 추출됨
Direction : 각 단어 등장 순서를 고려하여 앞 단어에서 뒷 단어로 향하는 Directed Network 를 만든다면 Directed, Undirected Network 를 만든다면 Un-directed
6개의 토픽을 추출하고, 토픽 – 단어 네트워크에서 표시될 토픽 별 주요 단어 수는 7개로 설정하기 위해 위와 같이 입력하였습니다. 그리고 분석 시 활용할 각 토픽 별 할당확률 기준 상위 단어 수는 100개로 설정하였습니다.
iv. 최종 결과
자동 분석 결과로 최종적으로 화면 좌측 하단에서 새롭게 생성된 Workfile을 확인하실 수 있습니다.
(참고: LDA 분석 결과는 워크파일 Filtered Words >> Session 의 LDA에서 확인 가능하며, 토픽의 수를 변경하여 토픽 분석을 재실행 할 수 있음)
○ 분석 결과 해석
① 문서 분류 : 토픽별 문서 분류 결과를 토대로 전체 문서에서의 각 토픽의 비중을 파악
- 토픽모델링 LDA의 분석 결과로 각각의 문서 내 토픽 확률이 제시되는데, 이를 토대로 각 문서에서 가장 높은 확률의 토픽이 어떤 토픽인지 알 수 있음
- 위와 같은 방법으로 모든 문서를 토픽 별로 분류
- 토픽 별 문서의 수는 토픽의 비중으로 해석 가능
• 결과 해석
- 비트코인과 관련하여 작성된 트윗글을 6개의 토픽으로 분류한 결과
- 전체 약 6,000개 트윗글에는 6개의 토픽이 약 17%의 비슷한 비중으로 존재하고 있음을 확인할 수 있음
• 결과 확인 방법: 워크파일 Topic Proportion >> Frequency(Vector)
② 토픽 별 주요 단어(워드클라우드) : 토픽별 단어의 영향력(할당 확률)이 클수록 중요한 단어로 표시
- 토픽 별로 할당확률이 큰 단어는 크게 표시됨
- 단어의 크기만 의미가 있으며 색상, 위치는 의미 없음
• 결과 확인 방법
- 워크파일 Filtered Words >> 메뉴 상단의 Tools >> Plug-ins >> Word Cloud 실행 >> Select Node Attribute에서 Prob_Topic_(number)을 선택 후 ‘OK’
* Prob_Topic_(number) : 확인하고 싶은 토픽의 번호
③ 토픽 별 단어 네트워크 맵(+원문 보기)
<토픽 별 단어 간 네트워크 맵>
- 토픽 별 할당확률이 높은 상위 100개 단어로 단어 네트워크를 구성(빨간 점은 각 단어를 뜻 함)
- 단어 네트워크는 단어가 다른 단어와 문서에서 얼마나 가깝게 등장하였는지에 따라 생성(Word distance – Window size 기준)
- 가깝게 등장한 단어끼리 링크가 생성됨
- 토픽에 대한 할당확률이 높은 단어일수록 점의 크기가 큼
• 결과 확인 방법
- 워크파일 Topic_(number) 하단의 Result[Documents, 3, 1, D] >> Spring 2D
- 추가로 위의 네트워크 맵에서 특정 단어를 선택하면 해당 단어가 어떤 문서와 문장에서 어떻게 쓰였는지 확인할 수 있음
<단어(Venezuela)가 등장한 원문 보기>
• 결과 확인 방법
- 네트워크 맵 내에서 1개 이상의 특정 키워드 선택 >> 메뉴 상단의 Tools >> Plug-ins >> Word in a sentence
* 네트워크 맵이 열려있는 상태에서만 실행 가능
* 2개 이상의 단어를 선택하고 싶은 경우 Ctrl키를 누른 상태로 단어를 선택
* 2개 이상의 단어를 선택하여 실행했을 경우, 동시 등장하는 문장만 보여줌(동시 등장한 문장이 없을 경우, 결과화면에는 아무것도 나타나지 않음)
④ 토픽-키워드 네트워크 : 추출된 토픽을 이루고 있는 주요 키워드를 토픽-키워드 간 네트워크 형식으로 시각화
- 토픽 분석 결과, 토픽 별로 영향력이 높은 단어를 선택하여 시각화
- 중앙의 점은 토픽을 뜻하며, 노란색 글자는 토픽명(연구자가 주요 단어를 참고하여 주관적인 판단 하에 결정), 중앙 점과 연결된 점은 토픽 별 주요 단어를 뜻함
- 선 굵기는 주요 단어의 해당 토픽에 대한 할당확률로서, 높을수록 두껍게 표시
• 결과 해석
- USA Seneto hearing about Tether : 2018년 2월 6일 미국 상원 은행위원회에서 증권거래위원회(SEC) 의장과 상품선물거래위원회(CFTC) 의장을 출석 시켜 가상화폐 관련 청문회를 개최한 바 있어, 이와 관련된 키워드가 포함된 트윗글이 많이 작성됨
- Venezuela’s crypto platform development : 베네수엘라 대톨령이 오일 기반 암호 거래를 위한 플랫폼 개발을 제안했다는 뉴스가 나오면서 이와 관련된 키워드가 포함된 트윗글이 많이 작성됨
- European commission Loves Blockchain’s Transparency : 유럽연합에서 블록체인 기술을 주목하고 있다는 뉴스가 나오면서 이와 관련된 키워드가 포함된 트윗글이 많이 작성됨
• 결과 확인 방법
- 워크파일 LDA_Result >> Spring 2D
□ 시스템 및 패키지 요구 사항
○ 프로그램
Ø NetMiner 4 최신 버전 (NetMiner_4.4.2.b) → 최신 버전 다운로드 >>
○ 라이선스
Ø Semantic Network Edition 이상의 라이선스 사양 필요 → 에디션 및 패키지 설명 보기>>
• 필요 패키지
- Basic Package
- Advanced Analysis Package
- Exploration Package
- Statistics Package
- Tools(+DB) Package
- Use Plug-in Package
- Semantic Network Package
※ 위 패키지가 포함되어 있지 않은 라이선스 사용 시, 플러그인 사용에 제한이 있습니다.
• 라이선스 사양 확인 방법
1. NetMiner 홈페이지 접속(www.netminer.com) 후 본인 계정으로 로그인
2. 우측 상단의 ‘Account’ 메뉴를 클릭하여 사용 중인 라이선스 정보 확인
3. 확인이 되지 않을 경우 netminer@cyram.com으로 문의
위와 같이 다양한 분석 결과를 손쉽게 얻을 수 있는 ‘자동 토픽 분석Plug-in’을 소개해 드렸습니다.
아직 넷마이너를 구매하지 않으셨거나 패키지 추가 구매를 원하시는 분께서는 구매문의 또는 netminer@cyram.com을 통해 언제든지 문의 주시기 바랍니다.
‘자동 토픽 분석 Plug-in’이 수행하는 분석 과정은 텍스트 분석에서 가장 기본적인 분석 과정입니다.
본 분석 과정에 대한 상세 내용이 궁금하시거나 추가 응용을 하고 싶으신 분께서는 사이람이 진행하는 ‘텍스트 네트워크 분석 교육’을 수강하시면 ‘자동 토픽 분석 Plug-in’은 물론, 텍스트 분석 기능을 보다 유용하게 사용하실 수 있습니다.
고객 여러분의 관심과 성원에 늘 감사 드리며 앞으로도 최고의 소프트웨어와 다양한 서비스를 제공해 드리는 사이람이 되겠습니다.
감사합니다.
[관련 문의]
1660-4230
[무료배포] 토픽 모델 평가 기능(Topic Coherence) (2) | 2023.04.03 |
---|---|
[플러그인 활용하기] Co-occurrence Network 생성 플러그인 활용(3) (2) | 2013.06.21 |
[플러그인 활용하기] Co-occurrence Network 생성 플러그인 활용(2) (0) | 2013.06.04 |
넷마이너에 플러그인 설치하기 (0) | 2013.05.20 |
[플러그인 활용하기] Co-occurrence Network 생성 플러그인 활용(1) (4) | 2013.05.16 |
댓글 영역