Maison >développement back-end >tutoriel php >Comment utiliser PHP pour implémenter des recommandations personnalisées en temps réel de systèmes de recommandation
Comment utiliser PHP pour mettre en œuvre des recommandations personnalisées en temps réel de systèmes de recommandation
Les systèmes de recommandation sont devenus une partie importante de nombreux sites Web et applications. Il peut fournir un contenu recommandé personnalisé en fonction des intérêts et des habitudes comportementales des utilisateurs, améliorant ainsi l'expérience utilisateur et l'effet global du site Web. Dans cet article, je vais présenter comment implémenter un système de recommandation simple à l'aide de PHP et démontrer comment faire des recommandations personnalisées en temps réel.
Le principe de base du système de recommandation est de prédire le contenu qui pourrait intéresser l'utilisateur en fonction de son comportement historique et du comportement des autres utilisateurs, et de recommander ces contenus à l'utilisateur. Afin d'obtenir des recommandations personnalisées, nous devons collecter des données sur le comportement des utilisateurs, telles que les pages Web parcourues par l'utilisateur, les boutons sur lesquels il clique, etc. Ces données seront utilisées pour construire un modèle d'intérêt des utilisateurs et faire des recommandations basées sur ce modèle.
Tout d'abord, nous devons créer une base de données pour stocker les données sur le comportement des utilisateurs. Nous utiliserons MySQL comme moteur de base de données et créerons une table appelée « actions » pour stocker les données sur le comportement des utilisateurs. La structure du tableau est la suivante :
CREATE TABLE actions ( id INT AUTO_INCREMENT PRIMARY KEY, user_id INT, action VARCHAR(255), item_id INT, timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP );
Ensuite, nous devons écrire du code PHP pour capturer le comportement de l'utilisateur et le stocker dans la base de données. Voici un exemple de code pour capturer le comportement de clic de l'utilisateur et le stocker dans la base de données :
<?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(); ?>
Dans le code ci-dessus, nous nous connectons d'abord à la base de données via la classe mysqli. Nous obtenons ensuite le comportement de clic et l'identifiant de l'utilisateur à partir de la requête GET, ainsi que l'identifiant utilisateur de l'utilisateur à partir de la session. Enfin, nous stockons le comportement de l'utilisateur dans la base de données.
Ensuite, nous devons construire un modèle d'intérêt de l'utilisateur basé sur les données comportementales de l'utilisateur et faire des recommandations personnalisées basées sur ce modèle. Voici un exemple de code permettant de faire des recommandations basées sur le comportement de clic de l'utilisateur :
<?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(); ?>
Dans le code ci-dessus, nous obtenons d'abord l'identifiant utilisateur de l'utilisateur à partir de la session, puis le comportement de clic de l'utilisateur à partir de la base de données en fonction de cet identifiant utilisateur. Ensuite, nous stockons le item_id dans le tableau $interests, représentant le modèle d'intérêt de l'utilisateur. Ensuite, nous obtenons le comportement de clic des autres utilisateurs à partir de la base de données et filtrons l'item_id sur lequel l'utilisateur n'a pas cliqué. Enfin, nous stockons le item_id recommandé dans le tableau $recommendations.
Enfin, nous devons afficher les résultats recommandés à l'utilisateur. Voici un exemple de code simple pour afficher les résultats de la recommandation :
<?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>"; // ... } } } ?>
Dans le code ci-dessus, nous utilisons une boucle foreach pour parcourir le tableau $recommendations et obtenir les détails de l'élément de la base de données en fonction de item_id. Ensuite, nous affichons le titre de l’article, l’image et d’autres informations à l’utilisateur.
Pour résumer, il n'est pas compliqué d'utiliser PHP pour mettre en œuvre les recommandations personnalisées en temps réel du système de recommandation. En collectant des données sur le comportement des utilisateurs, en créant un modèle d'intérêt de l'utilisateur et en faisant des recommandations personnalisées basées sur le modèle, nous pouvons offrir une meilleure expérience utilisateur et de meilleurs effets sur le site Web. J'espère que cet article vous aidera à comprendre le processus de mise en œuvre du système de recommandation et vous fournira également quelques références dans des applications pratiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!