누누와데이터

[논문 리뷰] GloVe: Global Vectors for Word Representation 본문

자연어처리 논문

[논문 리뷰] GloVe: Global Vectors for Word Representation

happynunu 2022. 1. 17. 18:53

1. Introduction

각 단어들은 semantic vector space로 나타내어진다. 이러한 단어 표현은 information retrieval, document classification, question answering, named entity recognition, parsing에 사용되어진다

 

Word vector를 표현하는 일반적인 방법

(1) global matrix factorization methods, such as latent semantic analysis (LSA)

LSA의 특징 : LSA는 효율적으로 통계적 정보를 나타내지만, 단어간의 유사성을 분석하는 일에는 취약하다..

(2) local context window methods, such as the skip-gram model of Mikolov et al. (2013c)

Skip-gram의 특징 : skip-gram는 유사성 분석을 잘하지만, corpus의 통계적 정보를 활용 하는 것에는 취약하다. 이는 skip gram방식이 전역적인 발생정보보다는 지엽적인 문맥 정보에 의거해서 학습을 진행하기 때문이다.

 

Goals of paper

• 단어 의미에 대한 선형적 관계를 산출하는데 필요한 모델의 특징에 대 해서 알아볼 것이다.

• 이를 위한 global log-bilinear regression models 를 소개한다.

• 이 모델은 a specific weighted least squares로 학습이 이뤄지고 단어들 간의 전역적인 co-occurrence를 활용해서 학습을 진행한다. 이러한 학습은 statistics에 대한 효율적인 사용을 나타낸다.

 

 

2. Related work

Matrix Factorization Methods.

: 행렬분해는 저차원의 단어벡터 표현을 만들어내기 위해 방법인데 이러한 방법은 LSA에서 시작되었다. (Latent Semantic Analysis)

 

(1) LSA

  • BoW에 기반한 DTM이나 TF-IDF는 기본적으로 단어의 빈도 수를 이용한 수치화 방법이기 때문에 단어 의 의미를 고려하지 못한다는 단점이 있다.
  • LSA(Latent Semantic Analysis)는 DTM의 잠재된(Latent) 의미를 이끌어내는 방법이다. DTM에서 SVD같 은 행렬분해를 통해서 단어벡터를 구하는 것이다.
  • LSA의 행렬들은 term-document type을 나타내는데, 행들은 각 단어들을 나타내고, 열은 말뭉치에 있는 다른 문서들을 나타낸다. (단어들의 문서발생횟수를 나타내는 것일 것이다.)

(2) the Hyperspace Analogue to Language (HAL)

  • 행렬이 term-term type을 나타낸다. • 이것이 우리가 count based에서 흔히 알고 있는 단어들간의 co-occurrence 행렬의 모습이다.
  • 이러한 방식의 단점은 빈도수가 많은 단어가 비정상적으로 유사도 측정에 영향력을 행사한다는 것이다.
  • 예를들어 the나 and같은 단어는 동시발생 측면에서 빈도수가 큰 단어들이지만, 연관된 의미분석에는 거의 영향력을 행사하지 않는다.

Shallow window-based methods

• local context window내에서 예측을 수행하면서 단어표현을 학습하는 방식이 다. 간단한 뉴럴 네트워크 모델을 차용하며 대표적으로 word2vec이 있다.

• Word2vec은 (1) skip-gram (2)CBOW(continuous bag of words)방식으로 나눠 진다.

• Word2vec의 입력은 모두 말뭉치에 대한 one-hot vector로 이뤄진다.

• 단점은 Matrix Factorization Methods과 다르게 Corpus의 the co-occurrence statistics를 고려하지 않는다는 것이다.

• skip-gram 예시 설명

  • 중심단어를 통해서 주변에 있는 단어들을 잘 예측하는 단어 벡터 표현을 학습하는 것이다.
  • 입력 벡터를 원-핫벡터로 변경해서, 주변단어를 윈도우 크기만큼 슬라이딩 해서 예측한다
  • 이때 hidden vector를 구할 때 사용되는 가중치를 단어들의 임베딩 벡터로 나타낸다.
  • hidden vector를 구할 때 활성화함수는 없지만 , output를 구할 때는 소프트맥스 활성화함 수를 적용한다.  
    skip-gram image : https://towardsdatascience.com/skip-gram-nlp-context-words-prediction-algorithm-5bbf34f84e0c

 

3. Model

동시 발생 행렬을 고려하는 통계정보 데이터에서 word2vec 모델 처럼 단어의 의미 관계도 파악할 수 있을까?

  • we construct a model that utilizes this (1)main benefit of count data while simultaneously capturing the meaningful linear substructures prevalent in recent (2)log-bilinear prediction-based methods like word2vec

notation

단어들에 대한 발생확률 비율

Co-occurrence probabilities for target words ice and steam with selected context words from a 6 billion token corpus.

=> 단어 벡터를 표현하는 데 있어서 중요한 것은 확률 그자체보다 는 각각의 동시발생확률에 대한 비율을 구하는 것이 더 중요함을 나타낸다. 비율에 따라서 인지했을 때 좀 더 비교하기 쉽게 가시적으로 나타나기 때문이다.

 

공식 설명

Glove 아이디어는 임베딩 된 중심 단어와 주변 단어 벡터의 내적이 전체 코퍼스에서의 동 시 등장 확률이 되도록 만드는 것이다.

 

가중치 함수(Weighting function) f(𝑿_ik)

가중치 함수 공식
가중치 함수 그래프

실험에서는 𝑥_𝑚𝑎𝑥 = 100, a=3/4으로 설정하였다. 이를 통해 발생확률이 적은 단어에 대해서 가중치 비중을 빈도에 따라서 줄여줄 수 있다. 

 

4. Experiment

(1) 결과 측정 비교 (다른 모델들과)

word analogy에 대한 결과 측정 비교

Dataset

• CoNLL-2003 shared benchmark dataset for NER

• 이것은 사람, 위치, 조직, 기타로 분류한 기사들의 목록 들이다.

• 각각의 corpus만다 400000개의 most frequent words 로 행렬을 만듬

 

Word analogies  측정 방법

(1) The semantic questions • 사람과 장소에 대한 유추

예시) “Athens is to Greece as Berlin is to ______ ?”

(2) The syntactic questions • 문법적인 관계유추

예시) “dance is to dancing as fly is to ______ ?”

 

평가 방식

• 𝑤_𝑏- 𝑤_𝑎 = 𝑤_𝑑- 𝑤_𝑐 이므로, 각각의 question에 대하여 𝑤_𝑏- 𝑤_𝑎+ 𝑤_𝑐와 가장 가까운 𝑤𝑑를 찾는다.

• 𝑤_𝑏- 𝑤_𝑎+ 𝑤_𝑐와 𝑤_𝑑의 cosine similarity를 구한다

 

(2) Symmetric context 와 Asymmetric context 비교

• Symmetric context : target단어에 대해서 window가 왼쪽 오른쪽에도 존재하는 것을 뜻한다.

• Asymmetric context : target단어에 대해서, window가 오직 왼쪽에만 존재하는 것을 뜻한다.

 

• 그래프 특징

  • 문법정보는 (1)연관성보다는 즉시성이 중요하고 (2)순차적인 정보일 때 정확도가 높다..
  • 의미정보는 local하게 정보가 추출되기 보다는 윈도우 사이즈가 클수록 정보 추출이 잘된다.

 

 

논문링크 : https://nlp.stanford.edu/pubs/glove.pdf

참고 : 위키독스 자연어처리 Glove 파트 https://wikidocs.net/22885

Comments