私は、多数の単語セットを比較することを含む問題を解決しようとしています。各セットには、一連の単語 (合計約 600 +、非常に高い次元!) からの多数の順序付けられた単語が含まれており、類似性があり、それらをクラスター化して明確なグループ分け。ソリューションは、可能な限り監視されていない必要があります。
データは次のようになります
[りんご、バナナ、オレンジ…]
[りんご、バナナ、ぶどう…]
[ゼリー、アニス、オレンジ…]
[いちご、バナナ、オレンジ…]
...etc
各セットの単語の順序が重要です ([Apple, Banana, Orange] は [Apple, Orange, Banana] とは異なります)
私がこれまでに使用してきたアプローチは、Python スクリプトで計算されるメトリックとしてレーベンシュタイン距離 (距離のしきい値によって制限される) を使用し、各単語を一意の識別子として、距離から類似度マトリックスを生成し、そのマトリックスをグループ化のための KNIME の k-Mediods。
私の質問は次のとおりです。
- レーベンシュタインは、この問題に使用する最も適切な距離計量ですか?
- 平均/medoid プロトタイプ クラスタリングは、グループ化を行うための最良の方法ですか?
- クラスタリングで「k」の選択を検証することについては、まだあまり考えていません。クラスタリングの SSE 曲線を評価することは、これを行うための最良の方法でしょうか?
- 私の方法論に欠陥はありますか?
- 将来のソリューションの拡張として、トレーニング データが与えられた場合、クラスター割り当てに確率を割り当てる方法について考えている人はいますか? たとえば、セット 1 がクラスター 1 に含まれる確率は 80% です。
私の質問があまりにもばかげているように見えたり、答えが痛々しいほど明白に見えたりしないことを願っています.私はデータマイニングに比較的慣れていません.
ありがとう!