KR20190123708A - Server, device and method for providing instant messeging service by using relay chatbot - Google Patents

Server, device and method for providing instant messeging service by using relay chatbot Download PDF

Info

Publication number
KR20190123708A
KR20190123708A KR1020190133252A KR20190133252A KR20190123708A KR 20190123708 A KR20190123708 A KR 20190123708A KR 1020190133252 A KR1020190133252 A KR 1020190133252A KR 20190133252 A KR20190133252 A KR 20190133252A KR 20190123708 A KR20190123708 A KR 20190123708A
Authority
KR
South Korea
Prior art keywords
chatbot
response
relay
service
chatbots
Prior art date
Application number
KR1020190133252A
Other languages
Korean (ko)
Other versions
KR102104503B1 (en
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 KR1020190133252A priority Critical patent/KR102104503B1/en
Publication of KR20190123708A publication Critical patent/KR20190123708A/en
Application granted granted Critical
Publication of KR102104503B1 publication Critical patent/KR102104503B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • 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]

Abstract

According to one embodiment of the present invention, provided is a chatbot server for providing an instant messaging service using a relay chatbot relaying a plurality of chatbots. The chatbot server comprises: a reception unit receiving a query message received for a service selected by a user terminal of a plurality of services and service account information corresponding to the selected service from a messenger server; a deriving unit deriving a response to the query message using a relay chatbot corresponding to the service account information; and a transmission unit transmitting the response to the messenger server. The chatbot derives the response by at least one chatbot of the plurality of chatbots by relaying the plurality of chatbots connected with the relay chatbot and the user terminal.

Description

중계 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 서버, 단말 및 방법{SERVER, DEVICE AND METHOD FOR PROVIDING INSTANT MESSEGING SERVICE BY USING RELAY CHATBOT}SERVER, DEVICE AND METHOD FOR PROVIDING INSTANT MESSEGING SERVICE BY USING RELAY CHATBOT}

본 발명은 인스턴트 메시징 서비스를 제공하는 서버, 단말 및 방법에 관한 것으로서, 보다 상세하게는 복수의 챗봇을 중계하는 중계 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 서버, 단말 및 방법에 관한 것이다. The present invention relates to a server, a terminal, and a method for providing an instant messaging service, and more particularly, to a server, a terminal, and a method for providing an instant messaging service using a relay chatbot for relaying a plurality of chatbots.

챗봇(Chatbot)이란 채팅로봇, 즉 인공지능을 기반으로 사람과의 문자 대화를 통해 질문에 알맞은 답이나 각종 연관 정보를 제공하는 인공지능 커뮤니케이션 프로그램을 말한다. 이러한, 챗봇은 메신저 어플리케이션을 통해 상호작용하는 서비스로 기설정된 규칙 또는 인공지능 기술을 통해 제공된다. Chatbot is a chat robot, or AI communication program that provides answers to questions and related information through text conversations with people based on artificial intelligence. These chatbots are provided via rules or artificial intelligence technology as services that interact via a messenger application.

종래의 챗봇 서비스가 제공되는 구조를 살펴보면, 챗봇 서비스 구조는 각 챗봇 서비스마다 챗봇이 하나씩 일대일 관계로 매핑되어 있어 매핑된 챗봇을 통해 대화 서비스를 제공하는 구조를 갖는다. 예를 들면, 챗봇 서버는 사용자 단말로부터 메신저 서버를 통해 제 1 챗봇 서비스에 대한 챗봇 아이디 및 질의 메시지를 수신한 경우, 수신된 챗봇 아이디에 대응하는 제 1 챗봇을 통해 질의 메시지에 대한 응답을 메신저 서버를 거쳐 사용자 단말에게 제공하고, 사용자 단말로부터 메신저 서버를 통해 제 2 챗봇 서비스에 대한 챗봇 아이디 및 질의 메시지를 수신하는 경우, 수신된 챗봇 아이디에 대응하는 제 2 챗봇을 통해 질의 메시지에 대한 응답을 메신저 서버를 거쳐 사용자 단말에게 제공한다.Looking at the structure of the conventional chatbot service, the chatbot service structure has a structure in which a chatbot is mapped in a one-to-one relationship for each chatbot service to provide a chat service through the mapped chatbot. For example, when the chatbot server receives a chatbot ID and a query message for a first chatbot service from a user terminal through a messenger server, the chatbot server sends a response to the query message through the first chatbot corresponding to the received chatbot ID. When providing a chatbot ID and a query message for the second chatbot service through the messenger server through the messenger server, the user terminal sends a response to the query message through the second chatbot corresponding to the received chatbot ID. Provided to user terminal via server.

이러한 종래의 챗봇 서비스는 각 서비스에 대응되는 챗봇을 통해 서비스를 제공하기 때문에 질의 메시지에 대한 응답이 항상 일정할 수 밖에 없고, 질의 메시지에 대한 최선의 응답을 도출하기 어려운 한계가 있다. Since the conventional chatbot service provides a service through a chatbot corresponding to each service, the response to the query message is inevitably constant, and it is difficult to derive the best response to the query message.

일본공개특허공보 제2001-337827호 (2001.12.07. 공개)Japanese Laid-Open Patent Publication No. 2001-337827 (published Dec. 7, 2001)

본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 복수의 서비스 중 사용자 단말이 선택한 서비스와 관련된 질의 메시지를 해당 서비스에 대응하는 중계 챗봇를 통해 중계 챗봇과 연결된 복수의 챗봇 중 어느 하나의 챗봇으로부터 질의 메시지에 대한 응답을 도출하고, 도출된 응답을 사용자 단말에게 제공하는 서버, 단말 및 방법을 제공하고자 한다.The present invention is to solve the above-mentioned problems of the prior art, any one of a plurality of chatbots connected to the relay chatbot via a chat chatbot corresponding to the service to the query message associated with the service selected by the user terminal of the plurality of services A server, a terminal, and a method for deriving a response to a query message from the same and providing the derived response to a user terminal are provided.

또한, 본 발명은 중계 챗봇을 구성하는 기계 학습 모델을 이용하여 복수의 챗봇 중 질의 메시지를 처리하는 챗봇을 선택하고, 선택된 챗봇을 통해 질의 메시지에 대한 응답을 도출하고, 도출된 응답을 사용자 단말에게 제공하는 서버, 단말 및 방법을 제공하고자 한다. The present invention also selects a chatbot that processes a query message among a plurality of chatbots using a machine learning model constituting the relay chatbot, derives a response to the query message through the selected chatbot, and sends the derived response to the user terminal. To provide a server, a terminal and a method for providing.

또한, 본 발명은 중계 챗봇을 통해 복수의 챗봇으로부터 수신한 질의 메시지에 대한 응답의 랭킹을 도출하여 도출된 랭킹에 기초하여 응답을 선택하고, 선택된 응답을 사용자 단말에게 제공하는 서버, 단말 및 방법을 제공하고자 한다. The present invention also provides a server, a terminal, and a method for selecting a response based on a ranking obtained by deriving a ranking of responses to a query message received from a plurality of chatbots through a relay chatbot, and providing the selected response to a user terminal. To provide.

또한, 본 발명은 중계 챗봇을 구성하는 기계 학습 모델을 이용하여 질의 메시지를 처리하는 챗봇을 선택하고, 선택된 챗봇을 통해 질의 메시지에 대한 응답을 도출하고, 도출된 응답을 사용자 단말에게 제공하는 서버, 단말 및 방법을 제공하고자 한다. The present invention also provides a server that selects a chatbot that processes a query message using a machine learning model constituting a relay chatbot, derives a response to the query message through the selected chatbot, and provides the derived response to the user terminal. It is intended to provide a terminal and a method.

또한, 본 발명은 각 챗봇으로의 직접적인 질의 메시지의 전송 없이 복수의 챗봇과 사용자 단말을 중계하는 중계 챗봇을 이용함으로써 복수의 챗봇에 의해 도출된 응답 중 사용자의 질의 의도에 가장 적합한 응답을 도출하는 서버, 단말 및 방법을 제공하고자 한다. The present invention also provides a server that derives the response most suitable for the user's query intention among the responses derived by the plurality of chatbots by using a relay chatbot that relays a plurality of chatbots and user terminals without transmitting a direct query message to each chatbot. To provide a terminal and a method.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예에 따르는 복수의 챗봇과 사용자 단말을 중계하는 중계 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 챗봇 서버는 복수의 서비스 중 사용자 단말이 선택한 서비스에 대해 입력받은 질의 메시지 및 상기 선택한 서비스에 대응하는 서비스 계정 정보를 상기 메신저 서버로부터 수신하는 수신부; 상기 서비스 계정 정보에 대응하는 중계 챗봇을 이용하여 상기 질의 메시지에 대한 응답을 도출하는 도출부; 및 상기 응답을 상기 메신저 서버로 전송하는 전송부를 포함하고, 상기 중계 챗봇은 상기 중계 챗봇과 연결된 복수의 챗봇과 사용자 단말을 중계함으로써 상기 복수의 챗봇 중 적어도 하나의 챗봇에 의해 상기 응답을 도출하도록 한다. As a technical means for achieving the above technical problem, a chatbot server that provides an instant messaging service using a relay chatbot relaying a plurality of chatbots and user terminals according to an embodiment of the present invention is a user terminal of a plurality of services A receiving unit receiving a query message received for the selected service and service account information corresponding to the selected service from the messenger server; A derivation unit for deriving a response to the query message using a relay chatbot corresponding to the service account information; And a transmission unit for transmitting the response to the messenger server, wherein the relay chatbot relays the plurality of chatbots and user terminals connected to the relay chatbot to derive the response by at least one chatbot among the plurality of chatbots. .

본 발명의 다른 실시예에 따르는 챗봇 서버에서 복수의 챗봇과 연결된 중계 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 방법은 복수의 서비스 중 사용자 단말로부터 선택받은 서비스에 대해 입력받은 질의 메시지 및 상기 선택받은 서비스에 대응하는 서비스 계정 정보를 메신저 서버로부터 수신하는 단계; 상기 서비스 계정 정보에 대응하는 중계 챗봇을 이용하여 상기 중계 챗봇과 연결된 복수의 챗봇과 사용자 단말을 중계함으로써 상기 복수의 챗봇 중 적어도 하나의 챗봇에 의해 상기 질의 메시지에 대한 응답을 도출하는 단계; 및 상기 도출된 응답을 상기 메신저 서버로 전송하는 단계를 포함한다. In a chatbot server according to another embodiment of the present invention, a method for providing an instant messaging service using a relay chatbot connected to a plurality of chatbots includes a query message received for a service selected from a user terminal among a plurality of services and the selected service. Receiving service account information corresponding to the messenger server; Deriving a response to the query message by at least one chatbot of the plurality of chatbots by relaying a plurality of chatbots and a user terminal connected to the relay chatbot using a relay chatbot corresponding to the service account information; And transmitting the derived response to the messenger server.

