지식 그래프: 지능형 및 컨텍스트 인식 검색 지원

지식 그래프는 사람, 콘텐츠, 상호작용이라는 세 가지 핵심 요소 전반에서 데이터를 연결하여 Gemini Enterprise를 개선합니다. 지식 그래프는 코퍼스에 있는 다양한 인스턴스와 항목 간의 관계를 이해하여 검색 품질과 환경을 개선하고, 컨텍스트를 인식하는 심층적인 검색을 제공합니다.

지식 그래프는 다음과 같은 방식으로 검색 기능을 향상합니다.

  • 파생된 보고 라인 및 다른 항목과의 관계를 비롯한 조직 컨텍스트로 사람 관련 데이터를 보강합니다.
  • 사용자 쿼리에서 더 많은 유용한 정보를 파악하기 위해 엔티티 인식, 관계, 의도 이해를 개선합니다.
  • 정확한 컨텍스트 기반 데이터로 검색 응답을 개선하여 사용자가 관련 인물 및 조직 정보를 더 쉽게 찾을 수 있습니다.

지식 그래프에 지원되는 데이터 소스

지식 그래프는 다음 데이터 소스가 있는 앱에서 사용할 수 있습니다.

시작하기 전에

지식 그래프 기능을 사용하려면 먼저 사용자 커넥터를 구성하여 사용자 데이터를 지식 그래프에 연결해야 합니다. 사용자 데이터를 연결하지 않으면 이러한 기능이 제대로 작동하지 않습니다.

사용자 데이터는 다음과 같은 주요 지식 그래프 기능을 지원합니다.

  • 항목 확인
  • 맥락 이해
  • 맞춤설정
  • 자동 완성
  • 권장사항

지원되는 인물 데이터 소스

각 앱에는 하나의 사용자 커넥터만 있을 수 있습니다. 하지만 앱별로 다른 사용자 커넥터를 설정할 수 있습니다. ID 시스템에 따라 데이터 소스를 선택합니다.

  • 조직에서 Google Cloud ID를 사용하는 경우 고급 Google ID 커넥터를 사용하세요.

  • 직원 ID 제휴를 사용하는 경우 해당 서드 파티 소스 또는 네이티브 소스를 선택합니다.

Gemini Enterprise는 사용자 데이터를 지식 그래프에 수집하기 위한 다음 옵션을 지원합니다.

  • Workspace 소스

    Advanced Google Identity 커넥터는 Google Workspace의 사용자 데이터를 동기화하여 Vertex AI Search 색인에 직접 복사합니다. 이 커넥터는 데이터를 색인에 복사하여 자연어 처리 (NLP)를 비롯한 전체 지식 그래프 기능을 지원합니다. Advanced Google Identity 커넥터클라우드 네이티브이며 색인에 데이터를 유지하여 Advanced Drive 커넥터와 유사하게 작동합니다.

    커넥터가 활성 상태인 경우 다음을 수행해야 합니다.

    1. 사용 중인 기존 사용자 검색 데이터 스토어를 연결 해제합니다.
    2. 엔진에 새 데이터 스토어를 추가합니다.
  • 기반 소스

    맞춤 사용자 커넥터를 사용하면 Google에서 지정한 스키마를 사용하여 BigQuery 또는 Cloud Storage에서 사용자 데이터를 업로드할 수 있습니다. 이 방법은 맞춤 또는 하이브리드 ID 소스가 있는 조직에 적합합니다.

  • 서드 파티 소스

    Gemini Enterprise는 사용자 데이터를 수집하기 위해 다음 서드 파티 ID 공급업체를 지원합니다.

지식 그래프를 사용한 쿼리 주석에 관한 정보

지식 그래프를 사용한 쿼리 주석은 구조화된 데이터를 검색어와 연결하여 검색 쿼리 이해를 향상합니다. 이 프로세스는 지식 그래프의 컨텍스트 기반 통계를 활용하여 검색 결과의 정확성과 관련성을 개선합니다.

