건설공사 사고 예방 및 대응책 생성 : 한솔데코 시즌3 AI 경진대회

알고리즘 | NLP | 생성형 AI | LLM | MLOps | 유사도

 

Query Expansion을 활용한 RAG

공동작성자
2025.03.28 20:33 652 조회 language

저희가 진행한 방법론은 다음과 같은 과정으로 이루어집니다.

1. CSV Preprocessing 
- 특정 칼럼 값의 경우에는 분할이 필요한 경우가 있다고 판단하여 기호를 기준으로 분할을 수행하였습니다.

2. PDF Preprocessing
- 주어진 문서를 최대한 활용하고자 olmOCR을 활용하여 텍스트를 추출하였고 표지나 목차 등 필요없다고 판단한 페이지는 제거하였습니다.
- 숫자 패턴, 괄호 숫자 패턴, 괄호 한글 패턴을 기준으로 chunking을 수행하였습니다.

3. Query Expansion
- 초기에는 train.csv에 존재하는 데이터를 활용하여 Context로 활용하여 답변을 생성한 결과, train.csv에 존재하는 방지 대책과 유사한 형태로 답변을 생성하여 점수 측면에서는 향상되었지만 매우 간단한 형태로 답변이 이루어져 실용성이 떨어진다고 판단하였습니다.
- 주어진 문서를 활용하기로 결정하였으나 기존 train.csv에서는 쿼리로 사용할만한 것이 마땅치 않았기 때문에 Query Expansion을 진행하였습니다.
- test.csv에 있는 각 ID마다 공종, 프로세스, 사고객체, 인적사고, 사고원인을 활용하여 3개의 쿼리를 생성하였습니다.

4. Inference 1
- rtzr/ko-gemma-2-9b-it를 활용하여 test.csv에 있는 각 ID마다 생성된 3개의 쿼리에 대해서 2번에서 처리한 문서 청크를 검색한 이후에, 리랭킹을 진행하여 3개의 쿼리에 대해서 3개의 답변을 생성하였습니다.
- 임베딩 모델로는 nlpai-lab/KURE-v1를, 리랭킹 모델로는 dragonkue/bge-reranker-v2-m3-ko를 사용하였습니다.

5. Inference 2
- 4번에서 생성한 3개의 질문-답변 쌍을 컨텍스트로 제공하여 사고원인에 대한 최종 방지 대책을 생성하였습니다.

코드 : https://github.com/whybe-choi/dacon-hansoldeco-season3

PDF