PHP を使用してレコメンデーション システムのリアルタイムのパーソナライズされたレコメンデーションを実装する方法
レコメンデーション システムは、多くの Web サイトやアプリケーションの重要な部分になっています。ユーザーの興味や行動習慣に基づいてパーソナライズされた推奨コンテンツを提供し、ユーザーエクスペリエンスとWebサイト全体の効果を向上させることができます。この記事では、PHP を使用して簡単なレコメンデーション システムを実装する方法を紹介し、リアルタイムでパーソナライズされたレコメンデーションを作成する方法を示します。
レコメンドシステムの基本原理は、ユーザーの過去の行動や他のユーザーの行動に基づいて、ユーザーが興味を持ちそうなコンテンツを予測し、そのコンテンツをユーザーに推薦することです。パーソナライズされた推奨事項を実現するには、ユーザーが閲覧した Web ページやクリックしたボタンなどのユーザー行動データを収集する必要があります。このデータは、ユーザー関心モデルを構築し、このモデルに基づいて推奨事項を作成するために使用されます。
まず、ユーザーの行動データを保存するデータベースを作成する必要があります。データベース エンジンとして MySQL を使用し、ユーザーの行動データを保存するための「actions」と呼ばれるテーブルを作成します。テーブルの構造は次のとおりです。
CREATE TABLE actions ( id INT AUTO_INCREMENT PRIMARY KEY, user_id INT, action VARCHAR(255), item_id INT, timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
次に、ユーザーの行動をキャプチャしてデータベースに保存するための PHP コードを記述する必要があります。以下は、ユーザーのクリック動作をキャプチャしてデータベースに保存するためのサンプル コードです。
<?php // 连接数据库 $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "database"; $conn = new mysqli($servername, $username, $password, $dbname); // 捕获用户的点击行为 $action = "click"; $item_id = $_GET['item_id']; // 从GET请求中获取item_id $user_id = $_SESSION['user_id']; // 从会话中获取user_id // 将用户的行为存储到数据库中 $sql = "INSERT INTO actions (user_id, action, item_id) VALUES ('$user_id', '$action', '$item_id')"; $conn->query($sql); $conn->close(); ?>
上記のコードでは、まず mysqli クラスを通じてデータベースに接続します。次に、GET リクエストからユーザーのクリック動作と item_id を取得し、セッションからユーザーの user_id を取得します。最後に、ユーザーの行動をデータベースに保存します。
次に、ユーザーの行動データに基づいてユーザー興味モデルを構築し、そのモデルに基づいてパーソナライズされた推奨事項を作成する必要があります。以下は、ユーザーのクリック動作に基づいて推奨を行うためのサンプル コードです。
<?php // 连接数据库 $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "database"; $conn = new mysqli($servername, $username, $password, $dbname); // 获取用户的兴趣模型 $user_id = $_SESSION['user_id']; // 从会话中获取user_id $sql = "SELECT item_id FROM actions WHERE user_id = '$user_id' AND action = 'click'"; $result = $conn->query($sql); $interests = array(); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { $item_id = $row['item_id']; $interests[] = $item_id; } } // 根据用户的兴趣模型进行推荐 $sql = "SELECT item_id FROM actions WHERE user_id <> '$user_id' AND action = 'click' AND item_id NOT IN (" . implode(',', $interests) . ")"; $result = $conn->query($sql); $recommendations = array(); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { $item_id = $row['item_id']; $recommendations[] = $item_id; } } $conn->close(); ?>
上記のコードでは、まずセッションからユーザーの user_id を取得し、これに基づいてデータベースからユーザーのクリック動作を取得します。ユーザーID。次に、ユーザーの関心モデルを表す item_id を $interests 配列に保存します。次に、他のユーザーのクリック動作をデータベースから取得し、ユーザーがクリックしていない item_id をフィルターで除外します。最後に、推奨された item_id を $recommendations 配列に保存します。
最後に、推奨結果をユーザーに表示する必要があります。以下は、推奨結果を表示する簡単なサンプル コードです。
<?php foreach ($recommendations as $item_id) { // 根据item_id从数据库中获取item的详细信息 $sql = "SELECT * FROM items WHERE item_id = '$item_id'"; $result = $conn->query($sql); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { // 显示item的标题、图片等信息 echo $row['title'] . "<br>"; echo "<img src='" . $row['image'] . "'><br>"; // ... } } } ?>
上記のコードでは、foreach ループを使用して $recommendations 配列を走査し、item_id に基づいてデータベースからアイテムの詳細を取得します。次に、アイテムのタイトル、写真、その他の情報をユーザーに表示します。
要約すると、PHP を使用してレコメンデーション システムのリアルタイムのパーソナライズされたレコメンデーションを実装することは複雑ではありません。ユーザー行動データを収集し、ユーザー興味モデルを構築し、モデルに基づいてパーソナライズされた推奨事項を作成することで、より優れたユーザー エクスペリエンスと Web サイト効果を提供できます。この記事が、推奨システムの実装プロセスを理解するのに役立ち、また、実際のアプリケーションでの参考になれば幸いです。
以上がPHP を使用してレコメンデーション システムのリアルタイムのパーソナライズされたレコメンデーションを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。