SlideShare a Scribd company logo
1 of 34
Dynamic Word Cloud
Reflecting Flow of Time
Using Word2Vec
4팀 : 장민욱, 장하진, 김범수
목차
- 지난 발표 요약
- Wikipedia 데이터 처리
- 결과 분석
- Word Cloud를 선택한 이유
- 결과 분석
팀원 소개
• 장민욱 : 응용 시나리오, 데이터 수집, 처리
• 김범수 : Word2Vec 구현 담당
• 장하진 : 데이터 시각화, 다이나믹스 담당
지난 발표 Review
• 구글 오픈소스와 기술적 차이, 속도 등 비교 그래프를 준비했으
나 효과적으로 전달하지 못함
• 데이터의 크기에 집착하기보다 구현하고 테스트하며 확장시키
는 것이 필요함. 느끼기
• Git 공개 :
https://github.com/fromme0528/DataScience_Word2Vec
DataSet
Wikimedia dump service
• 한 달에 두 번, dump file을 제작, 배포
• Pages-meta-currnet.xml.bz2
• 모든 문서의 최신 버전
• 25.2GB
• Pages-articles.xml.bz2
• 일반 문서의 최신 버전
• 전체 편집 역사는 들어있지 않음
• 12.0GB
https://dumps.wikimedia.org/enwiki/
한국어 버전도 제공
• 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
• 문서 제목만을 묶어 놓았습니다.
Wikimedia – Meta-Wiki
https://meta.wikimedia.org/wiki/Main_Page
Using WikiExtractor
• Install WikiExtractor
Git clone https://github.com/attardi/wikiextractor.git
Cd wikiextractor/
sudo python setup.py install
• Using
Git clone https://github.com/attardi/wikiextractor.git
Cd wikiextractor/
sudo python setup.py install
After Parsing : input of Training
Google Hot Topic
2017.02 2017.04
검증 (Text8 / 2017.02.20 / 2017.04.20)
• Training Set
• 1) Text 8 :
• 2) wiki-2017.02.20 : Training . . .
• 3) wiki-2017.04.20 :
• Keyword
• 1) “Trump”
• 2) “Overwatch”
• 3) “Syria” : Testing . . .
Korean doc2vec
• Demo
• Raw Korean Wikipedia Corpus
• PreTrained Doc2Vec Model
• Korean word2vec api
• https://github.com/roboreport/doc2vec-api
결과 분석
• 왜 이런 값이 나왔는지?
• Training Set 크기에 따른 결과 분석
• 날짜에 따른 결과 분석 (예정)
Text8
• 기존 구글이 사용하던 text corpus
• Stemming, stopword 처리 되어있음
• 100MB
• 1700만개의 단어, 7만개의 단어종류
Wiki dump
• Wiki에서 만든 덤프를 이용해 text corpus생성
• Stemming, stopword 처리 X
• 12GB
• 20억개의 단어, 380만개의 단어 종류
구현 이슈
• 한 덤프당 12GB.
• 학습시간 1시간(cbow, hierarchical softmax 적용)
• 시간에 따른 특성이 명확하게 보이지 않음
• 최신 문서임에 따라 overwatch 게임이 연관성을 띌것으로 기대
• 위키문서의 특성상, 오래된 정보도 새로운 정보와 동일한 학습
을 거치게 된다.
• 새롭게 update된 정보만을 학습하는 기법이 필요할것이라 생각
됨
• 한 덤프당 12GB를 차지하다보니 동시에 여러 학습을 진행하기
힘들다.
• 여러 가상머신을 사용해서 학습만을 진행하는 머신과 서버 역
할을 하는 머신을 구분할 필요가 있다.
Word Cloud 구현 목표
• 1. Dynamic Word Cloud 구현
• 2. 시간의 변화량 표현
• 직관적인 시각적 효과 적용
1. Dynamic Word Cloud - 요구사항
• 일반적인 Word Cloud는 ‘단어’와 ‘단어의 빈도’가 기준.
• 우리가 목표로 하는 Word Cloud는 ‘키워드’와 ‘유사어 및 유사
도’를 기준으로 사용한다.
• 벡터화된 단어를 이해하고, 시간의 변화량을 표현할 수 있는
Word Cloud 라이브러리를 사용 또는 제작해야 한다.
Frequency와 Vector의 차이
• 지난 시간 질문 중
“Word2Vec을 이용한 Word Cloud는 어떤 의미가 있는가?”
• 단어를 Vector로 표현하여 Semantic을 고려할 수 있다.
• Google Hot Topic를 기준으로 활용
2. 시간의 변화량 표현 - 요구사항
• 일정한 간격으로 수집된 데이터의 변화량을 어떻게 표현할 것
인가?
• 단어의 크기, 위치, 색 등 정적인 요소를 동적으로 변화시켜 시
간의 흐름을 나타낼 수 있다.
3. 직관적인 시각적 효과 - 요구사항
• Word Cloud를 볼 사람들이 한눈에 제작자가 어떤 내용을 전달
하려 하는지를 이해할 수 있어야 한다.
구현 이슈
• 다양한 Word Cloud 라이브러리가 존재한다.
• JS : D3-Cloud, WordCloud2.js
• Python : pytagcloud, wordcloud
• C# : Sparc.TagCloud
• 기존 라이브러리 사용 vs 자체 라이브러리 제작
구현 이슈
• 기존 Word Cloud 라이브러리들은 정적 이미지만 제작이 가능.
• 기술적 요구사항인 “시간의 변화량 표현”을 충족하지 못함.
• 이를 만족하기 위해선 Word Cloud를 직접 만들어야 한다.
구현 결과
• 기존 라이브러리 사용시
구현 결과
• 새 구현체
개선점 및 향후 방향
• 다양한 DataSet 및 확장
• 보고서 등 활용할 수 있도록 다양한 시나리오
• Word Cloud 출력 형태 개선
친절한 설명
• 1) 창의성
• 기존 Frequency 기반 Word cloud의 개념을 전복
• 퀄리티
• 2) 기술적 완성도
• 구현 및 테스트
• Word Cloud 자체 구현
• 3) 기여도
• Word2Vec 구현 정도에 따른 성능 비교
• 개선점 제안
• Wiki dump를 사용하기 위한 튜토리얼 제시
Q & A
감사합니다

