בקטע הזה נדון בניואנסים נוספים של תכונת החיפוש ובנושאים מתקדמים.
מילים נרדפות בהתאמה אישית
Document AI Warehouse כולל תכונה בשם 'מילים נרדפות בהתאמה אישית' שמאפשרת ללקוחות לספק מילים נרדפות משלהם לדומיינים הספציפיים שלהם. מילה נרדפת, כמו שהשם מרמז, היא מילה דומה שמשמשת במהלך החיפוש. אם המשתמש מבצע חיפוש של 'טלוויזיה', אפשר להוסיף את המילים הנרדפות הבאות בצורה חלקה בלי שהמשתמש יידע: 'טלוויזיה', 'מסך וידאו', 'מסך וידאו'. מונחי החיפוש המקוריים של המשתמש והמילים הנרדפות ישמשו לביצוע שאילתת החיפוש.
התכונה הזו עוזרת להרחיב את החיפוש של המשתמש ולהציג את התוצאות הרצויות. השימוש האופייני כולל מונחים של חברות או תעשיות, ראשי תיבות, סלנג ושפה מקומית.
מילה נרדפת, הקשר וקבוצת מילים נרדפות
ב-Document AI Warehouse יש שלושה מונחים חשובים להתאמה אישית של מילים נרדפות:
Synonym. מילה נרדפת מייצגת קבוצה של מילים שכולן בעלות משמעות דומה.
Context. Context מייצג קבוצת משתמשים (כמו משתמשים בתעשייה, בחטיבה או בארגון) שיש להם מילים נרדפות ספציפיות שלא נמצאות בשימוש של קבוצות אחרות. לדוגמה, מחלקות הכספים והבריאות כנראה משתמשות ב-SynonymSetשונה לחלוטין. אפשר לציין את ההקשרים בשדהqueryContextשל Search API. לכן, שימוש בהקשרים שונים לאותם מונחי חיפוש יכול להניב תוצאות חיפוש שונות.
SynonymSet. SynonymSet הוא אוסף של מילים נרדפות להקשר ספציפי.
{
"name": string,
"context": string,
"synonyms": [
{
object (Synonym)
}
]
}
תרחיש שימוש לדוגמה
SynonymSet עם הקשר: finance
| "Currency","Foreign exchange","dollar","euro","yen" |
| "אינפלציה","מדד המחירים לצרכן","צמיחה כלכלית","פריחה כלכלית","מחירים גבוהים יותר" |
| "IRS","Internal Revenue Service","US Treasury" |
| "Tax return","1040","1120","1099","W-2" |
בדוגמה שלמעלה, כשהמשתמש מחפש את המונח 'מטבע' והערך של queryContext הוא 'פיננסים', המערכת מוסיפה באופן מרומז לשאילתת החיפוש את המילים הנרדפות האחרות בשורה הזו (כלומר, מט"ח, דולר, אירו, ין). באופן דומה, אם המשתמש מחפש מונח כלשהו בשורה הזו, כל המונחים האחרים יתווספו לשאילתה הסופית. באותה דוגמה, אם המשתמש מחפש 'אירו', המערכת מוסיפה לשאילתה הסופית את המילים 'מטבע', 'שער חליפין', 'דולר' ו'יין'.
SynonymSet עם הקשר: healthcare
| "provider","clinic","hospital","doctor","therapist","specialist" |
| "Medical claim","Claim","1500","Diagnosis","ICD-9","ICD9","ICD-10","ICD10","CPT","HCPCS" |
| "injury","trauma","hurt","wound","sore","bruise","cut","laceration","lesion","abrasion","contusion" |
חיפוש עם הרחבת מילים נרדפות בהתאמה אישית
כדי לחפש מסמכים עם הרחבת מילים נרדפות מותאמת אישית, הלקוחות צריכים לציין מילה נרדפת אחת או יותר query_context. אפשר לעיין בתיעוד ב-SearchDocuments API.
חיפוש בתיקייה
כפי שהשם מרמז, folder search מחפש רק בתיקייה מסוימת ובתיקיות המשנה שלה.
בקשת חיפוש לדוגמה תיראה כך:
{
document_query {
query: "songs";,
folderNameFilter: "projects/PROJECT_NUM/locations/LOCATION/documents/888"
}
}
היסטוגרמות
היסטוגרמות הן תכונה מתקדמת שמסכמת ספירות של נתונים שצוינו. לדוגמה, כמה מסמכים מכל סכימה תואמים לשאילתה של המשתמש? במסד נתונים שקשור לממשלה, אם המשתמש מחפש את 'מחוז אורנג', היסטוגרמה של סכימת נתונים עשויה להחזיר את מספר רישיונות הנהיגה, תעודות הנישואין או השטרות שתואמים לקריטריוני החיפוש. ההיסטוגרמות מתחשבות בהרשאות הגישה לנתונים של המשתמש ששולח את הבקשה, ולכן נספרים רק מסמכים שהמשתמש ששולח את הבקשה יכול לגשת אליהם.
היסטוגרמות יכולות להיות משאב שימושי, אבל איסוף וצבירה של כל הנתונים לוקחים זמן.
ההיסטוגרמות לא מושפעות משדות העמודים של בקשת החיפוש.
הפורמט הכללי של שאילתת היסטוגרמה
השאילתה HistogramQuery מוגדרת כך:
{
"histogramQuery": string,
"requirePreciseResultSize": boolean,
"filters": {
object (HistogramQueryPropertyNameFilter)
}
}
השדה histogram_query הוא בפורמט: COUNT('<item to count>'). זהו שדה חוזר, שמאפשר לכם להזין יותר משאילת היסטוגרמה אחת.
השדה require_precise_result_size לא הוטמע.
השדה filters מתואר בקטע 'מסננים'.
היסטוגרמות של סכימת מסמכים
כדי ליצור היסטוגרמות של סכימת מסמך או של סוג מסמך, מוסיפים את שאילתת ההיסטוגרמה הבאה:
{
document_query {
query: "test"
},
histogram_queries: [
{
histogram_query: "count('DocumentSchemaId')"
}
]
}
לדוגמה, המפה בתוך HistogramQueryResult של השאילתה הזו תיראה כך:
histogramQueryResults: [
{
histogramQuery: "DocumentSchemaId",
histogram:
{
"projects/1234/locations/us-west/documentSchemas/5543": "22",
"projects/1234/locations/us-west/documentSchemas/5544": "2",
"projects/1234/locations/us-west/documentSchemas/5545": "4",
"projects/1234/locations/us-west/documentSchemas/5546": "122",
"projects/1234/locations/us-west/documentSchemas/5547": "256",
"projects/1234/locations/us-west/documentSchemas/5548": "1",
"projects/1234/locations/us-west/documentSchemas/5549": "5",
"projects/1234/locations/us-west/documentSchemas/5550": "15",
}
}
]
בדוגמה הזו אפשר לראות ששלוש סכמות של מסמכים תואמות לשאילתת החיפוש שצוינה, ומוצג מספר המסמכים לכל סכמת מסמכים.
היסטוגרמות של נכסים
היסטוגרמות של נכסים מציגות את הספירות של מאפיינים ספציפיים שניתנים לסינון. הפורמט של היסטוגרמות של מאפיינים הוא:
COUNT('SomeSchema.SomeProp')
// Also, you can try with:
COUNT('SomeSchema.ParentProp.SubProp')
דוגמה לבקשה:
histogramQueryResults: [
{
histogramQuery: "5678.text_prop",
histogram: {
some_text: "1",
More_text: "55",
Additional_text: "19"
}
}
]
ההיסטוגרמה הזו מציגה את כל ההיסטוגרמות של המאפיינים שניתנים לסינון על סמך הקריטריון HistogramQueryPropertyNameFilter. הפונקציה מחזירה את מספר הפעמים שנעשה שימוש במאפיין (ולא את מספר הערכים).
הערך HistogramQueryPropertyNameFilter מוגדר כך:
{
"documentSchemas": [
string
],
"propertyNames": [
string
],
"yAxis": enum (HistogramYAxis)
}
אפשר להגביל את התוצאות לקבוצה של סכימות מסמכים על ידי מילוי השדה שניתן לחזרה שנקרא document_schemas עד 10 שדות schema_ID. אפשר לצמצם את הנכסים המצטברים באמצעות השדה החוזר property_names.
השדה y_axis קובע איך לספור את הנכסים. אם ההגדרה לא מוגדרת או מוגדרת לערך HISTOGRAM_YAXIS_DOCUMENT, התכונה 'היסטוגרמה' סופרת רק את השימוש הייחודי בנכס. אם הערך של y_axis הוא HISTOGRAM_YAXIS_PROPERTY, ההיסטוגרמה סופרת את כל השימוש בנכס. לדוגמה:
מסמך 1: Payments_property: [AMEX, VISA]
Document 2: Payments_property: [MC]
`HISTOGRAM_YAXIS_DOCUMENT` would return:
Payments_property: 2
_Explanation_: The `Payments_property` is found in two documents
`HISTOGRAM_YAXIS_PROPERTY` would return:
Payments_property: 3
_Explanation_: The `Payments_property` has three values in the documents found
הנה שאילתה פשוטה לדוגמה:
{
document_query {
},
histogram_queries: [
{
histogramQuery: "count('FilterableProperties')";
}
]
}
דוגמה לתגובה לשאילתה הקודמת:
histogramQueryResults: [
{
histogramQuery: "FilterableProperties",
histogram: {
456.int_prop: "4",
456.text_prop: "26"
}
}
]
כדי לסנן את התוצאות של count('FilterableProperties')) לפי סכימות, אפשר להשתמש בבקשה הבאה:
{
document_query: {
},
histogram_queries: [
{
histogram_query: "count('FilterableProperties')",
filters: {
document_schemas: [
"projects/1234/locations/us-west/documentSchemas/678",
"projects/1234/locations/us-west/documentSchemas/456"
]
}
}
]
}
כדי לסנן את התוצאות של count('FilterableProperties') לפי מאפיינים ספציפיים, אפשר להשתמש בבקשה הבאה:
{
document_query: {
},
histogram_queries: [
{
histogram_query: "count('FilterableProperties')",
filters: {
property_names: [
"678.MORTAGE_TYPE",
"456.language_code"
]
}
}
]
}
כדי לראות את מספר הנכסים של count("FilterableProperties"), משנים את y_axis ל-HISTOGRAM_YAXIS_PROPERTY באופן הבא:
{
document_query: {
},
histogram_queries: [
{
histogram_query: "count('FilterableProperties')",
filters: {
y_axis: "HISTOGRAM_YAXIS_PROPERTY"
}
}
]
}
השלבים הבאים
- מעבר אל מנוע המדיניות
- חומר עזר בנושא REST