Goal
<aside>
💡 Skip-gram의 vector representation quality를 높이자
</aside>
기존 Skip-gram의 특징
- 단어 기반으로 학습을 진행 (“Distributed representations of words in a vecotr space”)
- Objective function 안에 softmax function(hierarchical softmax function)을 사용
- 말뭉치(corpus)에는 rare한 단어들과 frequent한 단어들 간에 imbalance 존재
기존 Skip-gram의 문제
- 관용구들을 잘 represent하지 못한다.
- ‘Air’, ‘Canada’ : 각각 의미상으로 연관성이 존재하지 않는다.
- ‘Air Canada’ : 항공사 Air Canada라는 의미가 존재한다.
- 많은 연산량을 필요로 한다.
- Frequent word라고 해서 항상 rare word보다 많은 의미를 포함하고 있는 것은 아님 (e.g. ‘a’, ‘the’ ...)
기존 Skip-gram의 보완 방법
- 구(phrase)를 represent하는 방식으로 학습을 진행 (”Using phrase vectors instead of word vectors”)
- Negative sampling(NEG) 사용
- Subsampling 사용
아이디어 1 : Phrase 기반 학습
어떤 phrase들을 학습에 사용할 것인가?
<aside>
💡 빈번하게 함께 등장하지만 다른 문맥에서는 드물게 함께 등장하는 단어들의 phrase를 unique token으로 설정하자.
</aside>
- 예를 들어, ‘New York’과 ‘Times’ 은 다른 문맥에서는 함께 잘 등장하지 않지만 ‘New York Times’라는 phrase로는 잘 등장한다.