본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 복수의 서비스 중 사용자 단말이 선택한 서비스와 관련된 질의 메시지를 해당 서비스에 대응하는 중게 챗봇를 통해 중계 챗봇과 연결된 복수의 챗봇 중 어느 하나의 챗봇으로부터 질의 메시지에 대한 응답을 도출하고, 도출된 응답을 사용자 단말에게 제공하는 서버, 단말 및 방법을 제공할 수 있다.The present invention is to solve the above-mentioned problems of the prior art, any one of a plurality of chatbots connected to the chatbot connected to the relay chatbot via the middle chatbot corresponding to the service selected by the user terminal of the plurality of services corresponding to the service A server, a terminal, and a method for deriving a response to a query message from the terminal and providing the derived response to the user terminal can be provided.

또한, 본 발명은 중계 챗봇을 구성하는 기계 학습 모델을 이용하여 복수의 챗봇 중 질의 메시지를 처리하는 챗봇을 선택하고, 선택된 챗봇을 통해 질의 메시지에 대한 응답을 도출하고, 도출된 응답을 사용자 단말에게 제공하는 서버, 단말 및 방법을 제공할 수 있다. The present invention also selects a chatbot that processes a query message among a plurality of chatbots using a machine learning model constituting the relay chatbot, derives a response to the query message through the selected chatbot, and sends the derived response to the user terminal. It can provide a server, a terminal and a method for providing.

또한, 본 발명은 중계 챗봇을 통해 복수의 챗봇으로부터 수신한 질의 메시지에 대한 응답의 랭킹을 도출하여 도출된 랭킹에 기초하여 응답을 선택하고, 선택된 응답을 사용자 단말에게 제공하는 서버, 단말 및 방법을 제공할 수 있다. The present invention also provides a server, a terminal, and a method for selecting a response based on a ranking obtained by deriving a ranking of responses to a query message received from a plurality of chatbots through a relay chatbot, and providing the selected response to a user terminal. Can provide.

또한, 본 발명은 중계 챗봇을 구성하는 기계 학습 모델을 이용하여 질의 메시지를 처리하는 챗봇을 선택하고, 선택된 챗봇을 통해 질의 메시지에 대한 응답을 도출하고, 도출된 응답을 사용자 단말에게 제공하는 서버, 단말 및 방법을 제공할 수 있다.The present invention also provides a server that selects a chatbot that processes a query message using a machine learning model constituting a relay chatbot, derives a response to the query message through the selected chatbot, and provides the derived response to the user terminal. A terminal and a method can be provided.

또한, 본 발명은 각 챗봇으로의 직접적인 질의 메시지의 전송 없이 복수의 챗봇과 사용자 단말을 중계하는 중계 챗봇을 이용함으로써 복수의 챗봇에 의해 도출된 응답 중 사용자의 질의 의도에 가장 적합한 응답을 도출하는 서버, 단말 및 방법을 제공할 수 있다.The present invention also provides a server that derives a response most suitable for a user's query intention among the responses derived by the plurality of chatbots by using a relay chatbot relaying a plurality of chatbots and user terminals without transmitting a direct query message to each chatbot. A terminal and a method can be provided.

도 1은 본 발명의 일 실시예에 따른 인스턴트 메시징 서비스 제공 시스템을 개괄적으로 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 챗봇 서버의 구성도이다.
도 3a내지 3c는 본 발명의 일 실시예에 따른 중계 챗봇을 이용한 인스턴트 메시징 서비스를 제공하는 방법을 설명하기 위한 도면이다.
도 4a 내지 4c는 본 발명의 일 실시예에 따른 질의 메시지에 대한 응답을 도출하는 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 챗봇 서버를 통해 인스턴트 메시징 서비스 제공하는 방법의 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 질의 메시지에 대한 응답의 예시 도면이다.
1 is a diagram schematically illustrating a system for providing an instant messaging service according to an embodiment of the present invention.
2 is a block diagram of a chatbot server according to an embodiment of the present invention.
3A to 3C are diagrams for describing a method for providing an instant messaging service using a relay chatbot according to an embodiment of the present invention.
4A to 4C illustrate a method of deriving a response to a query message according to an embodiment of the present invention.
5 is a flowchart of a method for providing an instant messaging service through a chatbot server according to an embodiment of the present invention.
6 is an exemplary diagram of a response to a query message according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element in between. . In addition, when a part is said to "include" a certain component, which means that it may further include other components, except to exclude other components unless otherwise stated.

본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.In the present specification, the term 'unit' includes a unit realized by hardware, a unit realized by software, and a unit realized by both. In addition, one unit may be realized using two or more pieces of hardware, and two or more units may be realized by one piece of hardware. Meanwhile, '~' is not limited to software or hardware, and '~' may be configured to be in an addressable storage medium or may be configured to reproduce one or more processors. Thus, as an example, '~' means components such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, procedures, and the like. Subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functionality provided within the components and the 'parts' may be combined into a smaller number of components and the 'parts' or further separated into additional components and the 'parts'. In addition, the components and '~' may be implemented to play one or more CPUs in the device or secure multimedia card.

이하에서 언급되는 "사용자 단말"은 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말기로 구현될 수 있다. The "user terminal" referred to below may be implemented as a computer or a portable terminal that can access a server or another terminal through a network.

도 1은 본 발명의 일 실시예에 따른 인스턴트 메시징 서비스 제공 시스템을 개괄적으로 나타낸 도면이다.1 is a diagram schematically illustrating a system for providing an instant messaging service according to an embodiment of the present invention.

도 1을 참조하면, 인스턴트 메시징 서비스 제공 시스템은 사용자 단말(100), 메신저 서버(110) 및 챗봇 서버(120)를 포함할 수 있다. 이러한 도 1의 인스턴트 메시징 서비스 제공 시스템은 본 발명의 일 실시예에 불과하므로 도 1을 통해 본 발명이 한정 해석되는 것은 아니다. 즉, 본 발명의 다양한 실시예들에 따르면 인스턴트 메시징 서비스 제공 시스템은 도 1과 다르게 구성될 수도 있다. Referring to FIG. 1, an instant messaging service providing system may include a user terminal 100, a messenger server 110, and a chatbot server 120. Since the instant messaging service providing system of FIG. 1 is only an embodiment of the present invention, the present invention is not limitedly interpreted through FIG. 1. That is, according to various embodiments of the present invention, the instant messaging service providing system may be configured differently from FIG. 1.

사용자 단말(100)에 설치된 메신저 앱을 통해 등록될 수 있는 친구는 실제 친구 및 가상 친구를 포함할 수 있다.Friends that can be registered through a messenger app installed in the user terminal 100 may include real friends and virtual friends.

사용자 단말(100)의 사용자는 메신저 앱을 통해 영리적인 목적이 없는 타 사용자(예를 들어, 가족, 지인, 직장 동료 등)를 실제 친구로서 등록할 수 있다.A user of the user terminal 100 may register another user (eg, family, acquaintances, work colleagues, etc.) having no commercial purpose as a real friend through a messenger app.

사용자 단말 (100)은 사용자 단말(100)에 설치된 메신저 앱을 통해 실제 친구로 등록된 타 사용자와 채팅방을 통해 대화를 주고 받음으로써 사용자에게 인스턴스 메시징 서비스를 제공할 수 있다. The user terminal 100 may provide an instant messaging service to a user by exchanging a conversation with another user registered as a real friend through a chat room through a messenger app installed in the user terminal 100.

사용자 단말(100)의 사용자는 메신저 앱을 통해 특정 서비스에 대응하는 공식 계정을 가상 친구로서 등록할 수 있다. 공식 계정이란 특정 기업체 및 단체에서 특정 서비스를 제공하기 위하여 운영하는 계정을 의미할 수 있다. 예를 들어, 공식 계정은 공식 계정과 사용자 단말(100) 사이에 개설된 채팅방을 통해 사용자 단말(100)로 특정 서비스에 대한 정보를 제공할 수 있다. 사용자 단말(100)은 해당 공식 계정을 가상 친구로 등록하여 공식 계정으로부터 특정 서비스에 대한 정보를 제공받을 수 있다. 한편, 해당 공식 계정을 가상 친구로 등록하지 않더라도 특정 서비스에 대한 정보를 제공받을 수도 있다. A user of the user terminal 100 may register an official account corresponding to a specific service as a virtual friend through a messenger app. The official account may mean an account operated by a specific company or organization to provide a specific service. For example, the official account may provide information about a specific service to the user terminal 100 through a chat room established between the official account and the user terminal 100. The user terminal 100 may register a corresponding official account as a virtual friend and receive information on a specific service from the official account. Meanwhile, even if the official account is not registered as a virtual friend, information on a specific service may be provided.

공식 계정은 특정 기업체 및 단체에서 제공하는 특정 서비스에 대한 정보를 사용자 단말(100)로 제공하기 위하여 챗봇을 이용할 수 있다. 공식 계정의 관리자는 챗봇 서버(120)에서 제공되는 봇빌더에 관한 사용자 인터페이스를 통해 챗봇을 생성하고, 생성된 챗봇을 공식 계정과 연결하여 연동하게 함으로써 특정 서비스에 대한 정보(예를 들어, 특정 서비스에 관련된 질의 메시지에 대한 응답)를 제공하도록 할 수 있다. 또한, 공식 계정의 관리자는 봇빌더에 관한 사용자 인터페이스를 통해 공식 계정과 챗봇을 일대일 매칭하여 관리할 수 있으며, 복수의 챗봇을 공식 계정과 연결하여 연동하게 하도록 확장할 수도 있다. The official account may use the chatbot to provide the user terminal 100 with information about a specific service provided by a specific company and organization. The administrator of the official account creates a chatbot through a user interface related to the bot builder provided by the chatbot server 120, and connects the created chatbot with the official account so as to link information about a specific service (for example, a specific service). Response to the query message related to the). In addition, the official account manager can manage the official account and the chatbot by one-to-one matching through the user interface for the bot builder, and can be extended to link a plurality of chatbots to the official account.

또한, 사용자 단말(100)의 사용자는 메신저 앱을 통해 특정 서비스에 대응하는 중계 챗봇을 가상 친구로서 등록할 수 있다. 중계 챗봇은 사용자 단말(100)과 복수의 챗봇 사이를 중계하여 중계 서비스를 제공하는 챗봇으로서, 사용자 단말(100)은 중계 챗봇을 통해 질의 메시지에 대한 응답을 제공받을 수 있다. In addition, a user of the user terminal 100 may register a relay chatbot corresponding to a specific service as a virtual friend through a messenger app. The relay chatbot is a chatbot that provides a relay service by relaying between the user terminal 100 and the plurality of chatbots, and the user terminal 100 may receive a response to an inquiry message through the relay chatbot.

