#python #gensim #word2vec #tsne
#питон #генсим #word2vec #tsne
Вопрос:
Я использую TSNE для построения обученной модели word2vec (созданной из gensim).:
labels = [] tokens = [] for word in model.wv.vocab: tokens.append(model[word]) labels.append(word) tsne_model = TSNE(perplexity=40, n_components=2, init='pca', n_iter=2500, random_state=23) new_values = tsne_model.fit_transform(tokens) x = [] y = [] for value in new_values: x.append(value[0]) y.append(value[1]) plt.figure(figsize=(50, 50)) for i in range(len(x)): plt.scatter(x[i],y[i]) plt.annotate(labels[i], xy=(x[i], y[i]), xytext=(5, 2), textcoords='offset points', ha='right', va='bottom') plt.show()
Например, как встроенный метод gensim «most_similar», например.
w2v_model.wv.most_similar(postive=['word'], topn=20)
выведу 20 наиболее похожих слов на «слово», я хотел бы отобразить только наиболее похожие слова (n=20) данного слова. Есть какие-нибудь советы о том, как изменить сюжет, чтобы сделать это?