次の問題を解決するための優れた戦略またはアルゴリズムを知りたい:
私が持っているものは次のとおりです。タイムスタンプと各記事のニュースカテゴリの加重ベクトルを持つ、さまざまなソースからのニュース記事のセット。
私が欲しいのは、同じトピックを扱うさまざまなソースからの記事のクラスターです。
基本的には、Google ニュースの重要な機能を真似したいと思います。つまり、トピックを提示し、同じトピックについてさまざまなニュース ソースを一覧表示します。
上記のニュース カテゴリのベクトルのような記事には既に優れた機能があります。クラスタリングを行うための適切な戦略、クラスタリング アルゴリズム、およびライブラリを選択する必要があることを知っておく必要があります。
クラスタリング アルゴリズムに必要な機能:
- 固定数のクラスターはありません (記事セットにいくつのトピックが存在するかを事前に知りません)。
- 新しい記事を既存のクラスターに効率的にマッピングするか、記事が既存のクラスターに十分に適合しない場合は新しいクラスターを作成します。
- 類似性について記事のタイムスタンプを考慮してください。
- 時代遅れになり、基礎となる記事セットから削除される場合は、クラスターを解消します。
クラスタリングを行ったことがないので、上記の機能を提供するクラスタリング アルゴリズムがあるかどうか、またはこれらの機能の一部が複雑すぎるか、クラスタリングが遅くなるため、回避策を見つける必要があるかどうかはわかりません。
私は mahout をクラスタリング用のライブラリとして見ていることを知っています。mahout または別のライブラリを使用してトピックを検出するために、すぐに使用できるオープン ソースの実装はありますか?