הגדרת אמזון אישית עם דבק AWS

צומת המקור: 748151

ניתן להשתמש בנתונים במגוון דרכים כדי לספק את הצרכים של יחידות עסקיות שונות, כגון שיווק, מכירות או מוצר. בפוסט זה, אנו מתמקדים בשימוש בנתונים ליצירת המלצות מותאמות אישית לשיפור מעורבות משתמש הקצה. רוב יישומי המסחר האלקטרוני צורכים כמות עצומה של נתוני לקוחות שניתן להשתמש בהם כדי לספק המלצות מותאמות אישית; עם זאת, ייתכן שהנתונים לא ינוקו או בפורמט הנכון כדי לספק את התובנות החשובות האלה.

המטרה של פוסט זה היא להדגים כיצד להשתמש דבק AWS לחלץ, להפוך ולטעון את נתוני ה-JSON שלך לפורמט CSV נקי. לאחר מכן אנו מראים לך כיצד להפעיל מנוע המלצות המופעל על ידי אמזון להתאים אישית על נתוני האינטראקציה של המשתמש שלך כדי לספק חוויה מותאמת ללקוחות שלך. הפלט המתקבל מ-Amazon Personalize הוא המלצות שאתה יכול להפיק מ-API.

מקרה שימוש נפוץ הוא פלטפורמת מסחר אלקטרוני שאוספת נתוני אינטראקציה עם פריט משתמש ומציעה מוצרים או מוצרים דומים שלקוח עשוי לאהוב. בסוף הפוסט הזה, תוכל לקחת את נתוני ה-JSON הלא נקיים שלך וליצור המלצות מותאמות אישית על סמך מוצרים שכל משתמש קיים איתם אינטראקציה, וליצור חוויה טובה יותר עבור משתמשי הקצה שלך. למטרות הפוסט הזה, עיין בזה מערך נתונים של משתמש-פריט-אינטראקציה לבנות את הפתרון הזה.

המשאבים של פתרון זה עשויים לגרור עלות בחשבון AWS שלך. למידע על תמחור, ראה תמחור דבק AWS ו אמזון התאמה אישית של תמחור.

התרשים הבא ממחיש את ארכיטקטורת הפתרונות שלנו.

תנאים מוקדמים

עבור הפוסט הזה, אתה צריך את הדברים הבאים:

להנחיות ליצירת דלי, ראה שלב 1: צור את דלי ה-S3 הראשון שלך. הקפידו לעשות זאת צרף את מדיניות הגישה של Amazon Personalize.

אלה מדיניות מתירנית מאוד; בפועל עדיף להשתמש במינימום הרשאות ולתת גישה רק איפה שצריך. להנחיות ליצירת תפקיד, ראה שלב 2: צור תפקיד IAM עבור AWS Glue.

סריקת הנתונים שלך עם AWS Glue

אנו משתמשים ב-AWS Glue כדי לסרוק את קובץ ה-JSON כדי לקבוע את הסכימה של הנתונים שלך וליצור טבלת מטא נתונים בקטלוג הנתונים של AWS Glue Data. קטלוג הנתונים מכיל הפניות לנתונים המשמשים כמקורות ומטרות של משרות ה-ETL שלך ב-AWS Glue. AWS Glue הוא שירות הכנת נתונים ללא שרת המאפשר לחלץ, לנקות, להעשיר, לנרמל ולטעון נתונים בקלות. זה עוזר להכין את הנתונים שלך לניתוח או למידת מכונה (ML). בסעיף זה, אנו עוברים על איך להכין את נתוני ה-JSON שלך עבור Amazon Personalize, שדורש קובץ CSV.

הנתונים שלך יכולים לכלול עמודות שונות שאולי לא בהכרח תרצה או תצטרך להפעיל דרך Amazon Personalize. בפוסט זה אנו משתמשים ב- user-item-interaction.json קובץ ונקה את הנתונים באמצעות AWS Glue כדי לכלול רק את העמודות user_id, item_id, ו timestamp, תוך הפיכתו לפורמט CSV. אתה יכול להשתמש בסורק כדי לגשת למאגר הנתונים שלך, לחלץ מטא נתונים וליצור הגדרות טבלה בקטלוג הנתונים. הוא מגלה באופן אוטומטי נתונים חדשים ומחלץ הגדרות סכימה. זה יכול לעזור לך לקבל הבנה טובה יותר של הנתונים שלך ומה אתה רוצה לכלול בזמן אימון המודל שלך.

