Knowledge Graph: חיפוש חכם ומודע-הקשר

‫Knowledge Graph משפר את Gemini Enterprise על ידי קישור נתונים בשלושה תחומים מרכזיים: אנשים, תוכן ואינטראקציות. Knowledge Graph משפר את איכות החיפוש ואת חוויית המשתמש בכך שהוא מבין את הקשר בין מופעים וישויות שונים במאגר המידע, ומספק חיפוש מעמיק יותר שמודע להקשר.

התכונה Knowledge Graph משפרת את יכולות החיפוש באמצעות:

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

מקורות נתונים נתמכים ל-Knowledge Graph

‫Knowledge Graph זמין לאפליקציות עם מקורות הנתונים הבאים:

לפני שמתחילים

כדי להשתמש בתכונות של Knowledge Graph, צריך קודם לחבר את נתוני האנשים ל-Knowledge Graph באמצעות הגדרה של מחבר אנשים. אם לא מחברים את נתוני האנשים, התכונות האלה לא פועלות כמו שצריך.

נתוני אנשים מפעילים יכולות מרכזיות של Knowledge Graph, כולל:

  • רזולוציה של ישויות
  • הבנת ההקשר
  • התאמה אישית
  • השלמה אוטומטית
  • המלצות

מקורות נתמכים לנתוני אנשים

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

‫Gemini Enterprise תומך באפשרויות הבאות להזנת נתונים של אנשים ל-Knowledge Graph:

  • מקורות מ-Workspace

    מחבר הזהויות המתקדם של Google Identity מסנכרן נתוני אנשים מ-Google Workspace, ומעתיק אותם ישירות לאינדקס של חיפוש מבוסס-Vertex AI. המחבר הזה מאפשר להעתיק נתונים לאינדקס, וכך להשתמש בכל הפונקציות של Knowledge Graph, כולל עיבוד שפה טבעית (NLP). מחבר הזהויות המתקדם של Google הוא מבוסס-ענן וההתנהגות שלו דומה לזו של המחבר המתקדם של Drive, כלומר הוא שומר את הנתונים באינדקס.

    כשהמחבר פעיל, צריך:

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

    מחבר אנשים בהתאמה אישית מאפשר להעלות נתוני אנשים מ-BigQuery או מ-Cloud Storage באמצעות סכימה שצוינה על ידי Google. האפשרות הזו מתאימה במיוחד לארגונים עם מקורות זהויות מותאמים אישית או היברידיים.

  • מקורות של צד שלישי

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

מידע על הערות לשאילתות באמצעות Knowledge Graph

הערות לשאילתות באמצעות Knowledge Graph משפרות את ההבנה של שאילתות החיפוש על ידי שיוך של נתונים מובְנים למונחי חיפוש. התהליך הזה משפר את הדיוק והרלוונטיות של תוצאות החיפוש באמצעות תובנות הקשריות מ-Knowledge Graph.

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

הרכיבים העיקריים של הערות לשאילתות כוללים:

  • זיהוי אזכורים: זיהוי ישויות מרכזיות (לדוגמה, אנשים) וקשרים (לדוגמה, מנהל) בשאילתת חיפוש ושיוך שלהם לנתונים מובנים.

  • הבנת ההקשר של המשתמש: ניתוח ההקשר של המשתמש ואחזור אותות משתמש קשורים (לדוגמה, עמיתים מובילים) כדי לשפר את הרלוונטיות של החיפוש.

  • קישור ישויות: פותר את הבעיות של דו-משמעות על ידי קישור מונחים לישויות הרלוונטיות ביותר שלהם (לדוגמה, הבחנה בין 'Apple' כחברה לבין 'Apple' כפרי).

כרטיסי מידע של Knowledge Graph

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

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

  • החלונית 'אנשים': החלונית הזו כוללת מידע כמו התפקיד של האדם, המחלקה והקשרים שלו עם אנשים אחרים (לדוגמה, שרשרת הניהול, עובדים ישירים וחברי צוות). הוא עוזר לכם למצוא במהירות אנשים רלוונטיים ואת התפקידים שלהם בארגון. הפאנל 'אנשים' משופר באמצעות Knowledge Graph, והאנשים מוצגים ככרטיסים ארוכים, שמספקים תצוגה מקיפה של התפקיד והקשרים של האדם בארגון. התשובה של Knowledge Graph Search API כוללת לוחות נתונים מועשרים בפורמט חיפוש מאוחד של תיבה אחת. בחלונית 'אנשים' מופיעים תיאור המשרה, המחלקה ומידע על אנשים שקשורים לאותו אדם (כמו שרשרת הניהול, עובדים ישירים או חברי צוות עם אותם מנהלים). השדות שנובעים מ-Knowledge Graph מוחזרים ב-derived_struct_data בתוצאה של חלונית האנשים.

  • החלונית 'ארגון': בחלונית הזו מופיעים פרטים חשובים על הארגון, כמו השם, התיאור ופרטי האתר. התשובה של Knowledge Graph Search API כוללת חלוניות נתונים מועשרות בפורמט חיפוש מאוחד של תיבה אחת. בחלונית Organization מוצגים שם הארגון, תיאור ופרטי האתר.התוצאות של הארגון מוחזרות בשדה knowledge_graph_results בתוצאה של החלונית Organization.

