Heim  >  Artikel  >  Backend-Entwicklung  >  Wie man mit PHP personalisierte Empfehlungen von Empfehlungssystemen in Echtzeit umsetzt

Wie man mit PHP personalisierte Empfehlungen von Empfehlungssystemen in Echtzeit umsetzt

PHPz
PHPzOriginal
2023-07-30 20:13:561483Durchsuche

Wie man mit PHP personalisierte Echtzeitempfehlungen von Empfehlungssystemen implementiert

Empfehlungssysteme sind zu einem wichtigen Bestandteil vieler Websites und Anwendungen geworden. Es kann personalisierte, empfohlene Inhalte basierend auf den Interessen und Verhaltensgewohnheiten der Benutzer bereitstellen und so die Benutzererfahrung und die Gesamtwirkung der Website verbessern. In diesem Artikel stelle ich vor, wie man ein einfaches Empfehlungssystem mit PHP implementiert, und zeige, wie man personalisierte Empfehlungen in Echtzeit abgibt.

Das Grundprinzip des Empfehlungssystems besteht darin, anhand des historischen Verhaltens des Benutzers und des Verhaltens anderer Benutzer vorherzusagen, an welchen Inhalten der Benutzer interessiert sein könnte, und diese Inhalte dem Benutzer zu empfehlen. Um personalisierte Empfehlungen zu erhalten, müssen wir Daten zum Benutzerverhalten erfassen, z. B. die Webseiten, die der Benutzer durchsucht, die Schaltflächen, auf die er klickt usw. Diese Daten werden verwendet, um ein Benutzerinteressenmodell zu erstellen und auf dieser Grundlage Empfehlungen auszusprechen.

Zuerst müssen wir eine Datenbank erstellen, um Benutzerverhaltensdaten zu speichern. Wir werden MySQL als Datenbank-Engine verwenden und eine Tabelle namens „Aktionen“ erstellen, um Benutzerverhaltensdaten zu speichern. Die Struktur der Tabelle ist wie folgt:

CREATE TABLE actions (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT,
    action VARCHAR(255),
    item_id INT,
    timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Als nächstes müssen wir PHP-Code schreiben, um das Verhalten des Benutzers zu erfassen und in der Datenbank zu speichern. Das Folgende ist ein Beispielcode, um das Klickverhalten des Benutzers zu erfassen und in der Datenbank zu speichern:

<?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();
?>

Im obigen Code stellen wir zunächst über die MySQL-Klasse eine Verbindung zur Datenbank her. Anschließend erhalten wir das Klickverhalten und die Artikel-ID des Benutzers aus der GET-Anfrage und die Benutzer-ID des Benutzers aus der Sitzung. Abschließend speichern wir das Verhalten des Benutzers in der Datenbank.

Als nächstes müssen wir ein Benutzerinteressenmodell basierend auf den Verhaltensdaten des Benutzers erstellen und auf der Grundlage dieses Modells personalisierte Empfehlungen aussprechen. Das Folgende ist ein Beispielcode für die Abgabe von Empfehlungen basierend auf dem Klickverhalten des Benutzers:

<?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();
?>

Im obigen Code rufen wir zunächst die Benutzer-ID des Benutzers aus der Sitzung ab und rufen das Klickverhalten des Benutzers basierend auf dieser Benutzer-ID aus der Datenbank ab. Anschließend speichern wir die item_id im Array $interests, das das Interessenmodell des Benutzers darstellt. Als nächstes ermitteln wir das Klickverhalten anderer Benutzer aus der Datenbank und filtern die item_id heraus, auf die der Benutzer nicht geklickt hat. Schließlich speichern wir die empfohlene item_id im Array $recommendations.

Abschließend müssen wir dem Benutzer die empfohlenen Ergebnisse anzeigen. Das Folgende ist ein einfacher Beispielcode zum Anzeigen der Empfehlungsergebnisse:

<?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>";
            // ...
        }
    }
}
?>

Im obigen Code verwenden wir eine foreach-Schleife, um das Array $recommendations zu durchlaufen und Artikeldetails aus der Datenbank basierend auf item_id abzurufen. Anschließend zeigen wir dem Benutzer den Titel, das Bild und andere Informationen des Artikels an.

Zusammenfassend lässt sich sagen, dass es nicht kompliziert ist, mit PHP personalisierte Empfehlungen des Empfehlungssystems in Echtzeit umzusetzen. Indem wir Daten zum Benutzerverhalten sammeln, ein Benutzerinteressenmodell erstellen und auf der Grundlage des Modells personalisierte Empfehlungen aussprechen, können wir ein besseres Benutzererlebnis und bessere Website-Effekte bieten. Ich hoffe, dass dieser Artikel Ihnen hilft, den Implementierungsprozess des Empfehlungssystems zu verstehen, und Ihnen auch einige Referenzen für praktische Anwendungen liefert.

Das obige ist der detaillierte Inhalt vonWie man mit PHP personalisierte Empfehlungen von Empfehlungssystemen in Echtzeit umsetzt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn