gpt4 book ai didi

java - Mahout - 集群 - "naming"集群元素

转载 作者:行者123 更新时间:2023-11-30 04:45:48 24 4
gpt4 key购买 nike

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

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

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

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

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

因此,我想到了以下想法:

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

  • 要求用户在网络中查找任何应该与“Madonna”有关的文档(我无法向用户显示我的 N 个文档中的任何一个,这是一个限制)。然后我想测量该文档与 3 组中每一组的“相似性”。我期望看到模型中 user_doc 与 Madonna 群组中的文档之间的相似度测量将高于 user_doc 与政治相关文档之间的相似度。

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

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

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

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

非常感谢任何帮助

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

最佳答案

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

(用奇特的话来说,你会做 semisupervised nearest centroids classification 。)

关于java - Mahout - 集群 - "naming"集群元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10996505/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com