私はArangoDBを使用しており、それを使用してグラフベースの推奨システムを構築しようとしています。
データ モデルには、ユーザー、アイテム、および評価 (エッジ) のみが含まれます。
したがって、 katz 尺度を使用して、映画に対するユーザーの親和性を計算したいと考えています。
最終的に私はこれをしたい:
Get all (or a certain number of) paths between a user and a item
For all of these paths do the following:
Multiply each edge's rating with a damping factor (e.g. 0.7)
Sum up all calculated values within a path
Calculate the average of all calculated path values
その結果、ユーザーとアイテムの間にある種の親和性が生まれ、中間評価で重み付けされ、定義された係数で減衰されます。
私はAQLでそのようなことを実現しようとしていましたが、それは間違っていたか遅すぎました. このようなアルゴリズムはAQLでどのように見えるでしょうか?
パフォーマンスの観点からは、グラフ ベースのレコメンダー システムの方が適している可能性があります。誰かが提案 (例: アイテム ランクやその他のアルゴリズム) を持っている場合は、ここでアイデアを得るのもいいでしょう。
私はこのトピックが大好きですが、時々自分の境界線にたどり着きます。