אנחנו נתייחס לכל דירוג חיובי של סרט (דירוג של 4 ומעלה) כאל אירוע של צפייה בדף מוצר. נאמן מודל המלצות מסוג 'סרטים נוספים שאולי ימצאו חן בעיניך' שימליץ על סרטים על סמך משתמש כלשהו או סרט התחלתי במערך הנתונים שלנו.
זמן משוער:
- השלבים הראשוניים להתחלת אימון המודל: כשעה וחצי.
- המתנה לאימון המודל: כיומיים.
- הערכת התחזיות של המודל וניקוי הנתונים: כ-30 דקות.
מטרות
- במאמר הזה מוסבר איך לייבא נתוני מוצרים ואירועי משתמשים מ-BigQuery אל AI Commerce Search.
- אימון והערכה של מודלים להמלצות.
עלויות
במדריך הזה נעשה שימוש ברכיבים של Google Cloudשחלים עליהם חיובים, כולל:- Cloud Storage
- BigQuery
- AI Commerce Search
מידע נוסף על עלויות Cloud Storage מופיע בדף תמחור של Cloud Storage.
מידע נוסף על העלויות ב-BigQuery זמין בדף תמחור ב-BigQuery.
מידע נוסף על העלויות של חיפוש מסחרי מבוסס-AI זמין בדף תמחור של חיפוש מסחרי מבוסס-AI.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
הכנת מערך הנתונים
פותחים את מסוףGoogle Cloud ובוחרים את הפרויקט הרלוונטי Google Cloud . רושמים את מזהה הפרויקט בכרטיס Project info בדף לוח הבקרה. תצטרכו את מזהה הפרויקט בשלבים הבאים. לאחר מכן, לוחצים על הלחצן Activate Cloud Shell (הפעלת Cloud Shell) בחלק העליון של המסוף.
בחלק התחתון של מסוף Google Cloud ייפתח סשן של Cloud Shell בתוך מסגרת חדשה ותופיע הודעה של שורת הפקודה.
ייבוא מערך הנתונים
באמצעות Cloud Shell, מורידים ומחלצים את מערך הנתונים של המקור:
wget https://files.grouplens.org/datasets/movielens/ml-latest.zip unzip ml-latest.zipיוצרים קטגוריה של Cloud Storage ומעלים אליה את הנתונים:
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יוצרים מערך נתונים ב-BigQuery:
bq mk movielensטעינת הנתונים
movies.csvלטבלת סרטים חדשה ב-BigQuery:bq load --skip_leading_rows=1 movielens.movies \ gs://PROJECT_ID-movielens-data/movies.csv \ movieId:integer,title,genresטעינת הנתונים מ-
ratings.csvלטבלת דירוגים חדשה ב-BigQuery:bq load --skip_leading_rows=1 movielens.ratings \ gs://PROJECT_ID-movielens-data/ratings.csv \ userId:integer,movieId:integer,rating:float,time:timestamp
יצירת תצוגות מפורטות ב-BigQuery
יוצרים תצוגה שממירה את טבלת הסרטים לסכימת קטלוג מוצרים קמעונאי:
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עכשיו לתצוגה החדשה יש את הסכימה ש-AI Commerce Search מצפה לה. בסרגל הצד שמימין, לוחצים על
BIG DATA -> BigQuery. לאחר מכן, בסרגל הסייר שמימין, מרחיבים את שם הפרויקט ובוחרים באפשרותmovielens -> productsכדי לפתוח את דף השאילתה של התצוגה הזו.
עכשיו נמיר את דירוגי הסרטים לאירועים ברמת המשתמש. אנחנו:
- התעלמות מסיווגים שליליים של סרטים (<4)
- התייחסות לכל דירוג חיובי כאל אירוע של צפייה בדף מוצר
(
detail-page-view) - משנים את קנה המידה של ציר הזמן של Movielens ל-90 הימים האחרונים. אנחנו עושים את זה משתי סיבות:
- AI Commerce Search דורש שאירועי המשתמשים לא יהיו ישנים יותר משנת 2015. הדירוגים של Movielens מתחילים בשנת 1995.
- AI Commerce Search משתמש בנתוני אירועי משתמשים מ-90 הימים האחרונים כשהוא מציג בקשות לחיזוי עבור משתמש. כשניצור בהמשך חיזויים לגבי משתמשים, ייראה כאילו לכל משתמש היו אירועים מהזמן האחרון.
יוצרים תצוגה ב-BigQuery. הפקודה הבאה משתמשת בשאילתת SQL שעומדת בדרישות ההמרה שצוינו קודם.
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
ייבוא קטלוג מוצרים ואירועים שקשורים למשתמשים
עכשיו אפשר לייבא את קטלוג המוצרים ואת נתוני האירועים של המשתמשים אל AI Commerce Search.
מפעילים את AI Commerce Search API בפרויקט Google Cloud .
לוחצים על שנתחיל?
עוברים לדף Data במסוף AI Commerce Search ב-Gemini Enterprise for Customer Experience.
מעבר לדף Dataלוחצים על Import.
ייבוא קטלוג מוצרים
ממלאים את הטופס כדי לייבא מוצרים מתצוגת BigQuery שיצרתם קודם:
- בוחרים את סוג הייבוא: קטלוג מוצרים.
- בוחרים את שם הענף שמוגדר כברירת מחדל.
- בוחרים את מקור הנתונים: BigQuery.
- בוחרים את סכימת הנתונים: סכימת מוצרים קמעונאיים.
מזינים את השם של תצוגת המוצרים ב-BigQuery שיצרתם קודם (
PROJECT_ID.movielens.products).
לוחצים על Import.
מחכים עד שכל המוצרים יובאו, התהליך אמור להימשך 5-10 דקות.
אפשר לבדוק את פעילות הייבוא כדי לראות את הסטטוס של פעולת הייבוא. כשהייבוא מסתיים, סטטוס פעולת הייבוא משתנה להצלחה.
ייבוא אירועים ברמת המשתמש
מייבאים את התצוגה המפורטת user_events ב-BigQuery:
- בוחרים את סוג הייבוא: אירועים שקשורים למשתמשים.
- בוחרים את מקור הנתונים: BigQuery.
- בוחרים את סכימת הנתונים: Retail User Events Schema (סכימת אירועי משתמשים בקמעונאות).
- מזינים את השם של התצוגה המפורטת ב-BigQuery שיצרתם קודם.
user_events
לוחצים על Import.
כדי לעמוד בדרישות הנתונים לאימון מודל חדש, צריך להמתין עד לייבוא של לפחות מיליון אירועים לפני שממשיכים לשלב הבא.
אפשר לבדוק את פעילות הייבוא כדי לראות את סטטוס הפעולה. התהליך נמשך כשעה.
אימון והערכה של מודלים להמלצות
כאן מוסבר איך לאמן מודלים של המלצות ולהעריך את הביצועים שלהם.
יצירת מודל המלצות
עוברים לדף Models (מודלים) במסוף AI Commerce Search ב-Gemini Enterprise for Customer Experience.
כניסה לדף Modelsלוחצים על יצירת מודל:
- נותנים שם למודל.
- בוחרים באפשרות אחרים שאולי ימצאו חן בעיניך כסוג המודל.
- בוחרים באפשרות שיעור קליקים (CTR) בתור היעד העסקי.
לוחצים על יצירה.
האימון של המודל החדש מתחיל.
יצירת הגדרת הצגה
עוברים לדף Serving Configs במסוף AI Commerce Search ב-Gemini Enterprise for Customer Experience.
מעבר לדף Serving configsלוחצים על Create serving config (יצירת הגדרת הצגה):
- בוחרים באפשרות המלצה.
- נותנים שם להגדרת התצורה להצגת מודעות.
- בוחרים את המודל שיצרתם.
לוחצים על יצירה.
מחכים שהמודל יהיה 'מוכן לשליפת נתונים'.
תהליך האימון של המודל נמשך יומיים בערך, ואז אפשר לשלוח אליו שאילתות.
כדי לראות את הסטטוס, לוחצים על הגדרת התצורה של הצגת המודעות שיצרתם בדף הגדרות התצורה של הצגת המודעות.
בשדה המודל מוכן לשליפת נתונים מופיעה התשובה כן כשהתהליך מסתיים.
תצוגה מקדימה של ההמלצות
אחרי שהמודל מוכן לשליחת שאילתות:
-
עוברים לדף Serving Configs במסוף AI Commerce Search ב-Gemini Enterprise for Customer Experience.
מעבר לדף Serving configs - לוחצים על שם הגדרת ההצגה כדי לעבור לדף הפרטים שלה.
- לוחצים על הכרטיסייה *הערכה.
מזינים מזהה של סרט לדוגמה, כמו
4993עבור הסרט 'שר הטבעות: אחוות הטבעת' (2001).
כדי לראות את רשימת הפריטים המומלצים בצד שמאל של הדף, לוחצים על תצוגה מקדימה של התחזית.
הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, אפשר למחוק את הפרויקט שמכיל את המשאבים, או להשאיר את הפרויקט ולמחוק את המשאבים בנפרד.
מחיקת הפרויקט
- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
מחיקת משאבים בודדים
עוברים לדף Serving configs ומוחקים את הגדרת התצורה של הצגת המודעות שיצרתם.
עוברים לדף מודלים ומוחקים את המודל.
מחיקת מערך הנתונים ב-BigQuery ב-Cloud Shell:
bq rm --recursive --dataset movielensמחיקת הקטגוריה של Cloud Storage והתוכן שלה:
gcloud storage rm gs://PROJECT_ID-movielens-data --recursive