1. Twitter 를 이용한 Hot Trend 분석
기
Hot Trend Analyzer based on
Twitter
이동규
김대한
2. 차례
• 종합 설계 개요
• 관련 연구 및 사례
• 시스템 구성도
• 시스템 수행 시나리오
• 시스템 상세 설계
• 개발 환경
• 업무 분담
• 졸업연구 수행 일정
• 필요기술 및 참고 문헌
3. 종합 설계 개요
• 지난 발표에서의 지적 사항
1. 감정 분석에 대한 기준을 어떻게 판단할지 고민해야
할 것
2. 결과에 대한 평가기준 필요
3. 설계 일정 조정 필요
4. 감정 분석의 명확성 기준이 필요
5. 내용 평가의 기준에 대한 검토 필요
4. 종합 설계 개요
• 지적 사항에 대한 답변
• 1,2,4,5 번 지적사항
( 감정분석 기준 , 평가기준 , 감정분석 명확성 기준 , 내용 평가 기준 필요 )
• 감정분석 기준 : 타 연구에서 사용한 감정사전
• 국어사전 단어들 기반으로 설문조사 후 단어 및 유의어로 만든 사전
• 감정분석 명확성 평가 기준 : 다음 , 네이버의 영화평 / 리뷰를 바탕으로 검
증
• 테마 분석 명확성 평가 기준 : 신문기사 카테고리를 바탕으로 검증
• 평가 기준 : 표본 데이터의 분석 결과를 직접 확인
• 3 번 지적사항 ( 설계일정 )
• 설계 일정 부분 2 월까지 조정함 .
5. 종합 설계 개요
• 연구 개발 배경
• Big Data 증가와 이에 대한 활용
• 다양한 분야에서 Big Data 분석으로 긍정적인 사례 증가
• 대용량 데이터가 쌓이는 Social Network
• Social Network 데이터 분석의 중요성
• 연구 개발 목표
• SNS 의 특성을 이용한 Trend 분석
• Trend 에 대한 사람들의 생각 및 감정 분석
• 연구 개발 효과
• 최신 정보에 초점을 두어 효과적으로 흐름 분석 가능
• SNS 상의 사람들의 생각을 이용하여 다양한 현상 이해
• Ex) 여론 분석 , 상품 의견
9. 수집기수집기수집기수집기
분류기분류기분류기분류기TweetTweet
DataData
TweetTweet
DataData 형태소 분석기형태소 분석기형태소 분석기형태소 분석기테마 분류기테마 분류기테마 분류기테마 분류기 감정 분류기감정 분류기감정 분류기감정 분류기
중간 데이터중간 데이터중간 데이터중간 데이터
트윗별트윗별
테마 분류 결과테마 분류 결과
트윗별트윗별
형태소 분석 결과형태소 분석 결과
트윗별트윗별
감정 분류 결과감정 분류 결과
MetaMeta
datadata
Streaming CrawlerStreaming CrawlerStreaming CrawlerStreaming Crawler
분석기분석기분석기분석기 연관어 분석기연관어 분석기연관어 분석기연관어 분석기트렌드 분석기트렌드 분석기트렌드 분석기트렌드 분석기
결과 데이터결과 데이터결과 데이터결과 데이터
테마별 트렌드 분석 결테마별 트렌드 분석 결
과과 연관어 분석 결과연관어 분석 결과
인기 트위터리안인기 트위터리안
분석 결과분석 결과
12. 형태소 분석기
• KAIST GILab 의 한나눔 한국어 형태소 분석기 사
용
(http://kldp.net/projects/hannanum/)
• Java 라이브러리이기 때문에 Python 에서 사용
하기 위해 Standard I/O 를 통해 데이터 입 / 출
력
• 텍스트를 입력받아 형태소 / 형태소 태그 쌍의 리
스트 반환
13.
14. 테마 분류기
• 분류 데이터 수집기와 분류기로 구성
• 분류 데이터 수집기 : 네이버 백과사전 , 위키백과에서 문
서 제목과 카테고리를 수집 .
• 분류기 : 텍스트를 입력받아 분류 결과를 반환
• 텍스트 형태소 분석 후 명사만 추출하여 사전 데이터의 단어들
을 카운트
• 필수 키워드 사전 ( 사용자 입력한 중요한 키워드 ) 을 바탕
으로 분류
• 분류 실패시 네이버 백과사전 , 위키백과 데이터를 통해 자
동 분류
15.
16. 감정 분류기
• 감정어휘 평가사전 관리 와 감정 분류기로 구성
• 감정 어휘 평가사전 : 총 11,100 개
( 긍정 :5018 개 , 부정 6092 개 )
• 분류기 : 텍스트를 입력받아 긍정 또는 부정 , 미분류 결과를
반환
• 텍스트 형태소 분석 후 명사 , 형용사 , 동사만 추출하여 사전 데
이터의 단어들과 비교
• 결과 데이터는 해당 텍스트의 긍 / 부정 여부 및 해당 긍 / 부정 단
어 리스트 출력
• 분류 실패시 미분류 감정으로 분류
17.
18. 트렌드 분석기
• 기간 내 인기 트위터리안 분석
• 작성 시간으로 트윗 필터
• RT 된 트윗 수 기반으로 인기도 측정
• 기간 내 트렌드 키워드 분석
• 작성 시간으로 중간결과 필터
• Monogram~N-Gram 카운트를 통해 인기 키워드 추출
• 기간 내 테마별 트렌드 키워드 분석
• 작성 시간 , 테마로 중간결과 필터
• Monogram~N-Gram 카운트를 통해 인기 키워드 추출
22. 연관어 분석기
• 특정 Keyword 와 연관된 연관어 추출
• Keyword 추출 기간과 동일한 기간 설정
• 동일 기간 Text 들에서 기준 Keyword 포함 Text 가
타겟 데이터
• Monogram ~ N-Gram 카운트를 통해 연관어 추출
( 전체 N-Gram 중 중복되는 키워드는 차수가 높은
Gram 으로 판단한다 )
• 상위 Top - 20 개의 연관어 출력
47. ID 분석 기간 사용자 ID
연관 트윗 리스
트
Count
사용자 영향력 분석 결과
트렌드 분석 결과
ID 분석 기
간
분석 유
형
키워드 리스트
ID
Flag Name Value
실시간 0
테마별 1
연관어 분석 결과
ID 분석 기
간
분석 유
형
연관어 리스트
ID
ID 키워드
연관어 키워드 리스
트
연관어 리스트
Flag Name Value
일반 연관
어
0
감정 연관
어
1
키워드 리스트
ID 키워드 테마 감정 Count
48. 개발 환경
개발 운영체제 Ubuntu Linux
개발 툴 PyCharm
개발 플랫폼 Hadoop, Hive
개발 언어 Python, Java, HiveQL
49. 개발 현황
개발 완료 기능
•수집기 개발 완료
•감정분류기 프로토타입 개발 완료
•테마분류기 프로토타입 개발 완료
•영향력 분석기 개발 완료
•영향력 분석 결과 ( 인기 트위터리안 ) Visualization 구현 완료
분석 테스트
•테마 분류기 분석결과 – 신문 데이터에 테스트 완료
•감정 분류기 분석결과 – 영화 평론 데이터에 테스트 완료
개발할 기능
•트렌드 분석기 개발
•분석 결과 유저 인터페이스 개발
50. 업무 분담
김대한 이동규
자료수집
테마 분류를 위한 데이터 수집
( 위키백과 , 네이버
백과사전 )
트위터 데이터 수집
추후 평가를 위한 네
이버 , 다음
영화평 수집설계 및 구
현
형태소 분석기
테마 분류기
데이터 시각화
트위터 수집기
감정 분류기
연관어 분석기
트렌드 분석기
테스트
모듈별 테스트
통합 테스트
52. 필요기술 및 참고문헌
• 필요 기술
• Twitter API 활용
• Twitter API References & Documents
• 감정 분석 기법 : POMS , WordNet, ANEW
• 한국판 기분상태척도 (K-POMS) 의 표준화와 신뢰도와 타당도 평가 no.1 2003 년 , pp.39-51
• Profile of mood states(POMS) - D McNair, M Lorr, L Droppleman - 1989 -
ubir.buffalo.edu
• 한글 마이크로블로그 텍스트의 감정 분류 및 분석 - 정보과학회논문지 : 데이타베이스 제 40 권 제
3 호 , 2013.6, 159-167 (9 pages)
• 영어 _ 트위터 _ 감성 _ 분석을 _ 위한 _SentiWordNet_ 활용 _ 기법 _ 비교 - 한국지능시스템학회 논
문지 제 23 권 제 4 호 , 2013.8, 317-324 (8 pages)
• 트위터에서 _ 일어나는 _ 정치적 _ 담론활동에 _ 대한 _ 탐색적 _ 연구 - 언론과 사회 19 권 3 호 ,
2011.8, 45-76 (32 pages)
53. 필요기술 및 참고문헌
• Big Data 처리 : Hadoop, Hive
• Hadoop 을 _ 이용한 _ 트위터 _ 메시지 _ 분석 _ 시스템 _ 설
계
• Hive 를 이용한 사용자 _ 중심 _ 소셜 _ 시맨틱 _ 웹 _ 프레임
워크
• 마이닝 기법 : Opinion Mining 기법
• Twitter mood predicts the stock market
• HTML5 , R