KR102104503B1 - 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
KR102104503B1
KR102104503B1 KR1020190133252A KR20190133252A KR102104503B1 KR 102104503 B1 KR102104503 B1 KR 102104503B1 KR 1020190133252 A KR1020190133252 A KR 1020190133252A KR 20190133252 A KR20190133252 A KR 20190133252A KR 102104503 B1 KR102104503 B1 KR 102104503B1
Authority
KR
South Korea
Prior art keywords
chatbot
response
relay
chatbots
service
Prior art date
Application number
KR1020190133252A
Other languages
Korean (ko)
Other versions
KR20190123708A (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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명의 일 실시예에 따르는 복수의 챗봇을 중계하는 중계 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 챗봇 서버는 복수의 서비스 중 사용자 단말이 선택한 서비스에 대해 입력받은 질의 메시지 및 상기 선택한 서비스에 대응하는 서비스 계정 정보를 메신저 서버로부터 수신하는 수신부, 상기 서비스 계정 정보에 대응하는 중계 챗봇을 이용하여 상기 질의 메시지에 대한 응답을 도출하는 도출부 및 상기 응답을 상기 메신저 서버로 전송하는 전송부를 포함하고, 상기 중계 챗봇은 상기 중계 챗봇과 연결된 복수의 챗봇과 사용자 단말을 중계함으로써 상기 복수의 챗봇 중 적어도 하나의 챗봇에 의해 상기 응답을 도출한다. A chatbot server providing an instant messaging service using a relay chatbot that relays a plurality of chatbots according to an embodiment of the present invention corresponds to a query message received for a service selected by a user terminal among a plurality of services and a response to the selected service A receiving unit for receiving service account information 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, wherein the The relay chatbot derives the response by at least one chatbot among the plurality of chatbots by relaying a plurality of chatbots connected to the relay chatbot and a user terminal.

Figure 112019109018418-pat00001
Figure 112019109018418-pat00001

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 that provides instant messaging service 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 that relays a plurality of chatbots.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art to which the present invention pertains can easily practice. However, the present invention can be implemented in many different forms and is not limited to the embodiments described herein. In addition, in order to clearly describe the present invention in the drawings, parts irrelevant to the description are omitted, and like reference numerals are assigned to similar 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. . Also, when a part “includes” a certain component, this means that other components may be further included rather than excluding other components, unless otherwise specified.

본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(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 using both. Further, one unit may be realized by using two or more hardware, and two or more units may be realized by one hardware. Meanwhile, the '~ unit' is not limited to software or hardware, and the '~ unit' may be configured to be in an addressable storage medium or may be configured to play one or more processors. Thus, as an example, '~ unit' refers to components such as software components, object-oriented software components, class components and task components, processes, functions, attributes, and procedures. , Subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, database, data structures, tables, arrays and variables. The functions provided within components and '~ units' may be combined into a smaller number of components and '~ units', or further separated into additional components and '~ units'. In addition, the components and '~ unit' 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 portable terminal capable of accessing a server or another terminal through a network.

도 1은 본 발명의 일 실시예에 따른 인스턴트 메시징 서비스 제공 시스템을 개괄적으로 나타낸 도면이다.1 is a view schematically showing an instant messaging service providing system 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 on the user terminal 100 may include real friends and virtual friends.

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

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

사용자 단말(100)의 사용자는 메신저 앱을 통해 특정 서비스에 대응하는 공식 계정을 가상 친구로서 등록할 수 있다. 공식 계정이란 특정 기업체 및 단체에서 특정 서비스를 제공하기 위하여 운영하는 계정을 의미할 수 있다. 예를 들어, 공식 계정은 공식 계정과 사용자 단말(100) 사이에 개설된 채팅방을 통해 사용자 단말(100)로 특정 서비스에 대한 정보를 제공할 수 있다. 사용자 단말(100)은 해당 공식 계정을 가상 친구로 등록하여 공식 계정으로부터 특정 서비스에 대한 정보를 제공받을 수 있다. 한편, 해당 공식 계정을 가상 친구로 등록하지 않더라도 특정 서비스에 대한 정보를 제공받을 수도 있다. The user of the user terminal 100 may register an official account corresponding to a specific service as a virtual friend through a messenger app. An 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 opened between the official account and the user terminal 100. The user terminal 100 may register the 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 a chatbot to provide information on a specific service provided by a specific company or organization to the user terminal 100. The administrator of the official account creates a chatbot through the user interface for the botbuilder provided by the chatbot server 120, and connects the created chatbot with the official account to link information to a specific service (for example, a specific service) It is possible to provide a response to a query message related to. In addition, the administrator of the official account can manage the official account and the chatbot by one-to-one matching through the user interface for the botbuilder, and can be extended to link multiple chatbots with 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 a plurality of chatbots, and the user terminal 100 can receive a response to a query message through the relay chatbot.

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

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

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

사용자 단말(100)은 사용자 단말(100)에 설치된 메신저 앱을 통해 제공되는 복수의 서비스 중 하나의 서비스를 사용자로부터 선택받으면, 선택된 서비스에 대응하는 서비스 계정 정보를 메신저 서버(110)에게 전송할 수 있다. 예를 들어, 서비스 계정 정보는 선택된 서비스에 대응하는 챗봇 아이디 또는 선택된 서비스에 대응하는 공식 계정의 공식 계정 아이디를 포함할 수 있다. When the user terminal 100 receives one of a plurality of services provided through a messenger app installed in the user terminal 100 from the user, 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 receiving a query message related to a service selected by a user from a user through a chat room, the user terminal 100 may transmit the query message to the messenger server 110. The service account information and inquiry 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 allows a user terminal 100 and another user registered as a real friend to exchange and receive conversations in a chat room. In addition, the messenger server 110 may provide an instant messaging service that allows the user terminal 100 to send and receive conversations with a relay chatbot or official account registered as a virtual friend in the messenger app.

예를 들어, 메신저 서버(110)는 사용자 단말(100)로부터 선택된 서비스에 관한 챗봇 아이디 및 질의 메시지를 수신한 경우, 수신한 챗봇 아이디 및 질의 메시지를 챗봇 서버(120)로 전달할 수 있다. 다른 예를 들어, 메신저 서버(110)는 사용자 단말(100)로부터 선택된 서비스에 관한 공식 계정 아이디 및 질의 메시지를 수신한 경우, 수신한 공식 계정 아이디(또는 수신한 공식 계정 아이디와 매핑된 챗봇 아이디) 및 수신한 질의 메시지를 챗봇 서버(120)로 전달할 수 있다.For example, the messenger server 110 may transmit the received chatbot ID and query message to the chatbot server 120 when the chatbot ID and query message for the selected service are received from the user terminal 100. For another example, if the messenger server 110 receives the official account ID and query message for the selected service from the user terminal 100, the received official account ID (or the chatbot ID mapped to 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 an inquiry message derived by the relay chatbot from the chatbot server 120. The messenger server 110 may transmit the received response to a chat room opened between the user terminal 100 and the chatbot or a chat room opened between the user terminal 100 and the official account.

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

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

이와 같은 도 1의 인스턴트 메시징 서비스 제공 시스템에 포함된 각각의 구성요소의 동작에 대해서는 이하의 도면들을 통해 보다 구체적으로 설명하도록 한다. The operation of each component included in the instant messaging service providing system of FIG. 1 will be described in more detail through 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 circular structure determining unit 220, a bot builder unit 230, and a transmitting unit 240 ). However, the configuration of the chatbot server 120 according to an embodiment of the present invention may be made differently from FIG. 2.

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

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

다른 예를 들어, 복수의 서비스 중 특정 챗봇이 제공하는 서비스를 사용자 단말(100)의 사용자로부터 선택받은 경우, 수신부(200)는 선택된 서비스에 대응하는 챗봇 아이디를 메신저 서버(110)로부터 수신할 수 있다. For another example, when a service provided by a specific chatbot among a plurality of services is selected from 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 a relay chatbot registered in the messenger app, the receiving unit 200 may receive the corresponding relay chatbot ID from the messenger server 110. For example, the receiver 200 selects a specific service from among a plurality of services registered in the messenger app by the user of the user terminal 100, and when the chatbot corresponding to the selected specific service is a relay chatbot, to the selected specific service. The corresponding relay chatbot ID may be received from the messenger server 110. In this case, the relay chatbot may be a chatbot that is connected to a plurality of chatbots related to a specific service and relays between the user terminal 100 and the plurality of chatbots for query / response for a specific service.

수신부(200)는 사용자에 의해 선택된 서비스에 대해 입력된 질의 메시지를 메신저 서버(110)로부터 수신할 수 있다. 예를 들면, 수신부(200)는 사용자가 음악 서비스를 선택한 경우, 음악 서비스와 관련된 질의 메시지를 메신저 서버(110)로부터 수신할 수 있다. The receiving unit 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 inquiry message using a relay chatbot corresponding to the relay chatbot ID received from the messenger server 110.

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

예를 들어, 도출부(210)는 질의 메시지를 처리할 챗봇의 챗봇 아이디를 중계 챗봇을 통해 도출하고, 도출된 챗봇 아이디를 봇 DB(미도시)로 전달하고, 봇 DB는 기저장된 봇 관련 메타데이터로부터 전달받은 챗봇 아이디에 해당하는 봇 메타데이터를 검출할 수 있다. 그리고, 도출부(310)는 봇 DB로부터 챗봇 아이디에 해당하는 챗봇의 봇 메타데이터를 전달받고, 전달받은 챗봇의 봇 메타데이터에 기초하여 질의 메시지에 대한 응답을 도출할 수 있다.For example, the derivation unit 210 derives the chatbot ID of the chatbot that will process the query message through the relay chatbot, delivers the derived chatbot ID to the bot DB (not shown), and the bot DB is the meta related to the previously stored bot. Bot metadata corresponding to the chatbot ID received from the data can be detected. Then, 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 briefly to FIG. 3A, a plurality of services are assigned relay chatbot IDs corresponding to each service, and services are 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, the official account corresponding to the first service and the first relay chatbot 300 are mapped, and the 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)에게 제공한다. For another example, assume that the second service is a service provided by Company B's official account. In order to provide the second service, the official account corresponding to the second service and the two relay chatbots 308 are mapped, and the inquiry message processed by the plurality of chatbots 306, 310, 312 connected to the second relay chatbot 308 One response selected by the second relay chatbot 308 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 responses to query messages of each service, and relays a plurality of chatbots and user terminals connected to each relay chatbot. For example, referring to FIG. 3A, the first relay chatbot 300 providing a response to an inquiry message related to a music service is an external server (eg, melon) corresponding to a third party that provides a music service. Music server, Bugs music server, etc., connected to the first chatbot 302 and the second chatbot 304, connected to a third chatbot 306 linked to a search engine that provides search, connected plural It can relay the chatbots (302, 304, 306) and the user terminal.

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

중계 챗봇은 중계 챗봇과 연결된 다른 중계 챗봇을 중계하여 질의 메시지에 대한 응답을 도출할 수 있다. 예를 들면, 도 3b를 참조하면, 음식 서비스와 관련된 질의 메시지에 대한 응답을 제공하는 제 3 중계 챗봇(314)는 음식 서비스에 포함된 특정 음식에 대한 서비스를 담당하는 하위 중계 챗봇(318)을 중계할 수 있다. 이 때, 제 3 중계 챗봇(314)이 하위 중계 챗봇(318)에게 음식 관련 질의 메시지를 전달하고, 하위 중계 챗봇(318)은 하위 중계 챗봇(318)와 연결된 복수의 챗봇(320, 322)에서 도출된 응답을 제 3 중계 챗봇(314)에게 전달할 수 있다. The relay chatbot can derive a response to the inquiry 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 an inquiry message related to a food service includes a lower relay chatbot 318 responsible for a service for a specific food included in the food service. Can be relayed. At this time, the third relay chatbot 314 transmits a food-related query message to the lower relay chatbot 318, and the lower relay chatbot 318 is connected to a plurality of chatbots 320 and 322 connected to the lower relay chatbot 318. The derived response may be delivered 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 determining unit 220 may monitor traffic between the relay chatbot and the lower chatbot of the relay chatbot. The circulation structure determining unit 220 is a unit constituting the chatbot server 120 and may correspond to an optional element, not an essential element.

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

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

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

전송부(240)는 도출된 응답을 메신저 서버(110)에게 전송할 수 있고, 응답은 메신저 서버(110)로부터 사용자 단말(100)로 전송될 수 있다. 구체적으로, 전송부(240)는 사용자에 의해 선택된 서비스에 대응되는 중계 챗봇의 프로필 정보 및 응답을 도출한 챗봇의 프로필 정보와 함께 도출된 응답을 메신저 서버(110)에게 전송할 수 있고, 응답은 메신저 서버(110)로부터 사용자 단말(100)로 전송되 수 있다. The transmitting unit 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 transmitting unit 240 may transmit a response derived to the messenger server 110 with the profile information of the chatbot that derived the profile information and the response of the relay chatbot corresponding to the service selected by the user, and the response is the 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 related to a music service) and link information from which the response is derived. At this time, if an area corresponding to the profile information of the chatbot among the responses output through the user terminal 100 is selected by the user, 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 on a third party server associated with a plurality of chatbots relayed by the relay chatbot. For example, when an area corresponding to the profile information of the relay chatbot is selected by the user through the user terminal 100, the ID information of the relay chatbot and information about a third party server associated with a plurality of chatbots relayed by the relay chatbot It can be moved to a page that provides.

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

