Maison > Périphériques technologiques > IA > En passant en revue 170 algorithmes de recommandation « d'apprentissage auto-supervisé », HKU publie SSL4Rec : le code et la base de données sont entièrement open source !

En passant en revue 170 algorithmes de recommandation « d'apprentissage auto-supervisé », HKU publie SSL4Rec : le code et la base de données sont entièrement open source !

王林
Libérer: 2024-05-09 16:58:02
avant
963 Les gens l'ont consulté

Les systèmes de recommandations sont importants pour relever le défi de la surcharge d'informations, car ils fournissent des recommandations personnalisées basées sur les préférences personnelles des utilisateurs. Ces dernières années, la technologie du deep learning a grandement favorisé le développement de systèmes de recommandation et amélioré la compréhension du comportement et des préférences des utilisateurs.

Cependant, les méthodes traditionnelles d'apprentissage supervisé sont confrontées à des défis dans les applications pratiques en raison du problème de la rareté des données, ce qui limite leur capacité à apprendre efficacement les performances des utilisateurs.

Pour protéger et surmonter ce problème, la technologie d'apprentissage auto-supervisé (SSL) est appliquée aux étudiants, qui utilise la structure inhérente des données pour générer des signaux de supervision et ne s'appuie pas entièrement sur des données étiquetées.

Cette méthode utilise un système de recommandation qui peut extraire des informations significatives à partir de données non étiquetées et faire des prédictions et des recommandations précises même lorsque les données sont rares.

En passant en revue 170 algorithmes de recommandation « dapprentissage auto-supervisé », HKU publie SSL4Rec : le code et la base de données sont entièrement open source !

Adresse de l'article : https://arxiv.org/abs/2404.03354

Base de données open source : https://github.com/HKUDS/Awesome-SSLRec-Papers

Open source Bibliothèque de codes : https://github.com/HKUDS/SSLRec

Cet article passe en revue les cadres d'apprentissage auto-supervisés conçus pour les systèmes de recommandation et effectue une analyse approfondie de plus de 170 articles connexes. Nous avons exploré neuf scénarios d'application différents pour acquérir une compréhension complète de la manière dont SSL peut améliorer les systèmes de recommandation dans différents scénarios.

Pour chaque domaine, nous discutons en détail de différents paradigmes d'apprentissage auto-supervisé, notamment l'apprentissage contrastif, l'apprentissage génératif et l'apprentissage contradictoire, montrant comment SSL peut améliorer les performances des systèmes de recommandation dans différentes situations.

1 Système recommandé

La recherche sur les systèmes de recommandation couvre diverses tâches dans différents scénarios, tels que le filtrage collaboratif, la recommandation de séquences, la recommandation multi-comportement, etc. Ces tâches ont des paradigmes et des objectifs de données différents. Ici, nous fournissons d’abord une définition générale sans entrer dans des variations spécifiques pour différentes tâches de recommandation. Dans les systèmes de recommandation, il existe deux ensembles principaux : les ensembles d'utilisateurs, notés En passant en revue 170 algorithmes de recommandation « dapprentissage auto-supervisé », HKU publie SSL4Rec : le code et la base de données sont entièrement open source !, et les ensembles d'éléments, notés En passant en revue 170 algorithmes de recommandation « dapprentissage auto-supervisé », HKU publie SSL4Rec : le code et la base de données sont entièrement open source !.

Ensuite, utilisez une matrice d'interaction En passant en revue 170 algorithmes de recommandation « dapprentissage auto-supervisé », HKU publie SSL4Rec : le code et la base de données sont entièrement open source ! pour représenter les interactions enregistrées entre l'utilisateur et l'élément. Dans cette matrice, l'entrée Ai,j de la matrice reçoit la valeur 1 si l'utilisateur ui a interagi avec l'élément vj, sinon elle vaut 0.

La définition de l'interaction peut être adaptée à différents contextes et ensembles de données (par exemple, regarder un film, cliquer sur un site de commerce électronique ou effectuer un achat).

De plus, dans différentes tâches de recommandation, il existe différentes données d'observation auxiliaires, enregistrées sous forme de relations correspondantes.