독립형 정보 패널과 달리 쿼리 주석은 메타데이터로 검색어를 보강하여 독립적으로 작동하므로 더 정확한 엔티티 감지, 엔티티 연결, 사용자 컨텍스트 이해가 가능합니다. 검색어를 입력하면 지식 그래프는 사람, 조직, 문제 또는 기타 항목과의 관계를 기반으로 검색어를 분류하고 해석합니다.

질문 주석의 주요 구성요소는 다음과 같습니다.

  • 멘션 감지: 검색어에서 주요 항목 (예: 사람)과 관계 (예: 관리자)를 식별하고 구조화된 데이터와 연결합니다.

  • 사용자 컨텍스트 이해: 사용자의 컨텍스트를 분석하고 관련 사용자 신호 (예: 주요 동료)를 가져와 검색 관련성을 개선합니다.

  • 엔티티 연결: 용어를 가장 관련성 높은 엔티티에 연결하여 모호성을 해결합니다 (예: 회사로서의 'Apple'과 과일로서의 'Apple'을 구분).

지식 그래프 패널

지식 그래프가 사용 설정되면 검색엔진은 보강된 패널을 검색 결과에 통합하여 사용자가 관련 인물, 역할, 조직을 빠르게 찾을 수 있도록 더 정확한 컨텍스트 기반 정보를 제공합니다. 검색을 실행하면 search API는 검색어와 관련된 추가 컨텍스트와 통계를 제공하는 자세한 패널로 응답합니다.

다음 패널 유형이 검색 결과 페이지에 표시되어 관련 항목을 식별하는 기능을 향상합니다.

  • 사용자 패널: 이 패널에는 사용자의 직책, 부서, 다른 사용자와의 관계 (예: 관리 체인, 직속 부하 직원, 팀원)와 같은 정보가 포함됩니다. 조직 내 관련 사용자와 역할을 빠르게 찾을 수 있습니다. 지식 그래프로 사용자 패널이 개선되었으며 사용자가 긴 형식의 카드로 표시되어 조직 내 사용자의 역할과 관계를 포괄적으로 보여줍니다. Knowledge Graph 검색 API 응답에는 통합된 원박스 검색 형식의 보강된 데이터 패널이 포함됩니다. 사용자 패널에는 직책, 부서, 관련 사용자 정보(예: 관리 체인, 직속 부하 직원, 동일한 관리자가 있는 팀원)가 포함됩니다. 지식 정보에서 파생된 필드는 인물 패널 결과 내의 derived_struct_data에 반환됩니다.

  • 조직 패널: 이 패널은 조직의 이름, 설명, 웹사이트 정보와 같은 주요 세부정보를 제공합니다. 지식 그래프 검색 API 응답에는 통합된 단일 검색 상자 형식의 보강된 데이터 패널이 포함됩니다. 조직 패널에는 조직 이름, 설명, 웹사이트 정보가 표시됩니다.조직 결과는 조직 패널 결과 내의 knowledge_graph_results 필드에 반환됩니다.

지식 그래프 구성

지식 그래프는 내부 및 외부 데이터 소스의 정확한 컨텍스트 기반 정보와 함께 보강된 패널을 통합하여 검색 결과를 향상합니다.

지식 그래프 유형

지식 그래프에는 두 가지 유형이 있습니다.

  • Google Cloud 지식 그래프: 외부 데이터 소스를 통합하여 검색 결과를 확장합니다. 이렇게 하면 검색 결과의 범위가 넓어지고 추가 통계로 관련성이 향상됩니다. Google Cloud 지식 그래프는 위치가 글로벌로 설정된 앱에서만 사용할 수 있습니다.

  • 비공개 지식 그래프: 내부 조직 데이터를 활용하여 인리치드 검색 결과를 생성합니다. 관계, 역할, 직책과 같은 독점 지식을 통합하여 관련성을 개선하고 컨텍스트에 더 정확한 쿼리 주석을 제공합니다.

