[226]대용량 텍스트마이닝 기술...
TRANSCRIPT
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
1.1 텍스트 마이닝
텍스트 마이닝(Text mining)[Wikipedia.org]
Text DB (Docs, Web, etc)
High-quality Information
Text mining
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
1.1 텍스트 마이닝
NAVER에서의 텍스트 마이닝 문제
뉴스 기사
정치
경제
사회
IT
스포츠
연예
[Text classification]
뉴스 기사
[Keyword extraction]
10월
환율
수출
하락
악영향
침체
네이버 블로그, 카페, 지식인 등
[Knowledge extraction]
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
1.2 텍스트 마이닝 기법
Mining methods 1. Pattern matching
2. Correlation coefficient
3. Information theory – Entropy
4. Supervised / unsupervised learning
1. SVM, Naïve Bayes Classifier, Bayesian networks
2. Clustering, topic modeling (LSA, pLSA, LDA, HDP)
5. Discrete vs. Continuous bag-of-words
1.2 텍스트 마이닝 기법 기존 Text mining 방법들의 한계 1. Symbolic semantics
1. Well-defined semantic networks & continuously refining
2. General domain ok. But specific domain (뽀로로 펭귄 vs 일반적 펭귄)
3. Phrase / sentence / document-level similarity?
2. TF / IDF based on Bag-of-words, N-gram
1. High-dimensionality and sparsity
- Vocabulary size = dimensionality (over 2 million)
2. Word-level similarity?
3. Smoothing: Kneser-Ney, Katz’s back-off [Katz et al. 1987]
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
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
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
2.4 Recurrent Neural Networks RNN, LSTM, GRU [Chung et al. 2015]
Chung et al. 2015. Gated Feedback Recurrent Neural Networks, ICML 2015
3.1 Data Representation
Attribute 1 Attribute 2 Attribute 3 Attribute M
Word sequence
Word sequence
Word sequence
Word sequence
Data instance
제안하는 방법
3.2 Deep Multiple RNNs
Input layer
RNN(1) RNN(2) RNN(m) RNN Output
Concatenation layer
h(1)
h(2)
Output layer
(Softmax)
𝑟𝑡=01,2
𝑟𝑡=01,1
𝑟𝑡=𝑇1,2
𝑟𝑡=𝑇1,1
𝑟𝑡=0𝑚,2
𝑟𝑡=0𝑚,1
𝑟𝑡=𝑇𝑚,2
𝑟𝑡=𝑇𝑚,1
…
[Ha et al. 2016]
3.2 Deep Multiple RNNs Recurrent layers
(1) (1) x1 11 (1) (1)1
R R R R R Rm 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 nm t m m m t m m mtf W W
h h h b
Fully connected layers ( ) ( )
1 1
R n R nmT Tm
u h h ( ) ( ) ( 1) ( 1) ( )F a F a F a a F a F af W h h b (1) (1) 21 (1)F F F Ff W h u b
Softmax function
( )
( )
( )
exp( | )
exp
F lkF l
k F lyy Y
P y
w hh
w h
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 nE y y
y y
( ) ( )
1 1
1ˆlog
N Cn n
c c
n c
E y yN
i ii
E
w ww
ii
E
x
w
( ) ( ) 2
2
ˆ 1 tanh ( ) , if
1 tanh ( ) , if
n ni 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 ttt
w w h
( 1) ( 1) ( 1)
1( )
Tn n n n R ni i i tt
t
w w h
3.2 Deep Multiple RNNs
Preprocesssing Text DB Preprocessed
textual / nominal data DB
RNN1 RNNm …
Concatenated word vector Input layer
Hidden layer
Output layer (Softmax)
Hidden layer …
FFNN
DeepMRNN
RNN2
RNN
3.2 Deep Multiple RNNs Multiple RNN 사용의 장점 1. Attribute 별 의미의 모델링 가능 의미모호성 최소화
2. 단어 시퀀스의 길이 축소 가능 Vanishing gradient 회피
3. 별도의 Parser가 필요 없음 Recursive NN 대비
Multiple RNN 사용의 단점 1. RNN의 수에 따른 학습 시간
2. Attribute 구분이 명확하지 않을 때
4 우리가 풀려는 문제
여기에서 다루는 매우 실제적인 두 가지 문제 1. 대용량 상품에 대해 텍스트 메타정보로부터 카테고리 자동 분류하기
2. 네이버 영화 리뷰의 긍정/부정 자동 평가하기
이 영화 진짜 너무…. 좀… 짱이다 긍정? 부정?
4 우리가 풀려는 문제 왜 이 문제들이 중요할까? 1. 짧은 비디오 클립부터 한편 감상
2. 상품 세부 카테고리 웹페이지 상에 노출될 위치 및 레이아웃을 결정
3. 상품 검색 시 상품 카테고리 입력
4. 고객만족도와 밀접한 연관 매출에 영향
5. 추천에 있어서 평점 데이터가 중요: Implicit vs. Explicit feedback
6. 평점 데이터를 얻는 것이 쉬운가?
7. 리뷰가 있다면 평점을 대체할 수 있지 않은가?
4.1.1 상품카테고리 분류의 어려움
불충분하고 노이즈가 많은 데이터. 1. 불충분하고 노이즈가 많은 데이터
2. 사람은 편하게 일하려고 한다.
3. 이미지로 할려고 하니
4. 쓸 수 있는 메타정보가 제한적
5. (해외직배송)살랑 살랑(정성껏 최선을 다하
겠습니다.)
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
# o
f ca
tegory
ite
ms
# o
f ca
tegories
Log2(# of category items)
[Ha et al. 2016]
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 문제도 없는 방법을 만들어보자
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
4.1.2 상품 데이터 실험 데이터: 94.8M NAVER Shopping 상품, 4116 세부카테고리, 280만 고유 단어
상위 카테고리 세부카테고리수 전체 카테고리당데이터수
의류
잡화
화장품
가전
가구 인테리어
영유아
식음료
스포츠 레저
건강
여행 문화
면세점
전체
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
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의 모든 세부 카테고리에 대한 분류 정확도를 기준으로 사용
( ; )( ; )
DD
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
4.1.4 상품 카테고리 분류 결과 세부 카테고리 및 카테고리 상품 수에 따른 분류 성능 분석
1
10
100
1000
10000
100000
1000000
0 0.5 1
Accuracy of leaf category / 3Q accuracy
# o
f item
s of le
af ca
tegory
0
100
200
300
400
0
400
800
1200
1600# of leaf categories
# of leaf category items
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|=100.8
0.85
0.9
0.95
1
1 2 3 4 5
|h|=600 |h|=150
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=220
22
24
26
28
30
R1,F2 R2,F1 F2,R2 DCN-1R
Tra
inin
g t
ime
(10
3se
c/it
er)
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
4.2.1 리뷰 분류의 어려움 영화 리뷰 데이터 1. 리뷰는 진정한 구어체 natural language
- 이 영화 정말 재미 있어~, 뭐 이런 영화가 다 있어 정말 돈 아깝다.
- ㅋㅋㅋ 뭥미, 헐 대박 짱 …
2. 이중, 삼중 부정에 의한 모호성
- 주인공의 잘생긴 얼굴 외엔 생각 나는 것이 없다
- 엄청 재미없다고 하기엔 볼만한 게 있지만 추천은 못하겠다.
3. Data imbalance (긍정 >> 부정)
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도 필요없는 방법 만들자
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만 (클래스 균형 맞춤)
4.2.3 리뷰 분류 모델 Deep Review Networks 1. Recurrent layers: 피처 생성 / FC layers: 카테고리 분류
2. 각 메타정보마다 RNN을 할당
RNN
정말
RNN
굿
RNN
굿
RNN
정말
RNN output RNN output
긍정 (0.922)
4.2.4 리뷰 분류 결과
Var
분류
정확도
비교 모델 및 평가 지표 1. DRN (Deep Review Model)
2. Recursive NN [Socher et al. 2013]
3. 평가지표: 상대 정확도 = Recursive NN / DRN
5.1 결론 및 향후 연구 결론
향후 연구
1. 시퀀스 모델링이 BoW에 비해 텍스트 마이닝에서 좋은 성능을 보임
2. 세부 attribute별로 RNN을 분할 하는 것이 성능 향상을 가져옴
3. 별도 Parser나 시맨틱 온톨로지 불필요
4. Recurrent layer가 중요
1. 다양한 도메인에 적용
2. 속도 측면 퍼포먼스
3. 다양한 튜닝
5.2 회사개발 기술 논문작성 삽질기 오랜만에 쓰는 논문이라 삽질의 연속 1. 학교 연구실 vs. 회사
- 연구실엔 나 말고도 모든 사람들이 논문 준비 중, 교수님도 계심 그러나 회사에선…
2. 제출 기한에 여유 있게 준비하자!
- 수정은 하면 할 수록 글이 이뻐진다.(회사내 영어 잘하시는 분들 적극 활용)
- 언제 어디서 급한 일이 떨어질 지 모른다!
3. Target conference / journal 을 잘 정하자, Industry session!!
4. 논문을 위한 실험도 반드시 필요하다
- 리뷰어들이 하기 가장 좋은 리뷰: 비교실험은요?
5. 호연지기!! 원래 논문은 리젝 당하는 것이 정상이다.
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