Vorhersageverhalten der Web-BenutzeroberflÀche

Bild

Es sollte sofort angemerkt werden, dass dieser Artikel nur eine subjektive Reflexion darĂŒber ist, wie das Verhalten von Schnittstellenelementen, die wissen, was der Benutzer zu einem bestimmten Zeitpunkt tut, aussehen und implementiert werden kann. Die Gedanken werden jedoch durch ein wenig Forschung und Umsetzung gestĂŒtzt. Lass uns gehen.



Zu Beginn des Internets suchten Websites nicht nach IndividualitÀt bei der Gestaltung grundlegender Elemente der BenutzeroberflÀche. Die VariabilitÀt war gering, so dass die Seiten in ihren Komponenten ziemlich einheitlich waren.

Bild

Jeder Link sah aus wie ein Link, eine SchaltflĂ€che wie eine SchaltflĂ€che und ein KontrollkĂ€stchen wie ein KontrollkĂ€stchen. Der Benutzer wusste, wozu seine Aktion fĂŒhren wĂŒrde, da er eine klare Vorstellung vom Funktionsprinzip jedes Elements hatte.

Der Link sollte an eine andere Seite gesendet werden, unabhĂ€ngig davon, woher der Link stammt, ĂŒber das NavigationsmenĂŒ oder den Text in der Beschreibung. Die SchaltflĂ€che Ă€ndert den Inhalt der aktuellen Seite, möglicherweise durch Senden einer Anfrage an den Server. Der Status des KontrollkĂ€stchens wirkt sich höchstwahrscheinlich in keiner Weise auf den Inhalt aus, bis wir die SchaltflĂ€che fĂŒr eine Aktion drĂŒcken, die diesen Status verwendet. Daher genĂŒgte es dem Benutzer, das Schnittstellenelement zu betrachten, um mit hoher Wahrscheinlichkeit zu verstehen, wie er damit interagieren soll und wozu es fĂŒhren wird.

Bild

Moderne Websites bieten dem Benutzer eine viel grĂ¶ĂŸere Anzahl von RĂ€tseln. Alle Links sehen völlig anders aus, SchaltflĂ€chen sehen nicht wie SchaltflĂ€chen aus und so weiter. Um zu verstehen, ob eine Linie ein Link ist, muss der Benutzer mit der Maus darĂŒber fahren, um zu sehen, wie sich die Farbe in eine kontrastreichere Ă€ndert. Um zu verstehen, ob ein Element eine SchaltflĂ€che ist, bewegen wir den Mauszeiger, um die Änderung des FĂŒlltons zu sehen. Mit den Elementen verschiedener MenĂŒs ist auch alles kompliziert, einige von ihnen werden wahrscheinlich ein zusĂ€tzliches UntermenĂŒ erweitern, andere nicht, obwohl sie im Aussehen identisch sind.

Wir gewöhnen uns jedoch schnell an die Schnittstellen, die wir regelmĂ€ĂŸig verwenden, und sind nicht mehr in der FunktionalitĂ€t der Elemente verwirrt. Eine wichtige Rolle spielt die allgemeine KontinuitĂ€t der Schnittstellen. Wenn wir uns die obige Seite angesehen haben, werden wir höchstwahrscheinlich sofort feststellen, dass der gelbe Pfeil mit den Worten „Suchen“ nicht nur ein dekoratives Element, sondern eine SchaltflĂ€che ist, obwohl er ĂŒberhaupt nicht wie eine Standard-HTML-SchaltflĂ€che aussieht. In Bezug auf Vorhersehbarkeit und Persönlichkeit sind die meisten Ressourcen zu einem stabilen Konsens gekommen, der von den Benutzern akzeptiert wird.

Andererseits wĂ€re es interessant, eine Schnittstelle zu erhalten, die den Benutzer im Voraus ĂŒber die Besonderheiten eines Elements informiert oder einen Teil der Routinearbeit fĂŒr dieses Element ausfĂŒhrt. Der Cursor bewegt sich in Richtung des MenĂŒpunkts - Sie können das UntermenĂŒ im Voraus erweitern und so die Interaktion mit der BenutzeroberflĂ€che beschleunigen, der Benutzer bewegt den Cursor auf die SchaltflĂ€che - Sie können zusĂ€tzlichen Inhalt laden, der erst nach dem Klicken erforderlich ist. Die Überschrift des Artikels vergleicht die Standardschnittstelle (links) und die Vorhersage.

