Maison Java javaDidacticiel ChatGPT Java : Comment créer un système de recommandation personnalisé

ChatGPT Java : Comment créer un système de recommandation personnalisé

Oct 27, 2023 am 08:39 AM
个性化 构建 推荐系统

ChatGPT Java:如何构建一个个性化推荐系统

ChatGPT Java : Comment créer un système de recommandation personnalisé, des exemples de code spécifiques sont nécessaires

À l'ère actuelle de l'explosion de l'information, les systèmes de recommandation personnalisés sont devenus une technologie importante dans le domaine des affaires. En analysant le comportement et les intérêts historiques des utilisateurs, ces systèmes sont en mesure de fournir aux utilisateurs un contenu recommandé qui correspond à leurs préférences et besoins personnels. Cet article explique comment utiliser Java pour créer un système de recommandation personnalisé simple et fournit des exemples de code spécifiques.

  1. Collecte et prétraitement des données

Le cœur du système de recommandation personnalisé réside dans les données comportementales de l'utilisateur. Nous devons collecter l'historique de navigation des utilisateurs, leur comportement d'achat, leurs données d'évaluation, etc. En Java, une base de données peut être utilisée pour stocker et gérer ces données. Ce qui suit est un exemple de code simple qui se connecte à la base de données via Java JDBC et insère les données de l'historique de navigation de l'utilisateur :

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class DataCollector {
    private static final String JDBC_URL = "jdbc:mysql://localhost:3306/recommendation_system";
    private static final String USERNAME = "root";
    private static final String PASSWORD = "password";

    public static void main(String[] args) {
        try(Connection connection = DriverManager.getConnection(JDBC_URL, USERNAME, PASSWORD)) {
            String sql = "INSERT INTO user_browsing_history (user_id, item_id, timestamp) VALUES (?, ?, ?)";
            PreparedStatement statement = connection.prepareStatement(sql);

            // 假设有一个用户浏览了商品1和商品2
            statement.setInt(1, 1); // 用户ID
            statement.setInt(2, 1); // 商品ID
            statement.setTimestamp(3, new java.sql.Timestamp(System.currentTimeMillis())); // 事件时间戳
            statement.executeUpdate();

            statement.setInt(1, 1);
            statement.setInt(2, 2);
            statement.setTimestamp(3, new java.sql.Timestamp(System.currentTimeMillis()));
            statement.executeUpdate();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}
Copier après la connexion
  1. Calcul de similarité d'utilisateur

Afin d'obtenir des recommandations personnalisées, nous devons trouver d'autres utilisateurs ayant des intérêts similaires à l'utilisateur cible Utilisateur ou produit. Ici, nous pouvons utiliser un algorithme de filtrage collaboratif pour calculer la similarité entre les utilisateurs. Voici un exemple de code simple qui utilise la similarité cosinus pour calculer la similarité entre les utilisateurs :

import java.util.HashMap;
import java.util.Map;

public class SimilarityCalculator {
    public static void main(String[] args) {
        // 假设有两位用户
        Map<Integer, Map<Integer, Integer>> userItems = new HashMap<>();
        userItems.put(1, new HashMap<>());
        userItems.get(1).put(1, 5); // 用户1对商品1的评分是5
        userItems.get(1).put(2, 3); // 用户1对商品2的评分是3

        userItems.put(2, new HashMap<>());
        userItems.get(2).put(1, 4); // 用户2对商品1的评分是4
        userItems.get(2).put(2, 2); // 用户2对商品2的评分是2

        int userId1 = 1;
        int userId2 = 2;

        double similarity = calculateCosineSimilarity(userItems.get(userId1), userItems.get(userId2));
        System.out.println("用户1和用户2的相似度为:" + similarity);
    }

    private static double calculateCosineSimilarity(Map<Integer, Integer> user1, Map<Integer, Integer> user2) {
        double dotProduct = 0.0;
        double normUser1 = 0.0;
        double normUser2 = 0.0;

        for (Integer itemId : user1.keySet()) {
            if (user2.containsKey(itemId)) {
                dotProduct += user1.get(itemId) * user2.get(itemId);
            }
            normUser1 += Math.pow(user1.get(itemId), 2);
        }

        for (Integer itemId : user2.keySet()) {
            normUser2 += Math.pow(user2.get(itemId), 2);
        }

        return dotProduct / (Math.sqrt(normUser1) * Math.sqrt(normUser2));
    }
}
Copier après la connexion
  1. Implémentation de l'algorithme de recommandation

Avec les résultats du calcul de similarité entre les utilisateurs, nous pouvons utiliser un algorithme de filtrage collaboratif basé sur le quartier pour faire des recommandations. Ce qui suit est un exemple de code simple qui génère des résultats de recommandation pour les utilisateurs cibles en fonction de la similitude entre les utilisateurs :

import java.util.*;

public class RecommendationEngine {
    public static void main(String[] args) {
        // 假设有3位用户
        Map<Integer, Map<Integer, Integer>> userItems = new HashMap<>();
        userItems.put(1, new HashMap<>());
        userItems.get(1).put(1, 5); // 用户1对商品1的评分是5
        userItems.get(1).put(2, 3); // 用户1对商品2的评分是3
        userItems.get(1).put(3, 4); // 用户1对商品3的评分是4

        userItems.put(2, new HashMap<>());
        userItems.get(2).put(1, 4); // 用户2对商品1的评分是4
        userItems.get(2).put(3, 2); // 用户2对商品3的评分是2

        userItems.put(3, new HashMap<>());
        userItems.get(3).put(2, 5); // 用户3对商品2的评分是5
        userItems.get(3).put(3, 2); // 用户3对商品3的评分是2

        int targetUserId = 1;

        Map<Integer, Double> recommendItems = generateRecommendations(userItems, targetUserId);
        System.out.println("为用户1生成的推荐结果为:" + recommendItems);
    }

    private static Map<Integer, Double> generateRecommendations(Map<Integer, Map<Integer, Integer>> userItems, int targetUserId) {
        Map<Integer, Double> recommendItems = new HashMap<>();
        Map<Integer, Integer> targetUserItems = userItems.get(targetUserId);

        for (Integer userId : userItems.keySet()) {
            if (userId != targetUserId) {
                Map<Integer, Integer> otherUserItems = userItems.get(userId);
                double similarity = calculateCosineSimilarity(targetUserItems, otherUserItems);

                for (Integer itemId : otherUserItems.keySet()) {
                    if (!targetUserItems.containsKey(itemId)) {
                        double rating = otherUserItems.get(itemId);
                        double weightedRating = rating * similarity;
                        recommendItems.put(itemId, recommendItems.getOrDefault(itemId, 0.0) + weightedRating);
                    }
                }
            }
        }

        return recommendItems;
    }

    private static double calculateCosineSimilarity(Map<Integer, Integer> user1, Map<Integer, Integer> user2) {
      // 略,与上一个代码示例中的calculateCosineSimilarity()方法相同
    }
}
Copier après la connexion

Grâce aux étapes ci-dessus, nous pouvons utiliser Java pour créer un système de recommandation personnalisé simple. Bien entendu, ce n’est que la base d’un système de recommandation personnalisé, et il reste encore beaucoup de place à l’optimisation et à l’expansion. J'espère que cet article vous aidera à comprendre le processus de création d'un système de recommandation personnalisé.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment implémenter un système de recommandation en utilisant le langage Go et Redis Comment implémenter un système de recommandation en utilisant le langage Go et Redis Oct 27, 2023 pm 12:54 PM

Comment utiliser le langage Go et Redis pour mettre en œuvre un système de recommandation. Le système de recommandation est un élément important de la plate-forme Internet moderne. Il aide les utilisateurs à découvrir et à obtenir des informations intéressantes. Le langage Go et Redis sont deux outils très populaires qui peuvent jouer un rôle important dans le processus de mise en œuvre de systèmes de recommandation. Cet article expliquera comment utiliser le langage Go et Redis pour implémenter un système de recommandation simple et fournira des exemples de code spécifiques. Redis est une base de données open source en mémoire qui fournit une interface de stockage de paires clé-valeur et prend en charge une variété de données

Impossible d'ouvrir les options de personnalisation Win10 Impossible d'ouvrir les options de personnalisation Win10 Jan 11, 2024 pm 04:06 PM

De nombreux amis ont constaté qu'après la mise à jour du système Win10, les paramètres personnalisés ne peuvent pas être ouverts. Il continue d'afficher que le fichier n'a pas de programme associé pour effectuer l'opération. Veuillez installer un programme. Que se passe-t-il ? pour ouvrir "Exécuter", faites un clic droit pour supprimer l'intégralité du ms-seeting et vous pourrez l'ouvrir. Voyons ensemble les détails. Comment ouvrir la personnalisation dans Win10 1. Tout d'abord, appuyez sur « Win+R » pour appeler l'exécution, cliquez et entrez « services.msc », puis appuyez sur Entrée pour confirmer. 2. Ensuite, nous cliquons pour ouvrir « Windows Update » dans la fenêtre contextuelle et définissons le type de démarrage sur « désactivé ». 3. Ensuite, nous mettons SoftwareDist dans C:\Windows

Création d'un flux d'utilisateurs WordPress personnalisé, troisième partie : réinitialisation du mot de passe Création d'un flux d'utilisateurs WordPress personnalisé, troisième partie : réinitialisation du mot de passe Sep 03, 2023 pm 11:05 PM

Dans les deux premiers didacticiels de cette série, nous avons créé des pages personnalisées pour vous connecter et enregistrer de nouveaux utilisateurs. Désormais, il ne reste plus qu'une partie du flux de connexion à explorer et à remplacer : que se passe-t-il si un utilisateur oublie son mot de passe et souhaite réinitialiser son mot de passe WordPress ? Dans ce didacticiel, nous aborderons la dernière étape et compléterons le plugin de connexion personnalisé que nous avons construit tout au long de la série. La fonctionnalité de réinitialisation du mot de passe dans WordPress suit plus ou moins l'approche standard des sites Web actuels : l'utilisateur lance une réinitialisation en saisissant son nom d'utilisateur ou son adresse e-mail et en demandant à WordPress de réinitialiser son mot de passe. Créez un jeton de réinitialisation de mot de passe temporaire et stockez-le dans les données utilisateur. Un lien contenant ce token sera envoyé à l'adresse email de l'utilisateur. L'utilisateur clique sur le lien. Dans le lourd

De belles images changent chaque jour ! Un guide complet pour se concentrer sur les paramètres du bureau et de l'écran de verrouillage dans Windows 11 De belles images changent chaque jour ! Un guide complet pour se concentrer sur les paramètres du bureau et de l'écran de verrouillage dans Windows 11 Mar 25, 2024 am 09:01 AM

La fonctionnalité Spotlight de Windows 11 met automatiquement à jour les fonds d’écran, les thèmes et l’écran de verrouillage de votre bureau, vous présentant chaque jour une sélection de belles images de paysages, de villes, d’animaux et bien plus encore. Ces images proviennent toutes de la recherche Bing, ce qui non seulement rend l'expérience utilisateur plus personnalisée, mais affiche également occasionnellement des suggestions et des conseils pratiques sur l'écran de verrouillage, apportant des surprises et une aide supplémentaires aux utilisateurs. Méthode 1 pour utiliser Windows 11 Focus Desktop : Définir le fond d'écran de Windows Focus Desktop 1 Appuyez sur la touche de raccourci Windows+I pour ouvrir « Paramètres » et sélectionnez « Personnalisation » > « Arrière-plan ». 2 Dans la liste déroulante "Personnaliser l'arrière-plan", sélectionnez l'option "Windows Focus". Sélectionnez le fond d’écran Windows Spotlight

Système de recommandation pour la technologie de démarrage à froid NetEase Cloud Music Système de recommandation pour la technologie de démarrage à froid NetEase Cloud Music Nov 14, 2023 am 08:14 AM

1. Contexte du problème : la nécessité et l'importance de la modélisation du démarrage à froid. En tant que plate-forme de contenu, Cloud Music propose chaque jour une grande quantité de nouveaux contenus. Bien que la quantité de nouveau contenu sur la plate-forme musicale cloud soit relativement faible par rapport à d'autres plates-formes telles que les courtes vidéos, la quantité réelle peut dépasser de loin l'imagination de chacun. Dans le même temps, le contenu musical est très différent des courtes vidéos, des actualités et des recommandations de produits. Le cycle de vie de la musique s’étend sur des périodes extrêmement longues, souvent mesurées en années. Certaines chansons peuvent exploser après avoir été inactives pendant des mois ou des années, et les chansons classiques peuvent encore avoir une forte vitalité même après plus de dix ans. Par conséquent, pour le système de recommandation des plateformes musicales, il est plus important de découvrir des contenus impopulaires et de longue traîne de haute qualité et de les recommander aux bons utilisateurs que de recommander d'autres catégories.

Seven Cats Novel Comment personnaliser des livres Seven Cats Novel Comment personnaliser des livres Mar 02, 2024 am 10:40 AM

Au cours du processus d'utilisation de Mao Mao Novel, le logiciel nous recommandera certains livres qui nous intéressent. Comment configurer des recommandations de livres personnalisées ? Ce qui suit vous présentera la méthode de fonctionnement spécifique. Après avoir ouvert l'application "Seven Cats Free Novels" sur votre téléphone, recherchez l'option "Mon" dans le coin inférieur droit de la page et recherchez la fonction "Paramètres" en bas de la page. Cliquez pour ouvrir l'option "Paramètres". 2. Après être arrivé sur la page des paramètres, il y a un « Paramètres de confidentialité ». Lorsque vous le voyez, cliquez dessus pour entrer. 3. Ensuite, recherchez « Recommandations de livres personnalisées » sur la page des paramètres de confidentialité. Un bouton de commutation est affiché derrière celui-ci. Cliquez sur le curseur pour le mettre en couleur afin d'activer la fonction. préférences pour recommander des livres susceptibles de les intéresser.

ChatGPT Java : Comment créer un système intelligent de recommandation musicale ChatGPT Java : Comment créer un système intelligent de recommandation musicale Oct 27, 2023 pm 01:55 PM

ChatGPTJava : Comment créer un système intelligent de recommandation musicale, des exemples de code spécifiques sont nécessaires Introduction : Avec le développement rapide d'Internet, la musique est devenue un élément essentiel de la vie quotidienne des gens. Alors que les plateformes musicales continuent d’émerger, les utilisateurs sont souvent confrontés à un problème commun : comment trouver la musique qui correspond à leurs goûts ? Afin de résoudre ce problème, le système intelligent de recommandation musicale a vu le jour. Cet article explique comment utiliser ChatGPTJava pour créer un système intelligent de recommandation musicale et fournit des exemples de code spécifiques. Non.

Construction fluide : Comment configurer correctement l'adresse de l'image Maven Construction fluide : Comment configurer correctement l'adresse de l'image Maven Feb 20, 2024 pm 08:48 PM

Construction fluide : comment configurer correctement l'adresse de l'image Maven Lorsque vous utilisez Maven pour créer un projet, il est très important de configurer l'adresse de l'image correcte. Une configuration correcte de l'adresse miroir peut accélérer la construction du projet et éviter des problèmes tels que les retards du réseau. Cet article explique comment configurer correctement l'adresse du miroir Maven et donne des exemples de code spécifiques. Pourquoi avez-vous besoin de configurer l'adresse de l'image Maven ? Maven est un outil de gestion de projet qui peut automatiquement créer des projets, gérer les dépendances, générer des rapports, etc. Lors de la construction d'un projet dans Maven, généralement

See all articles