SlideShare une entreprise Scribd logo
1  sur  51
Télécharger pour lire hors ligne
김진호
NAVER Search
딥러닝을 이용한
지역 컨텍스트 검색
Local Context Search Utilizing Deep Learning
제목이 전부입니다
이용자의 컨텍스트를 고려한 장소 검색
OUR GOAL
장소별 컨텍스트 이해
HOW?
CONTENTS
1. What to Do?
2. CNN을 활용한 여행지별 지역 컨텍스트 추출
3. LSTM을 활용한 신규 지역 컨텍스트 어휘 발굴
4. POI Latent Vector를 이용한 Context 표현 랭킹
5. 개선 결과
6. What’s Next?
1.
What to Do?
여행지를 선택하는 데는 테마가 있다
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
가족과 함께 휴양 친구들끼리 놀기좋은 곳 저렴하게 놀만한 곳
기존 DB 정보로는 불가능
“가족과 함께 휴양하기 좋은 여행지”
관련 블로그 888개,
카페, 웹문서, 지식in…
전주한옥마을(NAVER POI DB)
여행지별 테마가 필요
테마가 녹아있는 여행지 리뷰
여행지 리뷰
지역 컨텍스트
(테마)
해외 학자들이 정의한 Local Context
Context relevance assessment and exploitation in mobile recommender systems (2012)
우리가 정의한 지역 컨텍스트
힐링 일출 태교여행찾는 목적
애인 부모님 아이동행자
POI Side Context
현위치
시간
GPS 위치
아침 점심 저녁 새벽
계절 봄 여름 가을 겨울
날씨 맑음 흐림 비 눈
요일 주중 주말
기념일 어린이날 크리스마스 새해
User Situation Context
이국적 신비로운 재밌는분위기
둘레길 전망대 카약토픽
(즐길거리)
Our Problem
…
…
…
분석 대상 : UGC Goal : 여행지별 테마
아이와 함께
가족과 함께
나들이
촬영지
체험
동행자
찾는
목적
고구려대장간마을
http://blog.naver.com/5200l/220734006006
기존 방식
…
…
…
분석 대상 : UGC Goal : 여행지별 테마기존방식
Text Mining
테마별 키워드 사전 및 패턴 이용
동료들과
친구들이랑친구 모임
친구와
친구와 함께
아이와 함께
가족과 함께
나들이
촬영지
체험
동행자
찾는
목적
고구려대장간마을
http://blog.naver.com/5200l/220734006006
Parsing, Feature Representation
Deep Learning을 활용해보자!
…
…
아이와
함께
동행자
여행지 블로그 문장 여행지 테마
CNN
LSTM
http://blog.skhynix.com/1644
Why Deep Learning?
→ 학습할 수 있는 데이터가 정말 많다.
→ 학습데이터가 많으면 딥러닝은 좋은 성능을 보장한다.
분석해야 할 리뷰는 정말 많다.
그래서 만들어야 할 사전과 패턴도 정말 많다.
→ 알아서 학습셋의 Latent feature를 찾아주는게
딥러닝을 활용하는 이유
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
2.
CNN을 활용한 여행지별
지역 컨텍스트 추출
CNN Overview
http://stats.stackexchange.com/questions/180850/how-are-filters-and-activation-maps-connected-in-convolutional-neural-networks
http://okky.kr/article/321087
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에도 잘 먹힌다
Deep Learning 3대장
Yann Lecun Andrew NgGeoffrey Hinton
https://arxiv.org/abs/1502.01710
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!!
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
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
Module Design
Temporal
ConvNet
Building
Training
Data
기존 방법론을
학습데이터 구축에 활용
대량의 학습데이터로
모델을 학습하여
여행지별 컨텍스트를 추출한다
딥러닝 모델 학습을 위해 다량의 학습데이터가 필요하다
학습 데이터 구성(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
학습 데이터 구성(2)
기존 방법론을 학습데이터 구성에 활용
S1 : 지난 주말, 정말 오랜만에 친구들과
한옥마을을 갔어요.
S2 : 날씨가 따뜻해서 걷기도 좋을거 같아
제가 한옥마을로 모이자고 꼬셨죠. ㅎㅎㅎ
…
S9 : 아이들도 매우 신나게 돌아다니더라구요
전주한옥마을 UGC에서 추출한 문장
컨텍스트 동의어
아이와 함께
아이들과
아이들도
친구와 함께
친구끼리
친구들과
업체 컨텍스트
전주한옥마을
혼자 갈만한
친구와 함께
커플끼리
아이와 함께
S1 - 친구와 함께 : 지난 주말, 정말
오랜만에 친구들과 한옥마을을 갔어요
S2 - 날씨가 따뜻해서 걷기도 좋을거 같아
제가 한옥마을로 모이자고 꼬셨죠. ㅎ
S9 - 아이와 함께 : 아이들도 매우 신나게
돌아다니더라구요
컨텍스트 정답 문장
여행지별 UGC 문장
형태소 분석
TF 기반 Candidate Context를 탐색
확장사전 및 패턴 기반으로
컨텍스트별 문장을 인식
𝑆𝑐𝑜𝑟𝑒 𝑡, 𝑃𝑙𝑎𝑐𝑒 =
𝑓𝑟𝑒𝑞𝑡,𝑃𝑙𝑎𝑐𝑒
max 𝑓𝑟𝑒𝑞 𝑡′,𝑃𝑙𝑎𝑐𝑒 ∶ 𝑡′ ∈ 𝑃𝑙𝑎𝑐𝑒
학습 데이터 구성(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
컨텍스트 유형별 데이터셋
동행자 컨텍스트 목적 컨텍스트 분위기 컨텍스트
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
모델 학습
컨텍스트 유형별로 모델 생성
동행자
컨텍스트
학습 데이터
동행자 컨텍스트
분류 모델
분위기 컨텍스트
분류 모델
• 친구와 함께
• 아이와 함께
• 부모님과 함께
• …
• 운치 있는 분위기
• 활기찬 분위기
• 이국적인 분위기
• …
분위기
컨텍스트
학습 데이터
하나의 Big Model로 학습했더니 성능이 떨어짐
모델 학습 : Overfitting을 피하자!
Dropout (0.5)
+
캠릿브지
그레이엄 롤린슨(Graham Rawlinson)
영어 기준 처음과 끝 2글자를 남기고 섞어도 이해가 가능함
→ 처음과 끝을 남기고 0.5 의 확률로 가운데 알파벳을 뒤섞어 입력
대학의 연결구과
더 많은 Training Data Feature 개수 줄이기 Regularization
Feature 개수 줄이기
더 많은 Training Data
CNN 지역 컨텍스트 추출 결과
모델 실험 결과 (여행지 + 맛집)
‘가족과 함께’ 컨텍스트가 추출된 문장들
5인가족이 배불리 먹었다~★
가족과 여행을 다녀왔는데요.
가족, 연인, 친구 각자 자신들만의 추억을 담고 있다.
가족은 다들 들떠 있었는데 ㅋㅋㅋ
‘가족과 함께’ 컨텍스트가 추출되지 않은 문장들
가족들이 알면 난리가 날듯...
나중에 울 가족여행 여기로 와볼까..ㅎㅎ ㅋㅋ
친구들과 연인들과 가족들과 함께해도 참 좋은곳이네요~~
혼자 먹기에는 너무 큰 사이즈라 :) 동생들과 함께 냠냠.
‘TV방영’ 컨텍스트가 추출된 문장
백종원의 3대천왕에 방송된 유명한
맛집이다.
Model Test
동행자 모델 97.67%
목적 모델 96.65%
분위기 모델 92.35%
3.
LSTM을 활용한 신규
지역 컨텍스트 어휘 발굴
LSTM Overview
RNN으로부터 기반한 모델
시계열 데이터 처리에 특화
Bidirectional LSTM
Forward + Backward Layer
Why LSTM?
Sequential Tagging에 가장 최적화된 모델
신규 컨텍스트 키워드 발굴에 활용 가능
특정 컨텍스트 카테고리로 태깅된 새로운 키워드를 발굴 → 사전 강화 효과
문장의 특정 위치에 있는 단어가 어떤 컨텍스트 종류인지를 태깅
Module Design
LSTM
Building
Training
Data
BIO 태깅된 학습데이터 대량의 학습데이터로
모델을 학습하여
여행지별 컨텍스트를 추출한다
학습 데이터 구성
- B : Target 시작 어휘
- I : Target 포함 어휘(이어짐)
- O : Target 어휘 아님 (공백 포함)
- U : No Information
여행지별 UGC 문장 형태소 분석 → BIO 태깅 → Word Embedding
모델 학습 예시 : Bidirectional LSTM
찍기에도
고구려대장간
마을은
사진
아이들과
좋은
곳이네요
동행자
Word
embedding
Bidirectional LSTM : Model Design
model = nn.Sequential()
model:add(nn.Sequencer(nn.Linear(inputSize, hiddenSize))) -- Input : Word2Vec Embedding 차원, 256 Hidden Size
model:add(nn.BiSequencer(nn.LSTM(hiddenSize, hiddenSize, seqLength))) - seqLength : 문장의 길이(형태소 단위)
model:add(nn.BiSequencer(nn.LSTM(hiddenSize * 2, hiddenSize, seqLength)))
model:add(nn.BiSequencer(nn.LSTM(hiddenSize * 2, hiddenSize, seqLength)))
model:add(nn.Sequencer(nn.Dropout(0.5)))
model:add(nn.Sequencer(nn.Linear(hiddenSize * 2, outputSize)))
model:add(nn.Sequencer(nn.LogSoftMax()))
FrameWork :
추출 결과
제주도 밤 에 가볼만한 곳 새연교
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)
4.
POI Latent Vector를
이용한 컨텍스트 표현 랭킹
지금까지의 흐름 : 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
Problem in this Task
- 컨텍스트 랭킹 : 추출에 사용된 컨텍스트 표현 중 여행지 A에 더 적합한 컨텍스트 표현은?
장소별 더 생생하고 적절한 컨텍스트 표현을 찾는 문제
로맨틱한 분위기
러블리한
낭만이 있는
몽환적인
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와
거리 비교
컨텍스트와 문장의 연관도 비교 예시
대표 context: 아이와함께
애기들이
아이데리고
꼬맹이들
아기와
Test Sentence
Ranking Logic
0
0.2
0.4
0.6
0.8
1
Expected
Value
Actual
Value
기타
벽화마을
만두
문꼬치
초코파이
성당
전주한옥마을 (주제)
Ranking by Context Frequency and Expected Value
컨텍스트
빈도
실제 빈도
빈도 기대 값
Ranking
Context 표현 추출 Result
5.
개선 결과
서비스 반영 결과
노출 대비 높은 CTR 유지
주말 노출량/클릭량
주중의 배로 증가
Lesson
- 대규모의 학습데이터 획득이 쉽지 않다.
- 대량의 학습데이터 획득을 위해 기존 Text Mining 방법론을 활용해도 효과적
딥러닝은 학습데이터 획득/구축이 절대적
- 단, 데이터 전처리가 충분히 이루어진다는 전제
- 문제의 정의에 따라 딥러닝은 The Best Solution이 될 수 있다.
딥러닝은 충분히 현재의 해답이 될 수 있다
6.
What’s Next?
What’s Next
- ‘목적’ ‘동행자’ ‘분위기’ ‘토픽’ 이외의 지역 컨텍스트 추출 및 확장 적용 실험
컨텍스트 지역검색 확장 실험
Semi-Supervised Deep Learning 연구 및 적용
- 성능에 가장 큰 영향을 미치는 학습데이터 구성의 문제 해결
- Unlabeled data + 딥러닝
Q&A
Thank You

