논문 링크: https://nlp.stanford.edu/pubs/glove.pdf
Abstract: Glove 모델은 의미 있는 하위 구조를 갖춘 벡터 공간을 생성하며 최근의 단어 유추(word analogy) 작업에서 75%의 정확도를 달성함으로써 입증된다. 또한 단어 유사성 및 개체명 인식(NER) 작업에서도 관련 모델보다 우수한 성능을 보인다.
1. Introduction
- 의미론적 벡터 공간 모델은 언어에서 각 단어를 실수 값 벡터로 표현 → 정보 검색, 문서 분류, 질의 응답, 개체명 인식, 구문분석 등의 다양한 작업에서 기능적 요소로 사용됨
- 대부분의 단어 벡터 방법은 벡터 쌍 간의 거리 또는 각도를 주요 평가 기준으로 삼지만 최근 단어 벡터 공간의 세부 구조를 조사하기 위해 단어 유추(word analogy)에 기반한 새로운 평가 방식을 도입 → 이 방식에서는 단어 벡터 간의 스칼라 거리뿐 아니라 다양한 차원의 차이도 탐구
- 예를 들어 "king is to queen as man is to woman"의 문장에서 벡터 공간은 king-queen=man-woman 같은 벡터 방정식으로 인코딩됨
<단어 벡터 학습의 두 가지 주요 모델>
- Global Matrix Factorization Methods
- 잠재 의미 분석(LSA) 등
- 통계 정보를 효율적으로 활용하지만 벡터 공간 구조가 최적이 아님
- 단어 유추 작업에서 성능이 낮음
- Local Context Window Methods
- Skip-Gram 모델 등
- 유추 작업에서 성능이 높지만 코퍼스 통계 정보를 비효율적으로 사용
- 이 연구에서는 의미의 선형 방향을 생성하기 위해 필요한 모델 특성을 분석하고 global log-bilinear regression model이 이를 수행하기에 적합하다고 주장함
- 가중 최소제곱(weighted least squares) 모델을 구체적으로 제안하며 이 모델은 전역 단어-단어 공동 발생 횟수(global word-word co-occurrence counts)에서 훈련되기 때문에 통계 정보를 효율적으로 활용됨 → 이 모델은 최근 단어 유추 작업에서 75%의 정확도를 달성함으로써 유의미한 하위 구조를 포함한 벡터 공간을 생성하고 다양한 단어 유사성 및 개체명 인식(NER) 작업에서도 다른 최신 모델보다 뛰어난 성능을 보인다.
2. Related Work
1) Matrix Factorization Methods
- 저차원 단어 표현을 생성하기 위한 행렬 분해 방법은 코퍼스에 대한 통계 정보를 담고 있는 큰 행렬을 저차원 근사로 분해하기 위해 low-rank approximation를 사용
- 통계 정보의 구체적인 유형은 응용 목적에 따라 다양함
- LSA에서는 "용어-문서(term-document)" 유형의 행렬을 사용하며, 이때 행은 단어(또는 용어), 열은 서로 다른 문서에 해당
- HAL(Hyperspace Analogue to Language)은 "용어-용어(term-term)" 유형의 행렬을 사용하며, 이때 행과 열 모두 단어이고 각 항목은 특정 단어가 다른 단어의 문맥에 등장한 횟수
- HAL 같은 방법들의 주요 문제: 빈도가 높은 단어들이 유사성 측정에서 지나치게 큰 영향을 준다는 점
→ 예를 들어, “the”나 “and”와 같이 자주 등장하는 두 단어가 함께 등장하는 횟수는 실제 의미적 관련성과는 무관하게 유사성을 높게 만드는 데 큰 영향을 줄 수 있음 - HAL의 단점을 보완하기 위해 제안된 다양한 기술들 중 하나가 COALS(Correlation-based Adjusted Least Squares) 방법 → 이 방법은 공동 발생 행렬을 엔트로피(entropy) 또는 상관관계 기반 정규화를 통해 먼저 변환하여 수치적으로 안정된 처리를 가능하게 함
- 제곱근 기반 변환을 사용하는 Hellinger PCA (HPCA)가 단어 표현 학습에서 효과적인 방법으로 제안되기도 함
2) Shallow Window-Based Methods
- local context window 내에서 예측을 수행하는 데 도움이 되는 단어 표현을 학습하는 것
- Bengio et al. (2003): 언어 모델링을 위한 간단한 신경망 아키텍처를 사용해 단어 벡터를 학습하는 모델 제안
- Collobert & Weston (2008): 단어 벡터 학습을 downstream 학습 목표로부터 분리
- Collobert et al. (2011): 단어 앞쪽 문맥뿐만 아니라 전체 문맥을 활용해 단어 표현을 학습
- 그러나 표현 학습에서 복잡한 신경망 구조가 정말 필요한가?
- Mikolov et al. (2013a): Skip-Gram과 CBOW (Continuous Bag-of-Words) 모델 → 두 단어 벡터 간의 내적을 기반으로 하는 단층 구조 사용
- Mnih & Kavukcuoglu (2013): vLBL, ivLBL 같은 로그-바이리니어 모델을 제안
- Levy et al. (2014): PPMI 기반의 명시적 단어 임베딩 모델을 제안
<모델별 학습 목표>
- Skip-Gram, ivLBL: 주어진 단어로부터 주변 단어 예측
- CBOW, vLBL: 주변 단어들로부터 중심 단어 예측
▷ 이러한 모델들은 단어 유추 작업을 통해 단어 벡터 간의 선형적 관계로 언어 패턴을 학습할 수 있는 능력을 보여주지만 행렬 분해 기반 방법과는 달리 코퍼스의 공동 발생 통계에 직접 접근하지 못한다는 단점이 존재 → 대신 전체 코퍼스를 스캔하면서 로컬 문맥 윈도우 내에서 데이터를 수집하기 때문에 데이터 내 반복적인 패턴의 장점을 충분히 활용하지 못함
3. The GloVe Model
코퍼스 내에서 단어가 등장하는 통계는 모든 비지도 단어 표현 학습 방법에서 사용할 수 있는 주요 정보로, 이러한 통계로부터 어떻게 의미가 생성되며 결과적으로 단어 벡터가 어떻게 그 의미를 나타내는가에 대한 질문은 여전히 남아 있음
→ 이 질문에 대한 통찰을 제시하고 이를 기반으로 새로운 단어 표현 모델인 GloVe (Global Vectors) 설계
1) 수식 정의
: 실제 예제에서는 확률값 자체보다는 비율이 의미 차이를 더 명확하게 구분해줌
2) 모델 수식 도출
: 벡터 공간이 선형 구조를 가지므로 벡터 차이(difference)를 기반으로 한 모델 고려
: 복잡한 함수 대신 선형 구조를 유지하기 위해 내적 사용
: 공식의 대칭성과 일관성을 유지하기 위해 문맥 단어에도 편향을 추가하여 완전 대칭을 확보함
3) 로그의 문제점
: 희소성을 유지하며 무한대를 회피하지만 여전히 모든 공동 발생 항목을 동등하게 가중치로 취급함
4) 제안 모델: Weighted Least Squares Regression(가중 최소제곱 회귀)
: 여기서 f는 가중치 함수임
5) 가중치 함수 조건
- f(0)=0: x가 0일 때 수렴해야 함
- f(x)는 단조 증가 → 희귀 공동 발생을 과도하게 강조하지 않도록
- f(x)는 x가 클수록 적절히 낮아야 함 → 너무 자주 등장하는 쌍도 과소평가 방지
<효과적인 함수>
3.1. Relationship to Other Models
모든 비지도 학습 기반의 단어 벡터 학습 방법은 코퍼스의 공동 발생 통계(co-occurrence statistics)를 기반으로 하기 때문에 모델들 간에 공통점이 존재해야 하지만, Skip-Gram이나 ivLBL과 같은 윈도우 기반 방법들은 이러한 측면이 다소 불투명함 → GloVe 모델과 이러한 기존 모델들 간의 연관성 확인
1) Skip-Gram 및 ivLBL의 기본 모델
Skip-Gram이나 ivLBL 모델은, 단어 가 주어졌을 때 문맥 단어 가 등장할 확률을 나타내는 모델로, 이 모델은 코퍼스 전체를 스캔하면서 문맥 윈도우에 기반한 확률을 최대화하도록 학습함
→ 일반적으로 온라인(online) 방식으로 log probability를 최대화하는 형태로 진행
2) 계산 효율 향상을 위한 재구성
: 소프트맥스의 분모(정규화 항)는 계산 비용이 크기 때문에 Skip-Gram과 ivLBL 모델은 Q의 근사치를 사용하여 효율을 높이지만 i,ji, j가 같은 항목끼리 묶어 계산하면 더 효율적으로 전체 손실 함수를 계산할 수 있음
: 여기서 X는 의 문맥에서 가 등장한 횟수=공동 발생 행렬의 항목
3) 크로스 엔트로피 형태의 변형
: 여기서 H(P,Q는 확률 분포 Pi와 Qi 간의 크로스 엔트로피(cross entropy)이며, (8)의 가중 최소제곱 손실 함수와 유사한 형식을 가지고 있음
→ Skip-Gram 모델도 글로벌 목적 함수(global objective function)를 최적화할 수 있음
4) 크로스 엔트로피의 한계(방정식 13의 문제점)
- 크로스 엔트로피는 확률 분포 간의 거리 측정 방법 중 하나일 뿐이며, 꼬리가 긴(long-tailed) 분포에서는 드문 사건에 과도한 가중치를 부여할 수 있음
- 이 측정 지표가 유한하게 정의되려면 모델 분포가 정규화되어야 하며, 이 경우 어휘 전체에 대한 합계를 계산해야 하므로 계산 병목을 초래((10)에서도 확인한 사실)
5) 대안: 최소제곱 손실 함수
따라서 정규화 조건이 필요없는 최소제곱 손실 함수(least squares loss)를 사용하는 것이 더 효율적임
→ 그러나 이 방식도 Xij의 값이 매우 클 수 있어 최적화가 어렵기 때문에 로그를 취한 값의 오차를 최소화하는 방식을 제안
:
6) 더 일반적인 가중치 함수
여기까지는 기존 Skip-Gram, ivLBL 방식이 암묵적으로 사용하는 가중치가 Xi라는 점을 확인한 것로, 이 가중치가 최적이 아닐 수 있기 때문에 빈도 높은 단어에 대해 효과적으로 가중치를 줄여 성능을 향상시키기 위해서 문맥 단어에 따라 달라질 수 있는 일반화된 가중치 함수 f(Xij)도입
= 우리가 앞서 제시한 GloVe의 손실 함수(8)와 동일함
- 즉, GloVe는 Skip-Gram/CBOW과 같은 예측 기반 모델과 수학적으로 연결되어 있음
- 크로스 엔트로피 대신 가중 최소제곱 오차를 사용함으로써 더 효율적이고 안정적인 학습이 가능함
3.2 Complexity of the Model
이 모델의 계산 복잡도는 공동 발생 행렬의 0이 아닌 항목 수에 달려 있음
→ 이 수는 항상 행렬 전체 항목 수보다 작기 때문에, 모델의 최악의 경우 복잡도는 O(V^2)수준 (V는 어휘 크기; 단어 수를 의미)
- 이 복잡도는 코퍼스 크기에 비례하는 윈도우 기반 모델들보다 더 나아 보일 수 있지만 실제로는 일반적인 어휘 크기가 수십만 단어에 이르기 때문에 V^2이 수천억 개에 달할 수 있음 = 대부분의 코퍼스 크기보다 훨씬 큼
- 실제로 행렬의 0이 아닌 항목 수가 어느 정도인가를 보다 정확히 파악할 필요가 있다.
1) 공동 발생 분포의 가정
- 정확한 추정을 위해 단어 간 공동 발생 수 가 단어쌍의 등장 빈도 순위 r 에 따라 거듭제곱 법칙(power-law)을 따른다고 가정
- 즉, 자주 등장하는 단어쌍은 더 많이 공동 발생하고 희귀 단어쌍은 적게 등장한다는 가정
2) 코퍼스 내 전체 단어 수
3) 비영 항목 수와 코퍼스 전체 단어 수의 관계
: 비영 항목 수와 코퍼스 전체 단어 수의 관계를 파악하고 싶기 때문에, 두 값이 모두 충분히 클 때 조화수의 근사식(20)을 사용하면 (22)의 근사식을 얻을 수 있음
= 알파의 값에 따라 비영 항목 수가 코퍼스 크기보다 훨씬 적을 수 있음을 알 수 있음
- 실제 이 논문에서 사용된 코퍼스 데이터를 관찰했을 때 결과적으로 Xij는 α=1.25를 갖는 거듭제곱 법칙을 잘 따름
- GloVe 모델의 실제 복잡도는 O(V^2)보다 훨씬 작고 심지어 윈도우 기반 방법의 복잡도인 O(C)보다도 더 나은 수준
- 정리하면, GloVe 모델의 계산 복잡도는 이론상 O(V^2)이지만 실제 공동 발생 행렬의 희소성 덕분에 O(C^{0.8})정도로 낮아지므로 윈도우 기반 예측 모델들보다 효율적일 수 있음
4. Experiment
4.1 Evaluation Methods
이 논문은 세 가지 작업에서의 GloVe 모델 성능을 평가함
- 단어 유추(word analogy)
- 단어 유사성(word similarity)
- 개체명 인식(Named Entity Recognition, NER)
1) Word Analogy(단어 유추)
- “a는 b에 대응하듯이, c는 무엇에 대응하는가?” 형태의 질문들(예: “Athens: Greece = Berlin: ?”, “dance: dancing = fly: ?”)
- 데이터셋: 총 19,544개의 질문
- 의미적 관계(semantic): 사람, 장소 등 (예: 국가-수도)
- 구문적 관계(syntatic): 동사의 시제, 형용사의 비교급 등
- 모델이 정확한 단어를 하나만 정확히 예측해야 정답으로 인식
- 답변 방식
1-1) 단어 유추 실험 결과

