Google word2vec에서 중복 된 단어를 찾으려고합니다. 예를 들어 word2vec에는 'Hello'와 'hello'에 대한 두 단어 임베딩이 있습니다. 여기 내 코드는 간단하지만 효율적이지 않습니다. 사전 교육을받은 구글 word2vec 3 만 개 단어를 가지고로목록을 반복하는 효율적인 방법은 무엇입니까?
def load_w2v():
openfile = '../Pretrained/word2vec/GoogleNews-vectors-negative300.bin'
model = gensim.models.KeyedVectors.load_word2vec_format(openfile, binary=True)
return model.vocab.keys()
if __name__ == '__main__':
pre_trained_words = load_w2v()
ready_have = []
duplicated_words = []
for word in pre_trained_words:
if word.lower() not in ready_have:
ready_have.append(word.lower())
else:
duplicated_words.append(word)
continue
그러나, 내 컴퓨터는 중복 된 단어를 얻을 수있는 몇 가지 effiencient 방법이 18 시간 동안들이받은하지 완료, 그래서 궁금 해서요되었습니다?
효율성 문제인지 아니면 무한 루프에 빠질지 확신하십니까? 프로세스를 디버깅 했습니까? –
중복을 정의하십시오. "안녕하세요"와 "여보세요"는 중복되지만 두 번 이상 복제가 발생하는 "안녕하세요"입니까? – VPfB