Wie funktioniert die Empfehlungs-Engine?
  • 11 Apr 2023
  • 9 Minuten zu lesen

Wie funktioniert die Empfehlungs-Engine?


Article Summary

Die Empfehlungs-Engine ist in Python codiert und im Machine Learning Service enthalten.

Die Totara Empfehlungs-Engine empfiehlt Inhalte von Totara Engage und Totara Learn. Zu den Inhalten gehören Ressourcen, Playlisten, Arbeitsbereiche und Kurse. 

Modelle

Die Totara Empfehlungs-Engine verwendet die Datenbank, um ein Modell zu erstellen. Das Modell wird dann verwendet, um empfohlene Inhalte für den aktuellen Nutzer in Echtzeit zu bestimmen und zu präsentieren.

Die Erstellung des Modells wird nach einem regulären Zeitplan durchgeführt und wird als „Schulung“ bezeichnet. Bei der Schulung werden Ihre Daten verwendet, um eine „Point-in-Time“-Instanz zu erstellen. Wir nennen diese Instanz das Modell. Das Modell basiert auf den Daten, die zum Zeitpunkt der Schulung verfügbar sind. Dies ist wichtig, wenn Sie Inhalte hinzufügen, da die mit den Inhalten verbundenen Aktivitäten im Modell erst sichtbar werden, wenn die Schulung stattfindet.

Standardmäßig ist die Schulung des Modells einmal alle 24 Stunden geplant. Der Zeitplan kann bei Bedarf von einem Administrator geändert werden. Wir empfehlen, die Standardeinstellung beizubehalten, während Sie sich mit den Aktivitäten Ihrer Website und dem Empfehlungsprozess vertraut machen.

Wie werden Empfehlungen festgelegt?

Die Empfehlungs-Engine bietet zwei Arten von Inhaltsempfehlungen:

  • Nutzerempfehlungen: Inhalte, die dem aktuellen Nutzer empfohlen werden
  • Zugehöriger Inhalt: Ähnlicher Inhalt wie der angegebene Inhalt

Beide Empfehlungstypen basieren auf einer der folgenden Optionen:

  •  Die vergangenen Interaktionen des Nutzers mit dem Inhalt. In diesem Fall basieren ähnliche Inhalte wie ein bestimmtes Inhaltselement nur darauf, wie der Inhalt interagiert. 
  • Die vergangenen Interaktionen des Nutzers mit dem Inhalt und den Metadaten des Inhalts und der Nutzer.

Interaktionen beziehen sich auf die Arten von Nutzeraktionen mit Inhaltselementen. Interaktionen werden vom System registriert, wenn sich ein Nutzer für einen Kurs anmeldet oder eine Ressource, Playliste oder einen Arbeitsbereich anzeigt, liket oder kommentiert. Die Stärke der Interaktion wird auf einer binären Skala dargestellt. Nutzeraktionen legen den Interaktionswert wie folgt fest:

  • Eine einzelne Ansicht auf einer Ressource, einer Playliste oder einem Arbeitsbereich setzt den Interaktionswert auf 0.
  • Eine nachfolgende ODER eine einzelne Ansicht mit einem Like und/oder Kommentar setzt den Interaktionswert auf 1. Nachfolgende Aktivitäten ändern den Interaktionswert nicht, nachdem er auf 1 gesetzt wurde. 
  • Wenn sich ein Nutzer für einen selbstanmeldenden Kurs anmeldet, wird der Interaktionswert auf 1 gesetzt. Das Anzeigen eines Kurses wird nicht als Interaktion aufgezeichnet.

Eine Interaktion eines Nutzers mit einem Inhalt, der einen Wert 0 hat, wird auch als Interaktion in Ruhe bezeichnet, während ein Interaktionswert von 1 als positive Interaktion bezeichnet wird.

