hc.
← 모든 프로젝트
RAG / BOOK RECOMMENDATION

HiBookGlova

고민을 검색의 언어로,
실제 책을 추천의 근거로.

758,082건의 도서 목록을 115,419권의 검색 데이터로 정제하고, 3계층 키워드 추출과 FAISS 검색을 HCX-003의 추천 응답에 연결했습니다.

PROJECT RESULTS

115,419권에서 찾는
질문에 맞는 한 권.

데이터 정제와 검색 DB 구축

원본 도서 목록 758,082건중복 제거 / 설명 없는 도서 제외115,419권BGE-M3 임베딩 / FAISS 검색

DeepEval 팀 모델 평가

평가 점수 / 0–1
Answer Relevancy
0.9901
Prompt Alignment
0.8892
00.51

User Study

사용자 평가 / 0–1
사용자 평가 결과0에서 1 척도. 추천 이유 설명 0.866, 적절성 검토 0.976, 답변 품질 0.582, 문법 검사 0.97, 연관성 0.58.추천 이유 설명0.866적절성 검토0.976답변 품질0.582문법 검사0.97연관성0.5801

추천 답변 직접 살펴보기

당시 저장된 실제 응답 19개

질문을 고르거나 이전/다음으로 넘기며 당시의 실제 추천 답변을 살펴보세요.

질문

실제 추천 응답

응답을 불러오는 중입니다.

PERIOD2025.01 — 2025.02
TEAM6인 팀 / 네이버 부스트캠프
MY ROLE데이터 가공, RAG 구현, 모델 평가
HyperCLOVA XBGE-M3FAISSPythonDeepEval
01 / PROBLEM

제목의 단어를 넘어,
질문에 담긴 상황을 찾기.

기존 언어모델의 추천에는 존재하지 않는 도서가 포함됐습니다. 검색을 도입한 뒤에도 질문의 단어에만 집중하면 사용자의 상황과 동떨어진 책이 후보로 나왔습니다. 실제 도서 정보를 검색 기반으로 구축하고, 질문을 세 가지 관점으로 확장하는 방식으로 추천 과정을 구성했습니다.

MY CONTRIBUTION

도서 데이터 수집과 정제, BGE-M3 임베딩과 FAISS 검색 인덱스 구축, 3계층 키워드 추출 프롬프트와 HCX-003 연동을 담당했습니다. HyperCLOVA 튜닝, 테스트 케이스 제작과 모델 평가도 수행했습니다.

02 / DATA ENGINEERING

도서 정보를 검색 가능한 데이터로.

01

수집과 보강

문화 빅데이터 플랫폼의 2024년 3월 공공도서관 도서 소지 현황 758,082건을 활용했습니다. 네이버 책 API로 제목, 저자, 설명을 보강했습니다.

02

정제

중복 도서를 제거하고 설명이 없는 항목을 걸러냈습니다. 책 설명 수집 코드에는 저자 대조, 요청 재시도, 중간 결과 저장을 적용했습니다.

03

요약과 임베딩

정제한 115,419권의 도서 설명을 BGE-M3로 벡터화했습니다. L2 거리 기반 FAISS 인덱스를 구축하고, 질의 벡터와 가까운 도서를 검색하도록 구현했습니다.

튜닝 데이터도 질문과 책을 연결

인스타그램 무물 질문과 국립중앙도서관 사서 추천 글을 활용했습니다. CLOVA Studio로 데이터를 확장하고 HCX Instruction 형식으로 변환했습니다.

구간 도서와 신간 도서를 통합

기존 도서와 KOBIC 신간 데이터를 벡터 인덱스로 구성하고 병합하는 흐름을 설계했습니다. 팀의 Airflow 자동화와 연결해 신간 수집, 전처리, 임베딩, 인덱싱을 매주 수행하도록 구성했습니다.

03 / RETRIEVAL PIPELINE

하나의 질문을, 세 가지 검색으로.

Multi-Query Retriever로 명시적 키워드, 맥락적 키워드, 잠재적 키워드를 추출해 도서를 검색하고, 검색된 도서 정보를 HyperCLOVA X의 추천 근거로 전달했습니다.

3계층 분석계층마다 키워드 2–5개동의어 통합불필요한 조사 제거
사용자 질문 예시
“21살 대학생 힐링 소설 추천해줘”
EXPLICIT

힐링 소설

질문에 직접 나타난 요구

CONTEXTUAL

대학생 스트레스 완화

나이와 상황에서 읽은 맥락

LATENT

청춘의 내적 성장

질문에 내재된 관심과 목적

BGE-M3 임베딩→FAISS 도서 검색→HyperCLOVA X 추천과 이유 생성

질문과 도서 설명을 같은 임베딩 모델로 표현하고 FAISS에서 후보 도서를 검색했습니다. 검색 결과의 제목과 저자를 HCX-003 프롬프트에 전달해 해당 도서를 기반으로 추천하도록 구성했습니다. 키워드 출력은 1차, 2차, 3차 목록으로 구분했습니다.

RAG / BEFORE & AFTER

질문의 단어에서,
질문의 의도로.

동일 질문에 대한 RAG 적용 전후 응답 사례입니다.

사용자 질문 “배그 하고 싶어”
RAG 적용 전

배구 관련 도서

게임을 뜻하는 “배그”를 배구와 연결해, 사용자의 의도와 다른 스포츠 도서를 추천했습니다.

질문의 의도와 다른 추천
RAG 적용 후

『한 시간 만에 게임 만들기』

게임 관련 도서를 검색하고, 간단한 C언어 지식으로 게임을 만들어 볼 수 있다는 내용과 함께 추천했습니다.

검색된 실제 도서 기반 추천
04 / EVALUATION

자동 평가와 사용자 평가로 확인.

네이버 지식iN의 도서 추천 질문 1,000개로 평가용 데이터셋을 구성했습니다. DeepEval로 답변 관련성과 프롬프트 준수를 평가하고, Windows와 Mac용 평가 프로그램을 배포해 사용자 평가를 진행했습니다.

당시 평가 프로그램 화면 보기
질문과 추천 응답을 보고 추천 이유, 적절성, 답변 품질, 문법, 연관성을 O/X로 평가하는 사용자 평가 프로그램
사용자 평가 프로그램 화면. 질문과 추천 응답을 확인하고 5개 항목을 O/X로 평가합니다. 이미지를 누르면 크게 볼 수 있습니다.

User Study

평가 점수 / 0–1
추천 이유 설명
0.866
적절성 검토
0.976
답변 품질
0.582
문법 검사
0.97
연관성
0.58
00.51

낮은 평가 항목과 개선 방향

문법 검사 0.97, 적절성 검토 0.976에 비해 답변 품질은 0.582, 질문과의 연관성은 0.58로 낮았습니다. 문장의 형식과 적절성에 비해, 추천 내용이 사용자의 요구에 맞는지는 낮게 평가됐습니다.

프로젝트에서는 사용자 나이를 추천에 충분히 반영하지 못하는 한계를 확인했습니다. 후속 개선 방향으로 독서 이력과 관심사를 반영하는 개인화, 사용자 피드백을 활용한 추천 개선임을 확인했습니다.

GitHub ↗프로젝트 발표자료 ↗다른 프로젝트 보기