Bibliothèques et outils pour activer les expériences utilisateur basées sur les données sur le Web.
Pour les utilisateurs de WebPack:
Installez et configurez GuessPlugin - Le plugin de supposition Webpack qui vous automatise autant que possible le processus de configuration.
Si vous souhaitez essayer les modules que nous proposons individuellement, le répertoire packages contient trois packages:
ga - Un module pour récupérer les données structurées de l'API Google Analytics pour en savoir plus sur les modèles de navigation utilisateur.parser - Un module fournissant l'analyse du framework JavaScript. Cela alimente les capacités de transport de l'itinéraire implémentées dans le plugin de supposition WebPack.webpack - un plugin WebPack pour configurer la récupération prédictive dans votre application. Il consomme les modules ga et parser et offre un grand nombre d'options pour configurer le fonctionnement de la récupération prédictive dans votre application.Pour les utilisateurs non WebPack:
Notre flux de travail prédictif pour les sites fournit un ensemble d'étapes que vous pouvez suivre pour intégrer la récupération prédictive en utilisant l'API Google Analytics sur votre site.
Ce repo utilise les données Google Analytics pour déterminer quelle page un utilisateur est principalement susceptible de visiter ensuite à partir d'une page donnée. Un script côté client (que vous ajouterez à votre application) envoie une demande au serveur pour obtenir l'URL de la page qu'il devrait récupérer, puis préfère cette ressource.
Guess.js fournit des bibliothèques et des outils pour simplifier les approches prédictives de données d'analyse des données pour améliorer les expériences utilisateur sur le Web. Ces données peuvent être chassées de n'importe quel nombre de sources, y compris des modèles d'analyse ou d'apprentissage automatique. Deviner.js vise à réduire le frottement de la consommation et de l'application de cette réflexion à tous les sites et applications modernes, y compris des bibliothèques et des outils de construction pour les flux de travail populaires.
L'application de la réflexion prédictive des analytiques des données aux sites pourrait être appliquée dans un certain nombre de contextes:
En collaborant sur différents points de contact dans l'écosystème où les approches basées sur les données pourraient être facilement appliquées, nous espérons généraliser des pièces d'infrastructure courantes pour maximiser leur applicabilité dans différentes piles technologiques.
<link rel=prefetch> pour les futures navigations reposent fortement sur l'analyse descriptive en lecture manuelle pour éclairer leurs décisions sur ce qu'il faut prétendre.<link rel=prefetch> est actuellement utilisé sur 5% des pageloads chromés totaux, mais cela pourrait être plus élevé.La première grande priorité pour Guess.js consistera à améliorer les performances du Web grâce à la prédiction prédictive du contenu.
En construisant un modèle de pages qu'un utilisateur est susceptible de visiter, étant donné une page d'entrée arbitraire, une solution pourrait calculer la probabilité qu'un utilisateur visitera une page suivante ou un ensemble de pages et de ressources préfectiles pour eux pendant que l'utilisateur consulte toujours sa page actuelle. Cela a la possibilité d'améliorer les performances de charge de page pour les visites de page ultérieures, car il y a de fortes chances qu'une page sera déjà dans le cache de l'utilisateur.
Afin de prédire la page suivante qu'un utilisateur est susceptible de visiter, les solutions pourraient utiliser l'API Google Analytics. Les données de session Google Analytics peuvent être utilisées pour créer un modèle pour prédire la page la plus probable qu'un utilisateur va visiter ensuite sur un site. L'avantage de ces données de session est qu'il peut évoluer avec le temps, de sorte que si des chemins de navigation particuliers changent, les prédictions peuvent également rester à jour.
Avec la disponibilité de ces données, un moteur peut insérer <link rel="[prerender/prefetch/preload]"> tags pour accélérer le temps de chargement pour la demande de page suivante. Dans certains tests, tels que les charges de page de suralimentation de Mark Edmondson avec R, cela a conduit à une amélioration de 30% dans les temps de chargement de page. La marque d'approche utilisée dans ses recherches impliquait en utilisant des balises GTM et un apprentissage automatique pour former un modèle pour les prévisions de pages. Il s'agit d'une idée que Mark continue dans l'apprentissage automatique rencontre la prélecture intelligente dans le cloud.
Bien que cette approche soit solide, la méthodologie utilisée pourrait être considérée comme un peu complexe. Une autre approche qui pourrait être adoptée (ce qui est plus simple) est de tenter d'obtenir des données de prédiction précises de l'API Google Analytics. Si vous avez exécuté un rapport pour la page et la dimension de chemin de la page précédente combinée avec les pages vues et quitte les mesures, cela devrait fournir suffisamment de données pour câbler les préfestés pour les pages les plus populaires.
ML pourrait aider à améliorer la précision globale des prédictions d'une solution, mais n'est pas une nécessité pour une implémentation initiale. La récupération prédictive pourrait être réalisée en formant un modèle sur les pages que les utilisateurs sont susceptibles de visiter et d'améliorer ce modèle au fil du temps.
Les réseaux de neurones profonds sont particulièrement bons pour taquiner les complexités qui peuvent amener un utilisateur à choisir une page plutôt qu'à une autre, en particulier, si nous voulions tenter une version de la solution qui a été traitée aux pages qu'un utilisateur individuel pourrait visiter par rapport aux pages qu'un utilisateur "général / médian" pourrait visiter ensuite. Les séquences de pages fixes (prev, courant, prochain) pourraient être les plus faciles à commencer à traiter initialement. Cela signifie construire un modèle unique à votre ensemble de documents.
Les mises à jour du modèle ont tendance à être effectuées périodiquement, de sorte que l'on peut configurer un travail nocturne / hebdomadaire pour actualiser en fonction du nouveau comportement des utilisateurs. Cela pourrait être fait en temps réel, mais est probablement complexe, donc le faire périodiquement pourrait être suffisant. On pourrait imaginer un modèle générique représentant des modèles comportementaux pour les utilisateurs sur un site qui peuvent être motivés par un ensemble d'états formé, Google Analytics ou une description personnalisée que vous plugin en utilisant une nouvelle couche dans un routeur donnant au site la possibilité de récupérer à prévision les pages futures, améliorant les performances de charge de page.
La préfetch spéculative peut prédéclure des pages à naviguer sur le chargement de la page. Cela suppose l'existence de connaissances sur la probabilité qu'une page aura besoin d'une certaine page ou d'un ensemble de pages, ou d'un modèle de formation qui peut fournir une approche basée sur les données pour déterminer ces probabilités.
La prélecture sur la charge de page peut être accomplie de plusieurs façons, de la différence à l'UA pour décider quand préfecter les ressources (par exemple à faible priorité avec <link rel=prefetch> ), pendant la page inactif (via requestIdleCallback () ()) ou à un autre intervalle. Aucune autre interaction n'est requise par l'utilisateur.
Une page pourrait commencer spéculativement le contenu de la prélecture lorsque les liens de la page sont visibles dans la fenêtre, ce qui signifie que l'utilisateur peut avoir plus de chances de vouloir cliquer dessus.
Il s'agit d'une approche utilisée par Gatsby (qui utilise React and React Router). Leur implémentation spécifique est la suivante:
<Link> devient invisible, le lien "les votes" pour la page liée à être prélectée valent un peu moins de points chaque foisUne page pourrait commencer de manière spéculative pré-titulaire des ressources lorsqu'un utilisateur indique qu'il est intéressé par un contenu. Cela peut prendre de nombreux formulaires, y compris lorsqu'un utilisateur choisit de planer sur un lien ou une partie de l'interface utilisateur qui les naviguerait vers une page distincte. Le navigateur pourrait commencer à récupérer le contenu du lien dès qu'il y a eu une indication claire d'intérêt. Il s'agit d'une approche adoptée par les bibliothèques JavaScript telles que InstantClick.
Comme pour tout mécanisme pour la prélecture du contenu à l'avance, cela doit être abordé très attentivement. Un utilisateur sur un plan de données restreint peut ne pas apprécier ou bénéficier autant des pages récupérées à l'avance, en particulier s'il commence à manger ses données. Il existe des mécanismes qu'un site / une solution pourrait prendre pour être conscient de cette préoccupation, comme le respect de l'en-tête de données de sauvegarde.
Les liens de prédéfinition vers des pages "déconnectés" sont probablement indésirables. La même chose pourrait être dite de toutes les pages qui déclenchent une action en charge de page (par exemple, l'achat en un clic). Les solutions peuvent vouloir inclure une liste noire d'URL qui ne sont jamais prélevées pour augmenter la probabilité qu'une page préfectée soit utile.
Certaines des tentatives pour accomplir des propositions similaires dans le passé se sont appuyées sur <link rel=prerender> . L'équipe Chrome explore actuellement la dépréciation Rel = Prerender en faveur de NostatePrefetch - une version plus légère de ce mécanisme qui ne préfecte que le cache HTTP mais n'utilise aucun autre état de la plate-forme Web. Une solution devrait prendre en compte si elle s'appuiera sur le remplacement de rel = prerinder ou utilise la préfetch / précharge / autres approches.
Il existe deux différences clés entre NostatePrefetch et la préfetch:
Nostate-prefetch est un mécanisme, et <link rel=prefetch> est une API. Le Nostate-prefetch peut être demandé par d'autres points d'entrée: prédiction Omnibox, onglets personnalisés, <link rel=prerender> .
L'implémentation est différente: <link rel=prefetch> préfère une ressource, mais Nostate-prefetch en plus de celle qui exécute le scanner de précharge sur la ressource (dans un nouveau rendu nouveau), découvre les sous-ressources et les préfecties également (sans récurer dans le scanner préloade).
Il existe trois principaux types d'analyse de données qui méritent d'être conscients dans cet espace problème: descriptif, prédictif et normatif. Chaque type est lié et aide les équipes à tirer parti de différents types d'informations.
L'analyse descriptive résume les données brutes et les transforme en quelque chose d'interprétable par les humains. Il peut examiner les événements passés, quel que soit le moment où les événements se sont produits. Les analyses descriptives permettent aux équipes d'apprendre des comportements passés, ce qui peut les aider à influencer les résultats futurs. L'analyse descriptive pourrait déterminer les pages d'un site que les utilisateurs ont précédemment visualisés et quels chemins de navigation ils ont pris compte tenu d'une page d'entrée donnée.
L'analyse prédictive «prédit» ce qui peut arriver ensuite. L'analyse prédictive nous aide à comprendre l'avenir et donne aux équipes des informations exploitables à l'aide de données. Il fournit des estimations de la probabilité qu'un résultat futur soit utile. Il est important de garder à l'esprit que peu d'algorithmes peuvent prédire les événements futurs avec une précision complète, mais nous pouvons utiliser autant de signaux qui nous sont disponibles que possible pour améliorer la précision de base. Le fondement de l'analyse prédictive est basé sur des probabilités que nous déterminons à partir des données. L'analyse prédictive pourrait prédire la page suivante ou l'ensemble des pages qu'un utilisateur est susceptible de visiter compte tenu d'une page d'entrée arbitraire.
L'analyse normative permet de prescrire différentes actions possibles pour guider une solution. L'analyse prescriptive fournit des conseils, tenter de quantifier l'impact que les décisions futures pourraient avoir à conseiller sur les résultats possibles avant que ces décisions ne soient prises. L'analyse normative vise non seulement à prédire ce qui va se passer, mais va plus loin; Informer pourquoi cela se produira et fournir des recommandations sur les actions qui peuvent profiter de telles prédictions. L'analyse normative pourrait prédire la page suivante qu'un utilisateur visitera, mais suggère également des actions telles que vous informer des moyens de personnaliser leur expérience pour profiter de ces connaissances.
L'objectif clé d'un modèle de prédiction dans l'espace de problème de pré-lutte est d'identifier ce que les demandes suivantes peuvent avoir besoin, étant donné une demande de page spécifique. Cela permet à un serveur ou à un client de pré-fréquer l'ensemble suivant de pages et de tenter de s'assurer qu'il est dans le cache d'un utilisateur avant de naviguer directement vers la page. L'idée est de réduire le temps de chargement global. Lorsque cela est mis en œuvre avec soin, cette technique peut réduire les temps d'accès aux pages et la latence, améliorant l'expérience utilisateur globale.
Les modèles de Markov ont été largement utilisés pour la recherche et la compréhension du processus stochastique (distribution de probabilité aléatoire) [Ref, réf]. Il a été démontré qu'ils sont bien adaptés à la modélisation et à la prévision du comportement de navigation d'un utilisateur. L'entrée de ces problèmes a tendance à être la séquence de pages Web accessibles par un utilisateur ou un ensemble d'utilisateurs (à l'échelle du site) dans le but de construire des modèles Markov que nous pouvons utiliser pour modéliser et prédire les pages auxquelles un utilisateur accédera très probablement ensuite. Un processus de Markov a des états représentant des pages et des bords accessibles représentant des probabilités de transition entre les états qui sont calculés à partir d'une séquence donnée dans un journal d'analyse. Un modèle de Markov formé peut être utilisé pour prédire l'état suivant compte tenu d'un ensemble de K états précédents.
Dans certaines applications, les modèles de Markov de premier ordre ne sont pas aussi précis pour prédire les comportements de navigation d'utilisateurs que ceux-ci ne se penchent pas toujours dans le passé pour faire une distinction entre différents modèles qui ont été observés. C'est une des raisons pour lesquelles des modèles d'ordre supérieur sont souvent utilisés. Ces modèles d'ordre supérieur ont des limites avec la complexité de l'espace d'État, une couverture moins large et parfois une précision de prédiction réduite.
Une façon [ref] surmonte ce problème consiste à former des modèles de Markov variables, que nous utilisons ensuite pendant la phase de prédiction. Cela a été tenté dans le modèle de Markov d'ordre entièrement au KTH proposé dans cette réf. Cela peut cependant aggraver la complexité de l'espace d'État. Une autre approche consiste à identifier les modèles d'accès fréquents (sous-séquences répétitives les plus longues) et à utiliser cet ensemble de séquences pour les prédictions. Bien que cette approche puisse avoir une réduction de l'ordre de magnitude sur la complexité de l'espace d'état, elle peut réduire la précision des prédictions.
Les modèles sélectifs de Markov (SMM) qui ne stockent que certains états au sein du modèle ont également été proposés comme solution aux compromis de complexité de l'espace d'État. Ils commencent par un modèle de Markov de l'ordre entièrement-KTH - une approche post-étendue est ensuite utilisée pour tailler les états qui ne devraient pas être des prédicteurs précis. Le résultat est un modèle qui a le même pouvoir de prédiction de modèles d'ordre entièrement KTH avec moins de complexité spatiale et une précision de prédiction plus élevée. Dans Deshpane et Karpis, différents critères pour tailler les états dans le modèle avant la prédiction (fréquence, confiance, erreur) sont examinés.
Dans Mabroukeh et Ezeife, les performances des modèles de Markov riches en 1er et 2e d'ordre sémantique ont été étudiées et comparées à celles de SMM d'ordre supérieur et de SMM à l'épreuve sémantique. Ils ont découvert que SMM à l'épinet sémantique avait une taille de 16% plus petite que la SMM érigeée par la fréquence et fournit une précision presque égale.
L'observation des modèles de navigation peut nous permettre d'analyser le comportement des utilisateurs. Cette approche nécessite l'accès à l'identification des sessions utilisateur, des séances de regroupement dans des clusters similaires et du développement d'un modèle de prédiction en utilisant des modèles d'accès actuels et antérieurs. Une grande partie des travaux précédents dans ce domaine s'est appuyé sur des schémas de clustering comme la technique de clustering K-Means avec une distance euclidienne pour améliorer la confiance des prédictions. L'un des inconvénients de l'utilisation de K-means est la difficulté à décider du nombre de clusters, la sélection du centre aléatoire initial et l'ordre des visites de page n'est pas toujours considérée. Kumar et al ont étudié cela, proposant une technique de regroupement hiérarchique avec une distance de Levenshtein modifiée, un pagerank utilisant la durée d'accès, la fréquence et les modèles de Markov d'ordre supérieur pour la prédiction.
De nombreux articles référencés dans la section suivante sont centrés sur le modèle de Markov, les règles d'association et le regroupement. Les articles mettant en évidence les travaux pertinents liés à la découverte de modèles pour l'évolution de la précision de prédiction des pages sont notre objectif.
Utilise des modèles Markov de premier ordre pour modéliser la séquence des pages Web demandées par un utilisateur pour prédire la page suivante à laquelle ils sont susceptibles d'accéder. Les chaînes Markov permettent au système de modéliser dynamiquement les modèles d'accès à l'URL observés dans les journaux de navigation en fonction de l'état précédent. Un modèle de Markov «personnalisé» est formé pour chaque utilisateur et utilisé pour prédire les futures sessions d'un utilisateur. En pratique, il est trop coûteux de construire un modèle unique pour chaque utilisateur et le coût de la mise à l'échelle devient plus difficile lorsqu'un site a une grande base utilisateur.
Premier article pour étudier les modèles de Markov cachés (HMM). L'auteur a collecté des journaux de serveurs Web, élagué les données et corrigé les chemins que les utilisateurs passés. Sur la base de HMM, l'auteur a construit un modèle spécifique pour la navigation Web qui prédit si les utilisateurs ont l'intention d'acheter en temps réel. Des mesures connexes, comme accélérer l'opération et leur impact, dans un mode d'achat sont étudiées.
Propose un cadre pour prédire les positions de classement d'une page en fonction de leur classement précédent. En supposant un ensemble de classements supérieurs successifs, l'auteur identifie les prédicteurs basés sur différentes méthodologies. La qualité de la prédiction est quantifiée comme la similitude entre les classements prédits et réels. Des expériences exhaustives ont été réalisées sur un ensemble de données à grande échelle réel pour les classements Top-K mondial et basés sur la requête. Une variété de mesures de similitude existantes pour comparer les listes de classe supérieures, y compris une nouvelle capturée dans le document.
Propose d'utiliser les modèles N-HOP Markov pour prédire que les prochaines utilisateurs de pages Web sont susceptibles d'accéder. Le motif correspond à la séquence d'accès actuelle de l'utilisateur avec les séquences d'accès Web historiques de l'utilisateur pour améliorer la précision de prédiction pour les préfects.
Propose des méthodes dynamiques basées sur le clustering pour augmenter la précision du modèle Markov dans la représentation d'une collection de séances de navigation Web. Utilise un concept de clonage d'état pour dupliquer les états d'une manière qui sépare les liens intérieurs dont les probabilités de second ordre correspondantes divergent. La méthode proposée comprend une technique de clustering déterminant un moyen d'attribuer des liens avec des probabilités de second ordre similaires au même clone.
Étend l'utilisation d'un algorithme de rang de page avec de nombreux attributs de navigation: taille de la page, durée du temps de la page, durée de transition (visites à deux pages séquentiellement), fréquence de page et transition. Définit un rang basé sur la durée (DPR) et un rang de page basé sur la popularité (PPR). L'auteur a examiné la popularité des transitions et des pages en utilisant des informations de durée, en les utilisant avec la taille de la page et la fréquence de visite. En utilisant la valeur de popularité des pages, cet article tente d'améliorer les algorithmes de classement des pages conventionnels et de modéliser une prédiction de la page suivante sous une valeur Top-n donnée.
![]() Minko Gechev | ![]() Addy Osmani | ![]() Katie Hempenus | ![]() Kyle Mathews |