Word2Vec模型没有经过训练,在lis中输入句子时尝试使用句子序列和符号化单词

2024-06-01 01:58:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我学习了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}$

Tags: 字符串clean示例列表modelmodelslogging格式
1条回答
网友
1楼 · 发布于 2024-06-01 01:58:21

你怎么知道这不是“训练”?在

是否确实要像显示的代码那样,向Word2Vec提供sentences_clean,而不是{}列表?在

(如果sentences_clean是一个字符串列表,则赋予Word2Vec的每个字符串看起来都像一个字符列表,而Word2Vec模型学习到的唯一“单词”将是单个字符。)

相关问题 更多 >