Python と Redis を使用したリアルタイム レコメンデーション システムの構築: パーソナライズされたレコメンデーションを提供する方法
はじめに:
現代の情報爆発の時代では、ユーザーは多くの場合、多数のオプションと選択肢に直面します。そのため、パーソナライズされた推奨システムがますます重要になります。この記事では、Python と Redis を使用してリアルタイムのパーソナライズされたレコメンデーション システムを構築する方法と、Redis の強力な機能を使用してパーソナライズされたレコメンデーションを提供する方法を紹介します。
1. パーソナライズされた推奨システムとは
パーソナライズされた推奨システムは、ユーザーの興味や行動に基づいて、アルゴリズムや機械学習テクノロジーと組み合わせて、ユーザーの興味やニーズに合ったコンテンツや製品を推奨します。 。パーソナライズされた推奨システムの中核は、ユーザーの行動と興味を分析して理解することで、ユーザーの好みとニーズを正確に予測し、対応する推奨コンテンツを提供することです。
2. Redis の概要
Redis は、効率的な読み取りおよび書き込み速度と豊富なデータ構造のサポートを備えたオープンソースのメモリ内データベースです。キャッシュ、メッセージ キュー、リアルタイム カウンターなどのさまざまなシナリオで使用できます。パーソナライズされたレコメンデーション システムでは、Redis をユーザーの行動や興味のストレージおよび分析ツールとして使用でき、レコメンデーション システムにリアルタイム データ サポートを提供します。
3. 基本的な環境構築
リアルタイムレコメンドシステムを構築する前に、Python と Redis 環境をインストールして設定する必要があります。
コマンド ラインに次のコマンドを入力して、Python と依存ライブラリをインストールします:
$ sudo apt-get update $ sudo apt-get install python3 python3-pip $ pip3 install redis
$ sudo apt-get install redis-server
import redis # 连接Redis r = redis.Redis(host='localhost', port=6379) # 存储电影数据 movies = [ {"id": 1, "title": "电影1", "category": "喜剧", "rating": 4.5}, {"id": 2, "title": "电影2", "category": "动作", "rating": 3.8}, {"id": 3, "title": "电影3", "category": "爱情", "rating": 4.2}, # 添加更多电影数据... ] for movie in movies: r.hmset("movie:%s" % movie["id"], movie)
# 添加用户行为数据 user1 = {"id": 1, "ratings": {"1": 5, "2": 4, "3": 3}} user2 = {"id": 2, "ratings": {"1": 4, "2": 3, "3": 2}} user3 = {"id": 3, "ratings": {"2": 5, "3": 4}} # 添加更多用户数据... for user in [user1, user2, user3]: for movie_id, rating in user['ratings'].items(): r.zadd("user:%s:ratings" % user["id"], {movie_id: rating})
# 获取用户的观看记录 def get_user_ratings(user_id): return r.zrange("user:%s:ratings" % user_id, 0, -1, withscores=True) # 获取电影的评分 def get_movie_rating(movie_id): movie = r.hgetall("movie:%s" % movie_id) return float(movie[b"rating"]) # 个性化推荐算法 def personalized_recommendation(user_id, top_n=3): user_ratings = get_user_ratings(user_id) recommendations = [] for movie_id, rating in user_ratings: related_movies = r.smembers("movie:%s:related_movies" % movie_id) for movie in related_movies: if r.zrank("user:%s:ratings" % user_id, movie) is None: recommendations.append((movie, get_movie_rating(movie))) return sorted(recommendations, key=lambda x: x[1], reverse=True)[:top_n] # 输出个性化推荐结果 user_id = 1 recommendations = personalized_recommendation(user_id) for movie_id, rating in recommendations: movie = r.hgetall("movie:%s" % movie_id) print("电影:%s, 推荐评分:%s" % (movie[b"title"], rating))
この記事では、Python と Redis を使用してリアルタイムのパーソナライズされたレコメンデーション システムを構築する方法を紹介します。 Redis の強力な機能により、ユーザーの行動や興味を簡単に保存および分析し、パーソナライズされたレコメンデーション コンテンツをユーザーに提供できます。もちろん、これはパーソナライズされたレコメンデーション システムの基礎にすぎず、実際のニーズに応じて、より複雑なアルゴリズムやテクノロジーを適用して、レコメンド効果を向上させることができます。実際のアプリケーションでは、データのセキュリティやパフォーマンスなどの問題も考慮する必要がありますが、この記事では簡単な例を示しますので、読者の参考になれば幸いです。
以上がPython と Redis を使用したリアルタイム レコメンデーション システムの構築: パーソナライズされたレコメンデーションを提供する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。