Dies ist die Dokumentation nur für Recommendations AI. Wenn Sie Retail Search und die einheitliche Retail-Konsole in der eingeschränkten GA-Phase ausprobieren möchten, wenden Sie sich an den Cloud-Vertrieb. Wenn Sie Retail Search nicht verwenden möchten, können Sie das bis auf Weiteres in der Empfehlungskonsole bleiben.

Wenn Sie die v1beta-Version von Recommendations AI verwenden, migrieren Sie zur Retail API-Version.

Personalisierte Filmempfehlungen erstellen

In dieser Anleitung verwenden wir das MovieLens-Dataset, um zu zeigen, wie Sie Ihren Produktkatalog und Nutzerereignisse in die Retail API hochladen und ein personalisiertes Produktempfehlungsmodell trainieren. Das MovieLens-Dataset enthält einen Katalog an Filmen (Produkten) und Nutzer-Filmbewertungen (Nutzerereignisse).

Wir behandeln jede positive Filmbewertung (Bewertung >= 4) als Ereignis für die Anzeige einer Produktseite. Wir trainieren ein Empfehlungsmodell vom Typ „Was Ihnen sonst noch gefallen könnte“, das Filmempfehlungen auf der Grundlage eines Nutzers oder eines Seed-Films in unserem Dataset ausspricht.

Geschätzte Dauer:

  • Erste Schritte für das Training des Modells: ca.1,5 Stunden.
  • Warten auf das Modelltraining: ca. 2 Tage.
  • Bewerten der Modellvorhersagen und Bereinigen: ca. 30 Minuten.

Ziele

  • Produkte und Nutzerereignisdaten aus BigQuery in die Retail API importieren
  • Empfehlungsmodelle trainieren und bewerten

Kosten

In dieser Anleitung werden kostenpflichtige Komponenten von Google Cloud verwendet, darunter:

  • Cloud Storage
  • BigQuery
  • Recommendations AI

Weitere Informationen zu Cloud Storage-Kosten erhalten Sie auf der Seite Cloud Storage – Preise.

Weitere Informationen zu den Kosten von BigQuery finden Sie auf der Seite BigQuery-Preise.

Weitere Informationen zu den Kosten für Recommendations AI finden Sie auf der Seite Recommendations AI-Preise.

Hinweis

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  4. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  5. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

Dataset vorbereiten

Öffnen Sie Cloud Console, wählen Sie Ihr Google Cloud-Projekt aus und klicken Sie oben in der Console auf die Schaltfläche Cloud Shell aktivieren.

Cloud Shell

In einem neuen Frame im unteren Teil der Console wird eine Cloud Shell-Sitzung geöffnet und darin eine Eingabeaufforderung angezeigt.

Dataset importieren

  1. Laden Sie in Cloud Shell das Quell-Dataset herunter und entpacken Sie es:

    wget http://files.grouplens.org/datasets/movielens/ml-latest.zip
    unzip ml-latest.zip
    
  2. Erstellen Sie einen Cloud Storage-Bucket und laden Sie die Daten in diesen hoch:

    gsutil mb gs://PROJECT_ID-movielens-data
    gsutil cp ml-latest/movies.csv ml-latest/ratings.csv \
      gs://PROJECT_ID-movielens-data
    
  3. Erstellen Sie ein BigQuery-Dataset:

    bq mk movielens
    
  4. Laden Sie movies.csv in eine neue BigQuery-Tabelle für Filme:

    bq load --skip_leading_rows=1 movielens.movies \
      gs://PROJECT_ID-movielens-data/movies.csv \
      movieId:integer,title,genres
    
  5. Laden Sie ratings.csv in eine neue BigQuery-Tabelle für Bewertungen:

    bq load --skip_leading_rows=1 movielens.ratings \
      gs://PROJECT_ID-movielens-data/ratings.csv \
      userId:integer,movieId:integer,rating:float,time:timestamp
    

