2. CONTENTS
1. Big text mining in real-world
2. Deep Learning for Text Mining
3. New approach for text classification: multiple RNNs
4. Two applications:
- Large-scale item categorization in NAVER Shopping
- Sentiment analysis: NAVER Movie review
5. Concluding remarks & future works
4. 1.1 텍스트 마이닝
텍스트 마이닝(Text mining)[Wikipedia.org]
Text DB
(Docs, Web, etc)
High-quality
Information
Text
mining
5. 1.1 텍스트 마이닝
인공지능을 위한 텍스트 마이닝
1. Never Ending Language Learning (NELL): Read the Web
(http://rtw.ml.cmu.edu/rtw/)
2. Question & answering system
3. Dialog systems
4. Artisto project of AI2 (http://allenai.org/)
5. Chatbots
6. 1.1 텍스트 마이닝
NAVER에서의 텍스트 마이닝 문제
뉴스
기사
정치
경제
사회
IT
스포츠
연예
[Text classification]
뉴스
기사
[Keyword extraction]
10월
환율
수출
하락
악영향
침체
네이버 블로그,
카페, 지식인 등
[Knowledge extraction]
7. 1. Symbolic semantics (WordNet)
2. One-hot-encoding
3. N-gram
4. TF / IDF (Bag-of-words)
5. Neural embedding: word / phrase / sentence / doc 2 vec
1.2 텍스트 마이닝 기법
Preprocessing
1. Stemming, 안 쓰는 단어 걸러내기
2. 한글은 형태소 분석도 필요함
Feature representation
11. 2.1 Neural Word-Embedding
Word2vec [Mikolov et al. 2013a, 2013b]
T. Mikolov et al. 2013. Efficient Estimation of Word
Representations in Vector Space, arXiv.org
T. Mikolov et al. 2013. Distributed representations of words
and phrases and their compositionality, NIPS 2013
12. 2.2 Recursive Neural Networks
Recursive Neural Networks [Socher et al. 2011, 2013]
R. Socher et al. 2013. Recursive deep models for semantic compositionality over a sentiment treebank,
EMNLP 2013
13. 2.3 CNN기반 텍스트 마이닝
CNN for sentence classification [Kim et al. 2014]
Character-level CNNs [Zhang et al. 2015]
Y. Kim. 2014. 2014. Convolutional neural networks for sentence
classification, EMNLP 2014
Zhang et al. 2015.
Character-level
convolutional networks for
text classification, NIPS 2015
17. 3.1 Data Representation
Attribute 1 Attribute 2 Attribute 3 Attribute M
Word
sequence
Word
sequence
Word
sequence
Word
sequence
Data instance
제안하는 방법
21. 3.2 Deep Multiple RNNs
Recurrent layers
(1) (1) x1 11 (1) (1)
1
R R R R R R
m t m m m m mtf W W h x h b
( ) ( ) ( 1) ( 1) ( ) ( )
1
R n R n R n n R n R nn R n R n
m t m m m t m m mtf W W
h h h b
Fully connected layers
( ) ( )
1 1
R n R n
mT Tm
u h h ( ) ( ) ( 1) ( 1) ( )F a F a F a a F a F a
f W
h h b (1) (1) 21 (1)F F F F
f W h u b
Softmax function
( )
( )
( )
exp
( | )
exp
F l
kF l
k F l
yy Y
P y
w h
h
w h
22. 3.2 Deep Multiple RNNs
학습 과정: end-to-end 방식
1. Cost function (MSE or cross-entropy)
2. Weight update
2 2
( ) ( ) ( ) ( )
1 1
1 1
ˆ ˆ
2 2
N Nn n n n
n n
E y y
y y
( ) ( )
1 1
1
ˆlog
N C
n n
c c
n c
E y y
N
i i
i
E
w w
w
i
i
E
x
w
( ) ( ) 2
2
ˆ 1 tanh ( ) , if
1 tanh ( ) , if
n n
i i i
i
j ij ij J
y y net i
w net i
o
h
( )
11
( )
TR kk R kk R k
m i m i i m tt
t
w w h
( 1) ( 1) ( 1)
1
( )
Tn n n n R n
i i i tt
t
w w h
23. 3.2 Deep Multiple RNNs
PreprocesssingText DB
Preprocessed
textual / nominal
data DB
RNN1
RNNm
…
Concatenated word vector
Input layer
Hidden layer
Output layer (Softmax)
Hidden layer
…
FFNN
DeepMRNN
RNN2
RNN
24. 3.2 Deep Multiple RNNs
Multiple RNN 사용의 장점
1. Attribute 별 의미의 모델링 가능 의미모호성 최소화
2. 단어 시퀀스의 길이 축소 가능 Vanishing gradient 회피
3. 별도의 Parser가 필요 없음 Recursive NN 대비
Multiple RNN 사용의 단점
1. RNN의 수에 따른 학습 시간
2. Attribute 구분이 명확하지 않을 때
26. 4 우리가 풀려는 문제
여기에서 다루는 매우 실제적인 두 가지 문제
1. 대용량 상품에 대해 텍스트 메타정보로부터 카테고리 자동 분류하기
2. 네이버 영화 리뷰의 긍정/부정 자동 평가하기
이 영화 진짜 너무…. 좀… 짱이다 긍정? 부정?
27. 4 우리가 풀려는 문제
왜 이 문제들이 중요할까?
1. 짧은 비디오 클립부터 한편 감상
2. 상품 세부 카테고리 웹페이지 상에 노출될 위치 및 레이아웃을 결정
3. 상품 검색 시 상품 카테고리 입력
4. 고객만족도와 밀접한 연관 매출에 영향
5. 추천에 있어서 평점 데이터가 중요: Implicit vs. Explicit feedback
6. 평점 데이터를 얻는 것이 쉬운가?
7. 리뷰가 있다면 평점을 대체할 수 있지 않은가?
29. 4.1.1 상품카테고리 분류의 어려움
불충분하고 노이즈가 많은 데이터.
1. 불충분하고 노이즈가 많은 데이터
2. 사람은 편하게 일하려고 한다.
3. 이미지로 할려고 하니
4. 쓸 수 있는 메타정보가 제한적
5. (해외직배송)살랑 살랑(정성껏 최선을 다하
겠습니다.)
30. 4.1.1 상품카테고리 분류의 어려움
카테고리 체계의 일관성
카테고리 별 아이템의 분포 (long-tail = class imbalance)
1
10
100
1000
10000
100000
1000000
0 1000 2000 3000 4000 5000
0
200
400
600
1 3 5 7 9 11 13 15 17
Leaf category index
#ofcategoryitems
#ofcategories
Log2(# of category items)
[Ha et al. 2016]
31. 4.1.1 상품카테고리 분류의 어려움
기존 상품 카테고리 분류 기법들
1. Category ontology
1. Taxonomy-based method [Papadimitriou et al. 2013]
2. 상품 taxonomy가 필요하다.
2. Text classification [Shen et al. 2012a, b]
1. 상품의 텍스트 메타정보를 이용
2. Bag-of-words
3. 계층화된 classification (대분류 / 소분류)
4. SVM의 한계
추가정보도 필요 없고 빅데이터에 적합하며 sparsity 문제도 없는 방
법을 만들어보자
32. 4.1.2 상품 데이터
6가지 메타정보를 이용하여 상품의 representation으로 활용
Var
x(1) 상품명 스타일좋은 여성지갑
x(2) 브랜드명 루이 까또즈
x(3) 상위카테고리 잡화
x(4) 판매자
x(5) 제조사명 루이 까또즈
x(6) 이미지 정보
y 세부 카테고리 여성지갑
(1) (2) (6)
{ , } { , ,..., , }d y y x x x x
33. 4.1.2 상품 데이터
실험 데이터: 94.8M NAVER Shopping 상품, 4116 세부카테고리, 280만 고유 단어
상위 카테고리 세부카테고리수 전체 카테고리당
데이터수
의류
잡화
화장품
가전
가구 인테리어
영유아
식음료
스포츠 레저
건강
여행 문화
면세점
전체
34. 4.1.3 상품분류 모델
Deep Categorization Networks (DeepCN)
1. Recurrent layers: 피처 생성 / FC layers: 카테고리 분류
2. 각 메타정보마다 RNN을 할당
RNN
스타일리쉬한
RNN
해변용
RNN
래쉬가드
RNN
남태평양
RNN
스윔웨어
RNN output RNN output
수영복 (0.324)
Item-name RNN Brand-name RNN
35. 4.1.3 상품분류 모델
상품 모델 및 비교모델
1. DCN-6R: 6개의 RNN을 사용하는 모델
2. DCN-1R: 모든 메타정보를 하나의 긴 word sequence RNN 입력으로 사용하는 모델
3. BN_BoW: Unigram 기반의 Bayesian networks
성능 지표: 상대 정확도(Relative accuracy)
1. DCN-6R의 모든 세부 카테고리에 대한 분류 정확도를 기준으로 사용
( ; )
( ; )
D
D
36. 4.1.4 상품 카테고리 분류 결과
상위 카테고리 별 분류 성능
상위 카테고리 DCN-6R DCN-1R BN_BoW
의류 1.004 0.984 0.696
잡화 0.895 0.866 0.443
화장품 1.011 0.976 0.823
가전 1.108 1.091 0.852
가구 인테리어 0.983 0.952 0.665
영유아 0.956 0.926 0.740
식음료 1.033 1.005 0.791
스포츠 레저 1.016 0.985 0.713
건강 0.992 0.963 0.628
여행 문화 1.197 1.193 0.930
면세점 1.027 1.008 0.101
전체 1.000* 0.974 0.676
37. 4.1.4 상품 카테고리 분류 결과
개별 RNN사용의 효과
0.9
0.92
0.94
0.96
0.98
1
1 2 3 4 5
DCN-6R
DCN-1R
카테고리 별 피처 표현
38. 4.1.4 상품 카테고리 분류 결과
세부 카테고리 및 카테고리 상품 수에 따른 분류 성능 분석
1
10
100
1000
10000
100000
1000000
0 0.5 1
Accuracy of leaf category / 3Q accuracy
#ofitemsofleafcategory
0
100
200
300
400
0
400
800
1200
1600
# of leaf categories
# of leaf category items
39. 4.1.5 모델 파라미터의 효과
Recurrent layer 및 FC layer의 모델 파라미터 효과
0.8
0.85
0.9
0.95
1
1 2 3 4 5
|V|=100
|V|=50
|V|=10
0.8
0.85
0.9
0.95
1
1 2 3 4 5
|h|=600 |h|=150
40. 4.1.5 모델 파라미터의 효과
Layer 개수에 따른 정확도와 학습시간 분석
0.8
0.85
0.9
0.95
1
1 2 3 4 5
R=2, F=2
R=2, F=1
R=1, F=2
20
22
24
26
28
30
R1,F2 R2,F1 F2,R2 DCN-1R
Trainingtime(103sec/iter)
41. 4.1.6 사용된 세부 메타정보의 효과
Layer 개수에 따른 정확도와 학습시간 분석
상위 카테고리 이미지 정보 제외 이미지정보와 판매자 제외
의류 0.983 0.901
잡화 0.958 0.870
화장품 0.981 0.908
가전 0.975 0.929
가구 인테리어 0.965 0.885
영유아 0.970 0.882
식음료 0.980 0.890
스포츠 레저 0.977 0.888
건강 0.966 0.884
여행 문화 0.997 0.974
면세점 0.994 0.814
전체 0.977 0.893
43. 4.2.1 리뷰 분류의 어려움
영화 리뷰 데이터
1. 리뷰는 진정한 구어체 natural language
- 이 영화 정말 재미 있어~, 뭐 이런 영화가 다 있어 정말 돈 아깝다.
- ㅋㅋㅋ 뭥미, 헐 대박 짱 …
2. 이중, 삼중 부정에 의한 모호성
- 주인공의 잘생긴 얼굴 외엔 생각 나는 것이 없다
- 엄청 재미없다고 하기엔 볼만한 게 있지만 추천은 못하겠다.
3. Data imbalance (긍정 >> 부정)
44. 4.2.1 리뷰 분류의 어려움
기존의 접근 법
1. 단어의미 및 lexicon 기반의 접근법 [Choi et al. 2016]
- 문법 고려하여 전체적인 시맨틱 이해 sentiment classification
- 단어 의미와 유사성은 WordNet과 같은 semantic network 사용
- Parser가 반드시 필요함
2. Recursive NNs [Socher et al . 2011, 2013]
- 개별 단어부터, phrase, 전체 문장 수준의 sentiment 분석 가능
- 별도의 semantic network 필요 없음
- 문법을 위한 Parser가 반드시 필요함
WordNet도 안쓰고 Parser도 필요없는 방법 만들자
45. 4.2.2 리뷰 데이터
영화 리뷰 데이터
Var
x(1) 정방향 리뷰 이 영화 정말 잼나
x(2) 역방향 리뷰 잼나 정말 영화 이
(1) (2)
{ , } { , , }d y y x x x { , }y P N
1. Positive: 10점 / Negative: 1점
2. 고유 단어 수: 72만개
3. 훈련/검증/테스트: 140만 / 10만 / 10만 (클래스 균형 맞춤)
46. 4.2.3 리뷰 분류 모델
Deep Review Networks
1. Recurrent layers: 피처 생성 / FC layers: 카테고리 분류
2. 각 메타정보마다 RNN을 할당
RNN
정말
RNN
굿
RNN
굿
RNN
정말
RNN output RNN output
긍정 (0.922)
47. 4.2.4 리뷰 분류 결과
Var
분류
정확도
비교 모델 및 평가 지표
1. DRN (Deep Review Model)
2. Recursive NN [Socher et al. 2013]
3. 평가지표: 상대 정확도 = Recursive NN / DRN
49. 5.1 결론 및 향후 연구
결론
향후 연구
1. 시퀀스 모델링이 BoW에 비해 텍스트 마이닝에서 좋은 성능을 보임
2. 세부 attribute별로 RNN을 분할 하는 것이 성능 향상을 가져옴
3. 별도 Parser나 시맨틱 온톨로지 불필요
4. Recurrent layer가 중요
1. 다양한 도메인에 적용
2. 속도 측면 퍼포먼스
3. 다양한 튜닝
50. 5.2 회사개발 기술 논문작성 삽질기
오랜만에 쓰는 논문이라 삽질의 연속
1. 학교 연구실 vs. 회사
- 연구실엔 나 말고도 모든 사람들이 논문 준비 중, 교수님도 계심 그러나 회사에선…
2. 제출 기한에 여유 있게 준비하자!
- 수정은 하면 할 수록 글이 이뻐진다.(회사내 영어 잘하시는 분들 적극 활용)
- 언제 어디서 급한 일이 떨어질 지 모른다!
3. Target conference / journal 을 잘 정하자, Industry session!!
4. 논문을 위한 실험도 반드시 필요하다
- 리뷰어들이 하기 가장 좋은 리뷰: 비교실험은요?
5. 호연지기!! 원래 논문은 리젝 당하는 것이 정상이다.
51. References
J.-W. Ha, H. Pyo, & J. Kim, 2016. Large-Scale Item Categorization in e-Commerce Using Multiple Recurrent Neural
Networks, KDD 2016
T. Mikolov et al. 2013. Efficient Estimation of Word Representations in Vector Space, arXiv.org
T. Mikolov et al. 2013. Distributed representations of words and phrases and their compositionality, NIPS 2013
R. Socher et al. 2011. Parsing natural scenes and natural language with recursive neural networks, ICML 2011
R. Socher et al. 2013. Recursive deep models for semantic compositionality over a sentiment treebank, EMNLP 2013
Y. Kim. 2014. 2014. Convolutional neural networks for sentence classification, EMNLP 2014
Zhang et al. 2015. Character-level convolutional networks for text classification, NIPS 2015
Chung et al. 2015. Gated Feedback Recurrent Neural Networks, ICML 2015