반응형
위 강의노트는 고려대학교 산업경영공학부 대학원 강필성 교수님의
비정형데이터분석 (Text Analytics) 을 듣고 정리한 강의노트입니다.
Word-level: GloVe
Limitations of Word2Vec
- 과도하게 사용된 단어에 대해 너무 많이 학습
- e.g.) 관사 the가 나올 확률이 너무 높음 P(w|the)
Glove
- matrix factorization method 기반
- V x V 크기의 큰 행렬
- Xij = i가 j와 함께 등장하는 빈도, Xi = 전체 코퍼스에서 단어 i가 등장한 횟수
- Pij=P(j|i)=XijXi
Motivation
- 특정 k라는 단어가 ice와 연관이 높고 steam과는 아니라면 Pik/Pjk 가 커야함
- 단어 k가 steam과 관련성이 높지만 ice와는 아니라면 Pik/Pjk 는 작아야함
- 단어 k가 둘 다 관련있다면 비율은 1에 가까워져야함
Formulation
- 함수 F를 이용하여 세 단어들의 관계를 표현
F(wi,wj,wk)PikPjk - wi와 wj의 관계를 substraction(뺄셈)으로 표현
F(wi−wj,wk)=PikPjk - 두 단어 사이의 차이(관계) wi−wj 와 context word wk 사이의 링크를 만들어 주기 위해 내적으로 하나의 스칼라 값을 만들어줌
F((wi−wj)Twk)=PikPjk
Homomorphism
아래 수식 대신, 아까 변형한 수식을 이용하여 표현한다.
P(solid|ice)P(solid|steam)
F((wi−wj)Twk)=PikPjk
그렇다면 다음과 같이 표현할 수 있다.
P(solid|ice)P(solid|steam)=F((ice−stream)Tsolid)
ice와 steam의 위치를 바꾸면 아래와 같이 빼기 순서가 달라진다.
P(solid|steam)P(solid|ice)=F((steam−ice)Tsolid)
두 식을 정리하면 다음과 같다. (즉, ice와 steam의 위치를 바꾸면 역수가 된다.)
F((ice−steam)Tsolid)=P(solid|ice)P(solid|steam)=1F((steam−ice)Tsolid)
Input
에 대한 항등원 관계를 정리
(ice−steam)Tsolid=−(steam−ice)TsolidF의 output
에 대한 항등원 관계를 정리
F((ice−steam)Tsolid)=1F((steam−ice)Tsolid)
- Need a homomorphism from (R,+) to (R>0,×)
= 입력을 덧셈의 항등원으로 바꿔주면 함수의 출력값은 곱셉의 항등원으로 나오게 되는 Mapping이 필요하다.
= 입력에서의 덧셈은 함수값에서의 곱셈으로 빠져나올 수 있어야 한다. - f(a+b) = f(a)f(b)를 만족해야 하므로, 그 중 우리가 아는 가장 쉬운 함수인 F(x) = exp(x)
Solution
위 식에서 F(x) 대신 exp(x)로 정리하고 로그를 씌우면
wTiwk=logPik=logXik−logXi
logXi 를 bi+bk 로 표현하여 정리하면
wTiwk+bi+bk=logXik
Objective Function
J=V∑i,j=1f(Xij)(wTiwk+bi+bk)2
f(Xij)
- 고 빈도 단어들의 학습에 대한 가중치를 낮춰주는 역할
- (x/xmax)a if x<xmax otherwise 1
Word-level: FastText
Limitations of NNLM, Word2Vec, and GloVe
- 단어가 가지는 morphology 특성을 무시하고 있음
- morphologically rich languages에 대해 적용하기 어렵다 (터키어, 필란드어 등)
Goal
- character n-grams 표현을 학습
- 단어의 분산 표상은 n-gram vectors의 총합으로 표현
Revisit Negative Sampling in Word2Vec
- Word2Vec의 Score는 두 임베딩 사이의 내적을 통해 계산
- FastText의 Score는 w에 대한 n-grams를 정의한 다음, 벡터 표현을 전부다 더해서 내적
- score(w,c)=∑g∈gwzTgvc
- e.g.) apple 하나만 embedding하는 것이 아닌 a부터 ap, app ... apple 전부 더한 것이 apple의 embedding이다. 라는 개념
subword model
- n-gram representation
Word Embedding Examples
- Word Embedding with two different langauges
한 언어만 하는 것이 아닌 서로 다른 언어들과 임베딩 - Word Embedding with Images
단어만 임베딩하는 것이 아닌 이미지, 영상 등의 멀티모달 데이터를 통해서도 임베딩
요약
- GloVe
- Word2Vec는 고빈도 단어를 과도하게 학습하는 문제를 해결하고자 등장
- F(x)
- 입력을 덧셈의 항등원으로 바꿔주면 함수의 출력값은 곱셉의 항등원으로 나오게 되는 Mapping이 필요
- 입력에서의 덧셈은 함수값에서의 곱셈으로 빠져나올 수 있어야 함
- F(x) = exp(x)
- 목적 함수
- f(Xij) 는 고 빈도 단어들의 학습에 대한 가중치를 낮춰주는 역할
- FastText
- 기존 임베딩들이 단어가 가지는 morphology 특성을 무시하는 문제를 해결하고자 등장
- character n-grams 표현을 학습
- 단어의 분산 표상은 n-gram vectors의 총합으로 표현
- subword model
반응형
댓글