RETRIEVAL DESIGN
How it’s built
v1.0 · 2026-10-27
Method
- 정적 HTML·CSS·JavaScript로 구성한다. 입력 변경 계산은 Web Worker에서 실행한다. 기본 입력의 표와 SVG는 같은 엔진으로 미리 계산해 HTML에 넣었다. 언어·테마·글자 크기를 바꿔도 계산 모델은 같다.
- 브라우저 모델 학습 없음. 준비 단계에서 TF-IDF→SVD를 적합했다. NumPy 2.3.5 · scikit-learn 1.8.0 · PyMuPDF 1.26.6 · KaTeX 0.16.11.
- 본문 초안 작성 보조: GPT-6. 실습 실행 중 LLM 호출 없음.
- 1 Query Expansion — 난간·공기·환기·정비·소음이 들어간 질의를 사용하고 확장을 켜거나 끈다. 상위 결과의 교집합과 새로 등장한 문서를 확인한다.
- 2 Filtered Retrieval — 같은 질의로 방법·편·문서 종류를 바꾼다. 결과가 0이면 질의뿐 아니라 필터 조건도 함께 살펴본다.
- 3 Diversity Reranking — λ를 1에서 낮추고 새 순위와 원래 BM25 순위를 비교한다. 선택된 원문을 읽고 다양성이 필요한 질의인지도 판단한다.
- 4 Knowledge Graph Retrieval — 제619조의2 등에서 시작하고 hop 수·모호한 후보 포함 여부를 바꾼다. 연결이 존재한다는 사실과 실제 근거로 사용할 수 있다는 판단을 분리한다.
Data
- 사용자가 첨부한 2026-03-02 시행본 PDF 168쪽에서 712개 레코드를 만들었다. 검색은 조문과 별표·부칙 레코드 단위이며 청킹 탭은 분할 원리를 별도로 실험한다. TF-IDF 어휘 3,000개와 시드 42로 32차원 LSA를 만들었다. 계산 데이터 4.55 MB와 원본 PDF 2.80 MB를 공통 폴더에 둔다.
- 공개 법령 원문 + 작성한 관련성 라벨 12개 + 범위 밖 질의 2개. 문서 접근 등급·공격 문자열·질의 변형은 합성 입력이다.
- 입력은 앱 저장소에 보관하지 않는다. 상태 URL에는 실습 값이 포함되며 테마·글자 크기는 localStorage에 저장한다.
Validation
- 수식은 BM25·RRF·코사인·순위 지표의 정의와 독립 계산값을 대조한다. 시드 재현성·경계 입력·상태 직렬화·인용 추적·로컬 파일 연결은 소스 검증 스크립트로 확인한다. 공개 데이터에 붙인 관련성 라벨과 접근 등급은 작성자가 만든 설명용 예시다.
- 18개 계산·구조 검증 항목과 기본·최소·최대 입력 108개를 통과했다. BM25 수작업 예제, RRF 합산, 순위 지표, SHA-256 일치와 시드 재현을 포함한다.
Scope
- Knowledge Base 구축 기술을 다루며 OSH 안전 규정 해설은 별도 영역이다. 이 구현은 실제 LSA·BM25 계산을 사용한다. OCR, 신경망 임베딩, 생성형 답변, HNSW, 운영 인증 서버는 실행하지 않는다. RAG 탭은 근거 선택·컨텍스트 조립·인용·보류 기준을 다룬다.
- Query Expansion: 검색 질의 · 한국어 원문 ≤300 characters, 검색 깊이 k 1–20 , 규칙 확장 0 / 1
- Filtered Retrieval: 검색 질의 · 한국어 원문 ≤300 characters, 검색 깊이 k 1–20 , 검색 방법 bm25 / lsa / hybrid, 편 필터 all / 1 / 2 / 3 / 4, 문서 종류 all / article / annex / supplement
- Diversity Reranking: 검색 질의 · 한국어 원문 ≤300 characters, 검색 깊이 k 1–20 , 관련성 가중치 λ 0–1
- Knowledge Graph Retrieval: 조문 ID ≤300 characters, 최대 hop 0–3 , 모호한 후보 포함 0 / 1
Sources
- Robertson & Zaragoza · The Probabilistic Relevance Framework: BM25 and Beyond (2009)
- Lewis et al. · Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks (2020)
- OWASP · Authorization Cheat Sheet
- Goldstein & Carbonell · Summarization: Using MMR for Diversity-Based Reranking and Evaluating Summaries (1998)
- Karpukhin et al. · Dense Passage Retrieval for Open-Domain Question Answering (2020)
- W3C · RDF 1.1 Concepts and Abstract Syntax (2014)
- W3C · SPARQL 1.1 Query Language (2013)
- W3C · PROV-DM: The PROV Data Model (2013)
- 실습 코퍼스 · 첨부 PDF와 추출 레코드
- 법령 본문: 대한민국 저작권법 제7조의 보호받지 못하는 저작물. 첨부 시행본을 그대로 보존한다.
- NumPy · BSD-3-Clause; scikit-learn · BSD-3-Clause; PyMuPDF · AGPL-3.0 (preparation only); KaTeX · MIT (CDN)
History
- 2026-10-27 · v1.0 · 공개