일 실시예로서 중계 챗봇은 복수의 챗봇에 대한 스코어를 도출하고, 도출된 스코어에 따라 사용자 단말(100)로 응답을 제공하기 위한 챗봇을 선택할 수 있다. 이는 각 챗봇으로 질의 메시지를 전달하지 않고도 수행될 수 있는 논-폴링 모델(Non-polling model)에 해당한다.As an embodiment, the relay chatbot may derive scores for a plurality of chatbots and select a chatbot for providing a response to the user terminal 100 according to the derived score. This corresponds to a non-polling model that can be performed without passing a query message 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 scores for each of the plurality of chatbots connected to the relay chatbot, and according to the derived score, any one of the plurality of chatbots Select the chatbot, and send the inquiry message to the selected chatbot. At this time, the chatbot selected by the relay chatbot derives a response to the inquiry 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 a 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 derived the response previously provided to the user terminal 100, the processing rate of the chatbot that derived the response preferred by 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 a processing rate of a chatbot that derives a response determined to be the most reasonable response based on (context information), and a processing rate of a chatbot or a plurality of user terminals that derives a response provided to a plurality of user terminals. It may be a value calculated based on the processing rate of the chatbot that derives the preferred response. For example, the first relay chatbot 300 may derive a score that processes query messages for each of the plurality of chatbots 302, 304, and 306 using the machine learning model 400. If the score of the first chatbot 302 processing the inquiry message is 50 points, the score of the second chatbot 304 is 80 points, and the score of the third chatbot 306 is 60 points, the first relay chatbot 300 is 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 inquiry message received from the first relay chatbot 300 and deliver the derived response to the first relay chatbot 300.

