Я пытаюсь выполнить неконтролируемое изучение текстовых данных, используя word2vec и кластеризацию.Я обучил модель и после кластеризации с помощью K-средних, я хочу иметь возможность распечатывать кластеры в виде текста.Визуализация данных с помощью обычного графика или T-SNE не кажется информативной.Моя цель состоит в том, чтобы распечатать кластеры с текстом, посмотреть, правильно ли они кластеризованы, а затем назначить категории для фрагментов текста на основе каждой метки кластера.
model = Word2Vec.load("word2vec.model")
X = model[model.wv.vocab]
kmeans = cluster.KMeans(n_clusters=8)
kmeans.fit(X)
y_kmeans = kmeans.predict(X)
plt.scatter(X[:, 0], X[:, 1], c=y_kmeans, s=50, cmap='viridis')
centers = kmeans.cluster_centers_
plt.scatter(centers[:, 0], centers[:, 1], c='black', s=200, alpha=0.5)
plt.show()
График не дает много информации, потому чтомногомерности или кластеризация не достигла правильных результатов.
Если я печатаю данные с метками, как сейчас, отображаются столбцы с векторами слов и столбец меток.
y_new = y_kmeans.reshape(80440, 1)
with_labels = np.hstack((X, y_new))
print(with_labels)
Я хотел бы иметь возможность печатать векторы слов в виде текста вместо их числовых значений и видеть, что там происходит, прежде чем пытаться присвоить тексту какие-либо категории.
Есть ли способ сделать это?