我正在使用Word2Vec创建预测性文本python程序,但是在构建准确的Word2Vec模型时遇到了麻烦。
如果相关,我的示例文本为“ Jekyll博士和Hyde先生”。我试过建立带有和不带有停用词的模型,并且都没有给most_like函数提供合理的输出。
def clean_text(text):
text = text.lower()
#removing punctuation except for ./!/?
text = re.sub('[^\w\s.!?]', '', text)
return(text)
text = open("book.txt")
text = text.read()
text = clean_text(text)
#convert data into nested list of sentences which are lists of words
data = [word_tokenize(sentence) for sentence in sent_tokenize(text)]
#vectorize
word2vec = Word2Vec(data)
embed()
一旦嵌入启动控制台,我将使用word2vec.wv.most_like()进行操作,并得到无意义的结果。
例如,“疑问”的最高匹配项是“”。 “ hyde”的最高匹配项是“ as”。对于“ hyde”,我希望它会加上另一个字符的名称,因为我想它们都将以类似的方式使用。