Contenu connexe

Tendances

Recommendation System History
Recommendation System HistoryRecommendation System History
Recommendation System History
Tae Young Lee
 
Efficient and effective passage search via contextualized late interaction ov...
Efficient and effective passage search via contextualized late interaction ov...Efficient and effective passage search via contextualized late interaction ov...
Efficient and effective passage search via contextualized late interaction ov...
taeseon ryu
 
20141214 빅데이터실전기술 - 유사도 및 군집화 방법 (Similarity&Clustering)
20141214 빅데이터실전기술 - 유사도 및 군집화 방법 (Similarity&Clustering) 20141214 빅데이터실전기술 - 유사도 및 군집화 방법 (Similarity&Clustering)
20141214 빅데이터실전기술 - 유사도 및 군집화 방법 (Similarity&Clustering)
Tae Young Lee
 

Tendances (20)

딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
 
Recommendation System History
Recommendation System HistoryRecommendation System History
Recommendation System History
 
딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)
 
[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영[215]네이버콘텐츠통계서비스소개 김기영
[215]네이버콘텐츠통계서비스소개 김기영
 
상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링
상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링
상상을 현실로 만드는, 이미지 생성 모델을 위한 엔지니어링
 
[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화[2D1]Elasticsearch 성능 최적화
[2D1]Elasticsearch 성능 최적화
 
실리콘 밸리 데이터 사이언티스트의 하루
실리콘 밸리 데이터 사이언티스트의 하루실리콘 밸리 데이터 사이언티스트의 하루
실리콘 밸리 데이터 사이언티스트의 하루
 
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
 
Little Big Data #1. 바닥부터 시작하는 데이터 인프라
Little Big Data #1. 바닥부터 시작하는 데이터 인프라Little Big Data #1. 바닥부터 시작하는 데이터 인프라
Little Big Data #1. 바닥부터 시작하는 데이터 인프라
 
오토인코더의 모든 것
오토인코더의 모든 것오토인코더의 모든 것
오토인코더의 모든 것
 
Python을 활용한 챗봇 서비스 개발 1일차
Python을 활용한 챗봇 서비스 개발 1일차Python을 활용한 챗봇 서비스 개발 1일차
Python을 활용한 챗봇 서비스 개발 1일차
 
딥러닝을 이용한 사용자 선호도 기반 의상 추천 알고리즘 Ppt 선수강
딥러닝을 이용한 사용자 선호도 기반 의상 추천 알고리즘 Ppt 선수강딥러닝을 이용한 사용자 선호도 기반 의상 추천 알고리즘 Ppt 선수강
딥러닝을 이용한 사용자 선호도 기반 의상 추천 알고리즘 Ppt 선수강
 
Efficient and effective passage search via contextualized late interaction ov...
Efficient and effective passage search via contextualized late interaction ov...Efficient and effective passage search via contextualized late interaction ov...
Efficient and effective passage search via contextualized late interaction ov...
 
Ai 그까이거
Ai 그까이거Ai 그까이거
Ai 그까이거
 
인공지능추천시스템 airs개발기_모델링과시스템
인공지능추천시스템 airs개발기_모델링과시스템인공지능추천시스템 airs개발기_모델링과시스템
인공지능추천시스템 airs개발기_모델링과시스템
 
눈으로 듣는 음악 추천 시스템
눈으로 듣는 음악 추천 시스템눈으로 듣는 음악 추천 시스템
눈으로 듣는 음악 추천 시스템
 
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝
 
검색엔진에 적용된 ChatGPT
검색엔진에 적용된 ChatGPT검색엔진에 적용된 ChatGPT
검색엔진에 적용된 ChatGPT
 
개발자를 위한 (블로그) 글쓰기 intro
개발자를 위한 (블로그) 글쓰기 intro개발자를 위한 (블로그) 글쓰기 intro
개발자를 위한 (블로그) 글쓰기 intro
 
20141214 빅데이터실전기술 - 유사도 및 군집화 방법 (Similarity&Clustering)
20141214 빅데이터실전기술 - 유사도 및 군집화 방법 (Similarity&Clustering) 20141214 빅데이터실전기술 - 유사도 및 군집화 방법 (Similarity&Clustering)
20141214 빅데이터실전기술 - 유사도 및 군집화 방법 (Similarity&Clustering)
 

En vedette

[216]딥러닝예제로보는개발자를위한통계 최재걸
[216]딥러닝예제로보는개발자를위한통계 최재걸[216]딥러닝예제로보는개발자를위한통계 최재걸
[216]딥러닝예제로보는개발자를위한통계 최재걸
NAVER D2
 
[F2]자연어처리를 위한 기계학습 소개
[F2]자연어처리를 위한 기계학습 소개[F2]자연어처리를 위한 기계학습 소개
[F2]자연어처리를 위한 기계학습 소개
NAVER D2
 
아마존 에코를 활용한 음성 인식 에어컨 제어 A to z
아마존 에코를 활용한 음성 인식 에어컨 제어 A to z아마존 에코를 활용한 음성 인식 에어컨 제어 A to z
아마존 에코를 활용한 음성 인식 에어컨 제어 A to z
Jueun Seo
 

En vedette (20)

Python 2 와 3 공존하기
Python 2 와 3 공존하기Python 2 와 3 공존하기
Python 2 와 3 공존하기
 
Spm12를 이용한 fmri analysis
Spm12를 이용한 fmri analysisSpm12를 이용한 fmri analysis
Spm12를 이용한 fmri analysis
 
[224] 번역 모델 기반_질의_교정_시스템
[224] 번역 모델 기반_질의_교정_시스템[224] 번역 모델 기반_질의_교정_시스템
[224] 번역 모델 기반_질의_교정_시스템
 
weather-data-processing-using-python
weather-data-processing-using-pythonweather-data-processing-using-python
weather-data-processing-using-python
 
Driving Computer Vision Research Innovation In Artificial Intelligence
Driving Computer Vision Research Innovation In Artificial IntelligenceDriving Computer Vision Research Innovation In Artificial Intelligence
Driving Computer Vision Research Innovation In Artificial Intelligence
 
Denoising auto encoders(d a)
Denoising auto encoders(d a)Denoising auto encoders(d a)
Denoising auto encoders(d a)
 
[216]딥러닝예제로보는개발자를위한통계 최재걸
[216]딥러닝예제로보는개발자를위한통계 최재걸[216]딥러닝예제로보는개발자를위한통계 최재걸
[216]딥러닝예제로보는개발자를위한통계 최재걸
 
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
PYCON KR 2017 - 구름이 하늘의 일이라면 (윤상웅)
 
[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용
[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용
[ Pycon Korea 2017 ] Infrastructure as Code를위한 Ansible 활용
 
[F2]자연어처리를 위한 기계학습 소개
[F2]자연어처리를 위한 기계학습 소개[F2]자연어처리를 위한 기계학습 소개
[F2]자연어처리를 위한 기계학습 소개
 
Speaker Diarization
Speaker DiarizationSpeaker Diarization
Speaker Diarization
 
아마존 에코를 활용한 음성 인식 에어컨 제어 A to z
아마존 에코를 활용한 음성 인식 에어컨 제어 A to z아마존 에코를 활용한 음성 인식 에어컨 제어 A to z
아마존 에코를 활용한 음성 인식 에어컨 제어 A to z
 
PYCON 2017 발표자료 한성준
PYCON 2017 발표자료 한성준PYCON 2017 발표자료 한성준
PYCON 2017 발표자료 한성준
 
Pycon2017 이성용 Dances with the Last Samurai
Pycon2017 이성용 Dances with the Last SamuraiPycon2017 이성용 Dances with the Last Samurai
Pycon2017 이성용 Dances with the Last Samurai
 
One-Shot Learning
One-Shot LearningOne-Shot Learning
One-Shot Learning
 
머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)머신러닝의 자연어 처리기술(I)
머신러닝의 자연어 처리기술(I)
 
딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향딥러닝을 이용한 자연어처리의 연구동향
딥러닝을 이용한 자연어처리의 연구동향
 
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
 
Developing Korean Chatbot 101
Developing Korean Chatbot 101Developing Korean Chatbot 101
Developing Korean Chatbot 101
 
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
 

Similaire à [221] 딥러닝을 이용한 지역 컨텍스트 검색 김진호

Similaire à [221] 딥러닝을 이용한 지역 컨텍스트 검색 김진호 (20)

2018 06-11-active-question-answering
2018 06-11-active-question-answering2018 06-11-active-question-answering
2018 06-11-active-question-answering
 
(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)
(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)
(Kor ver.)NLP embedding(word2vec) tutorial & implementation(Tensorflow)
 
딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투딥러닝 세계에 입문하기 위반 분투
딥러닝 세계에 입문하기 위반 분투
 
[IT21 글로벌 컨퍼런스] 대화시스템 개발을 위한 자연어처리기술 - 서희철
[IT21 글로벌 컨퍼런스] 대화시스템 개발을 위한 자연어처리기술 - 서희철[IT21 글로벌 컨퍼런스] 대화시스템 개발을 위한 자연어처리기술 - 서희철
[IT21 글로벌 컨퍼런스] 대화시스템 개발을 위한 자연어처리기술 - 서희철
 
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
 
Rumor detection on social media
Rumor detection on social mediaRumor detection on social media
Rumor detection on social media
 
<Little Big Data #1> 한국어 채팅 데이터로 머신러닝 하기
<Little Big Data #1> 한국어 채팅 데이터로  머신러닝 하기<Little Big Data #1> 한국어 채팅 데이터로  머신러닝 하기
<Little Big Data #1> 한국어 채팅 데이터로 머신러닝 하기
 
인공지능 방법론 - Deep Learning 쉽게 이해하기
인공지능 방법론 - Deep Learning 쉽게 이해하기인공지능 방법론 - Deep Learning 쉽게 이해하기
인공지능 방법론 - Deep Learning 쉽게 이해하기
 
쿼리로그로부터 주제별 키워드 수집 방안 민병국-20131213
쿼리로그로부터 주제별 키워드 수집 방안 민병국-20131213쿼리로그로부터 주제별 키워드 수집 방안 민병국-20131213
쿼리로그로부터 주제별 키워드 수집 방안 민병국-20131213
 
Word 2 Vec Algorithm
Word 2 Vec AlgorithmWord 2 Vec Algorithm
Word 2 Vec Algorithm
 
공예 온라인 클래스 트렌드 분석
공예 온라인 클래스 트렌드 분석공예 온라인 클래스 트렌드 분석
공예 온라인 클래스 트렌드 분석
 
소프트웨어 2.0을 활용한 게임 어뷰징 검출
소프트웨어 2.0을 활용한 게임 어뷰징 검출소프트웨어 2.0을 활용한 게임 어뷰징 검출
소프트웨어 2.0을 활용한 게임 어뷰징 검출
 
Deep learning text NLP and Spark Collaboration . 한글 딥러닝 Text NLP & Spark
Deep learning text NLP and Spark Collaboration . 한글 딥러닝 Text NLP & SparkDeep learning text NLP and Spark Collaboration . 한글 딥러닝 Text NLP & Spark
Deep learning text NLP and Spark Collaboration . 한글 딥러닝 Text NLP & Spark
 
기계 학습의 현재와 미래
기계 학습의 현재와 미래기계 학습의 현재와 미래
기계 학습의 현재와 미래
 
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)
 
이도형 실적 내역서
이도형 실적 내역서이도형 실적 내역서
이도형 실적 내역서
 
딥러닝 기반 자연어 언어모델 BERT
딥러닝 기반 자연어 언어모델 BERT딥러닝 기반 자연어 언어모델 BERT
딥러닝 기반 자연어 언어모델 BERT
 
PyCon Korea 2015: 탐색적으로 큰 데이터 분석하기
PyCon Korea 2015: 탐색적으로 큰 데이터 분석하기PyCon Korea 2015: 탐색적으로 큰 데이터 분석하기
PyCon Korea 2015: 탐색적으로 큰 데이터 분석하기
 
더 나은 S/W를 만드는 것에 관하여 (OKKY 세미나)
더 나은 S/W를 만드는 것에 관하여 (OKKY 세미나)더 나은 S/W를 만드는 것에 관하여 (OKKY 세미나)
더 나은 S/W를 만드는 것에 관하여 (OKKY 세미나)
 
딥뉴럴넷 클러스터링 실패기
딥뉴럴넷 클러스터링 실패기딥뉴럴넷 클러스터링 실패기
딥뉴럴넷 클러스터링 실패기
 

Plus de NAVER D2

Plus de NAVER D2 (20)

[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다[211] 인공지능이 인공지능 챗봇을 만든다
[211] 인공지능이 인공지능 챗봇을 만든다
 
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
 
[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기[215] Druid로 쉽고 빠르게 데이터 분석하기
[215] Druid로 쉽고 빠르게 데이터 분석하기
 
[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발[245]Papago Internals: 모델분석과 응용기술 개발
[245]Papago Internals: 모델분석과 응용기술 개발
 
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
 
[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A[235]Wikipedia-scale Q&A
[235]Wikipedia-scale Q&A
 
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기[244]로봇이 현실 세계에 대해 학습하도록 만들기
[244]로봇이 현실 세계에 대해 학습하도록 만들기
 
[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning[243] Deep Learning to help student’s Deep Learning
[243] Deep Learning to help student’s Deep Learning
 
[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications[234]Fast & Accurate Data Annotation Pipeline for AI applications
[234]Fast & Accurate Data Annotation Pipeline for AI applications
 
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load BalancingOld version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
 
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
 
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
 
[224]네이버 검색과 개인화
[224]네이버 검색과 개인화[224]네이버 검색과 개인화
[224]네이버 검색과 개인화
 
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
 
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
 
[213] Fashion Visual Search
[213] Fashion Visual Search[213] Fashion Visual Search
[213] Fashion Visual Search
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화
 
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
 
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
 
[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?[223]기계독해 QA: 검색인가, NLP인가?
[223]기계독해 QA: 검색인가, NLP인가?
 

[221] 딥러닝을 이용한 지역 컨텍스트 검색 김진호

  • 1. 김진호 NAVER Search 딥러닝을 이용한 지역 컨텍스트 검색 Local Context Search Utilizing Deep Learning
  • 2. 제목이 전부입니다 이용자의 컨텍스트를 고려한 장소 검색 OUR GOAL 장소별 컨텍스트 이해 HOW?
  • 3. CONTENTS 1. What to Do? 2. CNN을 활용한 여행지별 지역 컨텍스트 추출 3. LSTM을 활용한 신규 지역 컨텍스트 어휘 발굴 4. POI Latent Vector를 이용한 Context 표현 랭킹 5. 개선 결과 6. What’s Next?
  • 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) 여행지별 테마가 필요
  • 7. 테마가 녹아있는 여행지 리뷰 여행지 리뷰 지역 컨텍스트 (테마)
  • 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
  • 12. Deep Learning을 활용해보자! … … 아이와 함께 동행자 여행지 블로그 문장 여행지 테마 CNN LSTM http://blog.skhynix.com/1644
  • 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에도 잘 먹힌다
  • 18. Deep Learning 3대장 Yann Lecun Andrew NgGeoffrey Hinton https://arxiv.org/abs/1502.01710
  • 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
  • 22. Module Design Temporal ConvNet Building Training Data 기존 방법론을 학습데이터 구축에 활용 대량의 학습데이터로 모델을 학습하여 여행지별 컨텍스트를 추출한다 딥러닝 모델 학습을 위해 다량의 학습데이터가 필요하다
  • 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%
  • 30. 3. LSTM을 활용한 신규 지역 컨텍스트 어휘 발굴
  • 31. LSTM Overview RNN으로부터 기반한 모델 시계열 데이터 처리에 특화 Bidirectional LSTM Forward + Backward Layer
  • 32. Why LSTM? Sequential Tagging에 가장 최적화된 모델 신규 컨텍스트 키워드 발굴에 활용 가능 특정 컨텍스트 카테고리로 태깅된 새로운 키워드를 발굴 → 사전 강화 효과 문장의 특정 위치에 있는 단어가 어떤 컨텍스트 종류인지를 태깅
  • 33. Module Design LSTM Building Training Data BIO 태깅된 학습데이터 대량의 학습데이터로 모델을 학습하여 여행지별 컨텍스트를 추출한다
  • 34. 학습 데이터 구성 - B : Target 시작 어휘 - I : Target 포함 어휘(이어짐) - O : Target 어휘 아님 (공백 포함) - U : No Information 여행지별 UGC 문장 형태소 분석 → BIO 태깅 → Word Embedding
  • 35. 모델 학습 예시 : Bidirectional LSTM 찍기에도 고구려대장간 마을은 사진 아이들과 좋은 곳이네요 동행자 Word embedding
  • 36. Bidirectional LSTM : Model Design model = nn.Sequential() model:add(nn.Sequencer(nn.Linear(inputSize, hiddenSize))) -- Input : Word2Vec Embedding 차원, 256 Hidden Size model:add(nn.BiSequencer(nn.LSTM(hiddenSize, hiddenSize, seqLength))) - seqLength : 문장의 길이(형태소 단위) model:add(nn.BiSequencer(nn.LSTM(hiddenSize * 2, hiddenSize, seqLength))) model:add(nn.BiSequencer(nn.LSTM(hiddenSize * 2, hiddenSize, seqLength))) model:add(nn.Sequencer(nn.Dropout(0.5))) model:add(nn.Sequencer(nn.Linear(hiddenSize * 2, outputSize))) model:add(nn.Sequencer(nn.LogSoftMax())) FrameWork :
  • 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)
  • 38. 4. POI Latent Vector를 이용한 컨텍스트 표현 랭킹
  • 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
  • 43. Ranking Logic 0 0.2 0.4 0.6 0.8 1 Expected Value Actual Value 기타 벽화마을 만두 문꼬치 초코파이 성당 전주한옥마을 (주제) Ranking by Context Frequency and Expected Value 컨텍스트 빈도 실제 빈도 빈도 기대 값 Ranking
  • 46. 서비스 반영 결과 노출 대비 높은 CTR 유지 주말 노출량/클릭량 주중의 배로 증가
  • 47. Lesson - 대규모의 학습데이터 획득이 쉽지 않다. - 대량의 학습데이터 획득을 위해 기존 Text Mining 방법론을 활용해도 효과적 딥러닝은 학습데이터 획득/구축이 절대적 - 단, 데이터 전처리가 충분히 이루어진다는 전제 - 문제의 정의에 따라 딥러닝은 The Best Solution이 될 수 있다. 딥러닝은 충분히 현재의 해답이 될 수 있다
  • 49. What’s Next - ‘목적’ ‘동행자’ ‘분위기’ ‘토픽’ 이외의 지역 컨텍스트 추출 및 확장 적용 실험 컨텍스트 지역검색 확장 실험 Semi-Supervised Deep Learning 연구 및 적용 - 성능에 가장 큰 영향을 미치는 학습데이터 구성의 문제 해결 - Unlabeled data + 딥러닝
  • 50. Q&A