PHP を使用してレコメンデーション システムのリアルタイムのパーソナライズされたレコメンデーションを実装する方法

PHPz
リリース: 2023-07-30 20:16:01
オリジナル
1431 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!