הגדרות של Knowledge Graph

ה-Knowledge Graph משפר את תוצאות החיפוש על ידי שילוב של חלוניות מועשרות עם מידע מדויק שמבוסס על הקשר ממקורות נתונים פנימיים וחיצוניים.

סוגים של Knowledge Graph

יש שני סוגים של תרשימי ידע:

  • Google Cloud Knowledge Graph: מרחיב את תוצאות החיפוש באמצעות שילוב של מקורות נתונים חיצוניים. התכונה הזו מרחיבה את היקף תוצאות החיפוש ומשפרת את הרלוונטיות שלהן באמצעות תובנות נוספות. Google Cloud Knowledge Graph זמין רק באפליקציות שהמיקום שלהן מוגדר כGlobal.

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

שינוי ההגדרות של Knowledge Graph

ההגדרות של Knowledge Graph מופעלות בכל אפליקציות Gemini Enterprise. לפני שמבצעים שינויים, אפשר לראות את ההשפעה על תוצאות החיפוש באופן הבא:

הגדרות אישיות מופעל מושבת
Google Cloud Knowledge Graph הרחבת החיפוש באמצעות נתונים חיצוניים. מגביל את החיפוש לנתונים פנימיים.
Knowledge Graph פרטי משפר את החיפוש באמצעות נתונים פנימיים. הסרת נתונים פנימיים נגזרים.

כדי לשנות את ההגדרות של Knowledge Graph, אפשר לעיין בקטע ניהול ההגדרות של Knowledge Graph.

מבנה ומיפוי של Knowledge Graph פרטי

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

  1. מיפוי נתונים מסכימת מאגר הנתונים המקורי למאפייני ישויות.
  2. יצירת קשרים בין ישויות על ידי קישור מזהים.

מנוע Knowledge Graph בונה את הגרף שלו על ידי החלת הכללים הפנימיים האלה על כל המסמכים מהמחברים הנתמכים.

סוגי ישויות וקשרים ב-Knowledge Graph

סוגי ישויות ב-Knowledge Graph סוגי קשרים ב-Knowledge Graph מחברים נתמכים
אדם מנהל מקורות מ-Workspace → חיפוש אנשים
דוח מקווקו אנשים שמשתמשים במחבר מותאם אישית

מיפוי מסכימת מקור הנתונים למאפייני הישות

שדה מסמך המקור הערות
name.familyName, name.givenName, name.displayName שרשור של givenName ושל familyName. אם השדה ריק, המערכת תשתמש בערך displayName.
personId משמש לזיהוי ייחודי של אדם.
employeeId -
employmentStatus -
organizations[0].jobTitle שם המשרה ברכיב הראשון של organizations (מערך).
websites[0].value הערך הראשון של האתרים (מערך).
topCoworkers -

מחזור החיים של Knowledge Graph

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

  • unspecified

    האפשרות Knowledge Graph לא מופעלת במנוע או שההפעלה שלה בהמתנה. כדי להפעיל אותה, צריך להגדיר את ההגדרה knowledge_graph_config.enable_private_knowledge_graph לערך true.

  • initialization

    תהליך הבנייה הראשוני של Knowledge Graph פועל. במהלך המצב הזה, גרף הידע לא זמין לעיבוד.

    במצב initialization:

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

    תרשים הידע מהימן ופעיל. זה המצב שנבחר ל-Knowledge Graph פונקציונלי.

  • batch_update

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

    במצב batch_update:

    • אי אפשר להפעיל או להשבית את Knowledge Graph.
    • אי אפשר למחוק את המנוע.
    • שינויים שנובעים מקישור או מביטול הקישור של מאגרי נתונים שנתמכים על ידי Knowledge Graph יבואו לידי ביטוי בתרשים באיחור. מידע נוסף זמין במאמר בנושא מקורות נתונים נתמכים ל-Knowledge Graph.
  • deleting

    ה-Knowledge Graph מושבת במנוע החיפוש ונמצא בתהליך מחיקה. תרשים הידע לא זמין לעיבוד.

    במצב deleting:

    • אי אפשר להפעיל או להשבית את Knowledge Graph.
    • אי אפשר למחוק את המנוע.