따라서, 사용자 단말(100)은 공식 계정을 가상 친구로서 등록하고 해당 공식 계정과 중계 챗봇이 매핑된 경우, 해당 공식 계정과 연동하는 중계 챗봇을 통해 질의 메시지에 대한 응답을 제공받을 수 있으며 중계 챗봇 자체를 가상 친구로서 등록할 경우, 해당 중계 챗봇을 통해 질의 메시지에 대한 응답을 제공받을 수 있다.Therefore, when the user terminal 100 registers an official account as a virtual friend and the corresponding official account and the relay chatbot are mapped, the user terminal 100 may receive a response to an inquiry message through the relay chatbot linked with the official account, and the relay chatbot itself. If you register as a virtual friend, you can be provided with a response to the query message through the relay chatbot.

사용자 단말(100)은 메신저 앱에 가상 친구로 등록된 예를 들어, 중계 챗봇 또는 공식 계정과 채팅방을 통해 대화를 주고 받음으로써 사용자에게 인스턴스 메시징 서비스를 제공할 수 있다. 또한, 사용자 단말(100)은 사용자 단말(100)과 실제 친구 사이에 개설된 채팅방에 가상 친구로서 등록된 중계 챗봇을 초대할 수 있다.The user terminal 100 may provide an instant messaging service to a user by exchanging a chat through a chat room with, for example, a relay chatbot or an official account registered as a virtual friend in a messenger app. In addition, the user terminal 100 may invite a relay chatbot registered as a virtual friend to a chat room established between the user terminal 100 and a real friend.

사용자 단말(100)은 사용자 단말(100)에 설치된 메신저 앱을 통해 제공되는 복수의 서비스 중 하나의 서비스를 사용자로부터 선택받을 수 있다. 예를 들어, 복수의 서비스는 공식 계정이 제공하는 서비스 및 중계 챗봇이 제공하는 서비스를 포함할 수 있다. 사용자는 가상 친구인 공식 계정 또는 중계 챗봇을 선택함으로 공식 계정이 제공하는 서비스 또는 중계 챗봇이 제공하는 서비스를 채팅방을 통해 제공 받을 수 있다. The user terminal 100 may receive one of a plurality of services provided through a messenger app installed in the user terminal 100 from a user. For example, the plurality of services may include a service provided by an official account and a service provided by a relay chatbot. The user may receive a service provided by the official account or a service provided by the relay chatbot through the chat room by selecting the official account or the relay chatbot as the virtual friend.

사용자 단말(100)은 사용자 단말(100)에 설치된 메신저 앱을 통해 제공되는 복수의 서비스 중 하나의 서비스를 사용자로부터 선택받으면, 선택된 서비스에 대응하는 서비스 계정 정보를 메신저 서버(110)에게 전송할 수 있다. 예를 들어, 서비스 계정 정보는 선택된 서비스에 대응하는 챗봇 아이디 또는 선택된 서비스에 대응하는 공식 계정의 공식 계정 아이디를 포함할 수 있다. When the user terminal 100 selects one service among a plurality of services provided through a messenger app installed in the user terminal 100, the user terminal 100 may transmit service account information corresponding to the selected service to the messenger server 110. . For example, the service account information may include a chatbot ID corresponding to the selected service or an official account ID of the official account corresponding to the selected service.

또한, 사용자 단말(100)은 사용자에 의해 선택된 서비스와 관련된 질의 메시지를 채팅방을 통해 사용자로부터 입력받으면, 해당 질의 메시지를 메신저 서버(110)로 전송할 수 있다. 서비스 계정 정보 및 질의 메시지는 메신저 서버(110)를 통해 챗봇 서버(120)로 전달될 수 있다. In addition, when the user terminal 100 receives a query message related to a service selected by the user from the user through a chat room, the user terminal 100 may transmit the corresponding query message to the messenger server 110. The service account information and the query message may be delivered to the chatbot server 120 through the messenger server 110.

메신저 서버(110)는 사용자 단말(100)과 실제 친구로 등록된 타 사용자가 채팅방에서 대화를 주고 받을 수 있게 하는 인스턴스 메시징 서비스를 제공할 수 있다. 또한, 메신저 서버(110)는 사용자 단말(100)은 메신저 앱에 가상 친구로 등록된 중계 챗봇 또는 공식 계정과 대화를 주고 받을 수 있게 하는 인스턴스 메시징 서비스를 제공할 수 있다.The messenger server 110 may provide an instant messaging service that enables other users registered as real friends with the user terminal 100 to exchange conversations in a chat room. In addition, the messenger server 110 may provide an instant messaging service that allows the user terminal 100 to exchange a conversation with a relay chatbot or an official account registered as a virtual friend in a messenger app.

예를 들어, 메신저 서버(110)는 사용자 단말(100)로부터 선택된 서비스에 관한 챗봇 아이디 및 질의 메시지를 수신한 경우, 수신한 챗봇 아이디 및 질의 메시지를 챗봇 서버(120)로 전달할 수 있다. 다른 예를 들어, 메신저 서버(110)는 사용자 단말(100)로부터 선택된 서비스에 관한 공식 계정 아이디 및 질의 메시지를 수신한 경우, 수신한 공식 계정 아이디(또는 수신한 공식 계정 아이디와 매핑된 챗봇 아이디) 및 수신한 질의 메시지를 챗봇 서버(120)로 전달할 수 있다.For example, when the messenger server 110 receives a chatbot ID and a query message about a selected service from the user terminal 100, the messenger server 110 may transfer the received chatbot ID and the query message to the chatbot server 120. As another example, when the messenger server 110 receives an official account ID and a query message about a selected service from the user terminal 100, the messenger server 110 receives the official account ID (or a chatbot ID mapped with the received official account ID). And the received query message to the chatbot server 120.

메신저 서버(110)는 챗봇 서버(120)로부터 중계 챗봇에 의하여 도출된 질의 메시지에 대한 응답을 수신할 수 있다. 메신저 서버(110)는 수신한 응답을 사용자 단말(100)과 챗봇 간에 개설된 채팅방 또는 사용자 단말(100)과 공식 계정 간에 개설된 채팅방에 전송할 수 있다.The messenger server 110 may receive a response to the query message derived by the relay chatbot from the chatbot server 120. The messenger server 110 may transmit the received response to a chat room established between the user terminal 100 and the chatbot or a chat room opened between the user terminal 100 and an official account.

챗봇 서버(120)는 메신저 서버(110)로부터 공식 계정 아이디 및 질의 메시지를 수신하고, 공식 계정 아이디와 중계 챗봇이 매핑된 경우, 공식 계정 아이디에 대응하는 중계 챗봇을 이용하여 질의 메시지에 대한 응답을 도출할 수 있다. 또한, 챗봇 서버(120)는 메신저 서버(110)로부터 챗봇 아이디 및 질의 메시지를 수신하는 경우, 챗봇 아이디에 대응하는 중계 챗봇을 이용하여 질의 메시지에 대한 응답을 도출할 수 있다. 이 때, 중계 챗봇은 중계 챗봇과 연결된 복수의 챗봇과 사용자 단말을 중계함으로써 복수의 챗봇 중 적어도 하나의 챗봇으로부터 질의 메시지에 대한 응답을 도출할 수 있다. The chatbot server 120 receives an official account ID and a query message from the messenger server 110, and when the official account ID and the relay chatbot are mapped, the chatbot server 120 responds to the query message by using a relay chatbot corresponding to the official account ID. Can be derived. In addition, when the chatbot server 120 receives a chatbot ID and a query message from the messenger server 110, the chatbot server 120 may derive a response to the query message using a relay chatbot corresponding to the chatbot ID. In this case, the relay chatbot may derive a response to the query message from at least one chatbot among the plurality of chatbots by relaying a plurality of chatbots and a user terminal connected to the relay chatbot.

챗봇 서버(120)는 도출된 응답을 메신저 서버(110)로 전송할 수 있다. 메신저 서버(110)로 전송된 응답은 사용자 단말(100)로 전송될 수 있다. The chatbot server 120 may transmit the derived response to the messenger server 110. The response sent to the messenger server 110 may be sent to the user terminal 100.

본원 발명에서 제안하고자 하는 중계 챗봇은 복수의 챗봇 간에 중계 서비스를 제공하는 챗봇으로서, 챗봇 관리자의 중계 정책(예를 들어, 복수의 챗봇 중 사용자의 질의 메시지에 대해 가장 적절한 응답을 도출하는 챗봇을 선택하는 방법)에 따라 사용자의 질의 메시지를 복수의 챗봇 모두에게 동적으로 전달함으로써 질의 메시지에 대해 가장 적절한 응답을 도출하도록 하는 중간 매개체에 해당한다고 볼 수 있다. The relay chatbot proposed by the present invention is a chatbot that provides a relay service between a plurality of chatbots, and selects a chatbot that relays the most appropriate response to a user's inquiry message among the chatbot manager's relay policy (for example, a plurality of chatbots). According to the method, the user's query message can be dynamically delivered to all the chatbots to be the intermediate mediator to derive the most appropriate response to the query message.

이와 같은 도 1의 인스턴트 메시징 서비스 제공 시스템에 포함된 각각의 구성요소의 동작에 대해서는 이하의 도면들을 통해 보다 구체적으로 설명하도록 한다. Operation of each component included in the instant messaging service providing system of FIG. 1 will be described in more detail with reference to the following drawings.

도 2는 본 발명의 일 실시예에 따른 챗봇 서버(120)의 구성도이다. 도 2를 참조하면, 본 발명의 일 실시예에 따른 챗봇 서버(120)는 수신부(200), 도출부(210), 순환 구조 판단부(220), 봇 빌더부(230) 및 전송부(240)를 포함할 수 있다. 다만, 본 발명의 일 실시예에 따른 챗봇 서버(120)의 구성은 도 2와 다르게 이루어질 수도 있다. 2 is a block diagram of a chatbot server 120 according to an embodiment of the present invention. Referring to FIG. 2, the chatbot server 120 according to an embodiment of the present invention includes a receiving unit 200, a deriving unit 210, a circulation structure determining unit 220, a bot builder 230 and a transmitting unit 240. ) May be included. However, the configuration of the chatbot server 120 according to an embodiment of the present invention may be made differently from FIG.

수신부(200)는 인스턴트(instant) 메시징 서비스를 제공하는 메신저 앱에 등록된 복수의 서비스 중 사용자 단말(100)의 사용자로부터 선택받은 경우, 선택된 서비스에 대응하는 서비스 계정 정보를 메신저 서버(110)로부터 수신할 수 있다. When the receiver 200 receives a selection from a user of the user terminal 100 among a plurality of services registered in a messenger app that provides an instant messaging service, the receiver 200 receives service account information corresponding to the selected service from the messenger server 110. Can be received.

예를 들어, 복수의 서비스 중 특정 공식 계정이 제공하는 서비스를 사용자 단말(100)의 사용자로부터 선택받은 경우, 수신부(200)는 선택된 서비스에 대응하는 공식 계정 아이디를 메신저 서버(110)로부터 수신할 수 있다.For example, when a service provided by a specific official account among a plurality of services is selected by a user of the user terminal 100, the receiver 200 may receive an official account ID corresponding to the selected service from the messenger server 110. Can be.

