그러나,이 신체에 가장 적합한 전처리 무엇인지 모르겠습니다.
Gensim 모델은 토큰 화 된 문장의 목록을 허용합니다. 첫 번째 시도는 Gensim의 표준 WikipediaCorpus 전 처리기를 사용하는 것입니다. 이것은 각 기사를 추출하고 구두점을 제거하고 공백에 단어를 나눕니다. 이 도구를 사용하면 각 문장이 전체 모델에 해당하므로이 사실이 모델에 미치는 영향에 대해서는 확신 할 수 없습니다.
다음은 기본 매개 변수를 사용하여 모델을 학습합니다. 불행히도 훈련을 마치면 나는 매우 의미있는 유사성을 얻지 못하는 것 같습니다.
이 작업을 위해 위키 백과 코퍼스에서 가장 적절한 전처리 도구는 무엇입니까?
from gensim.corpora import WikiCorpus
import logging
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
corpus = WikiCorpus('itwiki-latest-pages-articles.xml.bz2',dictionary=False)
max_sentence = -1
def generate_lines():
for index, text in enumerate(corpus.get_texts()):
if index < max_sentence or max_sentence==-1:
yield text
else:
break
from gensim.models.word2vec import BrownCorpus, Word2Vec
model = Word2Vec()
model.build_vocab(generate_lines()) #This strangely builds a vocab of "only" 747904 words which is << than those reported in the literature 10M words
model.train(generate_lines(),chunksize=500)
감사합니다, 지금까지 word2vec 및 Gensim를 사용하여 좋은 초기 경험을했다. 그러나, 현재의 응용 프로그램에 대한 현재의 한계는 어휘가 훈련하는 동안 온라인으로 배울 수없는 것 같습니다. 아직 자세히 보지 못했지만 어휘를 온라인으로 확장 할 수있는 가능성을 부여하여 코드를 수정할 수 있는지 궁금합니다 ...이 점에 대해 생각하고 있습니까? 감사! –