지식그래프, 시맨틱웹 & 온톨로지

용어

  • Semantic Web : 시맨틱 웹
    • 웹 상의 데이터를 기계가 이해할 수 있도록 온톨로지 형태로 구조화하는 기술과 표준의 집합
    • 웹 페이지의 내용이 사람뿐만 아니라 컴퓨터에 의해서도 “이해”될 수 있도록 만드는 것을 목표
  • RDF (Resource Description Framework) : 자원 설명 프레임워크
    • 웹 상의 정보를 모델링하고 구조화하기 위한 표준 프레임워크, 소프트웨어가 웹의 데이터를 더 잘 이해하고 지능적으로 처리하도록 함.
    • 트리플 기반 데이터 모델 : 데이터를 ‘주어(subject)’, ‘서술어(predicate)’, ‘목적어(object)’의 형태로 표현하여, 정보의 의미와 관계를 명확하게 정의
    • 유연한 데이터 통합: RDF는 다양한 출처에서 온 데이터를 통합하고 연결하는 데 유용. RDF의 표준화된 모델 덕분에 서로 다른 형식이나 스키마를 가진 정보도 쉽게 결합하고 확장 가능
  • OWL (Ontology Web Language) : 온톨로지 웹언어
    • 웹상의 데이터와 그 관계에 대한 복잡한 온톨로지를 정의하는데 사용되는 언어
    • 데이터 간의 의미 있는 연결을 만들고, 컴퓨터가 데이터의 구조와 의미를 “이해”할 수 있도록 도움
  • Ontology : 온톨로지
    • 개념 체계 및 관계, 데이터와 그 데이터 간의 관계, 데이터의 속성 등을 체계적으로 정리하여 표현하는 것
    • 데이터 간의 복잡한 관계를 표현하고, 컴퓨터에게 해당 도메인의 지식을 “이해”할 수 있는 구조를 제공
  • URI (Uniform Resource Identifier) : 통합 자원 식별자
    • 인터넷 상에 존재하는 각종 자원(웹페이지, 이미지, 동영상 등)을 나타내는 고유한 주소입니다.
    • 예를 들어, 웹사이트 주소나 이메일 주소 등이 이에 해당합니다.
  • XML (eXtensible Markup Language) : 확장 가능 마크업 언어
    • 데이터의 구조와 의미를 설명하는 태그(tag)를 사용하여 메타 정보(데이터에 대한 데이터)를 표현하는 언어입니다.
    • 네임스페이스(NS)는 같은 이름을 가진 태그나 속성이 혼동되지 않도록 구분해주며, XML스키마는 데이터의 구조와 타입을 정의하는 규칙입니다.

지식그래프 & 벡터 데이터베이스

LLM은 유창하고 일관된 텍스트를 생성하지만 종종 부정확하거나 일관성 없는 정보를 생성하는 문제가 있으며 이를 환각(hallucination)이라고 합니다. 이러한 문제를 해결하기 위해 벡터 데이터베이스나 지식 그래프와 같은 외부 지식 소스를 사용하는 방법이 제안되었습니다.

벡터 데이터베이스(Vector Database)

  • 고차원 벡터의 모음으로, 단어, 구문, 문서와 같은 개체나 개념 :: 예를 들어, “파리”와 “프랑스”가 “파리”와 “독일”보다 더 관련이 있다고 벡터 거리를 통해 알 수 있음
  • 저장 : 데이터를 수치 배열로 저장
  • 쿼리 : 유사한 벡터를 검색하거나 특정 기준에 따라 벡터를 검색, 유사성 검색에 적합 :: 예를 들어, 주어진 참조 고객과 유사한 고객 프로필을 찾는 것과 같습니다.

지식 그래프(Knowledge Graph)

  • 개체나 개념과 그 관계를 나타내는 노드와 엣지의 모음 :: 예를 들어, “파리”가 “프랑스”의 수도라는 사실을 엣지 라벨을 통해 알려줌
  • 저장 : 데이터를 노드와 엣지로 데이터를 저장
  • 쿼리 : 그래프 구조를 순회하고 특정 기준에 따라 노드, 관계, 패턴을 검색, 복잡한 관계와 의미 분석에 유용 :: 예를 들어, 소셜 네트워크에서 사용자의 친구의 친구를 서치하게 됨
  • 지식 그래프의 주요 구성 요소
    • 정점/노드: 지식 영역의 개체나 객체
    • 엣지: 두 노드 사이의 관계
  • 지식 그래프에서의 트리플
    • 주체(Subject), 목적(Object), 서술자(Predicate)로 구성
    • 지식 그래프 데이터의 기본 단위입니다.

