【发布时间】: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