G·Graph Daily Lab
DAY 83 / 100
내 학습 기록
DAY 83개념·실험LLM과 지식 그래프

LLM으로 지식 그래프 만들기

문장 속 사실을 트리플로 바꾸는 일은 이제 LLM 프롬프트 한 번으로 시작할 수 있습니다. 스키마를 줄 때와 주지 않을 때 결과가 어떻게 달라지는지, 추출한 트리플을 어떻게 검증하는지 살펴봅니다.

약 20분조작형 실험 확인 퀴즈
A SMALL DETOUR

이번 회차, 내 속도로.

기초를 더 짚거나 궁금한 주제로 잠깐 넓혀 보세요. 최대 3단계를 거쳐 DAY 83로 돌아옵니다.

난이도·관심 주제 고르기
이번 회차는 어느 속도로 볼까요?
더 살펴볼 주제 1~2개 선택

1/2개 선택 · 새 보충·심화 수업과 본과정 다시 읽기를 선택할 수 있어요.

이렇게 다녀와요 1단계 · 약 12분

  1. 출발 · DAY 83스키마 기반 추출
  2. 1. 관심 주제스키마 표현·관계 방향·값 예시추가 33 · 새 추가 수업
  3. 복귀 · DAY 83원래 회차 이어가기
  • 스키마 표현·관계 방향·값 예시 · DAY 84에서 흔한 오류로 꼽은 존재하지 않는 레이블, 뒤집힌 방향, 값 표기 차이는 상당 부분 프롬프트의 스키마 표현에서 예방할 수 있습니다.

선택과 경로 기록은 이 브라우저에 저장됩니다. 본과정의 회차 완료와는 별도입니다.

복귀: DAY 83 → 본과정 다음 회차: DAY 84

핵심 개념

LLM 기반 추출은 문단과 지시문(추출할 엔티티 타입, 관계 타입, 출력 형식)을 주고 (엔티티, 관계, 엔티티) 목록을 받는 방식입니다. Zhu et al.(2023)은 엔티티·관계 추출, 사건 추출, 링크 예측, 질의응답 과제에서 LLM을 평가했고, GraphRAG(DAY 86)와 HippoRAG(DAY 91)도 인덱싱의 첫 단계에서 LLM으로 엔티티와 관계를 뽑습니다. 사람이 규칙을 짜지 않아도 되지만, 결과는 프롬프트와 모델에 따라 달라지는 확률적 산출물입니다.

스키마를 열어 두면(open extraction) 재현율은 높을 수 있지만 같은 관계가 ‘근무한다’, ‘재직 중’, ‘일한다’로 흩어지고, 같은 회사도 ‘누리칩’과 ‘누리칩 주식회사’로 갈립니다. 그러면 집계나 경로 질의가 어려워집니다. 스키마(Person, Company, WORKS_AT, FOUNDED)를 지정하면 관계 이름과 방향이 정규화되지만, 스키마 밖의 사실은 버려집니다. 실무에서는 역량 질문(DAY 61)으로 스키마를 정하고, 열린 추출 결과는 스키마를 넓힐 후보로 검토합니다.

추출한 트리플은 검증 전까지 ‘주장’입니다. 트리플마다 출처 청크 ID와 근거 문장을 함께 저장해 사람이 확인할 수 있게 하고, 근거 문장에 두 엔티티가 실제로 나오는지, 관계가 스키마의 정의역·치역(DAY 57)과 형태 제약(DAY 63)에 맞는지 검사합니다. LLM은 문장에 없는 관계를 그럴듯하게 만들어 낼 수 있으므로, 근거 문장이 없는 트리플은 넣지 않습니다. 대명사나 별칭은 엔티티 해소(DAY 68)와 엔티티 링킹(DAY 69)으로 같은 노드에 모읍니다.

LLM 추출은 스키마로 관계 이름과 방향을 정규화하고, 트리플마다 출처를 남겨 근거 없는 관계를 걸러 낼 때 쓸 만한 지식 그래프가 됩니다.

작은 예제로 따라가기

01

문단: “김도현은 2019년 가람전자에 입사했다. 그는 2023년 새봄랩을 공동 창업했다.” 스키마 없이 추출하면 (김도현, 입사했다, 가람전자), (그, 공동 창업했다, 새봄랩)처럼 대명사 ‘그’가 별도 엔티티로 남고 관계 이름이 자유 형식입니다.

02