More Related Content

What's hot

AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)Brian Hong
 
파이어베이스 네이버 밋업발표
파이어베이스 네이버 밋업발표파이어베이스 네이버 밋업발표
파이어베이스 네이버 밋업발표NAVER D2
 
Cloudera Impala 1.0
Cloudera Impala 1.0Cloudera Impala 1.0
Cloudera Impala 1.0Minwoo Kim
 
Python과 Git으로 만드는 모바일 게임 패치 시스템
Python과 Git으로 만드는 모바일 게임 패치 시스템Python과 Git으로 만드는 모바일 게임 패치 시스템
Python과 Git으로 만드는 모바일 게임 패치 시스템Youngtaek Oh
 
파일기반 동기식 메세지큐를 이용한 간단한 레스토랑 서비스 시뮬레이션 구현
파일기반 동기식 메세지큐를 이용한 간단한 레스토랑 서비스 시뮬레이션 구현파일기반 동기식 메세지큐를 이용한 간단한 레스토랑 서비스 시뮬레이션 구현
파일기반 동기식 메세지큐를 이용한 간단한 레스토랑 서비스 시뮬레이션 구현nexusz99
 
Cloud Taekwon 2015 - AWS를 활용한 로그 분석
Cloud Taekwon 2015 - AWS를 활용한 로그 분석Cloud Taekwon 2015 - AWS를 활용한 로그 분석
Cloud Taekwon 2015 - AWS를 활용한 로그 분석Amazon Web Services Korea
 
Kinesis를 이용한 데이터 수집
Kinesis를 이용한 데이터 수집Kinesis를 이용한 데이터 수집
Kinesis를 이용한 데이터 수집Joona Yoon
 
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWSMatthew (정재화)
 
Big query at GDG Korea Cloud meetup
Big query at GDG Korea Cloud meetupBig query at GDG Korea Cloud meetup
Big query at GDG Korea Cloud meetupJude Kim
 
Google Cloud Next 2017 Seoul Extended 1st Session.
Google Cloud Next 2017 Seoul Extended 1st Session.Google Cloud Next 2017 Seoul Extended 1st Session.
Google Cloud Next 2017 Seoul Extended 1st Session.Harrison Jung
 
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)Brian Hong
 
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기Ian Choi
 
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기Brian Hong
 
