본문 바로가기
AI

자연어처리 : FastText

by 월곡동로봇팔 2020. 3. 4.

fastText의 기본 원리는 단어의 형태 적 구조가 단어의 의미에 대한 중요한 정보를 전달한다는 것입니다. 단어의 의미는 모든 개별 단어에 대해 고유 한 단어 포함을 훈련시키는 전통적인 단어 포함에 의해 고려되지 않습니다. 이는 단일 단어가 여러 형태의 형태를 가질 수있는 형태 학적으로 풍부한 언어 (독일어, 터키어)에서 특히 중요하며, 각 단어는 거의 발생하지 않으므로 좋은 단어 삽입을 학습하기가 어렵습니다.

fastText는 각 단어를 하위 단어의 집계로 취급하여이 문제를 해결하려고합니다. 단순성과 언어 독립성을 위해 서브 워드는 단어의 문자 ngram으로 간주됩니다. 단어의 벡터는 단순히 구성 요소 char-ngram의 모든 벡터의 합으로 간주됩니다.

이 노트북에서 Word2Vec과 FastText를 자세히 비교하면 fastText는 원본 Word2Vec과 비교할 때 특히 연습 모음의 크기가 작을 때 구문 작업에서 훨씬 뛰어납니다. 의미 론적 작업에서 Word2Vec이 FastText보다 약간 뛰어납니다. 훈련 말뭉치의 크기가 커질수록 차이가 더 작아집니다.

fastText에 대한 교육 시간은 Word2Vec의 Gensim 버전 (텍스트 8에서 15 분 42 초 대 6 분 42 초, 17 밀 토큰, 5 개 에포크 및 벡터 크기 100)보다 상당히 높습니다.

적어도 하나의 문자 ngram이 훈련 데이터에 존재하는 경우, fastText를 사용하여 구성 요소 char ngram에 대한 벡터를 합산하여 어휘 외 단어 (OOV)에 대한 벡터를 얻을 수 있습니다.

댓글