- 의미적, 구문적 유추 작업 모두 기존 모델보다 높은 정확도를 보여줌(특히, 42억 토큰에서는 최고 성능 기록)
1-2) 벡터/윈도우 크기에 따른 성능 확인
- (a)는 벡터 크기 증가에 따른 정확도 변화/ (b), (c)는 윈도우 크기 변화에 따른 정확도 변화((c)만 비대칭 윈도우 사용)
- 의미 유추에는 큰 윈도우가 유리하지만 구문 유추에서는 작은 윈도우가 더 좋으며, 벡터 차원 수가 300차원 이상이 되면 성능 향상 폭이 줄어듦
2) 단어 유사성 (Word Similarity)
- 단어 유추가 GloVe의 핵심 평가 항목이지만 단어 유사성 작업도 함께 평가함
- 사용된 벤치마크: WordSim-353, MC, RG, SCWS, RW
- 평가는 단어쌍 간의 코사인 유사도와 사람이 판단한 유사성 점수 간의 스피어만 순위 상관계수(Spearman correlation)로 측정
3) 개체명 인식 (Named Entity Recognition)
- CoNLL-2003 영어 벤치마크 데이터셋 사용
- Reuters 뉴스 기사들로 구성됨
- 4가지 개체명으로 주석 처리: person, location, organization, miscellaneous
- 모델 학습 및 평가
- 훈련 데이터: CoNLL-2003 학습셋
- 테스트 데이터: CoNLL-2003 테스트셋, ACE Phase 2 (2001-02) 및 ACE-2003, MUC7 공식 테스트셋
- 전처리 과정: BIO2 포맷과 Wang & Manning (2013)이 설명한 전처리 과정 따름
- 사용한 features
- 437,905개의 discrete(이산) features (Stanford NER 모델 기본 제공)
- 각 단어 주변 5개의 단어에 대한 50차원 연속 벡터 특성
- 모델은 CRF (Conditional Random Field)로 학습되며 구현은 Wang & Manning (2013)의 CRFjoin 모델과 동일한 구조
4.2 Corpora and Training Details(학습 데이터와 설정)
- 학습: 크기가 다양한 다섯 가지 코퍼스에서 GloVe 모델 학습
- 2010년 Wikipedia 덤프 – 10억 토큰
- 2014년 Wikipedia 덤프 – 16억 토큰
- Gigaword 5 – 43억 토큰
- Wikipedia 2014 + Gigaword 5 – 총 60억 토큰
- Common Crawl 웹 데이터 – 42억 토큰
1) 전처리
- 각 코퍼스는 Stanford Tokenizer를 사용해 토크나이즈 → 소문자화(lowercase) 처리
- 가장 빈도 높은 40만 개 단어 사용해 어휘 구축
- 구축된 어휘를 기반으로 공동 발생 행렬 구성
2) 공동 발생 행렬 구성 방식
- 공동 발생 행렬 만들기 위한 설정:
- context window 크기: 몇 개의 주변 단어를 문맥으로 포함할 것인가?
- 좌우 문맥을 구분할 것인지 여부
- 모든 실험에서 가중치 감소 함수 사용: 두 단어 사이의 거리가 d 일때 기여도 = 1/d → 멀리 떨어진 단어쌍이 의미적 관련성이 낮을 수 있음을 반영
3) 하이퍼파라미터 설정
- 학습 방식은 행렬X의 비영 항목을 확률적으로 샘플링(stochastic sampling)하는 방식으로, 초기 학습률은 0.05
- 벡터 차원이 300 미만일 경우에 학습을 50회 반복, 300 이상일 경우에 100회 반복하는 방식
- 왼쪽 10단어 + 오른쪽 10단어의 문맥 사용
4) 벡터 구성 방식
- 모델은 단어 벡터와 문맥 벡터, 총 두 종류의 벡터 집합을 생성
- X가 symmetric한 경우 위 두 벡터는 초기화 차이 외엔 거의 동일/성능 차이도 거의 없음
- 딥러닝 분야에서는 여러 network instance를 학습한 후 평균을 취하는 방식이 overfitting과noise를 줄이고 성능을 향상 시킨다는 연구 결과를 고려하여, 최종 단어 벡터로 두 벡터의 합을 사용 → 의미 유추 작업에서 성능 소폭 향상
5) 비교 모델 학습 방법
- word2vec 툴을 사용해 Skip-Gram(SG), CBOW 모델도 훈련
- 사용 코퍼스: 60억 토큰(Wikipedia 2014 + Gigaword 5)
- 어휘 크기: 상위 40만 개 단어
- context window: 10단어
- 네거티브 샘플링 수: 10개
6) SVD 기반 비교 모델
- SVD 모델을 위한 전처리
- 상위 10,000개의 단어만을 포함하는 절단된 공동 발생 행렬 Xtrunc 생성
- 희귀 단어의 열은 0값이 많아 계산 효율이 떨어지기 때문
- 모델 구성:
- SVD: Xtrunc에 대해 특이값 분해(SVD)를 수행한 기본 모델
- SVD-S: 동일한 행렬에 대해 단순 SVD 적용
- SVD-L: log(1+Xtrunc)에 대해 SVD 적용: 로그를 취해 수치 범위 압축하는 효과
4.3 Results
1) 단어 유추 작업
- 4.1의 1-1에서 확인 가능
- GloVe 모델은 대부분의 비교 모델보다 성능이 뛰어남 (더 작은 벡터 차원과 코퍼스를 사용했음에도 우수한 결과
- word2vec을 사용하여 학습한 결과가 기존에 발표된 결과보다 우수했음
- 네거티브 샘플링 사용(softmax보다 일반적으로 더 효과적)
- 네거티브 샘플 수 설정
- 사용된 코퍼스 선택
- 또한 GloVe 모델이 42억 토큰 규모의 대규모 코퍼스에서도 학습이 가능할 뿐만 아니라 상당한 성능 향상도 가능
- 단순한 SVD 기반 모델은 코퍼스 크기가 커져도 성능이 향상되지 않는 현상 → GloVe에서 제안한 weighting scheme(가중치 스킴)의 필요성 확인
2) 단어 유사성 작업
- 점수는 스피어만 순위 상관계수로 계산
- 각 단어 벡터의 피처를 정규화한 후 코사인 유사도를 통해 유사성 점수 구함
- GloVe는 더 작은 코퍼스를 사용했음에도 불구하고 CBOW (100B words)보다도 우수한 성능
3) 개체명 인식(NER)
- NER 작업에서는 CRF 기반 모델을 사용
- L-BFGS 최적화는 개발셋(dev set)의 성능이 25회 반복 동안 개선되지 않을 경우 종료
- GloVes는 모든 평가 지표에서 가장 높은 F1 점수를 얻었으나 CoNLL 테스트셋에서는 HPCA가 높음
- GloVe 벡터는 NER에서도 유용함 확인
4.4 Model Analysis: Vector Length and Context Size
- 대칭 컨텍스트(symmetric context): 중심 단어 기준 좌우로 확장된 윈도우
- 비대칭 컨텍스트(asymmetric context): 중심 단어 기준 왼쪽으로만 확장
- (a)에서는 벡터 차원이 약 200이상일 경우 성능 향상이 둔화(diminishing returns)되는 경향/(b), (c)에서는 대칭 및 비대칭 윈도우 각각에 대해 윈도우 크기 변화의 영향 확인
- 결과적으로 작고 비대칭인 윈도우에서는 구문 유추(syntactic) 작업에서 성능이 더 좋았음 → 구문 정보가 대체로 가까운 문맥과 단어 순서에 강하게 의존한다는 직관과 일치
- 의미 유추(semantic)는 더 넓은 문맥에서 얻는 경우가 많으며 윈도우 크기를 키우면 더 많은 의미 정보를 포착 가능
4.5 Model Analysis: Corpus Size
: 300차원 벡터 사용하여 서로 다른 크기의 코퍼스에서 학습한 결과
- 구문 유추 작업에서는 코퍼스 크기가 클수록 성능이 단조 증가(monotonic increase) → 큰 코퍼스가 더 나은 통계적 정보를 제공한다는 점에서 당연한 결과
- 의미 유추 작업에서는 같은 경향이 관찰 X: 작은 Wikipedia 코퍼스에서 학습한 모델이 더 큰 Gigaword 코퍼스에서 학습한 모델보다 성능이 더 좋았음
- 유추 데이터셋에 국가-수도 관계처럼 지리적 항목이 많기 때문일 수 있음
- Wikipedia는 이러한 항목에 대해 상대적으로 상세하고 최신 정보를 포함하고 있지만 Gigaword는 고정된 뉴스 아카이브로 정보가 오래되거나 부정확할 수 있음
4.6 Model Analysis: Run-time
- 모델 실행 시간은 공동 발생 행렬 생성 시간과 모델 학습 시간으로 구성
- 공동 발생 행렬을 생성하는 데 걸리는 시간은 윈도우 크기, 어휘 크기, 코퍼스 크기 등에 따라 달라짐
- 해당 작업은 병렬 처리로 쉽게 속도를 높이는 것이 가능
- 공동 발생 행렬 생성 소요 시간: 약 85분 (싱글 스레드 기준)
- 모델 학습 시간은 벡터 차원 수와 반복 횟수에 따라 달라짐
- 300차원 벡터 기준, 1회 반복(1 iteration) 학습 시간: 14분 (32 코어 사용)
4.7 Model Analysis: Comparison with word2vec
- GloVe와 word2vec 간의 정량적 비교는 여러 하이퍼파라미터가 성능에 영향을 미치기 때문에 하므로 벡터 크기, 윈도우 크기, 코퍼스, 어휘 수를 동일하게 설정하여 주요 변수들 통제
- 남은 주요 변수: training time
- GloVe는 반복 횟수(iterations)를 조절
- word2vec은 에폭 수(epochs)가 적절한 비교 대상이지만 word2vec 코드는 단일 에폭(single epoch)만 지원하도록 설계되어 있어 직접 비교가 쉽지 않음
- 대신 네거티브 샘플 수를 조절하여 비교 = word2vec이 처리하는 학습 데이터 양을 증가시키는 것과 유사
- 기타 설정은 기본값으로 사용
- 결과적으로 word2vec은 네커티브 샘플 수가 10을 초과할 경우 성능이 하락(4.6 그래프 참고)
5. Conclusion
- 분산 단어 표현을 학습할 때 카운트 기반 방법(count-based methods)과 예측 기반 방법(prediction-based methods) 중 어떤 방식이 더 우수한지에 대한 논의가 활발히 이루어지고 있음
- 이 논문에서는 두 방식은 본질적으로 크게 다르지 않다고 주장 → 둘 다 코퍼스의 공동 발생 통계(co-occurrence statistics)를 활용한다는 점에서 동일하기 때문
- 다만 카운트 기반 방법이 전체(global) 통계를 더 효율적으로 포착할 수 있다는 점은 장점으로 작용할 수 있음
- 따라서 카운트 데이터의 장점을 활용하면서 word2vec과 같은 로그 바이리니어 예측 기반 모델들이 보여주는 선형 하위 구조도 잘 포착할 수 있도록 설계함 = GloVe
- GloVe는 새로운 global log-bilinear regression model로 비지도 학습 방식으로 단어 표현을 학습하며, 단어 유추/단어 유사성 작업, 개체명 인식 작업에서 기존 모델들보다 우수한 성능