【问题标题】:How to perform K- means clustering over text in python?如何在python中对文本执行K-means聚类?
【发布时间】:2020-10-30 06:15:03
【问题描述】:

我有成千上万个这样的元素:

[ "business_id_a", [ "Food", "Restaurant","Wine & Pizza"] ] 
[ "business_id_b", ["Mexican", "Burgers", "Gastropubs & Wine" ] ]
... 

[ "business_id_k", ["Automotive", "Delivery","Whatever"] ]

我想使用 k-means 按类别对主题进行分组来对 business_id 进行聚类。

也许这不是最好的选择。我的想法是创建一种类别字典,首先以任何方式对所有可能的类别进行分组,然后使用模型将样本按类别集群分组为 business_id 组。

这行得通吗?在 Python 中哪种方法最好?

【问题讨论】:

  • 您能否详细说明数据,请针对示例 1..
  • 另外,澄清类别是单个词还是多个词。这会影响解决方案的复杂性。
  • 完成了,希望满意,如有不妥,请告诉我。对不起,伙计们。

标签: python scikit-learn nlp k-means


【解决方案1】:

最好的选择是首先对文本进行标记和矢量化。你可以用 NLTK 的词分词器https://www.nltk.org/api/nltk.tokenize.html进行分词

然后您可以使用 sklearn 的 CountVectorizer 或 TFIDFVectorizer 之类的东西进行矢量化

从那里,您可以应用 k-means

【讨论】:

    猜你喜欢
    • 2016-08-14
    • 2015-06-22
    • 2019-01-06
    • 2016-02-01
    • 2019-04-06
    • 2018-01-18
    • 2012-09-11
    • 2011-03-31
    • 2012-03-24
    相关资源
    最近更新 更多