다른 예를 들어, 복수의 서비스 중 특정 챗봇이 제공하는 서비스를 사용자 단말(100)의 사용자로부터 선택받은 경우, 수신부(200)는 선택된 서비스에 대응하는 챗봇 아이디를 메신저 서버(110)로부터 수신할 수 있다. For another example, when a service provided by a specific chatbot among a plurality of services is selected by a user of the user terminal 100, the receiver 200 may receive a chatbot ID corresponding to the selected service from the messenger server 110. have.

수신부(200)는 사용자 단말(100)의 사용자가 메신저 앱에 등록된 중계 챗봇에 대한 서비스를 선택한 경우, 해당 중계 챗봇 아이디를 메신저 서버(110)로부터 수신할 수 있다. 예를 들어, 수신부(200)는 사용자 단말(100)의 사용자가 메신저 앱에 등록된 복수의 서비스 중 어느 특정 서비스를 선택하고, 선택한 특정 서비스에 대응하는 챗봇이 중계 챗봇인 경우, 선택한 특정 서비스에 대응되는 중계 챗봇 아이디를 메신저 서버(110)로부터 수신할 수 있다. 이 경우, 중계 챗봇은 특정 서비스에 대한 질의/응답을 위해 특정 서비스와 관련된 복수의 챗봇과 연결되어 사용자 단말(100)과 복수의 챗봇 사이를 중계하는 챗봇일 수 있다.When the user of the user terminal 100 selects a service for the relay chatbot registered in the messenger app, the receiver 200 may receive the corresponding relay chatbot ID from the messenger server 110. For example, when the user of the user terminal 100 selects a certain service among a plurality of services registered in the messenger app, and the chatbot corresponding to the selected specific service is a relay chatbot, the receiver 200 selects the selected service. The corresponding chatbot ID may be received from the messenger server 110. In this case, the relay chatbot may be a chatbot connected to a plurality of chatbots associated with a specific service to interrogate between the user terminal 100 and the plurality of chatbots for a query / response to a specific service.

수신부(200)는 사용자에 의해 선택된 서비스에 대해 입력된 질의 메시지를 메신저 서버(110)로부터 수신할 수 있다. 예를 들면, 수신부(200)는 사용자가 음악 서비스를 선택한 경우, 음악 서비스와 관련된 질의 메시지를 메신저 서버(110)로부터 수신할 수 있다. The receiver 200 may receive a query message input for the service selected by the user from the messenger server 110. For example, when the user selects a music service, the receiver 200 may receive a query message related to the music service from the messenger server 110.

도출부(210)는 메신저 서버(110)로부터 수신된 중계 챗봇 아이디에 대응하는 중계 챗봇을 이용하여 질의 메시지에 대한 응답을 도출할 수 있다. The derivation unit 210 may derive a response to the query message using the relay chatbot corresponding to the relay chatbot ID received from the messenger server 110.

도출부(210)는 메신저 서버(110)로부터 수신된 질의 메시지를 수신된 중계 챗봇 아이디에 대응하는 중계 챗봇에게 전달할 수 있다. 이 때, 중계 챗봇은 중계 챗봇과 연결된 복수의 챗봇과 사용자 단말을 중계함으로써 응답을 도출할 수 있다. 중계 챗봇은 중계 챗봇과 연결된 복수의 챗봇 중 적어도 하나의 챗봇으로 질의 메시지를 전달할 수 있다. 질의 메시지를 수신한 적어도 하나의 챗봇은 질의 메시지에 대한 응답을 도출하여 중계 챗봇에게 전달할 수 있다. The derivation unit 210 may transmit a query message received from the messenger server 110 to a relay chatbot corresponding to the received relay chatbot ID. At this time, the relay chatbot may derive a response by relaying a plurality of chatbots and user terminals connected to the relay chatbot. The relay chatbot may transmit a query message to at least one chatbot among a plurality of chatbots connected to the relay chatbot. At least one chatbot receiving the query message may derive a response to the query message and transmit the response to the relay chatbot.

예를 들어, 도출부(210)는 질의 메시지를 처리할 챗봇의 챗봇 아이디를 중계 챗봇을 통해 도출하고, 도출된 챗봇 아이디를 봇 DB(미도시)로 전달하고, 봇 DB는 기저장된 봇 관련 메타데이터로부터 전달받은 챗봇 아이디에 해당하는 봇 메타데이터를 검출할 수 있다. 그리고, 도출부(310)는 봇 DB로부터 챗봇 아이디에 해당하는 챗봇의 봇 메타데이터를 전달받고, 전달받은 챗봇의 봇 메타데이터에 기초하여 질의 메시지에 대한 응답을 도출할 수 있다.For example, the derivation unit 210 derives a chatbot ID of a chatbot to process a query message through a relay chatbot, delivers the derived chatbot ID to a bot DB (not shown), and the bot DB is a previously stored bot-related meta. The bot metadata corresponding to the chatbot ID received from the data may be detected. The derivation unit 310 may receive the bot metadata of the chatbot corresponding to the chatbot ID from the bot DB and derive a response to the query message based on the received bot metadata of the chatbot.

잠시 도 3a를 참조하면, 복수의 서비스에는 각 서비스에 대응하는 중계 챗봇 아이디가 할당되어 있고, 각 할당된 중계 챗봇 아이디에 대응하는 각 중계 챗봇을 통해 서비스가 제공된다. 예를 들면, 제 1 서비스가 A 기업체의 공식 계정에서 제공하는 서비스라고 가정해보자. 제 1 서비스의 제공을 위해 제 1 서비스에 해당하는 공식 계정과 제 1 중계 챗봇(300)이 매핑되고, 제 1 중계 챗봇(300)과 연결된 복수의 챗봇(302, 304, 306)에서 처리된 질의 메시지에 대한 응답 중 제 1 중계 챗봇(300)에 의해 선택된 하나의 응답을 메신저 서버(110)를 통해 사용자 단말(100)에게 제공할 수 있다. Referring to FIG. 3A for a while, a plurality of services are assigned a relay chatbot ID corresponding to each service, and a service is provided through each relay chatbot corresponding to each assigned relay chatbot ID. For example, suppose the first service is a service provided by Company A's official account. In order to provide the first service, an official account corresponding to the first service and the first relay chatbot 300 are mapped, and queries processed by the plurality of chatbots 302, 304, and 306 connected to the first relay chatbot 300. One response selected by the first relay chatbot 300 among the responses to the message may be provided to the user terminal 100 through the messenger server 110.

다른 예를 들어, 제 2 서비스가 B 기업체의 공식 계정에서 제공하는 서비스라고 가정해보자. 제 2 서비스의 제공을 위해 제 2 서비스에 해당하는 공식 계정과 2 중계 챗봇(308)이 매핑되고, 제 2 중계 챗봇(308)과 연결된 복수의 챗봇(306, 310, 312)에서 처리된 질의 메시지에 대한 응답 중 제 2 중계 챗봇(308)에 의해 선택된 하나의 응답을 메신저 서버(110)를 통해 사용자 단말(100)에게 제공한다. As another example, suppose the second service is a service provided by Company B's official account. A query message processed by a plurality of chatbots 306, 310, and 312 that are mapped to an official account corresponding to the second service and a second relay chatbot 308 to provide a second service, and connected to the second relay chatbot 308. One response selected by the second relay chatbot 308 among the responses is provided to the user terminal 100 through the messenger server 110.

각 중계 챗봇은 각 서비스의 질의 메시지에 대한 응답을 도출하는 복수의 챗봇과 연결되어 있고, 각 중계 챗봇에 연결된 복수의 챗봇과 사용자 단말을 중계한다. 예를 들면, 도 3a를 참조하면, 음악 서비스와 관련된 질의 메시지에 대한 응답을 제공하는 제 1 중계 챗봇(300)은 음악 서비스를 제공하는 서드 파티(3rd party)에 해당하는 외부 서버(예컨대, 멜론뮤직서버, 벅스뮤직서버 등)들과 연계된 제 1 챗봇(302) 및 제 2 챗봇(304)과 연결되고, 검색을 제공하는 검색 엔진과 연계된 제 3 챗봇(306)과 연결되고, 연결된 복수의 챗봇들(302, 304, 306)과 사용자 단말을 중계할 수 있다. Each relay chatbot is connected to a plurality of chatbots that derive a response to a query message of each service, and relays a plurality of chatbots and a user terminal connected to each relay chatbot. For example, referring to FIG. 3A, a first relay chatbot 300 that provides a response to a query message related to a music service may include an external server (eg, a melon) corresponding to a third party that provides a music service. Music server, bucks music server, etc.) connected to the first chatbot 302 and second chatbot 304, and connected to the third chatbot 306 associated with the search engine for providing a search, The chatbots 302, 304, and 306 of the user terminal may be relayed.

복수의 챗봇 중 적어도 하나의 챗봇은 중계 챗봇 및 다른 중계 챗봇에게 공유될 수 있다. 챗봇은 단지 하나의 중계 챗봇과 연결될 수 있는 것이 아니라, 특정 중계 챗봇과 이미 연결된 챗봇이더라도 다른 중계 챗봇과 연결될 수 있다. 따라서, 본원 발명에서는 서로 다른 중계 챗봇이 특정 챗봇을 함께 공유할 수 있는 경우가 발생할 수 있다. 예를 들면, 도 3a를 참조하면, 제 1 중계 챗봇(300)에 연결된 복수의 챗봇(302, 304, 306) 중 검색 엔진과 연계된 제 3 챗봇(306)은 날씨 서비스와 관련된 질의 메시지에 대한 응답을 제공하는 제 2 중계 챗봇(308)에게도 공유될 수 있다. At least one chatbot of the plurality of chatbots may be shared with the relay chatbot and other relay chatbots. A chatbot may not be connected to just one relay chatbot, but may be connected to another relay chatbot even if the chatbot is already connected to a specific relay chatbot. Accordingly, in the present invention, different relay chatbots may share a specific chatbot together. For example, referring to FIG. 3A, of the plurality of chatbots 302, 304, and 306 connected to the first relay chatbot 300, the third chatbot 306 associated with the search engine may be configured to answer a query message related to a weather service. It may also be shared with a second relay chatbot 308 that provides a response.

