53
Deep Recurrent Neural Network를 이용한 대용량 텍스트마이닝 기술 및 실제 응용사례 하정우 NAVER LABS

[226]대용량 텍스트마이닝 기술 하정우

Embed Size (px)

Citation preview

Deep Recurrent Neural Network를 이용한 대용량 텍스트마이닝 기술 및 실제 응용사례

하정우 NAVER LABS

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. Big Text Mining In Real-World

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. Deep Learning for Text Mining

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. New Approach for Text Classification: Multiple RNNs

3.1 Data Representation

Data instance

Word sequence or TF/IDF

기존 텍스트 데이터 표현 방법.

3.1 Data Representation

Attribute 1 Attribute 2 Attribute 3 Attribute M

Word sequence

Word sequence

Word sequence

Word sequence

Data instance

제안하는 방법

3.1 Data Representation

언론사 기자명 제목 기사본문

**일보 홍길동, 장길산 [기획취재] 강남 부동산 재개발의 명과 암

최근 들어 ~~

신문 기사

3.1 Data Representation

언론사 기자명 제목 기사본문

**일보 홍길동, 장길산 [기획취재] 강남 부동산 재개발의 명과 암

최근 들어 ~~

신문 기사

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. Two Applications: - Item categorization - Sentiment analysis

4 우리가 풀려는 문제

여기에서 다루는 매우 실제적인 두 가지 문제 1. 대용량 상품에 대해 텍스트 메타정보로부터 카테고리 자동 분류하기

2. 네이버 영화 리뷰의 긍정/부정 자동 평가하기

이 영화 진짜 너무…. 좀… 짱이다 긍정? 부정?

4 우리가 풀려는 문제 왜 이 문제들이 중요할까? 1. 짧은 비디오 클립부터 한편 감상

2. 상품 세부 카테고리 웹페이지 상에 노출될 위치 및 레이아웃을 결정

3. 상품 검색 시 상품 카테고리 입력

4. 고객만족도와 밀접한 연관 매출에 영향

5. 추천에 있어서 평점 데이터가 중요: Implicit vs. Explicit feedback

6. 평점 데이터를 얻는 것이 쉬운가?

7. 리뷰가 있다면 평점을 대체할 수 있지 않은가?

4.1 대규모 상품 카테고리 분류

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 상품 카테고리 분류 결과 개별 RNN사용의 효과

0.9

0.92

0.94

0.96

0.98

1

1 2 3 4 5

DCN-6R

DCN-1R

카테고리 별 피처 표현

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 영화 리뷰 긍/부정 분류

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. Concluding remarks & Future work

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

Q&A

Thank You