Knowledge-Graph 개념

zoo_gathers·2024년 11월 12일
post-thumbnail

1. 지식 그래프의 개념

시맨틱 네트워크(semantic network)라고도 하는 지식 그래프(Knowledge Graph)는 현실 세계의 다양한 객체, 사건, 상황, 개념 간의 관계를 네트워크 형태로 표현하는 데이터 구조이다.

이를 통해 객체 간의 관계와 의미를 구조화하여 표현할 수 있으며, 흔히 그래프 데이터베이스에 저장하고 시각화된 그래프 구조로 나타냅니다.

지식 그래프는 다음 세 가지 주요 요소로 구성된다.

  • 노드 (Nodes): 사람, 장소, 사물 같은 객체

  • 엣지 (Edges): 노드 간의 관계를 나타내며, 두 노드를 연결

  • 라벨 (Labels): 노드와 엣지에 추가되는 설명이나 속성

지식 그래프의 구조에서는 주체(Subject), 술어(Predicate), 객체(Object) 세 요소로 구성된 삼중 항(triple)이 사용된다.

예를 들면
“홍길동(주체)이 춘향이(객체)와 친구 관계(술어)에 있다”는 형식으로 정보를 표현할 수 있다.

지식 그래프와 온톨로지는 함께 자주 언급되며, 두 개념의 차이에 대해 논의가 많다.


2. 온톨로지에 대해서

온톨로지란 무엇인가?

온톨로지는 한 분야에 관련된 개념들을 정의하고, 그 개념들 간의 관계를 체계적으로 정리한 구조이다. 쉽게 말해, 정보를 잘 정리하고 구조화해서 컴퓨터가 이해할 수 있게 만드는 방법이다.

왜 온톨로지가 필요한가?

컴퓨터가 정보를 처리할 때, 사람처럼 "이것이 무엇이고, 이것과 저것은 어떻게 관련되어 있는지"를 이해해야 할 때가 있다.

예를 들어, 도서관에서 책을 찾을 때 책 제목, 저자, 주제 등이 필요하듯이, 컴퓨터도 개념을 알기 위해 온톨로지가 필요하다.

예시로 확인해보자.

매디슨 스퀘어 가든이라는 스포츠 경기장을 예를 들어보자.
여기서 온톨로지는 다음과 같은 정보를 체계적으로 정리해준다.

장소: 매디슨 스퀘어 가든
이벤트: 뉴욕 레인저스의 하키 경기
시간: 매 경기의 날짜와 시간

즉, 온톨로지를 통해
"매디슨 스퀘어 가든에서 뉴욕 레인저스의 하키 경기가 특정 시간에 열린다"
는 정보가 잘 구조화되어, 컴퓨터가 각 경기와 장소, 시간의 관계를 명확히 알 수 있게 되는 것이다.


3. 지식 그래프의 작동 방법

지식 그래프의 구성 요소

  • 노드(Node): 실제 세상의 개체나 개념을 나타냅니다. 예를 들어, 사람, 장소, 사건 등이 될 수 있다.

  • 엣지(Edge): 노드 간의 관계를 나타낸다. 예를 들어, "서울"이라는 노드와 "한국"이라는 노드 사이에는 "소속"이라는 엣지가 연결될 수 있다.

  • 속성(Property): 각 노드나 엣지에 대한 추가적인 정보를 제공한다. 예를 들어, "서울"이라는 노드에 "인구", "면적" 등의 속성을 부여할 수 있다.

지식 그래프가 어떻게 만들어지는가?

  • 데이터 수집: 다양한 출처에서 데이터를 수집한다. 웹 페이지, 문서, 데이터베이스 등이 될 수 있다.

  • 정보 추출: 수집된 데이터에서 엔티티(개체)와 관계를 추출한다. 이를 위해 자연어 처리 기술이 활용된다.

  • 지식 통합: 추출된 정보들을 통합하여 하나의 지식 그래프를 구성한다. 이 과정에서 중복된 정보를 제거하고, 상충하는 정보를 해결해야 한다.