Das Empfehlungsmodell verwendet einen von drei Algorithmen (oder Modi) für maschinelles Lernen:

  • Matrix-Faktorisierung
  • Partial hybrid
  • Voll hybrid (Standardmodus in Totara 15 und höher)

Die Funktionen der drei Modi werden nachfolgend ausführlicher beschrieben. Der Standardmodus für Totara 15 und höher ist voll hybrid, aber der Modus kann jederzeit geändert werden. Der neue Modus ist erst betriebsbereit, wenn die Schulung zum Erstellen des neuen Modells abgeschlossen ist.

Die grundlegende Logik, die für alle Modi verwendet wird, beinhaltet die Identifizierung von Inhalten, mit denen der aktuelle Nutzer nicht interagiert hat, die aber wahrscheinlich interessiert sind. Dieser Inhalt wird aus den Interaktionen anderer ähnlicher Nutzer mit dem angegebenen Inhalt identifiziert, der vom aktuellen Nutzer nicht angesehen wurde. 

Die Methode zur Identifizierung ähnlicher Nutzer ist für jeden Modus unterschiedlich. Ebenso hängen die Daten, die von der Engine verwendet werden, um Inhaltsempfehlungen bereitzustellen, vom Modus ab. Jeder Modus wird nachfolgend ausführlicher beschrieben.

Matrix-Faktorisierung

In diesem Modus verwendet die Empfehlungs-Engine keine Inhalte oder Nutzermetadaten. Die Empfehlungs-Engine stützt sich ausschließlich auf die Interaktionsdaten von Nutzern mit Inhalten. Die Logik der Nutzerempfehlungen kann in zwei Schritten zusammengefasst werden:

  1. Identifizieren Sie ähnliche Nutzer, die im Allgemeinen die gleichen Inhaltsinteraktionsmuster wie der aktuelle Nutzer haben.
  2. Weisen Sie jedem identifizierten Nutzer eine Empfehlungsbewertung zu, basierend darauf, wie sehr diese von den identifizierten ähnlichen Nutzern interagiert haben.

Nach dem Sortieren der Inhaltselemente nach ihren Empfehlungswerten wird dem aktuellen Nutzer dann die Top-N-Inhaltselemente empfohlen (N ist vom Totara Site Administrator konfigurierbar). Elemente, mit denen der Nutzer bereits interagiert hat, werden nicht empfohlen.

Verwandte Inhalte werden unter Verwendung von Ähnlichkeitsbewertungen bereitgestellt. Die Ähnlichkeitsbewertungen werden für jedes Inhaltselement mit jedem anderen Inhaltselement basierend auf dem Muster der Nutzerinteraktion berechnet. Ein Beispiel wird dabei helfen, dies zu veranschaulichen. In diesem Beispiel werden die Inhaltselemente x und y von demselben Satz von Nutzern interagiert. Inhaltselement z wird von einem anderen Satz von Nutzern verwendet. Daher hat x einen hohen Ähnlichkeitswert mit y, aber x hat einen niedrigen Ähnlichkeitswert mit z.

Alle Inhaltselemente werden dann nach ihrer Ähnlichkeitsbewertung mit dem aktuellen Inhaltselement sortiert. Die wichtigsten N Elemente werden dem Nutzer als ähnliche Elemente empfohlen.

Einer der Nachteile dieses Modus ist, dass er unbekannten Nutzern, d. h. Nutzern, die noch nicht mit Inhalten interagiert haben, keine Inhalte empfehlen kann.

Partial hybrid

Im partiellen Hybridmodus nutzt die Maschinell-Lern-Engine die Metadaten von Nutzern und Inhalten. Die Tabelle zeigt die Metadatenfelder, die für jedes Feld verwendet werden (wenn sie ausgefüllt sind).

Nutzer-MetadatenfelderInhaltsmetadatenfelder
SpracheTyp (d. h. Kurs, Arbeitsbereich, Ressource, Playliste)
LandThema (für Playlisten, Ressourcen)
InteressenTags (Kurse)
Organisation(en)
Position(en)
Angestrebte Position
Skala für aktuelle Kompetenzen
Badges

