본문으로 건너뛰기

© 2026 Molayo

GitHub요약2026. 05. 18. 20:02

그래프 증강 기술을 활용한 독일 법률 텍스트 분석 및 RAG 시스템 구축

요약

독일 법률 텍스트 분석을 위해 지식 그래프(Knowledge Graph)와 RAG 시스템을 결합한 프로젝트입니다. 법률 도메인의 특수성을 반영하기 위해 의미론적 텍스트 분할과 네트워크 이론을 활용하여 언어 모델의 응답 정확도와 문맥 이해도를 높이는 데 집중합니다.

핵심 포인트

  • 도메인 특화 지식 그래프 생성을 통한 법률 개념 간의 상호 연결성 시각화
  • OpenAI의 GPT-3.5 및 GPT-4를 통합한 문맥 강화 RAG 시스템 구축
  • 의미론적 텍스트 분할(Semantic text splitting) 및 벡터 공간 모델링 활용
  • TF-IDF 및 코사인 유사도를 이용한 정교한 문맥 분석 기술 적용

이 프로젝트는 법률 기술 (Legal Tech) 연구 분야의 집중적인 노력을 나타내며, 독일 법률 텍스트를 분석하기 위해 자연어 처리 (NLP), 네트워크 이론 (Network Theory), 그리고 머신러닝 (Machine Learning) 방법론을 결합합니다. 프로젝트의 핵심은 두 가지 주요 구성 요소로 구조화되어 있습니다: 도메인 특화 지식 그래프 (Knowledge Graph) 생성과 언어 모델의 응답을 향상시키기 위한 검색 증강 생성 (RAG) 시스템 내에서의 해당 그래프 적용입니다.

지식 그래프 생성 (Knowledge Graph Creation): 초기 단계는 법률 텍스트를 처리하여 포괄적인 지식 그래프를 개발하는 과정을 포함합니다. 이 그래프는 핵심 개념과 그 상호 연결성을 시각화하여 법률 텍스트 환경의 상세한 지도를 제공합니다. -
문맥 강화 RAG 시스템 (Context-Enriched RAG System): 프로젝트의 최종 목표는 RAG 시스템에서 지식 그래프를 활용하는 것입니다. 이 시스템은 언어 모델 응답에 사용되는 문맥 (Context)을 풍부하게 하고 개선하여, 응답이 도메인 특화된 법률 전문 지식에 근거하도록 보장합니다. 이는 법률 텍스트 분석에서 더욱 정확하고 문맥을 인식하는 응답을 향상시키기 위한 중요한 단계입니다.

  • 법률 텍스트의 심층 분석을 위한 의미론적 텍스트 분할 (Semantic text splitting).

  • 법률 문서로부터의 대화형 지식 그래프 구축.

  • 최첨단 NLP 역량을 위한 OpenAI의 GPT-3.5 및 GPT-4와의 통합.

  • 텍스트 관계를 규명하기 위한 네트워크 그래프 분석 및 시각화.

  • 텍스트 및 그래프 구성 요소 분석을 위한 벡터 공간 모델링 (Vector space modeling) 사용.

  • 향상된 이해를 위한 TF-IDF 점수 산출 및 코사인 유사도 (Cosine similarity)를 포함한 문맥 분석 기술.

  • 문맥이 풍부한 언어 모델 응답을 위한 RAG 시스템 내 지식 그래프 적용.

저장소 복제 (Clone the Repository):
git clone https://github.com/TilmanLudewigtHaufe/Graph_Augmented_RAG.git cd your-repo-name

환경 설정 (Set Up Environment):

  • Python 3.8 이상이 설치되어 있는지 확인하십시오.

  • 필요한 패키지 설치:
    pip install -r requirements.txt

환경 변수 (Environment Variables):

  • .env 파일을 생성하십시오.

루트 디렉토리에 .env 파일을 생성하십시오. - OPENAI_API_KEY=your_key_here를 추가하십시오.

데이터 준비 (Data Preparation):

  • 텍스트 데이터 (.txt)를 data_input 디렉토리에 배치하십시오.

  • 텍스트 데이터 (.txt)를 data_input 디렉토리에 배치하십시오.