Et dans la recommandation sociale, X inclut les relations au niveau de l'utilisateur, telles que l'amitié. Sur la base de la définition ci-dessus, le modèle de recommandation optimise une fonction de prédiction f(⋅), visant à estimer avec précision le score de préférence entre tout utilisateur u et l'élément v :

En passant en revue 170 algorithmes de recommandation « dapprentissage auto-supervisé », HKU publie SSL4Rec : le code et la base de données sont entièrement open source !

Le score de préférence yu,v représente l'utilisateur u et article v Possibilité d'interaction.

Sur la base de ce score, le système de recommandation peut recommander des éléments sans interaction à chaque utilisateur en fournissant une liste classée d'éléments en fonction du score de préférence estimé. Dans la revue, nous explorons plus en détail la forme de données de (A, X) dans différents scénarios de recommandation et le rôle de l'apprentissage auto-supervisé dans celui-ci.

2 Apprentissage auto-supervisé dans les systèmes de recommandation

Au cours des dernières années, les réseaux de neurones profonds ont donné de bons résultats dans l'apprentissage supervisé, ce qui s'est reflété dans divers domaines, notamment la vision par ordinateur, le traitement du langage naturel et les systèmes de recommandation. Cependant, en raison de sa forte dépendance à l’égard des données étiquetées, l’apprentissage supervisé est confronté à des défis liés à la rareté des étiquettes, qui constitue également un problème courant dans les systèmes de recommandation.

En passant en revue 170 algorithmes de recommandation « dapprentissage auto-supervisé », HKU publie SSL4Rec : le code et la base de données sont entièrement open source !

Pour remédier à cette limitation, l'apprentissage auto-supervisé est apparu comme une méthode prometteuse, qui utilise les données elles-mêmes comme étiquette apprise. L'apprentissage auto-supervisé dans les systèmes de recommandation comprend trois paradigmes différents : l'apprentissage contrastif, l'apprentissage génératif et l'apprentissage contradictoire.

2.1 Apprentissage contrastif

En tant que méthode d'apprentissage auto-supervisée de premier plan, l'objectif principal de l'apprentissage contrastif est de maximiser la cohérence entre les différentes vues améliorées à partir des données. Dans l'apprentissage contrastif du système de recommandation, le but est de minimiser la fonction de perte suivante :

En passant en revue 170 algorithmes de recommandation « dapprentissage auto-supervisé », HKU publie SSL4Rec : le code et la base de données sont entièrement open source !


E∗ω∗ représente l'opération de création de vue contrastive, et différents algorithmes de recommandation basés sur l'apprentissage contrastif ont un processus de création différent. La construction de chaque vue consiste en un processus d'augmentation des données ω∗ (qui peut impliquer des nœuds/arêtes dans le graphe augmenté) et un processus de codage d'intégration E∗. L'objectif de

minimiser En passant en revue 170 algorithmes de recommandation « dapprentissage auto-supervisé », HKU publie SSL4Rec : le code et la base de données sont entièrement open source ! est d'obtenir une fonction d'encodage robuste qui maximise la cohérence entre les vues. Cette cohérence entre les vues peut être obtenue grâce à des méthodes telles que la maximisation mutuelle des informations ou la discrimination des instances.

2.2 Apprentissage génératif

L'objectif de l'apprentissage génératif est de comprendre la structure et le modèle des données pour apprendre des représentations significatives. Il optimise un modèle d'encodeur-décodeur approfondi qui reconstruit les données d'entrée manquantes ou corrompues. Le

encodeur En passant en revue 170 algorithmes de recommandation « dapprentissage auto-supervisé », HKU publie SSL4Rec : le code et la base de données sont entièrement open source ! crée une représentation latente à partir de l'entrée, tandis que le décodeur En passant en revue 170 algorithmes de recommandation « dapprentissage auto-supervisé », HKU publie SSL4Rec : le code et la base de données sont entièrement open source ! reconstruit les données originales à partir de la sortie de l'encodeur. Le but est de minimiser la différence entre les données reconstruites et originales comme suit :

En passant en revue 170 algorithmes de recommandation « dapprentissage auto-supervisé », HKU publie SSL4Rec : le code et la base de données sont entièrement open source !


