【问题标题】:Mahout - Clustering - "naming" the cluster elementsMahout - 集群 - “命名”集群元素
【发布时间】:2012-06-15 07:49:43
【问题描述】:

我正在做一些研究,我正在使用 Apache Mahout 0.6

我的目的是构建一个系统,该系统将根据用户输入命名不同类别的文档。这些文件是事先不知道的,我也不知道在收集这些文件时我有哪些类别。但我知道,模型中的所有文档都应该属于预定义的类别之一。

例如: 假设我收集了 N 个文档,属于 3 个不同的组:

  • 政治
  • 麦当娜(流行歌星)
  • 科幻小说

我不知道哪个文档属于哪个类别,但我知道我的 N 个文档中的每一个都属于这些类别之一(例如,在这 N 个文档中没有关于篮球的文档)

所以,我想出了以下想法:

  • 应用 mahout 聚类(例如,这些文档中 k=3 的 k-mean) 这应该将 N 个文档分成 3 组。这应该是我学习的一种模式。我仍然不知道哪个文档真正属于哪个组,但至少文档现在按组聚类

  • 让用户在网络上找到任何关于“麦当娜”的文档(我不能向用户显示我的 N 个文档,这是一个限制)。然后我想测量这个文档和 3 组中的每一个的“相似性”。 我希望看到模型中 user_doc 与 Madonna 组中文档之间的相似度度量将高于 user_doc 与政治文档之间的相似度。

我已经设法使用“Mahout in Action”一书制作了一组文档。 但我不明白我应该如何使用 Mahout 来测量“就绪”文档集群组与给定文档之间的相似性。

我考虑过为具有相同质心的 N+1 个文档(就 k 均值聚类而言)重新运行 k=3 的集群,并查看新文档是否落在哪里,但也许还有其他方法可以做到这一点?

是否可以使用 Mahout 或我的想法在概念上是错误的? (在 Mahout API 方面的例子会非常好)

非常感谢,很抱歉问了一个很长的问题(无法更好地描述它)

非常感谢任何帮助

附:这不是一个家庭作业项目:)

【问题讨论】:

    标签: java mahout text-mining


    【解决方案1】:

    这可能是可能的,但更简单的解决方案 (恕我直言) 是手动标记每个类别中的一些文档,然后使用这些文档引导 k-means。即,计算手工标记的政治/麦当娜/科幻文档的质心,并让 k-means 从那里获取它。

    (用花哨的话来说,你会做semisupervisednearest centroids classification。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-13
      • 2013-12-31
      • 2011-08-06
      • 2012-11-01
      • 2012-11-06
      • 2012-07-09
      • 1970-01-01
      相关资源
      最近更新 更多