패스트캠퍼스 환급챌린지 26일차 : 30개 프로젝트로 끝내는 추천시스템 구현 초격차 패키지 강의 후기
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
공부 시작
강의 종료
강의장
학습 인증샷
학습후기
ChatGPT를 이용한 대화형 추천 실험 리뷰
이번 강의에서는
논문 "Is ChatGPT a Good Recommender? A Preliminary Study"를 중심으로,
ChatGPT를 이용한 추천 실험이 실제로 어떻게 진행됐는지를 다뤘다.
실험 세팅
데이터셋: 아마존 e-commerce 데이터 (Beauty 카테고리)
모델: gpt-3.5-turbo
평가 지표:
평점 예측 (RMSE, MAE)
순차적 추천, 직접 추천 (Top-K Hit Ratio, NDCG)
설명 생성, 리뷰 요약 (BLEU, ROUGE, Human 평가)
실험 결과 요약
평점 예측에서는 ChatGPT(few-shot)가 기존 모델보다 잘 작동했다.
순차적 추천에서는 전반적으로 성능이 떨어졌다.
직접 추천도 기존 방법보다 잘 못했다.
특히 입력 프롬프트에서 정답 아이템이 앞쪽에 위치할 때만 성능이 비정상적으로 높게 나왔다.
→ 프롬프트 설계에 심하게 의존한다는 단점이 보임.
설명 생성에서는 BLEU/ROUGE 같은 기존 자동 지표 기준으로는 낮은 점수였지만,
Human 평가에서는 높은 점수를 받았다.
→ 사람이 읽었을 때는 더 다양하고 자연스러운 설명을 만들어낸다는 의미.
ChatGPT 추천 파이프라인 접근법
프롬프트로 직접 추천 요청하기
“XX랑 비슷한 거 추천해줘” → ChatGPT가 직접 후보를 생성
검색 기반 후보를 주고 ChatGPT에게 설명 시키기
유사도 검색으로 후보를 먼저 찾고
ChatGPT가 추천 이유/설명을 생성
ChatGPT에게 유저 의도 해석 요청하기
프롬프트를 통해 사용자의 의도를 더 정확히 추출
ChatGPT로 추천 아이템 요약/설명 생성
추천 모델 결과를 ChatGPT가 자연어로 풀어줌
기존 추천 모델은
정답 아이템 찾기(정확도)에만 집착했다면
ChatGPT는
**추천을 어떻게 자연스럽게 풀어줄지(이해도, 몰입감)**에 강점을 가진다
물론 아직도 정확도만 보면 기존 추천 모델들이 훨씬 낫다.
하지만 대화형 추천에서는 '몰입감', '자연스러운 흐름', '유저 경험'이 더 중요한 요소가 될 수 있다.
그걸 감안하면 ChatGPT는 꽤 유효한 무기가 될 수 있다고 생각했다.
ChatGPT는 검색/추천 후보를 스스로 생성하게 하면 불안정하다.
→ 항상 적절한 후보 집합을 주고 그 위에서 설명/랭킹을 맡기는 게 안정적이다.
프롬프트 설계가 성능에 미치는 영향이 크다.
→ 한두 줄 차이로 결과 품질이 크게 바뀐다.
기존 추천 모델 + ChatGPT 조합이 훨씬 현실적이다.
→ 추천 자체는 전통 모델에 맡기고, 설명/대화/상호작용은 ChatGPT가 담당.
앞으로 서비스에 도입할 때 고려할 점
후보 아이템은 자체 추천 시스템에서 미리 뽑아야 한다.
ChatGPT가 직접 추천 후보를 만들게 하면 성능이 예측 불가.
프롬프트 튜닝을 체계적으로 해야 한다.
추천 이유를 어떻게 설명할지, 유저의 선호를 어떻게 묻고 끌어낼지 명확히 설계해야 한다.
정확도만 보는 게 아니라 유저 경험을 같이 측정해야 한다.
A/B 테스트를 할 때 클릭률이나 구매율뿐 아니라 "이 추천이 친근하게 느껴졌는지" 같은 soft metric도 봐야 한다.
초기에는 cold start 사용자나 탐색형 시나리오에 우선 적용하는 게 맞다.
취향이 고정된 기존 헤비유저보다, 첫 방문/관심사 탐색 단계에 있는 유저에게 훨씬 효과적일 것.