다른 실시예로서 중계 챗봇은 복수의 챗봇 모두에게 질의 메시지를 전달하고, 각 챗봇으로부터 도출된 응답에 대해 랭킹을 도출하고 도출된 랭킹에 따라 사용자 단말(100)로 응답을 제공하기 위한 챗봇을 선택할 수 있다. 이는 각 챗봇으로 질의 메시지를 전달하여 수행될 수 있는 폴링 모델(polling model)에 해당한다.As 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 delivering a query message to each chatbot.

예를 들어 도 4b를 참조하면, 중계 챗봇은 중계 챗봇에 연결된 복수의 챗봇 모두에게 질의 메시지를 전달하고, 각 챗봇으로부터 수신된 질의 메시지에 대한 응답에 대한 랭킹을 도출한 후, 하나의 응답을 선택할 수 있다. 이 때, 선택된 응답은 전송부(240)를 통해 사용자 단말(100)로 전달될 수 있다. 응답에 대한 랭킹은 예를 들면, 랭킹 학습 알고리즘을 통한 사용자 단말(100)의 사용자가 선호할 응답에 대한 확률의 확률 분포, 또는 사용자 단말(100)과 챗봇 간의 대화에 대한 컨텍스트 정보(문맥 정보)에 기초하여 가장 합당한 응답이라고 판단되는 응답에 대한 확률의 확률 분포에 기초하여 결정될 수 있으며, 복수의 사용자 단말의 사용자가 선호할 응답에 대한 확률의 확률 분포에 기초하여 결정될 수 있다. 여기서, 사용자가 선호할 응답에 대한 확률의 확률 분포는 예를 들면, 복수의 서비스 별로 이전 복수의 질의 메시지에 대한 복수의 응답 각각에 부여한 응답 선호 점수에 의해 생성될 수 있다. For example, referring to FIG. 4B, the relay chatbot delivers a query message to all of the plurality of chatbots connected to the relay chatbot, derives a ranking of responses to query messages received from each chatbot, and selects one response. You can. At this time, the selected response may be transmitted to the user terminal 100 through the transmission unit 240. The ranking of the response is, for example, a probability distribution of a probability for a response that the user of the user terminal 100 will prefer via a ranking learning algorithm, or context information (context information) about the conversation between the user terminal 100 and the chatbot. Based on the probability distribution may be determined based on the probability distribution of the probability for the response determined to be the most reasonable response, it may be determined based on the probability distribution of the probability of the response to the user of a plurality of user terminals. Here, the probability distribution of the probability for the response to be preferred by the user may be generated, for example, by a response preference score given 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 step S401, the first relay chatbot 300 is connected to the first relay chatbot 300, the first chatbot 302, the second chatbot 304, and the third chatbot 306 to each of the user terminal 100 ). In step S403, the first relay chatbot 300 receives a first response to the inquiry message from the first chatbot 302, and in step S405 a second response to the inquiry message from the second chatbot 304, In step S407, a third response to the inquiry message is received from the third chatbot 306. In step 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 second ranking rank for the received first response, a third ranking rank for the received second response, and a first ranking rank for the received third response. In the case of the above, a third response with a high ranking can be selected. In step S413, the first relay chatbot 300 transmits the third response having a high selected ranking to the messenger server 110 through the transmission unit 240, and in step S415, the messenger server 110 transmits the received response to the user. It can be transmitted to the terminal 100.