BigQuery-Ansichten erstellen

  1. Erstellen Sie eine Ansicht, die die Filme-Tabelle in das Retail-Produktkatalogschema konvertiert:

    bq mk --project_id=PROJECT_ID \
     --use_legacy_sql=false \
     --view '
     SELECT
       CAST(movieId AS string) AS id,
       SUBSTR(title, 0, 128) AS title,
       SPLIT(genres, "|") AS categories
     FROM PROJECT_ID.movielens.movies' \
    movielens.products
    

    Die neue Ansicht enthält jetzt das Schema, das von der Retail API erwartet wird.

    Produktansicht

  2. Jetzt wandeln Sie Filmbewertungen in Nutzerereignisse um. Konkret werden wir Folgendes tun:

    • Negative Filmbewertungen ignorieren (<4)
    • Jede positive Bewertung als Aufruf einer Produktseite behandeln (detail-page-view)
    • Die MovieLens-Zeitachse auf die letzten 90 Tage skalieren. Hierfür gibt es zwei Gründe:
      • Retail API setzt voraus, dass die Nutzerereignisse nicht älter als von 2015 sind. MovieLens-Bewertungen reichen bis 1995 zurück.
      • Die Retail API verwendet die letzten 90 Tage von Nutzerereignissen, wenn Vorhersageanfragen für einen Nutzer verarbeitet werden. Jeder Nutzer hat scheinbar aktuelle Ereignisse, wenn wir später Vorhersagen für einen Nutzer treffen.

    Eine BigQuery-Ansicht erstellen. Der folgende Befehl verwendet eine SQL-Abfrage, die die oben aufgeführten Konvertierungsanforderungen für die Retail API erfüllt.

    bq mk --project_id=PROJECT_ID \
     --use_legacy_sql=false \
     --view '
     WITH t AS (
       SELECT
         MIN(UNIX_SECONDS(time)) AS old_start,
         MAX(UNIX_SECONDS(time)) AS old_end,
         UNIX_SECONDS(TIMESTAMP_SUB(
           CURRENT_TIMESTAMP(), INTERVAL 90 DAY)) AS new_start,
         UNIX_SECONDS(CURRENT_TIMESTAMP()) AS new_end
       FROM `PROJECT_ID.movielens.ratings`)
     SELECT
       CAST(userId AS STRING) AS visitorId,
       "detail-page-view" AS eventType,
       FORMAT_TIMESTAMP(
         "%Y-%m-%dT%X%Ez",
         TIMESTAMP_SECONDS(CAST(
           (t.new_start + (UNIX_SECONDS(time) - t.old_start) *
             (t.new_end - t.new_start) / (t.old_end - t.old_start))
         AS int64))) AS eventTime,
       [STRUCT(STRUCT(movieId AS id) AS product)] AS productDetails,
     FROM `PROJECT_ID.movielens.ratings`, t
     WHERE rating >= 4' \
    movielens.user_events
    

Produktkatalog und Nutzerereignisse in die Retail API importieren

Wir können jetzt den Produktkatalog und die Nutzerereignisdaten in die Retail API importieren.

  1. Aktivieren Sie die Retail API für Ihr Google Cloud-Projekt.

    RETAIL API AKTIVIEREN

    API aktivieren

  2. Klicken Sie auf Jetzt starten.

    Erste Schritte

  3. Rufen Sie in der Google Cloud Console die Seite „Recommendations AI-Daten“ auf.
    Zur Seite „Recommendations AI-Daten“

    Daten

  4. Klicken Sie auf Importieren.

    Datenimport

Produktkatalog importieren

  1. Füllen Sie das Formular aus, um Produkte aus der oben erstellten BigQuery-Ansicht zu importieren:

    • Wählen Sie den Importtyp aus: Produktkatalog.
    • Wählen Sie die Datenquelle aus: BigQuery.
    • Wählen Sie das Datenschema aus: Retail-Produktschema.
    • Geben Sie den Namen der Produkte ein, die Sie in der BigQuery-Ansicht erstellt haben.
  2. Klicken Sie auf Importieren.

    Produkte importieren

  3. Warten Sie fünf bis zehn Minuten, bis alle Produkte importiert sind.

    Sie können die Importaktivität auf den Status des Importvorgangs prüfen. Wenn der Import abgeschlossen ist, ändert sich der Status des Importvorgangs in Erfolgreich.

    Importaktivitäten für Produkte