ניהול ההגדרות של Knowledge Graph

אפשר לנהל את ההגדרות באמצעות המסוף או ה-API.

לפני שמתחילים:

  1. אתם צריכים ליצור אפליקציית Gemini Enterprise.
  2. כדאי לעיין במאמר בנושא שינוי ההגדרות של Knowledge Graph כדי להבין איך שינוי ההגדרות משפיע על אפליקציות קיימות.

כדי לעדכן את ההגדרות של Knowledge Graph במסוף:

המסוף

כדי להשתמש במסוף Google Cloud לניהול הגדרות של Knowledge Graph, פועלים לפי השלבים הבאים:

  1. נכנסים לדף Gemini Enterprise במסוף Google Cloud .

    Gemini Enterprise

  2. בדף אפליקציות, לוחצים על האפליקציה שרוצים לעדכן את ההגדרות שלה ב-Knowledge Graph.

  3. עוברים לכרטיסייה Configurations (הגדרות) > Knowledge Graph (גרף הידע).

  4. מעבירים את המתג Google Cloud Knowledge Graph או Private Knowledge Graph בהתאם לצורך.

  5. אחרי שמאשרים את ההנחיות או האזהרות, לוחצים על הלחצן שמירה.

ההשפעות של הפעלה והשבתה של Knowledge Graph הן כדלקמן:

  1. Google Cloud Knowledge Graph:

    • הפעלת Google Cloud תרשים הידע מעניקה גישה לנתונים מועשרים ממקורות חיצוניים, ומרחיבה את הקשר החיפוש.
    • השבתת ההגדרה הזו מגבילה את תוצאות החיפוש לנתונים פנימיים, ומסירה את הגישה להקשר חיצוני.
  2. Knowledge Graph פרטי:

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

API

אפשר לשנות את ההגדרות של Knowledge Graph באמצעות ה-API:

  {
    "engine": {
      "name": "projects/<project_id>/locations/<location>/collections/<collection_id>/engines/<engine_id>",
      "knowledge_graph_config": {
        "enable_cloud_knowledge_graph": true,
        "enable_private_knowledge_graph": true
      }
    },
    "update_mask": {
      "paths": "knowledge_graph_config"
    }
  }

הצגת כרטיסי מידע בתוצאות החיפוש

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