중계 챗봇은 중계 챗봇과 연결된 다른 중계 챗봇을 중계하여 질의 메시지에 대한 응답을 도출할 수 있다. 예를 들면, 도 3b를 참조하면, 음식 서비스와 관련된 질의 메시지에 대한 응답을 제공하는 제 3 중계 챗봇(314)는 음식 서비스에 포함된 특정 음식에 대한 서비스를 담당하는 하위 중계 챗봇(318)을 중계할 수 있다. 이 때, 제 3 중계 챗봇(314)이 하위 중계 챗봇(318)에게 음식 관련 질의 메시지를 전달하고, 하위 중계 챗봇(318)은 하위 중계 챗봇(318)와 연결된 복수의 챗봇(320, 322)에서 도출된 응답을 제 3 중계 챗봇(314)에게 전달할 수 있다. The relay chatbot may derive a response to the query message by relaying another relay chatbot connected to the relay chatbot. For example, referring to FIG. 3B, a third relay chatbot 314 providing a response to a query message related to a food service may select a lower relay chatbot 318 that is in charge of a service for a specific food included in the food service. You can relay. At this time, the third relay chatbot 314 delivers a food-related query message to the lower relay chatbot 318, and the lower relay chatbot 318 is connected to the plurality of chatbots 320 and 322 connected to the lower relay chatbot 318. The derived response may be transmitted to the third relay chatbot 314.

순환 구조 판단부(220)는 서로 다른 중계 챗봇이 서로를 중계하는 순환 구조가 생성되었는지 여부를 판단할 수 있다. 이 때, 순환 구조 판단부(220)는 중계 챗봇과 중계 챗봇의 하위 챗봇 간의 트래픽을 모니터링할 수 있다. 순환 구조 판단부(220)는 챗봇 서버(120)를 구성하는 유닛으로서 필수적인 요소가 아닌 옵션적인 요소에 해당할 수 있다.The circulation structure determination unit 220 may determine whether a circulation structure in which different relay chatbots relay each other is generated. At this time, the circular structure determination unit 220 may monitor the traffic between the relay chatbot and the lower chatbot of the relay chatbot. The circulation structure determiner 220 may correspond to an optional element that is not an essential element as a unit configuring the chatbot server 120.

도 3c를 참조하면, 순환 구조 판단부(220)는 제 4 중계 챗봇(324)과 제 4 중계 챗봇(324)에 연결된 하위 중계 챗봇(326)이 서로 중계하는 순환 구조가 생성되지 못하도록 순환 구조의 사이클이 존재하는지 확인하기 위해 제 4 중계 챗봇(324)과 하위 중계 챗봇(326) 간의 질의 메시지의 송수신 및 응답의 송수신의 트래픽을 모니터링할 수 있다. 이 때, 순환 구조 판단부(220)는 상위 중계 챗봇인 제 4 중계 챗봇(324)에서만 중계가 이루어지도록 설정할 수 있다. Referring to FIG. 3C, the cyclic structure determination unit 220 is configured such that the cyclic structure in which the subordinate relay chatbots 326 connected to the fourth relay chatbot 324 and the fourth relay chatbot 324 are not generated is relayed. In order to check whether a cycle exists, traffic of transmission and reception of a query message and a response between the fourth relay chatbot 324 and the lower relay chatbot 326 may be monitored. In this case, the circulation structure determination unit 220 may set the relay to be performed only at the fourth relay chatbot 324 which is the upper relay chatbot.

봇 빌더부(230)는 중계 챗봇을 관리할 수 있도록 하는 사용자 인터페이스를 관리자의 단말로 제공할 수 있다. 예를 들면, 봇 빌더부(230)는 관리자의 단말에서 사용자 인터페이스를 통해 각 서비스에 대응되는 각각의 중계 챗봇을 디자인하거나 중계 챗봇을 추가 또는 삭제할 수 있는 기능을 제공할 수 있다. The bot builder 230 may provide a user interface for managing the relay chatbot to the terminal of the administrator. For example, the bot builder 230 may provide a function of designing each relay chatbot corresponding to each service or adding or deleting a relay chatbot through a user interface at the administrator's terminal.

예를 들어, 챗봇 관리자는 앱 또는 웹을 통해 챗봇 서버(120)의 봇빌더부(230)가 제공하는 중계 챗봇을 관리할 수 있도록 하는 사용자 인터페이스에 접속할 수 있다. 챗봇 관리자는 해당 사용자 인터페이스를 이용하여 특정 서비스를 중계하기 위한 중계 챗봇을 생성할 수 있고, 챗봇 서버(120)의 데이터베이스에 기저장된 복수의 실체 챗봇 중 챗봇 관리자의 중계 정책에 적합한 적어도 하나의 챗봇을 선택하여 중계 챗봇과 연결되도록 설정할 수 있다. For example, the chatbot manager may access a user interface for managing a relay chatbot provided by the bot builder 230 of the chatbot server 120 through an app or the web. The chatbot manager may create a relay chatbot for relaying a specific service by using a corresponding user interface, and among the plurality of entity chatbots previously stored in the database of the chatbot server 120, the chatbot manager may match at least one chatbot suitable for the chatbot manager's relay policy. You can choose to set up a connection with a relay chatbot.

전송부(240)는 도출된 응답을 메신저 서버(110)에게 전송할 수 있고, 응답은 메신저 서버(110)로부터 사용자 단말(100)로 전송될 수 있다. 구체적으로, 전송부(240)는 사용자에 의해 선택된 서비스에 대응되는 중계 챗봇의 프로필 정보 및 응답을 도출한 챗봇의 프로필 정보와 함께 도출된 응답을 메신저 서버(110)에게 전송할 수 있고, 응답은 메신저 서버(110)로부터 사용자 단말(100)로 전송되 수 있다. The transmitter 240 may transmit the derived response to the messenger server 110, and the response may be transmitted from the messenger server 110 to the user terminal 100. Specifically, the transmission unit 240 may transmit a response derived together with the profile information of the relay chatbot corresponding to the service selected by the user and the profile information of the chatbot from which the response is derived, to the messenger server 110, and the response may be a messenger. It may be transmitted from the server 110 to the user terminal 100.

챗봇의 프로필 정보는 응답을 도출한 챗봇의 홈페이지(예컨대, 챗봇이 음악 서비스와 관련된 경우, 특정 음악 서비스 홈페이지)와 링크 정보를 포함할 수 있다. 이 때, 사용자 단말(100)을 통해 출력된 응답 중 챗봇의 프로필 정보에 해당하는 영역을 사용자로부터 선택받게 되면, 챗봇의 홈페이지로 이동될 수 있다. The chatbot's profile information may include the chatbot's homepage (eg, a specific music service homepage if the chatbot is associated with a music service) and link information. At this time, if the user receives a region corresponding to the profile information of the chatbot among the responses output through the user terminal 100, it may be moved to the homepage of the chatbot.

중계 챗봇의 프로필 정보는 예를 들면, 중계 챗봇의 아이디 정보 및 중계 챗봇이 중계하는 복수의 챗봇과 연계된 서드 파티 서버에 대한 정보를 포함할 수 있다. 예를 들면, 사용자 단말(100)을 통해 중계 챗봇의 프로필 정보에 해당하는 영역을 사용자로부터 선택받게 되면, 중계 챗봇의 아이디 정보 및 중계 챗봇이 중계하는 복수의 챗봇과 연계된 서드 파티 서버에 대한 정보를 제공하는 페이지로 이동될 수 있다. The profile information of the relay chatbot may include, for example, ID information of the relay chatbot and information about a third party server associated with a plurality of chatbots relayed by the relay chatbot. For example, when a user receives an area corresponding to the profile information of the relay chatbot through the user terminal 100, the ID information of the relay chatbot and information on the third party server associated with the plurality of chatbots relayed by the relay chatbot are relayed. You may be taken to a page that provides.

이하에서 설명하려고 하는 것은 중계 챗봇이 복수의 챗봇 중 사용자 단말(100)로 가장 적절한 응답을 제공할 수 있는 챗봇을 선택하는 방법에 관한 것이다.What will be described below relates to a method for the relay chatbot to select a chatbot that can provide the most appropriate response to the user terminal 100 among the plurality of chatbots.

일 실시예로서 중계 챗봇은 복수의 챗봇에 대한 스코어를 도출하고, 도출된 스코어에 따라 사용자 단말(100)로 응답을 제공하기 위한 챗봇을 선택할 수 있다. 이는 각 챗봇으로 질의 메시지를 전달하지 않고도 수행될 수 있는 논-폴링 모델(Non-polling model)에 해당한다.In one embodiment, the relay chatbot may derive scores for the plurality of chatbots and select a chatbot for providing a response to the user terminal 100 according to the derived scores. This corresponds to a non-polling model that can be performed without passing query messages to each chatbot.

예를 들어 도 4a를 참조하면, 중계 챗봇은 기계 학습 모델(400)에 질의 메시지를 입력하여 중계 챗봇에 연결된 복수의 챗봇 각각에 대한 스코어를 도출하고, 도출된 스코어에 따라 복수의 챗봇 중 어느 하나의 챗봇을 선택하고, 선택된 챗봇으로 질의 메시지를 전달한다. 이 때, 중계 챗봇에 의해 선택된 챗봇은 질의 메시지에 대한 응답을 도출하고, 도출된 응답을 중계 챗봇에게 전달한다. 여기서, 기계 학습 모델(400)은 복수의 챗봇 각각에서 질의 메시지를 처리할 수 있는 확률값을 예측하고, 예측된 확률값에 기초하여 스코어를 도출하는 모델일 수 있다. For example, referring to FIG. 4A, the relay chatbot inputs a query message to the machine learning model 400 to derive a score for each of the plurality of chatbots connected to the relay chatbot, and according to the derived score, one of the plurality of chatbots. Select a chatbot and send a query message to the selected chatbot. At this time, the chatbot selected by the relay chatbot derives a response to the query message and delivers the derived response to the relay chatbot. Here, the machine learning model 400 may be a model that predicts a probability value capable of processing a query message in each of the plurality of chatbots and derives a score based on the predicted probability value.

스코어는 이전에 사용자 단말(100)에게 제공된 응답을 도출한 챗봇의 처리 비율, 사용자 단말(100)이 선호하는 응답을 도출한 챗봇의 처리 비율 또는 사용자 단말(100)과 챗봇 간의 대화에 대한 컨텍스트 정보(문맥 정보)에 기초하여 가장 합당한 응답이라고 판단되는 응답을 도출한 챗봇의 처리 비율에 기초하여 산출된 값일 수 있으며, 복수의 사용자 단말에게 제공된 응답을 도출한 챗봇의 처리 비율 또는 복수의 사용자 단말이 선호하는 응답을 도출한 챗봇의 처리 비율에 기초하여 산출된 값일 수 있다. 예를 들면, 제 1 중계 챗봇(300)은 기계 학습 모델(400)을 이용하여 복수의 챗봇(302, 304, 306) 각각에 대한 질의 메시지를 처리하는 스코어를 도출할 수 있다. 질의 메시지를 처리하는 제 1 챗봇(302)의 스코어가 50점이고, 제 2 챗봇(304)의 스코어가 80점이고, 제 3 챗봇(306)의 스코어가 60점인 경우, 제 1 중계 챗봇(300)은 스코어가 높은 제 2 챗봇(304)를 선택하고, 선택된 제 2 챗봇(304)에게만 질의 메시지를 전달할 수 있다. 이 때, 제 2 챗봇(304)은 제 1 중계 챗봇(300)으로부터 수신한 질의 메시지의 응답을 도출하고, 도출된 응답을 제 1 중계 챗봇(300)에게 전달할 수 있다. The score is the processing rate of the chatbot that previously derived the response provided to the user terminal 100, the processing rate of the chatbot that derived the preferred response of the user terminal 100, or context information about the conversation between the user terminal 100 and the chatbot. It may be a value calculated based on the processing ratio of the chatbot that derives the response that is determined to be the most appropriate response based on the context information, and the processing ratio or the plurality of user terminals It may be a value calculated based on the processing rate of the chatbot that derived the preferred response. For example, the first relay chatbot 300 may derive a score for processing a query message for each of the plurality of chatbots 302, 304, and 306 using the machine learning model 400. When the score of the first chatbot 302 that processes the query message is 50, the score of the second chatbot 304 is 80, and the score of the third chatbot 306 is 60, the first relay chatbot 300 The second chatbot 304 having a high score may be selected, and a query message may be delivered only to the selected second chatbot 304. At this time, the second chatbot 304 may derive the response of the query message received from the first relay chatbot 300 and transfer the derived response to the first relay chatbot 300.

