ユーザーがタグのコレクションを持つ Web アプリケーションを開発しています。タグの類似性に基づいて、ユーザー向けの提案リストを作成する必要があります。
たとえば、ユーザーがシステムにログインすると、システムは自分のタグを取得し、ユーザーの DB でこれらのタグを検索し、類似のタグを持つユーザーを表示します。たとえば、ユーザー 1が次のタグ [ Linux、Apache、MySQL、PHP ] を持ち、ユーザー 2が [ Windows、IIS、PHP、MySQL ] を持っている場合、ユーザー 2は 50% の重みでユーザー 1に一致します。タグ ( PHPおよびMySQL )。
しかし、ユーザー 1が [ASP、IIS、MS Access ] で、ユーザー 2は [ PHP、Apache、MySQL ] を持っています。この状況では、私のシステムはユーザー 2をユーザー 1の「友達」提案しません。しかし、この 2 人のユーザーは仕事の分野で類似点があり、どちらも Web テクノロジー (または Web プログラミングなど) に取り組んでいることがわかっています。
そういうわけで、私はコンピュータ サイエンスの一種の分類法が必要なのです (今のところ、おそらく、医学、物理学、数学などの他の分野の分類法も必要になるでしょう)。これらの概念は分類されており、検索するときに例えば、 ASPとPHPの類似性は、類似性があり、1 つのグループ (またはカテゴリ) に属していると言えます。
私の問題を明確に説明したいと思いますが、何か間違っていることが説明されている場合は、修正していただければ幸いです.
ありがとう
4 に答える
私はあなたが実際に分類法を必要とするとは思わない。十分なデータがあれば、フィールドでクラスター分析を実行し、タグ間の関係を推測できるはずです。詳細については、自動タグ クラスタリングに関するこのペーパーを参照してください。タグに基づいたタグのクラスタリングと分析が思い通りにいかない場合は、Flickr を参照してください。
または、分類法が必要だと思われる場合は、SKOS の使用を検討してください。タグを SKOS にマップできる場合は、タグに対してこの種の分析を実行できます。特に役立つ SKOS データの 2 つのソースは、Library of Congress Subject HeadingsとDbPediaです。SKOS の使用についてさらに質問がある場合は、SemanticOverflowを試してください。
これらの用語がフォーラムなどに表示されている場合は、潜在意味分析を使用して用語のクラスターを構築できます。
Google セットを使用していくつかを生成しますか? それよりも大きなデータセットを取得するのは難しいでしょう:
タグ間の関係を作成する必要があります。これが自動的にできるとは思えません。sql=mysql=postgresql=oracle、asp=jsp=php などのデータベースを作成する必要があります。このようにして、ある種のタグ グループを作成します。タグは確かに複数の関係にある可能性があります。