본문 바로가기
← 메인으로
챗봇

FAQ 챗봇

게시 2024-12-17

FAQ 챗봇 프로세스를 단계별로 나타낸 흐름도. FAQ 데이터베이스(질문-답변 쌍 구성, 질문 임베딩 처리, FAISS 인덱스 저장), 사용자 질문 입력, 질문 임베딩(Sentence Transformers로 사용자 질문 벡터 변환), 유사도 검색(FAISS로 유사 질문 검색), 답변 추출(질문에 연결된 답변 선택 및 출력) 순으로 이어짐. 유사도가 임계값 미만이면 폴백 메시지로 대응하는 구조. 한계로 표현 다양성에 대한 대응 어려움과 제한된 지식 범위가 표시됨.

  • 챗봇 기술 중 가장 단순한 형태. 미리 등록된 질문-답변 쌍에서 사용자 질문과 가장 유사한 것을 찾아 응답
  • 복잡한 대화 흐름 없이도 빠르게 구축할 수 있어 챗봇 도입 초기에 주로 선택
  • 반복 질문이 많은 배송/환불/정책 안내 등에 효과적
  • 프로세스는 FAQ 데이터베이스 구축 → 임베딩 처리 → 질문 임베딩 → 유사도 검색 → 답변 추출 순으로 이어짐

임베딩 처리 : 등록된 질문들을 sentence-transformers로 벡터화해 FAISS 인덱스에 저장. 사용자가 질문을 입력하면 동일한 방식으로 벡터화한 뒤 FAISS로 유사 질문을 검색. 완전히 일치하는 표현이 아니어도 의미적으로 가까운 질문을 찾아낼 수 있음

FAQ 데이터베이스 구성 : 잘 정제된 질문-답변 쌍을 확보하는 것이 핵심. 중복/애매한 표현 제거, 유사 질문 그룹화 작업이 전체 품질에 직결. 기술 구현보다 데이터 구성과 튜닝에 더 많은 노력이 필요

폴백(Fallback) 설계 : 유사도가 임계값을 넘지 못하면 피드백 메시지나 선택지 제시. 응답 실패 시의 UX 설계가 신뢰도에 직결

한계 : 사용자마다 같은 질문도 표현 방식이 달라 단순 유사도 검색만으로는 정확한 매칭이 어려움. 질문-답변 쌍을 무작정 늘리는 것도 유지 관리 측면에서 비효율적. 더 넓은 질문 범위와 유연한 응답이 필요한 환경에서는 RAG 기반/LLM 기반 챗봇으로의 전환 필요