Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용Susang Kim
도입
AI Chatbot 소개
Chatbot Ecosystem
Closed vs Open Domain
Rule Based vs AI
Chat IF Flow and Story Slot
AI기반의 학습을 위한 Data 구성 방법
Data를 구하는 법 / Train을 위한 Word Representation
Data의 구성 / Data Augmentation(Intent, NER)
자연어처리 위한 AI 적용 방안
Intent (Char-CNN) / QnA (Seq2Seq)
Named Entity Recognition (Bi-LSTM CRF) / Ontology (Graph DB)
Chatbot Service를 위한 Architecture 구성
Chatbot Architecture
NLP Architecture
Web Service Architecture
Bot builder / Chatbot API
Test Codes for Chatbot
실무에서 발생하는 문제와 해결 Tips
Ensemble and voting / Trigger / Synonym(N-Gram)
Tone Generator / Parallel processing / Response Speed
마무리
[설명 코드]
Text Augmentation / Slot Bot / QA Bot / Graph DB / Response Generator
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...Amazon Web Services Korea
AWS re:Invent에서는 다양한 고객들의 요구에 맞추어 새로운 분석 및 서버리스 서비스가 대거 출시되었습니다. 본 강연에서는 새롭게 출시된 핵심 분석 기능들과 함께, 누구나 손쉽게 사용할 수 있는 AWS의 분석 서버리스와 On-demand 기능들에 대한 심층적인 정보를 확인하실 수 있습니다.
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용Susang Kim
도입
AI Chatbot 소개
Chatbot Ecosystem
Closed vs Open Domain
Rule Based vs AI
Chat IF Flow and Story Slot
AI기반의 학습을 위한 Data 구성 방법
Data를 구하는 법 / Train을 위한 Word Representation
Data의 구성 / Data Augmentation(Intent, NER)
자연어처리 위한 AI 적용 방안
Intent (Char-CNN) / QnA (Seq2Seq)
Named Entity Recognition (Bi-LSTM CRF) / Ontology (Graph DB)
Chatbot Service를 위한 Architecture 구성
Chatbot Architecture
NLP Architecture
Web Service Architecture
Bot builder / Chatbot API
Test Codes for Chatbot
실무에서 발생하는 문제와 해결 Tips
Ensemble and voting / Trigger / Synonym(N-Gram)
Tone Generator / Parallel processing / Response Speed
마무리
[설명 코드]
Text Augmentation / Slot Bot / QA Bot / Graph DB / Response Generator
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...Amazon Web Services Korea
AWS re:Invent에서는 다양한 고객들의 요구에 맞추어 새로운 분석 및 서버리스 서비스가 대거 출시되었습니다. 본 강연에서는 새롭게 출시된 핵심 분석 기능들과 함께, 누구나 손쉽게 사용할 수 있는 AWS의 분석 서버리스와 On-demand 기능들에 대한 심층적인 정보를 확인하실 수 있습니다.
Module1 - Amazon Personalize 중심으로 살펴보는 추천 시스템의 원리와 구축
Module 2 - 추천 시스템을 위한 데이터 분석 시스템 구축 하기
Module 3 - E-Commerce 사이트를 보다 Smart 하게 만들기 (Amazon Comprehend & Fraud Detector)
클라우드 도입 과정에서 가장 중요하게 고려해야 할 요소는 온프레미스 인프라에 보관중인 데이터 중 클라우드로 이전할 데이터를 선정하는 것과 이 데이터를 안전하고 효율적으로 옮기는 것입니다. 이 강연에서는 클라우드로 옮겼을 때 더 잘 활용할 수 있는 데이터의 종류를 알아보고 어떤 기준으로 데이터를 골라야 하는지, 결정이 내려진 후엔 어떻게 데이터를 옮기는 것이 좋은지에 대한 여섯 가지 전략을 알아보도록 하겠습니다.
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019Amazon Web Services Korea
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용
김태현 솔루션즈 아키텍트, AWS
AWS에서는 Big Data 분석 및 처리를 위해 분석 목적에 맞는 다양한 Big Data Framework 서비스를 지원합니다. 이 세션에서는 시간이 지날수록 증가하는 데이터의 분석 및 처리를 위해 사용되는 AWS Glue와 Amazon EMR 같은 AWS Big Data Framework의 내부구조를 살펴보고 머신러닝을 포함한 다양한 분석 및 ETL을 위해 효율적으로 사용할 수 있는 방법들을 소개합니다.
Amazon Personalize를 처음 접하시는 분들이나 추천서비스 도입을 고민중 분들을 위해 이론과 동작 원리를 이해하고 실습 워크샵실습을 해보므로서 문제 해결 방식을 심도깊게 살표봅니다. 개인화된 추천 모델 직접 만들고 배포하므로써 실제 어떻게 활용되는지를 체험할 수 있습니다.
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [YouPlace 팀] : 카프카와 스파크를 활용한 유튜브 영상 속 제주 명소 검색 BOAZ Bigdata
데이터 엔지니어링 프로젝트를 진행한 YouPlace팀에서는 아래와 같은 프로젝트를 진행했습니다.
<aside>
이젠 검색도 유튜브 시대
제주여행을 계획할 때 브이로그 영상을 많이 참고하실텐데요
수많은 영상들과 영상 속 분산된 명소들을 하나 하나 찾으려 생각하면 막막하지 않으셨나요?
이러한 고민을 갖고 계신 분들을 위해, 유튜브 브이로거들이 찾아간 여행 명소들을 지도에서 한 눈에 파악할 수 있도록 만들었어요
(github : https://github.com/Boaz-Youplace)
16기 엔지니어링 고은서 | 중앙대학교 소프트웨어학부
16기 엔지니어링 류정화 | 성신여자대학교 융합보안공학과
16기 엔지니어링 송경민 | 국민대학교 소프트웨어학과
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장Dylan Ko
Gonnector(고넥터) 고영혁 대표가 주최한 스타트업 데이터 활용 세미나 '우리가 데이터를 쓰는 법' 의 세 번째 발표 자료
세미나 : 우리가 데이터를 쓰는 법 (How We Use Data)
일시 : 2016년 4월 12일 화요일 10:00 ~ 18:00
장소 : 마루180 (Maru180) B1 Think 홀
제목 : 모바일 게임 로그 데이터 분석 이야기
연사 : 엔터메이트 공신배 팀장
Coursera Machine Learning by Andrew NG 강의를 들으면서, 궁금했던 내용을 중심으로 정리.
내가 궁금했던건, 데이터를 분류하는 Decision boundary를 만들때...
- 왜 가중치(W)와 decision boundary가 직교해야 하는지?
- margin은 어떻게 계산하는지?
- margin은 어떻게 최대화 할 수 있는지?
- 실제로 margin을 최대화 하는 과정의 수식은 어떤지?
- 비선형 decision boundary를 찾기 위해서 어떻게 kernel을 이용하는지?...
http://blog.naver.com/freepsw/221032379891
AWS EMR을 사용하면서 비용을 최적화하기 위해 필요한 다양한 관점의 방안을 검토하여 정리한 자료.
비용 최적화 대상은 zeppelin/jupyter notebook과 apache spark를 활용하는 서비스를 대상으로 하였으며, 해당 작업이 aws emr에서 어떻게 동작하는지 내부 구조을 파악하여 확인함.
- AWS EMR이란?
- AWS EMR의 과금 방식은?
- 어떻게 비용을 최적화 할 것인가?
- 최적의 EMR 클러스터 구성 방안
- 가성비 높은 Instance 선정 방안
- Apache Spark 성능 개선 방안
가장 중요한 것은 실행할 job의 자원사용량/성능을 모니터링하고, 이에 맞게 자원을 최적화하는 것이 필요함.
Module1 - Amazon Personalize 중심으로 살펴보는 추천 시스템의 원리와 구축
Module 2 - 추천 시스템을 위한 데이터 분석 시스템 구축 하기
Module 3 - E-Commerce 사이트를 보다 Smart 하게 만들기 (Amazon Comprehend & Fraud Detector)
클라우드 도입 과정에서 가장 중요하게 고려해야 할 요소는 온프레미스 인프라에 보관중인 데이터 중 클라우드로 이전할 데이터를 선정하는 것과 이 데이터를 안전하고 효율적으로 옮기는 것입니다. 이 강연에서는 클라우드로 옮겼을 때 더 잘 활용할 수 있는 데이터의 종류를 알아보고 어떤 기준으로 데이터를 골라야 하는지, 결정이 내려진 후엔 어떻게 데이터를 옮기는 것이 좋은지에 대한 여섯 가지 전략을 알아보도록 하겠습니다.
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용 - 김태현 솔루션즈 아키텍트, AWS :: AWS Summit Seoul 2019Amazon Web Services Korea
효율적인 빅데이터 분석 및 처리를 위한 Glue, EMR 활용
김태현 솔루션즈 아키텍트, AWS
AWS에서는 Big Data 분석 및 처리를 위해 분석 목적에 맞는 다양한 Big Data Framework 서비스를 지원합니다. 이 세션에서는 시간이 지날수록 증가하는 데이터의 분석 및 처리를 위해 사용되는 AWS Glue와 Amazon EMR 같은 AWS Big Data Framework의 내부구조를 살펴보고 머신러닝을 포함한 다양한 분석 및 ETL을 위해 효율적으로 사용할 수 있는 방법들을 소개합니다.
Amazon Personalize를 처음 접하시는 분들이나 추천서비스 도입을 고민중 분들을 위해 이론과 동작 원리를 이해하고 실습 워크샵실습을 해보므로서 문제 해결 방식을 심도깊게 살표봅니다. 개인화된 추천 모델 직접 만들고 배포하므로써 실제 어떻게 활용되는지를 체험할 수 있습니다.
제 15회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [YouPlace 팀] : 카프카와 스파크를 활용한 유튜브 영상 속 제주 명소 검색 BOAZ Bigdata
데이터 엔지니어링 프로젝트를 진행한 YouPlace팀에서는 아래와 같은 프로젝트를 진행했습니다.
<aside>
이젠 검색도 유튜브 시대
제주여행을 계획할 때 브이로그 영상을 많이 참고하실텐데요
수많은 영상들과 영상 속 분산된 명소들을 하나 하나 찾으려 생각하면 막막하지 않으셨나요?
이러한 고민을 갖고 계신 분들을 위해, 유튜브 브이로거들이 찾아간 여행 명소들을 지도에서 한 눈에 파악할 수 있도록 만들었어요
(github : https://github.com/Boaz-Youplace)
16기 엔지니어링 고은서 | 중앙대학교 소프트웨어학부
16기 엔지니어링 류정화 | 성신여자대학교 융합보안공학과
16기 엔지니어링 송경민 | 국민대학교 소프트웨어학과
[우리가 데이터를 쓰는 법] 모바일 게임 로그 데이터 분석 이야기 - 엔터메이트 공신배 팀장Dylan Ko
Gonnector(고넥터) 고영혁 대표가 주최한 스타트업 데이터 활용 세미나 '우리가 데이터를 쓰는 법' 의 세 번째 발표 자료
세미나 : 우리가 데이터를 쓰는 법 (How We Use Data)
일시 : 2016년 4월 12일 화요일 10:00 ~ 18:00
장소 : 마루180 (Maru180) B1 Think 홀
제목 : 모바일 게임 로그 데이터 분석 이야기
연사 : 엔터메이트 공신배 팀장
Coursera Machine Learning by Andrew NG 강의를 들으면서, 궁금했던 내용을 중심으로 정리.
내가 궁금했던건, 데이터를 분류하는 Decision boundary를 만들때...
- 왜 가중치(W)와 decision boundary가 직교해야 하는지?
- margin은 어떻게 계산하는지?
- margin은 어떻게 최대화 할 수 있는지?
- 실제로 margin을 최대화 하는 과정의 수식은 어떤지?
- 비선형 decision boundary를 찾기 위해서 어떻게 kernel을 이용하는지?...
http://blog.naver.com/freepsw/221032379891
AWS EMR을 사용하면서 비용을 최적화하기 위해 필요한 다양한 관점의 방안을 검토하여 정리한 자료.
비용 최적화 대상은 zeppelin/jupyter notebook과 apache spark를 활용하는 서비스를 대상으로 하였으며, 해당 작업이 aws emr에서 어떻게 동작하는지 내부 구조을 파악하여 확인함.
- AWS EMR이란?
- AWS EMR의 과금 방식은?
- 어떻게 비용을 최적화 할 것인가?
- 최적의 EMR 클러스터 구성 방안
- 가성비 높은 Instance 선정 방안
- Apache Spark 성능 개선 방안
가장 중요한 것은 실행할 job의 자원사용량/성능을 모니터링하고, 이에 맞게 자원을 최적화하는 것이 필요함.
Driving Computer Vision Research Innovation In Artificial IntelligenceNVIDIA
Get a recap of the news out of NVIDIA's announcements at CVPR 2017 with highlights such as our V100 giveaway to top researchers, technical demos, workshops, and more.
아마존 에코를 활용한 음성 인식 에어컨 제어 A to zJueun Seo
회사 사무실에는 에어컨이 3대 설치되어 있습니다. 출퇴근시 에어컨 세대를 끄고 켜는데 불편한 점이 많습니다. 특히 3대중에 한대만 다른 모델이라 각각의 리모컨 찾는데 시간이 걸리는 경우가 많습니다. 이번 발표에서는 3대의 에어컨을 음성으로 동시에 제어할 수 있는 시스템을 구축하기 위한 A부터 Z까지 세세한 과정을 소개합니다. 요즘에는 아마존 에코와 라즈베리파이라는 훌륭한 제품들이 나와있어 음성 인식으로 하드웨어를 제어하기가 매우 쉬워졌습니다. 에코의 명령을 처리하기위한 서버로 django/celery를 이용하였습니다. 하드웨어 지식이 없어도 이해할 수 있는 수준이며 django와 도커가 무엇인지는 알면 좋지만 모르더라도 최대한 쉽게 이해할 수 있도록 발표를 진행할 예정입니다. 소스코드까지 모두 공개했기 때문에 발표를 듣고나서 똑같은 시스템을 구축하거나 다른 방식으로 응용하는데에 도움이 되었으면 좋겠습니다.
발표 순서는 다음과 같습니다.
적외선 신호 송수신을 위한 라즈베리파이 회로 설계
LIRC를 이용한 적외선 회로 제어
아마존 에코와 Django 서버 연동하기
ngrok 무료 버전을 활용한 고정 public url 생성하기 - celery 활용
Docker/Ansible로 Django/Celery 패키징하기
진행중인 프로젝트는 아래 github repository에 공개되어 있습니다
https://github.com/Buzzvil/hardware-lab
사내 스터디용으로 공부하며 만든 발표 자료입니다. 부족한 부분이 있을 수도 있으니 알려주시면 정정하도록 하겠습니다.
*슬라이드 6에 나오는 classical CNN architecture(뒤에도 계속 나옴)에서 ReLU - Pool - ReLu에서 뒤에 나오는 ReLU는 잘못된 표현입니다. ReLU - Pool에서 ReLU 계산을 또 하는 건 redundant 하기 때문입니다(Kyung Mo Kweon 피드백 감사합니다)
다음포털에 유입되는 사용자 검색어로부터 신규 키워드를 자동으로 수집하기 위한 도구를 개발하고 이에 대한 내용을 정리했습니다.
** 원리
기획자가 원하는 카테고리에 대해 Seed Keyword 를 설정하고 이와 동시출현 가능성이 높은 신규 키워드를 수집합니다. 이때 교집합이 되는 키워드를 'Clue(단서)'라 칭하고 Clue 관리를 통해 관련성이 높은 또는 낮은 키워드 수집 성능을 관리합니다.
** 구현
2013년 여름에 시작해서 12월에 구현 완료하여 2014년부터 실사용
1) Hadoop에 저장된 2년치 쿼리로그 추출
2) NLP로 쿼리의 명사 키워드들만으로 정제
3) SAS 스크립트로 MI(상호정보량)과 Bayesian probability 계산
4) Seed 키워드를 이용해 Clue 키워드의 유사도 계산
5) Clue 키워드를 이용해 신규 키워드의 유사도 계산
6) 랭킹 및 필터링 ==> 결과 저장
7) 기획자(사람)이 수집된 키워드를 검사
8) 수집된 신규 키워드를 쿼리 모니터링 시스템에 넣어 키워드 추이 관찰
AI/Machine Learning의 한 분야인 Natural Language Processing (NLP)에 대해서 발표를 할 예정입니다. NLP는 한국어로 “자연어 처리”로서 Computer Vision 및 Image Processing에서 “언어적 문맥” 이해와 “그 처리”는 상당히 중요한 역할을 차지합니다. Image/Video를 Language화하여 처리하는 다양한 알고리즘이 존재하며 CVPR/ICCV의 학회에서도 핫한 분야 중 하나입니다. 대표적인 분야는 Image/Video Captioning, Description 및 Visual Q&A 등이 있습니다.
그 중에서도 핵심 Background가 되는 Word2Vec에 대해서 소개하고자 합니다. Word2Vec은 언어처리 뿐만 아니라 Generative Model과도 연관성이 높다는 것이 특징이며. NLP의 모든 분야에서의 핵심 이론으로 보시면 되겠습니다.
Deep learning text NLP and Spark Collaboration . 한글 딥러닝 Text NLP & Sparkhoondong kim
This slide explain the Deep Learning Text NLP for Korean Language. We will also discuss expansion using Spark in Deep Learning Approach to BigData Scale data.
이 슬라이드에서는 한글의 deep learning Text NLP에 대하여 설명한다. 또한, BigData Scale 데이타에 대한 Deep Learning Approach 에 있어, Spark 를 이용한 확장에 대하여도 다룬다.
** 해당 자료는 외부 공유 인가 되었습니다.
1. 딥러닝의 동작 방식에 대한 기초 가이드
2. 네트워크를 통한 공간 변환 개괄
"다음을 꼭 기억하세요. 지금까지 딥러닝의 실제 성공은 연속된 기하학적 변환을 사용하여 공간 X 에서 공간 Y 로 매핑하는 능력에 기인합니다."
프랑소와 숄레, 케라스 창시자에게 배우는 딥러닝 가운데.
Similar to [221] 딥러닝을 이용한 지역 컨텍스트 검색 김진호 (20)
5. 여행지를 선택하는 데는 테마가 있다
http://blog.naver.com/s1h25s/220203903449 http://blog.daum.net/suareu/4
http://cfs15.tistory.com/image/20/tistory/2008/10/28/15/24/4906b0162c9a2
http://www.hkn24.com/news/articleView.html?idxno=18902
가족과 함께 휴양 친구들끼리 놀기좋은 곳 저렴하게 놀만한 곳
6. 기존 DB 정보로는 불가능
“가족과 함께 휴양하기 좋은 여행지”
관련 블로그 888개,
카페, 웹문서, 지식in…
전주한옥마을(NAVER POI DB)
여행지별 테마가 필요
8. 해외 학자들이 정의한 Local Context
Context relevance assessment and exploitation in mobile recommender systems (2012)
9. 우리가 정의한 지역 컨텍스트
힐링 일출 태교여행찾는 목적
애인 부모님 아이동행자
POI Side Context
현위치
시간
GPS 위치
아침 점심 저녁 새벽
계절 봄 여름 가을 겨울
날씨 맑음 흐림 비 눈
요일 주중 주말
기념일 어린이날 크리스마스 새해
User Situation Context
이국적 신비로운 재밌는분위기
둘레길 전망대 카약토픽
(즐길거리)
10. Our Problem
…
…
…
분석 대상 : UGC Goal : 여행지별 테마
아이와 함께
가족과 함께
나들이
촬영지
체험
동행자
찾는
목적
고구려대장간마을
http://blog.naver.com/5200l/220734006006
11. 기존 방식
…
…
…
분석 대상 : UGC Goal : 여행지별 테마기존방식
Text Mining
테마별 키워드 사전 및 패턴 이용
동료들과
친구들이랑친구 모임
친구와
친구와 함께
아이와 함께
가족과 함께
나들이
촬영지
체험
동행자
찾는
목적
고구려대장간마을
http://blog.naver.com/5200l/220734006006
Parsing, Feature Representation
13. Why Deep Learning?
→ 학습할 수 있는 데이터가 정말 많다.
→ 학습데이터가 많으면 딥러닝은 좋은 성능을 보장한다.
분석해야 할 리뷰는 정말 많다.
그래서 만들어야 할 사전과 패턴도 정말 많다.
→ 알아서 학습셋의 Latent feature를 찾아주는게
딥러닝을 활용하는 이유
14. ConA 지역 컨텍스트 분석 모델
Local DB
전주한옥마을
Context-aware Analysis Model
S1: 아이들과 당일치기로 전주를 다녀왔어요
S2: 아이들 교육에도 최적의 장소
S3: 비오는날 운치있는 전주여행
S4: 운치있고 여유로운 곳이었어요
S5: 야간에 산책하면서 다니는 재미
S6: 날씨 즐기며 천천히 걸어다니는 것도
UGC
전주한옥마을
S1: 아이들과
S2: 아이들
S3: 운치있는
S4: 운치있고
S5: 산책
S6: 걸어다니는
1. 문장 입력 2. 문맥 이해 3. 컨텍스트 추출
아이들과
아이들
애들하고
운치있는
운치있고
운치돋는
산책
걸어다니는
걷기좋은
동행자
분위기
Topic
S1:아이들과(aideulgwa)
Temporal ConvNet
S1:
Text
Representation
아이들과
당일치기로
전주를
Bidirectional LSTM
동행자
X
X
word
embedding
17. Why CNN?
www.kdnuggets.com
Computer Vision
Semantic parsing (Yih et al., 2014)
QA Task에서 질문 원본문장과 질의 패턴을 CNN Latent Vector로
변환하여 비교
Search query retrieval (Shen et al., 2014)
IR Task에서 질의와 웹문서를 CNN Vector로 변환
Sentence modeling (Kalchbrenner et al., 2014)
CNN을 통해 영화 리뷰와 트위터에서 긍/부정 문장 분류
이미지 인식으로 시작했지만, NLP Task에도 잘 먹힌다
19. Temporal ConvNet
• using temporal convolutional networks(LeCun et al., 1998)
• without the knowledge of words, phrases, sentences and any other
syntactic or semantic structures
• apply to various large-scale datasets: including ontology classification,
sentiment analysis and text categorization.
• work for both English and Chinese (and 한글...)
An apply deep learning to text understanding
from character level inputs all the way up to abstract text
concepts.
Language Independent!!
20. Temporal ConvNet : Model Design
아
이
들
과
a b c d e f g h i j k l m n o p q r s t u v w x y z
아이들과
(aideulgwa)
INPUT Size : 69
21. Temporal ConvNet : Model Design
net = nn.Sequential()
net:add(backend.TemporalConvolution(inputSize, 256, 7)) -- 1D Convolution, 256 Output size. 7 convolution kernel width
net:add(nn.Threshold()) -- Activation Function : ReLu, Sigmoid, TanH…
net:add(nn.TemporalMaxPooling(3,3)) -- 3 regions by step size 3 steps
net:add(backend.TemporalConvolution(256, 256, 7)) -- 256 Input size, 256 hidden size. 7 convolution kernel width
net:add(nn.Threshold())
net:add(nn.TemporalMaxPooling(3,3))
…….
net:add(nn.Reshape(4096))
net:add(nn.Linear(4096, 1024))
net:add(nn.Threshold())
net:add(nn.Dropout(0.5))
net:add(nn.Linear(1024, 1024))
net:add(nn.Threshold())
net:add(nn.Dropout(0.5))
net:add(nn.Linear(1024, outputSize))
net:add(backend.LogSoftMax()) -- converts the output to a log-probability. Useful for
net:cuda() classification problems
FrameWork :
Tutorial on Convolutions(Collobert, 2002)
528
7
256
69
522
1
2
3~6
Layer
Fully
-
Con
nect
ed
a i deu l
23. 학습 데이터 구성(1)
Seed로 사용할 사전 구축은 필요하다
800여 개의 컨텍스트 후보 키워드 생성 → Word2Vec으로 확장
컨텍스트 어휘와 유사한
후보 키워드를 생성
블로그 컬렉션으로
Word2Vec 학습
워드 임베딩
제주도 겨울에 아이랑 가볼만한 곳
아이랑
제주도
겨울에
가볼만한
곳
'아이랑' 후보 유사도
아이들하고 0.8542
애기랑 0.8086
아가들이랑 0.7694
어른들이랑 0.7578
애들하고 0.7515
애들이랑 0.7314
조카들이랑 0.7277
조카랑 0.7195
엄마아빠랑 0.7166
부모님하고 0.7152
24. 학습 데이터 구성(2)
기존 방법론을 학습데이터 구성에 활용
S1 : 지난 주말, 정말 오랜만에 친구들과
한옥마을을 갔어요.
S2 : 날씨가 따뜻해서 걷기도 좋을거 같아
제가 한옥마을로 모이자고 꼬셨죠. ㅎㅎㅎ
…
S9 : 아이들도 매우 신나게 돌아다니더라구요
전주한옥마을 UGC에서 추출한 문장
컨텍스트 동의어
아이와 함께
아이들과
아이들도
친구와 함께
친구끼리
친구들과
업체 컨텍스트
전주한옥마을
혼자 갈만한
친구와 함께
커플끼리
아이와 함께
S1 - 친구와 함께 : 지난 주말, 정말
오랜만에 친구들과 한옥마을을 갔어요
S2 - 날씨가 따뜻해서 걷기도 좋을거 같아
제가 한옥마을로 모이자고 꼬셨죠. ㅎ
S9 - 아이와 함께 : 아이들도 매우 신나게
돌아다니더라구요
컨텍스트 정답 문장
여행지별 UGC 문장
형태소 분석
TF 기반 Candidate Context를 탐색
확장사전 및 패턴 기반으로
컨텍스트별 문장을 인식
𝑆𝑐𝑜𝑟𝑒 𝑡, 𝑃𝑙𝑎𝑐𝑒 =
𝑓𝑟𝑒𝑞𝑡,𝑃𝑙𝑎𝑐𝑒
max 𝑓𝑟𝑒𝑞 𝑡′,𝑃𝑙𝑎𝑐𝑒 ∶ 𝑡′ ∈ 𝑃𝑙𝑎𝑐𝑒
25. 학습 데이터 구성(3)
Character quantization(표음 기반 알파벳 치환)
S1 - 친구와 함께 : 지난 주말, 정말 오랜만에 친구들과
한옥마을을 갔어요
S9 - 아이와 함께 : 아이들도 매우 신나게
돌아다니더라구요
컨텍스트 태그된 문장
S1 – “1”,”jinan jumar, jeongmar oraenmane chingudeulgwa
hanokmaeureur gasseoyo”
S9 – “8”,”aideuldo maeu sinnage doradanideoraguyo”
컨텍스트 태그된 문장
…
…
…
…
gogulyeo daejanggan maeuleun
aideulgwa sajin jjiggiedo joheun gos
ineyo ~ ^^
http://blog.naver.com/5200l/220734006006
26. 컨텍스트 유형별 데이터셋
동행자 컨텍스트 목적 컨텍스트 분위기 컨텍스트
Class Total Train Test
이국적인분위기 25,715 10,000 5,000
모던한분위기 9,641 8,000 1,641
고풍스러운분위기 4,510 4,000 510
로맨틱한분위기 5,058 4,000 1,058
편안한분위기 38,306 10,000 5,000
이색적인분위기 20,818 10,000 5,000
프라이빗한분위기 7,161 5,000 2,161
깔끔한분위기 20,569 10,000 5,000
웅장한분위기 7,702 5,000 2,702
소박한분위기 17,760 10,000 5,000
아기자기한분위기 100,843 10,000 5,000
친절한분위기 35,530 10,000 5,000
세련된분위기 18,720 10,000 5,000
조용한 53,149 10,000 5,000
여유로운분위기 27,525 10,000 5,000
럭셔리한분위기 64,727 10,000 5,000
신비로운분위기 6,215 5,000 1,215
Class Total Train Test
친구와 함께 110,500 10,000 5,000
여자들끼리 13,184 10,000 3,184
어른과 함께 26,785 10,000 5,000
애완동물동반 11,609 10,000 1,609
가족과 함께 173,731 10,000 5,000
아기와 함께 31,638 10,000 5,000
부모님과 함께 23,518 10,000 5,000
아이와 함께 69,228 10,000 5,000
Class Total Train Test
푸짐한메뉴 57,148 10,000 5,000
저렴한 58,874 10,000 5,000
요즘뜨는 12,894 10,000 2,894
나들이 53,678 10,000 5,000
해장메뉴 17,665 10,000 5,000
신선한재료 96,777 10,000 5,000
실내 59,968 10,000 5,000
소개팅 18,513 10,000 5,000
회식장소 112,378 10,000 5,000
오래된맛집 25,690 10,000 5,000
힐링 54,524 10,000 5,000
등산 70,434 10,000 5,000
상견례 21,943 10,000 5,000
문화재 36,559 10,000 5,000
27. 모델 학습
컨텍스트 유형별로 모델 생성
동행자
컨텍스트
학습 데이터
동행자 컨텍스트
분류 모델
분위기 컨텍스트
분류 모델
• 친구와 함께
• 아이와 함께
• 부모님과 함께
• …
• 운치 있는 분위기
• 활기찬 분위기
• 이국적인 분위기
• …
분위기
컨텍스트
학습 데이터
하나의 Big Model로 학습했더니 성능이 떨어짐
28. 모델 학습 : Overfitting을 피하자!
Dropout (0.5)
+
캠릿브지
그레이엄 롤린슨(Graham Rawlinson)
영어 기준 처음과 끝 2글자를 남기고 섞어도 이해가 가능함
→ 처음과 끝을 남기고 0.5 의 확률로 가운데 알파벳을 뒤섞어 입력
대학의 연결구과
더 많은 Training Data Feature 개수 줄이기 Regularization
Feature 개수 줄이기
더 많은 Training Data
29. CNN 지역 컨텍스트 추출 결과
모델 실험 결과 (여행지 + 맛집)
‘가족과 함께’ 컨텍스트가 추출된 문장들
5인가족이 배불리 먹었다~★
가족과 여행을 다녀왔는데요.
가족, 연인, 친구 각자 자신들만의 추억을 담고 있다.
가족은 다들 들떠 있었는데 ㅋㅋㅋ
‘가족과 함께’ 컨텍스트가 추출되지 않은 문장들
가족들이 알면 난리가 날듯...
나중에 울 가족여행 여기로 와볼까..ㅎㅎ ㅋㅋ
친구들과 연인들과 가족들과 함께해도 참 좋은곳이네요~~
혼자 먹기에는 너무 큰 사이즈라 :) 동생들과 함께 냠냠.
‘TV방영’ 컨텍스트가 추출된 문장
백종원의 3대천왕에 방송된 유명한
맛집이다.
Model Test
동행자 모델 97.67%
목적 모델 96.65%
분위기 모델 92.35%
37. 추출 결과
제주도 밤 에 가볼만한 곳 새연교
X 시간 ─ X X X
조금 은 여유 있게 한 걸음
X X 분위기 ─ X X
미라클 아이즈 콘서트 에 딸 과 함께 다녀오다
X X X X 동행자 ─ X X
경주 벚꽃 구경 의 필수 코스
X Topic ─ X X X
많은 스키다시 와 바다 가 보이는 횟집
X X X 목적 ─ ─ X
불맛 이 살아있는 담백한 물짜장
맛 X X 맛 X
오늘 점심 은 헤리 언냐 랑 강남 교자
X X X X 동행자 ─ X X
- 신규 컨텍스트 발굴 예제
컨텍스트 어휘 Tagging 실험 결과
- Target : Topic,분위기,동행자,목적,시간,기능
- Precision : 95.74% (Close Test)
39. 지금까지의 흐름 : Remind!
Local DB
전주한옥마을
Context-aware Analysis Model
S1: 아이들과 당일치기로 전주를 다녀왔어요
S2: 아이들 교육에도 최적의 장소
S3: 비오는날 운치있는 전주여행
S4: 운치있고 여유로운 곳이었어요
S5: 야간에 산책하면서 다니는 재미
S6: 날씨 즐기며 천천히 걸어다니는 것도
UGC
전주한옥마을
S1: 아이들과
S2: 아이들
S3: 운치있는
S4: 운치있고
S5: 산책
S6: 걸어다니는
1. 문장 입력 2. 문맥 이해 3. 컨텍스트 추출
아이들과
아이들
애들하고
운치있는
운치있고
운치돋는
산책
걸어다니는
걷기좋은
동행자
분위기
Topic
S1:아이들과(aideulgwa)
Temporal ConvNet
S1:
Text
Representation
아이들과
당일치기로
전주를
Bidirectional LSTM
동행자
X
X
word
embedding
40. Problem in this Task
- 컨텍스트 랭킹 : 추출에 사용된 컨텍스트 표현 중 여행지 A에 더 적합한 컨텍스트 표현은?
장소별 더 생생하고 적절한 컨텍스트 표현을 찾는 문제
로맨틱한 분위기
러블리한
낭만이 있는
몽환적인
41. Context 표현 Ranking Module Design
여행지 문장
Latent
Vectors
(Test Data)
Latent
Vectors
from Training
Data
Average of
Latent Vectors
for each Context
POI 별
Context
통계 추출
Ranking by Context Frequency
and Expected Value
컨텍스트
빈도
실제 빈도
빈도 기대 값
Test Data Classification
컨텍스트별 평균 Latent Vector 계산
Ranking
1024차원의 CNN Latent Vector 활용
컨텍스트별
Latent
Vector와
거리 비교
42. 컨텍스트와 문장의 연관도 비교 예시
대표 context: 아이와함께
애기들이
아이데리고
꼬맹이들
아기와
Test Sentence
47. Lesson
- 대규모의 학습데이터 획득이 쉽지 않다.
- 대량의 학습데이터 획득을 위해 기존 Text Mining 방법론을 활용해도 효과적
딥러닝은 학습데이터 획득/구축이 절대적
- 단, 데이터 전처리가 충분히 이루어진다는 전제
- 문제의 정의에 따라 딥러닝은 The Best Solution이 될 수 있다.
딥러닝은 충분히 현재의 해답이 될 수 있다
49. What’s Next
- ‘목적’ ‘동행자’ ‘분위기’ ‘토픽’ 이외의 지역 컨텍스트 추출 및 확장 적용 실험
컨텍스트 지역검색 확장 실험
Semi-Supervised Deep Learning 연구 및 적용
- 성능에 가장 큰 영향을 미치는 학습데이터 구성의 문제 해결
- Unlabeled data + 딥러닝