학교 공부/졸업 프로젝트 (RAG)

[논문 Review] Development of an Automated ESG Document Review System using Ensemble-Based OCR and RAG Technologies

iinana 2025. 4. 9. 16:02
728x90

ESG 관련 내용은 제하고, 졸업 프로젝트에 필요한 RAG 기술 관련 내용을 중심으로 정리했다.


Technology Overview (only about RAG)

1. RAG 작동 과정

  • Data Gathering(데이터 수집): 다양한 원천 데이터(PDF, TXT, CSV, 웹 URL 등)를 사용해 LLM에 최신 지식이나 심층 지식 전달
  • Data Loading: 수집한 데이터를 시스템으로 불러오는 단계 (데이터 구조 파악, 불필요한 텍스트 제거 등)
  • Data Splitting: 데이터를 Chunk 단위의 작은 조각으로 나누는 단계. LLM에 불필요한 정보가 제공되는 것을 최소화. (다만 청크 사이즈가 너무 작으면 핵심 정보 누락, 텍스트 맥락의 모호성 발생)
  • Data Embedding: 청크 단위로 분할된 텍스트를 숫자 벡터로 전환하는 단계. 의미론적 특성 보존을 위해 원천 데이터세 사용된 언어로 충분히 학습한 임베딩 모델 선정 필요
  • Data Storing(데이터 저장): 벡터 데이터베이스에 임베딩된 청크와 메타 정보 저장. (벡터 데이터베이스는 Approximate Nearest Neighbor) 알고리즘을 사용하여 고차원 벡터를 효율적으로 인덱싱 하고 검색)
  • Retrieval(문서 검색): 사용자의 질문과 관련된 정보 검색 (코사인 유사도, 앙상블 기법 등 적용)
  • Generation(답변 생성): Few-shot learning이나 기타 특화된 프롬프트 템플릿 등을 사용하면 답변 품질 향상 가능. 프롬프트 엔지니어링을 통해 오픈소스 LLM을 최적화. 

 

2. RAG 시스템 구축에 활용되는 오케스트레이션 프레임워크

(1) LangChain

  • 모듈화된 구조와 풍부한 통합 기능 제공으로 복잡한 LLM 애플리케이션 개발에 용이
  • 다양한 LLM, 임베딩 모델, 벡터 저장소에 높은 호환성 제공
  • Chain과 Agent라는 개념을 토대로 복잡한 작업을 효율적으로 구현 가능

(2) LlamaIndex

  • 대규모 데이터셋에 효율적인 인덱싱과 쿼리 기능
  • 다양한 데이터 소스에 대한 커넥터 제공
  • 고급 쿼리 엔진 옵션을 통해 정확하고 신속한 정보 검색 지원

 

3. Limitation of RAG Systems

(1) RAG 시스템의 성능이 구성 요소의 개별 성능에 크게 의존

  • 데이터 분할 시 청크 사이즈 => 필요한 정보 누락 가능성 => retriever와 LLM 등 RAG 시스템 전반에 악영향
  • 임베딩 모델의 품질 => 의미적 유사성 포착에 영향 => 연관 정보 검색에 영향
  • 검색기의 성능 => LLM에 전달되는 정보의 품질 => 답변의 정확도

(2) 중간 정보 소실

  • 컨텍스트가 길어지면 LLM 정보처리 작업에 오류 발생 가능 (전체 정보를 균형 있게 처리하지 못하고 시작과 끝부분에 위치한 정보에 집중)
  • 복잡하고 긴 컨텍스트를 다룰 때는 정보 소시 문제를 완화하기 위한 별도의 알고리즘 적용 필요

(3) 환각 현상 발생 가능성

  • 외부 지식 베이스를 사용한다고 하더라도 검색 정보를 잘못 해석하거나 누락하여 환각 현상 발생 가능
  • LLM의 응답에 대한 추가적인 검증 과정 도입 필요

연구 내용

1. Proposed method for RAG System (한계점 극복 및 모델 개선을 위한 제안)