지식 그래프 만들기

  1. 개념과 엔티티 추출 (노드 생성):
  • 텍스트에서 중요한 개념과 엔티티를 찾아내어 노드(점)로 만듭니다.
  • 예를 들어, "Apple," "Steve Jobs," "iPhone" 같은 단어가 주요 개념으로 추출될 수 있습니다. 이런 개념들이 노드가 됩니다.
  1. 개념 간의 관계 추출 (엣지 생성):
  • 각 개념 간의 관계를 찾아내고 엣지(선)로 표시
  • 예를 들어, "Steve Jobs는 Apple의 창립자이다"라는 관계가 있다면, "Steve Jobs"와 "Apple" 사이에 "창립자"라는 관계 엣지를 추가
  1. 노드와 엣지로 그래프 구성 (데이터베이스에 추가):
  • 앞에서 만든 노드(개념)와 엣지(관계)를 그래프 구조로 정리하고, 그래프 데이터베이스에 저장하여 쉽게 조회하고 활용할 수 있도록 함.
  • 이렇게 저장된 그래프는 데이터를 분석하거나 탐색할 때 유용하게 사용
  1. 시각화 (그래프를 시각적으로 표현):
  • 최종적으로, 지식 그래프를 시각화하여 그래프 구조를 눈으로 볼 수 있게 표현
  • 이렇게 시각화하면 전체 개념과 관계 구조를 직관적으로 이해할 수 있고, 보기에도 깔끔하게 정리

지식 그래프의 활용 사례

  • 검색 엔진: 검색어의 의미를 정확하게 파악하여 더욱 정확한 검색 결과를 제공

  • 추천 시스템: 사용자의 관심사와 행동 패턴을 분석하여 맞춤형 콘텐츠를 추천

  • 챗봇: 사용자의 질문에 대한 답변을 찾기 위해 지식 그래프를 활용

  • 데이터 분석: 복잡한 데이터를 시각화하고 분석하여 새로운 인사이트를 얻을 수 있음

지식 그래프의 장점

  1. 정보 검색의 정확도 향상
    : 검색어의 의미를 정확하게 파악하여 관련성 높은 정보를 찾을 수 있다.

  2. 복잡한 질의 응답
    : 다양한 질문에 대한 답변을 찾을 수 있다.

  3. 데이터 통합
    : 다양한 출처의 데이터를 통합하여 새로운 가치를 창출할 수 있다.


4. 지식 그래프의 주요 사용 사례

  • 소매업
    = 지식 그래프는 고객의 구매 행동을 분석하여 추가 구매 유도와 관련 제품 추천 전략에 활용된다.
    예를 들어, 개별 고객의 구매 패턴과 인기 있는 제품을 바탕으로 고객 맞춤형 제품을 추천할 수 있다.

  • 엔터테인먼트
    = Netflix 같은 콘텐츠 플랫폼에서 지식 그래프를 기반으로 AI 추천 엔진이 작동한다.
    사용자 클릭이나 시청 기록에 따라 관심 있는 콘텐츠를 추천함으로써 사용자 경험을 개선한다.

  • 금융업
    = 지식 그래프는 금융 분야에서 고객 신원 확인 및 자금 세탁 방지 활동에 사용된다.
    은행은 이를 통해 고객 간 자금 흐름을 파악하고, 규정을 위반하는 고객을 식별할 수 있다.

  • 헬스케어
    = 지식 그래프는 의료 연구 내 관계를 구조화해 진단 확인이나 치료 계획 수립에 도움을 준다.
    의료 서비스 제공자는 이 정보를 활용해 환자의 개별 상황에 맞는 진단과 치료법을 제시할 수 있다.


위 게시글은 아래 사이트 내용을 한국어로 정리한 것이다.

출처 : IBM(What is a knowledge graph?)

profile
전공: 소프트웨어, 관심 분야: LLM, NLP, 지식 그래프

0개의 댓글