Der partielle Hybridmodus bietet Empfehlungen für bekannte Nutzer (d. h. Nutzer, die mit Inhalten interagiert haben) auf die gleiche Weise wie der Matrixfaktorisierungsmodus. Der partielle Hybridmodus überwindet den Nachteil des Umgangs mit unbekannten Nutzern (d. h. Nutzer, die nicht mit Inhalten interagiert haben). Empfehlungen für unbekannte Nutzer werden auf der Grundlage der Metadatenähnlichkeit mit bekannten Nutzern bereitgestellt. Inhalte, mit denen bekannte Nutzer interagieren, mit Metadaten, die einem unbekannten Nutzer ähneln, werden verwendet, um Empfehlungen für unbekannte Nutzer anzuzeigen.

Zugehörige Inhalte werden anhand einer Ähnlichkeitsbewertung identifiziert. Dies ist eine Bewertung, die angibt, wie ähnlich zwei Inhalte sind: 

  • Die Interaktionen von Nutzern
  • Die Ähnlichkeit der Inhaltsmetadaten

Full hybrid

Dies ist die Standardeinstellung für Totara 15 und höher. Full Hybrid eignet sich am besten für eine Neuinstallation des maschinellen Lerndienstes. 

Der vollständige Hybridmodus ähnelt dem partiellen Hybridmodus. Im Vollhybridmodus werden jedoch Freitextfelder aus dem Nutzerprofil (Stadt und Profilbeschreibung) und dem Inhaltsprofil (Kursbeschreibung, Arbeitsbereichsbeschreibung, Playlistenbeschreibung und Ressourceninhalt) verwendet. Dazu wird der Freitext in eine numerische Matrix umgewandelt. Die zusätzlichen Daten, die im vollständigen Hybridmodus verwendet werden, bieten eine bessere Methode, um die Ähnlichkeit zwischen Inhalten und Nutzern zu bestimmen.

Vor- und Nachteile jedes Modus

Der Matrixfaktorisierungsmodus erfordert den geringsten Rechenaufwand und ist daher am schnellsten zu trainieren und Empfehlungen abzugeben. Es ist jedoch nicht möglich, unbekannten Nutzern (Nutzern, die noch nicht mit Inhalten interagiert haben) verständliche Empfehlungen zu geben.

Der vollständige Hybridmodus erfordert erhöhte Rechenressourcen und ist daher relativ langsamer zu trainieren und Empfehlungen zu geben. Da die Metadaten von Nutzern und Inhalten (einschließlich freier Text) im vollständigen Hybridmodus verwendet werden, bietet sie unbekannten Nutzern gute Empfehlungen. Diese Empfehlungen basieren ausschließlich auf ihren Metadaten, die dann verwendet werden, um ähnliche bekannte Nutzer zu finden.

Der partielle Hybridmodus liegt in der Mitte der beiden anderen Modi in Bezug auf die Nutzung von Rechenressourcen. Es verwendet alle Metadaten von Nutzern und Inhalten außer Freitext-Metadaten. Infolgedessen kann dieser Modus Empfehlungen für unbekannte Nutzer abgeben und gleichzeitig rechnerisch effizient sein.

Es wird empfohlen, eine neue oder kleine Totara Website für den Betrieb im Vollhybridmodus zu konfigurieren. Nur wenn der vollständige Hybridalgorithmus zu lange dauert, um zu trainieren, sollte stattdessen der partielle Hybridmodus aktiviert werden. Der Matrixfaktorisierungsmodus sollte nur bei sehr großen Totara-Websites verwendet werden, bei denen ein hohes Volumen an Nutzern, Inhalten und Aktivitäten zu einer verlängerten Schulungszeit (über eine Stunde) für den partiellen Hybridmodus führt.