지식 그래프 구성 변경

모든 Gemini Enterprise 앱에 지식 그래프 구성이 사용 설정됩니다. 변경하기 전에 검색 결과에 미치는 영향은 다음과 같습니다.

구성 사용 설정됨 사용 중지됨
Google Cloud 지식 그래프 외부 데이터로 검색을 확장합니다. 내부 데이터로 검색을 제한합니다.
비공개 지식 그래프 내부 데이터로 검색을 개선합니다. 내부 파생 데이터를 삭제합니다.

지식 그래프 구성을 수정하려면 지식 그래프 구성 관리 섹션을 참고하세요.

비공개 지식 그래프 구조 및 매핑

비공개 지식 그래프는 속성 그래프 데이터 모델을 사용합니다. 엔터프라이즈 사용 사례를 위해 설계되었으며 특정 유형의 엔티티와 관계를 지원합니다. 지원되는 커넥터를 통해 가져온 문서에서 데이터를 검색할 수 있습니다. 비공개 지식 그래프는 내부 규칙을 사용하여 다음 작업을 실행합니다.

  1. 원래 데이터 스토어 스키마의 데이터를 항목 속성에 매핑합니다.
  2. 식별자를 연결하여 항목 간의 관계를 만듭니다.

지식 그래프 엔진은 지원되는 커넥터의 모든 문서에 이러한 내부 규칙을 적용하여 그래프를 구성합니다.

지식 그래프 항목 유형 및 관계

지식 그래프 항목 유형 지식 그래프 관계 유형 지원되는 커넥터
사람 관리자 Workspace 소스 → 사용자 검색
점선 보고서 맞춤 커넥터를 사용하는 사용자

데이터 소스 스키마에서 엔티티 속성으로 매핑

소스 문서 필드 참고
name.familyName, name.givenName, name.displayName givenNamefamilyName의 연결입니다. 비어 있으면 displayName를 사용합니다.
personId 사람을 고유하게 식별하는 데 사용됩니다.
employeeId -
employmentStatus -
organizations[0].jobTitle 조직 (배열)의 첫 번째 요소에 있는 직책입니다.
websites[0].value 웹사이트 (배열)의 첫 번째 값입니다.
topCoworkers -

지식 그래프의 수명 주기

엔진의 지식 그래프는 사용 설정, 업데이트, 관리되는 동안 여러 상태를 거칩니다. 다음 상태를 이해하면 예상되는 결과와 사용할 수 있는 작업을 알 수 있습니다.

  • unspecified

    엔진에 지식 그래프가 사용 설정되어 있지 않거나 초기화가 대기 중입니다. 이 기능을 사용 설정하려면 knowledge_graph_config.enable_private_knowledge_graph 설정을 true로 구성해야 합니다.

  • initialization

    초기 지식 그래프 구성이 실행 중입니다. 이 상태에서는 지식 그래프를 처리할 수 없습니다.

    initialization 상태에서는 다음을 충족해야 합니다.

    • 지식 그래프는 사용 설정하거나 사용 중지할 수 없습니다.
    • 엔진을 삭제할 수 없습니다.
    • 지식 그래프 지원 데이터 스토어를 연결하거나 연결 해제한 변경사항은 그래프에 즉시 반영되지 않습니다. 자세한 내용은 지식 그래프에 지원되는 데이터 소스를 참고하세요.
  • active

    지식 그래프가 안정적이고 활발하게 제공되고 있습니다. 이는 기능적 지식 그래프의 선택된 상태입니다.

  • batch_update

    지식 그래프가 소스 데이터의 최근 변경사항을 반영하도록 업데이트되고 있습니다. 지식 그래프에서 지원되는 데이터 소스가 변경되거나 지식 그래프와 지원되는 데이터 소스 간에 주기적인 동기화가 이루어지면 이 작업이 트리거됩니다. 지식 그래프는 활성 상태로 유지되지만 업데이트가 아직 진행 중이므로 변경된 소스 데이터와 동기화되지 않을 수 있습니다.

    batch_update 상태에서는 다음을 충족해야 합니다.

    • 지식 그래프는 사용 설정하거나 사용 중지할 수 없습니다.
    • 엔진을 삭제할 수 없습니다.
    • 지식 정보 지원 데이터 스토어를 연결하거나 연결 해제하면 그래프에 변경사항이 반영되는 데 시간이 걸릴 수 있습니다. 자세한 내용은 지식 그래프에 지원되는 데이터 소스를 참고하세요.
  • deleting

    엔진에서 지식 그래프가 사용 중지되었으며 삭제되고 있습니다. 지식 그래프를 처리할 수 없습니다.

    deleting 상태에서는 다음을 충족해야 합니다.

    • 지식 그래프는 사용 설정하거나 사용 중지할 수 없습니다.
    • 엔진을 삭제할 수 없습니다.

