我学习了word2vec教程,并能够使用Text8Corpus的给定示例数据进行训练。Tutorial link但当我试图在自定义数据上进行测试时,模型不是训练的。输入是python列表中unicode字符串格式的。最小计数也设置为1。因为它不是用上面的输入格式训练的,所以我试图检查给定教程中的输入类型,但是我收到的格式是:class'gensim.models.word2vec.text8语料库'。所以不知道如何在列表中训练unicode字符串语句的自定义数据。谁能指引我正确的方向吗?在
Example of the input : [[u'SENTENCE_START', u'dont', u'let', u'him', u'treat', u'you', u'like', u'garbage', u'SENTENCE_END']]
sentences_clean = []
data = pandas.read_excel('from my folder/3_captions.xlsx', parse_cols = "A")
sentences = data.iloc[:, 0].tolist()
for line in sentences:
line = re.sub(r"""["?,$!]|'(?!(?<! ')[ts])""", "", line)
line = re.sub(r"\.", "", line)
line = line.lower().replace("'", "")
sentences_clean.append(line)
tokenized_sentences = [nltk.word_tokenize(sent) for sent in sentences_clean]
import gensim, logging
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
model_word2vec = gensim.models.Word2Vec(sentences_clean, min_count=1, size=300, workers=4)
model_word2vec.save('/Users/rajesh/Documents/word2vec')
print (model_word2vec.similarity('freudian','slip'))
这就是我从教程和示例中理解到的word2vec的全部训练?但下面的教程很管用。在
^{pr2}$
你怎么知道这不是“训练”?在
是否确实要像显示的代码那样,向Word2Vec提供}列表?在
sentences_clean
,而不是{(如果
sentences_clean
是一个字符串列表,则赋予Word2Vec的每个字符串看起来都像一个字符列表,而Word2Vec模型学习到的唯一“单词”将是单个字符。)相关问题 更多 >
编程相关推荐