-
Notifications
You must be signed in to change notification settings - Fork 0
[논문요약] Cold start aware user and product attention for sentiment classification
Jjungs7 edited this page Jul 25, 2019
·
4 revisions
- 논문 PDF
- Cold start user (리뷰 개수가 5개 정도) 문제 해결.
- HCSC(Hybrid Contextualized Sentiment Classifier)을 적용함. 구성요소:
- Fast hybrid contextualized word encoder
- Cold-start aware attention(CSAA)
- Fast hybrid contextualized word encoder
두 개의 word vector(local(short range), global(long range) context)를 반환한다.
- 단어 사이에 short range relationship을 구한다. CNN 모델에 기반한다.
- Wi는 각각의 단어, n은 convolution 횟수, h 는 필터 사이즈로 정의한다.
- 각 Wi에 convolution을 한다. h는 다양하게 한다(h 가 3 이면 앞뒤로 3개의 단어와 convolution을 한다). Convolution 결과로 n개의 feature vector가 생긴다.
- h 에 따라 벡터 크기가 차이나기 때문에 동적으로 양 끝에 padding을 넣는다.
- n개의 feature vector들을 합쳐서 새로운 word vector W'i 로 정의한다.
- 단어 사이에 long range relationship을 구한다. RNN 모델에 기반한다.
- bidirectional-LSTM을 이용하여 forward, backward hidden state vector를 만든다. 그리고 이들을 합쳐 새로운 벡터를 만든다.
- 단어 사이에 short range relationship을 구한다. CNN 모델에 기반한다.
- Cold-start aware attention(CSAA)
- encoder에서 반환한 벡터와 유저, 상품 정보를 가지고 attention을 부여한다. 이때 cold start user가 있다는 것을 고려한다.
- user/product 에 대한 pooled vector를 각각 만든다. 구성은 다음과 같다:
- distinct pooled vector using original user/product reviews
- shared pooled vector using similar users/products
- selective gate to select between distinct and shared vectors
- 위 세개의 구성요소로 하나의 큰 pooled vector로 만든다.
- pooled vector를 만드는 과정은 다음과 같다:
- distinct pooled vector
- additive attention mechanism과 유사(논문 참고)
- shared pooled vector
- similarity에 따라 pooled vector를 만든다. Similarity 가중치는 µ({wi}) * W * uk에 softmax를 시켜서 구한다. µ({wi})는 word vector들의 평균, uk가 새로 유입된 유저고 W는 project matrix이다.
- distinct pooled vector
모델에 대한 자세한 설명은 논문을 참고하길 바란다. 아래 그림은 HCSC 아키텍처다.