Empfehlungs-Engine-Prozess

Der Prozess, der von der Empfehlungs-Engine verwendet wird, wird im folgenden Flussdiagramm beschrieben.

Ein Flussdiagramm, das die Funktionsweise der Empfehlungs-Engine beschreibt.Jeder Block dieses Ablaufdiagramms wird im Folgenden ausführlich beschrieben.

Datenabruf

Der Datenabrufblock ruft Daten von Totara ab. Die abgerufenen Daten umfassen Nutzer-zu-Inhalt-Interaktionen, Nutzermetadaten und Inhaltsmetadaten jedes Mandanten.

Die Nutzer- und Inhaltsdatendateien beinhalten Metadaten der Nutzer bzw. des Inhalts, während die Interaktionsdaten eine Aufzeichnung darüber sind, ob ein Nutzer positiv mit dem Inhalt oder gemächlich mit dem Inhalt interagiert hat und wann die Interaktion stattgefunden hat.

Die Nutzermetadaten bestehen aus:

  • ID in der Datenbank
  • Sprache
  • Stadt/Ort (beliebiger Text)
  • Land
  • Interessen
  • Angestrebte Position
  • Positionen
  • Organisationen
  • Skala für aktuelle Kompetenzen
  • Badges
  • Profilbeschreibung (beliebiger Text)

Die Inhaltsmetadaten bestehen aus:

  • Inhaltstyp (ein natürlicher Kurs, Arbeitsbereich, Artikel, Microlearning-Artikel und Playlist)
  • Themen
  • Textbeschreibung (beliebiger Text)

Die Interaktionsdaten bestehen aus:

  • Nutzer-ID
  • Inhalts-ID
  • Interaktionswert (0 oder 1)
  • Zeit der Interaktion

Datenleser

Dieser Block liest die von Totara abgerufenen Datendateien jeweils in eine Python-Datenstruktur für jeden Mandanten und leitet sie zur weiteren Verarbeitung an.

Modus

Dies ist ein Entscheidungsblock, der beim ersten Start des Dienstes festgelegt wird. Weitere Informationen dazu finden Sie in der Datei README.md des Machine Learning Service. Der Nutzer kann einen der folgenden Modi auswählen:

  • Matrix-Faktorisierung
  • Partial hybrid
  • Full hybrid

Prozessdaten

Abhängig vom gewählten Empfehlungsmodus wandelt einer der Datenverarbeiter die Daten in die kompatible Form um, die durch den nachfolgenden Prozess verbraucht werden kann. Die Ausgabe jedes der Datenverarbeiter erfolgt in spärlicher Matrizenform, sodass der Speicher effizient genutzt wird.

Kollaborativer Datenverarbeiter

Dieser Block ignoriert die Nutzer- und Inhaltsdaten und wandelt die Interaktionsdaten in ein Format um, das die nachfolgenden Module konsumieren können.

Teildatenbearbeiter

Dieser Block verwendet die Nutzer- und Inhaltsmetadaten sowie die Interaktionsdaten und wandelt sie für den nachfolgenden Prozess um. Dieser Block ignoriert nur die freien Textfelder der Nutzer- (Stadt/Ort und Profilbeschreibung) und Inhaltsdaten (Textbeschreibung).

Vollständiger Datenprozessor

Dies nutzt alle Datenfelder in den Nutzer-, Inhalts- und Interaktionsdaten, einschließlich der Freitextfelder des Nutzers und der Inhaltsdaten. Die Freitextfelder werden durch die Pipeline Natural Language Processing geleitet, wo der Text bereinigt und dann in eine Matrix von TF-IDF-Funktionen konvertiert wird. Die Datensätze werden dann in eine kompatible Form umgewandelt, damit sie für die nachfolgende Verarbeitung genutzt werden können.

Hyperparameter optimieren