Ici, ω représente une opération comme le masquage ou la perturbation. D∘E représente le processus d’encodage et de décodage pour reconstruire la sortie. Des recherches récentes ont également introduit une architecture uniquement décodeur qui reconstruit efficacement les données sans configuration codeur-décodeur. Cette approche utilise un modèle unique (par exemple, Transformer) pour la reconstruction et est généralement appliquée aux recommandations sérialisées basées sur l'apprentissage génératif. Le format de la fonction de perte En passant en revue 170 algorithmes de recommandation « dapprentissage auto-supervisé », HKU publie SSL4Rec : le code et la base de données sont entièrement open source ! dépend du type de données, tel que l'erreur quadratique moyenne pour les données continues et la perte d'entropie croisée pour les données catégorielles.

2.3 Apprentissage contradictoire

L'apprentissage contradictoire est une méthode de formation qui utilise un générateur G(⋅) pour générer une sortie de haute qualité et contient un discriminateur Ω(⋅), qui Le discriminateur détermine si un échantillon donné est réel ou généré. Contrairement à l'apprentissage génératif, l'apprentissage contradictoire diffère en incluant un discriminateur qui utilise des interactions compétitives pour améliorer la capacité du générateur à produire un résultat de haute qualité afin de tromper le discriminateur.

Par conséquent, l'objectif d'apprentissage de l'apprentissage contradictoire peut être défini comme suit :

En passant en revue 170 algorithmes de recommandation « dapprentissage auto-supervisé », HKU publie SSL4Rec : le code et la base de données sont entièrement open source !

Ici, la variable x représente l'échantillon réel obtenu à partir de la distribution de données sous-jacente, tandis que En passant en revue 170 algorithmes de recommandation « dapprentissage auto-supervisé », HKU publie SSL4Rec : le code et la base de données sont entièrement open source ! représente l'échantillon synthétique généré par le générateur G(⋅). Au cours de la formation, le générateur et le discriminateur améliorent leurs capacités grâce à des interactions compétitives. En fin de compte, le générateur s’efforce de produire des résultats de haute qualité bénéfiques pour les tâches en aval.

3 Taxonomie

Dans cette section, nous proposons un système de classification complet pour l'application de l'apprentissage auto-supervisé dans les systèmes de recommandation. Comme mentionné précédemment, les paradigmes d’apprentissage auto-supervisé peuvent être divisés en trois catégories : l’apprentissage contrastif, l’apprentissage génératif et l’apprentissage contradictoire. Par conséquent, notre système de classification est construit sur la base de ces trois catégories, fournissant des informations plus approfondies sur chaque catégorie.

3.1 Apprentissage contrastif dans les systèmes de recommandation

En passant en revue 170 algorithmes de recommandation « dapprentissage auto-supervisé », HKU publie SSL4Rec : le code et la base de données sont entièrement open source !

Le principe de base de l'apprentissage contrastif (AC) est de maximiser la cohérence entre les différentes vues. Par conséquent, nous proposons une taxonomie centrée sur les vues composée de trois éléments clés à prendre en compte lors de l'application de l'apprentissage contrastif : la création de vues, l'association de vues pour maximiser la cohérence et l'optimisation de la cohérence.

Voir la création. Créez des vues qui mettent l'accent sur les différents aspects des données sur lesquels le modèle se concentre. Il peut combiner des informations collaboratives globales pour améliorer la capacité du système de recommandation à gérer les relations globales, ou introduire du bruit aléatoire pour améliorer la robustesse du modèle.

