KR101999780B1 - 가상 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 서버, 단말 및 방법 - Google Patents

가상 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 서버, 단말 및 방법 Download PDF

Info

Publication number
KR101999780B1
KR101999780B1 KR1020170169712A KR20170169712A KR101999780B1 KR 101999780 B1 KR101999780 B1 KR 101999780B1 KR 1020170169712 A KR1020170169712 A KR 1020170169712A KR 20170169712 A KR20170169712 A KR 20170169712A KR 101999780 B1 KR101999780 B1 KR 101999780B1
Authority
KR
South Korea
Prior art keywords
chatbot
real
virtual
chatbots
service
Prior art date
Application number
KR1020170169712A
Other languages
English (en)
Other versions
KR20190069218A (ko
Inventor
명노석
황지수
김준기
Original Assignee
주식회사 카카오
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 카카오 filed Critical 주식회사 카카오
Priority to KR1020170169712A priority Critical patent/KR101999780B1/ko
Priority to US16/215,907 priority patent/US11646981B2/en
Publication of KR20190069218A publication Critical patent/KR20190069218A/ko
Application granted granted Critical
Publication of KR101999780B1 publication Critical patent/KR101999780B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding

Abstract

본 발명의 일 실시예에 따르는 복수의 실제 챗봇과 연결된 가상 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 챗봇 서버는 복수의 서비스 중 사용자 단말이 선택한 서비스에 대해 입력받은 질의 메시지 및 선택한 서비스에 대응하는 서비스 계정 정보를 메신저 서버로부터 수신하는 수신부, 서비스 계정 정보에 대응하는 가상 챗봇을 이용하여 질의 메시지에 대한 응답을 도출하는 도출부 및 응답을 메신저 서버로 전송하는 전송부를 포함하고, 가상 챗봇은 가상 챗봇과 연결된 복수의 실제 챗봇 중 어느 하나의 실제 챗봇으로 질의 메시지를 전달하고, 어느 하나의 실제 챗봇은 질의 메시지에 대한 응답을 도출하여 가상 챗봇에게 전달한다.

Description

가상 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 서버, 단말 및 방법{SERVER, DEVICE AND METHOD FOR PROVIDING INSTANT MESSEGING SERVICE BY USING VIRTUAL CHATBOT}
본 발명은 인스턴트 메시징 서비스를 제공하는 서버, 단말 및 방법에 관한 것으로서, 보다 상세하게는 복수의 실제 챗봇과 연결된 가상 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 서버, 단말 및 방법에 관한 것이다.
챗봇(Chatbot)이란 채팅로봇, 즉 인공지능을 기반으로 사람과의 문자 대화를 통해 질문에 알맞은 답이나 각종 연관 정보를 제공하는 인공지능 커뮤니케이션 프로그램을 말한다. 이러한, 챗봇은 메신저 어플리케이션을 통해 상호작용하는 서비스로 기설정된 규칙 또는 인공지능 기술을 통해 제공된다.
도 1을 참조하여 종래의 챗봇 서비스가 제공되는 구조를 살펴보면, 챗봇 서비스 구조는 각 챗봇 서비스마다 실제 챗봇이 하나씩 일대일 관계로 매핑되어 있어 매핑된 실제 챗봇을 통해 대화 서비스를 제공하는 구조를 갖는다. 예를 들면, 챗봇 서버(20)는 사용자 단말(10)로부터 제 1 챗봇 서비스에 대한 챗봇 아이디 및 질의 메시지를 수신한 경우, 수신된 챗봇 아이디에 대응하는 제 1 실제 챗봇을 통해 질의 메시지에 대한 응답을 사용자 단말(10)에게 제공하고, 사용자 단말(10)로부터 제 2 챗봇 서비스에 대한 챗봇 아이디 및 질의 메시지를 수신하는 경우, 수신된 챗봇 아이디에 대응하는 제 2 실제 챗봇을 통해 질의 메시지에 대한 응답을 사용자 단말(10)에게 제공한다.
이러한 종래의 챗봇 서비스는 하나의 챗봇 서비스에 하나의 실제 챗봇만을 연동시켜 대화를 진행하기 때문에 해당 실제 챗봇을 업데이트하고자 하는 경우에는 해당 실제 챗봇를 통한 대화 서비스를 중단해야 하는 문제가 있다.
일본공개특허공보 제2001-337827호 (2001.12.07. 공개)
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 복수의 서비스 중 사용자 단말이 선택한 서비스와 관련된 질의 메시지를 해당 서비스에 대응하는 가상 챗봇를 통해 가상 챗봇과 연결된 복수의 실제 챗봇 중 어느 하나의 실제 챗봇으로부터 질의 메시지에 대한 응답을 도출하고, 도출된 응답을 사용자 단말에게 전송하는 서버, 단말 및 방법을 제공하고자 한다.
또한, 본 발명은 가상 챗봇과 해당 가상 챗봇과 연계된 복수의 실제 챗봇 간에 매핑 테이블을 생성하고, 매핑 테이블에 따라 가상 챗봇을 이용하여 복수의 실제 챗봇 각각의 처리 비율을 동적으로 할당하는 서버, 단말 및 방법을 제공하고자 한다.
또한, 본 발명은 매핑 테이블에 따라 가상 챗봇과 연결된 복수의 실제 챗봇에 의해 질의 메시지를 처리함으로써 실제 챗봇 간의 A/B 테스트를 수행할 수 있는 서버, 단말 및 방법을 제공하고자 한다.
또한, 본 발명은 가상 챗봇과 연결된 복수의 실제 챗봇 각각에 대한 트래픽 처리 비율을 동적으로 변경함으로써 개발 중인 실제 챗봇의 트래픽 처리 비율을 점차 확장해 나가고, 이를 통해 실제 챗봇의 변경으로 인한 대화의 이질감을 줄일 수 있는 서버, 단말 및 방법을 제공하고자 한다.
또한, 사용자 단말과 실제 챗봇 간의 세션 정보를 저장하고, 해당 세션 정보를 사용자 단말과의 다음 서비스의 대화에서 이용하는 서버, 단말 및 방법을 제공하고자 한다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예에 따르는 복수의 실제 챗봇과 연결된 가상 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 챗봇 서버는 복수의 서비스 중 사용자 단말이 선택한 서비스에 대해 입력받은 질의 메시지 및 상기 선택한 서비스에 대응하는 서비스 계정 정보를 메신저 서버로부터 수신하는 수신부; 상기 서비스 계정 정보에 대응하는 가상 챗봇을 이용하여 상기 질의 메시지에 대한 응답을 도출하는 도출부; 및 상기 응답을 상기 메신저 서버로 전송하는 전송부를 포함하고, 상기 가상 챗봇은 상기 가상 챗봇과 연결된 복수의 실제 챗봇 중 어느 하나의 실제 챗봇으로 상기 질의 메시지를 전달하고, 상기 어느 하나의 실제 챗봇은 상기 질의 메시지에 대한 응답을 도출하여 상기 가상 챗봇에게 전달한다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 복수의 서비스 중 사용자 단말이 선택한 서비스와 관련된 질의 메시지를 해당 서비스에 대응하는 가상 챗봇를 통해 가상 챗봇과 연결된 복수의 실제 챗봇 중 어느 하나의 실제 챗봇으로부터 질의 메시지에 대한 응답을 도출하고, 도출된 응답을 사용자 단말에게 전송하는 서버, 단말 및 방법을 제공할 수 있다.
또한, 본 발명은 가상 챗봇과 해당 가상 챗봇과 연계된 복수의 실제 챗봇 간에 매핑 테이블을 생성하고, 매핑 테이블에 따라 가상 챗봇을 이용하여 복수의 실제 챗봇 각각의 처리 비율을 동적으로 할당하는 서버, 단말 및 방법을 제공할 수 있다.
또한, 본 발명은 매핑 테이블에 따라 가상 챗봇과 연결된 복수의 실제 챗봇에 의해 질의 메시지를 처리함으로써 실제 챗봇 간의 A/B 테스트를 수행할 수 있는 서버, 단말 및 방법을 제공할 수 있다.
또한, 본 발명은 가상 챗봇과 연결된 복수의 실제 챗봇 각각에 대한 트래픽 처리 비율을 동적으로 변경함으로써 개발 중인 실제 챗봇의 트래픽 처리 비율을 점차 확장해 나가고, 이를 통해 실제 챗봇의 변경으로 인한 대화의 이질감을 줄일 수 있는 서버, 단말 및 방법을 제공할 수 있다.
또한, 사용자 단말과 실제 챗봇 간의 세션 정보를 저장하고, 해당 세션 정보를 사용자 단말과의 다음 서비스의 대화에서 이용하는 서버, 단말 및 방법을 제공할 수 있다.
도 1은 종래의 인스턴트 메시징 서비스 제공 방법을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 인스턴트 메시징 서비스 제공 시스템을 개괄적으로 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 챗봇 서버의 구성도이다.
도 4는 본 발명의 일 실시예에 따른 가상 챗봇을 이용한 인스턴트 메시징 서비스를 제공하는 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 매핑 테이블을 나타낸 도면이다.
도 6a 내지 6b는 본 발명의 일 실시예에 따른 인스턴트 메시징 서비스를 제공하는 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 세션 정보를 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 챗봇 서버에서의 인스턴트 메시징 서비스 제공 방법의 흐름도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
이하에서 언급되는 "사용자 단말"은 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말기로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 스마트폰(smart phone), 태블릿 PC, 웨어러블 디바이스뿐만 아니라, 블루투스(BLE, Bluetooth Low Energy), NFC, RFID, 초음파(Ultrasonic), 적외선, 와이파이(WiFi), 라이파이(LiFi) 등의 통신 모듈을 탑재한 각종 디바이스를 포함할 수 있다. 또한, “네트워크”는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷 (WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 블루투스 통신, 적외선 통신, 초음파 통신, 가시광 통신(VLC: Visible Light Communication), 라이파이(LiFi) 등이 포함되나 이에 한정되지는 않는다.
도 2는 본 발명의 일 실시예에 따른 인스턴트 메시징 서비스 제공 시스템을 개괄적으로 나타낸 도면이다.
도 2를 참조하면, 인스턴트 메시징 서비스 제공 시스템은 사용자 단말(100), 메신저 서버(110), 챗봇 서버(120) 및 세션 정보 데이터베이스(미도시)를 포함할 수 있다. 이러한 도 2의 인스턴트 메시징 서비스 제공 시스템은 본 발명의 일 실시예에 불과하므로 도 2을 통해 본 발명이 한정 해석되는 것은 아니다. 즉, 본 발명의 다양한 실시예들에 따르면 인스턴트 메시징 서비스 제공 시스템은 도 2와 다르게 구성될 수도 있다.
사용자 단말(100)에 설치된 메신저 앱을 통해 등록될 수 있는 친구는 실제 친구 및 가상 친구를 포함할 수 있다.
사용자 단말(100)의 사용자는 메신저 앱을 통해 영리적인 목적이 없는 타 사용자(예를 들어, 가족, 지인, 직장 동료 등)를 실제 친구로서 등록할 수 있다. 사용자 단말 (100)은 사용자 단말(100)에 설치된 메신저 앱을 통해 실제 친구로 등록된 타 사용자와 채팅방을 통해 대화를 주고 받음으로써 사용자에게 인스턴스 메시징 서비스를 제공할 수 있다.
또한, 사용자 단말(100)의 사용자는 메신저 앱을 통해 특정 서비스에 대응하는 공식 계정을 가상 친구로서 등록할 수 있다. 공식 계정이란 특정 기업체 및 단체에서 특정 서비스를 제공하기 위하여 운영하는 계정을 의미할 수 있다. 예를 들어, 공식 계정은 공식 계정과 사용자 단말(100) 사이에 개설된 채팅방을 통해 사용자 단말(100)로 특정 서비스에 대한 정보를 제공할 수 있다. 사용자 단말(100)은 해당 공식 계정을 가상 친구로 등록하여 공식 계정으로부터 특정 서비스에 대한 정보를 제공받을 수 있다. 한편, 해당 공식 계정을 가상 친구로 등록하지 않더라도 특정 서비스에 대한 정보를 제공받을 수도 있다.
공식 계정은 특정 기업체 및 단체에서 제공하는 특정 서비스에 대한 정보를 사용자 단말(100)로 제공하기 위하여 챗봇을 이용 수 있다. 공식 계정의 관리자는 챗봇 서버(120)에서 제공되는 봇빌더에 관한 사용자 인터페이스를 통해 챗봇을 생성하고, 생성된 챗봇을 공식 계정과 연결하여 연동하게 함으로써 특정 서비스에 대한 정보(예를 들어, 특정 서비스에 관련된 질의 메시지에 대한 응답)를 제공하도록 할 수 있다. 또한, 공식 계정의 관리자는 봇빌더에 관한 사용자 인터페이스를 통해 공식 계정과 챗봇을 일대일 매칭하여 관리할 수 있으며, 복수의 챗봇을 공식 계정과 연결하여 연동하게 하도록 확장할 수도 있다.
또한, 사용자 단말(100)의 사용자는 메신저 앱을 통해 특정 서비스에 대응하는 챗봇을 가상 친구로서 등록할 수 있다. 예를 들어, 가상 친구로서 등록된 챗봇은 사용자 단말(100)로 날씨 서비스, 주식 서비스, 교통 서비스 등에 대한 정보를 제공할 수 있다.
따라서, 사용자 단말(100)은 공식 계정을 가상 친구로서 등록할 경우, 공식 계정과 연동하는 챗봇을 통해 질의 메시지에 대한 응답을 제공받을 수 있으며, 챗봇 자체를 가상 친구로서 등록할 경우, 해당 챗봇을 통해 질의 메시지에 대한 응답을 제공받을 수 있다.
공식 계정과 연결된 챗봇 또는 가상 친구로 등록된 챗봇이 가상 챗봇인지 실제 챗봇에 해당하는 지는 사용자 단말(100)을 통해서 확인할 수 없다. 즉, 사용자 단말(100)을 통해 표면적으로 보여지는 챗봇은 단지 특정 서비스에 해당하는 인스턴스 메시징 서비스를 제공하도록 하는 가상 친구일 뿐이며, 구조적으로 복수의 실제 챗봇과 연결된 가상 챗봇인지 또는 실제 챗봇인지 여부는 “챗봇”을 생성/관리하는 챗봇 서버(120)에서 제공되는 봇빌더에 관한 사용자 인터페이스를 통해 확인할 수 있다.
사용자 단말(100)은 메신저 앱에 가상 친구로 등록된 예를 들어, 챗봇 또는 공식 계정과 채팅방을 통해 대화를 주고 받음으로써 사용자에게 인스턴스 메시징 서비스를 제공할 수 있다. 또한, 사용자 단말(100)은 사용자 단말(100)과 실제 친구 사이에 개설된 채팅방에 가상 친구로서 등록된 챗봇을 초대할 수 있다.
사용자 단말(100)은 사용자 단말(100)에 설치된 메신저 앱을 통해 제공되는 복수의 서비스 중 하나의 서비스를 사용자로부터 선택받을 수 있다. 예를 들어, 복수의 서비스는 공식 계정이 제공하는 서비스 및 챗봇이 제공하는 서비스를 포함할 수 있다. 사용자는 가상 친구인 공식 계정 또는 챗봇을 선택함으로 공식 계정이 제공하는 서비스 또는 챗봇이 제공하는 서비스를 채팅방을 통해 제공 받을 수 있다.
사용자 단말(100)은 사용자 단말(100)에 설치된 메신저 앱을 통해 제공되는 복수의 서비스 중 하나의 서비스를 사용자로부터 선택받으면, 선택된 서비스에 대응하는 서비스 계정 정보를 메신저 서버(110)에게 전송할 수 있다. 예를 들어, 서비스 계정 정보는 선택된 서비스에 대응하는 챗봇 아이디(가상 챗봇 아이디 또는 실제 챗봇 아이디) 또는 선택된 서비스에 대응하는 공식 계정의 공식 계정 아이디를 포함할 수 있다.
또한, 사용자 단말(100)은 사용자에 의해 선택된 서비스와 관련된 질의 메시지를 채팅방을 통해 사용자로부터 입력받으면, 해당 질의 메시지를 메신저 서버(110)로 전송할 수 있다. 서비스 계정 정보 및 질의 메시지는 메신저 서버(110)를 통해 챗봇 서버(120)로 전달될 수 있다.
메신저 서버(110)는 사용자 단말(100)과 실제 친구로 등록된 타 사용자가 채팅방에서 대화를 주고 받을 수 있게 하는 인스턴스 메시징 서비스를 제공할 수 있다. 또한, 메신저 서버(110)는 사용자 단말(100)은 메신저 앱에 가상 친구로 등록된 챗봇 또는 공식 계정과 대화를 주고 받을 수 있게 하는 인스턴스 메시징 서비스를 제공할 수 있다.
예를 들어, 메신저 서버(110)는 사용자 단말(100)로부터 선택된 서비스에 관한 챗봇 아이디 및 질의 메시지를 수신한 경우, 수신한 챗봇 아이디 및 질의 메시지를 챗봇 서버(120)로 전달할 수 있다. 다른 예를 들어, 메신저 서버(110)는 사용자 단말(100)로부터 선택된 서비스에 관한 공식 계정 아이디 및 질의 메시지를 수신한 경우, 수신한 공식 계정 아이디(또는 수신한 공식 계정 아이디와 매핑된 챗봇 아이디) 및 수신한 질의 메시지를 챗봇 서버(120)로 전달할 수 있다.
메신저 서버(110)는 챗봇 서버(120)로부터 챗봇에 의하여 도출된 질의 메시지에 대한 응답을 수신할 수 있다. 메신저 서버(110)는 수신한 응답을 사용자 단말(100)과 챗봇 간에 개설된 채팅방 또는 사용자 단말(100)과 공식 계정 간에 개설된 채팅방에 전송할 수 있다.
챗봇 서버(120)는 메신저 서버(110)로부터 공식 계정 아이디 및 질의 메시지를 수신하는 경우, 공식 계정 아이디에 대응하는 가상 챗봇 또는 실제 챗봇을 이용하여 질의 메시지에 대한 응답을 도출할 수 있다.
챗봇 서버(120)는 메신저 서버(110)로부터 실제 챗봇 아이디 및 질의 메시지를 수신하는 경우, 실제 챗봇 아이디에 대응하는 실제 챗봇을 이용하여 질의 메시지에 대한 응답을 도출할 수 있다.
챗봇 서버(120)는 메신저 서버(110)로부터 가상 챗봇 아이디 및 질의 메시지를 수신하는 경우, 가상 챗봇 아이디에 대응하는 가상 챗봇을 이용하여 질의 메시지에 대한 응답을 도출할 수 있다. 구체적으로, 챗봇 서버(120)는 가상 챗봇과 연결된 복수의 실제 챗봇 중 어느 하나의 실제 챗봇에게 질의 메시지를 전달하고, 질의 메시지를 수신한 실제 챗봇을 통해 질의 메시지에 대한 응답을 도출하도록 할 수 있다.
챗봇 서버(120)는 도출된 응답을 메시지 서버(110)로 전송할 수 있다. 메시지 서버로 전송된 응답은 사용자 단말(100)로 전달될 수 있다.
본원 발명에서 제안하고자 하는 가상 챗봇은 기존의 실제 챗봇과 달리 실제로 데이터가 존재하는 챗봇이 아니며, 챗봇 관리자의 응답 정책(예를 들어, 챗봇 관리자에 의해 설정된 매핑 테이블)에 따라 사용자의 질의 메시지를 복수의 실제 챗봇으로 동적으로 전달함으로써 질의 메시지에 대한 응답을 도출하도록 하는 중간 매개체에 해당한다고 볼 수 있다.
이에 따라, 가상 챗봇은 챗봇 서버(120)에서 사용자의 질의 메시지를 처리하기 위한 정책적이고 구조적인 알고리즘에 해당한다고 볼 수 있기 때문에, 사용자 단말(100)을 통해 직접 노출되지 않으며, 단지 해당 서비스에 대한 “챗봇”으로 보여질 뿐이다. 따라서, 챗봇 서버(120)에서 매핑 테이블에 의해 가상 챗봇과 복수의 실제 챗봇이 연결되도록 설정된 경우, 사용자는 가상 챗봇이나 실제 챗봇 간의 구분 없이 “가상 챗봇 및 가상 챗봇과 연결된 복수의 실제 챗봇에 의해 응답이 도출되는 구조” 자체를 해당 서비스에 대한 “표면적인 챗봇”으로 인식할 것이며, 어떤 실제 챗봇에 의해 응답이 도출되었든 관계 없이 표면적으로 인식된 챗봇에 의해 처리된 것으로 판단할 것이다.
이에 따른 일 실시예로서, 챗봇 관리자는 이러한 점을 이용하여 하나의 서비스로 인식되는 “챗봇”을 통해 같은 서비스를 제공하지만 버전이 서로 다른 실제 챗봇에 의해 도출된 응답을 해당 “챗봇”을 이용하는 사용자 단말(100)의 사용자에게 제공하도록 할 수 있다.
본원 발명은 이러한 경우에서 사용자가 서로 다른 실제 챗봇에 의해 도출된 응답 간의 이질성을 느끼지 않도록 하고자 한다. 응답 간의 이질성을 최소화 하기 위해 각 실제 챗봇과 사용자 단말 간의 대화를 통해 도출될 수 있는 맥락 정보를 이용할 수 있을 것이다.
이와 같은 도 2의 인스턴트 메시징 서비스 제공 시스템에 포함된 각각의 구성요소의 동작에 대해서는 이하의 도면들을 통해 보다 구체적으로 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 챗봇 서버(120)의 구성도이다. 도 3을 참조하면, 본 발명의 일 실시예에 따른 챗봇 서버(120)는 수신부(300), 도출부(310), 전송부(320) 및 매핑 테이블 생성부(330)를 포함할 수 있다. 다만, 본 발명의 일 실시예에 따른 챗봇 서버(120)의 구성은 도 3과 다르게 이루어질 수도 있다.
수신부(300)는 인스턴트(instant) 메시징 서비스를 제공하는 메신저 앱에 등록된 복수의 서비스 중 하나의 서비스를 사용자 단말(100)의 사용자로부터 선택받은 경우, 선택된 서비스에 대응하는 서비스 계정 정보를 메신저 서버(110)로부터 수신할 수 있다.
예를 들어, 복수의 서비스 중 특정 공식 계정이 제공하는 서비스를 사용자 단말(100)의 사용자로부터 선택받은 경우, 수신부(300)는 선택된 서비스에 대응하는 공식 졔정 아이디 또는 챗봇 아이디(가상 챗봇 아이디 또는 실제 챗봇 아이디)를 메신저 서버(110)로 전송하고, 수신부(300)는 공식 계정 아이디 또는 챗봇 아이디(가상 챗봇 아이디 또는 실제 챗봇 아이디)를 메신저 서버(110)로부터 수신할 수 있다.
다른 예를 들어, 복수의 서비스 중 특정 챗봇이 제공하는 서비스를 사용자 단말(100)의 사용자로부터 선택받은 경우, 수신부(300)는 선택된 서비스에 대응하는 챗봇 아이디(가상 챗봇 아이디 또는 실제 챗봇 아이디)를 메신저 서버(110)로 전송하고, 수신부(300)는 챗봇 아이디를 메신저 서버(110)로부터 수신할 수 있다. 여기서, 챗봇이 제공하는 서비스는 예를 들면, 날씨 서비스, 매장 서비스, 쇼핑몰 서비스 등을 포함할 수 있다. 예를 들면, 수신부(300)는 사용자 단말(100)의 사용자가 메신저 앱에 등록된 복수의 서비스 중 챗봇이 제공하는 날씨 서비스를 선택한 경우, 날씨 서비스에 대응되는 가상 챗봇 아이디 또는 실제 챗봇 아이디를 메신저 서버(110)로부터 수신할 수 있다.
또한, 수신부(300)는 사용자에 의해 선택된 서비스와 관련하여 입력된 질의 메시지를 메신저 서버(110)로부터 수신할 수 있다. 예를 들면, 사용자가 날씨 서비스를 선택한 경우, 날씨와 관련된 질의 메시지가 사용자 단말(100)로부터 메시저 서버(110)로 전송되고, 수신부(300)는 질의 메시지를 메신저 서버(110)로부터 수신할 수 있다.
잠시 도 4를 참조하면, 복수의 서비스에는 각 서비스에 대응하는 가상 챗봇 아이디가 할당되어 있고, 각 할당된 가상 챗봇 아이디에 대응하는 각 가상 챗봇을 통해 서비스가 제공된다. 각 가상 챗봇은 각 가상 챗봇에 대응하여 설정된 매핑 테이블에 따라 각 서비스에 대한 질의 메시지에 대한 응답을 도출하는 복수의 실제 챗봇과 연결되어 있다.
예를 들어, 제 1 서비스가 A 기업체의 공식 계정에서 제공하는 서비스라고 가정해보자. 제 1 서비스의 제공을 위해 제 1 서비스에 해당하는 공식 계정과 제 1 가상 챗봇(410)이 매핑되고, 제 1 가상 챗봇(410)과 연결된 복수의 실제 챗봇(420, 430)에서 처리된 질의 메시지에 대한 응답을 메신저 서버(110)를 통해 사용자 단말(100)에게 제공할 수 있다.
다른 예를 들어, 제 2 서비스가 B 기업체의 공식 계정에서 제공하는 서비스라고 가정해보자. 제 2 서비스의 제공을 위해 제 2 서비스에 해당하는 공식 계정과 제 2 가상 챗봇(440)이 매핑되고, 제 2 가상 챗봇(440)과 연결된 복수의 실제 챗봇(450, 460)에서 처리된 질의 메시지에 대한 응답을 메신저 서버(110)를 통해 사용자 단말(100)에게 제공할 수 있다.
다시 도 3으로 돌아오면, 매핑 테이블 생성부(330)는 각 가상 챗봇에 연결된 복수의 실제 챗봇에서 처리되는 질의 메시지에 대한 트래픽 처리 비율에 대한 매핑 테이블을 생성할 수 있다. 이러한 매핑 테이블은 가상 챗봇 마다 생성될 수 있다. 도 4 및5를 참조하면, 매핑 테이블 생성부(330)는 제 1 가상 챗봇(410)에 연결된 복수의 실제 챗봇이 제 1 실제 챗봇(420) 및 제 2 실제 챗봇(430)을 포함하는 경우, 제 1 실제 챗봇(420) 및 제 2 실제 챗봇(430) 각각에서 질의 메시지에 대한 트래픽 처리 비율을 설정할 수 있다. 예를 들면, 도면 부호 500을 참조하면, 제 1 실제 챗봇(420)이 제 1 버전(기존 버전)으로 서비스하는 챗봇이고, 제 2 실제 챗봇(430)이 제 2 버전(신규 버전)으로 개발 중인 챗봇인 경우, 매핑 테이블 생성부(330)는 제 1 실제 챗봇(420)에게 제 1 트래픽 처리 비율(예컨대, 80%)을 할당하고, 제 2 실제 챗봇(430)에게 제 2 트래픽 처리 비율(예컨대, 20%)을 할당할 수 있다. 만약 100개의 질의 메시지를 사용자 단말(100)로부터 수신하는 경우, 가상 챗봇은 매핑 테이블에 설정된 트래픽 처리 비율에 따라 100개 중의 80개의 질의 메시지를 제 1 실제 챗봇(420)로 전달하고, 100개 중의 20개의 질의 메시지를 제 2 실제 챗봇(430)로 전달할 수 있다.
도면 부호 510을 참조하면, 매핑 테이블 생성부(330)는 설정된 트래픽 처리 비율에 기초하여 각각 다른 해쉬값이 부여된 복수의 슬롯에 복수의 실제 챗봇의 아이디를 저장할 수 있다. 예를 들면, 매핑 테이블 생성부(330)는 매핑 테이블을 생성하기 위한 해쉬(Hash) 공간의 크기를 N개의 슬롯(slot)으로 설정하고, 해쉬 함수를 사용하여 해쉬값을 계산한 후, 계산된 해쉬값을 각 슬롯에 부여한다. 매핑 테이블 생성부(330)는 제 1 실제 챗봇(420) 및 제 2 실제 챗봇(430)에 설정된 트래픽 처리 비율에 따라 N 개의 슬롯에 제 1 실제 챗봇(420)의 아이디 및 제 2 실제 챗봇(430)의 아이디를 매핑하여 매핑 테이블을 생성할 수 있다. 이 때, 매핑 테이블에서 제 1 실제 챗봇(420)의 아이디가 매핑되는 비율은 제 1 트래픽 처리 비율에 대응하는 비율이고, 제 2 실제 챗봇(430)의 아이디가 매핑되는 비율은 제 2 트래픽 처리 비율에 대응하는 비율이다. 예를 들면, 제 1 실제 챗봇(420)의 제 1 트래픽 처리 비율이 80%이고, 제 2 실제 챗봇(430)의 제 2 트래픽 처리 비율이 20%이고, 매핑 테이블에 100개의 슬롯이 있는 경우, 매핑 테이블의 80개의 슬롯에 제 1 실제 챗봇(420)의 아이디가 할당되고, 20개의 슬롯에 제 2 실제 챗봇(430)의 아이디가 할당되고, 할당되는 위치는 기설정된 알고리즘에 기초하여 정해질 수 있다.
도출부(310)는 사용자 단말(100)로부터 수신된 가상 챗봇 아이디에 대응하는 가상 챗봇을 이용하여 질의 메시지에 대한 응답을 도출할 수 있다.
도출부(310)는 사용자 단말(100)로부터 수신된 질의 메시지를 수신된 가상 챗봇 아이디에 대응하는 가상 챗봇에게 전달할 수 있다. 이 때, 가상 챗봇은 가상 챗봇과 연결된 복수의 실제 챗봇 중 어느 하나의 실제 챗봇으로 질의 메시지를 전달할 수 있다. 복수의 실제 챗봇 중 질의 메시지를 수신한 실제 챗봇은 질의 메시지에 대한 응답을 도출할 수 있다. 질의 메시지를 수신한 실제 챗봇은 도출된 응답을 가상 챗봇으로 전달할 수 있다.
예를 들어, 도출부(310)는 질의 메시지를 처리할 실제 챗봇의 실제 챗봇 아이디를 가상 챗봇의 매핑 테이블로부터 도출하고, 도출된 실제 챗봇 아이디를 봇 DB(미도시)로 전달하고, 봇 DB는 기저장된 봇 관련 메타데이터로부터 전달받은 실제 챗봇 아이디에 해당하는 봇 메타데이터를 검출할 수 있다. 그리고, 도출부(310)는 봇 DB로부터 실제 챗봇 아이디에 해당하는 실제 챗봇의 봇 메타데이터를 전달받고, 전달받은 실제 챗봇의 봇 메타데이터에 기초하여 질의 메시지에 대한 응답을 도출할 수 있다.
도 5 및 6a를 참조하면, 가상 챗봇은 가상 챗봇 및 복수의 실제 챗봇 간의 기설정된 매핑 테이블에 기초하여 질의 메시지를 복수의 실제 챗봇 중 어느 하나의 실제 챗봇으로 전달할 수 있다.
가상 챗봇은 가상 챗봇의 매핑 테이블에서 설정된 트래픽 처리 비율에 기초하여 복수의 실제 챗봇 중 어느 하나의 실제 챗봇으로 질의 메시지를 전달할 수 있다.
예를 들면, 제 1 가상 챗봇(410)은 제1 가상 챗봇의 매핑 테이블에 설정된 트래픽 처리 비율에 기초하여 제 1 실제 챗봇(420) 및 제 2 실제 챗봇(430)으로 질의 메시지를 전달함으로써 A/B 테스트를 수행할 수 있다.
A/B 테스트는 특정 서비스에 대한 사용자 인터페이스의 최적화를 위해 사용자의 선호도를 직관적으로 조사할 수 있는 테스트로서, A 서비스와 B 서비스를 사용자에게 랜덤으로 제공하고, 이에 대한 결과를 사용자로부터 피드백받아 각 서비스에 대한 선호도를 측정할 수 있다.
본원 발명에서는 가상 챗봇과 복수의 실제 챗봇 간의 연결 관계를 설정한 매핑 테이블을 생성하고, 매핑 테이블에 따라 수행하도록 하는 가상 챗봇을 이용하여 상술한 A/B 테스트를 수행할 수 있다. 각 실제 챗봇에 대한 선호도는 각 실제 챗봇으로부터 제공된 응답수, 각 실제 챗봇 별 트래픽 수, 각 실제 챗봇과 사용자 단말(100) 간의 대화수 등에 대한 지표로서 도출될 수 있다. 해당 지표는 정규화되어 챗봇 관리자에게 제공되므로, 복수의 실제 챗봇 간의 트래픽 처리 비율이 다르더라도 봇 성능에 대한 자료로서 사용될 수 있다.
구체적으로, 제 1 실제 챗봇(420)에 설정된 제 1 트래픽 처리 비율(예컨대, 80%)로 제 1 실제 챗봇(420)에서 질의 메시지에 대한 응답 처리 테스트를 진행하고, 제 2 실제 챗봇(430)에 설정된 제 2 트래픽 처리 비율(예컨대, 20%)로 제 2 실제 챗봇(430)에서 질의 메시지에 대한 응답 처리 테스트를 진행할 수 있다. 이 경우, 10개의 질의 메시지 중 8개의 질의 메시지에 대한 응답은 제 1 실제 챗봇(420)에서 처리되고, 나머지 2개의 질의 메시지에 대한 응답은 제 2 실제 챗봇(430)에서 처리될 수 있다.
질의 메시지에 대한 응답을 처리하는 실제 챗봇을 제 1 실제 챗봇(420)에서 제 2 실제 챗봇(430)으로 갑자기 변경하게 되면, 사용자는 대화에 대한 이질감을 느끼게 된다. 이러한 이질감의 정도를 저하시키기 위해, 본원 발명은 새로운 버전인 제 2 실제 챗봇(430)에 대한 트래픽 처리 비율을 적게 설정하고, 제 2 실제 챗봇(430)에 대한 트래픽 처리 비율을 점점 늘려가도록 A/B 테스트를 충분히 수행시킨 뒤에 제 2 실제 챗봇(430)을 실제 서비스에 투입시킬 수 있다.
도 6b를 참조하면, 도면 부호 600 및 610은 제 1 실제 챗봇(420)이 질의 메시지에 대한 응답 제공이 가능한 서비스에 대한 챗봇이고, 제 2 실제 챗봇(430)이 개발 중인 서비스에 대한 챗봇인 경우에서의 질의 메시지의 응답 처리 방법을 나타낸 도면이다. 초기(600)에는 제 1 가상 챗봇(400)은 응답 서비스가 가능한 제 1 실제 챗봇(420)으로만 질의 메시지를 전달하여 제 1 실제 챗봇(420)에서 질의 메시지에 대한 응답을 도출하도록 할 수 있다.
이후(610), 제 1 가상 챗봇(410)은 제 2 실제 챗봇(430)에서의 질의 메시지에 대한 응답 처리 비율을 늘려가도록 매핑 테이블 생성부(330)를 통해 매핑 테이블을 변경할 수 있다. 이 때, 매핑 테이블 생성부(330)는 챗봇 관리자로부터의 입력에 따라 제 1 실제 챗봇(420) 및 제 2 실제 챗봇(430) 각각에 대한 트래픽 처리 비율을 조정할 수 있다. 구체적으로, 매핑 테이블 생성부(330)는 제 1 실제 챗봇(420)의 트래픽 처리 비율을 점차 줄이고, 이에 상응하도록 제 2 실제 챗봇(430)의 트래픽 처리 비율을 점차 늘릴 수 있다. 이러한 과정을 거치면서 마지막에는 제 1 가상 챗봇(410)은 질의 메시지에 대한 응답 제공 가능한 서비스에 대한 챗봇을 제 1 실제 챗봇(420)으로부터 제 2 실제 챗봇(430)으로 변경할 수 있다.
다시 도 3으로 돌아오면, 수신부(300)는 메신저 서버(110)로부터 사용자 단말(100)의 사용자 아이디를 더 수신할 수 있다. 도출부(310)는 수신부(300)에서 수신된 사용자 아이디를 가상 챗봇에게 전달할 수 있다. 이 때, 가상 챗봇은 사용자 아이디를 해쉬값으로 변환하고, 가상 챗봇의 매핑 테이블의 복수의 슬롯 중 변환된 해쉬값에 대응하는 슬롯을 검색하고, 검색된 슬롯에 저장된 실제 챗봇 아이디를 추출할 수 있다. 가상 챗봇은 질의 메시지를 추출된 실제 챗봇 아이디에 대응하는 실제 챗봇으로 전달할 수 있다.
가상 챗봇은 사용자 아이디를 이용하여 세션 정보 데이터베이스(미도시)로부터 사용자 단말(100)의 세션 정보를 도출할 수 있다. 잠시 도 7을 참조하면, 세션 정보 데이터베이스(미도시)는 사용자와 사용자가 선택한 서비스의 가상 챗봇 간의 매핑 정보(700)를 사용자 아이디 별로 저장할 수 있다. 매핑 정보(700)에는 사용자 아이디, 사용자가 사용한 적 있는 서비스에 대응하는 가상 챗봇의 가상 챗봇 아이디, 응답 처리를 수행하는 실제 챗봇의 실제 챗봇 아이디 및 세션 정보가 매핑되어 저장될 수 있다. 여기서, 세션 정보에는 대화 상태 정보(예를 들어, 대화가 진행 중인지, 종료되었는지에 대한 정보), 대화 맥락 정보(예를 들어, 대화 중에 포함된 키워드에 의해 결정된 맥락에 대한 정보) 및 대화 시간 정보(예를 들어, 대화 이후의 시간 경과 정보) 중 적어도 하나가 포함될 수 있다. 또한, 세션 정보 데이터베이스는 사용자 단말(100)과 특정 챗봇 간의 마지막 대화에 해당하는 대화 상태 정보, 대화 맥락 정보, 대화 시간 정보 등을 저장될 수 있다. 또한, 세션 정보 데이터베이스는 가상 챗봇에서 수행된 대화에 대한 정보 및 실제 챗봇에서 수행된 대화에 대한 정보를 각 챗봇 별로 구분하여 저장할 수 있다.
가상 챗봇은 사용자 아이디를 이용하여 도출한 세션 정보에 기초하여 복수의 실제 챗봇 중 어느 하나의 실제 챗봇과 사용자 단말(100)이 대화 중인지 여부를 판단할 수 있다. 예를 들면, 가상 챗봇은 세션 정보 중 대화 상태 정보 및 대화시간 정보를 통해 실제 챗봇과 사용자 단말(100)의 대화가 진행 중인지 여부를 판단할 수 있다.
가상 챗봇은 도출된 세션 정보에 기초하여 어느 하나의 실제 챗봇과 사용자 단말(100)이 대화 중이라고 판단되면, 대화 중인 어느 하나의 실제 챗봇으로 사용자로부터 수신된 질의 메시지를 전달할 수 있다. 예를 들면, 사용자 단말(100)이 선택한 서비스에서 사용자 단말(100)과 제 1 실제 챗봇이 대화 중인 경우, 제 1 실제 챗봇에게 사용자의 질의 메시지가 전달된다. 다시 말해, 가상 챗봇은 복수의 실제 챗봇 중 사용자 단말(100)과 대화 중인 실제 챗봇을 통해 질의 메시지에 대한 응답을 도출하도록 할 수 있다.
만일, 사용자가 선택한 서비스를 중계하는 가상 챗봇의 매핑 테이블이 변경된 경우(예를 들어, 해당 가상 챗봇의 복수의 실제 챗봇에 대한 트래픽 처리 비율이 조정된 경우), 가상 챗봇은 사용자 단말(100)과 어느 하나의 실제 챗봇 간의 대화가 종료된 후에 변경된 매핑 테이블을 서비스에 적용할 수 있다.
구체적으로, 가상 챗봇은 도출된 세션 정보에 기초하여 어느 하나의 실제 챗봇과 사용자 단말(100)이 대화 중이 아니라고 판단된 경우, 가상 챗봇의 매핑 테이블에 설정된 트래픽 처리 비율에 기초하여 복수의 실제 챗봇 중 어느 하나의 실제 챗봇과 다른 실제 챗봇으로 질의 메시지를 전달할 수 있다. 예를 들면, 사용자 단말(100)이 선택한 서비스에 대한 질의 응답을 처리하는 챗봇이 제 1 실제 챗봇에서 제 2 실제 챗봇으로 변경된 경우, 제 1 실제 챗봇과의 대화가 종료된 이후 사용자 단말(100)이 해당 서비스를 다시 이용할 때, 사용자 단말(100)은 제 2 실제 챗봇과 대화를 진행할 수 있다. 이 때, 사용자 단말(100)은 제 1 실제 챗봇과의 세션이 중단되고, 제 2 실제 챗봇과의 세션이 새롭게 연결될 수 있다.
가상 챗봇은 복수의 서비스 중 적어도 하나의 서비스에 대한 질의 메시지의 응답을 처리하는 실제 챗봇이 변경되는 경우(예컨대, 서비스 버전이 업데이트 된 경우), 변경 전에 응답 처리를 수행했던 실제 챗봇과 사용자 단말(100) 간의 대화 맥락 정보를 대화 정보 데이터베이스(미도시)에 저장하고, 이전 대화의 맥락을 이어갈 수 있도록 변경된 실제 챗봇과 사용자 단말(100) 간의 대화에 해당 대화 맥락 정보를 이용할 수 있다.
전송부(320)는 실제 챗봇에서 도출된 사용자 단말(100)의 질의 메시지에 대한 응답을 메신저 서버(110)에게 전송할 수 있고, 응답은 메신저 서버(110)로부터 사용자 단말(100)로 전달될 수 있다.
한편, 챗봇 서버(120)는 가상 챗봇를 생성/관리할 수 있는 사용자 인터페이스를 챗봇 관리자에게 제공하는 봇빌더부(미도시)를 더 포함할 수 있다.
예를 들어, 챗봇 관리자는 웹이나 앱을 통해 챗봇 서버(120)의 봇빌더부에 접속 할 수 있으며, 봇빌더부에서 제공하는 사용자 인터페이스를 통해 가상 챗봇을 생성하고, 챗봇 서버(120)에 기등록된 복수의 실제 챗봇 중 적어도 하나 이상의 실제 챗봇을 선택하여 생성된 가상 챗봇과 연결하도록 설정할 수 있다.
도 8은 본 발명의 일 실시예에 따른 인스턴트 메시징 서비스 제공 방법의 흐름도이다. 도 8을 참조하면, 단계 S801에서 챗봇 서버(120)는 사용자 단말(100)의 사용자에 의해 복수의 서비스 중 선택받은 서비스와 관련하여 입력받은 질의 메시지 및 선택받은 서비스에 대응하는 서비스 계정 정보를 메신저 서버(110)를 통해 사용자 단말(100)로부터 수신할 수 있다.
단계 S803에서 챗봇 서버(120)는 질의 메시지 및 서비스 계정 정보를 메신저 서버(110)로부터 수신할 수 있다.
단계 S805에서 챗봇 서버(120)는 서비스 계정 정보에 대응하는 가상 챗봇을 이용하여 가상 챗봇과 연결된 복수의 실제 챗봇 중 어느 하나의 실제 챗봇으로 질의 메시지를 전달할 수 있다.
단계 S807에서 챗봇 서버(120)는 어느 하나의 실제 챗봇에 의해 질의 메시지에 대한 응답을 도출할 수 있다. 구체적으로 챗봇 서버(120)는 질의 메시지를 전달받을 실제 챗봇의 실제 챗봇 아이디를 가상 챗봇의 매핑 테이블로부터 도출하고, 도출된 실제 챗봇 아이디를 봇 DB(미도시)로 전달하고, 봇 DB는 기저장된 봇 관련 메타데이터로부터 실제 챗봇 아이디에 해당하는 봇 메타데이터를 검출할 수 있다. 그리고, 챗봇 서버(120)는 봇 DB로부터 실제 챗봇 아이디에 해당하는 실제 챗봇의 봇 메타데이터를 전달받고, 전달받은 실제 챗봇의 봇 메타데이터에 기초하여 질의 메시지에 대한 응답을 도출할 수 있다.
단계 S809에서 챗봇 서버(120)는 도출된 응답을 메신저 서버(110)에게 전송할 수 있다. 단계 S811에서 메신저 서버(110)는 응답을 사용자 단말(100)에게 전송할 수 있다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 사용자 단말 110: 메신저 서버 120: 챗봇 서버

Claims (16)

  1. 복수의 실제 챗봇과 연결된 가상 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 챗봇 서버에 있어서,
    복수의 서비스 중 사용자 단말이 선택한 서비스에 대해 입력받은 질의 메시지 및 상기 선택한 서비스에 대응하는 서비스 계정 정보를 메신저 서버로부터 수신하는 수신부;
    상기 서비스 계정 정보에 대응하는 가상 챗봇을 이용하여 상기 질의 메시지에 대한 응답을 도출하는 도출부; 및
    상기 응답을 상기 메신저 서버로 전송하는 전송부
    를 포함하고,
    상기 가상 챗봇은 상기 가상 챗봇과 연결된 복수의 실제 챗봇 중 어느 하나의 실제 챗봇으로 상기 질의 메시지를 전달하고,
    상기 어느 하나의 실제 챗봇은 상기 질의 메시지에 대한 응답을 도출하여 상기 가상 챗봇에게 전달하되,
    상기 가상 챗봇과 연결된 복수의 실제 챗봇은 버전 정보가 서로 상이한 챗봇이고,
    상기 버전 정보에 따라 상기 복수의 실제 챗봇에 대한 트래픽 처리 비율이 설정되고,
    상기 가상 챗봇은 설정된 트래픽 처리 비율에 따라 상기 복수의 실제 챗봇 중 어느 하나의 실제 챗봇으로 상기 질의 메시지를 전달하는 것인, 챗봇 서버.
  2. 제 1 항에 있어서,
    상기 가상 챗봇은 상기 가상 챗봇 및 상기 복수의 실제 챗봇 간의 기설정된 매핑 테이블에 기초하여 상기 질의 메시지를 상기 복수의 실제 챗봇 중 어느 하나의 실제 챗봇으로 전달하는 것인, 챗봇 서버.
  3. 제 2 항에 있어서,
    상기 설정된 트래픽 처리 비율에 따라 상기 매핑 테이블을 생성하는 매핑 테이블 생성부
    를 더 포함하는, 챗봇 서버
  4. 제 3 항에 있어서,
    상기 가상 챗봇은 상기 설정된 트래픽 처리 비율에 기초하여 상기 복수의 실제 챗봇 중 어느 하나의 실제 챗봇으로 상기 질의 메시지를 전달하는 것인, 챗봇 서버.
  5. 제 4 항에 있어서,
    상기 복수의 실제 챗봇이 제 1 실제 챗봇 및 제 2 실제 챗봇을 포함하는 경우,
    상기 가상 챗봇은 상기 설정된 트래픽 처리 비율에 기초하여 상기 제 1 실제 챗봇 및 상기 제 2 실제 챗봇으로 상기 질의 메시지를 전달함으로써 A/B 테스트를 수행하는 것인, 챗봇 서버.
  6. 제 5 항에 있어서,
    상기 제 1 실제 챗봇이 제공 가능한 서비스에 대한 챗봇이고, 상기 제 2 실제 챗봇이 개발 중인 서비스에 대한 챗봇인 경우,
    상기 가상 챗봇은 상기 매핑 테이블을 변경함으로써 제공 가능한 서비스에 대한 챗봇을 상기 제 1 실제 챗봇으로부터 상기 제 2 실제 챗봇으로 변경하는 것인, 챗봇 서버.
  7. 제 3 항에 있어서,
    상기 매핑 테이블 생성부는 상기 설정된 트래픽 처리 비율에 기초하여 각각 다른 해쉬값이 부여된 복수의 슬롯에 상기 복수의 실제 챗봇의 실제 챗봇 아이디를 저장하는 것인, 챗봇 서버.
  8. 제 7 항에 있어서,
    상기 수신부는 상기 사용자 단말의 사용자 아이디를 더 수신하고,
    상기 가상 챗봇은 상기 사용자 아이디를 해쉬값으로 변환하고, 상기 복수의 슬롯 중 상기 변환된 해쉬값에 대응하는 슬롯에 저장된 실제 챗봇 아이디를 추출하고, 상기 질의 메시지를 상기 추출된 실제 챗봇 아이디에 대응하는 실제 챗봇으로 전달하는 것인, 챗봇 서버.
  9. 제 4 항에 있어서,
    상기 수신부는 상기 사용자 단말의 사용자 아이디를 더 수신하고,
    상기 가상 챗봇은 상기 사용자 아이디를 이용하여 세션 정보 데이터베이스로부터 상기 사용자 단말의 세션 정보를 도출하는 것인, 챗봇 서버.
  10. 제 9 항에 있어서,
    상기 세션 정보는 대화 상태 정보, 대화 맥락 정보 및 대화 시간 정보 중 적어도 하나를 포함하고,
    상기 가상 챗봇은 상기 세션 정보에 기초하여 상기 복수의 실제 챗봇 중 어느 하나의 실제 챗봇과 상기 사용자 단말이 대화 중인지 여부를 판단하는 것인, 챗봇 서버.
  11. 제 10 항에 있어서,
    상기 가상 챗봇이 상기 어느 하나의 실제 챗봇과 상기 사용자 단말이 대화 중이라고 판단한 경우, 상기 대화 중인 어느 하나의 실제 챗봇으로 상기 질의 메시지를 전달하는 것인, 챗봇 서버.
  12. 제 11 항에 있어서,
    상기 가상 챗봇은 상기 매핑 테이블이 변경된 경우, 상기 어느 하나의 실제 챗봇과 상기 사용자 단말 간의 대화가 종료된 후에 상기 변경된 매핑 테이블을 적용하는 것인, 챗봇 서버.
  13. 제 10 항에 있어서,
    상기 가상 챗봇이 상기 어느 하나의 실제 챗봇과 상기 사용자 단말이 대화 중이 아니라고 판단한 경우, 상기 설정된 트래픽 처리 비율에 기초하여 상기 복수의 실제 챗봇 중 상기 어느 하나의 실제 챗봇과 다른 실제 챗봇으로 상기 질의 메시지를 전달하는 것인, 챗봇 서버.
  14. 제 13 항에 있어서,
    상기 사용자 단말은 상기 어느 하나의 실제 챗봇과의 세션이 중단되고, 상기 다른 실제 챗봇과의 세션이 새롭게 연결되는 것인, 챗봇 서버.
  15. 제 13 항에 있어서,
    상기 가상 챗봇은 상기 다른 실제 챗봇과 상기 사용자 단말 간의 대화에 상기 어느 하나의 실제 챗봇과 상기 사용자 단말 간의 대화 맥락 정보를 이용하는 것인, 챗봇 서버.
  16. 챗봇 서버에서 복수의 실제 챗봇과 연결된 가상 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 방법에 있어서,
    복수의 서비스 중 사용자 단말로부터 선택받은 서비스에 대해 입력받은 질의 메시지 및 상기 선택받은 서비스에 대응하는 서비스 계정 정보를 메신저 서버로부터 수신하는 단계;
    상기 서비스 계정 정보에 대응하는 가상 챗봇을 이용하여 상기 가상 챗봇과 연결된 복수의 실제 챗봇 중 어느 하나의 실제 챗봇으로 상기 질의 메시지를 전달하는 단계;
    상기 어느 하나의 실제 챗봇에 의해 상기 질의 메시지에 대한 응답을 도출하는 단계; 및
    상기 도출된 응답을 메신저 서버로 전송하는 단계
    를 포함하되,
    상기 가상 챗봇과 연결된 복수의 실제 챗봇은 버전 정보가 서로 상이한 챗봇이고,
    상기 버전 정보에 따라 상기 복수의 실제 챗봇에 대한 트래픽 처리 비율이 설정되고,
    상기 가상 챗봇은 설정된 트래픽 처리 비율에 따라 상기 복수의 실제 챗봇 중 어느 하나의 실제 챗봇으로 상기 질의 메시지를 전달하는 것인, 인스턴트 메시징 서비스 제공 방법.
KR1020170169712A 2017-12-11 2017-12-11 가상 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 서버, 단말 및 방법 KR101999780B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170169712A KR101999780B1 (ko) 2017-12-11 2017-12-11 가상 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 서버, 단말 및 방법
US16/215,907 US11646981B2 (en) 2017-12-11 2018-12-11 Providing instant messaging service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170169712A KR101999780B1 (ko) 2017-12-11 2017-12-11 가상 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 서버, 단말 및 방법

Publications (2)

Publication Number Publication Date
KR20190069218A KR20190069218A (ko) 2019-06-19
KR101999780B1 true KR101999780B1 (ko) 2019-09-27

Family

ID=66696534

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170169712A KR101999780B1 (ko) 2017-12-11 2017-12-11 가상 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 서버, 단말 및 방법

Country Status (2)

Country Link
US (1) US11646981B2 (ko)
KR (1) KR101999780B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022164131A1 (ko) * 2021-01-29 2022-08-04 삼성전자 주식회사 챗봇의 세션을 유지하는 시간을 결정하는 전자 장치 및 그 동작 방법
US11700311B2 (en) 2021-01-29 2023-07-11 Samsung Electronics Co., Ltd. Electronic apparatus and operating method thereof for determining session duration time of chatbot

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3407548B1 (en) * 2017-05-22 2021-08-25 Sage Global Services Limited Chatbot system
US11163960B2 (en) * 2019-04-18 2021-11-02 International Business Machines Corporation Automatic semantic analysis and comparison of chatbot capabilities
US11637792B2 (en) * 2019-04-19 2023-04-25 Oracle International Corporation Systems and methods for a metadata driven integration of chatbot systems into back-end application services
US11012384B2 (en) * 2019-04-26 2021-05-18 Oracle International Corporation Application initiated conversations for chatbots
US11121987B1 (en) * 2019-09-03 2021-09-14 Octane AI, Inc. Conversational support for user journey
KR20230004150A (ko) * 2021-06-30 2023-01-06 주식회사 카카오 상담 서비스 제공 방법 및 장치
WO2023140720A1 (ko) * 2022-01-24 2023-07-27 마인드로직 주식회사 인공 지능 대화 서비스 시스템

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010040887A1 (en) * 1997-10-09 2001-11-15 Yuri Shtivelman Apparatus and methods enhancing call routing to and within call-centers
JP2001337827A (ja) 2000-05-24 2001-12-07 Atr Media Integration & Communications Res Lab 自然言語対話システム、自然言語対話システムにおけるヘルパーエージェントおよび仲介プログラムを記録したコンピュータ読み取り可能な記録媒体
KR20040040115A (ko) * 2002-11-06 2004-05-12 주식회사넷꼬모 로드 밸런싱 기능이 구비된 네트워크상의 상담 서비스방법 및 시스템
KR20050039364A (ko) * 2003-10-24 2005-04-29 하나로드림(주) 채팅 서비스 제공 시스템 및 방법
US8605886B2 (en) * 2006-12-18 2013-12-10 Verizon Patent And Licensing Inc. Method and system for multimedia contact routing
KR20080075748A (ko) * 2007-02-13 2008-08-19 홍성훈 네트워크상의 대화로봇을 이용한 지혜획득 및 제공방법과그 시스템
WO2010110155A1 (ja) * 2009-03-23 2010-09-30 株式会社ソニー・コンピュータエンタテインメント チャットシステム、サーバ装置、チャット方法、チャット実行プログラム、チャット実行プログラムが記憶された記憶媒体、情報処理装置、画像表示方法、画像処理プログラム、画像処理プログラムが記憶された記憶媒体
US8843571B2 (en) * 2010-01-15 2014-09-23 Endurance International Group, Inc. Web hosting service based on a common service architecture and third party services
US9973457B2 (en) * 2012-06-26 2018-05-15 Nuance Communications, Inc. Method and apparatus for live chat integration
US8792633B2 (en) * 2012-09-07 2014-07-29 Genesys Telecommunications Laboratories, Inc. Method of distributed aggregation in a call center
EP2821943A1 (en) * 2013-07-03 2015-01-07 Accenture Global Services Limited Query response device
KR101605430B1 (ko) 2014-02-14 2016-03-22 주식회사 플런티코리아 문답 데이터베이스 구축 시스템 및 방법, 그리고 이를 이용한 검색 시스템 및 방법
US20180234550A1 (en) * 2015-03-12 2018-08-16 2402326 Ontario Inc. O/A Nuage Telecom Inc. Cloud computing telecommunications platform
US10218939B2 (en) * 2016-04-14 2019-02-26 Popio Ip Holdings, Llc Methods and systems for employing virtual support representatives in connection with mutli-pane video communications
US9866693B2 (en) * 2016-05-06 2018-01-09 Genesys Telecommunications Laboratories, Inc. System and method for monitoring progress of automated chat conversations
US11580350B2 (en) * 2016-12-21 2023-02-14 Microsoft Technology Licensing, Llc Systems and methods for an emotionally intelligent chat bot
US11138388B2 (en) * 2016-12-22 2021-10-05 Verizon Media Inc. Method and system for facilitating a user-machine conversation
EP3616087A4 (en) * 2017-04-27 2020-12-16 Microsoft Technology Licensing, LLC GENERATION OF QUESTION AND ANSWER PAIRS FOR AN AUTOMATED ONLINE CONVERSATION
US11928482B2 (en) * 2017-06-13 2024-03-12 Google Llc Interaction with electronic chat interfaces
US20190354557A1 (en) * 2017-06-20 2019-11-21 Tom Kornblit System and Method For Providing Intelligent Customer Service
US11699039B2 (en) * 2017-06-28 2023-07-11 Microsoft Technology Licensing, Llc Virtual assistant providing enhanced communication session services
US20190019077A1 (en) * 2017-07-17 2019-01-17 Cisco Technology, Inc. Automatic configuration of cognitive assistant
US11153439B2 (en) * 2018-10-22 2021-10-19 Avaya Inc. Managing agent occupancy in an omni-channel environment
US11070495B2 (en) * 2018-12-28 2021-07-20 Dish Network L.L.C. Systems and methods for a chatbot communication framework

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022164131A1 (ko) * 2021-01-29 2022-08-04 삼성전자 주식회사 챗봇의 세션을 유지하는 시간을 결정하는 전자 장치 및 그 동작 방법
US11700311B2 (en) 2021-01-29 2023-07-11 Samsung Electronics Co., Ltd. Electronic apparatus and operating method thereof for determining session duration time of chatbot

Also Published As

Publication number Publication date
US20190182184A1 (en) 2019-06-13
KR20190069218A (ko) 2019-06-19
US11646981B2 (en) 2023-05-09

Similar Documents

Publication Publication Date Title
KR101999780B1 (ko) 가상 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 서버, 단말 및 방법
KR102047010B1 (ko) 중계 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 서버, 단말 및 방법
KR102029277B1 (ko) 패킷 기반 데이터 통신의 디바이스 식별자 의존적 오퍼레이션 프로세싱
CN103298529B (zh) 用于管理视频游戏中的用户输入的装置和方法
KR101687521B1 (ko) 멀티-스크린 상호작용 방법, 장치, 및 시스템
EP3404875B1 (en) Electronic device providing dialog contents, server and method thereof
KR101577920B1 (ko) 위치-기반 그룹 생성 방법, 장치 및 시스템
KR20180115937A (ko) 대화형 콘텐츠 제공 시스템
US9065788B2 (en) Method, device and system for voice communication
KR102104503B1 (ko) 중계 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 서버, 단말 및 방법
US20110282953A1 (en) Method and apparatus for providing message conversation by group in a messaging service
US10863312B2 (en) Moving track sharing method and apparatus, and storage medium
JP2021012710A (ja) 非同期メッセージシステムにおける単一アカウントに対する複数プロファイルの管理
KR102472916B1 (ko) 대화형 콘텐츠 제공 시스템 및 방법
US8656028B2 (en) System, method, and program for communication connection by polling
US11620452B2 (en) Dynamic text message processing implementing endpoint communication channel selection
EP2974159B1 (en) Method, device and system for voice communication
CN106028311B (zh) 一种终端注册方法及装置
CN110178353A (zh) 业务处理方法、云服务器和终端设备
KR20220006605A (ko) 클라우드 통신 방법 및 장치, 사용자 기기, 네트워크 기기
US9712683B2 (en) Communication agent method
US8285784B2 (en) Service creation via presence messaging
KR101549990B1 (ko) 데이터 관리 장치
KR20220069374A (ko) 음식 배달 서비스 제공 방법, 호스트 단말 및 메신저 서버
KR20150091277A (ko) Mim 서비스 시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant