Zum Inhalt springen

Amazon Personalize

Amazon Personalize ist so, als hätten Sie Ihr eigenes Empfehlungssystem für maschinelles Lernen, das den ganzen Tag läuft. Basierend auf mehr als 20 Jahren Erfahrung mit Empfehlungen ermöglicht Ihnen Amazon Personalize, das Customer-Engagement zu verbessern, indem es personalisierte Produkt- und Inhaltsempfehlungen in Echtzeit sowie gezielte Marketing-Aktionen ermöglicht.

Diese Integration wird von Amazon Personalize gepflegt.

Über die Integration

Mit Hilfe von maschinellem Lernen und einem Algorithmus, den Sie mitdefinieren, kann Amazon Personalize Sie dabei unterstützen, ein Modell zu trainieren, das hochwertige Empfehlungen für Ihre Websites und Anwendungen liefert. Diese Modelle ermöglichen es Ihnen, Empfehlungslisten basierend auf dem bisherigen Verhalten der Nutzer:innen zu erstellen, Artikel nach Relevanz zu sortieren und andere Artikel auf Grundlage von Ähnlichkeit zu empfehlen. Die über die Amazon Personalize API abgerufenen Listen können dann in Braze Connected-Content verwendet werden, um personalisierte Braze-Empfehlungskampagnen durchzuführen. Durch die Integration mit Amazon Personalize erhalten Kund:innen die Freiheit, die Parameter für das Training der Modelle zu steuern und optionale Geschäftsziele zu definieren, die die Ausgabe des Algorithmus optimieren.

Dieser Referenzartikel hilft Ihnen, die Anwendungsfälle von Amazon Personalize zu verstehen, die Daten, mit denen der Dienst arbeitet, die Konfiguration des Dienstes sowie die Integration in Braze.

Voraussetzungen

Anforderung Beschreibung
Amazon Web Service-Konto Ein AWS-Konto ist erforderlich, um diese Partnerschaft nutzen zu können. Sobald Sie ein AWS-Konto besitzen, können Sie über die Amazon Personalize-Konsole, die AWS Command Line Interface (AWS CLI) oder die AWS SDKs auf Amazon Personalize zugreifen.
Definierte Anwendungsfälle Bevor Sie ein Modell erstellen, müssen Sie Ihren Anwendungsfall für diese Integration festlegen. In der folgenden Liste finden Sie gängige Anwendungsfälle.
Datensätze Die Empfehlungsmodelle von Amazon Personalize erfordern drei verschiedene Arten von Datensätzen: Interaktionen, Nutzer:innen und Artikel. In den folgenden Details finden Sie die Anforderungen für jeden Datensatz.

Anwendungsfälle

Bevor Sie ein Modell erstellen, müssen Sie Ihren Anwendungsfall für diese Integration festlegen. Einige gängige Anwendungsfälle sind:

  • Empfehlen Sie Nutzer:innen Artikel basierend auf ihren früheren Interaktionen und schaffen Sie so ein wirklich personalisiertes Erlebnis für Ihre Nutzer:innen.
  • Stellen Sie eine Liste von Artikeln oder Suchergebnissen bereit, die auf jede:n Nutzer:in zugeschnitten sind, und steigern Sie das Engagement, indem Sie Artikel nach Relevanz für die Nutzer:innen anzeigen.
  • Finden Sie Empfehlungen für ähnliche Artikel und helfen Sie Nutzer:innen, Neues zu entdecken.

In der folgenden Anleitung konzentrieren wir uns auf das Rezept für personalisierte Nutzerempfehlungen.

Datensätze

Um mit den Empfehlungsmodellen von Amazon Personalize zu beginnen, benötigen Sie drei Arten von Datensätzen:

  • Interaktionen
    • Speichert historische Interaktionen zwischen Nutzer:innen und Artikeln
    • Erfordert die Werte USER_ID, ITEM_ID, EVENT_TYPE und TIMESTAMP und akzeptiert optional Metadaten über das Ereignis
  • Nutzer:innen
    • Speichert Metadaten über die Nutzer:innen
    • Erfordert einen USER_ID-Wert und mindestens ein Metadatenfeld (String oder numerisch) wie Geschlecht, Alter, Kundenbindungsmitgliedschaft
  • Artikel
    • Speichert Metadaten über Artikel
    • Erfordert eine ITEM_ID und mindestens ein Metadatenfeld (textuell, kategorisch oder numerisch), das den Artikel beschreibt

Für ein Nutzerempfehlungsrezept müssen Sie einen Interaktionsdatensatz bereitstellen, der mindestens 1000 Interaktionsdatenpunkte von mindestens 25 eindeutigen Nutzer:innen mit jeweils mindestens zwei Interaktionen enthält. Diese Datensätze können in großen Mengen über CSV-Dateien, die in S3 gespeichert sind, oder inkrementell über die API hochgeladen werden.

Modelle erstellen

Schritt 1: Training

Sobald die Datensätze importiert sind, können Sie eine Lösung erstellen. Eine Lösung verwendet eines der Amazon Personalize Rezepte (Algorithmen), um ein Modell zu trainieren. In unserem Fall verwenden wir das Rezept USER_PERSONALIZATION. Beim Training der Lösung wird eine Lösungsversion (trainiertes Modell) erstellt, die Sie anhand der Performance-Metriken des Modells bewerten können.

Amazon Personalize ermöglicht es Ihnen, Hyperparameter anzupassen, die das Modell für das Training verwendet. Zum Beispiel:

  • Der Parameter „User history length percentile“ in der Amazon Personalize Konsole ermöglicht es Ihnen, das Perzentil des Nutzerverlaufs anzupassen, das in das Training einbezogen wird:

    Einstellung für minimales und maximales Nutzerprofil-Perzentil
    • min_user_history_length_percentile: Schließt einen Prozentsatz von Nutzer:innen mit sehr kurzen Verlaufslängen aus, was hilfreich sein kann, um beliebte Artikel zu eliminieren und Empfehlungen auf tieferliegenden Mustern aufzubauen.
    • max_user_history_length_percentile: Passt den Prozentsatz der Nutzer:innen an, die beim Training mit sehr langen Verlaufslängen berücksichtigt werden sollen.

Die Anzahl der verborgenen Dimensionen hilft dabei, kompliziertere Muster für komplexe Datensätze zu erkennen, während die BPTT-Technik (Back-Propagation Through Time) Belohnungen für ein frühes Ereignis anpasst, nachdem eine Kette von Ereignissen stattgefunden hat, die zu einer hochwertigen Aktion geführt hat.

Darüber hinaus bietet Amazon Personalize eine automatische Hyperparameter-Optimierung, indem mehrere Versionen der Lösung mit unterschiedlichen Werten gleichzeitig ausgeführt werden. Um die Optimierung zu nutzen, aktivieren Sie Perform HPO beim Erstellen einer Lösung.

Schritt 2: Auswerten und Vergleichen

Sobald das Training einer Lösung abgeschlossen ist, können Sie sie auswerten und verschiedene Versionen vergleichen. Jede Lösungsversion zeigt berechnete Metriken an. Einige der verfügbaren Metriken umfassen:

  • Normalize discounted cumulative gain: Vergleicht die empfohlene Reihenfolge der Artikel mit der tatsächlichen Liste der Artikel und gibt jedem Artikel eine Gewichtung entsprechend seiner Position in der Liste.
  • Precision @k: Die Anzahl der korrekt empfohlenen Artikel geteilt durch die Gesamtanzahl aller empfohlenen Artikel, wobei k die Anzahl der Artikel ist.
  • Mean reciprocal rank: Konzentriert sich auf die erste, am höchsten eingestufte Empfehlung und berechnet, wie viele empfohlene Artikel angezeigt werden, bevor die erste übereinstimmende Empfehlung erscheint.
  • Coverage: Der Anteil der eindeutigen empfohlenen Artikel an der Gesamtzahl der eindeutigen Artikel im Datensatz.

Empfehlungen abrufen

Sobald Sie eine Lösungsversion erstellt haben, mit der Sie zufrieden sind, ist es an der Zeit, die Empfehlungen zu nutzen. Es gibt zwei Möglichkeiten, auf die Empfehlungen zuzugreifen:

  1. Realtime-Campaign
    Eine Campaign ist eine bereitgestellte Lösungsversion mit einem definierten minimalen Transaktionsdurchsatz. Eine Transaktion ist ein einzelner API-Aufruf, um eine Empfehlungsausgabe zu erhalten, und wird als TPS (Transaktionen pro Sekunde) definiert, mit einem Minimalwert von eins. Die Campaign skaliert die Ressourcen bei erhöhter Last, fällt aber nicht unter Ihren Minimalwert. Sie können die Empfehlungen in der Konsole, der AWS CLI oder über AWS SDKs in Ihrem Code abfragen.

  2. Batch-Job
    Ein Batch-Job exportiert die Empfehlungen in einen S3-Bucket. Der Job nimmt als Eingabe eine JSON-Datei mit einer Liste von Nutzer:innen-IDs entgegen, für die Sie die Empfehlungen exportieren möchten. Nachdem Sie die korrekten Berechtigungen und das Ausgabeziel festgelegt haben, können Sie den Job starten. Die Laufzeit hängt von der Größe Ihrer Datensätze und der Länge der Empfehlungsliste ab.

Filter

Filter ermöglichen es Ihnen, die Empfehlungsausgabe anzupassen, indem Sie Artikel anhand der Artikel-ID, des Ereignistyps oder der Metadaten ausschließen. Sie können auch Nutzer:innen auf Basis ihrer Metadaten filtern, wie z. B. Alter oder Status der Kundenbindungsmitgliedschaft, und verhindern, dass Artikel empfohlen werden, mit denen die Nutzer:innen bereits interagiert haben.

Integration der Ergebnisse mit Braze

Mit dem erstellten Modell und der Empfehlungskampagne sind Sie bereit, eine Braze-Campaign für Ihre Nutzer:innen mit Content Cards und Connected-Content durchzuführen. Bevor Sie eine Braze-Campaign starten, müssen Sie einen Dienst erstellen, der diese Empfehlungen über eine API bereitstellen kann. Sie können Schritt 3 im Workshop-Artikel befolgen, um den Dienst mit AWS-Diensten bereitzustellen. Sie können auch Ihr eigenes unabhängiges Backend bereitstellen, das die Empfehlungen liefert.

Anwendungsfall einer Content-Card-Kampagne

Lassen Sie uns eine Content-Card-Kampagne mit dem ersten empfohlenen Artikel aus der Liste durchführen.

In den folgenden Beispielen werden wir den Endpunkt GET http://<service-endpoint.com>/recommendations?user_id=user123 mit einem user_id-Parameter abfragen, der eine Liste empfohlener Artikel zurückgibt:

[
  {
    "id": "abc123",
    "url": "http://productpage.com/product/abc123",
    "name": "First Item",
    "price": 39.99,
    "image": "http://pp.cdn.com/abvh3321pjb1j"
  },
  {
    "id": "xyz987",
    "url": "http://productpage.com/product/xyz987",
    "name": "Great Item",
    "price": 19.99,
    "image": "http://pp.cdn.com/234bjl1gioj1b2b"
  },
  ...
]

Erstellen Sie im Braze-Dashboard eine neue Content-Card-Kampagne. Erstellen Sie im Nachrichtentextfeld einen Connected-Content-Liquid-Block, um die API abzufragen und die Antwort in der Variable recommendations zu speichern:

{% connected_content https:/<service-endpoint.com>/recommendations?user_id={{${user_id}}} :save recommendations %}

Anschließend können Sie auf den ersten Artikel im resultierenden Array verweisen und den Inhalt für die Nutzer:innen anzeigen:

This seems like a great fit for you:
{% recommendations[0].name %}
{% recommendations[0].price %}

Einschließlich des Titels, des Bildes und der Verlinkung der URL würde die vollständige Content Card wie folgt aussehen:

Ein Bild einer Campaign mit Connected-Content im Nachrichtentext und im Feld „Bild hinzufügen“. Dieses Bild zeigt auch die Connected-Content-Logik im Feld „Weiterleitung zu Web-URL“, die Nutzer:innen zu einer Empfehlungs-URL verlinkt.

New Stuff!