지식 그래프 구성 관리

콘솔 또는 API를 사용하여 구성을 관리할 수 있습니다.

시작하기 전에 다음 사항을 확인하세요.

  1. Gemini Enterprise 앱을 만들어야 합니다.
  2. 지식 그래프 구성 변경을 검토하여 기존 앱의 구성 변경이 미치는 영향을 확인하세요.

콘솔에서 Knowledge Graph 구성을 업데이트하려면 다음 절차를 따르세요.

콘솔

Google Cloud 콘솔을 사용하여 지식 그래프 구성을 관리하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 Gemini Enterprise 페이지로 이동합니다.

    Gemini Enterprise

  2. 페이지에서 지식 그래프 구성을 업데이트할 앱을 클릭합니다.

  3. 구성 > 지식 그래프 탭으로 이동합니다.

  4. 필요에 따라 Google Cloud 지식 그래프 또는 비공개 지식 그래프를 전환합니다.

  5. 프롬프트나 경고를 확인한 후 저장 버튼을 클릭합니다.

지식 그래프를 사용 설정 및 사용 중지하면 다음과 같은 효과가 있습니다.

  1. Google Cloud 지식 그래프:

    • Google Cloud 지식 그래프를 사용 설정하면 외부 소스의 보강된 데이터에 액세스하여 검색 컨텍스트를 확장할 수 있습니다.
    • 이 기능을 사용 중지하면 검색 결과가 내부 데이터로 제한되어 외부 컨텍스트에 대한 액세스가 삭제됩니다.
  2. 비공개 지식 그래프:

    • 비공개 지식 그래프를 사용 설정하면 내부 파생 데이터가 재생성되고 최대 하루 후에 쿼리 주석이 반환됩니다.
    • 이 기능을 사용 중지하면 내부 파생 데이터가 삭제되고 쿼리 주석이 삭제되어 검색 정확성과 풍부성이 감소합니다.

API

API를 사용하여 Knowledge Graph 설정을 수정할 수 있습니다.

  {
    "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"
    }
  }

검색 결과에서 지식 패널 보기

지식 그래프로 풍부해진 검색 결과가 검색 애플리케이션에 어떻게 표시되는지 확인할 수 있습니다. 패널 기반 검색 인터페이스의 경우 지식 그래프 패널이 일반 검색 결과와 함께 보강된 정보 상자로 표시됩니다. 이름, 설명, 이미지, 관계와 같은 관련 항목 세부정보를 통합하여 더 유익하고 맥락에 맞는 검색 환경을 제공합니다. 이러한 부스팅된 결과를 통해 검색어와 관련된 주요 정보를 빠르게 찾을 수 있습니다.

다음 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/"
                                }
                              }
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            }
          }
        ]
      }

다음 단계

커스텀 임베딩 사용