[55호]Naver Chatbot을 활용한 AI 도서검색 무드등
2019 ICT 융합 프로젝트 공모전 최우수상
Naver Chatbot을 활용한 AI 도서검색 무드등
글 | 고려대학교 이민영
1. 심사평
칩센 완전히 새로운 시스템을 자체적으로 구축하는 것도 기술이지만, 개발 작품과 같이 이미 잘 갖추어진 솔루션을 적절하게 조합하여 원하는 기능이나 서비스를 구축하는 것도 어플리케이션을 개발하는데 있어서는 반드시 필요한 능력이라 생각합니다. 그러한 점에서 솔루션을 매우 적절하게 효율적으로 사용한 개발 작품이 아닐까 합니다. TTS(Text to Speech), STT(Speech to Text)의 기술이 날로 발전하고 있고, 이러한 기술을 기반으로한 AI 또한 매우 발전이 진행되고 있으니, 금번 개발 작품의 경우 흥미로운 제품입니다. 다만 이러한 customizing AI 채팅등을 하자면 Text DB를 얼마나 다양하게 구축하느냐가 관건으로 보이는데, 이러한 DB 또한 기존 서비스를 이용할수 있다면 더 많은 좋은 결과를 얻을수 있을것으로 보입니다. 마지막으로 다양하고, 촘촘한 보고서 내용과 기능정의 등에 대하여 세부적으로 정리된 별도 문서가 매우 인상적입니다.
뉴티씨 도서검색 필터 시스템을 포함한, 음성인식 도서검색 시스템의 구현인데, 문서나 폴더 정리 등이 깔끔하게 된 점을 높게삽니다. 무엇보다 정리를 잘 하여, 앞으로도 많은 작품을 만들때에 큰 도움이 되실 것으로 생각합니다. 최근에 큰 이슈가 되고있는 음성인식, 음성 출력 등을 API로 구현하여 편리하게 사용할 수 있는 특정 어플리케이션 디바이스를 만들어 냈다는 것이 큰 장점입니다. 앞으로도 IoT에 기반을 둔 인공지능 스피커와 관련된 여러가지 서비스를 개발할 수 있을 것으로 생각합니다.
위드로봇 프로젝트를 수행하는 과정과 보고서 내용은 매우 훌륭합니다. 기존 제품과의 차별성 부분이 보완이 되면 더욱 좋을 것 같습니다.
펌테크 실생활에 사용이 될 수 있는 실용성, 아이디어, 창의성이 돋보이는 작품으로 생각됩니다. 음성인식, AI 쳇봇, 서버 구축 등의 난이도가 있는 기술을 효율적으로 접목하여 기획의도에 맞게 시스템을 안정적이고 완성도 높게 구현하였고 제출된 보고서 구성 내용도 명확하고, 충실했다고 생각이 듭니다. 전체적으로 기획의도, 기술 구현도, 완성도 등에서 상당히 뛰어나고 훌륭한 작품으로 생각됩니다.
2. 작품 개요
무드등에 내장된 마이크, 스피커를 이용해서 사용자의 음성으로 도서를 검색하며, 검색된 도서의 가격 비교와 판매사이트 링크까지 모바일 SMS로 전송 받을 수 있는 인공지능 무드등입니다.
2.1. 작품 개발배경 및 목적
인공지능(AI) 스피커란 무선 스피커의 일종으로서, 사용자 음성을 통해 상호작용하며 특정 서비스를 제공하는 디바이스이다. 음성을 통해 서비스를 제공받기 때문에 사용자는 불필요한 인터넷 검색, 결제 등에 소비되는 시간을 줄일 수 있다. 미국의 정보 기술 연구 및 자문 회사 가트너는 AI 스피커 시장 규모가 2015년 약 4050억 원에서 매년 40% 이상 성장을 예상, 2020년에는 약 2조 3600억 원이 될 것으로 전망했다.
또한 국내 시장 조사도 2020년에는 인공지능(AI) 스피커를 보유한 가구 수가 150만 가구 이상일 것이라고 측정되었다. 하지만 위 표와 같이 꾸준히 성장하는 시장이 되기 위해선 해결해야 몇 가지 문제점들이 있다. 현재까지(2019년 기준) 국내 이동통신사와 인터넷 기업들이 출시한 인공지능(AI) 스피커는 10종 이상이다. 인공지능(AI) 스피커 제품이 출시 될 때마다 소비자 관심을 불러오지만 정작 소비자의 니즈(needs)는 충족시키지 못한다는 것이 현실이다. 그 이유는 제품 가짓수는 늘어나도 성능이 대동소이하고, 제품 디자인 외에는 크게 만족할 만한 기능이 없다는 것이다.
따라서 본 프로젝트에선 기존에 출시된 인공지능(AI) 스피커에는 없는 새로운 기능을 포함하였고, 제품 디자인을 스피커에서 무드등의 컨셉으로 변경하였다.
3. 작품 설명
3.1. Client – 무드등
본 프로젝트의 AI 도서검색 무드등(이하 무드등)을 이용하기 위해 사용자는 인공지능(AI) 스피커와 같은 방식으로 가장 먼저 Trigger(예 – 제품명)를 발화한다. 무드등이 동작하면 도서 검색을 위해 단계적으로 무드등과 대화를 이어간다. 이 때 사용자 발화를 인식하기 위해 Naver Chatbot Platform에서 대화 모델을 학습시켰다. 무드등을 통해 도서 정보를 검색할 시, 기본 검색과 필터 검색 옵션이 주어진다. 기본 검색은 도서명을 기준으로 검색을 실시하고, 필터 검색은 도서명, 저자, 출판사 등을 사용자가 음성으로 선택할 수 있다. 기본 검색과 필터 검색 후 무드등이 도서 정보(제목, 저자, 출판사, 줄거리 요약)를 발화하면 사용자는 해당 도서에 대해 가격 비교와 SMS 문자 메시지로 판매사이트 링크 발송을 추가로 요청할 수 있다. 가격 비교 요청 시 검색된 도서의 가격 정보를 불러와 최저가와 최고가를 사용자에게 발화한다. SMS 문자 메시지로 판매사이트 링크 발송을 요청하면 사용자 휴대폰에 문자메시지로 검색된 도서의 판매사이트 링크를 발송한다. 무드등은 인공지능(AI) 스피커와 마찬가지로 정해진 시간 동안 사용자 발화가 없을 시 자동 종료된다.
3.2. Server – Google Cloud Platform, App Engine(Node.js)
본 프로젝트의 서버는 구글 클라우드 플랫폼의 앱 엔진(Node.js)을 활용하였다. REST API Server로서 무드등(Client)이 요청하는 도서 정보 검색 및 SMS 문자 메시지 발송을 실시한다. 도서 검색 시 Naver Service 검색(책) API를 사용하여 JSON 형식으로 받은 데이터를 가공하여 무드등(Client)에 전달한다. 무드등의 가격 비교 요청 시 해당 도서의 여러 가격을 종합하여 최저가와 최고가를 계산한 후 전달한다. SMS 문자 메시지 발송 요청 시 청기와 LAB의 SMS OPEN API를 이용하여 요청한 도서의 판매사이트 링크를 사용자 휴대폰 문자메시지로 전송한다.
3.3. Chatbot Platform – Naver AI Service
본 프로젝트에선 사용자의 다양한 발화를 인식하기 위해 Naver AI Service 중 Chatbot(이하 챗봇)을 이용하였다. 챗봇 플랫폼을 통해 대화 모델을 생성 및 빌드 할 수 있다. 예를 들어 ‘사과가 무엇인가요?’ 라는 질문은 다양한 형태로 표현될 수 있다. ‘사과를 설명해줘’, ‘사과는 어떻게 생겼어?’, ‘사과에 대해서 소개해줘’ 등 다양하다. 네이버 챗봇은 이러한 질문을 학습시켜 정해진 답변을 얻을 수 있도록 지원하는 플랫폼이다. 챗봇 플랫폼을 통해 대화 모델을 생성 및 학습/빌드 한 후에 Naver API Gateway를 통해 챗봇을 API 형식으로 배포할 수 있다. 본 프로젝트에선 API로 배포된 챗봇에 무드등(Client)이 REST 형식으로 접근하여 사용자 발화를 전달하고 올바른 답변을 제공받을 수 있도록 한다. 챗봇은 학습된 대화 모델을 통해 무드등(Client)의 요청에 대한 답변으로 정해진 Response Code를 반환한다. 이를 통해 무드등(Client)은 사용자의 의도를 알 수 있고 대응되는 동작을 수행한다.
3.4. 프로젝트 주요 동작 및 특징
3.4.1. Server-Side(Google Cloud Platform)
* WAS(REST API Server node.js)
· 클라우드 서버로의 사용자 접근성 확보(Google Cloud Platform – App Enigne Node.js)
· AI 무드등(Client)으로부터 요청 파라미터 유효성 체크
· 도서 정보 요청(필터 X), (Naver Service API (책) 이용)
· 도서 정보 요청(필터 O), (Naver Service API (책) 이용)
· 도서 가격 비교(필터 X), (Naver Service API (쇼핑) 이용)
· 도서 가격 비교(필터 O), (Naver Service API (쇼핑) 이용)
· 도서 구매를 위한 링크 전달, (청기와 LAB SMS OPEN API 이용)
· 도서 정보 없을 시, 예외 처리(필터 포함)
· 도서 검색 결과 응답 시, 데이터 가공
* Naver (Service API)
· 도서 정보 응답(필터 X)
· 도서 정보 응답(필터 O)
· 도서 가격 응답(필터 X)
· 도서 가격 비교(필터 O)
· 도서 구매 링크 응답
* Naver (Service API)
· SMS 문자 메시지 발송
나. Client-Side
* A.I 무드등(Raspberry Pi 3 B+)
· 사용자 음성 인식
· 사용자에게 음성 출력
· 잘못된 발화의 오류/예외 처리
· 사용자 음성을 Naver Chatbot Engine에 전달
· 챗봇으로 받은 응답으로부터 시나리오 실행(도서 정보, 가격 비교, 구매 링크 전송 요청 등)
· REST API Server(Node,js)로부터 받은 응답 유효성 체크
* Google(Speech To Text API)
· Speech-To-Text
* Naver AI Service(Clova Speech Synthesis)
· Text-To-Speech
다. NAVER AI Platform(대화 모델 엔진)
* Chatbot Engine
· 학습된 대화 모델 배포 후 REST API 로 제공
· 잘못된 URL에 대해 예외 처리
· 학습되지 않은 대화모델 요청 시 예외 처리
3.5. 개발환경 및 개발언어
3.5.1. Server-Side(Google Cloud Platform Node.js)
개발 환경
· OS : Windows 7 Pro, 64-bit
· Cloud Platform : Google Cloud Platform App Engine(Node.js)
· Node.js : v10.14.2
· npm : v6.4.1
활용 API
· Naver Service API, 청기와 LAB SMS OPEN API
개발 언어
· JavaScript
3.5.2. Client-Side(Raspberry Pi 3 B+) 무드등
개발 환경
· OS : Rasbian NOOBS v2.8.2
· Hardware Model : Raspberry Pi 3 B+
· Microphone : Goose Neck USB Microphone (8’ Shielded Cord with USB Connector)
· Speaker : USB 미니 스피커
활용 API
· Google Speech-To-Text API, Naver Clova Speech Synthesis
개발 언어
· Python
3.5.3. Naver AI Platform(Chatbot Engine)
개발 환경
· OS : Windows 7 Pro, 64-bit
· Naver AI Service Platform
3.6. 단계별 제작 과정