이 글은 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!