스키마를 지정하면 (김도현:Person)-[:WORKS_AT {since:2019}]->(가람전자:Company), (김도현)-[:FOUNDED {year:2023}]->(새봄랩:Company)가 되고, 출처는 각각 문장1과 문장2입니다. 지금도 재직 중인지는 문장에 없으므로 since만 기록합니다.

03

LLM이 (새봄랩)-[:SUBSIDIARY_OF]->(가람전자)도 냈다면 두 문장 어디에도 근거가 없으므로 검증 단계에서 제거합니다.

직접 실험해 보기

‘스키마 없음’과 ‘스키마 지정’을 번갈아 선택해 같은 관계가 몇 가지 이름으로 나오는지 세고, ‘검증’ 버튼으로 근거 문장이 없는 트리플이 걸러지는지 확인하세요.

LIVE EXPERIMENT · KG EXTRACTION

스키마를 주고 LLM 추출 결과 정규화하기

기사 발췌 (C1·C3·C4를 풀어 쓴 문단) · 선택한 트리플의 근거 문장 강조

s1서윤은 2021년 다온시에서 가온배터리를 세웠다. s2강민은 2019년부터 누리전자에서 일한다. s3누리전자 연구소에 근무하는 강민은 다온대학교에서 박사 학위를 받았다. s4강민의 지도교수 이도는 지금도 다온대학교에 재직 중이다. s5서윤 역시 이도 연구실 출신이며, 가온배터리는 누리전자와 공급 계약을 맺었다.

첫 칸(트리플 번호 · 근거 문장)을 누르면 근거 문장이 강조된다
# · 근거주어관계목적어검증
서윤세웠다가온배터리—
가온배터리위치다온시—
강민일한다누리전자—
강민근무누리전자 연구소—
강민박사 학위다온대학교—
이도지도교수강민—
이도재직다온대학교—
서윤출신이도 연구실—
가온배터리공급 계약누리전자—
서윤재직누리전자—
관계 이름 9종 · 동의어 일한다/근무/재직 · 엔티티 표기 흔들림‘누리전자’와 ‘누리전자 연구소’, ‘이도’와 ‘이도 연구실’이 따로 노드가 된다. 재현율은 높지만 병합·정규화가 필요하다.

검증 규칙(이 실험의 단순화): 인용한 문장에 주어·목적어와 관계 단서가 모두 있어야 통과. 서윤과 누리전자는 s5에 함께 나오지만 ‘재직’ 단서가 없어 환각으로 걸러진다 — 같은 문장 등장 ≠ 관계.

이번에는 직접 풀어 보세요

정답을 보기 전에 계산과 이유를 적어 보세요. 해설과 비교하고 확인 표시를 남기면 완료할 수 있습니다.

문제 1
힌트 보기

같은 사실의 다른 표현과, 같은 회사의 다른 이름을 먼저 합칩니다.

풀이와 비교하기

‘누리칩’과 ‘누리칩 주식회사’를 엔티티 해소로 한 회사로 합치면 앞의 세 트리플은 모두 (민지:Person)-[:WORKS_AT]->(누리칩:Company) 하나가 됩니다. 본사는 (누리칩)-[:LOCATED_IN]->(판교:City)로 바꿉니다. 결과는 2개이며, 각 트리플에 원래 근거 문장들을 출처로 남깁니다.

풀이와 확인 표시는 이 브라우저에 저장됩니다.

YOUR NOTES

오늘 이해한 것과 다시 볼 것

계산이 달라진 이유, 헷갈린 개념, 다음에 확인할 질문을 남겨 보세요.

메모는 이 브라우저에 저장됩니다. 홈에서 전체 기록을 내려받을 수 있습니다.

오늘의 이해 확인

LLM 추출 결과의 트리플마다 출처 청크 ID와 근거 문장을 함께 저장하는 가장 중요한 이유는?

완료 조건: 확인 퀴즈 정답 · / 직접 풀기 0/1

FURTHER READING

더 깊이 읽기

예제와 실험 데이터는 이 과정을 위해 만든 것입니다. 원문은 선택 자료이며, 강의와 직접 풀기만으로도 다음 회차를 이어갈 수 있습니다.

LLMs for Knowledge Graph Construction and ReasoningZhu et al. (2023)Unifying Large Language Models and Knowledge Graphs: A RoadmapPan et al. (2023)

이 자료는 개념 학습용입니다. 실제 데이터베이스·라이브러리·플랫폼의 동작과 설정은 제품과 버전마다 다를 수 있습니다.