Nutzerereignisse importieren

  1. Importieren Sie die BigQuery-Ansicht „user_events“:

    • Wählen Sie den Importtyp aus: Nutzerereignisse.
    • Wählen Sie die Datenquelle aus: BigQuery.
    • Wählen Sie das Datenschema aus: Schema für Nutzerereignisse in Retail.
    • Geben Sie den Namen der BigQuery-Ansicht user_events ein, die Sie oben erstellt haben.
  2. Klicken Sie auf Importieren.

    Ereignisse importieren

  3. Warten Sie, bis mindestens eine Million Ereignisse importiert wurden, bevor Sie mit dem nächsten Schritt fortfahren, um die Datenanforderungen für das Training eines neuen Modells zu erfüllen.

    Sie können die Importaktivität auf den Vorgangsstatus prüfen. Der Vorgang dauert etwa eine Stunde.

    Ereignisimportaktivität

Empfehlungsmodelle trainieren und bewerten

Empfehlungsmodell erstellen

  1. Rufen Sie in der Google Cloud Console die Seite „Recommendations AI-Modelle“ auf.
    Zur Seite „Recommendations AI-Modelle“

    Modelle

  2. Klicken Sie auf Modell erstellen:

  3. Geben Sie einen Namen für das Modell ein.

  4. Wählen Sie Was Ihnen sonst noch gefallen könnte als Modelltyp aus.

  5. Wählen Sie Klickrate (Click-through-Rate, CTR) als Geschäftsziel aus.

  6. Klicken Sie auf Erstellen.

    Modell erstellen

    Ihr neues Modell beginnt mit dem Training.

    Modell erstellt

Placement erstellen

  1. Rufen Sie in der Google Cloud Console die Seite „Recommendations AI Placements“ auf.
    Zur Seite „Recommendations AI Placements“

  2. Klicken Sie auf Placement erstellen.

    Placements

  3. Wählen Sie das erstellte Modell aus, benennen Sie das Placement und klicken Sie auf Erstellen:

    Placement erstellen

Warten Sie, bis das Modell bereit für die Abfrage ist.

Es dauert ungefähr zwei Tage, bis das Modell trainiert und bereit für die Abfrage ist.

Um den Status zu sehen, öffnen Sie das erstellte Placement:

Placement wurde erstellt.

Das Feld Bereit zur Abfrage gibt an, wann der Vorgang abgeschlossen ist.

Abfragebereit

Vorschau von Empfehlungen

Sobald das Modell zum Abfragen bereit ist:

  1. Öffnen Sie die Seite mit den Placement-Details.
  2. Klicken Sie auf Zeile hinzufügen.
  3. Geben Sie eine Seed-Film-ID ein, z. B. 4993 für „The Lord of the Rings: The Fellowship of the Ring (2001)“.

    ID eingeben

  4. Klicken Sie auf Vorhersagevorschau, um die Liste der empfohlenen Elemente rechts auf der Seite zu sehen.

    Vorhersagevorschau

Bereinigen

Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.

Projekt löschen

  1. Wechseln Sie in der Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Shut down (Beenden), um das Projekt zu löschen.

Einzelne Ressourcen löschen

  1. Öffnen Sie die Seite Placement und löschen Sie das von Ihnen erstellte Placement.

  2. Öffnen Sie die Seite Modelle und löschen Sie das Modell.

  3. Löschen Sie das BigQuery-Dataset in Cloud Shell:

    bq rm --recursive --dataset movielens
    
  4. Löschen Sie den Cloud Storage-Bucket:

    gsutil rm gs://PROJECT_ID-movielens-data/movies.csv
    gsutil rm gs://PROJECT_ID-movielens-data/ratings.csv
    gsutil rb gs://PROJECT_ID-movielens-data/
    

Nächste Schritte