Abhängig vom Empfehlungsmodus werden Hyperparameter für die beste Leistung bei einem zufälligen, nicht sichtbaren Datensatz neben der Schulung optimiert. Die Hyperparameter, die eingestellt werden, sind die laterale Dimension und die Anzahl der Epochen.

Optimierer für kollaborative Hyperparameter

Diese werden anhand der vergangenen Interaktionsdaten der Nutzer mit dem Inhalt abgestimmt, wenn der ausgewählte Modus Matrixfaktorisierung ist.

Inhaltsbasierter Hyperparameter-Optimierer

Wenn der Machine Learning Service in Teilhybrid oder Vollhybrid gestartet wird, werden die Hyperparameter anhand der vergangenen Interaktionen der Nutzer mit dem Inhalt und den bereitgestellten Metadaten der Nutzer und des Inhalts abgestimmt.

Abschlussmodell trainieren

Abhängig vom gewählten Empfehlungsmodus wird entweder die Matrix-Faktorisierung (eine Unterklasse des kollaborativen Filteransatzes) oder der inhaltsbasierte Filteransatz für die Erstellung des Modells für maschinelles Lernen für Empfehlungen verwendet. Die Klasse des verwendeten Modellierungsalgorithmus wird über die LightFM-Bibliothek implementiert und in Maciej Kula, 2015 beschrieben.

Kollaboratives Filtermodell

Wenn der Dienst im Matrix-Faktorisierungsmodus ausgeführt wird, ist das endgültige trainierte Modell ein kollaboratives Filtermodell, das die abgestimmten Hyperparameter verwendet und zur nächsten Phase weitergeleitet wird.

Inhaltsbasiertes Filtermodell

Wenn der Dienst im Teil-Hybrid- oder Voll-Hybrid- Modus ausgeführt wird, wird der inhaltsbasierte Filteralgorithmus verwendet, um das Modell zu erstellen. Die Dateneingabe für diesen Algorithmus umfasst die Metadaten der Nutzer und Elemente. Das endgültige Modell wird unter Verwendung des abgestimmten Satzes dieser Hyperparameter aus der vorherigen Phase erstellt. Beachten Sie, dass dieser Algorithmus Daten von einem der Teildatenprozessor- und Volldatenprozessorblöcke akzeptiert, was bedeutet, dass er die verarbeiteten Daten in natürlicher Sprache auch akzeptieren und verwenden kann. 

Cache-Endmodell im Speicher

Das endgültige trainierte Modell wird an diesen Block weitergegeben, um im Speicher zwischengespeichert zu werden, sodass es für Anfragen von Totara leicht verfügbar ist. Abgesehen vom Caching des Modells im Speicher wird es auch im Dateisystem gespeichert, um schnell geladen zu werden, falls der Dienst aus irgendeinem Grund neu gestartet wird.

Totara Kommunikator

Dieser Block leitet die Anfragen von Totara an das Modell weiter, um einem Nutzer Inhalte zu empfehlen oder ähnliche Inhalte zu einem bestimmten Inhaltselement zu finden.

Der zurückgegebene ähnliche Inhalt wird in absteigender Reihenfolge nach der Kosinusähnlichkeitsbewertung jedes Inhaltselements mit dem gegebenen Inhalt sortiert.

Der empfohlene Inhalt für jeden Nutzer wird in absteigender Reihenfolge nach der Vorhersagebewertung sortiert. Die Vorhersagewerte (oder Rankings) selbst sind nicht interpretierbar; sie sind einfach ein Mittel, um die Punkte zu bewerten. Die Reihenfolge der Vorhersagewerte ist jedoch wichtig – Inhalte mit höheren Vorhersagewerten sind mit größerer Wahrscheinlichkeit für den Nutzer von Interesse als Inhalte mit niedrigeren Vorhersagewerten.

© Copyright 2024 Totara Learning Solutions. All rights reserved.


War dieser Artikel hilfreich?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.