Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用word2vec和Kmeans进行聚类_Python_Python 3.x_Cluster Analysis_K Means_Word2vec - Fatal编程技术网

Python 使用word2vec和Kmeans进行聚类

Python 使用word2vec和Kmeans进行聚类,python,python-3.x,cluster-analysis,k-means,word2vec,Python,Python 3.x,Cluster Analysis,K Means,Word2vec,我正在尝试使用word2vec和Kmeans进行集群,但它不起作用 以下是我的部分数据: demain fera chaud à paris pas marseille mauvais exemple ce n est pas un cliché mais il faut comprendre pourquoi aussi il y a plus de travail à Paris c est d ailleurs pour cette raison qu autant de gens&quo

我正在尝试使用word2vec和Kmeans进行集群,但它不起作用

以下是我的部分数据:

demain fera chaud à paris pas marseille
mauvais exemple ce n est pas un cliché mais il faut comprendre pourquoi aussi
il y a plus de travail à Paris c est d ailleurs pour cette raison qu autant de gens",
mais s il y a plus de travail, il y a aussi plus de concurrence
s agglutinent autour de la capitale
脚本:

import nltk
import pandas
import pprint
import numpy as np
import pandas as pd
from sklearn import cluster
from sklearn import metrics
from gensim.models import Word2Vec
from nltk.cluster import KMeansClusterer
from sklearn.metrics import adjusted_rand_score
from sklearn.metrics.pairwise import cosine_similarity
from sklearn.decomposition import NMF

dataset = pandas.read_csv('text.csv', encoding = 'utf-8')

comments = dataset['comments']

verbatim_list = no_duplicate.values.tolist()

min_count = 2
size = 50
window = 4

model = Word2Vec(verbatim_list, min_count=min_count, size=size, window=window)

X = model[model.vocab]

clusters_number = 28
kclusterer = KMeansClusterer(clusters_number,  distance=nltk.cluster.util.cosine_distance, repeats=25)

assigned_clusters = kclusterer.cluster(X, assign_clusters=True)

words = list(model.vocab)
for i, word in enumerate(words):  
    print (word + ":" + str(assigned_clusters[i]))

kmeans = cluster.KMeans(n_clusters = clusters_number)
kmeans.fit(X)

labels = kmeans.labels_
centroids = kmeans.cluster_centers_

clusters = {}
for commentaires, label in zip(verbatim_list, labels):
    try:
        clusters[str(label)].append(verbatim)
    except:
       clusters[str(label)] = [verbatim]
pprint.pprint(clusters)
输出:

回溯最近一次呼叫上次:

文件kmwv.py,第37行,在

X=模型[model.vocab]

AttributeError:'Word2Vec'对象没有属性'vocab'


我需要一个与word2vec一起工作的集群,但是每次我尝试一些东西时,都会出现这个错误。有什么方法可以使用word2vec进行聚类吗?

正如Davide所说,尝试以下方法:

X = model[model.wv.vocab]

正如戴维德所说,试试这个:

X = model[model.wv.vocab]

你好这有用吗:?嗨!这有帮助吗:?有没有办法使用word2vec库对句子进行聚类?而不仅仅是语言?有相关的资源吗?有没有办法使用word2vec库对句子进行聚类?而不仅仅是语言?有资源吗?