본문 바로가기

NLP-CS224N

CS224N - lecture 2 “Word Vectors and Word Senses”

728x90
반응형

Lecture 2. Word Vectors and Word Senses

참고

Index

  1. Optimization
  2. Word Prediction Methods
  3. GloVe: Global Vectors for Word Representation
  4. How to evaluate word vectors
  5. Word sense and word sense ambiguity

Optimization

  • Gradient Descent Algorithm (GD)
    • 로스를 최소로 하는 세타를 찾아가는 알고리즘.
  • Stochastic Gradient Descent (SGD)
    • GD 는 corpus 의 모든 단어를 고려하기 때문에 비교적 정확한 방향으로 이동 하지만 학습속도가 매우 느림
    • 랜덤하게 샘플을 뽑아서 그라디언트를 계산 후 세타를 업데이트함. 하나의 데이터 만을 고려하기 때문에 길을 헤맬 수 있으므로 이를 해소하기 위한 배치를 사용

Word Prediction Methods

  • Count Based Vs. Direct Prediction
  • Count Based
    • 빠른 학습 속도, 효율적으로 통계 정보 사용 가능(Co-occurence matrix)
    • 주로 단어간의 유사성 여부만 포착 가능(단어간의 관계 고려 불가)
      • 대출, 통장 이라는 단어 주변에 “은행" 빈도 높게 등장하여 은행-대출, 은행-통장 이라는 유사성은 포착 가능하지만, 의미론 적으로 대출, 통장 관계를 고려할 수 없음.
    • 큰 빈도수에 과도하게 중요도 부여
  • Direct Preiction
    • 모든 단어에 대한 내적 값을 구하여 이진트리로 표현하므로 단어 간의 관계를 학습 할 수 있음.
    • Corpus size 크기에 따라 성능 영향이 치명적임
    • Target word 와 주변단어를 고려하여 예측 하므로 context 주변 단어만큼이 window-size 가 됨.
  • 따라서 “Count Based” 는 co-occurence M 를 통해 단어간 유사도는 알 수 있지만 단어간 관계를 알수 없고, “direct prediction (cbow, skipgram)” 은 단어간 관계는 알 수 있지만 window-size가 클 수록 연산 버든이 커짐.
    이와같은 각각의 단점을 보완하여 통계적 유사도와 단어간 관계를 같이 계산 할 수 있는 기법으로 “GloVe” 등장.

GloVe: Global Vectors for Word Representation

  • Glove Objective Function
    • GloVe 의 목적함수는 임베딩된 두 단어벡터의 내적이 말뭉치 전체에서의 동시 등장확률 로그값이 되도록 정의
      • f(Xij) 의 where 박스는 특정 단어가 지나치게 빈도수가 높아서 Xij 가 튀는 현상을 방지하기 위해 추가한 함수(0~1로 가두는 활성화함수로 이해해도 좋을 듯)
  • Motivation - Encoding Meaning in vector differences
    • Key: 동시등장 확률의 비율(Ratio of co-occurence proba) 은 이 비율을 구성하는 단어들 간의 관계(Relationship) 를 표현하는데 사용 할 수 있다 → 단어간 유사도를 표현하는 co-occurence M 의 proba raio 를 계산하여 단어간 관계를 표현 할 수 있음.
    • 벡터 매트릭스 확률을 가지고 “ice” 가 포함 된 context 에 “solid” 가 등장 할 확률을 구할 수 있음. 즉 Ratio of co-occurence proba 정보를 인코딩 하여 단어 벡터 공간 안에 표현.
    • 1.36, 0.96 으로 단어 간 강한/약한 상관 관계값을 얻을 수 있었음. 그러나 이것은 space 상의 Ratio of Co-occ Proba.
    • 이 ratio 를 선형(linear)의 의미적 요소(meaning components) 가 되게 하려면(저 확률값에 선형관계를 부여 하려면. (activation function 통과 시키려면 선형정의 필수.)
    • word vector 들의 내적이 log(co-occ proba) 와 같아지게 정의 해야 함.(목적함수).
    • 다시 말하면, wi*wj = logP(i | j) 로 정의하면 두 벡터 간의 차이를 linear 하게 표기 할 수 있음.
    • x=solid, a=ice, b=steam
    • solid*(ice - steam) ←두 단어의 벡터가 logP 와 같다를 설명하기 위해 두 벡터간의 차이를 linear 한 형태로 표기하고 있음.
    • log 를 취해주는건 ceiling(limit) 역할과 비슷한데 the, he, she 등 매우 빈도높게 등장하는 단어를 보정 할 수 있음.
    • 즉, 두 단어의 벡터를 내적하면 corpus 전체에서 두 단어가 동시에 등장하는 로그확률값이 되도록 목적 함수 설정
    • (이해를 위한 추가 설명) 단어의 동반 출현 빈도를 기반으로 의미, 문법정보 학습. (ex> The king is the man. The king is the him. 2개 문장을 학습하여 man→him 으로 대체 가능 함을 학습 할 수 있고, context 에서 동반 출현 빈도가 높다는 것을 알 수 있음.)
    • 벡터 공간에 투영하면 비슷한 의미 혹은 문법 정보를 지닌 단어들은 비슷한 형태의 벡터(방향,크기)를 지니게 됨. 이 벡터를 선형관계로 연결시키는 과정이 목적함수에 포함 되어 있다고 보면 됨.
  • Deriving the Objective Function
    • GloVe 모델의 세 가지 조건
      • center word 는 context word 로 도 등장 할 수 있기 때문에 단어 벡터간 교환 법칙이 성립 해야 함
      • co-occ M 은 대칭적 이여야 함.
      • Homomorphism(이체동형): F(X+Y) = F(X) * F(Y)

How to evaluate word vectors

  • Word Vectors 평가에는 Intrinsic(고유한, 본질적인), Extrinsic( (무엇에 원래 속한게 아니라) 외적인, 외부의) Evaluations 가 있음. 2강은 Intrinsic 에 집중.
  • Intrinsic evaluation 은 vector space addition 이후의 cosine distance 가 얼마나 intuitive semantic(직관적인 의미) & syntactic analogy questions(구문적(통사론적) 비유 문제) 를 잘 잡아내는지를 근거로 word vector 를 평가.
  • GloVe 모델을 사용하면 Linear property 를 포함하는지를 평가
    • intuitive semantic 만 표현한 예시.
      img
728x90
반응형