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 + 딥러닝