728x90
반응형
문자 단위 n-gram 표현, 부분단어(subword)의 벡터들로 표현
 
[개념]  Facebook에서 발표한 Word Embedding 기법
[학습]  각 단어를 문자 단위 n-gram으로 표현하고, 단어가 아닌 n-gram의 벡터를 학습
특정 단어의 벡터는 해당 단어를 구성하는 모든 n-gram 벡터의 평균으로 표현 
( Word2Vec에서 단어의 형태학적 특성을 잘 반영하지 못하는 부분에 대해 개선)
 
[특징]  단어를 문자의 집합으로 보아 n-gram으로 나누어 분할
 
예를 들어 where라는 단어를 3-gram으로 처리하면, 5개의 3-gram으로 표현할 수 있다. 이러한 3-gram 데 이터를 Skip-gram의 입력으로 활용하여 각각의 벡터 표현을 구한다. 각 데이터의 벡터 표현을 구하게 되 면, 단어의 임베딩 벡터는 단어에서 도출된 n-gram의 벡터의 합으로 표현 된다. 오타 등의 노이즈가 많은 데이터인 경우에 기존보다 성능이 높을 수 있다. 예에 서 본 where을 wheres라고 오타로 알파벳 s를 추가해 도 3-gram으로 보면 거의 유사하기 때문이다.
 
 
단어 수준이 아니라, 단어 이하 수준의 정보(subword-level information)를 포함
*OOV 단어라 하더라도 해당 단어를 구성하는 n-gram이 학습 가능
( Subword Information을 이용하여 Word representation을 시도)
 
* OOV (Out of Vocabulary) : 단어셋에 없는 단어를 만나면 아예 Indexing 자체를 할 수 없게 되는 문제
 
[평가] 유사도 검사, 유추 검사
 
단어 집합 내 빈도 수가 적었던 단어(Rare Word)에 대한 대응
 
Word2Vec의 경우에는 단어 집합에서 등장 빈도 수가 높으면 비교적 정확하게 임베딩 되지만, 등장 빈도 수가 적은 단어(Rare word)에 대해서는 임베딩의 정확도가 높지 않다는 단점이 있다. 참고할 수 있는 경우의 수가 적다보니 정확하게 임베딩이 되지 않는 것이다.
 
하지만 패스트텍스트는 등장 빈도 수가 적은 단어라 하더라도, n-gram으로 임베딩을 하는 특성상 참고할 수 있는 경우의 수가 많아지므로 Word2Vec와 비교하여 정확도가 높은 경향이 있다.
 
패스트텍스트가 노이즈가 많은 코퍼스에서 강점을 가진 것 또한 이와 같은 이유이다. 모든 훈련 코퍼스에 오타(Typo)나 맞춤법이 틀린 단어가 없으면 이상적이겠지만, 실제 많은 비정형 데이터에는 오타가 섞여 있다. 그리고 오타가 섞인 단어는 당연히 등장 빈도수가 매우 적으므로 일종의 희귀 단어가 된다. 즉, Word2Vec에서는 오타가 섞인 단어는 임베딩이 제대로 되지 않지만 패스트텍스트는 이에 대해서도 일정 수준의 성능을 보인다.
 
 
[word2vec 차이점]
  • Word embedding (Distributed vector represenatation of words)에는 다양한 방법이 있지만, 대부분의 방법들은 언어의 형태학적(Morpological)인 특성을 반영하지 못하고, 또 희소한 단어에 대해서는 Embedding이 되지 않음
  • 본 연구에서는 단어를 Bag-of-Characters로 보고, 개별 단어가 아닌 n-gram의 Charaters를 Embedding함 (Skip-gram model 사용)
  • 최종적으로 각 단어는 Embedding된 n-gram의 합으로 표현됨, 그 결과 빠르고 좋은 성능을 나타냈음
 
 
Word2vec 및 fastText 임베딩 모델의 성능 비교 (2020.07)
 
강형석, 양장훈. (2020). Word2vec 및 fastText 임베딩 모델의 성능 비교. 한국디지털콘텐츠학회 논문지, 21(7), 1335-1343.
 
728x90
Posted by Mr. Slumber
,