지식 그래프 (Knowledge Graph)를 생성하거나 그래프 증강 검색 증강 생성 (Graph-Augmented Retrieval-Augmented Generation)을 실행하기 전에, 스플리터 (Splitter)를 결정하고 설정해야 합니다.

스플리터 (Splitter)는 텍스트 데이터가 지식 그래프 (Knowledge Graph)를 위한 개별 개념으로 어떻게 나뉘는지를 결정하는 핵심 구성 요소입니다. 마찬가지로, 그래프 증강 검색 증강 생성 (Graph-Augmented Retrieval-Augmented Generation)에서 스플리터 (Splitter)는 사용자 질의 (User Query)를 처리가 가능한 청크 (Chunk)로 분해하는 데 중요한 역할을 합니다.

스플리터 (Splitter)는 KG_Creation.pyGraph_RAG_advanced_RAG.py 스크립트에서 설정할 수 있습니다.

스플리터 (Splitter)의 선택은 시스템의 성능과 결과에 상당한 영향을 미칠 수 있음을 기억하십시오. 따라서 데이터와 사용 사례에 가장 적합한 스플리터 (Splitter)를 선택하십시오. 해당 코드 섹션에는 다양한 접근 방식(단순한 방식부터 복잡한 방식 및 사용자 정의 방식까지)을 가진 세 가지 스플리터 (Splitter)가 제공되며, 이는 필요에 따라 조정할 수 있습니다.

지식 그래프 생성 (Creating the Knowledge Graph):

  • 텍스트 데이터로부터 지식 그래프 (Knowledge Graph)를 생성하려면 KG_Creation.py 스크립트를 실행하십시오. python KG_Creation.py

  • 이 프로세스는 텍스트를 분석하고, 서로 연결된 개념의 그래프를 구축하며, 그래프 데이터를 저장합니다.

지식 그래프 시각화 (Visualizing the Knowledge Graph):

  • KG_Creation.py를 실행한 후, 웹 브라우저에서 docs/index.html을 여십시오.

  • 이 파일에는 지식 그래프 (Knowledge Graph)의 대화형 시각화가 포함되어 있어, 데이터 내의 관계와 구조를 탐색할 수 있습니다.

메인 스크립트 실행 (Executing the Main Script):

  • 그래프 증강 검색 및 생성 기능을 사용하려면 Graph_RAG_advanced_RAG.py 스크립트를 실행하십시오. python Graph_RAG_advanced_RAG.py

  • 이 스크립트는 지식 그래프 (Knowledge Graph)를 사용하여 텍스트 검색 및 생성을 강화하며, 사용자 질의 (User Query)에 대해 더 깊은 통찰력과 문맥 (Context)을 제공합니다.

  • 그래프 증강 검색 및 생성 (graph-augmented retrieval and generation) 기능을 사용하려면 다음을 실행하십시오.

시스템 상호작용 (Interacting with the System):

  • Graph_RAG_advanced_RAG.py 스크립트 인터페이스 내의 프롬프트에 질의 (Query)를 입력하십시오.
  • quit, q, 또는 exit와 같은 명령어를 사용하여 대화형 세션 (interactive session)을 종료하십시오.

출력 분석 (Analyzing Outputs):

  • 애플리케이션은 지식 그래프 (knowledge graph)와 증강 검색 (augmented retrieval) 메커니즘을 기반으로 응답을 제공하며, 질의 주제에 대해 풍부하고 문맥적인 이해를 제공합니다.

  • 상세한 통찰력을 확인하려면 콘솔의 출력 내용과 data_output 디렉토리에 생성된 파일을 확인하십시오.

  • Graph_RAG_advanced_RAG.py를 실행하기 전에 반드시 KG_Creation.py 스크립트가 실행되었는지 확인하십시오. 후자는 전자에 의해 생성된 지식 그래프 (knowledge graph)에 의존하기 때문입니다.

이 프로젝트는 Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) 라이선스 조건에 따라 라이선스가 부여됩니다. 이는 원작이 적절히 인용되는 것을 전제로, 비상업적 용도의 사용, 배포 및 모든 매체에서의 복제를 허용합니다.

자세한 내용은 라이선스의 전문을 참조하십시오.

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub AI Research의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0