스마트 도서관은 시민들을 위해 역, 주민센터 주변에 배치된 책 자판기 형태의 작은 도서관입니다. 현재 사용자들이 스마트 도서관에 어떤 책이 어디 있는지 혹은 운영시간에 대한 정보를 얻기 위해서는 각 스마트 도서관별 홈페이지에 접속하여 찾아야 하는 불편한 구조를 가지고있습니다. 이러한 점을 개선하고자 여러 스마트 도서관들을 통합하여 도서 위치, 대출 현황, 이용시간 등을 하나의 서비스에서 제공할 수 있는 통합 챗봇 서비스를 개발하게 되었습니다.
이러한 서비스를 통해 사용자들은 원하는 도서를 도서명, 작가명, 위치명들을 기반으로 검색하고 원하는 장르의 도서들을 추천받을 수 있으며 이용시간, 연체, 반납 등 도서관별 문의 사항에 대한 정보를 하나의 통합된 서비스를 통해 얻을 수 있습니다.
- 웹 서버(Spring)에서 채팅을 통한 사용자 요청(string형 발화문) 수신
- 요청된 string 객체를 데이터 서버(Flask)로 전달
- 검색, 추천, 문의, 예외 등 총 4개의 클래스로 분류 (Intent Classification)
- 검색, 추천 의도 시 데이터베이스에 접근하여 도서 데이터 SELECT
- 의도별 답변 정보를 취합하여 하나의 json 객체에 저장하고 웹 서버로 반환
- 답변 메세지 출력 (검색된 도서 대출 가능 시 대여 버튼, 불가능 시 반납 알림 버튼 활성화)
- 사용자의 요청 시 마다 초기화, 반복
✔️ 로그인, 회원가입, ID/PW 찾기 서비스입니다.
✔️ 이메일 인증을 통해 회원가입이 이루어집니다.
✔️ 도서관별 보유 도서 목록을 볼 수 있습니다.
✔️ 챗봇 이용 방법, 스마트 도서관 이용 방법에 대해 확인할 수 있습니다.
✔️ 원하는 작가명, 도서명, 위치명 기반의 도서 검색 기능입니다.
✔️ 검색된 도서가 위한 스마트 도서관, 소개글에 대해 확인할 수 있습니다.
✔️ 대출이 가능한 도서라면 대출 버튼, 대출중인 도서라면 반납 알림을 받을 수 있는 버튼이 활성화 됩니다.
✔️ 원하는 장르명, 위치명 기반의 도서 추천 기능입니다.
✔️ 한번에 2가지 이상의 장르를 요청할 수 있습니다.
✔️ 요청한 위치와 장르, 누적 대여 횟수, 대출 가능한 도서를 우선으로 최대 3권까지 추천해줍니다.
✔️ 다양한 문의 사항에 대한 답변 기능입니다.
✔️ 운영시간, 이용방법, 1인 최대 대출 권수, 대출 기간, 연체, 분실 등에 관한 정보를 얻을 수 있습니다.
✔️ 통합된 모든 도서관 혹은 요청한 하나의 도서관별 문의가 가능합니다.