다른 실시예로서 중계 챗봇은 복수의 챗봇 모두에게 질의 메시지를 전달하고, 각 챗봇으로부터 도출된 응답에 대해 랭킹을 도출하고 도출된 랭킹에 따라 사용자 단말(100)로 응답을 제공하기 위한 챗봇을 선택할 수 있다. 이는 각 챗봇으로 질의 메시지를 전달하여 수행될 수 있는 폴링 모델(polling model)에 해당한다.In another embodiment, the relay chatbot may transmit a query message to all of the plurality of chatbots, derive a ranking for responses derived from each chatbot, and select a chatbot for providing a response to the user terminal 100 according to the derived ranking. have. This corresponds to a polling model that can be performed by passing query messages to each chatbot.

예를 들어 도 4b를 참조하면, 중계 챗봇은 중계 챗봇에 연결된 복수의 챗봇 모두에게 질의 메시지를 전달하고, 각 챗봇으로부터 수신된 질의 메시지에 대한 응답에 대한 랭킹을 도출한 후, 하나의 응답을 선택할 수 있다. 이 때, 선택된 응답은 전송부(240)를 통해 사용자 단말(100)로 전달될 수 있다. 응답에 대한 랭킹은 예를 들면, 랭킹 학습 알고리즘을 통한 사용자 단말(100)의 사용자가 선호할 응답에 대한 확률의 확률 분포, 또는 사용자 단말(100)과 챗봇 간의 대화에 대한 컨텍스트 정보(문맥 정보)에 기초하여 가장 합당한 응답이라고 판단되는 응답에 대한 확률의 확률 분포에 기초하여 결정될 수 있으며, 복수의 사용자 단말의 사용자가 선호할 응답에 대한 확률의 확률 분포에 기초하여 결정될 수 있다. 여기서, 사용자가 선호할 응답에 대한 확률의 확률 분포는 예를 들면, 복수의 서비스 별로 이전 복수의 질의 메시지에 대한 복수의 응답 각각에 부여한 응답 선호 점수에 의해 생성될 수 있다. For example, referring to FIG. 4B, the relay chatbot delivers a query message to all the chatbots connected to the relay chatbot, derives a ranking of responses to the query messages received from each chatbot, and then selects one response. Can be. In this case, the selected response may be transmitted to the user terminal 100 through the transmitter 240. The ranking for the response may include, for example, a probability distribution of probabilities for the response of the user of the user terminal 100 through a ranking learning algorithm, or context information (context information) about a conversation between the user terminal 100 and the chatbot. Based on the probability distribution of the probability for the response that is determined to be the most reasonable response, and may be determined based on the probability distribution of the probability for the response of the user of the plurality of user terminal. Here, the probability distribution of probabilities for the response to be preferred by the user may be generated by, for example, a response preference score assigned to each of the plurality of responses to the previous plurality of query messages for each of the plurality of services.

예를 들면, 단계 S401에서 제 1 중계 챗봇(300)은 제 1 중계 챗봇(300)과 연결된 제 1 챗봇(302), 제 2 챗봇(304) 및 제 3 챗봇(306) 각각에게 사용자 단말(100)로부터 수신된 질의 메시지를 전달한다. 단계 S403에서 제 1 중계 챗봇(300)은 제 1 챗봇(302)으로부터 질의 메시지에 대한 제 1 응답을 수신하고, 단계 S405에서 제 2 챗봇(304)으로부터 질의 메시지에 대한 제 2 응답을 수신하고, 단계 S407에서 제 3 챗봇(306)으로부터 질의 메시지에 대한 제 3 응답을 수신한다. 단계 S409에서 제 1 중계 챗봇(300)은 수신된 제 1 응답, 제 2 응답 및 제 3 응답 각각에 대해 랭킹을 도출할 수 있다. 단계 S411에서 제 1 중계 챗봇(300)은 수신된 제 1 응답에 대한 랭킹 순위가 2위이고, 수신된 제 2 응답에 대한 랭킹 순위가 3위이고, 수신된 제 3 응답에 대한 랭킹 순위가 1위인 경우, 랭킹이 높은 제 3응답을 선택할 수 있다. 단계 S413에서 제 1 중계 챗봇(300)은 선택된 랭킹이 높은 제 3응답을 전송부(240)를 통해 메신저 서버(110)로 전송하고, 단계 S415에서 메신저 서버(110)는 수신한 해당 응답을사용자 단말(100)에게 전송할 수 있다. For example, in operation S401, the first relay chatbot 300 may transmit the user terminal 100 to each of the first chatbot 302, the second chatbot 304, and the third chatbot 306 connected to the first relay chatbot 300. Forwards the query message received from In step S403, the first relay chatbot 300 receives a first response to the query message from the first chatbot 302, receives a second response to the query message from the second chatbot 304 in step S405, In step S407, a third response to the query message is received from the third chatbot 306. In operation S409, the first relay chatbot 300 may derive a ranking for each of the received first response, second response, and third response. In step S411, the first relay chatbot 300 has a ranking rank of the received first response in the second place, a ranking rank in the received second response in the third place, and a ranking rank of the received third response in one. In the above case, a third response having a high ranking can be selected. In operation S413, the first relay chatbot 300 transmits the third response having the highest ranking to the messenger server 110 through the transmission unit 240, and in operation S415, the messenger server 110 transmits the received response to the user. It may be transmitted to the terminal 100.

또 다른 실시예로서 중계 챗봇은 논-폴링 모델 및 폴링 모델을 결합한 하이브리드 모델을 이용하여 사용자 단말(100)로 응답을 제공하기 위한 챗봇을 선택할 수 있다. In another embodiment, the relay chatbot may select a chatbot for providing a response to the user terminal 100 using a hybrid model combining a non-polling model and a polling model.

예를 들어 도 4C를 참조하면, 중계 챗봇은 기계 학습 모델을 이용한 각 챗봇에서의 질의 메시지의 처리 스코어에 기초하여 2이상의 챗봇을 선택하고, 선택된 2이상의 챗봇에게 질의 메시지를 전송하고, 선택된 2이상의 챗봇으로부터 수신된 질의 메시지의 응답에 대한 랭킹 순위에 기초하여 사용자 단말(100)에게 전달할 응답을 선택할 수 있다. For example, referring to FIG. 4C, the relay chatbot selects two or more chatbots based on the processing scores of the query messages in each chatbot using the machine learning model, sends the query messages to the selected two or more chatbots, and selects two or more selected chatbots. The response to be transmitted to the user terminal 100 may be selected based on the ranking of the response of the query message received from the chatbot.

예를 들면, 단계 S400에서 제 1 중계 챗봇(300)은 기계 학습 모델로 질의 메시지를 입력하여 복수의 챗봇(302, 304, 306) 각각에 대한 스코어를 도출할 수 있다. 단계 S402에서 제 1 중계 챗봇(300)은 도출된 스코어에 따라 복수의 챗봇(302, 304, 306) 중 스코어가 기설정된 점수(예컨대, 60점) 이상인 제 1 챗봇(302) 및 제 2 챗봇(304)을 선택할 수 있다. 단계 S404에서 제 1 중계 챗봇(300)은 선택된 제 1 챗봇(302) 및 제 2 챗봇(304) 각각에게 질의 메시지를 전달할 수 있다. 단계 S406에서 제 1 중계 챗봇(300)은 제 1 챗봇(302)으로부터 질의 메시지에 대한 제 1 응답을 수신하고, 단계 S408에서 제 2 챗봇(304)으로부터 질의 메시지에 대한 제 2 응답을 수신할 수 있다. 단계 S410에서 제 1 중계 챗봇(300)은 수신된 제 1 응답 및 제 2 응답에 대해 랭킹을 도출하고, 단계 S412에서 랭킹 순위가 2위인 제 1 응답 및 랭킹 순위가 1위인 제 2 응답 중 랭킹이 높은 제 2 응답을 선택할 수 있다. 단계 S414에서 제 1 중계 챗봇(300)은 선택된 랭킹이 높은 제 2 응답을 전송부(240)를 통해 메신저 서버(110)에게 전송할 수 있다. 단계 S416에서 메신저 서버(110)는 수신한 제 2 응답을 사용자 단말(120)로 전송할 수 있다. For example, in operation S400, the first relay chatbot 300 may input a query message as a machine learning model to derive a score for each of the plurality of chatbots 302, 304, and 306. In operation S402, the first relay chatbot 300 may have a first chatbot 302 and a second chatbot whose score is equal to or greater than a predetermined score (for example, 60 points) among the plurality of chatbots 302, 304, and 306 according to the derived score. 304) can be selected. In operation S404, the first relay chatbot 300 may transmit a query message to each of the selected first chatbot 302 and the second chatbot 304. In operation S406, the first relay chatbot 300 may receive a first response to the inquiry message from the first chatbot 302, and receive a second response to the inquiry message from the second chatbot 304 in step S408. have. In operation S410, the first relay chatbot 300 derives a ranking with respect to the received first response and the second response. In operation S412, the first response and the second response whose ranking is first are ranked. A high second response can be chosen. In operation S414, the first relay chatbot 300 may transmit the second response with the selected high ranking to the messenger server 110 through the transmitter 240. In operation S416, the messenger server 110 may transmit the received second response to the user terminal 120.

한편, 중계 챗봇은 중계 챗봇과 연결된 복수의 챗봇을 통해 질의 메시지에 대한 응답을 도출하지 못한 경우, 중계 챗봇 스스로 해당 질의 메시지에 대한 응답을 직접 도출할 수 있다. Meanwhile, if the relay chatbot fails to derive a response to the query message through a plurality of chatbots connected to the relay chatbot, the relay chatbot may directly derive a response to the query message itself.

