2019년 6월 25일 화요일

Distributed Embedding

* 본 내용은 (가제)'글로벌 기업과 한전의 인공지능 이야기. 들어볼래?' 책 작성 중 자연어 처리 개요에 대한 부분이다. 저작권자의 허락 없이 무단 복제를 금한다.

Distributed Embedding
Distributed Embedding 방법은 근접하게 위치한 단어들간에는 비슷한 의미를 가진다"라는 가정을 기반으로 한다. 예를 들어, ‘한국전력공사라는 단어 근처에 전기', ‘품질',’공기업' 이라는 단어가 주로 함께 쓰이는데, 함께 주로 쓰이는 단어를 의미적으로 비슷한 단어라고 표현한다. , Distributed Embedding 방식은 단어 벡터가 상황, 구분별로 캡슐화 한다고 말할 수 있다. 각 단어의 벡터는 다른 단어와 함께 가지고 있는 상호 정보를 기반으로 동일한 벡터 차원을 공유한다.
단어의 의미를 One-hot 인코딩 방식과 같이 하나의 차원에만 표현하는 것이 아니라, 벡터의 여러 차원에 분산하여 표현한다. Distributed Embedding을 이용하게 되면 워드 임베딩 벡터의 사이즈를 줄일 수 있을 뿐만 아니라, 문맥, 어순, 단어 간의 상관관계도 포함하기 때문에 단어 간에 유사도 비교도 가능하다.
단어의 개수가 10,000개인 문서를 코퍼스로 하여 Word Embedding을 표현할 경우, One-hot Encoding의 경우, 10,000 차원의 벡터가 생성이 되고, Distributed Embedding의 경우(벡터 사이즈를 200으로 설정)200차원인 벡터가 생성이 된다. One-hot Encoding 방식의 경우, 특성상 단어 간 유사도 비교를 할 수 없지만, 비교 작업을 한다고 했을 때는 n(n-1)/2 = 10,000*9,999/2 횟수만큼 연산이 일어난다. 그에 비하여, Distributed Embedding의 경우는, 실제 단어의 의미를 여러 차원에 분산하여 표현하기 때문에 단어 간 유사도 비교가 가능하다. Distributed Embedding의 경우, 200*199/2 만큼의 연산만이 필요하다. 표현해야 하는 단어수가 많을 수 록, 단어 표현을 통한 연산이 복잡할 수 록, Distributed Embedding 방식이 필수적이다. Distributed Embedding을 기반으로 한 Word2Vec방식이 현재는 많이 사용되고 있다. 다음으로는 Word2Vec의 개념과 실제 많이 사용되는 Word2Vec알고리즘에 대해서 알아보자.

댓글 없음:

댓글 쓰기