Personalisierte Filmempfehlungen erstellen

In dieser Anleitung verwenden wir das Dataset Movielens, um zu zeigen, wie Sie Ihren Produktkatalog und Ihre Nutzerereignisse in AI Commerce Search 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 „Others You May Like“ (Andere Nutzer mögen auch), das Filmempfehlungen basierend auf einem beliebigen Nutzer oder einem Seed-Film in unserem Datensatz gibt.

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

  • Hier erfahren Sie, wie Sie Produkt- und Nutzerereignisdaten aus BigQuery in AI Commerce Search importieren.
  • Empfehlungsmodelle trainieren und bewerten

Kosten

In dieser Anleitung werden kostenpflichtige Komponenten von Google Cloudverwendet, darunter:

  • Cloud Storage
  • BigQuery
  • AI Commerce Search

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 AI Commerce Search finden Sie auf der Seite AI Commerce Search – Preise.

Hinweis

  1. Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie einfach 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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

Dataset vorbereiten

Öffnen Sie die Google Cloud -Console und wählen Sie Ihr Google Cloud -Projekt aus. Notieren Sie sich die Projekt-ID auf der Karte Projektinformationen auf der Dashboard-Seite. Diese Projekt-ID benötigen Sie für die folgenden Schritte. Klicken Sie als Nächstes oben in der Console auf den Button Cloud Shell aktivieren.

Cloud Shell

Im unteren Bereich der Google Cloud -Konsole wird ein neuer Frame mit einer Cloud Shell-Sitzung und einer Befehlszeilen-Eingabeaufforderung geöffnet.

Dataset importieren

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

    wget https://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:

    gcloud storage buckets create gs://PROJECT_ID-movielens-data
    gcloud storage 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 Tabelle „Movies“ in das Schema für Einzelhandelsproduktkataloge 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 AI Commerce Search erwartet wird. Wählen Sie dann in der linken Seitenleiste BIG DATA -> BigQuery aus. Maximieren Sie dann in der Explorer-Leiste auf der linken Seite den Projektnamen und wählen Sie movielens -> products aus, um die Abfrageseite für diese Ansicht zu öffnen.

    Produktansicht

  2. Wandeln Sie nun Filmbewertungen in Nutzerereignisse um. Das steht auf der Agenda:

    • Negative Filmbewertungen ignorieren (<4)
    • Jede positive Bewertung als Aufruf einer Produktseite behandeln (detail-page-view)
    • Skaliere die Movielens-Zeitachse auf die letzten 90 Tage um. Hierfür gibt es zwei Gründe:
      • Für AI Commerce Search müssen Nutzerereignisse aus dem Jahr 2015 oder später stammen. MovieLens-Bewertungen reichen bis 1995 zurück.
      • Bei der Verarbeitung von Prognoseanfragen für einen Nutzer werden in AI Commerce Search die Nutzerereignisse der letzten 90 Tage berücksichtigt. Jeder Nutzer hat scheinbar aktuelle Ereignisse, wenn wir später Vorhersagen für einen Nutzer treffen.

    Eine BigQuery-Ansicht erstellen. Im folgenden Befehl wird eine SQL-Abfrage verwendet, die die oben aufgeführten Konvertierungsanforderungen 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 importieren

Jetzt können wir den Produktkatalog und die Nutzerereignisdaten in AI Commerce Search importieren.

  1. Aktivieren Sie die AI Commerce Search API für Ihr Google Cloud -Projekt.

    API AKTIVIEREN

  2. Klicken Sie auf Jetzt starten.

  3. Rufen Sie in der Konsole für AI Commerce Search in Gemini Enterprise for Customer Experience die Seite Daten auf.

    Zur Seite „Daten“

  4. Klicken Sie auf Importieren.

Produktkatalog importieren

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

    • Wählen Sie den Importtyp aus: Produktkatalog.
    • Wählen Sie den Standardzweignamen aus.
    • Wählen Sie die Datenquelle aus: BigQuery.
    • Wählen Sie das Schema für die Daten aus: Schema für Produkte im Einzelhandel.
    • Geben Sie den Namen der BigQuery-Ansicht für Produkte ein, die Sie zuvor erstellt haben (PROJECT_ID.movielens.products).

  2. Klicken Sie auf 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 von Ihnen erstellten BigQuery-Ansicht user_events ein.
  2. Klicken Sie auf 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

Folgen Sie dieser Anleitung zum Trainieren und Bewerten von Empfehlungsmodellen.

Empfehlungsmodell erstellen

  1. Rufen Sie in der Console für AI Commerce Search in Gemini Enterprise for Customer Experience die Seite Modelle auf.

    Zur Seite „Modelle“

  2. Klicken Sie auf Modell erstellen:

    • Geben Sie einen Namen für das Modell ein.
    • Wählen Sie Was Ihnen sonst noch gefallen könnte als Modelltyp aus.
    • Wählen Sie Klickrate (Click-through-Rate, CTR) als Geschäftsziel aus.
  3. Klicken Sie auf Erstellen.

    Modell erstellen

    Ihr neues Modell beginnt mit dem Training.

    Modell erstellt

Bereitstellungskonfiguration erstellen

  1. Rufen Sie in der Console für AI Commerce Search in Gemini Enterprise for Customer Experience die Seite Serving Configs (Bereitstellungskonfigurationen) auf.

    Zur Seite „Serving-Konfigurationen“

  2. Klicken Sie auf Bereitstellungskonfiguration erstellen.

    • Wählen Sie Empfehlung aus.
    • Geben Sie der Bereitstellungskonfiguration einen Namen.
    • Wählen Sie das von Ihnen erstellte Modell aus.
  3. Klicken Sie auf 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.

Klicken Sie auf der Seite „Serving-Konfigurationen“ auf die erstellte Serving-Konfiguration, um den Status aufzurufen.

Im Feld Bereit zum Abfragen des Modells wird Ja angezeigt, wenn der Vorgang abgeschlossen ist.

Vorschau von Empfehlungen

Sobald das Modell zum Abfragen bereit ist:

  1. Rufen Sie in der Console für AI Commerce Search in Gemini Enterprise for Customer Experience die Seite Serving Configs (Bereitstellungskonfigurationen) auf.

    Zur Seite „Serving-Konfigurationen“
  2. Klicken Sie auf den Namen der Bereitstellungskonfiguration, um die zugehörige Detailseite aufzurufen.
  3. Klicken Sie auf den Tab Bewerten.
  4. 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

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

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 Google 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. Rufen Sie die Seite Bereitstellungskonfigurationen auf und löschen Sie die von Ihnen erstellte Bereitstellungskonfiguration.

  2. Rufen Sie die Seite Modelle auf 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 und seinen Inhalt:

    gcloud storage rm gs://PROJECT_ID-movielens-data --recursive
    

Nächste Schritte