지식 그래프가 LLM 환각 문제에서 벡터 데이터베이스보다 나은 이유

  • 지식 그래프는 벡터 데이터베이스보다 더 정확하고 구체적인 정보를 제공
  • 다양하고 복잡한 쿼리를 지원하며, 더 많은 추론과 추론을 가능하게 함
  • LLM에게 더 정확하고 관련성 높은 텍스트를 생성하도록 함
Implement RAG with Knowledge Graph and Llama-Index | by Plaban Nayak | AI Planet

지식그래프가 어려운 이유

지식그래프는 지식을 조직하는 데 사용되는 효과적인 기술이지만, 실제적인 구현이 어렵습니다. 하지만, AI가 발전하면서 이에 대한 대안이 나오는 것 같고, 팔란티어는 이를 가장 잘하는 기업으로 판단할 수 있겠습니다. 아래 내용은 2021년에 작성된 것으로 요약합니다. (사라진/불가한 등의 단어는 ‘어려운’으로 변경)

https://dongshengwang.medium.com/5-reasons-knowledge-graph-will-never-bloom-418601957f33

지식 그래프의 기원

  • 웹의 발전을 웹 1.0에서 웹 2.0, 그리고 웹 3.0으로 나누며, 웹 3.0은 시맨틱 웹으로서 가독성과 이해도를 높이는 것으로 이해됨.
  • 시맨틱 웹을 이해하는 한 단어는 통합. 시맨틱 웹의 핵심 원리는 데이터를 포괄적으로 통합하는 것으로, RDF 트리플 형식이 전 세계 지식 표현의 범용 솔루션으로 제시

시맨틱 웹이 어려운 이유

  • RDF 공유가 어려움 : RDF 데이터베이스의 이해하기 어렵고, 구식이며, 신뢰할 수 없으며, 다양성이 너무 크다는 문제가 있음
  • RDF 소비 비용이 높음: RDF 데이터를 소비하는 것은 상당한 노력이 필요하며, JSON 데이터에 비해 접근성이 부족.
  • 온톨로지 정의 남발: 공유된 어휘 체계를 사용해야 하는 이상적인 상황과 달리, 실제로는 체계가 남발되는 문제가 있음.

지식그래프가 번창하지 못하는 이유

  • 개체를 일반화하기 어려움 : 개체의 세분성과 모호성의 문제가 있음.
  • 관계의 남발 : 너무 복잡한 관계 정의는 이해와 소비를 어렵게 만듬
  • 단순한 트리플 형식은 더 큰 복잡성을 초래: 데이터 공유를 위한 최소 단위로서의 트리플 형식은 실제로 더 큰 복잡성을 가져움
  • 데이터베이스로서 지식 그래프에 접근하기 어려움 : 지식 그래프를 효율적으로 사용하기 위한 높은 이해가 필요.
  • 신뢰할 수 없는 품질과 생성 지연 : RDF의 정확성을 보장할 기술이 없으며, 신규 데이터의 등장 속도에 비해 RDF 생성이 느림.

하지만 여전히 지식그래프가 필요한 이유와 방향성 제안

  • KG는 현재 인간 사고와 유사한 기술로서 가장 유망하게 여겨짐
  • 딥러닝의 발전 이후에도 다음 돌파구를 위한 희망을 제공하는 다른 대안 기술이 없음
  • 지식의 형태나 그래프보다 지식 자체에 초점을 맞추기: 지식 그래프보다는 도메인별로 특화된 개체를 구축하는 데 BERT와 같은 모델에서 나온 토큰 수준의 의미론을 사용해야 함
  • 가능한 한 KG 기술을 단순화하기: UUID를 사용하여 엔티티를 전 세계적으로 고유하게 식별할 수 있음. n-튜플 지식 형식을 쉽게 접근하고 이해할 수 있도록 해야 함

온톨로지 설계

  • 온톨로지 개념
    • 지식 정보 자원들 간의 의미 관계를 컴퓨터가 인식하여 지식 정보의 전달과 습득을 용이하게 하는 기술
    • 본래 철학적 개념으로, 존재를 탐구하는 학문에서 유래
  • 온톨로지 설계 요소
    • 설계를 위해서는 ‘클래스’, ‘속성(Attributes)’, ‘관계(Relationships)’의 세 가지 요소가 필요
  • 온톨로지 구축 예시
    • 넷플릭스와 연관된 다양한 요소(드라마, 배우, 스트리밍 서비스 등)를 마인드맵 형태로 나열하고, 연관성에 따라 연결
    • 유사한 성격을 가진 요소들을 클래스로 범주화합니다(예: 배우, 드라마, 스트리밍 플랫폼).
    • 각 요소들의 고유한 정보를 속성으로 정의합니다(예: 배우의 나이, 생년월일).
    • 요소들 간의 의미 관계를 RDF 구문으로 설명하여 관계성을 부여(예: 손석구는 ‘나의 해방일지’에 출연).

클래스 설계

속성 설계

관계성 설계

Reference

      error:
      Scroll to Top