我有一个说明房子特征的短语列表。
l = ["cats allowed", "dogs allowed", "pets allowed" , "24 hour doorman", "24 hour concierge", "24/7 concierge", "24hr doorman", ...]
。
该列表包含约20000
个字词。我想创建类似单词的集群。在这里,将形成两个集群。
clstr1 = ["cats allowed", "dogs allowed", "pets allowed"]
clstr2 = ["24 hour doorman", "24 hour concierge", "24/7 concierge", "24hr doorman"]
我不知道群集的总数。直到现在,我只能理解这可以通过k-means clustering algorithm
完成。但是,为此,我必须vectorize
这些词。我正在考虑使用pre-trained google word2vec
模型对单词进行向量化,然后将kmeans
中的scikit learn
应用于随机数量的群集n_clusters = 2000
。我有更好的方法吗?使用nltk
或任何其他方法?