בדוגמת ה-JSON הבאה אפשר לראות איך חלונית האנשים מופיעה בתגובת API:


      one_box_results: [
        {
          one_box_type: PEOPLE
          search_results: [
            {
              document: {
                name: "projects/<pii data>/locations/global/collections/default_collection/dataStores/people-v17-df-sprint_1731449540556/branches/0/documents/<name>"
                derived_struct_data: {
                  fields: [
                    {
                      key: "management_chain"
                      value: {
                        list_value: {
                          values: [
                            {
                              struct_value: {
                                fields: [
                                  {
                                    key: "person_id"
                                    value: {

                                      string_value: "<persons name>"
                                    }
                                  },
                                  {
                                    key: "job_title"
                                    value: {
                                      string_value: "Account Executive"
                                    }
                                  },
                                  {
                                    key: "name"
                                    value: {
                                      string_value: "<persons name>"
                                    }
                                  }
                                ]
                              }
                            },
                            {
                              struct_value: {
                                fields: [
                                  {
                                    key: "name"
                                    value: {
                                      string_value: "<persons name>"
                                    }
                                  },
                                  {
                                    key: "job_title"
                                    value: {

                                      string_value: "Account Executive"
                                    }
                                  },
                                  {
                                    key: "person_id"
                                    value: {

                                      string_value: "<persons name>"
                                    }
                                  }
                                ]
                              }
                            }

                          ]
                        }
                      }
                    },
                    {

                      key: "teammates_with_same_manager"
                      value: {

                        list_value: {

                          values: [
                            {

                              struct_value: {

                                fields: [
                                  {

                                    key: "person_id"
                                    value: {

                                      string_value: "<persons name>"
                                    }
                                  },
                                  {

                                    key: "job_title"
                                    value: {

                                      string_value: "Account Executive"
                                    }
                                  },
                                  {

                                    key: "name"
                                    value: {

                                      string_value: "<persons name>"
                                    }
                                  }
                                ]
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      key: "direct_reports"
                      value: {
                        list_value: {
                          values: [
                            {
                              struct_value: {
                                fields: [
                                  {
                                    key: "job_title"
                                    value: {
                                      string_value: "Account Strategist, Lead Generation"
                                    }
                                  },
                                  {
                                    key: "name"
                                    value: {
                                      string_value: "<persons name>"
                                    }
                                  },
                                  {
                                    key: "person_id"
                                    value: {
                                      string_value: "<persons name>"
                                    }
                                  }
                                ]
                              }
                            },
                            {
                              struct_value: {
                                fields: [
                                  {
                                    key: "person_id"
                                    value: {
                                      string_value: "<persons name>"
                                    }
                                  },
                                  {
                                    key: "name"
                                    value: {
                                      string_value: "<persons name>"
                                    }
                                  },
                                  {
                                    key: "job_title"
                                    value: {

                                      string_value: "Account Strategist, Mid-Market Sales, Google Customer Solutions"
                                    }
                                  }
                                ]
                              }
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          ]
        }
      ]

בדוגמה הבאה של JSON אפשר לראות איך חלונית הארגון מופיעה בתגובה של API:

      {
        one_box_type: ORGANIZATION
        knowledge_graph_results: [
          {
            knowledge_graph_source_type: CLOUD_KG
            context: {
              struct_value: {
                fields: [
                  {
                    key: "@vocab"
                    value: {
                      string_value: "http://schema.org/"
                    }
                  }
                ]
              }
            }
            type: {
              string_value: "ItemList"
            }
            item_list_element: {
              values: [
                {
                  struct_value: {
                    fields: [
                      {
                        key: "result"
                        value: {
                          struct_value: {
                            fields: [
                              {
                                key: "@id"
                                value: {
                                  string_value: "c-025prnpgp"
                                }
                              },
                              {
                                key: "identifier"
                                value: {
                                  list_value: {
                                    values: [
                                      {
                                        struct_value: {
                                          fields: [
                                            {
                                              key: "name"
                                              value: {
                                                string_value: "googleKgMID"
                                              }
                                            },
                                            {
                                              key: "value"
                                              value: {
                                                string_value: "/m/0k8z"
                                              }
                                            },
                                            {
                                              key: "@type"
                                              value: {
                                                string_value: "PropertyValue"
                                              }
                                            }
                                          ]
                                        }
                                      },
                                      {
                                        struct_value: {
                                          fields: [
                                            {
                                              key: "value"
                                              value: {

                                                string_value: "Q312"
                                              }
                                            },
                                            {
                                              key: "@type"
                                              value: {
                                                string_value: "PropertyValue"
                                              }
                                            },
                                            {
                                              key: "name"
                                              value: {

                                                string_value: "wikidataQID"
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    ]
                                  }
                                }
                              },
                              {
                                key: "@type"
                                value: {
                                  list_value: {
                                    values: [
                                      {
                                        string_value: "Corporation"
                                      },
                                      {
                                        string_value: "Thing"
                                      },
                                      {
                                        string_value: "Organization"
                                      }
                                    ]
                                  }
                                }
                              },
                              {
                                key: "name"
                                value: {
                                  string_value: "Apple"
                                }
                              },
                              {
                                key: "detailedDescription"
                                value: {
                                  struct_value: {
                                    fields: [
                                      {
                                        key: "url"
                                        value: {
                                          string_value: "https://en.wikipedia.org/wiki/Apple_Inc."
                                        }
                                      },
                                      {
                                        key: "articleBody"
                                        value: {
                                          string_value: "Apple Inc. is an American multinational corporation and technology company headquartered and incorporated in Cupertino, California, in Silicon Valley. It is best known for its consumer electronics, software, and services. "
                                        }
                                      },
                                      {
                                        key: "license"
                                        value: {

                                          string_value: "https://en.wikipedia.org/wiki/Wikipedia:Text_of_Creative_Commons_Attribution-ShareAlike_3.0_Unported_License"
                                        }
                                      }
                                    ]
                                  }
                                }
                              },
                              {
                                key: "description"
                                value: {
                                  string_value: "Technology company"
                                }
                              },
                              {
                                key: "image"
                                value: {
                                  struct_value: {
                                    fields: [
                                      {
                                        key: "contentUrl"
                                        value: {
                                          string_value: "https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcTMHrvLPmr_8yVjoTYsyxhRGtPMcA90bcJl9_RehtJU0tr64KNR"
                                        }
                                      },
                                      {
                                        key: "url"
                                        value: {

                                          string_value: "https://commons.wikimedia.org/wiki/File:Apple_logo_black.svg"
                                        }
                                      }
                                    ]
                                  }
                                }
                              },
                              {
                                key: "url"
                                value: {

                                  string_value: "http://www.apple.com/"
                                }
                              }
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            }
          }
        ]
      }