Bibliotheken und Tools zum Aktivieren von datengesteuerten Benutzererfahrungen im Web.
Für Webpack -Benutzer:
Installieren und konfigurieren Sie RatePlugin - das Webpack -Plugin von Guess.js, das so viel wie möglich für Sie automatisiert.
Wenn Sie die Module, die wir individuell anbieten, ausprobieren möchten, enthält das Verzeichnis packages drei Pakete:
ga - Ein Modul zum Abrufen strukturierter Daten von der Google Analytics -API, um sich über die Navigationsmuster der Benutzer zu informieren.parser - Ein Modul, das JavaScript -Framework -Parsen bietet. Dadurch wird die im Raten-Webpack-Plugin implementierten Routen-Parsen-Funktionen versorgt.webpack - Ein Webpack -Plugin zum Einrichten von Vorhersageabrufen in Ihrer Anwendung. Es konsumiert die ga und parser -Module und bietet eine große Anzahl von Optionen, um zu konfigurieren, wie das Abrufen von Vorhersagen in Ihrer Anwendung funktionieren sollte.Für Nicht-Webpack-Benutzer:
Unser Workflow für die Vorhersageabfertigung für Websites bietet eine Reihe von Schritten, die Sie ausführen können, um das Abrufen von Vorhersagen mithilfe der Google Analytics-API auf Ihre Website zu integrieren.
Dieses Repo verwendet Google Analytics -Daten, um zu bestimmen, auf welcher Seite ein Benutzer höchstwahrscheinlich als nächstes von einer bestimmten Seite besucht wird. Ein clientseitiges Skript (das Sie Ihrer Anwendung hinzufügen) sendet eine Anforderung an den Server, um die URL der Seite zu erhalten, die sie abrufen sollte, und dann diese Ressource vorab.
Gate.js bietet Bibliotheken und Tools zur Vereinfachung der vorhersage, datenanalytischen Ansätze zur Verbesserung der Benutzererfahrten im Web. Diese Daten können aus einer beliebigen Anzahl von Quellen gesteuert werden, einschließlich Analytik- oder maschinelles Lernmodellen. Guess.js zielt darauf ab, die Reibung des Verzehrs und der Anwendung dieses Denkens auf alle modernen Websites und Apps zu senken, einschließlich der Erstellung von Bibliotheken und Tools für beliebte Workflows.
Die Anwendung von prädiktiven Daten-Analytics-Denken auf Websites kann in einer Reihe von Kontexten angewendet werden:
Durch die Zusammenarbeit mit verschiedenen Berührungspunkten im Ökosystem, bei denen datengesteuerte Ansätze leicht angewendet werden können, hoffen wir, gemeinsame Infrastrukturstücke zu verallgemeinern, um ihre Anwendbarkeit in verschiedenen Tech-Stapeln zu maximieren.
<link rel=prefetch> für zukünftige Navigationen verwenden, verlassen sich stark darauf, die beschreibenden Analysen manuell zu lesen, um ihre Entscheidungen für das zu informieren, was vorab abgewickelt werden soll.<link rel=prefetch> wird derzeit für 5% der gesamten Chrompagelads verwendet, aber dies könnte höher sein.Die erste große Priorität für Guess.js wird die Verbesserung der Webleistung durch die Vorabfindung von Inhalten verbessern.
Durch Erstellen eines Seitenmodells, das ein Benutzer wahrscheinlich besucht, kann eine Lösung die Wahrscheinlichkeit berechnen, dass ein Benutzer eine bestimmte Seite oder eine Reihe von Seiten oder eine Reihe von Seiten besucht und Ressourcen für sie vorab, während der Benutzer seine aktuelle Seite noch anzeigt. Dies hat die Möglichkeit, die Leistung der Seitenladung für nachfolgende Seitenbesuche zu verbessern, da es eine starke Wahrscheinlichkeit gibt, dass sich eine Seite bereits im Cache des Benutzers befindet.
Um die nächste Seite vorherzusagen, die ein Benutzer wahrscheinlich besucht, können Lösungen die Google Analytics -API verwenden. Mit Daten der Google Analytics -Sitzung können Daten verwendet werden, um ein Modell zu erstellen, um die wahrscheinlichste Seite vorherzusagen, die ein Benutzer als nächstes auf einer Website besuchen wird. Der Vorteil dieser Sitzungsdaten besteht darin, dass sie sich im Laufe der Zeit weiterentwickeln kann. Wenn sich bestimmte Navigationspfade ändern, können sich auch die Vorhersagen auf dem Laufenden halten.
Mit der Verfügbarkeit dieser Daten könnte eine Engine <link rel="[prerender/prefetch/preload]"> Tags einfügen, um die Ladezeit für die nächste Seitenanforderung zu beschleunigen. In einigen Tests wie Mark Edmondsons Aufladungs-Seitenladungen mit R führte dies zu einer Verbesserung der Ladezeiten von Seiten um 30%. Die in seiner Forschung verwendete Ansatzmarkierung umfasste die Verwendung von GTM-Tags und maschinellem Lernen, um ein Modell für Seitenvorhersagen zu trainieren. Dies ist eine Idee, die im maschinellen Lernen auf der Cloud - intelligentes Vorabbau fortgesetzt wird.
Während dieser Ansatz solide ist, könnte die verwendete Methodik als etwas komplex angesehen werden. Ein weiterer Ansatz, der verfolgt werden könnte (was einfacher ist), ist der Versuch, genaue Vorhersagedaten von der Google Analytics -API zu erhalten. Wenn Sie einen Bericht für die Seite und die vorherige Seitenpfaddimension in Kombination mit den Seitenansichten und Auslösungen ausgeführt haben, sollten Sie genügend Daten liefern, um Vorabschläge für die meisten beliebten Seiten zu verkaufen.
ML könnte dazu beitragen, die Gesamtgenauigkeit der Vorhersagen einer Lösung zu verbessern, ist jedoch keine Notwendigkeit für eine erste Implementierung. Das Abrufen des Vorhersage kann durch Schulung eines Modells auf den Seiten erreicht werden, die Benutzer wahrscheinlich dieses Modell im Laufe der Zeit besuchen und verbessern werden.
Tiefe neuronale Netzwerke können besonders gut die Komplexität necken, die dazu führen kann, dass ein Benutzer eine Seite gegenüber einer anderen auswählt. Insbesondere wenn wir eine Version der Lösung versuchen wollten, die auf die Seiten versorgt wurde, die ein einzelner Benutzer im Vergleich zu den Seiten besuchen könnte, könnte ein "allgemeiner/medianer" Benutzer als nächstes besuchen. Feste Seitensequenzen (vorher, aktuell, als nächstes) sind möglicherweise am einfachsten zu beginnen, mit zunächst zu beginnen. Dies bedeutet, ein Modell zu erstellen, das für Ihre Dokumente einzigartig ist.
Modellaktualisierungen werden tendenziell regelmäßig durchgeführt, sodass möglicherweise einen nächtlichen/wöchentlichen Auftrag erstellt werden kann, um auf der Grundlage neuer Benutzerverhalten zu aktualisieren. Dies könnte in Echtzeit erfolgen, ist aber wahrscheinlich komplex, daher kann dies regelmäßig ausreichen. Man könnte sich ein generisches Modell vorstellen, das Verhaltensmuster für Benutzer auf einer Site darstellt, die entweder von einem geschulten Statussatz, Google Analytics oder einer benutzerdefinierten Beschreibung angesteuert werden kann, die Sie mit einer neuen Ebene in einen Router verwenden, um der Website die Möglichkeit zu geben, zukünftige Seiten vorhersagend abzurufen und die Seitenlastleistung zu verbessern.
Spekulative Vorabschlüsse können Seiten vorab auf die Seite des Seitenlasts navigieren. Dies setzt die Existenz von Wissen über die Wahrscheinlichkeit voraus, dass eine Seite eine bestimmte nächste Seite oder eine bestimmte Reihe von Seiten benötigt, oder ein Trainingsmodell, das einen datengesteuerten Ansatz zur Bestimmung solcher Wahrscheinlichkeiten liefern kann.
Das Vorabbau auf der Seitenlast kann auf verschiedene Weise erreicht werden, von der Aufschaltung auf die UA <link rel=prefetch> um zu entscheiden, wann Ressourcen vorgegeben werden sollen (z. Der Benutzer ist keine weitere Interaktion erforderlich.
Eine Seite könnte spekulativ mit dem Vorabbau von Inhalten beginnen, wenn Links auf der Seite im Ansichtsfenster sichtbar sind, was bedeutet, dass der Benutzer möglicherweise eine höhere Chance hat, darauf zu klicken.
Dies ist ein Ansatz von Gatsby (der React und React Router verwendet). Ihre spezifische Implementierung ist wie folgt:
<Link> -Komponente unsichtbar wird.Eine Seite könnte spekulativ mit den Ressourcen vorlegen, wenn ein Benutzer angibt, dass er an Inhalten interessiert ist. Dies kann viele Formulare annehmen, einschließlich der Zeit, wenn ein Benutzer über einen Link oder einen Teil der UI schwebt, der sie zu einer separaten Seite steuert. Der Browser konnte damit beginnen, Inhalte für den Link zu holen, sobald ein klarer Anzeichen von Interesse gab. Dies ist ein Ansatz von JavaScript -Bibliotheken wie InstantClick.
Wie bei jedem Mechanismus, um den Inhalt im Voraus vorzubereiten, muss dies sehr sorgfältig angesprochen werden. Ein Benutzer mit einem eingeschränkten Datenplan schätzt oder profitieren möglicherweise nicht so sehr von Seiten, die im Voraus abgerufen werden, insbesondere wenn er anfangen, seine Daten zu essen. Es gibt Mechanismen, die eine Site/Lösung für diese Anliegen eingehen könnten, z. B. die Respektation des Save-Data-Headers.
Das Vorabbau von Links zu "Abmelden" -Seiten ist wahrscheinlich unerwünscht. Gleiches gilt für alle Seiten, die eine Aktion auf Seitenladung auslösen (z. B. Ein-Klick-Kauf). Lösungen möchten möglicherweise eine schwarze Liste von URLs enthalten, die niemals vorgeholt sind, um die Wahrscheinlichkeit zu erhöhen, dass eine vorgeholkte Seite nützlich ist.
Einige der Versuche, ähnliche Vorschläge in der Vergangenheit zu erfüllen, haben sich auf <link rel=prerender> verlassen. Das Chrome -Team untersucht derzeit die Abschreibungen von Rel = Prerender zugunsten von NostatePrefetch - einer leichteren Version dieses Mechanismus, die nur dem HTTP -Cache vorbereitet, aber keinen anderen Status der Webplattform verwendet. Eine Lösung sollte berücksichtigen, ob sie sich auf den Ersatz durch Rel = Prerender oder die Verwendung von Vorab-/Vorspannungen/anderen Ansätzen stützt.
Es gibt zwei wichtige Unterschiede zwischen NostatePrefetch und Prefetch:
Nostate-Prefetch ist ein Mechanismus, und <link rel=prefetch> ist eine API. Die Nostate-Prefetch kann nach anderen Einstiegspunkten angefordert werden: Omnibox-Vorhersage, benutzerdefinierte Registerkarten, <link rel=prerender> .
Die Implementierung ist unterschiedlich: <link rel=prefetch> Prefetches einer Ressource, aber Nostate-Prefetch darüber, die den Vorspannungsscanner auf der Ressource (in einem neuen neuen Renderer) ausführt, entdeckt SubResources und Prepetches (ohne Wiederaufnahme in einen Vorladungsscanner).
In diesem Problemraum gibt es drei primäre Arten von Datenanalysen, die es wert sind, sich bewusst zu sein: beschreibend, prädiktiv und vorschreibend. Jeder Typ ist verwandt und hilft den Teams, verschiedene Arten von Einsichten zu nutzen.
Deskriptive Analytics fasst Rohdaten zusammen und verwandelt sie in etwas, das von Menschen interpretierbar ist. Es kann sich vergangene Ereignisse ansehen, unabhängig davon, wann die Ereignisse aufgetreten sind. Deskriptive Analysen ermöglichen es den Teams, aus früheren Verhaltensweisen zu lernen, und dies kann ihnen helfen, die zukünftigen Ergebnisse zu beeinflussen. Deskriptive Analytics könnten bestimmen, welche Seiten auf einer Website -Benutzer zuvor angezeigt haben und welche Navigationspfade sie auf einer bestimmten Eintragsseite aufgenommen haben.
Predictive Analytics „prognostiziert“, was als nächstes passieren kann. Predictive Analytics hilft uns, die Zukunft zu verstehen, und gibt Teams mit Daten umsetzbare Erkenntnisse. Es bietet Schätzungen der Wahrscheinlichkeit, dass ein zukünftiges Ergebnis nützlich ist. Es ist wichtig zu beachten, dass nur wenige Algorithmen zukünftige Ereignisse mit vollständiger Genauigkeit vorhersagen können. Die Grundlage für prädiktive Analysen basiert auf Wahrscheinlichkeiten, die wir aus Daten bestimmen. Predictive Analytics könnte die nächste Seite oder die Seiten von Seiten vorhersagen, die ein Benutzer bei einer willkürlichen Einstiegsseite wahrscheinlich besuchen wird.
Die vorgeschriebene Analyse ermöglicht die Verschreibung verschiedener möglicher Maßnahmen, um eine Lösung zu steuern. Prescriptive Analytics berät und versuchen, die Auswirkungen zukünftige Entscheidungen zu quantifizieren, die möglicherweise zu möglichen Ergebnissen beraten müssen, bevor diese Entscheidungen getroffen werden. Prescriptive Analytics zielt darauf ab, nicht nur vorherzusagen, was passieren wird, sondern weiterhin weitergeht. Informieren, warum es geschehen wird, und Empfehlungen zu Maßnahmen zu geben, die solche Vorhersagen nutzen können. Prescriptive Analytics könnte die nächste Seite vorhersagen, die ein Benutzer besucht wird, aber auch Aktionen vorschlagen, z. B. Sie darüber informieren, wie Sie seine Erfahrung anpassen können, um dieses Wissen zu nutzen.
Das Hauptziel eines Vorhersagemodells im Vorabstichproblemraum besteht darin, zu identifizieren, welche nachfolgenden Anforderungen ein Benutzer angefordert werden, angesichts einer bestimmten Seitenanforderung. Auf diese Weise kann ein Server oder Client den nächsten Seitensatz vorlegen und versuchen, sicherzustellen, dass er sich im Cache eines Benutzers befindet, bevor sie direkt zur Seite navigieren. Die Idee ist, die Gesamtlastzeit zu verkürzen. Wenn dies mit Pflege implementiert wird, kann diese Technik die Seitenzugriffszeiten und -latenz reduzieren und die allgemeine Benutzererfahrung verbessern.
Markov -Modelle wurden häufig zum Erforschen und Verständnis des stochastischen (zufälligen Wahrscheinlichkeitsverteilungsverteilung) verwendet [Ref, Ref]. Es wurde gezeigt, dass sie für die Modellierung und Vorhersage des Browserverhaltens eines Benutzers gut geeignet sind. Die Eingaben für diese Probleme sind in der Regel die Abfolge von Webseiten, auf die ein Benutzer oder eine Reihe von Benutzern (ortsweit) zugegriffen wird, mit dem Ziel, Markov-Modelle zu erstellen, mit denen wir die Seiten modellieren und vorhersagen können, die ein Benutzer als nächstes zugreifen kann. Ein Markov -Prozess hat Zustände, die zugegriffene Seiten und Kanten darstellen, die Übergangswahrscheinlichkeiten zwischen Zuständen darstellen, die aus einer bestimmten Sequenz in einem Analyseprotokoll berechnet werden. Ein geschulter Markov -Modell kann verwendet werden, um den nächsten Zustand mit einem Satz früherer Zustände vorherzusagen.
In einigen Anwendungen sind Markov-Modelle erster Ordnung bei der Vorhersage von Benutzern-Browserverhalten nicht so genau, da diese nicht immer in die Vergangenheit untersuchen, um zwischen den beobachteten verschiedenen Mustern unterscheidet. Dies ist ein Grund, warum häufig Modelle höherer Ordnung verwendet werden. Diese Modelle höherer Ordnung haben Einschränkungen bei der Komplexität des Zustandsraums, weniger breiter Abdeckung und manchmal reduzierter Vorhersagegenauigkeit.
Eine Möglichkeit, dieses Problem zu überwinden, besteht darin, unterschiedliche Reihenfolge Markov -Modelle zu trainieren, die wir dann während der Vorhersagephase verwenden. Dies wurde in dem Markov-Modell des All-K-ten Ordnungs versucht, das in diesem Ref vorgeschlagen wurde. Dies kann jedoch die Komplexität des Staatraums verschlimmern. Ein anderer Ansatz besteht darin, häufige Zugriffsmuster (längste Wiederholungssusequenzen) zu identifizieren und diesen Satz von Sequenzen für Vorhersagen zu verwenden. Obwohl dieser Ansatz eine Größenreduzierung der Zustandsraumkomplexität haben kann, kann er die Vorhersagegenauigkeit verringern.
Selektive Markov-Modelle (SMM), die nur einige Zustände innerhalb des Modells speichern, wurden ebenfalls als Lösung für Komplexitätskompromisse für Staatsraum-Komplexität vorgeschlagen. Sie beginnen mit einem Markov-Modell mit All-K-ten Ordnung-ein Ansatz nach dem Pruning wird dann verwendet, um Zustände zu beschneiden, von denen nicht erwartet wird, dass sie genaue Prädiktoren sind. Das Ergebnis davon ist ein Modell, das die gleiche Vorhersagekraft von Modellen All-Koth-Ordnung mit weniger Raumkomplexität und höherer Vorhersagegenauigkeit aufweist. In Deshpane und Karpis werden unterschiedliche Kriterien zum Beschneiden von Zuständen im Modell vor Vorhersage (Häufigkeit, Vertrauen, Fehler) untersucht.
In Mabroukeh und Ezeief wurde die Aufführung von semantischen Markov-Modellen der ersten und 2. Ordnung untersucht und mit der von SMM höherer Ordnung und semantischer SMM verglichen. Sie stellten fest, dass semantische SMM eine semantische SMM mit einer Größe von 16% als Frequenz-SMM aufweist und eine nahezu gleiche Genauigkeit darstellt.
Durch die Beobachtung von Navigationsmustern können wir das Benutzerverhalten analysieren. Dieser Ansatz erfordert Zugriff auf die Identifizierung von Benutzersitzen, die Clustering-Sitzungen in ähnliche Cluster und die Entwicklung eines Modells für die Vorhersage mithilfe aktueller und früherer Zugriffsmuster. Ein Großteil der vorherigen Arbeiten in diesem Bereich hat sich auf Clustering-Schemata wie die K-Means-Clustering-Technik mit euklidischer Distanz zur Verbesserung des Vertrauens von Vorhersagen beruht. Einer der Nachteile bei der Verwendung von K-Means ist Schwierigkeiten, sich für die Anzahl der Cluster zu entscheiden. Die Auswahl des anfänglichen Zufallszentrums und die Reihenfolge der Seitenbesuche wird nicht immer berücksichtigt. Kumar et al. Untersuchten dies und schlugen eine hierarchische Clustering -Technik mit einem modifizierten Levenshtein -Abstand, PageRank unter Verwendung der Zugriffszeitlänge, der Frequenz und der Markov -Modelle höherer Ordnung vor.
Viele der im folgenden Abschnitt verwiesenen Arbeiten sind auf das Markov -Modell, die Assoziationsregeln und das Clustering geführt. Papiere, die relevante Arbeiten zur Entdeckung der Muster zur Entwicklung der Seitenvorhersagegenauigkeit hervorheben, sind unser Fokus.
Verwendet Markov-Modelle erster Ordnung, um die Abfolge der von einem Benutzer angeforderten Webseiten für die Vorhersage der nächsten Seite zu modellieren. Mit Markov -Ketten können das System dynamisch URL -Zugriffsmuster modellieren, die in Navigationsprotokollen basierend auf dem vorherigen Zustand beobachtet werden. Ein „personalisiertes“ Markov -Modell wird für jeden Benutzer geschult und verwendet, um die zukünftigen Sitzungen eines Benutzers vorherzusagen. In der Praxis ist es übermäßig teuer, ein einzigartiges Modell für jeden Benutzer zu konstruieren, und die Kosten für die Skalierung werden schwieriger, wenn eine Website eine große Benutzerbasis hat.
Erstes Papier zur Untersuchung versteckter Markov -Modelle (HMM). Der Autor hat Webserverprotokolle gesammelt, die Daten beschnitten und die von Benutzer übergebenen Pfade gepatcht. Basierend auf HMM hat der Autor ein bestimmtes Modell für das Webbrowsing erstellt, das voraussagt, ob die Benutzer die Absicht haben, in Echtzeit zu kaufen. Verwandte Maßnahmen wie die Beschleunigung des Betriebs und deren Auswirkungen im Einkaufsmodus werden untersucht.
Schlägt einen Rahmen vor, um die Ranglistenpositionen einer Seite auf der Grundlage ihrer vorherigen Ranglisten vorherzusagen. Unter der Annahme einer Reihe aufeinanderfolgender Top-K-Rankings identifiziert der Autor Prädiktoren basierend auf verschiedenen Methoden. Die Vorhersagequalität wird als Ähnlichkeit zwischen vorhergesagten und tatsächlichen Rankings quantifiziert. Ausführliche Experimente wurden in einem realen Datensatz in großem Maßstab sowohl für globale als auch für abfragebasierte Top-K-Rankings durchgeführt. Eine Vielzahl vorhandener Ähnlichkeitsmaßnahmen zum Vergleich von Top-K-Ranglisten, einschließlich eines in der Arbeiten erfassten neuartigen.
Schlägt vor, N-HOP-Markov-Modelle zu verwenden, um die nächsten Webseiten-Benutzer vorauszusagen. Das Muster entspricht der aktuellen Zugriffssequenz des Benutzers mit den historischen Webzugriffssequenzen des Benutzers, um die Vorhersagegenauigkeit für Vorabschläge zu verbessern.
Schlägt dynamische Clustering-basierte Methoden vor, um die Genauigkeit des Markov-Modells bei der Darstellung einer Sammlung von Webnavigationssitzungen zu erhöhen. Verwendet ein staatliches Klonkonzept, um Zustände auf eine Weise zu doppelten, bei der In-Links getrennt werden, deren entsprechende Wahrscheinlichkeiten zweiter Ordnung abweichen. Die vorgeschlagene Methode umfasst eine Clustering-Technik, die einen Weg zum Zuweisen von In-Links mit ähnlichen Wahrscheinlichkeiten zweiter Ordnung demselben Klon ermittelt.
Erweitert die Verwendung eines Seiten-Rank-Algorithmus mit zahlreichen Navigationsattributen: Größe der Seite, Dauerzeit der Seite, Dauer des Übergangs (zwei Seitenbesuche nacheinander), Häufigkeit der Seite und Übergang. Definiert einen dauerbasierten Rang (DPR) und Popularitätsbasis Seitenrang (PPR). Der Autor untersuchte die Popularität von Übergängen und Seiten mithilfe von Dauerinformationen und verwendete sie mit Seitengröße und Besuchsfrequenz. Mit dem Popularitätswert von Seiten versucht dieses Papier, herkömmliche Seitenrangalgorithmen zu verbessern und eine nächste Seitenvorhersage unter einem bestimmten Top-N-Wert zu modellieren.
![]() Minko Gechev | ![]() Addy Osmani | ![]() Katie Hempenius | ![]() Kyle Mathews |