【发布时间】:2018-07-07 22:09:46
【问题描述】:
我在 6.4 GB 文本数据上使用 gensim 包训练了我的 word2vec 模型,该数据使用以下代码 sn-p 进行了预处理:
def read_input(input_file):
with open(input_file, "r") as inp:
inp_str = inp.read()
inp_str = inp_str.strip('\n')
inp_str = re.sub(r'\n', ' ', inp_str)
lowercase = inp_str.lower()
punc = lowercase.translate(str.maketrans('', '', string.punctuation))
return (punc.translate(str.maketrans('','','1234567890')))
def read_(input_file):
return( gensim.utils.simple_preprocess(input_file, deacc=True, min_len=3))
doc = read_input('../train1.txt')
documents = read_(doc)
logging.info ("Done reading data file")
但每次我训练模型时,它的大小都是 147 Kb,这似乎不太正确,当我尝试从训练后的模型生成向量时,它会说:
KeyError: "word 'type' not in vocabulary"
以下是我用于训练 word2vec 模型的代码:
old_model = Word2Vec.load('../word2vec_model')
old_model.train(documents, total_examples=old_model.corpus_count, epochs=7)
old_model.save('../word2vec_model1')
logging.info ("Saved the new word2vec model")
请帮我解决这个问题。
【问题讨论】:
标签: python python-3.x word2vec gensim word-embedding