#LLM #RAG #검색 기반 답변 생성
문서 속 금액의 역할을 구분해,
질문에 맞는 근거를 찾았습니다.
RFP 한 건에도 사업예산, 기준금액, 세부 항목별 금액과 지급 조건이 함께 등장합니다. 숫자만 추출하면 서로 다른 금액이 같은 의미로 섞일 수 있어, 문서 위치와 표의 행·열 관계, 주변 항목명을 함께 보존했습니다. 각 금액이 전체 사업비인지, 세부 항목인지, 지급 조건인지 역할을 나누고 답변 근거로 사용할 수 있는지도 표시했습니다. 검색 단계에서는 질문과 관계없는 숫자를 걸러내고, LLM에는 문맥이 남은 근거를 전달하도록 했습니다.
- 프로젝트
- LLM·RAG 기반 입찰 정보 탐색
- 기간
- 2026.05.12–2026.06.04
- 구분
- 5인 팀 프로젝트
- 본인 역할
- 문서 구조화 · 검색 데이터 구축 · LLM 답변 생성 실험

문제
텍스트만 남기면, 항목과 수치의 관계가 끊겼습니다.
기업·정부 RFP를 일반 텍스트로 바꾸면 표의 항목과 값이 분리되고, 주변의 다른 금액과 잘못 연결될 수 있었습니다. 문서의 내용을 많이 가져오는 것보다, 어떤 질문에 쓸 수 있는 근거인지 구분하는 일이 필요했습니다.
본인 역할
문서 구조를 검색 데이터의 기준으로 삼았습니다.
HWP/HWPX 파싱과 JSON 구조 설계, 검색용 코퍼스 구축을 주로 맡았습니다. PowerShell 기반 한컴오피스 자동화로 HWP 665건 중 664건을 HWPX로 변환하고 XML의 문단·표·행·열·병합 셀 정보를 추출했습니다.
본문·표·핵심 사실 후보를 구분하고, 문서 위치와 금액의 역할·답변 근거 사용 여부를 구조화했습니다. 데이터 변경 확인을 위한 검색 실험과 LangChain 기반 LLM 답변 생성 실험에도 참여했습니다.
실제 문서와 데이터
표의 항목과 값을, 연결된 근거로 남겼습니다.
여러 행에 걸친 병합 셀은 사업명과 작업 유형의 관계가 끊기지 않도록 하나의 검색 단위로 만들었습니다. 같은 문서의 사업예산은 별도의 project_budget 레코드로 분리해, 금액의 역할과 답변 가능 여부를 함께 표시했습니다.

{
"chunk_id": "doc_fe9a9ee9e4f3_fact_candidates_fact_0002_part_001_9841c249eda7",
"chunk_type": "fact_candidates",
"fact_type": "project_budget",
"content": "사업예산: 금243,000,000원 (VAT 포함)",
"metadata": {
"final_budget": "243,000,000원",
"final_budget_krw": "243000000",
"final_budget_status": "source_verified",
"budget_value_role": "project_budget",
"answer_policy": "allow_as_project_budget",
"budget_answer_enabled": true
}
}
선택과 판단
자세한 데이터와, 실행에 필요한 데이터는 달랐습니다.
초기에는 검수에 필요한 정보를 상세히 넣었지만 전체 문서로 확장하자 데이터 적재와 메모리 부담이 커졌습니다. 세부 출처·보정 이력은 검수용으로 남기고, 검색과 답변에 필요한 정보는 실행용으로 분리했습니다.
금액의 의미를 판단하는 신호와 임베딩 대상 텍스트는 유지하면서 불필요한 중복 필드를 줄였습니다. 정보 보존과 자원 제약을 함께 고려하는 방향으로 설계를 수정했습니다.
개선 결과
팀이 검색·답변 실험에 사용할 데이터 기반을 구축했습니다.
690건의 RFP를 대상으로 문서·표·근거 관계를 담은 검색용 데이터를 구축했습니다. 검색과 답변에 필요한 필드는 유지하고 중복 데이터를 줄여, 실행용 데이터 파일을 500.05MB에서 384.42MB로 23.1% 줄였습니다.
팀은 이 코퍼스를 바탕으로 RAG 검색·답변 파이프라인을 고도화했습니다. 본인의 주 기여는 데이터 처리와 구조 설계이며, 최종 서비스는 팀 공동 결과물입니다.
팀 서비스 시연
질문 입력부터 답변과 근거 확인까지

활용 흐름
원문 → 구조화 데이터 → 검색 근거 → 답변
- 문서의 본문과 표 구조를 추출합니다.
- 항목과 값의 관계, 문서 위치, 금액의 역할을 구분합니다.
- 질문에 맞는 근거를 검색하고, LLM 답변에 연결합니다.