메모리 할당에 관한 기초
메모리 할당에 관한 기초메모리 할당에 관한 기초
메모리 할당에 관한 기초Changyol BAEK
 
Cache cloud 최종
Cache cloud 최종Cache cloud 최종
Cache cloud 최종nexusz99
 
Dropbox와 같은 시스템은 파일을 어떻게 저장할까?
Dropbox와 같은 시스템은 파일을 어떻게 저장할까?Dropbox와 같은 시스템은 파일을 어떻게 저장할까?
Dropbox와 같은 시스템은 파일을 어떻게 저장할까?nexusz99
 
소프트웨어 마에스트로 10기 - 책을 만나는 순간, 책을찍다
소프트웨어 마에스트로 10기 - 책을 만나는 순간, 책을찍다소프트웨어 마에스트로 10기 - 책을 만나는 순간, 책을찍다
소프트웨어 마에스트로 10기 - 책을 만나는 순간, 책을찍다HYEONGNAM LEE
 
[GS네오텍] Google BigQuery
[GS네오텍] Google BigQuery[GS네오텍] Google BigQuery
[GS네오텍] Google BigQueryGS Neotek
 
NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀승명 양
 

What's hot (20)

Aws로 ci하기 안기욱
Aws로 ci하기 안기욱Aws로 ci하기 안기욱
Aws로 ci하기 안기욱
 
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
AWS와 함께 한 쿠키런 서버 Re-architecting 사례 (Gaming on AWS)
 
파이어베이스 네이버 밋업발표
파이어베이스 네이버 밋업발표파이어베이스 네이버 밋업발표
파이어베이스 네이버 밋업발표
 
Cloudera Impala 1.0
Cloudera Impala 1.0Cloudera Impala 1.0
Cloudera Impala 1.0
 
Python과 Git으로 만드는 모바일 게임 패치 시스템
Python과 Git으로 만드는 모바일 게임 패치 시스템Python과 Git으로 만드는 모바일 게임 패치 시스템
Python과 Git으로 만드는 모바일 게임 패치 시스템
 
파일기반 동기식 메세지큐를 이용한 간단한 레스토랑 서비스 시뮬레이션 구현
파일기반 동기식 메세지큐를 이용한 간단한 레스토랑 서비스 시뮬레이션 구현파일기반 동기식 메세지큐를 이용한 간단한 레스토랑 서비스 시뮬레이션 구현
파일기반 동기식 메세지큐를 이용한 간단한 레스토랑 서비스 시뮬레이션 구현
 
Cloud Taekwon 2015 - AWS를 활용한 로그 분석
Cloud Taekwon 2015 - AWS를 활용한 로그 분석Cloud Taekwon 2015 - AWS를 활용한 로그 분석
Cloud Taekwon 2015 - AWS를 활용한 로그 분석
 
Kinesis를 이용한 데이터 수집
Kinesis를 이용한 데이터 수집Kinesis를 이용한 데이터 수집
Kinesis를 이용한 데이터 수집
 
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
스타트업 사례로 본 로그 데이터 분석 : Tajo on AWS
 
Big query at GDG Korea Cloud meetup
Big query at GDG Korea Cloud meetupBig query at GDG Korea Cloud meetup
Big query at GDG Korea Cloud meetup
 
Google Cloud Next 2017 Seoul Extended 1st Session.
Google Cloud Next 2017 Seoul Extended 1st Session.Google Cloud Next 2017 Seoul Extended 1st Session.
Google Cloud Next 2017 Seoul Extended 1st Session.
 
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
 
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
 
쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기쿠키런 1년, 서버개발 분투기
쿠키런 1년, 서버개발 분투기
 
메모리 할당에 관한 기초
메모리 할당에 관한 기초메모리 할당에 관한 기초
메모리 할당에 관한 기초
 
Cache cloud 최종
Cache cloud 최종Cache cloud 최종
Cache cloud 최종
 