도 5는 본 발명의 일 실시예에 따른 챗봇 서버(120)에서의 인스턴트 메시징 서비스 제공하는 방법의 흐름도이다. 도 5를 참조하면, 단계 S501에서 사용자 단말(100)은 복수의 서비스 중 사용자 단말(100)의 사용자에 의해 선택받은 서비스와 관련하여 입력받은 질의 메시지 및 선택받은 서비스에 대응하는 서비스 계정 정보를 메신저 서버(110)로 전송할 수 있다. 단계 S503에서 메신저 서버(100)는 수신한 질의 메시지 및 서비스 계정 정보를 챗봇 서버(120)로 전송할 수 있다. 단계 S505에서 챗봇 서버(120)는 서비스 계정 정보 대응하는 중계 챗봇을 이용하여 중계 챗봇과 연결된 복수의 챗봇 중 적어도 하나의 챗봇으로 질의 메시지를 전달할 수 있다. 단계 S507에서 챗봇 서버(120)는 적어도 하나의 챗봇에 의해 질의 메시지에 대한 응답을 도출할 수 있다. 단계 S509에서 챗봇 서버(120)는 도출된 응답을 메신저 서버(110)로 전송할 수 있고, 단계 S511에서 메신저 서버(110)는 수신한 응답을 사용자 단말(100)에게 전송할 수 있다. 5 is a flowchart of a method for providing an instant messaging service in a chatbot server 120 according to an embodiment of the present invention. Referring to FIG. 5, in operation S501, the user terminal 100 messengers a query message input for a service selected by a user of the user terminal 100 and service account information corresponding to the selected service. May transmit to the server 110. In operation S503, the messenger server 100 may transmit the received query message and service account information to the chatbot server 120. In operation S505, the chatbot server 120 may transmit a query message to at least one chatbot among a plurality of chatbots connected to the relay chatbot by using the relay chatbot corresponding to the service account information. In operation S507, the chatbot server 120 may derive a response to the query message by at least one chatbot. In operation S509, the chatbot server 120 may transmit the derived response to the messenger server 110, and in operation S511, the messenger server 110 may transmit the received response to the user terminal 100.

