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

  1. 1. 김진호 NAVER Search 딥러닝을 이용한 지역 컨텍스트 검색 Local Context Search Utilizing Deep Learning
  2. 2. 제목이 전부입니다 이용자의 컨텍스트를 고려한 장소 검색 OUR GOAL 장소별 컨텍스트 이해 HOW?
  3. 3. CONTENTS 1. What to Do? 2. CNN을 활용한 여행지별 지역 컨텍스트 추출 3. LSTM을 활용한 신규 지역 컨텍스트 어휘 발굴 4. POI Latent Vector를 이용한 Context 표현 랭킹 5. 개선 결과 6. What’s Next?
  4. 4. 1. What to Do?
  5. 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. 6. 기존 DB 정보로는 불가능 “가족과 함께 휴양하기 좋은 여행지” 관련 블로그 888개, 카페, 웹문서, 지식in… 전주한옥마을(NAVER POI DB) 여행지별 테마가 필요
  7. 7. 테마가 녹아있는 여행지 리뷰 여행지 리뷰 지역 컨텍스트 (테마)
  8. 8. 해외 학자들이 정의한 Local Context Context relevance assessment and exploitation in mobile recommender systems (2012)
  9. 9. 우리가 정의한 지역 컨텍스트 힐링 일출 태교여행찾는 목적 애인 부모님 아이동행자 POI Side Context 현위치 시간 GPS 위치 아침 점심 저녁 새벽 계절 봄 여름 가을 겨울 날씨 맑음 흐림 비 눈 요일 주중 주말 기념일 어린이날 크리스마스 새해 User Situation Context 이국적 신비로운 재밌는분위기 둘레길 전망대 카약토픽 (즐길거리)
  10. 10. Our Problem … … … 분석 대상 : UGC Goal : 여행지별 테마 아이와 함께 가족과 함께 나들이 촬영지 체험 동행자 찾는 목적 고구려대장간마을 http://blog.naver.com/5200l/220734006006
  11. 11. 기존 방식 … … … 분석 대상 : UGC Goal : 여행지별 테마기존방식 Text Mining 테마별 키워드 사전 및 패턴 이용 동료들과 친구들이랑친구 모임 친구와 친구와 함께 아이와 함께 가족과 함께 나들이 촬영지 체험 동행자 찾는 목적 고구려대장간마을 http://blog.naver.com/5200l/220734006006 Parsing, Feature Representation
  12. 12. Deep Learning을 활용해보자! … … 아이와 함께 동행자 여행지 블로그 문장 여행지 테마 CNN LSTM http://blog.skhynix.com/1644
  13. 13. Why Deep Learning? → 학습할 수 있는 데이터가 정말 많다. → 학습데이터가 많으면 딥러닝은 좋은 성능을 보장한다. 분석해야 할 리뷰는 정말 많다. 그래서 만들어야 할 사전과 패턴도 정말 많다. → 알아서 학습셋의 Latent feature를 찾아주는게 딥러닝을 활용하는 이유
  14. 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
  15. 15. 2. CNN을 활용한 여행지별 지역 컨텍스트 추출
  16. 16. CNN Overview http://stats.stackexchange.com/questions/180850/how-are-filters-and-activation-maps-connected-in-convolutional-neural-networks http://okky.kr/article/321087
  17. 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. 18. Deep Learning 3대장 Yann Lecun Andrew NgGeoffrey Hinton https://arxiv.org/abs/1502.01710
  19. 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. 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. 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. 22. Module Design Temporal ConvNet Building Training Data 기존 방법론을 학습데이터 구축에 활용 대량의 학습데이터로 모델을 학습하여 여행지별 컨텍스트를 추출한다 딥러닝 모델 학습을 위해 다량의 학습데이터가 필요하다
  23. 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. 24. 학습 데이터 구성(2) 기존 방법론을 학습데이터 구성에 활용 S1 : 지난 주말, 정말 오랜만에 친구들과 한옥마을을 갔어요. S2 : 날씨가 따뜻해서 걷기도 좋을거 같아 제가 한옥마을로 모이자고 꼬셨죠. ㅎㅎㅎ … S9 : 아이들도 매우 신나게 돌아다니더라구요 전주한옥마을 UGC에서 추출한 문장 컨텍스트 동의어 아이와 함께 아이들과 아이들도 친구와 함께 친구끼리 친구들과 업체 컨텍스트 전주한옥마을 혼자 갈만한 친구와 함께 커플끼리 아이와 함께 S1 - 친구와 함께 : 지난 주말, 정말 오랜만에 친구들과 한옥마을을 갔어요 S2 - 날씨가 따뜻해서 걷기도 좋을거 같아 제가 한옥마을로 모이자고 꼬셨죠. ㅎ S9 - 아이와 함께 : 아이들도 매우 신나게 돌아다니더라구요 컨텍스트 정답 문장 여행지별 UGC 문장 형태소 분석 TF 기반 Candidate Context를 탐색 확장사전 및 패턴 기반으로 컨텍스트별 문장을 인식
?

List of Articles
번호 제목 글쓴이 날짜 조회 수
11 대용량 텍스트마이닝 기술 하정우 file 관리자 2016.11.04 111
10 딥러닝예제로보는개발자를위한통계 최재걸 file 관리자 2016.11.04 49
9 Multimodal Residual Learning for Visual Question-Answering file 관리자 2016.11.04 166
8 yarn 기반의 deep learning application cluster 구축 김제민 file 관리자 2016.11.04 125
7 backend 개발자의 neural machine translation 개발기 김상경 file 관리자 2016.11.03 149
6 베이지안토픽모형 강병엽 file 관리자 2016.11.03 42
5 papago 김준석 file 관리자 2016.11.03 40
4 챗봇 개발을 위한 네이버 랩스 api file 관리자 2016.11.03 95
3 딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016 file 관리자 2016.11.03 63
2 딥러닝을 활용한 이미지 검색 포토요약과 타임라인 최종 file 관리자 2016.11.03 69
» 딥러닝을 이용한 지역 컨텍스트 검색 김진호 file 관리자 2016.11.03 91
Board Pagination Prev 1 Next
/ 1