Dropbox와 같은 시스템은 파일을 어떻게 저장할까?
Dropbox와 같은 시스템은 파일을 어떻게 저장할까?Dropbox와 같은 시스템은 파일을 어떻게 저장할까?
Dropbox와 같은 시스템은 파일을 어떻게 저장할까?
 
소프트웨어 마에스트로 10기 - 책을 만나는 순간, 책을찍다
소프트웨어 마에스트로 10기 - 책을 만나는 순간, 책을찍다소프트웨어 마에스트로 10기 - 책을 만나는 순간, 책을찍다
소프트웨어 마에스트로 10기 - 책을 만나는 순간, 책을찍다
 
[GS네오텍] Google BigQuery
[GS네오텍] Google BigQuery[GS네오텍] Google BigQuery
[GS네오텍] Google BigQuery
 
NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀
 

Similar to Dynamic Word Cloud Using Word2Vec - 2nd Presentation

Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos uEngine Solutions
 
김찬웅_그룹웨어에 새 에너지를_NDC15
김찬웅_그룹웨어에 새 에너지를_NDC15김찬웅_그룹웨어에 새 에너지를_NDC15
김찬웅_그룹웨어에 새 에너지를_NDC15Chanwoong Kim
 
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
비대면 MSA / CNA 강의 - Contactless Microservices Architecture LearninguEngine Solutions
 
Cloud for Kubernetes : Session1
Cloud for Kubernetes : Session1Cloud for Kubernetes : Session1
Cloud for Kubernetes : Session1WhaTap Labs
 
황규영 포트폴리오
황규영 포트폴리오황규영 포트폴리오
황규영 포트폴리오Q_0
 
김종욱 포트폴리오
김종욱 포트폴리오김종욱 포트폴리오
김종욱 포트폴리오Jonguk Kim
 
100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning System100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning Systemhoondong kim
 
Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4
Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4
Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4Sangcheol Hwang
 
5. 솔루션 카달로그
5. 솔루션 카달로그5. 솔루션 카달로그
5. 솔루션 카달로그Terry Cho
 
Lab Seminar - Reading Wikipedia to Answer Open-Domain Questions (DrQA)
Lab Seminar - Reading Wikipedia to Answer Open-Domain Questions (DrQA)Lab Seminar - Reading Wikipedia to Answer Open-Domain Questions (DrQA)
Lab Seminar - Reading Wikipedia to Answer Open-Domain Questions (DrQA)hkh
 
Collaboration with Eclipse final
Collaboration with Eclipse finalCollaboration with Eclipse final
Collaboration with Eclipse finalKenu, GwangNam Heo
 
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기Sumin Byeon
 
Krnet2018 kakao container cloud dkos
Krnet2018 kakao container cloud dkosKrnet2018 kakao container cloud dkos
Krnet2018 kakao container cloud dkosWon-Chon Jung
 
웹 IDE 비교
웹 IDE 비교웹 IDE 비교
웹 IDE 비교Junyoung Lee
 
SOSCON 2017 - Backend.AI
SOSCON 2017 - Backend.AISOSCON 2017 - Backend.AI
SOSCON 2017 - Backend.AIJoongi Kim
 
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 KubernetesTommy Lee
 
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetesNAVER D2
 
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기Miyu Park
 
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례Jeongsang Baek
 

Similar to Dynamic Word Cloud Using Word2Vec - 2nd Presentation (20)

Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos Private PaaS with Docker, spring cloud and mesos
Private PaaS with Docker, spring cloud and mesos
 
김찬웅_그룹웨어에 새 에너지를_NDC15
김찬웅_그룹웨어에 새 에너지를_NDC15김찬웅_그룹웨어에 새 에너지를_NDC15
김찬웅_그룹웨어에 새 에너지를_NDC15
 
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
비대면 MSA / CNA 강의 - Contactless Microservices Architecture Learning
 
Cloud for Kubernetes : Session1
Cloud for Kubernetes : Session1Cloud for Kubernetes : Session1
Cloud for Kubernetes : Session1
 
Prepo
PrepoPrepo
Prepo
 
황규영 포트폴리오
황규영 포트폴리오황규영 포트폴리오
황규영 포트폴리오
 
김종욱 포트폴리오
김종욱 포트폴리오김종욱 포트폴리오
김종욱 포트폴리오
 
