トピックに基づいて短いメッセージ/ツイートのクラスターを作成するアプリケーションを計画しています。スポーツ [NBA、NFL、クリケット、サッカー]、エンターテイメント [映画、音楽] など、トピックの数は限られています。
これには2つのアプローチが考えられます
- Stackoverflow が行うように、ユーザーに質問にタグを付けるように依頼します。ユーザーは、事前定義されたタグのリストからタグを選択できます。次に、サーバー側で、タグに基づいてそれらをクラスター化します。長所: - シンプルなデザイン。コードの複雑さが軽減されます。短所:- ユーザーの選択肢が制限されます。クラスタは動的ではありません。新しいイベントが発生した場合、事前定義されたタグはそれを見逃します。
- メッセージを取得し、[辞書で事前定義された] ストップワードを削除し、ステミングされたメッセージに何らかのクラスタリング アルゴリズムを適用してクラスターを作成し、その人気度に応じてクラスターを表示します。クラスターは人気が続くまで表示されます [多くのメッセージ/分]。新しいメッセージはスキミングされ、対応するクラスターに割り当てられます。長所:- イベント/事故の人気に基づく動的クラスタリング。短所:- 複雑さが増します。より多くのサーバー リソースが必要です。
この問題に対する他のアプローチがあるかどうかを知りたいです。または、上記の方法を改善する方法はありますか?
また、いくつかの優れたクラスタリング アルゴリズムを提案します。この状況には、「K-Nearest Clustering」アルゴリズムが適していると思います。