
from Scratch
321
['Python', 'scikit-learn', 'scipy', 'numpy', 'statsmodels', 'pandas']
Python and statistics 5 machine learning 1
토픽의 이름에 ‘
and
’를 사용했다는 것은 토픽의 수를 늘려야 한다는 것을 의미하
지만 어차피 제대로 학습하기에는 데이터가 부족해 보인다.
21.6
단어 벡터
최근 많은 자연어 처리 기법들은 딥러닝을 사용하여 발전하고 있다. 이번 장의
남은 부분에서는
19
장 ‘딥러닝’에서 구현한 코드를 사용해서 몇 가지 최신 자연
어 처리 기법을 살펴볼 것이다.
그중 단어를 저차원의 벡터로 표현하는 기법은 굉장히 중요하다. 단어 벡터
간 비교를 하거나 더하는 것이 가능해지며, 기계학습 모델의 입력값으로 사용하
는 등 다양하게 활용할 수 있다. 그리고 비슷한 단어를 비슷한 벡터로 표현한다
는 유용한 성질을 지니고 있다. 예를 들어 ‘
big
’의 단어 벡터와 ‘
large
’의 단어 벡
터는 인접할 것이다. 즉, 단어 벡터를 사용하는 모델에서는 (어느 정도) 동의어
를 저절로 처리할 수 있다는 것을 의미한다.
많은 경우, 단어 벡터는 신기한 산술적 성질도 지니고 있다. 예를 들어 ‘
king
’
이라는 단어 벡터에서 ‘
man
’의 단어 벡터를 빼주고