השמיים user-item-interaction נתוני JSON הם מערך של רשומות. הסורק מתייחס לנתונים כאובייקט אחד: רק מערך. אנו יוצרים א מסווג מותאם אישית כדי ליצור סכימה המבוססת על כל רשומה במערך JSON. אתה יכול לדלג על שלב זה אם הנתונים שלך אינם מערך של רשומות.

  1. על קונסולת הדבק AWS, מתחת סורקים, בחר סיווגים.
  2. בחרו הוסף מסווג.
  3. בעד שם מסווגלהיכנס json_classifier.
  4. בעד סוג מסווג, בחר JSON.
  5. בעד נתיב JSON, להיכנס $[*].
  6. בחרו צור.

בחר צור.

  1. על דף הסורקים, בחר הוסף סורק.
  2. בעד שם הסורק, להיכנס json_crawler.
  3. בעד מסווגים מותאמים אישית, הוסף את המסווג שיצרת.

עבור מסווגים מותאמים אישית, הוסף את המסווג שיצרת.

  1. בחרו הַבָּא.
  2. בעד סוג מקור הסורק, בחר חנויות נתונים.
  3. השאר את כל השאר כברירת מחדל ובחר הַבָּא.
  4. בעד בחר חנות נתונים, הזן את הנתיב של Amazon S3 לקובץ הנתונים שלך ב-JSON.
  5. בחרו הַבָּא.

בחר הבא.

  1. דלג על הקטע הוסף מאגר נתונים נוסף.
  2. ב בחר תפקיד IAM בחר, בחר בחר תפקיד IAM קיים.
  3. בעד תפקיד IAM, בחר את התפקיד שיצרת קודם לכן (AWSGlueServiceRole-xxx).
  4. בחרו הַבָּא.

בחר הבא.

  1. השאר את התדר כ לרוץ לפי דרישה.
  2. על תְפוּקָה עמוד, בחר הוסף מסד נתונים.
  3. בעד שם בסיס הנתונים, להיכנס json_data.
  4. בחרו סיום.
  5. בחרו הפעל את זה עכשיו. 

אתה יכול גם להפעיל את הסורק שלך על ידי מעבר אל סורקים דף, בחירת הסורק שלך ובחירה הפעל סורק.

שימוש ב-AWS Glue כדי להמיר את הקבצים שלך מ-CSV ל-JSON

לאחר שהסורק שלך מסיים לפעול, עבור אל לוחות עמוד בקונסולת הדבק של AWS. נווט לטבלה שהסורק שלך יצר. כאן תוכל לראות את הסכימה של הנתונים שלך. רשום לעצמך את השדות שבהם אתה רוצה להשתמש עם נתוני Amazon Personalize שלך. עבור הפוסט הזה, אנחנו רוצים לשמור על user_id, item_id, ועמודות חותמת זמן עבור Amazon Personalize.

עבור פוסט זה, אנו רוצים לשמור את העמודות user_id, item_id וחותמת הזמן עבור Amazon Personalize.

בשלב זה, הגדרת את מסד הנתונים שלך. Amazon Personalize דורש קבצי CSV, אז אתה צריך להפוך את הנתונים מפורמט JSON לשלושה קבצי CSV מנוקים הכוללים רק את הנתונים שאתה צריך ב- Amazon Personalize. הטבלה הבאה מציגה דוגמאות לשלושת קבצי ה-CSV שאתה יכול לכלול ב-Amazon Personalize. חשוב לציין זאת יחסי גומלין נדרשים נתונים, ואילו המשתמש ו פריט מטא נתונים של נתונים הם אופציונליים.

סוג מערך נתונים שדות חובה מילות מפתח שמורות
משתמש

USER_ID (מחרוזת)

שדה מטא נתונים אחד

פריטים

ITEM_ID (מחרוזת)

שדה מטא נתונים אחד

CREATION_TIMESTAMP(ארוך)
אינטראקציות

USER_ID (מחרוזת)

ITEM_ID (מחרוזת)

TIMESTAMP (ארוך)

EVENT_TYPE (מחרוזת)

IMPRESSION (מחרוזת)

EVENT_VALUE (צף, ריק)

חשוב גם לוודא שיש לך לפחות 1,000 אינטראקציות ייחודיות משולבות היסטוריות ואירועים כדי להכשיר את המודל. למידע נוסף על מכסות, ראה מכסות באמזון התאמה אישית.

כדי לשמור את הנתונים כ-CSV, עליך להפעיל עבודת AWS Glue על הנתונים. עבודה היא ההיגיון העסקי שמבצע את עבודת ה-ETL ב-AWS Glue. העבודה משנה את הפורמט מ-JSON ל-CSV. למידע נוסף על עיצוב נתונים, ראה עיצוב נתוני הקלט שלך.

  1. על לוח מחוונים דבק של AWS, בחר סטודיו דבק AWS.

