אינטליגנציה של נתונים גנרטיביים

בנו אפליקציית ממליצים על חדשות עם Amazon Personalize | שירותי האינטרנט של אמזון

תאריך:

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

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

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

סקירת פתרונות

Amazon Personalize מתאימה מאוד להפעלת מנוע המלצות חדשות בגלל היכולת שלה לספק בזמן אמת המלצות מותאמות אישית בקנה מידה. Amazon Personalize מציעה מגוון מתכוני המלצות (אלגוריתמים), כמו מתכוני User Personalization ו-Trend Now, המתאימים במיוחד להכשרת דגמי ממליצים חדשותיים. המתכון להתאמה אישית של משתמש מנתח את העדפותיו של כל משתמש על סמך המעורבות שלו בתוכן לאורך זמן. זה מביא לעדכוני חדשות מותאמים אישית שמציגים את הנושאים והמקורות הרלוונטיים ביותר למשתמש בודד. המתכון של Trending Now משלים זאת על ידי זיהוי מגמות עולות וכתבות חדשות פופולריות בזמן אמת בקרב כל המשתמשים. שילוב המלצות משני המתכונים מאפשר למנוע ההמלצות לאזן בין התאמה אישית לבין גילוי של סיפורים עתירי עניין.

התרשים הבא ממחיש את הארכיטקטורה של יישום ממליצים על חדשות המופעל על ידי Amazon Personalize ותומכים בשירותי AWS.

לפתרון זה יש את המגבלות הבאות:

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

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

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

כדי ליישם פתרון זה, אתה צריך את הדברים הבאים:

  • נתוני קליקים היסטוריים ובזמן אמת של משתמשים עבור interactions מערך נתונים
  • מטא נתונים היסטוריים ובזמן אמת של כתבות חדשות עבור items מערך נתונים

להטמיע ולהכין את הנתונים

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

אתה יכול לנקוט בשתי גישות שונות להטמעת נתוני אימון:

  • בליעת אצווה - אתה יכול להשתמש דבק AWS כדי להפוך ולהטמיע אינטראקציות ונתוני פריטים השוכנים ב-an שירות אחסון פשוט של אמזון (Amazon S3) נכנס לתוך מערכי הנתונים של Amazon Personalize. AWS Glue מבצעת פעולות חילוץ, טרנספורמציה וטעינה (ETL) כדי ליישר את הנתונים עם סכימת מערכי הנתונים של Amazon Personalize. כאשר תהליך ה-ETL הושלם, קובץ הפלט מוכנס בחזרה לאמזון S3, מוכן להטמעה ב-Amazon Personalize באמצעות עבודת ייבוא ​​מערך נתונים.
  • בליעה בזמן אמת - אתה יכול להשתמש זרמי נתונים של אמזון קינסי ו AWS למבדה להטמיע נתונים בזמן אמת בהדרגה. פונקציית Lambda מבצעת את אותן פעולות טרנספורמציה של נתונים כמו עבודת הטמעת אצווה ברמת הרשומה הפרטנית, ומכניסה את הנתונים לתוך Amazon Personalize באמצעות PutEvents ו PutItems ממשקי API.

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

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

הרכבת הדגם

עיקר מאמצי ההכשרה של המודל צריך להתמקד במודל ההתאמה האישית של המשתמש, מכיוון שהוא יכול להשתמש בכל שלושת מערכי הנתונים של Amazon Personalize (בעוד שהמודל של Trending Now משתמש רק ב- interactions מערך הנתונים). אנו ממליצים להפעיל ניסויים המשתנים באופן שיטתי היבטים שונים של תהליך האימון. עבור הלקוח שהטמיע פתרון זה, הצוות ערך למעלה מ-30 ניסויים. זה כלל שינוי של interactions ו items תכונות מערך הנתונים, התאמת אורך היסטוריית האינטראקציות שסופקה למודל, כוונון ההיפרפרמטרים של Amazon Personalize והערכת האם מערך הנתונים של משתמש מפורש שיפר את הביצועים הלא מקוונים (ביחס לגידול בזמן האימון).