도 6은 본 발명의 일 실시예에 따른 질의 메시지에 대한 응답의 예시 도면이다. 예를 들면, 도 6을 참조하면, 사용자 단말(100)은 날씨 서비스에 대응하는 친구를 선택하면, 선택된 친구에 대응하는 중계 챗봇과 날씨와 관련된 대화를 나눌 수 있다. 예를 들면, 사용자 단말(100)이 '날씨 알려줘'를 포함하는 질의 메시지(601)를 메신저 서버(110)를 통해 챗봇 서버(120)에게 전송하면, 챗봇 서버(120)는 날씨 서비스에 대응하는 중계 챗봇을 통해 선택된 챗봇의 응답(603)을 메신저 서버(110)를 통해 사용자 단말(100)에게 전송할 수 있다. 이 때, 선택된 챗봇의 응답(703)은 날씨 서비스에 대응하는 중계 챗봇과 연결된 복수의 챗봇 중 적어도 하나의 챗봇에서 도출된 응답에서 중계 챗봇에 의해 선택된 어느 하나의 응답에 해당된다. 사용자 단말(100)에서 수신한 응답(603)은 응답을 도출한 챗봇의 프로필 정보(605) 및 날씨 서비스에 대응하는 중계 챗봇의 프로필 정보(607)를 포함하고, 질의 메시지에 대한 응답(예컨대, 오늘 날씨는 흐립니다 등)을 포함할 수 있다. 6 is an exemplary diagram of a response to a query message according to an embodiment of the present invention. For example, referring to FIG. 6, when the user terminal 100 selects a friend corresponding to a weather service, the user terminal 100 may have a conversation related to weather with a relay chatbot corresponding to the selected friend. For example, when the user terminal 100 transmits a query message 601 including 'tell me the weather' to the chatbot server 120 through the messenger server 110, the chatbot server 120 corresponds to a weather service. The response 603 of the chatbot selected through the relay chatbot may be transmitted to the user terminal 100 through the messenger server 110. At this time, the response 703 of the selected chatbot corresponds to any one response selected by the relay chatbot in a response derived from at least one chatbot among a plurality of chatbots connected to the relay chatbot corresponding to the weather service. The response 603 received at the user terminal 100 includes the profile information 605 of the chatbot which derived the response and the profile information 607 of the relay chatbot corresponding to the weather service, and the response (eg, Today's weather can be cloudy etc.)

중계 챗봇의 프로필 정보(607)에는 예를 들면, 중계 챗봇의 아이디 정보 및 중계 챗봇이 중계하는 복수의 챗봇과 연계된 서드 파티 서버에 대한 정보가 포함될 수 있다. 응답을 도출한 챗봇의 프로필 정보(605)는 해당 챗봇의 홈페이지로 이동하는 링크 정보를 포함할 수 있다. 예를 들면, 사용자 단말(100)이 메신저 앱을 통해 출력된 응답(603) 중 챗봇의 프로필 정보에 해당하는 영역(605)을 선택하면, 해당 챗봇의 홈페이지로 이동하게 된다. 만일, 사용자 단말(100)이 중계 챗봇의 프로필 정보에 해당하는 영역(607)을 선택하면, 사용자 단말(100)은 중계 챗봇의 아이디 정보 및 중계 챗봇이 중계하는 복수의 챗봇과 연계된 서드 파티 서버에 대한 정보를 제공하는 페이지를 확인할 수 있다. The profile information 607 of the relay chatbot may include, for example, ID information of the relay chatbot and information about a third party server associated with a plurality of chatbots relayed by the relay chatbot. The chatbot's profile information 605 that derives the response may include link information for moving to the homepage of the chatbot. For example, when the user terminal 100 selects an area 605 corresponding to the chatbot's profile information among the responses 603 output through the messenger app, the user terminal 100 moves to the homepage of the chatbot. If the user terminal 100 selects an area 607 corresponding to the profile information of the relay chatbot, the user terminal 100 is a third party server connected to the ID information of the relay chatbot and the plurality of chatbots relayed by the relay chatbot. You can find a page that provides information about.

본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. One embodiment of the present invention can also be implemented in the form of a recording medium containing instructions executable by a computer, such as a program module executed by the computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, computer readable media may include all computer storage media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.

본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.Although the methods and systems of the present invention have been described in connection with specific embodiments, some or all of their components or operations may be implemented using a computer system having a general purpose hardware architecture.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present invention is intended for illustration, and it will be understood by those skilled in the art that the present invention may be easily modified in other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is shown by the following claims rather than the above description, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included in the scope of the present invention. do.

100: 사용자 단말 110: 메신저 서버
120: 챗봇 서버
100: user terminal 110: messenger server
120: chatbot server

Claims (4)

복수의 챗봇을 중계하는 중계 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 챗봇 서버에 있어서,
복수의 서비스 중 사용자 단말이 선택한 서비스에 대해 입력받은 질의 메시지 및 상기 선택한 서비스에 대응하는 서비스 계정 정보를 메신저 서버로부터 수신하는 수신부;
상기 서비스 계정 정보에 대응하는 중계 챗봇을 이용하여 상기 질의 메시지에 대한 응답을 도출하는 도출부; 및
상기 응답을 상기 메신저 서버로 전송하는 전송부
를 포함하고,
상기 중계 챗봇은 상기 중계 챗봇과 연결된 복수의 챗봇을 상기 사용자 단말과 중계함으로써 상기 복수의 챗봇 중 적어도 하나의 챗봇에 의해 상기 응답을 도출하도록 하고,
상기 복수의 챗봇 중 적어도 하나의 챗봇은 상기 중계 챗봇 및 다른 중계 챗봇에게 공유되도록 연결되고,
상기 중계 챗봇은 상기 적어도 하나의 챗봇이 포함된 제 1 챗봇 그룹을 상기 사용자 단말과 중계함으로써 상기 제 1 챗봇 그룹에 의해 상기 응답을 도출하도록 하고,
상기 다른 중계 챗봇은 상기 제 1 챗봇 그룹과 상이하고, 상기 적어도 하나의 챗봇이 포함된 제 2 챗봇 그룹을 상기 사용자 단말과 중계함으로써 상기 제 2 챗봇 그룹에 의해 상기 응답을 도출하도록 하는 것인, 챗봇 서버.
In a chatbot server that provides an instant messaging service using a relay chatbot relaying a plurality of chatbots,
A receiving unit for receiving a query message input for a service selected by a user terminal from among a plurality of services and service account information corresponding to the selected service from a messenger server;
A derivation unit for deriving a response to the query message using a relay chatbot corresponding to the service account information; And
Transmission unit for transmitting the response to the messenger server
Including,
The relay chatbot may derive the response by at least one chatbot among the plurality of chatbots by relaying a plurality of chatbots connected to the relay chatbot with the user terminal.
At least one chatbot of the plurality of chatbots is connected to be shared with the relay chatbot and another relay chatbot,
The relay chatbot relays the first chatbot group including the at least one chatbot with the user terminal to derive the response by the first chatbot group.
And the other relay chatbot is different from the first chatbot group and derives the response by the second chatbot group by relaying a second chatbot group including the at least one chatbot with the user terminal. server.
복수의 챗봇을 중계하는 중계 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 챗봇 서버에 있어서,
복수의 서비스 중 사용자 단말이 선택한 서비스에 대해 입력받은 질의 메시지 및 상기 선택한 서비스에 대응하는 서비스 계정 정보를 메신저 서버로부터 수신하는 수신부;
상기 서비스 계정 정보에 대응하는 중계 챗봇을 이용하여 상기 질의 메시지에 대한 응답을 도출하는 도출부; 및
상기 응답을 상기 메신저 서버로 전송하는 전송부
를 포함하고,
상기 중계 챗봇은 상기 중계 챗봇과 연결된 복수의 챗봇을 상기 사용자 단말과 중계함으로써 상기 복수의 챗봇 중 적어도 하나의 챗봇에 의해 상기 응답을 도출하도록 하고,
상기 중계 챗봇은 기계 학습 모델로 상기 질의 메시지를 입력하여 상기 사용자 단말에게 제공된 응답을 도출한 챗봇의 처리 비율, 상기 사용자 단말의 선호 응답을 도출한 챗봇의 처리 비율 및 상기 사용자 단말과 챗봇 간의 대화에 대한 컨텍스트 정보에 기초하여 응답을 도출한 챗봇의 처리 비율 중 적어도 하나에 기초하여 상기 복수의 챗봇 각각에 대한 스코어를 도출하고,
상기 도출된 스코어에 따라 상기 복수의 챗봇 중 어느 하나의 챗봇을 선택하고, 상기 선택된 챗봇으로 상기 질의 메시지를 전달하고, 상기 선택된 챗봇은 상기 질의 메시지에 대한 응답을 도출하는 것인, 챗봇 서버.
In a chatbot server that provides an instant messaging service using a relay chatbot relaying a plurality of chatbots,
A receiving unit for receiving a query message input for a service selected by a user terminal among a plurality of services and service account information corresponding to the selected service from a messenger server;
A derivation unit for deriving a response to the query message using a relay chatbot corresponding to the service account information; And
Transmission unit for transmitting the response to the messenger server
Including,
The relay chatbot may derive the response by at least one chatbot among the plurality of chatbots by relaying a plurality of chatbots connected to the relay chatbot with the user terminal.
The relay chatbot inputs the query message as a machine learning model to the processing rate of the chatbot which derives the response provided to the user terminal, the processing rate of the chatbot which derives the preferred response of the user terminal, and the conversation between the user terminal and the chatbot. Deriving a score for each of the plurality of chatbots based on at least one of the processing rates of the chatbots that have derived a response based on the context information for the
And selecting a chatbot of the plurality of chatbots according to the derived score, delivering the query message to the selected chatbot, and the selected chatbot deriving a response to the query message.
복수의 챗봇을 중계하는 중계 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 챗봇 서버에 있어서,
복수의 서비스 중 사용자 단말이 선택한 서비스에 대해 입력받은 질의 메시지 및 상기 선택한 서비스에 대응하는 서비스 계정 정보를 메신저 서버로부터 수신하는 수신부;
상기 서비스 계정 정보에 대응하는 중계 챗봇을 이용하여 상기 질의 메시지에 대한 응답을 도출하는 도출부; 및
상기 응답을 상기 메신저 서버로 전송하는 전송부
를 포함하고,
상기 중계 챗봇은 상기 중계 챗봇과 연결된 복수의 챗봇을 상기 사용자 단말과 중계함으로써 상기 복수의 챗봇 중 적어도 하나의 챗봇에 의해 상기 응답을 도출하도록 하고,
상기 중계 챗봇은 상기 복수의 챗봇 각각에게 상기 질의 메시지를 전달하고, 상기 복수의 챗봇 각각으로부터 상기 질의 메시지에 대한 응답을 수신하고, 상기 사용자 단말의 사용자의 선호 응답에 대한 확률의 확률 분포, 상기 사용자 단말과 챗봇 간의 대화에 대한 컨텍스트 정보에 기초하여 도출한 응답에 대할 확률의 확률 분포 중 적어도 하나에 기초하여 상기 수신한 응답에 대해 랭킹을 도출하고, 상기 도출된 랭킹에 따라 상기 수신한 응답 중 어느 하나의 응답을 선택하고,
상기 전송부는 상기 선택된 어느 하나의 응답을 상기 메신저 서버로 전송하는 것인, 챗봇 서버.
In a chatbot server that provides an instant messaging service using a relay chatbot relaying a plurality of chatbots,
A receiving unit for receiving a query message input for a service selected by a user terminal among a plurality of services and service account information corresponding to the selected service from a messenger server;
A derivation unit for deriving a response to the query message using a relay chatbot corresponding to the service account information; And
Transmission unit for transmitting the response to the messenger server
Including,
The relay chatbot may derive the response by at least one chatbot among the plurality of chatbots by relaying a plurality of chatbots connected to the relay chatbot with the user terminal.
The relay chatbot transmits the query message to each of the plurality of chatbots, receives a response to the query message from each of the plurality of chatbots, a probability distribution of a probability of a user's preferred response of the user terminal, and the user. A ranking is derived for the received response based on at least one of the probability distributions of the probabilities for the response derived based on the context information of the conversation between the terminal and the chatbot, and the received response is determined based on the derived ranking. Select one response,
The transmitting unit sends the selected one response to the messenger server, chatbot server.
복수의 챗봇을 중계하는 중계 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 챗봇 서버에 있어서,
복수의 서비스 중 사용자 단말이 선택한 서비스에 대해 입력받은 질의 메시지 및 상기 선택한 서비스에 대응하는 서비스 계정 정보를 메신저 서버로부터 수신하는 수신부;
상기 서비스 계정 정보에 대응하는 중계 챗봇을 이용하여 상기 질의 메시지에 대한 응답을 도출하는 도출부; 및
상기 응답을 상기 메신저 서버로 전송하는 전송부; 및
상기 중계 챗봇과 다른 중계 챗봇이 서로 중계하는 순환 구조가 생성되었는지 여부를 판단하는 순환 구조 판단부
를 포함하고,
상기 중계 챗봇은 상기 중계 챗봇과 연결된 복수의 챗봇을 상기 사용자 단말과 중계함으로써 상기 복수의 챗봇 중 적어도 하나의 챗봇에 의해 상기 응답을 도출하도록 하는 것인, 챗봇 서버.


In a chatbot server that provides an instant messaging service using a relay chatbot relaying a plurality of chatbots,
A receiving unit for receiving a query message input for a service selected by a user terminal among a plurality of services and service account information corresponding to the selected service from a messenger server;
A derivation unit for deriving a response to the query message using a relay chatbot corresponding to the service account information; And
A transmission unit for transmitting the response to the messenger server; And
Circular structure determination unit for determining whether or not a circular structure in which the relay chatbot and another relay chatbot relay each other is generated
Including,
The relay chatbot is configured to relay the plurality of chatbots connected to the relay chatbot with the user terminal to derive the response by at least one chatbot among the plurality of chatbots.


KR1020190133252A 2019-10-24 2019-10-24 Server, device and method for providing instant messeging service by using relay chatbot KR102104503B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190133252A KR102104503B1 (en) 2019-10-24 2019-10-24 Server, device and method for providing instant messeging service by using relay chatbot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190133252A KR102104503B1 (en) 2019-10-24 2019-10-24 Server, device and method for providing instant messeging service by using relay chatbot

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020170177524A Division KR102047010B1 (en) 2017-12-21 2017-12-21 Server, device and method for providing instant messeging service by using relay chatbot

Publications (2)

Publication Number Publication Date
KR20190123708A true KR20190123708A (en) 2019-11-01
KR102104503B1 KR102104503B1 (en) 2020-04-24

Family

ID=68535722

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190133252A KR102104503B1 (en) 2019-10-24 2019-10-24 Server, device and method for providing instant messeging service by using relay chatbot

Country Status (1)

Country Link
KR (1) KR102104503B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210078038A (en) * 2019-12-18 2021-06-28 강원오픈마켓 주식회사 Control method, device and program of chatbot system
KR20220017655A (en) * 2020-08-05 2022-02-14 다큐브 주식회사 System and method for retrieving information using voice recognition and computer program for the same
KR20220075714A (en) * 2020-11-30 2022-06-08 주식회사 리노스 Method for classifying user query in chatbot system
KR102630697B1 (en) * 2022-11-04 2024-01-29 박춘우 Information sharing platform service system and method based on conversation technology between chatbots using deep learning

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220046964A (en) * 2020-10-08 2022-04-15 삼성전자주식회사 Electronic apparatus for responding to question using multi chat-bot and control method thereof
KR102333492B1 (en) 2021-07-16 2021-12-01 주식회사 엔터즈컴퍼니 Media-based chatbot service provision system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001337827A (en) 2000-05-24 2001-12-07 Atr Media Integration & Communications Res Lab Natural language dialog system, helper agent in natural language dialog system, and computer-readable recording medium which agent program is recorded
KR101279001B1 (en) * 2009-05-15 2013-07-30 무라다기카이가부시끼가이샤 Relay communication system and first relay server
KR101731867B1 (en) * 2016-08-16 2017-05-04 주식회사 엔터플 Method and apparatus for sharing user event between chatbots
KR20170103586A (en) * 2016-02-24 2017-09-13 라인 가부시키가이샤 Method and system for artificial intelligence learning using messaging service and method and system for relaying answer using artificial intelligence

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001337827A (en) 2000-05-24 2001-12-07 Atr Media Integration & Communications Res Lab Natural language dialog system, helper agent in natural language dialog system, and computer-readable recording medium which agent program is recorded
KR101279001B1 (en) * 2009-05-15 2013-07-30 무라다기카이가부시끼가이샤 Relay communication system and first relay server
KR20170103586A (en) * 2016-02-24 2017-09-13 라인 가부시키가이샤 Method and system for artificial intelligence learning using messaging service and method and system for relaying answer using artificial intelligence
KR101731867B1 (en) * 2016-08-16 2017-05-04 주식회사 엔터플 Method and apparatus for sharing user event between chatbots

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210078038A (en) * 2019-12-18 2021-06-28 강원오픈마켓 주식회사 Control method, device and program of chatbot system
KR20220017655A (en) * 2020-08-05 2022-02-14 다큐브 주식회사 System and method for retrieving information using voice recognition and computer program for the same
KR20220075714A (en) * 2020-11-30 2022-06-08 주식회사 리노스 Method for classifying user query in chatbot system
KR102630697B1 (en) * 2022-11-04 2024-01-29 박춘우 Information sharing platform service system and method based on conversation technology between chatbots using deep learning

Also Published As

Publication number Publication date
KR102104503B1 (en) 2020-04-24

Similar Documents

Publication Publication Date Title
KR102047010B1 (en) Server, device and method for providing instant messeging service by using relay chatbot
KR20190123708A (en) Server, device and method for providing instant messeging service by using relay chatbot
US11075853B2 (en) Resource prioritization and communication-channel establishment
KR101999780B1 (en) Server, device and method for providing instant messeging service by using virtual chatbot
US20210174372A1 (en) Methods and apparatus for using artificial intelligence entities to provide information to an end user
US20110252108A1 (en) Designating automated agents as friends in a social network service
KR102169397B1 (en) Method and server for providing semi-automatic communication using chatbot and consultant
KR20180098453A (en) Method for providing chatbot by subjects and system using therof
KR20200049526A (en) Chatting system, ChatBot Server Apparatus, ChatBot ID Managing Apparatus, Chatting Mediating Server Apparatus, Program, Chatting Method, and Chatting Mediating Method
US20090187626A1 (en) Interactive intelligent system and method for information management
KR20070081827A (en) Method for mediating between a one-to-one question and answer in communication network and system for executing the method
KR20190097947A (en) Device, method and computer program for processing user inquiry
KR100752351B1 (en) System and method realtime question and answers by communication media which can transfer interactively data or voice
Li et al. SOS: A distributed mobile Q&A system based on social networks
US20140293810A1 (en) Method for identifying optimal influencial paths in a distributed network for transmitting information
US10796218B2 (en) Communications system with smart agent robots for accessing message data
CN105119977A (en) Method and system for information transmission based on geographic coordinates and time interval
CN111901220A (en) Method for determining chat robot and response system
US20200394582A1 (en) Communication system, communication method, and non-transitory recording medium
KR102152116B1 (en) Virtual object generating apparatus and method for data distribution service(dds) communication in multiple network domains
CN103841093B (en) terminal device and network protocol voice communication method
KR20120020630A (en) Method and system for communicating based on interesting information
US20210218701A1 (en) Information Transmission Method
GB2432925A (en) A communication system for directing a query based on user profiles
JP2005209003A (en) Community server

Legal Events

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