סטודיו דבק AWS הוא ממשק גרפי קל לשימוש ליצירה, הפעלה וניטור של עבודות AWS Glue ETL.

  1. בחרו צור ונהל משרות.
  2. בחר מקור ויעד נוספו לגרף.
  3. בעד מָקוֹר, בחר S3.
  4. בעד יעד, בחר S3.
  5. בחרו צור.

בחר צור.

  1. בחר את דלי מקור הנתונים S3.
  2. על מאפייני מקור נתונים - S3 tab, הוסף את מסד הנתונים והטבלה שיצרנו קודם לכן.

בלשונית מאפייני מקור נתונים - S3, הוסף את מסד הנתונים והטבלה שיצרנו קודם לכן.

  1. על לשנות לשונית, בחר את התיבות לשחרר user_login ו location.

בפוסט הזה, אנחנו לא משתמשים במטא נתונים נוספים כדי להפעיל את אלגוריתם ההתאמה האישית שלנו.

בפוסט הזה, אנחנו לא משתמשים במטא נתונים נוספים כדי להפעיל את אלגוריתם ההתאמה האישית שלנו.

  1. בחר את דלי יעד הנתונים S3.
  2. על מאפייני יעד נתונים - S3 לשונית, עבור פוּרמָט, בחר CSV.
  3. בעד S3 מיקום יעד, הזן את נתיב S3 עבור היעד שלך. 

עבור פוסט זה, אנו משתמשים באותו דלי בו השתמשנו עבור קובץ JSON.

עבור פוסט זה, אנו משתמשים באותו דלי בו השתמשנו עבור קובץ JSON.

  1. על פרטי עבודה עמוד, עבור שם, הזן שם לעבודה שלך (עבור פוסט זה, json_to_csv).
  2. בעד תפקיד IAM, בחר את התפקיד שיצרת קודם לכן.

היית צריך לכלול גם את AmazonS3FullAccess מדיניות מוקדם יותר.

  1. השאר את שאר השדות בהגדרות ברירת המחדל שלהם.

השאר את שאר השדות בהגדרות ברירת המחדל שלהם.

  1. בחרו שמור.
  2. בחרו הפעלה.

ייתכן שיחלפו מספר דקות עד שהמשימה תפעל.

בדלי של Amazon S3 שלך, כעת אתה אמור לראות את קובץ ה-CSV שבו אתה משתמש בסעיף הבא.

הגדרת Amazon Personalize

בשלב זה, יש לך פורמט של הנתונים שלך בסוג קובץ שבו Amazon Personalize יכולה להשתמש. Amazon Personalize הוא שירות מנוהל במלואו המשתמש ב-ML ובמעל 20 שנות ניסיון בהמלצות ב-Amazon.com כדי לאפשר לך לשפר את מעורבות משתמש הקצה על ידי הפעלת המלצות למוצרים ותוכן מותאמים אישית בזמן אמת, וקידום מכירות ממוקדות. בסעיף זה, אנו עוברים על איך ליצור פתרון של Amazon Personalize כדי להשתמש בנתונים שלך כדי ליצור חוויות מותאמות אישית.

  1. בקונסולת Amazon Personalize, מתחת קבוצות נתונים חדשות, בחר התחל כאן.
  2. הזן את השם של קבוצת הנתונים שלך.

קבוצת מערכי נתונים מכילה את מערכי הנתונים, הפתרונות ו-API להטמעת אירועים.

  1. הזן שם מערך נתונים והזן את פרטי הסכימה על סמך הנתונים שלך.

עבור מערך נתונים זה, אנו משתמשים בסכימה הבאה. אתה יכול לשנות את הסכימה בהתאם לערכים במערך הנתונים שלך.

{ "type": "record", "name": "Interactions", "namespace": "com.amazonaws.personalize.schema", "fields": [ { "name": "USER_ID", "type": "string" }, { "name": "ITEM_ID", "type": "string" }, { "name": "TIMESTAMP", "type": "long" } ], "version": "1.0" } 

  1. בחרו הַבָּא.
  2. הזן את שם עבודת ייבוא ​​הנתונים שלך כדי לייבא נתונים מאמזון S3.

ודא שלתפקיד שירות IAM שלך יש גישה לאמזון S3 ו-Amazon Personalize, ושהדלי שלך מכיל את מדיניות דלי.

  1. הזן את הנתיב לנתונים שלך (הדלי של Amazon S3 מהסעיף הקודם).
  2. על לוח ניהול חשבון דף עבור קבוצות הנתונים שלך, תחת העלה מערכי נתוניםלייבא את user-item-interactions נתונים (נתוני משתמש ונתוני פריט הם אופציונליים אך יכולים לשפר את הפתרון).

