בדף הזה מוסבר על תכונת ההשלמה האוטומטית ואיך משתמשים בה. החיפוש מספק השלמה אוטומטית להצעות לחיפוש בזמן ההקלדה בתיבת החיפוש.
השלמה אוטומטית היא תכונה שמנחשת את המשך השאילתה שהמשתמש מזין. היא יכולה לשפר את חוויית החיפוש של המשתמש ולזרז את תהליך הקנייה לפני שלב התשלום. הוא גם יכול לשפר את איכות התגובה לחיפוש וכך להגדיל את ההכנסות באמצעות שאילתות מעוצבות היטב.
סקירה כללית
כשמשתמש קצה מתחיל להקליד מונח חיפוש באתר שלכם, מערכת החיפוש יכולה לספק רשימה של הצעות שהמשתמש עשוי לרצות. לדוגמה, יכול להיות שההצעות נעליים וחולצות יוצגו כשהמשתמש יזין נ.
מקור הנתונים
אתם יכולים לבחור אחד ממקורות הנתונים הבאים לחיזוי ההצעות:
- מערך נתונים ב-BigQuery שמעלים.
- מערך נתונים שנוצר מאירועי משתמשים וממטא-נתונים אחרים באמצעות למידת מכונה.
מערך נתונים שהועלה
טבלת הצעות של BigQuery שמעלים כמערך נתונים, ומשמשת להצעת שאילתות. הוראות להעלאת מערך נתונים מופיעות במאמר ייבוא נתונים של השלמה אוטומטית.
קבוצת נתונים ללמידה אוטומטית
מערך נתונים של הצעות מבוססות-למידת מכונה שנוצר על ידי חיפוש על סמך אירועי חיפוש של משתמשים.
כדי להפעיל את הלמידה האוטומטית:
מסוף Cloud
עוברים לכרטיסייה אמצעי בקרה להשלמה אוטומטית.
לוחצים על עריכת ההגדרות.
מפעילים את האפשרות למידה אוטומטית.
לוחצים על שמירת ההגדרות.
יכולים לחלוף יום או יומיים עד שהעדכון של הלמידה האוטומטית יתבצע.
cURL
curl -X PATCH -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ "https://retail.googleapis.com/v2beta/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/completionConfig?update_mask.paths=auto_learning" --data "{auto_learning: true}"
דרישות מוקדמות לשימוש בקבוצת נתונים ללמידה אוטומטית
הלמידה האוטומטית יוצרת הצעות מאירועי משתמשים מסוג חיפוש (eventType = "search"). התהליך מתבסס על אירועי משתמשים מ-180 הימים האחרונים.
כדי להשתמש בתכונה הזו, צריך לייבא כמות גדולה של אירועים ברמת המשתמש באיכות טובה.
הלמידה האוטומטית מסננת הצעות נדירות, ולכן אם כמות אירועי המשתמשים מסוג החיפוש קטנה מדי (פחות מ-20,000), יכול להיות שהמערכת תסנן הרבה הצעות. במקרה כזה, כדאי קודם לבדוק את פונקציית ההשלמה האוטומטית באמצעות שאילתת חיפוש בתדירות גבוהה יותר.
לוח זמנים לפרסום מערך הנתונים של הלמידה האוטומטית
מערך הנתונים של הלמידה האוטומטית נוצר מדי יום, ואז מועבר לאינדוקס ולפרסום. המחזור המלא נמשך בערך יומיים.
תכונות של למידה אוטומטית
מערכת החיפוש משתמשת בטכניקות של למידת מכונה כדי לנקות ולעצב את השאילתות ואת נתוני ההצעות רק בשביל מערך נתונים ללמידה אוטומטית.
| תכונה | תיאור | דוגמה |
|---|---|---|
| הסרה של חיפושים שלא הניבו תוצאות |
|
לדוגמה, אם חנות קמעונאית למוצרי מכולת מחפשת תיקי יד של Gucci ואין תוצאות חיפוש, הביטוי הזה יוסר. |
| תיקון שגיאות הקלדה |
|
Milc ← Milk |
| הוספת שאילתות לרשימת ההיתרים |
|
עיון בקטע מידע נוסף |
| הסרת שאילתות מרשימת החסימה |
|
עיון בקטע מידע נוסף |
| הסרת מונחים לא בטוחים |
|
תוכן פורנוגרפי, פרובוקטיבי, גס או אלים |
| הסרה של מונחים נדירים מאוד |
|
מזרן אוויר תאום דו-שכבתי בגודל 74x39x9 אינץ' עם משאבת יד 120V. |
| ביטול כפילויות במונחים |
|
המערכת מבצעת דה-דופליקציה של מילות המפתח נעלי נשים, נעליים לנשים ו-womans shoes, ולכן תוצע רק אחת מהן. |
קבלת הצעות להשלמה
משתמשים ב-API completeQuery כדי לאחזר את ההצעות.
דוגמה:
cURL
curl -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ "https://retail.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog:completeQuery?query=sho&dataset=user-data&deviceType=DESKTOP&maxSuggestions=5"
הטמעה של סינון בתוצאות ההצעות
כשמשתמשים במערך הנתונים cloud-retail, חיפוש AI מסחרי יכול להציג מאפיינים תואמים – כמו מותגים וקטגוריות פופולריים – לצד הצעות הטקסט הרגילות. אתם יכולים להשתמש בattributeResults כדי להוסיף אפשרויות לממשק המשתמש של ההשלמה האוטומטית ולאפשר למשתמשים לבחור נתיב חיפוש שסונן מראש.
לדוגמה, אם משתמש מקליד sho, אפשר להציג את הצעת השאילתה shoe לצד הצעה לסינון לפי קטגוריה כמו in Nike או in Women's Shoes.
דוגמה לתשובה של השלמה אוטומטית עם מאפיינים שניתנים לסינון
{
"completionResults": [
{
"suggestion": "shoe",
"attributes": {}
}
],
"attributeResults": {
"brands": {
"suggestions": ["Nike", "Adidas"]
},
"categories": {
"suggestions": ["Shoes", "Women's Shoes"]
}
}
}
כשמשתמש בוחר אחת מההצעות האלה שכוללות מאפיינים (למשל shoe in Nike), האפליקציה שלכם צריכה לתעד גם את השאילתה (shoe) וגם את המאפיין (Nike) כדי להחיל אותם כמסנן בקריאה הבאה ל-Core Search API.
- (אופציונלי) סינון ההצעות עצמן: אם אתם רוצים לסנן או לחסום ביטויים ספציפיים כך שלא יופיעו בכלל בתוצאות ההצעה של ההשלמה האוטומטית, אתם יכולים לייבא
denylistמערך נתונים. כך אפשר להשתמש באופרטורEXACT_MATCHאוCONTAINSכדי לחסום הצעות של ביטויים לא רצויים למשתמש.
אפשרויות וכלים להשלמה אוטומטית
בקטע הזה מוסבר אילו אפשרויות ואמצעי בקרה זמינים להשלמה אוטומטית. בטבלה הבאה מופיע סיכום ופרטים נוספים.
| שליטה | פרטים | מיקום |
|---|---|---|
| רשימת ישויות שנחסמו |
|
API Request: CompletionData:import. מידע נוסף מופיע במאמר בנושא ייבוא נתונים של השלמה אוטומטית. |
| רשימת היתרים |
|
בקשת API: CompletionData:import (אפשר גם לעיין במאמר בנושא ייבוא נתוני השלמה אוטומטית ) |
| אורך מינימלי להפעלת ההשלמה האוטומטית |
|
Google Cloud console > Controls |
| סדר ההתאמה |
|
Google Cloud console > Controls |
| מספר ההצעות |
|
Google Cloud console > Controls או API Request: completeQuery.maxSuggestions |
| סוג המכשיר |
|
בקשת API: completeQuery.deviceType |
| מקור נתונים להצעות |
|
בקשת API: completeQuery.dataset |
| שפה |
|
בקשת API: completeQuery.languageCodes[] |
רשימת היתרים (רשימה שאסור להסיר ממנה)
חיפוש מבצע עיבוד לאחר החיפוש, כמו תיקון איות, על נתונים של הצעות של ההשלמה האוטומטית. אפשר ליצור רשימת מונחים שחיפוש ידלג עליהם במהלך העיבוד שאחרי.
המונחים המותרים אף פעם לא מסוננים מההצעות. רשימת ההיתרים פועלת גם עבור מערכי נתונים שהועלו וגם עבור מערכי נתונים של למידה אוטומטית.
דוגמאות: יש שמות מותגים עם שגיאות איות מכוונות, כמו "froot loops" במקום "fruit" או "foot". הוראות מפורטות להעלאה מופיעות במאמר בנושא נתונים של השלמת ייבוא.
כדי לייבא נתונים, אפשר להשתמש בGoogle Cloud console > Controls > Autocomplete Controls > Do Not Remove list או ב-CompletionData:import ב-API.
השינויים ייכנסו לתוקף תוך יומיים בערך.
רשימת ישויות שנחסמו
רשימת ההחרגות פועלת רק במערכי נתונים של למידה אוטומטית. רשימת ההחרגה לא פועלת עבור קבוצות נתונים שהועלו.
המונחים ברשימת ההחרגה אף פעם לא מופיעים בהצעות.
כדי לייבא רשימת מילים אסורות, אפשר להשתמש בGoogle Cloud console > Controls > Autocomplete Controls >
Deny list או ב-API CompletionData:import. הוראות מפורטות לייבוא רשימת חסימה מופיעות במאמר בנושא ייבוא נתונים של השלמת ההמרה.
השינויים ייכנסו לתוקף תוך יומיים בערך.
אורך מינימלי להפעלה
אתם יכולים להגדיר את מספר התווים שצריך להקליד לפני שההשלמה האוטומטית של השאילתות תחזיר תוצאות. ההגדרה נמצאת במסוףGoogle Cloud > אמצעי בקרה > אמצעי בקרה להשלמה אוטומטית > אורך מינימלי להפעלה.
השינויים ייכנסו לתוקף באופן מיידי.
סדר ההתאמה
ההגדרה הזו קובעת איך המערכת תתאים בין ההצעות לבין מונחי הקלט של המשתמש.
אם בוחרים באפשרות ההצעה מתחילה במונח, ההשלמה האוטומטית מתאימה את מונח הקלט של המשתמש כקידומת מדויקת להצעות. לדוגמה, הקלט של המשתמש "sh" תואם להצעות "נעליים" ו "חולצות", אבל לא להצעה "נעליים אדומות".
אם מגדירים את האפשרות ההצעה יכולה להתחיל מכל מקום במונח, ההשלמה האוטומטית מחלקת את המונח שהמשתמש הזין למילים ומתאימה אותו למילים בהצעות, ללא קשר לסדר המילים. לדוגמה, קלט של משתמשים "red sh" תואם להצעות "shirts red", "red shoes" ו-"kid red shoes". עם זאת, מילת הקלט 'hoes' לא תואמת להצעות האלה, כי אף אחת מהמילים בהצעות לא מתחילה ב-'hoes'.
ההגדרה נמצאת בGoogle Cloud מסוף > אמצעי בקרה > אמצעי בקרה להשלמה אוטומטית > סדר ההתאמה.
השינויים ייכנסו לתוקף באופן מיידי.
מספר ההצעות
זהו מספר ההצעות שיוחזרו משאילתות של השלמה אוטומטית, והוא לא יכול להיות גדול מ-20. אפשר למצוא את ההגדרה בGoogle Cloud console > Controls > Autocomplete Controls > Suggestion Count או להגדיר אותה ב-completeQuery.
השינויים ייכנסו לתוקף באופן מיידי.
סוג המכשיר
ההשלמה האוטומטית בחיפוש תומכת בסוגים שונים של מכשירים, כמו mobile ו-desktop. אתם יכולים להעלות או לקבל הצעות שונות על סמך סוגי המכשירים. אם לא מציינים את deviceType ב-completeQuery, ההצעה תהיה בכל סוגי המכשירים.
כדי להגדיר מערך נתונים ללמידה אוטומטית שמבוסס על אירועים של משתמשים בחיפוש, צריך להגדיר את user_agent
ב-UserEvent.user_info כדי לתמוך בסוגים שונים של מכשירים.
מידע נוסף על סוכן משתמש
תכונות מתקדמות
בקטע הזה מוסבר על תכונות מתקדמות של השלמה אוטומטית שזמינות בחיפוש. לדוגמה, אפשר להוסיף להצעות של ההשלמה האוטומטית של שאילתות הצעות אחרות, כמו מותגים וקטגוריות.
התכונות המתקדמות האלה זמינות רק למערכי נתונים של למידה אוטומטית.
הצעה ל-FeatureSet
אנחנו מספקים FeatureSet נוסף לכל מונח של הצעה לשאילתה, כדי לאפשר ללקוחות להציג פונקציות מתקדמות באתרים שלהם.
התכונה FeatureSet מופיעה בתגובה כמיפוי של מפתח וערך.
התשובה של AI Commerce Search כוללת עד חמש הצעות לשאילתות, שכל אחת מהן קשורה לקטגוריות ולמותגים פופולריים. התשובה מופיעה ב-API של completeQuery.completionResults.attributes. ההצעות ל-FeatureSet לא חייבות להתאים למחרוזות השאילתה שהוזנו על ידי משתמש הקצה.
אפשר להשתמש ב-FeatureSet בתגובה כדי לשפר את ההצעות לחיפוש. לדוגמה:
- מצטברות ויוצרות קטעים של מותגים פופולריים וקטגוריות פופולריות שמופיעים מתחת לרשימת הצעות החיפוש.
- הצגת המותג או הקטגוריה הפופולריים ביותר לצד מונחי הצעות החיפוש.
אחרי שמבצעים שינויים בקטלוג, כמו שינוי קטגוריות של מוצרים, צריך להמתין שבועיים עד 30 ימים עד שההצעות של FeatureSet ישקפו את השינויים בקטלוג המוצרים. זמן ההמתנה הזה נובע מכך שהלמידה האוטומטית מתבססת על נתוני אירועים מחיפושים מ-30 הימים האחרונים.
הצעות למאפיינים
החיפוש מספק הצעות למאפיינים שתואמות למחרוזות הקלט של המשתמש. סוגי ההצעות הנתמכים למאפיינים הם מותגים וקטגוריות.
ההצעות למאפיינים שונות מההצעות ל-FeatureSet. הצעות למאפיינים הן רשימות של מאפייני מוצרים מוצעים (כמו מותגים וקטגוריות), בדומה להצעות לשאילתות שהן רשימות של שאילתות מוצעות. אפשר להשתמש בהצעות למאפיינים בנפרד מהצעות לשאילתות. התכונה FeatureSet של הצעה היא מטא-נתונים של הצעה לשאילתה, ולכן היא תלויה בהצעות לשאילתות.
כדי להפעיל הצעות למאפיינים, משנים את הערך של completionConfig ל-true באמצעות פעולת תיקון (patch) של enableAttributeSuggestions.
cURL
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ "https://retail.googleapis.com/v2/projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/completionConfig?updateMask=enable_attribute_suggestions" \ -d '{ "name": "projects/PROJECT_NUMBER/locations/global/catalogs/default_catalog/completionConfig", "enableAttributeSuggestions": "true" }'
אפשר להשתמש בהצעות למאפיינים כדי להשלים אוטומטית מותגים או קטגוריות שמשתמש קצה מקליד, בחלקים נפרדים מתחת לרשימת הצעות החיפוש. התוצאות מוחזרות בשדה attributeResults של התגובה completeQuery, כפי שמוצג בדוגמה הזו באמצעות המפתחות brands ו-categories:
cURL
{ "completionResults": [ { "suggestion": "shoe", "attributes": {} } ], "attributionToken": "example_attribution_token", "attributeResults": { "brands": { "suggestions": [ "Nike", "Adidas" ] }, "categories": { "suggestions": [ "Shoes", "Men's Shoes" ] } } }
היבט ההצעה עם מספר המוצרים
כשהתכונה 'הצעות עם מספר מוצרים' מופעלת, התוצאה שמוחזרת [completeQuery.completionResults] כוללת כרגיל רשימה של הצעות להשלמה אוטומטית, אבל גם את מספר המוצרים לכל הצעה, את המספר הכולל של המוצרים ואת מספר המוצרים לפי היבט (למשל [color] או [category]).
לדוגמה, אם שאילתת החיפוש היא 'נעל', ההצעות להשלמה אוטומטית שיוחזרו יכולות להיות:
- נעלי נשים
- נעלי גברים
בנוסף, אם מפתח המאפיין שמעניין אתכם הוא color, מוצג גם מספר המוצרים ומספר המוצרים לפי צבע בכל הצעה של ההשלמה האוטומטית:
- נעלי נשים (32)
- שחור (10)
- חום-אפור (16)
- לבן (10)
- mens shoes (43)
- שחור (10)
- חום (5)
- ירוק (17)
כקמעונאים, אתם לא צריכים להציג את מספר המוצרים לקונים, אבל אתם יכולים להחליט לסדר את רשימת ההצעות לפי מספר המוצרים במקום לפי הסדר שמוחזר ב-completeQuery.completionResults.
לדוגמה, יכול להיות שתרצו לעודד קונים להסתכל על נעליים ירוקות לגברים, ולכן תרצו שהן יופיעו בראש תיבת ההצעות, גם אם הן לא הפריט הכי פופולרי.
לדוגמה:
{
"completion_results": [{
"suggestion": "womens shoes"
"facets": [
{
"key": "color"
"values": [
{
"value": "black"
"count": 10
}
{
"value": "taupe"
"count": 16
}
{
"value": "white"
"count": 10
}
]
}
]
"total_product_count": 32
},
(...)
],
}
פרטי מספר ההיטים של הפנים מופיעים כרשימה של Facets ב-completeQuery.completionResults.facets לכל שאילתת חיפוש מוצעת. לכל היבט יש רשימה FacetValues שמכילה את מספר המוצרים לכל ערך של היבט. המספר הכולל של המוצרים לכל שאילתת חיפוש מוצעת מוחזר ב-completeQuery.completionResults.totalProductCount.
כדי להפעיל ולהשתמש בהיבטים של הצעות עם ספירת מוצרים, חשוב לוודא שלפחות במשך שבעה ימים, כשמשתמשים ב-API search, כוללים את מפתח ההיבט ב-FacetSpecs וב-search.searchRequest.facetSpecs. מציינים את FacetKeys שרוצים לקבל לגביהם נתוני ספירת מוצרים. מותר להשתמש רק בtextual_fields היבטים.
זמן ההמתנה הזה נובע מכך שפרטי ההיבטים מחושבים על סמך נתונים מהשבוע האחרון של היסטוריות החיפוש.
ההצעות שמוחזרות מ-API completeQuery כוללות את מספר המוצרים לפי היבט ולפי הצעה.
ההצעה מסוננת לפי ישות
ישויות מאפשרות לכם לסנן הצעות לחיפוש מההשלמה האוטומטית. ישות יכולה להיות אתר של מותג או אזור אחר. אתם רוצים שההשלמה האוטומטית תשקף בצורה הטובה ביותר את ההתנהגות של המשתמשים שקונים מותג מסוים או באתר אזורי מסוים. מידע נוסף על ישויות זמין במאמר ישויות.
שימו לב שסינון הישויות יחול רק על completion_results (רלוונטי ל-UserEvent). המסנן הזה לא יחול על attribute_results (רלוונטי ל-Product). לכן, לא משנה מה הערך של entity, הערך של attribute_results זהה.
כדי לכלול ישויות בהצעות להשלמה אוטומטית:
כוללים את השדה
entityבאירועים של משתמשים שחיפשו (eventType = "search"). מידע נוסף זמין בדוגמה המלאה של אובייקט לאירוע של משתמש שחיפש .כדי לקבל הצעות רק לגבי הישות הזו, צריך להגדיר את השדה
entityבבקשתCompleteQueryAPI.מחרוזת הישות באירועי המשתמש ובבקשות ה-API חייבת להיות זהה. אחרת, ההשלמה האוטומטית מחזירה הצעות ריקות.
מוודאים שהישות (בין אם מדובר באירועים של משתמשים בחיפוש או בבקשות להשלמה אוטומטית) מכילה עד 256 תווים. אם הוא ארוך יותר, הוא יקוצר ל-256 תווים כשמעבדים את האירועים או את הבקשות, ויש סיכון לחוסר התאמה.
בדרך כלל, נדרשים 30-90 ימים של נתוני אירועי משתמשים כדי שהתכונה של הישות תוכל להציג הצעות אופטימליות להשלמה אוטומטית.