כל וריאציה של מודל הוערכה בהתבסס על מדדים שדווחו על ידי Amazon Personalize על נתוני ההדרכה, כמו גם מדדים לא מקוונים מותאמים אישית על מערך בדיקות מחזיק מעמד. מדדים סטנדרטיים שיש לקחת בחשבון כוללים דיוק ממוצע (MAP) @ K (כאשר K הוא מספר ההמלצות המוצגות לקורא), רווח מצטבר מוזל מנורמל, דירוג הדדי ממוצע וכיסוי. למידע נוסף על מדדים אלה, ראה הערכת גרסת פתרון עם מדדים. אנו ממליצים לתעדף את MAP @ K מתוך המדדים הללו, אשר לוכד את המספר הממוצע של מאמרים שקורא לחץ עליהם מתוך K המאמרים המובילים שהומלצו להם, מכיוון שמדד MAP הוא פרוקסי טוב לשיעורי הקלקה (אמיתיים) של מאמרים. יש לבחור את K על סמך מספר המאמרים שקורא יכול לצפות בשולחן העבודה או בדף אינטרנט לנייד מבלי לגלול, מה שמאפשר לך להעריך את יעילות ההמלצה במאמץ מינימלי של הקורא. יישום מדדים מותאמים אישית, כגון ייחודיות ההמלצה (המתארת ​​עד כמה פלט ההמלצה היה ייחודי במאגר המשתמשים המועמדים), יכול גם לספק תובנות לגבי יעילות ההמלצה.

עם Amazon Personalize, התהליך הניסיוני מאפשר לך לקבוע את הסט האופטימלי של תכונות מערך הנתונים הן עבור המודלים של התאמה אישית של המשתמש והן במודל Trending Now. מודל Trending Now קיים בתוך אותה Amazon Personalize קבוצת נתונים כמודל התאמה אישית של משתמש, כך שהוא משתמש באותה קבוצה של interactions תכונות של מערך נתונים.

הפק המלצות בזמן אמת

כאשר קורא מבקר בדף אינטרנט של חברת חדשות, תתבצע שיחת API לממליץ החדשות באמצעות שער API של אמזון. זה מפעיל פונקציית Lambda שקוראת לנקודות הקצה של דגמי Amazon Personalize כדי לקבל המלצות בזמן אמת. במהלך מסקנות, אתה יכול להשתמש מסננים כדי לסנן את פלט ההמלצה הראשוני על סמך תכונות אינטראקציה של מאמר או קורא. לדוגמה, אם "נושא חדשותי" (כגון ספורט, אורח חיים או פוליטיקה) הוא מאפיין מאמר, תוכל להגביל המלצות לנושאים חדשותיים ספציפיים אם זו דרישה למוצר. באופן דומה, אתה יכול להשתמש במסננים באירועי אינטראקציה עם הקוראים, כגון אי הכללה של מאמרים שקורא כבר קרא.

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

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

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

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

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

צור המלצות אצווה

לוחות מחוונים מותאמים אישית של חדשות (באמצעות המלצות בזמן אמת) דורשים מהקורא לחפש חדשות באופן פעיל, אבל בחיים העמוסים שלנו היום, לפעמים פשוט יותר קל לשלוח אליך את החדשות המובילות שלך. כדי להעביר מאמרי חדשות מותאמים אישית כתקציר בדוא"ל, אתה יכול להשתמש ב- פונקציות שלב AWS זרימת עבודה ליצירת המלצות אצווה. זרימת העבודה של המלצות אצווה אוספת ולאחר עיבוד המלצות ממודל התאמה אישית של משתמש או מנקודות הקצה של מודל Trending Now, ומעניקה גמישות לבחור איזה שילוב של מאמרים מותאמים אישית ומגמתיים צוותים רוצים לדחוף לקוראים שלהם. למפתחים יש גם אפשרות להשתמש ב-Amazon Personalize מסקנות אצווה תכונה; עם זאת, בזמן כתיבת שורות אלה, יצירת מסקנות אצווה של Amazon Personalize אינה תומכת בהכללה של פריטים שנבלעו לאחר הכשרה של מודל מותאם אישית של Amazon Personalize, והיא אינה תומכת במתכון Trending Now.

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

קנה קנה מידה של מערכת הממליצים

כדי להרחיב ביעילות, אתה גם צריך שהממליץ החדשותי יתאים למספר הולך וגדל של משתמשים ותעבורה מוגברת מבלי ליצור כל השפלה בחוויית הקורא. נקודות הקצה של המודל של Amazon Personalize באופן מקורי קנה מידה אוטומטי כדי לעמוד בתנועה המוגברת. המהנדסים צריכים רק להגדיר ולפקח על משתנה מינימלי של טרנזקציות לשנייה (TPS) עבור כל נקודת קצה של Amazon Personalize.

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

סיכום

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

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

בניין שמח!


על הכותבים

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

רישי ג'אלה הוא אדריכל נתונים NoSQL עם שירותים מקצועיים של AWS. הוא מתמקד בארכיטקטורה ובניית יישומים ניתנים להרחבה באמצעות מסדי נתונים NoSQL כגון Amazon DynamoDB. נלהב בפתרון בעיות של לקוחות, הוא מספק פתרונות מותאמים להנעת הצלחה בנוף הדיגיטלי.

ספוט_ימג

המודיעין האחרון

ספוט_ימג