Inicio / 파이썬 word2vec 예제

파이썬 word2vec 예제

나는 word2vec에 새로운. 두 가지 질문을 할 수 있습니까? 1. 미리 학습된 모델을 내 데이터 집합에 적용할 때 알 수 없는 단어를 처리하는 방법에 대한 제안이 있습니까? 2. 문장에 단어 포함단어를 하나의 벡터로 집계하여 해당 문장을 나타내는 것에 대한 제안이 있습니까? 정말 고마워요! 이 튜토리얼에서는, 우리는 스탠포드에서 연구원에 의해 구글과 GloVe에서 연구원에 의해 word2vec라는 두 개의 서로 다른 단어 포함 방법을 사용하는 방법을 살펴 보겠습니다. Google은 약 20,000개의 구문 및 의미 테스트 예제의 테스트 세트를 발표했으며, «A는 C가 D로 B에»라는 작업을 수행했습니다: https://raw.githubusercontent.com/RaRe-Technologies/gensim/develop/gensim/test/test_data/questions-words.txt. Gensim 라이브러리는 이 파일을 로드하는 도구를 제공합니다. 특히 KeyedVectors.load_word2vec_format() 함수를 호출하여 이 모델을 메모리에 로드할 수 있습니다. 나는 훈련 매개 변수의 무리를 변경하고 입력 데이터를 추가하고 갑자기 특정 단어에 대한 유사성을 요청할 때 파이썬에 segfaults있어 … 그래서 어떤 변화가 이문제를 일으켰는지 시도해 보았고, 그 원인은 출력 크기를 200으로 설정했기 때문입니다! (분명히) 다른 숫자로 설정해도 문제가 발생하지 는 않지만 200은 … 다른 사람으로부터 이 것을 듣거나 직접 재현할 수 있는 경우 예제를 실행하면 단어에 추가된 점이 있는 분산형 플롯이 생성되는 버그 🙂 고려하십시오.

당신은 당신이 내 Jupyter 노트북에서 Word2Vec을 사용하는 방법에 대한 더 많은 예를 찾을 수 있습니다. 내가 아는 한, 그것은 당신의 파일을 닫지 않을 것입니다. 파이썬의 가비지 수집기가 메모리누출을 처리하도록 합니다. 구현 (word2vec.py, gensim 0.9) CBOW에서 이러한 줄을 이해하지 못합니다 : ———————————— l2a = model.syn1 [word.point] # 2d 매트릭스, codelen x layer1_size FA = 1.0 + exp (-dot (l1, l2a). T))) # 숨겨진 -> 출력 ga = (1 – word.code – fa) * 알파 # 학습 률 모델.syn1[word.point] += 외부 (ga, l1) # 숨겨진 -> —————————————- 출력 을 배우는 것은 허프만 트리 단어와 관련이 있다는 것을 알 수 있습니다. 표현,하지만 의견에도 불구하고, 나는 실제로 무슨 일이 일어나고 있는지 이해하지 않습니다, syn1은 무엇을 나타내는지, 왜 우리는 l2a와 l1을 곱합니까 … 왜 우리는 ga와 l1 등을 곱하는가… 첫 번째 단계는 GloVe 파일 형식을 word2vec 파일 형식으로 변환하는 것입니다.