또 다른 실시예로서 중계 챗봇은 논-폴링 모델 및 폴링 모델을 결합한 하이브리드 모델을 이용하여 사용자 단말(100)로 응답을 제공하기 위한 챗봇을 선택할 수 있다. As 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 score of the query message in each chatbot using the machine learning model, transmits a query message to the selected two or more chatbots, and selects two or more of the selected chatbots. The response to be delivered to the user terminal 100 may be selected based on the ranking ranking of the response of the inquiry 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 step S400, the first relay chatbot 300 may input a query message into the machine learning model to derive scores for each of the plurality of chatbots 302, 304, and 306. In step S402, the first relay chatbot 300 is the first chatbot 302 and the second chatbot (at least) scores of a predetermined score (e.g., 60 points) among the plurality of chatbots 302, 304, and 306 according to the derived score. 304). In step 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 step S406, the first relay chatbot 300 may receive a first response to the inquiry message from the first chatbot 302, and in step S408, the second response to the inquiry message from the second chatbot 304. have. In step S410, the first relay chatbot 300 derives a ranking for the received first response and the second response, and in step S412, the ranking of the first response with the second ranking and the second response with the ranking ranking is the first. High second response can be selected. In step S414, the first relay chatbot 300 may transmit the second response having a high selected ranking to the messenger server 110 through the transmitting unit 240. In step 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 a query message through a plurality of chatbots connected to the relay chatbot, the relay chatbot can directly derive a response to the corresponding query message.

