כשמחפשים באפליקציית חיפוש מבוסס סוכנים, אפשר לציין מסנני רלוונטיות ברמת המסמך, כך שיוחזרו כתוצאות רק המסמכים שעומדים בסף המסנן. בדף הזה מוסבר על סוגי הסף, על החשיבות של אופטימיזציה של הסף ועל אופן ההגדרה של מסנני רלוונטיות והסף שלהם.
מידע על סינון לפי רלוונטיות ברמת המסמך
כששאילתת חיפוש מחזירה תוצאה, היא מקצה רמת רלוונטיות לכל מסמך שאוחזר. בבקשת החיפוש, אפשר להגדיר סף כדי לקבל רק את המסמכים שעומדים בסף הסינון. הגדרת סף גבוה יכולה לצמצם את מספר המסמכים שהשאילתה מחזירה. לעומת זאת, הגדרת סף נמוך עלולה להוביל לתוצאות לא מדויקות, כי יופיעו מסמכים שלא רלוונטיים לשאילתת המשתמש.
לכן, אם אתם מגלים שהתוצאה מכילה יותר מדי מסמכים שלא רלוונטיים מספיק למשתמשים שלכם, כדאי להגדיר סף רלוונטיות גבוה כדי לצמצם את התוצאות רק למסמכים הרלוונטיים ביותר. אם סף גבוה מדי מגביל אתכם, אפשר להוריד אותו לערך אופטימלי יותר.
סוגי חיפושים
אפשר להחיל מסנני רלוונטיות על סוגי החיפושים הבאים:
- חיפוש באמצעות מילת מפתח: מאחזר מסמכים על סמך חיפוש מילות מפתח.
- חיפוש לפי דמיון סמנטי: אחזור מסמכים על סמך הטמעות.
בהגדרת מסנן הרלוונטיות, אפשר לציין את סוג ערך הסף לכל אחד מהחיפושים האלה. החיפוש מאחזר את המסמכים עבור החיפוש הנתון ואז מחיל את ערך הסף שצוין.
סוגי סף
כששולחים את בקשת החיפוש, אפשר לציין אחד מסוגי הסף הבאים לחיפוש מילות מפתח ולחיפוש דמיון סמנטי.
סף הרלוונטיות: כשמגדירים את הסף הזה, החיפוש משתמש במודל קנייני כדי לקבוע את הרלוונטיות של מסמך. במקרה כזה, יכול להיות שהחיפוש יתבסס על כל אות רלוונטי, כמו ציון הדמיון למילת המפתח, ציון הרלוונטיות לנושא וציון הדמיון הסמנטי.
סף הרלוונטיות הוא הגדרה גסה שמאפשרת את הערכים הבאים:
HIGH,MEDIUM,LOWו-LOWEST. סף שלHIGHעשוי להחזיר פחות מסמכים עם ציון רלוונטיות גבוה, בעוד שסף שלLOWESTעשוי להחזיר יותר מסמכים שאולי לא רלוונטיים לשאילתת החיפוש.ערך סף של רלוונטיות סמנטית: כשמגדירים את ערך הסף הזה, המסנן מסתמך רק על ציון הדמיון הסמנטי כדי לקבוע את הרלוונטיות של המסמך.
סף הרלוונטיות הסמנטית הוא הגדרה מדויקת, והוא ערך נקודה צפה בטווח [0,1]. הגדרת סף של אפס מחזירה את כל המסמכים, והגדרת סף של אחד מחזירה את המסמכים שהכי רלוונטיים.
הגדרה של מסנן רלוונטיות ודוגמה
כדי להגדיר מסנני רלוונטיות בבקשת החיפוש, צריך לציין רק סוג אחד של ערך סף (סף רלוונטיות וסף רלוונטיות סמנטית) לכל סוג של חיפוש (חיפוש מילות מפתח וחיפוש סמנטי). אפשר לציין אחד משני סוגי החיפוש או את שניהם במפרט של מסנן הרלוונטיות. עם זאת, צריך להגדיר רק סוג אחד של סף בכל סוג של חיפוש. לדוגמה:
{
"relevanceFilterSpec": {
"keywordSearchThreshold": {
"relevanceThreshold": "LOW"
},
"semanticSearchThreshold": {
"semanticRelevanceThreshold": 0.871
}
}
}
בבקשת החיפוש הזו, התוצאות מוחזרות בשני שלבים: אחזור וסינון.
- החיפוש מאחזר את המסמכים בהתאם להתאמה למילות מפתח, ואז מסנן את המסמכים עם סף רלוונטיות נמוך. הפונקציה מחזירה מספר גדול של מסמכים שאוחזרו.
- במקביל, החיפוש מאחזר את המסמכים לפי דמיון סמנטי, ואז מסנן את המסמכים עם סף גבוה של רלוונטיות סמנטית של
0.871. כך יוחזרו פחות מסמכים שאוחזרו.
הדגש בחיפוש הוא יותר על התאמה למילות מפתח מאשר על דמיון סמנטי. המסננים מאפשרים לאחזר יותר מסמכים בגלל התאמה למילות מפתח.
באופן דומה, אפשר להגדיר את מסנן הרלוונטיות באופן הבא כדי לקבל פחות מסמכים עם מילות מפתח תואמות ויותר מסמכים עם דמיון סמנטי.
"relevanceFilterSpec": {
"keywordSearchThreshold": {
"semanticRelevanceThreshold": 0.871
},
"semanticSearchThreshold": {
"relevanceThreshold": "LOW"
}
}
סוגי נתונים ואפליקציות שנתמכים במסנן הרלוונטיות ברמת המסמך
אפשר להחיל את מסנן הרלוונטיות ברמת המסמך על מאגרי נתונים עם סוגי הנתונים הבאים:
- נתוני אתרים עם תהליך מתקדם להוספת אתרים לאינדקס
- נתונים לא מובנים בהתאמה אישית
- נתונים מובְנים בהתאמה אישית
מסנן הרלוונטיות ברמת המסמך לא פועל במאגרי נתונים עם אינדוקס בסיסי של אתרים, נתוני מדיה או נתונים של שירותי בריאות.
בנוסף, אי אפשר להשתמש במסנן הרלוונטיות ברמת המסמך באפליקציות חיפוש משולבות. אפליקציות לחיפוש משולב הן אפליקציות שמקושרות לכמה מאגרי נתונים.
סוגים אחרים של מסננים
המסנן הרלוונטי ברמת המסמך הוא לא הדרך היחידה שבה אפשר לסנן נתונים שמוחזרים על ידי שאילתות. אפשר גם להשתמש בביטויי סינון כדי לסנן תוצאות על סמך מטא-נתונים (באינדוקס מתקדם של אתרים ובמאגרי נתונים לא מובְנים עם מטא-נתונים) וערכי שדות (במאגרי נתונים מובְנים).
מידע נוסף:
אם משתמשים גם בביטוי מסנן וגם במסנן הרלוונטיות ברמת המסמך, קודם מוחל ביטוי המסנן על התוצאות ואז מוחל מסנן הרלוונטיות ברמת המסמך.
לפני שמתחילים
ודאו שיצרתם אפליקציה ומאגר נתונים, והזנתם נתונים למאגר הנתונים. מידע נוסף זמין במאמר יצירת אפליקציית חיפוש. אפשר גם לעיין במאמר סוגי נתונים ואפליקציות שנתמכים במסנן רלוונטיות ברמת המסמך.
חיפוש וסינון של תוצאות לפי רלוונטיות ברמת המסמך
כדי לסנן לפי רלוונטיות:
מאתרים את מזהה האפליקציה. אם כבר יש לכם מזהה אפליקציה, דלגו לשלב הבא.
נכנסים לדף AI Applications במסוף Google Cloud .
בדף אפליקציות, מאתרים את שם האפליקציה ומעתיקים את המזהה שלה מהעמודה מזהה.
כדי לסנן חיפוש לפי רלוונטיות ברמת המסמך, מציינים את השדה
relevanceFilterSpecשמגדיר רק סוג אחד של ערך סף לכל סוג חיפוש באמצעות השיטהengines.servingConfigs.search. כלומר, אפשר לצייןrelevanceThresholdאוsemanticRelevanceThresholdעבור סוג חיפוש מסוים.curl -X POST -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search:search" \ -d '{ "servingConfig": "projects/PROJECT_ID/locations/global/collections/default_collection/engines/APP_ID/servingConfigs/default_search", "query": "QUERY", "relevanceFilterSpec": { "keywordSearchThreshold": { "relevanceThreshold": "RELEVANCE_THRESHOLD" }, "semanticSearchThreshold": { "semanticRelevanceThreshold": SEMANTIC_RELEVANCE_THRESHOLD } } }'מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . APP_ID: המזהה של אפליקציית חיפוש מבוסס סוכנים שרוצים לשלוח אליה שאילתה.-
QUERY: טקסט השאילתה לחיפוש. -
RELEVANCE_THRESHOLD: אחד מהערכים הבאים:HIGH, MEDIUM, LOW,LOWEST. -
SEMANTIC_RELEVANCE_THRESHOLD: ערך נקודה צפה בטווח [0,1].
-
כדאי לבדוק כמה שאילתות עם ספי ערכים שונים כדי לקבוע את הגדרות הסף הטובות ביותר לנתונים ולאפליקציה.