Sto cercando di formare il modello word2vec dal gensim utilizzando la wikipedia italiana "http://dumps.wikimedia.org/itwiki/latest/itwiki-latest-pages-articles.xml.bz2"Gensim treno word2vec su wikipedia - pre-elaborazione e parametri
Tuttavia, io non sono sicuro di quello che è il miglior pre-elaborazione per questo corpus.
Il modello Gensim accetta un elenco di frasi tokenizzate. Il mio primo tentativo è quello di utilizzare semplicemente il preprocessore standard di WikipediaCorpus di Gensim. Questo estrae ogni articolo, rimuove la punteggiatura e divide le parole negli spazi. Con questo strumento ogni frase corrisponderebbe a un intero modello e non sono sicuro dell'impatto di questo fatto sul modello.
Dopo questo treno il modello con i parametri predefiniti. Sfortunatamente, dopo l'allenamento, sembra che non mostro di ottenere somiglianze molto significative.
Qual è la preelaborazione più appropriata sul corpus di Wikipedia per questa attività? (Se questa domanda è troppo ampia per favore mi aiuti puntando a un rilevante tutorial/articolo)
Questo il codice della mia prima prova:
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)
Grazie, ho avuto qualche buona esperienza iniziale utilizzando word2vec e Gensim finora. Tuttavia, per la mia applicazione una limitazione attuale è che il vocabolario non sembra essere appreso online durante l'allenamento. Non l'ho ancora guardato nei dettagli, ma mi chiedo se sarebbe possibile modificare il codice dando la possibilità di espandere il vocabolario online ... ci pensi? Grazie! –