반응형
위 강의노트는 고려대학교 산업경영공학부 대학원 강필성 교수님의
비정형데이터분석 (Text Analytics) 을 듣고 정리한 강의노트입니다.
Word-level: NNLM
Distributed Representation: Word Embedding
Word Embedding
어떤 단어를 의미론적으로 유사한 단어는 서로 가까운 공간상에 위치하도록 특정 공간의 vector space로 매핑하는 것
Word vectors: one-hot vector
- 가장 단순하고 직관적인 표현
- 특정 단어의 인덱스에 대해 그 단어가 맞으면 1, 아니면 0
wat=[0,0,1,…,0], wzebra=[0,0,0,…,1] - 단어 사이의 유사도가 보존되지 않는다.
(whotel)Twmotel=(whotel)Twcat=0
Word vectors: distributed representation
- 단어들을 임의의 차원을 갖는 벡터로 바꾸는 parameterized function(하나의 표현식에 대해 다른 parameter를 사용하여 다시 표현하는 과정)을 찾는다.
W:words→Rn , (n<<|V|) - 의미론적인 차이가 단어의 벡터 차이에 보존이 된다.
- v(king)−v(queen)≃v(man)−v(woman)
- v(walking)−v(walked)≃v(swimming)−v(swam)Neural Network Language Model (NNLM)
Purpose
distributed representation을 통해 one-hot-encoding의 curse of dimensionality(차원의 저주)를 해결
- 각 단어들을 분산된 word feature vector로 표현
- 단어 sequences의 결합 확률 분포를 통해 해당하는 단어들의 조합이 발생할 확률을 계산
- 어떤 feature vector가 좋은 것인가 2. 단어 sequences의 probability가 높게 / 두 가지를 학습하겠다.
Why it works?
우리가 dog and cat
이 (의미적으로나 종합적으로) 비슷한 역할을 한다는 것과 (the,a), (bedroom, room), (is, was), (running,walking)
에 대한 유사성을 안다면 자연스럽게 일반화할 수 있다.
e.g.) The cat is walking in the bedroom 이 하나의 문장을 통해
A
dog
was
running
ina
room
- The cat is
running
ina
room
A
dog
is walking ina
bedroom- The
dog
was
walking in theroom
등을 전부 generation 할 수 있다.
Comparison with Count-based Language Models
Count-based Language Models
- Chain rule에 의해 w1 부터 wt 까지 발생할 결합확률분포는 P(w1)P(w2|w1)P(w3|w1w2)…
- 100번째 단어를 만드는 Language Model을 사용하려면 99개의 단어를 모두 본 다음 100번째 단어를 봐야하는데, 99개 단어 sequence가 같은 조합을 찾기가 거의 불가능함
- Markov assumption: 모두 보는 것이 아닌 기존의 n-gram 만큼만 보고 예측하자
NNLM
- 단어는 특정 공간 Rn상의 dense vector이다. (n<<|V|)
- wt∈R|V| : One-hot representation of word ∈V at time t
- ⇒xt=Xwt : Word embedding (X∈Rn×|V|,n<|V|)
(X가 가져올 look-up table이고 embedding matrix이다.) - 다음 단어를 예측하는 neural network을 학습
(w1 부터 wt−1 가 주어지면 wt가 과연 j일지를 찾고자 하는 것)
NNLM Architecture

- shared parameters across words: look-up table (word embedding이 저장되어 있는 table)은 전부 다 공용으로 사용한다. (각 Matrix C(wi)들이 같은 table에서 왔다는 뜻)
- 초록색의 실선은 모델이 그대로 연결되어있는 부분, 점선은 Optional (output을 만들 때 hidden node를 뛰어넘고 input->output 연결하는 skip connection이 존재할 수도 있다)
Learning NNLM
- 좋은 모델 f(전체 단어가 아닌 window에 해당하는)를 찾는 것
e.g.) 5-gram: 앞선 4개에 단어에 대해 5번째 단어를 예측하는 상황에서 확률이 극대화되는 함수 또는 모델 - 제약 조건
- 어떤 조건에서도 이후 단어들이 생성될 확률의 총합은 1
- f≥0 (각 단어가 생성될 확률은 0보다 크거나 같아야 함)
Decompose the function f
f(wt,…wt−n+1=ˆP(wt|wt−11)
- A mapping C (look-up table)
- The probability function over words, expressed with C
f(i,wt,…,wt−n+1=g(i,C(wt),…,C(wt−11)) - The function f is a composition of these two mappings (C and g), with C being shared across all the words in the context
y=b+Wx+U⋅tanh(d+Hx)
- Wx는 optional, U⋅tanh(d+Hx) 는 필수적인 부분
- x는 word features
- h는 hidden units 개수
Stochastic gradient ascent
요약
- Word Embedding
단어를 의미가 비슷한 단어끼리 서로 가까운 공간에 위치하도록 매핑하는 것 - Word Vectors
- one-hot vector
- 특정 단어의 인덱스에 대해 그 단어가 맞으면 1, 아니면 0
- 단어 사이의 유사도가 보존되지 않는다. (내적이 무조건 0)
- distributed representation
- 단어들을 임의의 차원을 갖는 벡터로 바꾸는 parameterized function을 찾는다.
- 단어 사이의 유사도가 보존된다.
- one-hot vector
- Neural Network Language Model (NNLM)
- Count-based Language Models
- Chain rule에 의해 w1 부터 wt 까지 발생할 결합확률분포를 계산
- 모든 이전 단어들을 보기 힘드니 마르코프 가정을 통해 n개만 보자
- NNLM
- look-up table에서 word embedding을 가져와 다음 단어를 예측하는 neural network을 학습한다.
- 어떤 조건에서도 이후 단어들이 생성될 확률의 총합은 1이고, 각 단어의 확률은 0 이상이다는 제약조건을 가진다.
- Count-based Language Models
반응형
'딥러닝과 자연어처리 (DL & NLP) > 강의노트 - Text Analytics (고려대 강필성 교수님)' 카테고리의 다른 글
[강의노트] 05-3 Text Representation II - Distributed Representation Part 3 (GloVe & FastText) (0) | 2024.07.20 |
---|---|
[강의노트] 05-2 Text Representation II - Distributed Representation Part 2 (Word2Vec) (0) | 2024.07.13 |
[강의노트] 04 Text Representation I - Classic Methods (0) | 2024.07.09 |
[강의노트] 02-3 Text Preprocessing - Part 3 (0) | 2024.06.29 |
[강의노트] 02-2 Text Preprocessing - Part 2 (0) | 2024.06.28 |
댓글