Ein einfacher visueller Test zeigt, dass durch Analyse der Cursorgeschwindigkeit und ihrer Ableitungen die Bewegungsrichtung und die Koordinaten des Stopps in einer bestimmten Anzahl von Schritten vorhergesagt werden können. Da Bewegungsereignisse mit einer konstanten Frequenz relativ zur GrĂ¶ĂŸe der Beschleunigung ausgelöst werden, nimmt die Geschwindigkeit bei AnnĂ€herung an das Ziel ab. So können Sie die vom Benutzer geplante Aktion im Voraus herausfinden, was zu den bereits angekĂŒndigten Vorteilen fĂŒhrt.

Bild

Daher umfasst das Problem zwei Aufgaben: Bestimmen der zukĂŒnftigen Koordinaten des Cursors und Bestimmen der Absichten des Benutzers (Schweben, Klicken, Hervorheben usw.). Alle diese Daten sollten nur auf der Grundlage der Analyse der vorherigen Werte der Cursorkoordinaten erhalten werden.

Bild

Die Hauptaufgabe besteht darin, die Richtung der Cursorbewegung zu bewerten, anstatt das Stoppmoment vorherzusagen, was ein komplexeres Problem darstellt. Als SchĂ€tzung der Parameter einer verrauschten GrĂ¶ĂŸe kann das Problem der Berechnung der Bewegungsrichtung durch eine Masse bekannter Verfahren gelöst werden.

Die erste Option, die mir in den Sinn kommt, ist ein Filter mit gleitendem Durchschnitt . Wenn Sie die Geschwindigkeit in frĂŒheren Momenten mitteln, können Sie den Wert im Folgenden ermitteln. FrĂŒhere Werte können nach einem bestimmten Gesetz (linear, exponentiell, exponentiell) gewichtet werden, um den Einfluss der nĂ€chsten ZustĂ€nde zu erhöhen und den Beitrag entfernterer Werte zu verringern.

Eine andere Option ist die Verwendung eines rekursiven Algorithmus, z. B. eines Partikelfilters . Um die Geschwindigkeit des Cursors zu bewerten, erstellt der Filter viele Hypothesen ĂŒber den aktuellen Wert der Geschwindigkeit, auch Partikel genannt. Im ersten Moment sind diese Hypothesen absolut zufĂ€llig, aber weiter entfernt entfernt der Filter ungĂŒltige Hypothesen und generiert in der Umverteilungsphase regelmĂ€ĂŸig neue, basierend auf zuverlĂ€ssigen. Somit bleiben aus der Menge der Hypothesen nur diejenigen ĂŒbrig, die dem wahren Wert der Geschwindigkeit am nĂ€chsten kommen.

Im folgenden Beispiel ist der Radiuswert direkt proportional zu seinem Gewicht, wenn der Cursor jedes Partikels zur Visualisierung bewegt wird. Somit charakterisiert der Bereich mit der höchsten Konzentration schwerer Partikel die wahrscheinlichste Richtung der Cursorbewegung.


Die erhaltene Bewegungsrichtung reicht jedoch nicht aus, um die Absichten des Benutzers zu bestimmen. Bei einer hohen Dichte von Schnittstellenelementen kann der Cursorpfad ĂŒber vielen von ihnen liegen, was zu einer Masse von falsch positiven Ergebnissen des Vorhersagealgorithmus fĂŒhrt. Hier helfen maschinelle Lernmethoden, nĂ€mlich wiederkehrende neuronale Netze.

Die Koordinaten des Cursors sind eine Folge stark korrelierter Werte. Wenn die Bewegung verlangsamt wird, verringert sich die Differenz zwischen den Koordinaten der benachbarten Positionen auf der Zeitachse von Ereignis zu Ereignis. Die umgekehrte Tendenz macht sich zu Beginn der Bewegung bemerkbar - die Koordinatenintervalle nehmen zu. Wahrscheinlich kann dieses Problem mit akzeptabler Genauigkeit auch analytisch gelöst werden, indem die Werte der Ableitungen an verschiedenen Stellen des Pfades untersucht und die Antwortschwelle basierend auf dem Verhalten dieser Werte codiert werden. Die Koordinatenfolge der Cursorpositionen sieht jedoch naturgemĂ€ĂŸ wie ein Datensatz aus, der gut zu den Funktionsprinzipien von Netzwerken des Langzeit-KurzzeitgedĂ€chtnisses passt.

