Python 如何将word2vec模型应用于文本文件?

Python 如何将word2vec模型应用于文本文件?,python,machine-learning,nlp,word2vec,Python,Machine Learning,Nlp,Word2vec,我从语料库中训练了word2vec模型 corpus = "fewdata.txt" f = io.open(corpus, mode ="r", encoding = "utf-8") #corpus1 = list(f) lines = f.readlines() sentences =[] for line in lines: mqul= line.split() #print(mqul) sentences.append(mqul) model = Word2V

我从语料库中训练了word2vec模型

corpus = "fewdata.txt"
f = io.open(corpus, mode ="r", encoding = "utf-8")
#corpus1 = list(f) 
lines = f.readlines()
sentences =[]
for line in lines:
    mqul= line.split()
    #print(mqul)
    sentences.append(mqul)
model = Word2Vec(sentences = sentences, size = 100, sg = 1, window = 3, min_count = 1, iter = 10, workers = Pool()._processes)
model.init_sims(replace = True)
model.save('model.bin')
model = Word2Vec.load('model.bin')
print(model)
然后

但是我想用这个模型来处理包含5333词汇表的txt文件,并以

{ 'Aimurawi : array([-0.04728228,  0.13645388,  0.13822217,  0.13086553, -0.0963688 ],dtype= float32),
 Tiona : array([-0.04728228,  0.13645388,  0.13822217,  0.13086553, -0.0963688 ], dype =float32)}

对于我文本文件中的所有词汇表,有人能帮我怎么做吗?

Word2Vec模型的
。wv
属性已经包含一个类似dict的对象,它允许查找任何单词并接收其数组。因此,很容易循环任何单词列表,可能就是模型中的单词列表,并获取/打印每个向量。但是,为什么您希望它采用那种特定的格式呢?这种格式看起来很像,但似乎并不完全像字典中的Python打印字符串?你想让每个已知的单词以任何顺序打印一次吗?或者只是一些其他文件中的文字,按照文件中的顺序,可能包括副本?是的,我正是这么看的,但谢谢我做到了。并将其保存到文本文件中。现在我正在从我的文本文件中查找任意单词各自的数组,比如=>word=“cat”,s=data。获取(word)并生成类似cat的数组[0.23088 0.282830.6318……]。一旦您拥有(或保存并重新加载)了
.wv
对象,那么
wv['cat']
将给您向量(作为
numpy
数组)因为“猫”这个词。还是你在要求别的什么?
{ 'Aimurawi : array([-0.04728228,  0.13645388,  0.13822217,  0.13086553, -0.0963688 ],dtype= float32),
 Tiona : array([-0.04728228,  0.13645388,  0.13822217,  0.13086553, -0.0963688 ], dype =float32)}