בדף לוח המחוונים עבור קבוצות הנתונים שלך, תחת העלאת מערכי נתונים,

אנו כוללים דוגמה item.csv הקובץ GitHub ריפו. צילום המסך הבא מציג דוגמה של נתוני הפריט.

צילום המסך הבא מציג דוגמה של נתוני הפריט.

  1. תַחַת צור פתרונות, עבור אימון פתרונות, בחר הַתחָלָה.

פתרון הוא מודל מאומן של הנתונים שסיפקת עם האלגוריתם, או המתכון, שאתה בוחר.

  1. בעד שם הפיתרון, להיכנס aws-user-personalization.
  2. בחרו הַבָּא.
  3. סקור ובחר סיום.
  4. בלוח המחוונים, מתחת השקת קמפיינים, עבור יצירת קמפיין, בחר הַתחָלָה.

קמפיין מאפשר לאפליקציה שלך לקבל המלצות מגרסת הפתרון שלך.

  1. בעד שם הקמפיין, הכנס שם.
  2. בחר את הפתרון שיצרת.
  3. בחרו צור קמפיין.

כעת השתמשת בהצלחה בנתונים מאגם הנתונים שלך ויצרת מודל המלצות שניתן להשתמש בו כדי לקבל המלצות שונות. עם מערך הנתונים הזה, אתה יכול לקבל המלצות מותאמות אישית למוצרי כלי בית המבוססים על האינטראקציות של המשתמש עם מוצרים אחרים במערך הנתונים.

שימוש ב-Amazon Personalize כדי לקבל את ההמלצות שלך

כדי לבדוק את הפתרון שלך, עבור אל מסע הפרסום שיצרת. בתוך ה בדוק את תוצאות הקמפיין סעיף, תחת שם משתמש, הזן מזהה כדי לקבל המלצות עבורו. מופיעה רשימה של תעודות זהות, יחד עם ציון יחסי. מזהי הפריטים תואמים למוצרים ספציפיים המומלצים.

צילום המסך הבא מציג חיפוש אחר מזהה משתמש 1. הומלץ על מזהה פריט 59, המתאם למסגרת תמונה מעץ. הציון הרשום ליד הפריט נותן לך את הרלוונטיות החזויה של כל פריט למשתמש שלך.

צילום המסך הבא מציג חיפוש אחר מזהה משתמש 1.

למידע נוסף על ציוני אמזון התאמה אישית, ראה הצגת ציוני המלצות ב-Amazon Personalize.

כדי להפיק המלצות, אתה יכול להתקשר ל GetRecommendations or GetPersonalizedRanking API באמצעות ממשק שורת הפקודה של AWS (AWS CLI) או SDK ספציפי לשפה. עם Amazon Personalize, ההמלצות שלך יכולות להשתנות ככל שהמשתמש לוחץ על הפריטים למקרי שימוש נוספים בזמן אמת. למידע נוסף, ראה קבלת המלצות בזמן אמת.

סיכום

AWS מציעה מגוון רחב של AI / ML ו ניתוח שירותים שבהם אתה יכול להשתמש כדי לקבל תובנות ולהנחות החלטות עסקיות טובות יותר. בפוסט הזה, השתמשת במערך נתונים של JSON שכלל עמודות נוספות של נתונים, וניקת ושמרת את הנתונים האלה באמצעות AWS Glue. בנוסף, בנית מודל מותאם אישית באמצעות Amazon Personalize כדי לספק המלצות ללקוחות שלך.

למידע נוסף על Amazon Personalize, עיין ב- מדריך למפתחים. נסה את הפתרון הזה ויידע אותנו אם יש לך שאלות כלשהן בתגובות.


על הכותבים

זויש פיתוואפהזויש פיתהוואלה הוא ארכיטקט פתרונות סטארט-אפ בשירותי האינטרנט של אמזון שבסיסו בסן פרנסיסקו. היא עובדת בעיקר עם לקוחות סטארט-אפ כדי לעזור להם לבנות פתרונות מאובטחים וניתנים להרחבה ב-AWS.

סם טראןסם טראן הוא אדריכל פתרונות סטארט-אפ בשירותי האינטרנט של אמזון שבסיסה מסיאטל. הוא מתמקד בסיוע ללקוחותיו ליצור פתרונות עם ארכיטקטורה היטב ב-AWS.

מקור: https://aws.amazon.com/blogs/machine-learning/setting-up-amazon-personalize-with-aws-glue/

בול זמן:

עוד מ בלוג למידת מכונות AWS