Nous considérons l'amélioration des données d'entrée (par exemple, graphiques, séquences, fonctionnalités d'entrée) comme une création de vue au niveau des données, tandis que l'amélioration des fonctionnalités latentes lors de l'inférence est considérée comme une création de vue au niveau des fonctionnalités. Nous proposons un système de classification hiérarchique qui inclut des techniques de création de vues depuis le niveau des données de base jusqu'au niveau du modèle neuronal.


  • Niveau de données Basé sur les données : dans un système de recommandation basé sur l'apprentissage contrasté, diverses vues sont créées en améliorant les données d'entrée. Ces points de données améliorés sont ensuite traités via le modèle. Les intégrations de sortie obtenues à partir de différentes vues sont finalement appariées et utilisées pour l'apprentissage comparatif. Les méthodes d'amélioration varient en fonction du scénario de recommandation. Par exemple, les données graphiques peuvent être améliorées en supprimant des nœuds/bords, tandis que les séquences peuvent être améliorées en utilisant le masquage, le recadrage et le remplacement.
  • Basé sur les fonctionnalités : en plus de générer des vues directement à partir des données, certaines méthodes envisagent également d'améliorer les fonctionnalités cachées codées dans le processus de transfert de modèle. Ces fonctionnalités cachées peuvent inclure des intégrations de nœuds de couches de réseau neuronal graphique ou de vecteurs de jetons dans Transformers. En appliquant plusieurs fois diverses techniques d'amélioration ou en introduisant des perturbations aléatoires, le résultat final du modèle peut être visualisé sous différentes vues.
  • Basées sur un modèle : les améliorations au niveau des données et des fonctionnalités ne sont pas adaptatives car elles ne sont pas paramétriques. Il existe donc également des moyens d'utiliser des modèles pour générer différentes vues. Ces vues contiennent des informations spécifiques basées sur la conception du modèle. Par exemple, les modules neuronaux découplés par les intentions peuvent capturer les intentions des utilisateurs, tandis que les modules hypergraphiques peuvent capturer les relations globales.

Échantillonnage de paires. Le processus de création de vue génère au moins deux vues différentes pour chaque échantillon dans les données. Le cœur de l’apprentissage contrastif est de maximiser l’alignement de certaines vues (c’est-à-dire de les rapprocher) tout en repoussant d’autres vues.

Pour ce faire, la clé est d'identifier les paires d'échantillons positifs qui doivent être rapprochées, et d'identifier d'autres vues qui forment des paires d'échantillons négatives. Cette stratégie est appelée échantillonnage par paires, et elle se compose principalement de deux méthodes d'échantillonnage par paires :

  • Échantillonnage naturel : une méthode courante d'échantillonnage par paires est directe plutôt qu'heuristique, que nous appelons échantillonnage naturel. Des paires d'échantillons positives sont formées à partir de différentes vues générées par le même échantillon de données, tandis que des paires d'échantillons négatives sont formées à partir de vues de différents échantillons de données. En présence d’une vue centrale, telle qu’une vue globale dérivée de l’ensemble du graphe, les relations local-global peuvent aussi naturellement former des paires d’échantillons positives. Cette méthode est largement utilisée dans la plupart des systèmes de recommandation d’apprentissage contrastés.
  • Échantillonnage basé sur les scores : Une autre méthode d'échantillonnage par paires est l'échantillonnage basé sur les scores. Dans cette approche, un module calcule les scores des paires d'échantillons pour déterminer les paires d'échantillons positives ou négatives. Par exemple, la distance entre deux vues peut être utilisée pour déterminer des paires d'échantillons positives et négatives. Alternativement, le clustering peut être appliqué à la vue, où les paires positives se trouvent dans le même cluster et les paires négatives dans des clusters différents. Pour une vue d'ancrage, une fois qu'une paire d'échantillons positive est déterminée, les vues restantes sont naturellement considérées comme des vues négatives et peuvent être associées à la vue donnée pour créer des paires d'échantillons négatives, permettant ainsi l'éloignement.

Objectif Contrastif. L'objectif de l'apprentissage contrastif est de maximiser les informations mutuelles entre des paires d'échantillons positifs, ce qui peut à son tour améliorer les performances du modèle de recommandation d'apprentissage. Puisqu’il n’est pas possible de calculer directement les informations mutuelles, une limite inférieure réalisable est généralement utilisée comme cible d’apprentissage dans l’apprentissage contrastif. Cependant, il existe également des objectifs explicites visant à rapprocher les paires positives.

  • Basé sur InfoNCE : InfoNCE est une variante de l'estimation contrastive du bruit. Son processus d’optimisation vise à rapprocher les paires d’échantillons positives et à éloigner les paires d’échantillons négatives.
  • Basé sur JS : en plus d'utiliser InfoNCE pour estimer les informations mutuelles, vous pouvez également utiliser la divergence de Jensen-Shannon pour estimer la limite inférieure. L'objectif d'apprentissage dérivé est similaire à la combinaison d'InfoNCE avec une perte d'entropie croisée binaire standard, appliquée à des paires d'échantillons positives et négatives.
  • Objectif explicite : les objectifs basés sur InfoNCE et sur JS visent à maximiser la limite inférieure estimée de l'information mutuelle afin de maximiser l'information mutuelle elle-même, qui est théoriquement garantie. De plus, il existe des objectifs explicites, tels que minimiser l’erreur quadratique moyenne ou maximiser la similarité cosinus au sein d’une paire d’échantillons, pour aligner directement des paires d’échantillons positifs. Ces objectifs sont appelés objectifs explicites.

3.2 Apprentissage génératif dans les systèmes de recommandation

En passant en revue 170 algorithmes de recommandation « dapprentissage auto-supervisé », HKU publie SSL4Rec : le code et la base de données sont entièrement open source !

Dans l'apprentissage génératif auto-supervisé, l'objectif principal est de maximiser l'estimation de la vraisemblance de la distribution des données réelles. Cela permet aux représentations apprises et significatives de capturer la structure et les modèles sous-jacents des données, qui peuvent ensuite être utilisés dans des tâches en aval. Dans notre système de classification, nous considérons deux aspects pour distinguer les différentes méthodes de recommandation basées sur l'apprentissage génératif : le paradigme d'apprentissage génératif et l'objectif génératif.


Paradigme d'apprentissage génératif. Dans le cadre de la recommandation, les méthodes auto-supervisées utilisant l'apprentissage génératif peuvent être classées en trois paradigmes :


  • Auto-encodage masqué : Dans les auto-encodeurs masqués, l'apprentissage La procédure suit une approche de reconstruction par masque, où le le modèle reconstruit des données complètes à partir d’observations partielles.
  • Autoencodage variationnel : L'autoencodeur variationnel est une autre méthode de génération qui maximise l'estimation de la vraisemblance et présente des garanties théoriques. Cela implique généralement de mapper les données d'entrée sur des facteurs latents qui suivent une distribution gaussienne normale. Le modèle reconstruit ensuite les données d'entrée sur la base des facteurs latents échantillonnés.
  • Diffusion débridée : la diffusion débridée est un modèle génératif qui génère de nouveaux échantillons de données en inversant le processus de bruit. Dans le processus direct, le bruit gaussien est ajouté aux données d'origine et, en plusieurs étapes, une série de versions bruitées est créée. Au cours du processus inverse, le modèle apprend à supprimer le bruit de la version bruyante, restaurant progressivement les données d'origine.

Cible de génération. Dans l'apprentissage génératif, quel modèle de données est considéré comme une étiquette générée est une autre question qui doit être prise en compte pour apporter des signaux auxiliaires auto-supervisés significatifs. En général, les objectifs de génération varient selon les méthodes et selon les scénarios de recommandation. Par exemple, dans la recommandation de séquence, la cible de génération peut être les éléments de la séquence, dans le but de simuler la relation entre les éléments de la séquence. Dans la recommandation de graphiques interactifs, les cibles de génération peuvent être des nœuds/arêtes du graphique, visant à capturer des corrélations topologiques de haut niveau dans le graphique.

3.3 Apprentissage contradictoire dans les systèmes recommandés

En passant en revue 170 algorithmes de recommandation « dapprentissage auto-supervisé », HKU publie SSL4Rec : le code et la base de données sont entièrement open source !

Dans l'apprentissage contradictoire des systèmes de recommandation, le discriminateur joue un rôle crucial dans la distinction des faux échantillons générés des échantillons réels. Semblable à l'apprentissage génératif, le système de classification que nous proposons couvre les méthodes d'apprentissage contradictoire dans les systèmes de recommandation sous deux perspectives : le paradigme d'apprentissage et l'objectif de discrimination :

Paradigme d'apprentissage contradictoire. Dans les systèmes de recommandation, l'apprentissage contradictoire se compose de deux paradigmes différents, selon que la perte discriminante du discriminateur peut être rétropropagée au générateur de manière différentiable.

  • Apprentissage contradictoire différenciable (Differentiable AL) : La première méthode implique des objets représentés dans un espace continu, et le gradient du discriminateur peut être naturellement rétro-propagé au générateur pour optimisation. Cette approche est appelée apprentissage contradictoire différenciable.
  • Apprentissage contradictoire non différenciable (AL non différenciable) : Une autre méthode consiste à identifier le résultat du système de recommandation, en particulier les produits recommandés. Cependant, étant donné que les résultats des recommandations sont discrets, la rétropropagation devient difficile, formant un cas non différenciable dans lequel le gradient du discriminateur ne peut pas être directement propagé au générateur. Pour résoudre ce problème, l’apprentissage par renforcement et le gradient politique sont introduits. Dans ce cas, le générateur agit comme un agent qui interagit avec l’environnement en prédisant les biens sur la base des interactions précédentes. Le discriminateur agit comme une fonction de récompense et fournit un signal de récompense pour guider l'apprentissage du générateur. La récompense du discriminateur est définie pour mettre l'accent sur différents facteurs qui affectent la qualité des recommandations, et est optimisée pour attribuer des récompenses plus élevées aux échantillons réels plutôt qu'aux échantillons générés, guidant ainsi le générateur pour produire des recommandations de haute qualité.

Cible de discrimination. Différents algorithmes de recommandation amènent le générateur à générer différentes entrées, qui sont ensuite transmises au discriminateur pour la discrimination. Ce processus vise à améliorer la capacité du générateur à produire un contenu de haute qualité et plus proche de la réalité. Des objectifs de discrimination spécifiques sont conçus sur la base de tâches de recommandation spécifiques.

3.4 Divers scénarios de recommandation

Dans cette revue, nous discutons en profondeur de la conception de différentes méthodes d'apprentissage autosupervisé à partir de neuf scénarios de recommandation différents. Ces neuf recommandations Les scénarios sont les suivants (veuillez. lisez l'article pour plus de détails) :

  • Filtrage collaboratif général (Filtrage collaboratif général) - Il s'agit de la forme la plus basique du système de recommandation, qui repose principalement sur les données d'interaction entre les utilisateurs et les éléments pour générer des recommandations de personnalité.
  • Recommandation séquentielle (Recommandation séquentielle) - Considérez la série chronologique d'interaction de l'utilisateur avec les éléments, dans le but de prédire le prochain élément interactif possible de l'utilisateur.
  • Recommandation sociale - Combine les informations sur les relations utilisateur dans les réseaux sociaux pour fournir des recommandations plus personnalisées.
  • Recommandation fondée sur les connaissances - Utilisez des connaissances structurées telles que des graphiques de connaissances pour améliorer les performances des systèmes de recommandation.
  • Recommandation inter-domaines - Appliquez les préférences utilisateur apprises d'un domaine à un autre domaine pour améliorer les résultats des recommandations.
  • Recommandation de groupe : Fournissez des recommandations pour des groupes ayant des caractéristiques ou des intérêts communs, plutôt que pour des utilisateurs individuels.
  • Recommandation groupée : recommandez un groupe d'articles dans son ensemble, généralement pour des promotions ou des services groupés.
  • Recommandation multi-comportement (Recommandation multi-comportement) - Tenez compte des multiples comportements interactifs de l'utilisateur sur les éléments, tels que la navigation, l'achat, l'évaluation, etc.
  • Recommandation multimodale - Combine plusieurs informations modales d'éléments, tels que du texte, des images, des sons, etc., pour fournir des recommandations plus riches.

4 Conclusion

Cet article fournit un examen complet de l'application de l'apprentissage auto-supervisé (SSL) dans les systèmes de recommandation, avec une analyse approfondie de plus de 170 articles. Nous avons proposé un système de classification auto-supervisé couvrant neuf scénarios de recommandation, discuté en détail de trois paradigmes SSL d'apprentissage contrastif, d'apprentissage génératif et d'apprentissage contradictoire, et discuté des orientations de recherche futures dans l'article.

Nous soulignons l'importance du SSL dans la gestion de la rareté des données et l'amélioration des performances des systèmes de recommandation, et soulignons le potentiel d'intégration de grands modèles de langage dans les systèmes de recommandation, les environnements de recommandation dynamiques adaptatifs et l'établissement d'une base théorique pour le paradigme SSL. .orientation de la recherche. Nous espérons que cette revue pourra fournir des ressources précieuses aux chercheurs, inspirer de nouvelles idées de recherche et promouvoir le développement ultérieur de systèmes de recommandation.


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!

Étiquettes associées:
source:51cto.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal