(不完全に) クラスター化された文字列データがあり、1 つのクラスター内のアイテムは次のようになります。
[
Yellow ripe banana very tasty,
Yellow ripe banana with little dots,
Green apple with little dots,
Green ripe banana - from the market,
Yellow ripe banana,
Nice yellow ripe banana,
Cool yellow ripe banana - my favourite,
Yellow ripe,
Yellow ripe
],
最適なタイトルは「黄色の熟したバナナ」です。
現在、SQL GROUP BY を使用して、単純なヒューリスティックを使用しています。私のデータにはそのようなクラスターが大量に含まれており、それらは頻繁に変更され、新しい果物がクラスターに追加またはクラスターから削除されるたびに、クラスターのタイトルを再計算する必要があります。
改善したいのは以下の2点です。
(1)効率- たとえば、新しい果物の名前をクラスターのタイトルのみと比較し、毎回すべての果物のタイトルのグループ化/フレーズ クラスター化を回避します。
(2)精度- 最も一般的な完全な名前を探す代わりに、最も一般的なフレーズを抽出したいと考えています。現在のアルゴリズムは、2 回繰り返され、最も一般的な完全なフレーズである「Yellowripe」を選択します。ただし、「黄色の熟したバナナ」というフレーズは、特定のセットで最も一般的です。
Solr + Carrot2 を使用することを考えています (2 番目の経験はありません)。この時点で、文書をクラスター化する必要はありません。文書は他のパラメーターに基づいて既にクラスター化されています。中心となるフレーズをクラスターの中心/タイトルとして選択するだけで済みます。
任意の入力は非常に高く評価されています, ありがとう!