LSTM- Netze sind eine spezielle Art von Architektur wiederkehrender neuronaler Netze, die zum Trainieren langfristiger AbhĂ€ngigkeiten angepasst ist. Dies wird durch die FĂ€higkeit erleichtert, Informationen durch die Netzwerkmodule ĂŒber eine Anzahl von ZustĂ€nden zu speichern. Auf diese Weise kann das Netzwerk Zeichen identifizieren, die beispielsweise darauf basieren, wie lange der Cursor langsamer wurde, was ihm vorausging, wie sich die Cursorgeschwindigkeit zu Beginn der Verlangsamung geĂ€ndert hat usw. Diese Zeichen kennzeichnen bestimmte Muster des Benutzerverhaltens wĂ€hrend bestimmter Aktionen, z. B. durch Klicken auf eine SchaltflĂ€che.

Bild

Wenn wir also die am Ausgang des Partikelfilters und des neuronalen Netzwerks erhaltenen Daten kontinuierlich analysieren, erhalten wir den Moment, in dem Sie beispielsweise das Dropdown-MenĂŒ anzeigen können, wĂ€hrend der Benutzer den Cursor darauf bewegt, um es in der nĂ€chsten Sekunde zu öffnen. Wenn Sie diese Analyse fĂŒr jedes Mausereignis durchfĂŒhren, ist es schwierig, den richtigen Moment zu verpassen.

Bild

Das LSTM-Netzwerktraining kann an einem Datensatz durchgefĂŒhrt werden, der bei der Analyse des Benutzerverhaltens erhalten wird, und eine Reihe von Aufgaben ausfĂŒhren, mit denen die Funktionen bei der Interaktion mit der BenutzeroberflĂ€che identifiziert werden sollen: Klicken Sie auf eine SchaltflĂ€che, bewegen Sie den Cursor ĂŒber einen Link, öffnen Sie das MenĂŒ usw. Das Folgende ist ein Beispiel fĂŒr das Auslösen einer Matrix von Vorhersageelementen, die nur auf einem Partikelfilter basieren, ohne neuronale Netzwerkanalyse.

Bild

Die folgenden Animationen zeigen den Beitrag des neuronalen Netzwerks zur Vorhersage des Benutzerverhaltens. False Positives werden viel weniger.

Bild

Im Allgemeinen lĂ€uft die Aufgabe darauf hinaus, zwei GrĂ¶ĂŸen auszugleichen - den Zeitraum zwischen der Aktion und ihrer Vorhersage und die Anzahl der Fehler (Fehlalarme und Auslassungen). Zwei ExtremfĂ€lle sind die Auswahl aller Elemente auf der Seite (maximale Vorhersageperiode, eine große Anzahl von Fehlern) oder die sofortige Funktionsweise des Algorithmus, wenn der Benutzer handelt (Null Vorhersagezeitraum und fehlende Fehler).

Bild

Die Diagramme zeigen die auf Maximalwerte normierten Ergebnisse, da die Geschwindigkeit des Benutzers rein individuell ist und die Anzahl der Fehler von der jeweiligen Schnittstelle abhĂ€ngt. Algorithmen fĂŒr gleitenden Durchschnitt und Partikelfilter zeigen ungefĂ€hr Ă€hnliche Ergebnisse. Die zweite ist etwas genauer, insbesondere bei Verwendung des Touchpads. Letztendlich können alle diese Optionen stark vom jeweiligen Benutzer und GerĂ€t abhĂ€ngen.

Bild

Zusammenfassend eine kleine Demo des Vorhersageverhaltens von HTML-Elementen, alles andere als ideal, aber ein wenig aufschlussreich.


NatĂŒrlich ist es bei solchen Aufgaben wichtig, ein Gleichgewicht zwischen FunktionalitĂ€t und Vorhersagbarkeit zu finden. Wenn das resultierende Verhalten dem Benutzer nicht klar ist, macht die verursachte Irritation alle BemĂŒhungen zunichte. Es ist schwierig darĂŒber zu sprechen, ob es möglich ist, den Lernprozess des Algorithmus fĂŒr den Benutzer unsichtbar zu machen, beispielsweise in den ersten Sitzungen seiner Kommunikation mit der Seitenschnittstelle, so dass sich die Schnittstellenelemente mithilfe der trainierten Algorithmen vorhersagbar verhalten. In jedem Fall ist aufgrund der individuellen Merkmale jeder Person eine zusĂ€tzliche Schulung erforderlich, die Gegenstand zusĂ€tzlicher Untersuchungen ist.

Source: https://habr.com/ru/post/de433564/


All Articles