>  기사  >  백엔드 개발  >  Python에서 gensim 라이브러리 word2vec 사용

Python에서 gensim 라이브러리 word2vec 사용

不言
不言원래의
2018-05-08 14:24:473564검색

이 글은 Python에서 gensim 라이브러리 word2vec의 사용을 주로 소개합니다. 이제 공유합니다. 필요한 친구들이 참고할 수 있습니다.

pip install gensim 라이브러리를 설치한 후 가져올 수 있습니다.

1. 학습 모델 정의

from gensim.models import Word2Vec 
model = Word2Vec(sentences, sg=1, size=100, window=5, min_count=5, negative=3, sample=0.001, hs=1, workers=4)

매개변수 설명:

1.sg=1은 저주파수에 민감한 스킵 그램 알고리즘입니다. 단어; 기본 sg=0은 CBOW 알고리즘입니다.

2.size는 출력 단어 벡터의 차원입니다. 값이 너무 작으면 충돌로 인해 단어 매핑이 결과에 영향을 미칩니다. 값이 너무 크면 메모리를 소비하고 알고리즘 계산 ​​속도가 느려집니다. 일반적으로 값은 100~200 사이입니다.

3.window는 문장에서 현재 단어와 대상 단어 사이의 최대 거리입니다. 3은 대상 단어 앞의 3-b 단어와 그 뒤의 b 단어를 보는 것을 의미합니다(b는 0-3 사이에서 무작위입니다).

4.min_count는 단어를 필터링하는 데 사용됩니다. 빈도가 min-count보다 작은 단어는 무시됩니다.

5. 음성 및 샘플은 훈련 결과에 따라 미세 조정될 수 있습니다. 샘플은 빈도가 높은 단어가 설정된 임계값으로 무작위로 다운샘플링된다는 것을 의미합니다.

6.hs=1은 계층적 소프트맥스가 사용됨을 의미합니다. 기본적으로 hs=0이고 음수는 0이 아니며 음수 샘플링이 선택됩니다.

7.workers는 훈련의 병렬성을 제어합니다. 이 매개변수는 Cpython이 설치된 후에만 유효하며, 그렇지 않으면 단일 코어만 사용할 수 있습니다.

자세한 매개변수 설명은 word2vec 소스코드를 확인하세요.

2. 훈련 후 모델 저장 및 로드

model.save(fname) 
model = Word2Vec.load(fname)

3. 모델 사용(단어 유사성 계산 등)

model.most_similar(positive=['woman', 'king'], negative=['man']) 
#输出[('queen', 0.50882536), ...] 
 
model.doesnt_match("breakfast cereal dinner lunch".split()) 
#输出'cereal' 
 
model.similarity('woman', 'man') 
#输出0.73723527 
 
model['computer'] # raw numpy vector of a word 
#输出array([-0.00449447, -0.00310097, 0.02421786, ...], dtype=float32)

아니요 다른 콘텐츠 반복 , 자세한 내용은 gensim의 word2vec 공식 설명을 참조하세요. 매우 자세합니다.


위 내용은 Python에서 gensim 라이브러리 word2vec 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.