100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning System100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning System
 
Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4
Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4
Tech planet 2015 Docker 클라우드 구축 프로젝트 - d4
 
5. 솔루션 카달로그
5. 솔루션 카달로그5. 솔루션 카달로그
5. 솔루션 카달로그
 
Lab Seminar - Reading Wikipedia to Answer Open-Domain Questions (DrQA)
Lab Seminar - Reading Wikipedia to Answer Open-Domain Questions (DrQA)Lab Seminar - Reading Wikipedia to Answer Open-Domain Questions (DrQA)
Lab Seminar - Reading Wikipedia to Answer Open-Domain Questions (DrQA)
 
Collaboration with Eclipse final
Collaboration with Eclipse finalCollaboration with Eclipse final
Collaboration with Eclipse final
 
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
 
Krnet2018 kakao container cloud dkos
Krnet2018 kakao container cloud dkosKrnet2018 kakao container cloud dkos
Krnet2018 kakao container cloud dkos
 
웹 IDE 비교
웹 IDE 비교웹 IDE 비교
웹 IDE 비교
 
SOSCON 2017 - Backend.AI
SOSCON 2017 - Backend.AISOSCON 2017 - Backend.AI
SOSCON 2017 - Backend.AI
 
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
제2회 난공불락 오픈소스 인프라 세미나 Kubernetes
 
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
 
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
HTML5/JSON 을 이용해 범용 2D 맵에디터 제작하기
 
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
 

Dynamic Word Cloud Using Word2Vec - 2nd Presentation

  • 1. Dynamic Word Cloud Reflecting Flow of Time Using Word2Vec 4팀 : 장민욱, 장하진, 김범수
  • 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 • 문서 제목만을 묶어 놓았습니다.
  • 9. Using WikiExtractor • Install WikiExtractor Git clone https://github.com/attardi/wikiextractor.git Cd wikiextractor/ sudo python setup.py install • Using Git clone https://github.com/attardi/wikiextractor.git Cd wikiextractor/ sudo python setup.py install
  • 10. After Parsing : input of Training
  • 12. 검증 (Text8 / 2017.02.20 / 2017.04.20) • Training Set • 1) Text 8 : • 2) wiki-2017.02.20 : Training . . . • 3) wiki-2017.04.20 : • Keyword • 1) “Trump” • 2) “Overwatch” • 3) “Syria” : Testing . . .
  • 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를 직접 만들어야 한다.
  • 29. 구현 결과 • 기존 라이브러리 사용시
  • 31. 개선점 및 향후 방향 • 다양한 DataSet 및 확장 • 보고서 등 활용할 수 있도록 다양한 시나리오 • Word Cloud 출력 형태 개선
  • 32. 친절한 설명 • 1) 창의성 • 기존 Frequency 기반 Word cloud의 개념을 전복 • 퀄리티 • 2) 기술적 완성도 • 구현 및 테스트 • Word Cloud 자체 구현 • 3) 기여도 • Word2Vec 구현 정도에 따른 성능 비교 • 개선점 제안 • Wiki dump를 사용하기 위한 튜토리얼 제시
  • 33. Q & A

Editor's Notes

  1. 이 중 2번까지 완료된 상태. 왜 이러한 목표를 선정하였는가? -> 요구사항에서 설명
  2. 여기부턴 이 목표를 세우며 고민했던 점들 d3-cloud 등 기존 라이브러리 사용시, Word Cloud에 사용된 데이터가 수정되면 반드시 새로 그려야 함. 이 과정에서 위치, 색 등 유지되어야 할 값들이 파괴됨.
  3. 색, 모양 등의 커스터마이징이 가능해야 한다. 한눈에 보고 단어를 읽기 쉬워야 한다.
  4. 다양한 언어가 다양한 Word Cloud 라이브러리를 가지고 있습니다. 우리 조는 기존 라이브러리를 활용할지, 자체로 제작할지 중 하나를 골라야 하는 상황에 직면했습니다.
  5. Lorem, ipsum 등 가장 많이 등장하는 단어의 위치가 바뀌는 문제가 있으며, 이러한 변화가 연속적이지 않다 (사진 2장이 전부)
  6. (동영상) 데이터가 왜 더미나면, Word2Vec 쪽이 아직 바뀌고 있기 때문.