2015-07-10 53 views
2

我想使用gensim.corpora.wikicorpus處理維基百科。我的最終目標是訓練一個Word2Vec模型。使用Gensim處理西班牙維基百科

我有它的工作,但我有西班牙語重音元音的問題:á,é,í,ó,ú。

我想將它們標準化爲a,e,i,o,u。

我似乎在gensim中有一個deaccent函數,但我想在構建語料庫時直接應用它。這可以做到嗎?

這裏是一個工作示例:

from gensim.corpora import WikiCorpus 
from gensim.models.word2vec import Word2Vec 
import logging 

logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', 
       level=logging.INFO) 

# I would like to include here the normalization 
corpus = WikiCorpus('/Users/jesusfbes/Desktop/eswiki-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 

model = Word2Vec(size=400, window=5, min_count=5) 
model.build_vocab(generate_lines()) 
model.train(generate_lines(), chunksize=500) 

model.save('mymodel') 

回答

0

我猜你應該做的是沿着這些路線的東西:對於

from gensim.utils import deaccent 

def generate_lines(): 
    for index, text in enumerate(corpus.get_texts()): 
     if index < max_sentence or max_sentence == -1: 
      yield deaccent(text) 
     else: 
      break 

我還要存儲呼叫到generate_lines結果()只要您有足夠的RAM來存儲結果並在model.build_vocab()和model.train()調用中重用它們即可。