Word Embedding 방법론 중에 하나인 Word2Vec을 알아보겠습니다.
1.임베딩(Embedding)이란?
사람이 쓰는 자연어를 기계가 이해라 수 있는 숫자의 나열인 벡터(Vector)로 바꾼 결과 혹은 그 과정 전체를 의미합니다.
단어나 문장 각각을 벡터로 변환해 벡터 공간(Vector Space)로 '끼워 넣는다(embedded)'는 의미에서 임베딩이라는 이름을 붙였다고 합니다.
1) 임베딩 특징
(1) 단어/문장 간 관련도 계산
단어 벡터를 사이의 유사도를 계산
ex)코사인 유사도
(2) 의미/문법 정보 함축
단어 벡터 간 덧셈/뺄셈을 통해 단어 사이의 의미적, 문법적 관계 도출
(3) 전이 학습
임베딩을 다른 딥러닝 모델의 입력값으로 쓰는 기법
대규모 말뭉치를 활용해 임베딩을 미리 만들어 놓음 -> 임베딩에는 의미적, 문법적 정보가 담겨 있음
ex) Word2Vec(임베딩) -> Bidirectioanl LSTM(딥러닝)
2) 단어 수준 임베딩이란?
단어 수준 임베딩 기법들은 벡터에 해당 단어의 문맥적 의미를 함축합니다.
단어 수준 임베딩 기법의 단점은 동음이의어를 구분하기 어렵습니다.
단어의 형태가 같다면 동일한 단어로 보고 모든 문맥 정보를 해당 단어 벡터에 투영하기 때문입니다.
2.임베딩에 자연어 의미 함축
자연어의 통계적 패턴 정보를 임베딩에 투입합니다.
자연어의 의미는 언어 화자들이 실사용 일상 언어에 반영되기 때문에 통계적 패턴 정보가 유의미한 것입니다.
임베딩을 만들 때 쓰는 통계적 정보 3가지
-Bag of Words: 문장에 어떤 단어가 많이 쓰였는가 -> 빈도
-Language Model : 단어가 어떤 순서로 쓰였는가 -> 단어의 등장 순서
-Distributional Hypothesis : 어떤 단어가 같이 쓰였는가? -> 문맥
Distributional Hypothesis
Words that occur in similar contexts tend to be similar(Z.S. Harris, American Linguist, 1992) |
어떤 단어들이 비슷한 문맥 환경에서 자주 등장한다면 그 의미 또한 유사할 것이라는 전제입니다.
예시) 나는 서점에서 책을 구매했다.
나는 서점에서 잡지를 구매했다.
나는 서점에 교재를 구매하러 갔다.
3. Word2Vec
분포 가정(Distributional Hypothesis) 대표적인 모델은 Word2Vec입니다.
Mikolov (et al.2013a) Efficient Estimation of Word Representations in Vector Space에서 단어 임베딩 모델 2가지를 공개했습니다.
CBOW(Continuous Bag of Words)
: 주변에 있는 문맥 단어(context word)들을 가지고 타깃 단어(target word) 하나를 맞추는 과정에서 학습
Skip-gram
:타깃 단어를 가지고 주변 문맥 단어가 무엇일지 예측하는 과정에서 학습
두 모델 비교
위의 그림에서 Skip-gram이 1번 학습하는 것으로 보일 수 있지만, 실제로는 w(t)->w(t-2), w(t)->w(t-1), w(t)->w(t+1), w(t)->w(t+2) 4번 학습하는 것입니다.
이렇게 CBOW와 Skip-gram은 학습의 방식이 다른데 장단점이 다릅니다.
CBOW는 훈련횟수가 적다보니 Skip-gram에 비해 속도가 빠릅니다. 그리고 빈번한 단어들 대상으로는 정확도가 조금 높습니다.
Skip-gram은 훈련데이터 양이 적더라도 성능이 좋고 데이터에서 빈도가 적은 단어 또는 구에 대한 표현에 강합니다.
페이퍼에서도 밝혔지만, 실제 실험에서도 Skip-gram의 성능이 더 좋습니다.
4.언어학자가 바라보는 Word2Vec
언어학자가 바라보는 Word2Vec에 대한 분석이 궁금하다면,
고려대 최재웅 교수님의 '숫자로 표상된 의미:딥러닝 시대의 의미론'(2018)을 보시는 것을 추천드립니다.
아래 표는 기사 말뭉치를 모델을 생성하여 실제 국립국어원 표준국어대사전의 어휘 정의와 유사한지 확인한 실험입니다.
'교양' 명사의 여러 갈래뜻(word sense) 중에 '교양_02'가 실제로 비슷한 어휘 목록과 코사인 유사도 높은 수치임을 확인할 수 있습니다.
참조
Mikolov et al.2013a, Efficient Estimation of Word Representations in Vector Space
이기창(2019), 한국어 임베딩, 에이콘 출판.
최재웅(2018), 숫자로 표상된 의미:딥러닝 시대의 의미론'
'자연어처리' 카테고리의 다른 글
Transformer - 당신이 필요로 할 장독대 (0) | 2021.06.10 |
---|---|
MRC - 언어능력평가 (0) | 2021.06.09 |
Seq2Seq - 입력과 출력 (0) | 2021.05.22 |
RNN & LSTM - 시퀀셜 데이터 학습 (1) | 2021.05.22 |
NLP 벤치마크 데이터셋 - 영어와 한국어 (1) | 2021.05.06 |