Wir behandeln jede positive Filmbewertung (Bewertung >= 4) als Ereignis für die Anzeige einer Produktseite. Wir trainieren ein Empfehlungsmodell des Typs „Andere, das Ihnen gefallen könnte“, das basierend auf jedem Nutzer oder Seed-Film in unserem Dataset Filmempfehlungen macht.
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.
Lernziele
- 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
- Einzelhandel
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 Retail-Kosten finden Sie auf der Seite Retail – Preise.
Hinweise
- 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.
-
Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
-
Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
-
Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.
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 Dashboard-Seite auf der Karte Projektinformationen. Diese Projekt-ID benötigen Sie für die folgenden Schritte. Klicken Sie als Nächstes oben in der Console auf die Schaltfläche Cloud Shell aktivieren.
In einem neuen Frame unten in der Google Cloud Console wird eine Cloud Shell-Sitzung geöffnet, in der eine Befehlszeile angezeigt wird.
Dataset importieren
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
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
Erstellen Sie ein BigQuery-Dataset:
bq mk movielens
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
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
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. Wählen Sie dann in der linken Seitenleiste
BIG DATA -> BigQuery
aus. Maximieren Sie dann in der Explorerleiste links Ihren Projektnamen und wählen Siemovielens -> products
aus, um die Abfrageseite für diese Ansicht zu öffnen.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 Zeitachse von Movielens in die letzten 90 Tage neu 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.
Aktivieren Sie die Retail API für Ihr Google Cloud-Projekt.
Klicken Sie auf Jetzt starten.
Rufen Sie in der Google Cloud Console die Seite Daten für den Einzelhandel auf.
Zur Seite „Daten“Klicken Sie auf Importieren.
Produktkatalog importieren
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 den Standardzweignamen aus.
- Wählen Sie die Datenquelle aus: BigQuery.
- Wählen Sie das Datenschema aus: Retail-Produktschema.
Geben Sie den Namen der BigQuery-Ansicht der Produkte ein, die Sie oben erstellt haben (
PROJECT_ID.movielens.products
).
Klicken Sie auf Import (Importieren).
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.
Nutzerereignisse importieren
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.
Klicken Sie auf Import (Importieren).
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.
Empfehlungsmodelle trainieren und bewerten
Empfehlungsmodell erstellen
Rufen Sie in der Google Cloud Console die Seite Modelle auf.
Zur Seite „Modelle“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.
Klicken Sie auf Erstellen.
Ihr neues Modell beginnt mit dem Training.
Bereitstellungskonfiguration erstellen
Rufen Sie in der Google Cloud Console die Seite Bereitstellungskonfigurationen für den Einzelhandel auf.
Zur Seite „Bereitstellungskonfigurationen“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.
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 Konfigurationsbereitstellungen auf die erstellte Bereitstellungskonfiguration, 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:
-
Rufen Sie in der Google Cloud Console die Seite Bereitstellungskonfigurationen für den Einzelhandel auf.
Zur Seite „Bereitstellungskonfigurationen“ - Klicken Sie auf den Namen der Bereitstellungskonfiguration, um die zugehörige Detailseite aufzurufen.
- Klicken Sie auf den Tab Bewerten.
Geben Sie eine Seed-Film-ID ein, z. B.
4993
für „The Lord of the Rings: The Fellowship of the Ring (2001)“.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
- Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf Löschen.
- 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
Rufen Sie die Seite Bereitstellungskonfigurationen auf und löschen Sie die von Ihnen erstellte Bereitstellungskonfiguration.
Rufen Sie die Seite Modelle auf und löschen Sie das Modell.
Löschen Sie das BigQuery-Dataset in Cloud Shell:
bq rm --recursive --dataset movielens
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/