2014-12-19 5 views
6

워드 벡터 생성 방법은? 하나의 바로 가기 키를 사용하여 단어 벡터를 만들었지 만 매우 거대하고 비슷한 의미 단어로 일반화되지 않았습니다. 그래서 단어 유사성과 단어 벡터를 찾는 신경망을 사용하는 단어 벡터에 대해 들었습니다. 그래서이 벡터 (알고리즘)를 생성하는 방법이나 단어 벡터를 만들기 시작하는 좋은 방법을 알고 싶었습니다.워드 벡터 생성 방법

+0

x 문서 행렬, tf-idf 가중치 및 코사인 유사성으로 시작하는 것이 좋습니다. 구글 그것. 문제에 대한 좋은 통찰력을 얻을 수 있습니다. – Pierre

답변

8

워드 벡터 또는 소위 분산 표현은 S. Bengio의 직장에서 아마 시작, 지금까지 오랜 역사를 가지고 희망 도움이되기를 바랍니다 http://deeplearning4j.org/word2vec.html

: 이것은 좋은 출발점이 될 것입니다 (Bengio, Y., Ducharme, R., & Vincent, P. (2001). 신경 확률 론적 언어 모델 NIPS.) 여기서 그는 신경망 학습 언어 학습 모델의 부산물로서 단어 벡터를 얻었다.

이러한 벡터가 단어 사이의 의미 론적 관계를 포착한다는 많은 연구가있었습니다 (예 : http://research.microsoft.com/pubs/206777/338_Paper.pdf 참조). Collobert 외의이 중요한 논문 (http://arxiv.org/abs/1103.0398)은 단어 벡터를 이해하고이를 얻고 사용하는 좋은 시작점입니다.

word2vec 외에도 많은 정보를 얻을 수있는 방법이 있습니다. 견본에는 Collobert 외의 SENNA 삽입 (http://ronan.collobert.com/senna/), RNNToolkit (http://www.fit.vutbr.cz/~imikolov/rnnlm/) 등을 사용하여 계산할 수있는 T. Mikolov의 RNN 삽입이 포함됩니다. 영어의 경우 미리 준비된 임베딩은이 웹 사이트에서 다운로드 할 수 있습니다. word2vec는 실제로 skip-gram 모델 (신경망 모델이 아님)을 사용합니다. 단어 표현을 계산하는 또 다른 빠른 코드는 GloVe (http://www-nlp.stanford.edu/projects/glove/)입니다. 심층 신경망이 좋은 삽입물을 얻기 위해 필수적인지 여부는 공개 된 질문입니다.

응용 프로그램에 따라 다른 유형의 단어 벡터를 사용하는 것이 좋을 수 있으므로 여러 가지 인기있는 알고리즘을 시도하고 어떤 것이 더 효과적인지 확인하는 것이 좋습니다.

3

당신이 의미하는 것은 Word2Vec (https://code.google.com/p/word2vec/)이라고 생각합니다. 주어진 코퍼스를 기반으로 문서의 N 차원 단어 벡터를 학습합니다. 따라서 word2vec에 대한 이해에서 신경망은 문서 벡터의 차원을 집계하고 단어 사이의 관계를 캡처하는 데 사용됩니다. 그러나 언급해야 할 것은 이것이 의미 론적으로 관련이 없다는 것입니다. 이는 교육 기관의 구조적 관계를 반영하는 것입니다.

가 시작하기

당신이 의미 관련성을 캡처하려면

구현 예를 들어 이러한 libaries이다,보고 워드 넷 기반의 조치를 word2vec를 사용하면 사전 설정된 벡터를 사용할 수 있습니다. 이것에 관한 모든 정보는 https://code.google.com/p/word2vec/에서 찾아야합니다.

자바 구현을 추구 할 때. 나는이

베스트