Knowledge Foundations
문서·레코드·관계와 근거 이력을 구분하고 Knowledge Base의 단위를 정한다.
Knowledge Representation
무엇을 지식으로 저장하는가
Overview 개요#
Knowledge Base(지식베이스)는 파일을 모아 놓는 곳을 넘어, 식별 가능한 지식과 그 근거를 검색·연결할 수 있게 조직한 시스템이다. 같은 법령 조문을 텍스트, 레코드, 관계로 표현해 차이를 살펴본다.
Concept 핵심 개념#
원문 텍스트는 표현을 충실히 보존하지만 필드별 질의가 어렵다. 레코드는 문서 ID·제목·페이지·시행일을 분리해 필터와 조인을 가능하게 한다. 관계 표현은 두 대상을 방향과 이름이 있는 연결로 묶는다. 이 세 표현은 서로 대체하기보다 같은 출처를 가리키도록 함께 유지할 수 있다.
RDF(Resource Description Framework)의 triple은 subject·predicate·object로 구성된다. 이 체험은 조문 ID를 주어로 하는 단순 관계 목록을 만든다. 번호를 발견했다는 사실과 그 번호가 정확히 어느 법령의 조문을 뜻하는지는 다른 문제이므로, 자동 추출 연결은 candidateReference로 표시한다.
triple = (subject, predicate, object)
Hands-on 직접 살펴보기#
같은 조문 ID에서 표현 방식을 바꾸고, 보존되는 본문과 새로 생기는 필드를 비교한다. 관계 수가 많다는 이유로 정확한 지식이 많다고 해석하지 않는다.
기본 입력으로 계산한 결과
계산 내용
{
"id": "a-618",
"type": "Article",
"title": "제618조 · 정의",
"part": "제3편 보건기준",
"chapter": "제10장 밀폐공간 작업으로 인한 건강장해의 예방",
"page": 111,
"version": "2026-03-02",
"candidateLinks": []
}원문 발췌와 검색 질의는 한국어를 유지합니다. 문서 ID와 PDF 페이지로 계산에 쓰인 출처를 확인할 수 있습니다.
Schema & Identity
찾을 수 있고 추적할 수 있는 레코드
Overview 개요#
Schema(스키마)는 레코드가 가져야 할 필드와 값의 형식을 정한다. ID가 같다는 조건, 본문이 같다는 조건, 출처가 같다는 조건을 별도로 정의해야 한다.
Concept 핵심 개념#
문서 ID는 안정적인 참조 주소이고 content hash는 내용 동일성의 단서다. 제목은 바뀌거나 중복될 수 있어 단독 기본키로 쓰기 어렵다. 조문 번호만 사용하면 다른 법령·다른 시행본의 같은 번호가 충돌하므로 source ID와 version을 함께 관리해야 한다.
필수 필드를 많이 둔다고 지식이 정확해지는 것은 아니다. 이 예시는 id·text·source·page·effective·sha256의 존재를 확인한다. SHACL(Shapes Constraint Language)은 RDF 그래프에 구조 제약을 표현하는 표준이며, 여기서는 그 전체 구현 대신 JSON 레코드의 단순 필드 검사만 수행한다.
completeness = present required fields / all required fields
Hands-on 직접 살펴보기#
페이지·시행일·해시 필드를 껐다 켜며 어떤 추적 정보가 사라지는지 확인한다. 필드 존재 검사의 성공을 내용 검증의 성공으로 해석하지 않는다.
기본 입력으로 계산한 결과
이 스키마의 필수 필드는 실습을 위해 정한 값이다.
| 필드 | 존재 | 값 |
|---|---|---|
| id | ✓ | a-618 |
| text | ✓ | 408 characters |
| source | ✓ | source-law.pdf |
| page | ✓ | 111 |
| effective | ✓ | 2026-03-02 |
| sha256 | ✓ | 342617496a5a5cb6445d935b89e73dcea2014421513a76d95b04a6d218ddd851 |
원문 발췌와 검색 질의는 한국어를 유지합니다. 문서 ID와 PDF 페이지로 계산에 쓰인 출처를 확인할 수 있습니다.
Knowledge Lifecycle
원본에서 검색 단위까지
Overview 개요#
Ingestion(수집), parsing(파싱), chunking(청킹), indexing(색인), retrieval(검색), evaluation(평가), refresh(갱신)는 서로 다른 상태 전환이다. 원본 파일 수와 검색 레코드 수를 혼동하지 않는다.
Concept 핵심 개념#
작은 문서 하나도 겹침을 둔 청킹을 거치면 여러 검색 단위가 된다. 청크 수는 색인 크기, 검색 후보의 중복, 문맥 조립량에 영향을 준다. 원본 PDF 크기와 추출 텍스트의 UTF-8 크기도 다르며 이미지나 글꼴 포함 여부에 영향을 받는다.
차원 d인 float32 벡터 n개의 순수 값 저장량은 4nd bytes다. 메타데이터·그래프·ANN 구조·복제본·정렬 버퍼는 포함하지 않는다. 따라서 이 산술값은 서버 비용 견적이나 실제 메모리 측정값으로 쓰지 않는다. 갱신 단계에서는 어느 변환부터 다시 계산할지를 버전과 해시로 결정한다.
vector bytes = 4 × n × d stride = L − O
Hands-on 직접 살펴보기#
처리 문서 수·청크 길이·겹침·차원을 바꾼다. 실제 문서의 청크 수와 UTF-8 크기를 계산하고 벡터 저장량의 산술 추정과 구분한다.
기본 입력으로 계산한 결과
벡터 메모리는 선택 차원의 float32 산술 추정이며 인덱스 부가비용은 포함하지 않는다.
| 단계 | 규모 | 성격 |
|---|---|---|
| Source | 2795689 | bytes |
| Extracted | 36388 | characters |
| Chunks | 135 | records |
| Vector estimate | 207360 | float32 bytes |
원문 발췌와 검색 질의는 한국어를 유지합니다. 문서 ID와 PDF 페이지로 계산에 쓰인 출처를 확인할 수 있습니다.
Provenance
답에서 원본까지 이어지는 근거 이력
Overview 개요#
Provenance(출처 이력)는 무엇이 어떤 입력과 변환으로 만들어졌는지를 남긴다. PDF 파일, 추출 조문, 현재 비교 입력을 SHA-256과 페이지 번호로 연결한다.
Concept 핵심 개념#
W3C PROV는 entity·activity·agent를 구분한다. 원본과 청크는 entity, 추출·청킹은 activity, 이를 수행한 시스템은 agent로 볼 수 있다. 출처 URL 하나만 저장하면 버전 변경이나 텍스트 변환 때문에 당시 근거를 재현하지 못할 수 있다.
내용 해시는 같은 바이트 입력인지 비교하는 도구다. 해시 일치는 내용이 사실이라는 인증이 아니며, 서로 다른 정규화 방식은 다른 해시를 만든다. 실습은 원본 PDF의 해시와 추출 본문의 해시를 별도로 보존하고, 현재 입력의 해시를 Web Crypto로 다시 계산한다.
H_current = SHA256(UTF8(text_current))
Hands-on 직접 살펴보기#
변경 문자열을 추가한 경우와 원문 그대로인 경우를 비교한다. 조문 ID를 바꾸지 않아도 내용 해시는 달라질 수 있음을 확인한다.
기본 입력으로 계산한 결과
| 단계 | 식별자 | SHA-256 |
|---|---|---|
| source-law.pdf | bf2988a8e11793235a1e95e4410ab037a9479349ccdf52a51a49bd80387be37f | |
| Article | a-618 | 342617496a5a5cb6445d935b89e73dcea2014421513a76d95b04a6d218ddd851 |
| Current input | a-618 | 342617496a5a5cb6445d935b89e73dcea2014421513a76d95b04a6d218ddd851 |
제618조 · 정의
제618조(정의) 이 장에서 사용하는 용어의 뜻은 다음과 같다. <개정 2017. 3. 3., 2023. 11. 14.>
1. “밀폐공간”이란 산소결핍, 유해가스로 인한 질식ㆍ화재ㆍ폭발 등의 위험이 있는 장소로서 별표 18에서 정한 장소
를 말한다.
2. “유해가스”란 이산화탄소ㆍ일산화탄소ㆍ황화수소 등의 기체로서 인체에 유해한 영향을 미치는 물질을 말한다.
3. “적정공기”란 산소농도의 범위가 18퍼센트 이상 23.5퍼센트 미만, 이산화탄소의 농도가 1.5퍼센트 미만, 일산화탄
소의 농도가 30피피엠 미만, 황화수소의 농도가 10피피엠 미만인 수준의 공기를 말한다.
4. “산소결핍”이란 공기 중의 산소농도가 18퍼센트 미만인 상태를 말한다.
5. “산소결핍증”이란 산소가 결핍된 공기를 들이마심으로써 생기는 증상을 말한다.원문 발췌와 검색 질의는 한국어를 유지합니다. 문서 ID와 PDF 페이지로 계산에 쓰인 출처를 확인할 수 있습니다.