2. 목차
- 지난 발표 요약
- Wikipedia 데이터 처리
- 결과 분석
- Word Cloud를 선택한 이유
- 결과 분석
3. 팀원 소개
• 장민욱 : 응용 시나리오, 데이터 수집, 처리
• 김범수 : Word2Vec 구현 담당
• 장하진 : 데이터 시각화, 다이나믹스 담당
4. 지난 발표 Review
• 구글 오픈소스와 기술적 차이, 속도 등 비교 그래프를 준비했으
나 효과적으로 전달하지 못함
• 데이터의 크기에 집착하기보다 구현하고 테스트하며 확장시키
는 것이 필요함. 느끼기
• Git 공개 :
https://github.com/fromme0528/DataScience_Word2Vec
6. Wikimedia dump service
• 한 달에 두 번, dump file을 제작, 배포
• Pages-meta-currnet.xml.bz2
• 모든 문서의 최신 버전
• 25.2GB
• Pages-articles.xml.bz2
• 일반 문서의 최신 버전
• 전체 편집 역사는 들어있지 않음
• 12.0GB
https://dumps.wikimedia.org/enwiki/
7. 한국어 버전도 제공
• pages-articles.xml.bz2
• 일반 문서의 최신 버전만이 묶여 있고, 전체 편집 역사는 들어있지 않습니다. 대부분
의 이용자는 이 파일을 이용하면 됩니다.
• pages-current.xml.bz2
• 모든 문서의 최신 버전이 묶여 있습니다.
• pages-full.xml.bz2/7z
• 모든 문서(토론 포함)의 최신 버전이 묶여 있습니다.
• pages-meta-history.xml.bz2
• 모든 문서의 모든 편집 내역이 묶여 있습니다.
• abstract.xml.gz
• 문서 요약을 묶어 놓았습니다.
• all_titles_in_ns0.gz
• 문서 제목만을 묶어 놓았습니다.
13. Korean doc2vec
• Demo
• Raw Korean Wikipedia Corpus
• PreTrained Doc2Vec Model
• Korean word2vec api
• https://github.com/roboreport/doc2vec-api
14. 결과 분석
• 왜 이런 값이 나왔는지?
• Training Set 크기에 따른 결과 분석
• 날짜에 따른 결과 분석 (예정)
15. Text8
• 기존 구글이 사용하던 text corpus
• Stemming, stopword 처리 되어있음
• 100MB
• 1700만개의 단어, 7만개의 단어종류
16. Wiki dump
• Wiki에서 만든 덤프를 이용해 text corpus생성
• Stemming, stopword 처리 X
• 12GB
• 20억개의 단어, 380만개의 단어 종류
17. 구현 이슈
• 한 덤프당 12GB.
• 학습시간 1시간(cbow, hierarchical softmax 적용)
• 시간에 따른 특성이 명확하게 보이지 않음
18.
19.
20. • 최신 문서임에 따라 overwatch 게임이 연관성을 띌것으로 기대
• 위키문서의 특성상, 오래된 정보도 새로운 정보와 동일한 학습
을 거치게 된다.
• 새롭게 update된 정보만을 학습하는 기법이 필요할것이라 생각
됨
21. • 한 덤프당 12GB를 차지하다보니 동시에 여러 학습을 진행하기
힘들다.
• 여러 가상머신을 사용해서 학습만을 진행하는 머신과 서버 역
할을 하는 머신을 구분할 필요가 있다.
22. Word Cloud 구현 목표
• 1. Dynamic Word Cloud 구현
• 2. 시간의 변화량 표현
• 직관적인 시각적 효과 적용
23. 1. Dynamic Word Cloud - 요구사항
• 일반적인 Word Cloud는 ‘단어’와 ‘단어의 빈도’가 기준.
• 우리가 목표로 하는 Word Cloud는 ‘키워드’와 ‘유사어 및 유사
도’를 기준으로 사용한다.
• 벡터화된 단어를 이해하고, 시간의 변화량을 표현할 수 있는
Word Cloud 라이브러리를 사용 또는 제작해야 한다.
24. Frequency와 Vector의 차이
• 지난 시간 질문 중
“Word2Vec을 이용한 Word Cloud는 어떤 의미가 있는가?”
• 단어를 Vector로 표현하여 Semantic을 고려할 수 있다.
• Google Hot Topic를 기준으로 활용
25. 2. 시간의 변화량 표현 - 요구사항
• 일정한 간격으로 수집된 데이터의 변화량을 어떻게 표현할 것
인가?
• 단어의 크기, 위치, 색 등 정적인 요소를 동적으로 변화시켜 시
간의 흐름을 나타낼 수 있다.
26. 3. 직관적인 시각적 효과 - 요구사항
• Word Cloud를 볼 사람들이 한눈에 제작자가 어떤 내용을 전달
하려 하는지를 이해할 수 있어야 한다.
27. 구현 이슈
• 다양한 Word Cloud 라이브러리가 존재한다.
• JS : D3-Cloud, WordCloud2.js
• Python : pytagcloud, wordcloud
• C# : Sparc.TagCloud
• 기존 라이브러리 사용 vs 자체 라이브러리 제작
28. 구현 이슈
• 기존 Word Cloud 라이브러리들은 정적 이미지만 제작이 가능.
• 기술적 요구사항인 “시간의 변화량 표현”을 충족하지 못함.
• 이를 만족하기 위해선 Word Cloud를 직접 만들어야 한다.
31. 개선점 및 향후 방향
• 다양한 DataSet 및 확장
• 보고서 등 활용할 수 있도록 다양한 시나리오
• Word Cloud 출력 형태 개선
32. 친절한 설명
• 1) 창의성
• 기존 Frequency 기반 Word cloud의 개념을 전복
• 퀄리티
• 2) 기술적 완성도
• 구현 및 테스트
• Word Cloud 자체 구현
• 3) 기여도
• Word2Vec 구현 정도에 따른 성능 비교
• 개선점 제안
• Wiki dump를 사용하기 위한 튜토리얼 제시