(1) 원본 문서의 레이아웃 분석을 위한 알고리즘 개발

  • 문서에서 텍스트 추출 시 레이아웃에 대한 고려가 없으면 데이터 무결성 훼손
    • 결과적으로는 검색기 성능을 저하시켜 LLM이 부적절한 답변일 생성할 확률을 높인다
  • 문서의 레이아웃을 분석하는 알고리즘을 개발하고, 텍스트 추출에 앞서 적용
    • 원본 문서의 의미론적 구조 보존
    • RAG 시스템의 정보 검색 및 답변 생성 성능 향상

(2) ensemble retriever(앙상블 검색기) 구현

  • 다양한 검색 모델을 결합하여 정보 검색의 정확성과 신뢰성을 향상하는 기법
  • hybrid search (sparse retriever + dense retriever)
    • sparse retriever: 키워드 기반 문서 탐색 
      • 장점: 임베딩 과정 불필요, 검색 속도 빠름
      • 단점: 동의어나 유사어 인식에 취약
    • dense retriever: 의미적 유사성을 기반으로 관련 정보 검색
      • 장점: 동의어나 유사어 등을 감안하여 검색 결과 제공 가능
      • 단점: 고성능 임베딩 모델이 전제되지 않으면 연관 문서 검색 성능 크게 저하 가능. 핵심 키워드가 누락된 청크를 가장 관련성 높은 정보로 선별하는 오류를 일으키기도 함.
  • BM25(sparse retriever) + FAISS(dense retriever) => ensemble retrivever 구현

(3) Re-ranking 알고리즘 적용

  • 검색된 정보의 정확성을 높이고, 일부 주요 정보 누락 가능성 개선 목적
  • 문서 검색 다녜 이후에 재정렬 알고리즘을 적용하여, 검색된 연관 정보의 순서를 효과적으로 재구성

(4) 다층적 Fact-cheking 메커니즘 도입

  • 선행 검증: 최종 결론 도출에 앞서, 앙상블 기법이나 프롬프트 엔지니어링 등을 활용하여 LLM 답변을 내부적으로 검증
    • Multi-model Ensemble 기법을 활용하여 여러 모델에서 얻은 출력을 비교
    • Self-consistency Check을 통해 동일 모델의 다양한 출력 평가
  • 후행 검증
    • LLM이 산출한 최종 결론에 대해 인간 전문가가 직접 답변의 정확성 평가
    • 답변의 사실적 정확성, 맥락적 적절성, 일관성, 윤리적 측면까지 종합적으로 평가

 

3. 회사 내규 검토 과정 (6단계)

(1) 레이아웃 분석

  • 다단구조 여부 파악
  • 헤더, 푸터 텍스트 확인 (헤더, 푸터 텍스트를 딕셔너리 형태로 저장)

(2) 데이터 로드&전처리

  • 원본 문서의 구조적 특성을 감안하여 텍스트 추출
  • 헤더/푸터 딕셔너리를 바탕으로 불필요한 텍스트 삭제

(3) 데이터 분할

  • 2단계에 걸쳐 전처리된 텍스트가 여러 개의 작은 청크로 분할
  • [1차 분할] 조항번호 등을 구분 값으로 하여 비교적 큰 사이즈의 청크 생성
  • [2차 분할] 1차청크가 더 작은 단위의 청크로 분할되면서, 연관정보 검색에 최적화된 소형 청크 생성

(4) 임베딩

  • 허깅페이스에 공개된 'ko-sroberta' 모델 기반
  • 2차 분할된 청크를 고차원 숫자 벡터로 변환 (벡터 검색을 위한 데이터로 활용)

(5) 연관정보 검색

  • Ensemble retriever 활용
  • 사용자 질의와 연관된 정보 검색 -> re-ranking으로 재정렬 -> LLM에 전달

(6) 답변 생성

  • LLM 프롬프트와 재정렬된 연관 정보 참고하여 최종 답변 생성
  • 답변에 참고한 정보를 함께 제공

Eun-Sil Choi. (2024). Development of an Automated ESG Document Review System using Ensemble-Based OCR and RAG Technologies. Journal of The Korea Society of Computer and Information, 29(9), 25-37.

728x90