본문 바로가기

DeepLearning Specialization(Andrew Ng)/Sequence Models

[코세라] [Week 2_NLP & Word Embedding] 3. Applications Using Word Embeddings

728x90
Applications Using Word Embeddings
1. Sentiment Classification
2. Debiased Word Embeddings

1. Sentiment Classification

 

  • 감정분석에서 가장 큰 도전과제는 labeled training set이 부족하다는 점이다. 

  • 일일이 labelling하기가 힘들다는 뜻이지. 그런데 word embedding을 이용하면 더 적은 훈련데이터로도 학습이 가능하다.

  • 평균을 하는 이유는 문장의 크기와 관계없이 300차원으로 만들어 softmax에 돌리기 위함이지.

  • 다만 단어의 순서를 무시하기에 아래 문장의 경우 좋은 평가라고 오해할 수 있음.

  • 이를 개선하기 위해 RNN을 활용할 수 있음. RNN의 형태는 many-to-one 이며 RNN의 특성상 단어의 순서적인 특성을 고려함.

  • 당연히 엄청 큰 데이터로 훈련된 워드임베딩을 활용하므로 lacking 대신 absent가 와도 비슷한 평가를 내릴 것.


2. Debiased Word Embeddings

  • 여기서 편향(bias)은 편견의 의미.

  • 워드임베딩은 훈련과정에서 위와 같이 그러한 편견을 반영할 수 있다.

  • word embedding matrix를 만드는데 사용되는 텍스트들에 편견이 녹아있기 때문.  

  • 특정 편견의 방향을 알아내야함. 위의 예에서는 성 편견이다. 

  • 만약 워드임베딩 벡터를 그래프 위에 나타낸다면 위와 같이 표현할 수 있는데(물론 300차원이므로 단순화한 형태임), 

  • 같은 의미이나 성만 다른 단어의 벡터를 빼주고 평균을 구해줌으로써 bias direction을 알아낸다. 위의 경우는 오른쪽 방향이 bias direction이 되는 것이다. 

  • 그리고 성편견에 있어 정당한 단어들(예를 들어 할머니나 할아버지와 같은 단어들 = definitional)을 제외한 단어들의 bias를 없애준다. 

    • 정의자체로 성적인 의미를 포함하기에 definitional word이다.
  • 마지막으로 성편견에 있어 정당한 단어들(actor-actress,...)이 gender neutral 한 단어들(doctor, babysitter, ...)로부터 거리가 같은지 확인하고 다르다면 같게 만들어준다.

    • 즉, gender 축을 제외한 다른 축들을 기준으로 대칭이 되게! 왜냐하면 해당 단어들은 'gender' 적인 특성 외에는 다른 차원에서 차이를 가져서는 안되기 때문.

실제로는 더 복잡한 알고리즘인 듯하다. 

 

질문과 비판은 언제나 환영입니다. 많이 꾸짖어주세요.

728x90