是否存在可以根据含义对单词进行聚类的算法或技术?

时间:2019-05-01 22:32:42

标签: python text associations cluster-analysis word

我需要根据单词的含义为相似的单词开发聚类。例如,我想将“苹果”与“水果”,“香蕉”,“蜜饯”放在同一群集中。

是否有一些像这样的词典软件包,还是由我自己创建集群?

2 个答案:

答案 0 :(得分:0)

Google的自然语言处理api可能会有所帮助。这里是一个链接:https://cloud.google.com/natural-language/。可以在网站上直接进行演示,因此您可以查看是否正在寻找它。

答案 1 :(得分:0)

有许多预训练的模型供您下载,它们是词干的向量表示形式。一个流行的选择是Google的预训练的300维Word2Vec模型,可以从以下位置下载:

https://drive.google.com/file/d/0B7XkCwpI5KDYNlNUTTlSS21pQmM/edit

并加载(解压缩后):

import gensim
model = gensim.models.Word2Vec.load_word2vec_format('GoogleNews-vectors-negative300.bin', binary=True)  

此模型相当大,但确实可以满足您的需求。如果您只对单词的一个子集感兴趣,建议您仅从模型中提取这些单词,并将其坐标存储在DataFrame中,以备以后(更快)使用。

对于其他型号,请参见以下内容:

  1. https://fasttext.cc/docs/en/crawl-vectors.html
  2. https://nlp.stanford.edu/projects/glove/
  3. https://fasttext.cc/