도 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 step S501, the user terminal 100 messengers the inquiry message received with respect to the service selected by the user of the user terminal 100 among the plurality of services and the service account information corresponding to the selected service. It can be transmitted to the server 110. In step S503, the messenger server 100 may transmit the received query message and service account information to the chatbot server 120. In step 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 using the relay chatbot corresponding to the service account information. In step S507, the chatbot server 120 may derive a response to the inquiry message by at least one chatbot. In step S509, the chatbot server 120 may transmit the derived response to the messenger server 110, and in step 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 the 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 the weather service. The response 603 of the selected chatbot 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 from 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 from the user terminal 100 includes the profile information 605 of the chatbot that derived the response and the profile information 607 of the relay chatbot corresponding to the weather service, and a response to the inquiry message (eg Today's weather may 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 profile information 605 of the chatbot that derives the response may include link information to the homepage of the chatbot. For example, when the user terminal 100 selects the 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 corresponding chatbot. If the user terminal 100 selects the area 607 corresponding to the profile information of the relay chatbot, the user terminal 100 is a third party server associated with a plurality of chatbots relayed by the relay chatbot's ID information and the relay chatbot You can check the page that provides information about.

본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. One embodiment of the invention may also be implemented in the form of a recording medium comprising instructions executable by a computer, such as program modules, being executed by a 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. Also, the computer-readable medium may include any computer storage medium. 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 above description of the present invention is for illustration only, and a person having ordinary knowledge in the technical field to which the present invention pertains can understand that it can be easily modified into 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 illustrative 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 indicated by the following claims rather than the above detailed description, and it should be interpreted that all changes or modified forms derived from the meaning and scope of the claims and equivalent concepts thereof are 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 instant messaging service using a relay chatbot that relays multiple chatbots,
A receiving unit for receiving a query message received 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 inquiry message using a relay chatbot corresponding to the service account information; And
Transmitter for transmitting the response to the messenger server
Including,
The relay chatbot relays a 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,
At least one chatbot among the plurality of chatbots is connected to be shared with the relay chatbot and other relay chatbots,
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,
The other relay chatbot is different from the first chatbot group, and relays a second chatbot group including the at least one chatbot with the user terminal to derive the response by the second chatbot group. server.
복수의 챗봇을 중계하는 중계 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 챗봇 서버에 있어서,
복수의 서비스 중 사용자 단말이 선택한 서비스에 대해 입력받은 질의 메시지 및 상기 선택한 서비스에 대응하는 서비스 계정 정보를 메신저 서버로부터 수신하는 수신부;
상기 서비스 계정 정보에 대응하는 중계 챗봇을 이용하여 상기 질의 메시지에 대한 응답을 도출하는 도출부; 및
상기 응답을 상기 메신저 서버로 전송하는 전송부
를 포함하고,
상기 중계 챗봇은 상기 중계 챗봇과 연결된 복수의 챗봇을 상기 사용자 단말과 중계함으로써 상기 복수의 챗봇 중 적어도 하나의 챗봇에 의해 상기 응답을 도출하도록 하고,
상기 중계 챗봇은 기계 학습 모델로 상기 질의 메시지를 입력하여 상기 사용자 단말에게 제공된 응답을 도출한 챗봇의 처리 비율, 상기 사용자 단말의 선호 응답을 도출한 챗봇의 처리 비율 및 상기 사용자 단말과 챗봇 간의 대화에 대한 컨텍스트 정보에 기초하여 응답을 도출한 챗봇의 처리 비율 중 적어도 하나에 기초하여 상기 복수의 챗봇 각각에 대한 스코어를 도출하고,
상기 도출된 스코어에 따라 상기 복수의 챗봇 중 어느 하나의 챗봇을 선택하고, 상기 선택된 챗봇으로 상기 질의 메시지를 전달하고, 상기 선택된 챗봇은 상기 질의 메시지에 대한 응답을 도출하는 것인, 챗봇 서버.
In a chatbot server that provides instant messaging service using a relay chatbot that relays multiple chatbots,
A receiving unit for receiving a query message received 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 inquiry message using a relay chatbot corresponding to the service account information; And
Transmitter for transmitting the response to the messenger server
Including,
The relay chatbot relays a 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,
The relay chatbot inputs the query message into the machine learning model to process the processing ratio of the chatbot that derives the response provided to the user terminal, the processing ratio of the chatbot that derives the preferred response of the user terminal, and the conversation between the user terminal and the chatbot. Scores for each of the plurality of chatbots are derived based on at least one of the processing ratios of the chatbots that derive responses based on context information for the
Chatbot server that selects any one of the plurality of chatbots according to the derived score, delivers the query message to the selected chatbot, and the selected chatbot derives a response to the query message.
복수의 챗봇을 중계하는 중계 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 챗봇 서버에 있어서,
복수의 서비스 중 사용자 단말이 선택한 서비스에 대해 입력받은 질의 메시지 및 상기 선택한 서비스에 대응하는 서비스 계정 정보를 메신저 서버로부터 수신하는 수신부;
상기 서비스 계정 정보에 대응하는 중계 챗봇을 이용하여 상기 질의 메시지에 대한 응답을 도출하는 도출부; 및
상기 응답을 상기 메신저 서버로 전송하는 전송부
를 포함하고,
상기 중계 챗봇은 상기 중계 챗봇과 연결된 복수의 챗봇을 상기 사용자 단말과 중계함으로써 상기 복수의 챗봇 중 적어도 하나의 챗봇에 의해 상기 응답을 도출하도록 하고,
상기 중계 챗봇은 상기 복수의 챗봇 각각에게 상기 질의 메시지를 전달하고, 상기 복수의 챗봇 각각으로부터 상기 질의 메시지에 대한 응답을 수신하고, 상기 사용자 단말의 사용자의 선호 응답에 대한 확률의 확률 분포, 상기 사용자 단말과 챗봇 간의 대화에 대한 컨텍스트 정보에 기초하여 도출한 응답에 대할 확률의 확률 분포 중 적어도 하나에 기초하여 상기 수신한 응답에 대해 랭킹을 도출하고, 상기 도출된 랭킹에 따라 상기 수신한 응답 중 어느 하나의 응답을 선택하고,
상기 전송부는 상기 선택된 어느 하나의 응답을 상기 메신저 서버로 전송하는 것인, 챗봇 서버.
In a chatbot server that provides instant messaging service using a relay chatbot that relays multiple chatbots,
A receiving unit for receiving a query message received 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 inquiry message using a relay chatbot corresponding to the service account information; And
Transmitter for transmitting the response to the messenger server
Including,
The relay chatbot relays a 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,
The relay chatbot delivers the query message to each of the plurality of chatbots, receives a response to the query message from each of the plurality of chatbots, and a probability distribution of probability for a user's preferred response of the user terminal, the user A ranking is derived for the received response based on at least one of a probability distribution of probability for a response derived based on context information about a conversation between a terminal and a chatbot, and any of the received responses is determined according to the derived ranking Select one response,
The transmission unit transmits any one of the selected response to the messenger server, the chatbot server.
복수의 챗봇을 중계하는 중계 챗봇을 이용하여 인스턴트 메시징 서비스를 제공하는 챗봇 서버에 있어서,
복수의 서비스 중 사용자 단말이 선택한 서비스에 대해 입력받은 질의 메시지 및 상기 선택한 서비스에 대응하는 서비스 계정 정보를 메신저 서버로부터 수신하는 수신부;
상기 서비스 계정 정보에 대응하는 중계 챗봇을 이용하여 상기 질의 메시지에 대한 응답을 도출하는 도출부; 및
상기 응답을 상기 메신저 서버로 전송하는 전송부; 및
상기 중계 챗봇과 다른 중계 챗봇 간의 트래픽에 기초하여 상기 중계 챗봇과 상기 다른 중계 챗봇이 서로 중계하는 순환 구조가 생성되었는지 여부를 판단하는 순환 구조 판단부
를 포함하고,
상기 중계 챗봇은 상기 중계 챗봇과 연결된 복수의 챗봇을 상기 사용자 단말과 중계함으로써 상기 복수의 챗봇 중 적어도 하나의 챗봇에 의해 상기 응답을 도출하도록 하는 것인, 챗봇 서버.
In a chatbot server that provides instant messaging service using a relay chatbot that relays multiple chatbots,
A receiving unit for receiving a query message received 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 inquiry message using a relay chatbot corresponding to the service account information; And
A transmitting unit transmitting the response to the messenger server; And
A cyclic structure determination unit that determines whether a cyclic structure is relayed between the relay chatbot and the other relay chatbot based on traffic between the relay chatbot and another relay chatbot.
Including,
The relay chatbot relays a 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 KR20190123708A (en) 2019-11-01
KR102104503B1 true 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 (3)

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

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102383926B1 (en) * 2019-12-18 2022-04-07 강원오픈마켓 주식회사 Control method, device and program of chatbot system
KR102422910B1 (en) * 2020-08-05 2022-07-20 다큐브 주식회사 System and method for retrieving information using voice recognition and computer program for the same
KR102452506B1 (en) * 2020-11-30 2022-10-07 주식회사 리노스 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

Citations (3)

* 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

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101797856B1 (en) * 2016-02-24 2017-11-15 라인 가부시키가이샤 Method and system for artificial intelligence learning using messaging service and method and system for relaying answer using artificial intelligence

Patent Citations (3)

* 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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022075609A1 (en) * 2020-10-08 2022-04-14 삼성전자주식회사 Electronic apparatus for responding to question using multi chat-bot and control method thereof
US12010074B2 (en) 2020-10-08 2024-06-11 Samsung Electronics Co., Ltd. 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

Also Published As

Publication number Publication date
KR20190123708A (en) 2019-11-01

Similar Documents

Publication Publication Date Title
KR102047010B1 (en) Server, device and method for providing instant messeging service by using relay chatbot
KR102104503B1 (en) Server, device and method for providing instant messeging service by using relay chatbot
KR101999780B1 (en) Server, device and method for providing instant messeging service by using virtual chatbot
KR102169397B1 (en) Method and server for providing semi-automatic communication using chatbot and consultant
US10430419B2 (en) Suggesting connections to a user based on an expected value of the suggestion to the social networking system
US8566396B2 (en) Method and apparatus for sending authentication request message in a social network
US9009232B2 (en) Method and apparatus for processing authentication request message in a social network
US9264246B2 (en) System, method and client for joining in group
US20110252108A1 (en) Designating automated agents as friends in a social network service
US20070073664A1 (en) Method and system for transmitting pre-formulated query to database
KR102146884B1 (en) Chatting system, ChatBot Server Apparatus, ChatBot ID Managing Apparatus, Chatting Mediating Server Apparatus, Program, Chatting Method, and Chatting Mediating Method
KR20190080599A (en) Method and server for providing semi-automatic communication using chatbot and consultant
JP5811094B2 (en) Attribute information processing apparatus, attribute information processing method, and attribute information evaluation system
US20100254527A1 (en) System and method for matching service representatives with customers
US20060248146A1 (en) Method and system for status reporting
US20090187626A1 (en) Interactive intelligent system and method for information management
KR101045822B1 (en) Electronic business card processing method using a mobile terminal, the system and the computer-readable recording medium recording the program
US11196685B2 (en) Method, system and apparatus for centralized augmentation of autonomous message handling
CN102739558A (en) Method and device used for identifying interference messages
CN107222392B (en) Communication method, device, system and computer storage medium
CN105119977A (en) Method and system for information transmission based on geographic coordinates and time interval
TWI631471B (en) A communication system with smart agent robots
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
EP3805951A1 (en) Method for transmitting information

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