[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR20190059731A - Chatbot system based on multi-domain and method for providing chatbot service - Google Patents

Chatbot system based on multi-domain and method for providing chatbot service Download PDF

Info

Publication number
KR20190059731A
KR20190059731A KR1020170157626A KR20170157626A KR20190059731A KR 20190059731 A KR20190059731 A KR 20190059731A KR 1020170157626 A KR1020170157626 A KR 1020170157626A KR 20170157626 A KR20170157626 A KR 20170157626A KR 20190059731 A KR20190059731 A KR 20190059731A
Authority
KR
South Korea
Prior art keywords
chatbot
natural language
answer
server
language query
Prior art date
Application number
KR1020170157626A
Other languages
Korean (ko)
Other versions
KR102146031B1 (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 KR1020170157626A priority Critical patent/KR102146031B1/en
Publication of KR20190059731A publication Critical patent/KR20190059731A/en
Application granted granted Critical
Publication of KR102146031B1 publication Critical patent/KR102146031B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • 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
    • G06Q50/30
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Tourism & Hospitality (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Operations Research (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Disclosed are a multi-domain based chatbot system and a method for providing a chatbot service. The system includes a chatbot management server and a chatbot server. The chatbot management server stores and manages a plurality of routing information, which is an access path to a plurality of external chatbot servers, searches for an external chatbot server corresponding to an object name and an intention for a natural language query received from the outside and provides routing information on the searched external chatbot server. In order to answer to a user′s question, the chatbot server stores information on the basis of knowledge base or machine learning, searches for an answer corresponding to a natural language query received from a user terminal and provides the retrieved answer to the user terminal as a reply to the natural language. When the answer corresponding to the natural language query is not found, routing information corresponding to the object name and the intention of the natural language query is received through the chatbot management server, the natural language query is transmitted to the external chat server corresponding to the provided routing information and thereafter, an answer is received from the external chat server and provided to the user terminal.

Description

멀티 도메인 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법 {CHATBOT SYSTEM BASED ON MULTI-DOMAIN AND METHOD FOR PROVIDING CHATBOT SERVICE}Field of the Invention < RTI ID = 0.0 > [0001] < / RTI > The present invention relates to a multi-

본 발명은 멀티 도메인 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법에 관한 것이다.The present invention relates to a multi-domain based chatbot system and a method for providing a chatbot service.

최근 스마트폰을 통한 메신저의 사용 환경 확대와 인공지능의 발전과 함께 고객들과 기업들이 메시징 서비스를 통해서 연결이 되기를 원함에 따라 정해진 응답 규칙을 바탕으로 메신저를 통해 사용자와 대답할 수 있도록 구현된 챗봇(ChatBot) 시스템이 각광을 받고 있다. 이러한 챗봇 시스템은 원래 채터 로봇(Chatter Robot) 시스템을 의미하는 시스템으로 대화를 하는 로봇이라고 할 수 있다.Recently, as a result of expanding the usage environment of messenger via smartphone and development of artificial intelligence, customers and companies want to be connected through messaging service. Therefore, chatbot (messenger) ChatBot) system is in the spotlight. Such a chatbot system is originally a robot that communicates with a system that means a chatter robot system.

또한, 최근 인공지능(Artificail Intellegent, AI) 기술의 발전에 힘입어 인공지능 기반으로 지식 베이스(Knowledge Base)를 구축하여 정보를 제공하는 인공지능 챗봇이 사용되고 있지만, 이러한 인공지능 챗봇도 추가적인 정보가 필요할 경우 외부 시스템과의 통신 인터페이스 프로토콜이 지원하는 한도 내에서만 외부의 챗봇과 연동할 수 밖에 없어 지능화된 새로운 방식의 챗봇간 연동 방식이 필요하다. 이것은 점차적으로 비즈니스 도메인 영역별 챗봇이 증가함에 따라, 하나의 챗봇이 사용자가 질의하는 모든 주제 영역의 지식을 커버하기 어려우며, 그로 인해 타 시스템 또는 타 플랫폼에 구축된 챗봇의 지식과 연계하여 복합 생성해야 하는 연계 답변의 필요성이 커지는 상황에서 현재와 같이 통신 프로토콜에 의존한 인터페이스 방식으로는 일일이 인터페이스를 개발해야 하는 등 비용이나 일정 측면에서 한계가 있기 때문이다.In addition, artificial intelligence chatbots that provide information by constructing a knowledge base based on artificial intelligence have been used in recent years due to the development of artificial intelligence (AI) technology, but such artificial intelligence chatbots also require additional information In this case, it is necessary to interwork with external chatbots only to the extent that communication interface protocol with external system supports it. This is due to the increasing number of chatbots per business domain, it is difficult for a single chatbot to cover the knowledge of all the subject areas that the user queries, and thus it is necessary to combine it with the knowledge of the chatbots built on other systems or platforms This is because interfaces that depend on communication protocols have limitations in terms of cost and schedule, such as the necessity of developing interfaces one by one.

본 발명이 해결하고자 하는 과제는 단일 챗봇의 지식으로 커버할 수 없는 지식 도메인에 대해 사용자가 질의했을 때, 통신 프로토콜에 의존하여 인터페이스를 개발하는 기존 방식의 문제점을 개선하여, 챗봇의 자연어 처리 기술인 개체명 식별기술(Named Entity Recognition, NER), 의도 분류 기술(Intent Classification) 등을 토대로 획득한 멀티 챗봇 정보를 통해 연동할 대상 챗봇의 라우팅 정보를 획득함으로써, 인공지능으로 스스로 외부 챗봇에게 질의하여 답변하는 진화된 멀티 도메인 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법을 제공하는 것이다.A problem to be solved by the present invention is to solve problems of existing methods of developing an interface depending on a communication protocol when a user queries a knowledge domain that can not be covered by knowledge of a single chatbot, By acquiring the routing information of the target chatbot to be linked through the multi-chatbot information acquired based on the Named Entity Recognition (NER) and the Intent Classification, it is possible to inquire and reply to the external chatbot by the artificial intelligence And a method for providing a chattb service based on an advanced multi-domain.

본 발명의 하나의 특징에 따른 챗봇 시스템은,In a chatbot system according to one aspect of the present invention,

챗봇 시스템으로서, 복수의 외부 챗봇 서버에 대한 접근 경로인 복수의 라우팅 정보를 저장 관리하며, 외부로부터 수신되는 자연어 질의어에 대한 개체명 및 의도에 해당되는 외부 챗봇 서버를 검색한 후 검색된 외부 챗봇 서버에 대한 라우팅 정보를 제공하는 챗봇 관리 서버 및 사용자의 질문에 답변하기 의해 지식 베이스 기반 또는 기계학습 기반으로 정보를 저장하고, 사용자 단말로부터 수신되는 자연어 질의어에 해당되는 답변을 검색하여 검색된 릿답변을 상기 자연어 질의어에 대한 답변으로서 상기 사용자 단말에게 제공하되, 상기 자연어 질의어에 대응되는 답변이 검색되지 않는 경우 상기 챗봇 관리 서버를 통해 상기 자연어 질의어에 대한 개체명과 의도에 대응되는 라우팅 정보를 제공받아서 제공된 라우팅 정보에 대응되는 외부 챗봇 서버로 상기 자연어 질의어를 전달한 후 상기 외부 챗봇 서버로부터 제공되는 답변을 받아서 상기 사용자 단말에게 제공하는 챗봇 서버를 포함한다.A chattbot system, which stores and manages a plurality of routing information, which is an access path to a plurality of external chatbot servers, searches an external chatbot server corresponding to an object name and an intention of a natural language query received from the outside, Based on a knowledge base or a machine learning basis by answering a question of a chatbot management server and a user providing routing information for a natural language query received from a user terminal and searching for an answer corresponding to a natural language query received from a user terminal, Providing a routing information corresponding to an object name and an intention for the natural language query through the chattube management server when an answer corresponding to the natural language query is not retrieved, Corresponding external chatbot After passing by the natural language query receives a response that the service from the external server and a chaetbot chaetbot server that is available to the user terminal.

여기서, 상기 챗봇 서버는, 지식 베이스 기반 또는 기계학습 기반으로 정보를 저장하는 정보 데이터베이스 상기 정보 데이터베이스를 사용하여 상기 자연어 질의어에 해당되는 답변을 검색하는 답변 생성부 상기 자연어 질의어를 분석하여 상기 자연어 질의어에 대해 식별되는 개체명과 상기 자연어 질의어에 대해 분류되는 의도를 파악하는 분석부 상기 챗봇 관리 서버에게 상기 분석부에 의해 파악되는 상기 자연어 질의어에 대한 개체명과 의도를 전달하고, 상기 챗봇 관리 서버로부터 상기 자연어 질의어에 대응되는 라우팅 정보를 수신하는 라우팅 정보 취득부 상기 라우팅 정보에 대응되는 외부 챗봇 서버에 접속한 후 상기 외부 챗봇 서버를 통해 상기 자연어 질의어에 대응되는 답변을 취득하는 답변 취득부 및 상기 답변 생성부에 의해 검색된 답변 또는 상기 답변 취득부에 의해 취득되는 답변으로부터 상기 자연어 질의어에 대한 답변을 구성하여 상기 사용자 단말에게 제공하는 답변 가공부를 포함한다.Here, the chatbot server may be an information database for storing information based on knowledge base or machine learning. An answer generator for searching for an answer corresponding to the natural language query using the information database, analyzes the natural language query, And an intention to be classified with respect to the natural language query term is transmitted to the chatbot management server and the entity name and the intention of the natural language query recognized by the analysis unit are transmitted from the chatbot management server to the chatbot management server, A response acquiring unit that acquires an answer corresponding to the natural language query through the external chatbot server after accessing an external chatbot server corresponding to the routing information; Found by Configuring the answers to the natural language query from the response obtained by the response obtaining unit to the side or to include a processing in response to provided to the user terminal.

또한, 상기 답변 생성부는 상기 정보 데이터베이스를 사용하여 상기 자연어 질의어에 대한 답변 검색이 실패하는 경우 상기 자연어 질의어에 대한 개체명과 의도를 상기 라우팅 정보 취득부로 전달하여 상기 자연어 질의어에 대응되는 라우팅 정보를 취득하도록 한다.In addition, when the search for an answer to the natural language query fails using the information database, the answer generator transmits an entity name and an intention for the natural language query to the routing information acquisition unit to acquire routing information corresponding to the natural language query do.

또한, 상기 챗봇 관리 서버는, 상기 복수의 외부 챗봇 서버에 대한 접근 경로인 복수의 라우팅 정보를 저장 관리하는 라우팅 테이블 및 상기 챗봇 서버로부터 수신되는 자연어 질의어에 대한 개체명과 의도를 기준으로 상기 라우팅 테이블로부터 상기 자연어 질의어에 대응되는 외부 챗봇 서버를 검색하여 검색된 외부 챗봇 서버에 대한 라우팅 정보를 상기 챗봇 서버에게 제공하는 챗봇 검색부를 포함한다.The chatbot management server may further include a routing table for storing and managing a plurality of routing information which is an access path to the plurality of external chatbot servers, and a routing table for storing the routing information, And a chatbot searching unit searching for an external chatbot server corresponding to the natural language query and providing routing information for the searched external chatbot server to the chatbot server.

또한, 상기 라우팅 테이블은 상기 복수의 외부 챗봇 서버에 대한 답변율을 더 포함하고, 상기 챗봇 검색부는 상기 자연어 질의어에 대응되어 검색되는 외부 챗봇 서버에 대한 답변율을 상기 챗봇 서버에게 추가로 전달한다.The routing table may further include a response rate for the plurality of external chatbot servers, and the chatbot search unit may further transmit a response rate to the external chatbot server corresponding to the natural language query word to the chatbot server.

또한, 상기 챗봇 서버는 상기 챗봇 관리 서버로부터 제공되는 답변율이 미리 설정된 임계값 이상인 경우 상기 답변율과 함께 제공되는 라우팅 정보에 대응되는 외부 챗봇 서버에 접속하여 상기 자연어 질의어에 대한 답변을 제공받는다.Also, when the response rate provided from the chattube management server is equal to or greater than a predetermined threshold, the chatbot server accesses an external chat server corresponding to the routing information provided with the response rate, and receives a response to the natural language query.

또한, 상기 챗봇 서버는 상기 사용자 단말로부터 수신되는 자연어 질의어가 복수의 의도를 갖는 질의어인 경우, 상기 복수의 의도별로 질의어를 생성한 후, 각 질의어별로 상기 챗봇 서버를 통해 검색된 답변 또는 상기 외부 챗봇 서버를 통해 취득한 답변을 가공하여 복합적인 응답으로 재구성한 후 상기 자연어 질의어에 대한 답변으로 상기 사용자 단말에게 제공한다.If the natural language query term received from the user terminal is a query having a plurality of intentions, the chatbot server generates a query term for each of the plurality of intentions, And reconstructs the response as a composite response, and provides the response to the user terminal in response to the natural language query.

또한, 상기 챗봇 서버는 상기 외부 챗봇 서버와의 채팅을 통해 상기 자연어 질의어에 대한 답변을 취득하는 과정을 상기 사용자 단말의 디스플레이를 통해 표시한다.Also, the chatbot server displays, through a display of the user terminal, a process of obtaining a response to the natural language query through a chat with the external chatbot server.

또한, 상기 외부 챗봇 서버와의 채팅을 통해 상기 자연어 질의어에 대한 답변을 취득하는 과정은, 상기 챗봇 서버가 상기 사용자 단말과의 사이에 상기 자연어 질의에 대한 답변을 제공하기 위해 표시하는 채팅 창 내의 일부에 표시되는 쪽창을 통해 표시한다.The step of acquiring an answer to the natural language query through the chat with the external chatbot server may include acquiring an answer to the natural language query through the chat window, Through the window displayed on the screen.

본 발명의 다른 특징에 따른 챗봇 서비스 방법은,According to another aspect of the present invention,

챗봇 시스템이 사용자 단말에게 챗봇 서비스를 제공하는 방법으로서, 사용자 단말로부터 수신되는 자연어 질의어에 대해 정보 데이터베이스를 통해 답변을 검색하는 단계 ― 상기 정보 데이터베이스는 지식 베이스 기반 또는 기계학습 기반으로 정보를 저장함 ― 상기 자연어 질의어에 대해 상기 정보 데이터베이스를 통한 답변 검색이 실패하는 경우, 챗봇 관리 서버를 통해 라우팅 정보를 제공받는 단계 ― 상기 챗봇 관리 서버는 복수의 외부 챗봇 서버에 대한 접근 경로인 복수의 라우팅 정보를 저장 관리함 ― 상기 챗봇 관리 서버로부터 제공되는 라우팅 정보에 대응되는 외부 챗봇 서버를 통해 상기 자연어 질의에 대한 답변을 제공받는 단계 및 상기 답변을 검색하는 단계에서 검색된 답변 또는 상기 답변을 제공받는 단계에서 제공받은 답변을 상기 자연어 질의어에 대한 답변으로서 가공하여 상기 사용자 단말에게 제공하는 단계를 포함한다.A method of providing a chat service to a user terminal, the method comprising: searching for an answer through an information database with respect to a natural language query received from a user terminal, the information database storing information on a knowledge base or machine learning basis; Receiving routing information through a chatbot management server when an answer search through the information database fails for a natural language query, the chatbot management server storing and managing a plurality of routing information, which is an access path to a plurality of external chatbot servers, - receiving a response to the natural language query through an external chat server corresponding to the routing information provided from the chatbot management server, and receiving a response searched in the step of searching for the answer or an answer provided in the step of receiving the answerProcessed as a group in response to a natural language query phrase includes the step of providing to the user terminal.

여기서, 상기 챗봇 관리 서버는 상기 복수의 외부 챗봇 서버 각각에 대한 답변율을 더 저장 관리하고, 상기 라우팅 정보를 제공받는 단계에서, 상기 챗봇 관리 서버로부터 상기 라우팅 정보와 함께 상기 답변율을 추가로 제공받으며, 상기 라우팅 정보를 제공받는 단계와 상기 답변을 제공받는 단계 사이에, 상기 답변율이 미리 설정된 임계값 이상인지를 판단하는 단계를 더 포함하고, 상기 답변율이 미리 설정된 임계값 이상인지를 판단하는 단계에서 상기 답변율이 상기 미리 설정된 임계값 이상인 경우에 상기 답변을 제공받는 단계를 수행한다.Here, the chatbot management server further stores and manages the response rates for the plurality of external chatbot servers, and receives the routing information from the chatbot management server in addition to providing the response rate with the routing information Further comprising determining whether the response rate is equal to or greater than a predetermined threshold value between the step of receiving the routing information and the step of receiving the response, and determining whether the response rate is equal to or greater than a preset threshold value A step of receiving the answer when the answer rate is equal to or greater than the preset threshold value.

또한, 상기 답변율이 상기 미리 설정된 임계값보다 작은 경우 답변 검출 실패를 상기 질의어에 대한 응답으로 상기 사용자 단말에게 제공한다.If the answer rate is smaller than the preset threshold value, an answer detection failure is provided to the user terminal in response to the query term.

또한, 상기 라우팅 정보를 제공받는 단계에서, 상기 챗봇 서버가 상기 자연어 질의어에 대한 개체명과 의도를 상기 챗봇 관리 서버에게 전달하고, 상기 챗봇 관리 서버는 상기 자연어 질의어에 대한 개체명과 의도를 기준으로 외부 챗봇 서버를 검색한다.Also, in the step of receiving the routing information, the chatbot server transmits an entity name and an intention for the natural language query term to the chatbot management server, and the chatbot management server, based on the object name and the intention of the natural language query, Search the server.

본 발명의 또 다른 특징에 따른 챗봇 시스템은,In a chatbot system according to another aspect of the present invention,

챗봇 시스템으로서, 통신기, 메모리 및 프로세서를 포함하며, 상기 통신기는 사용자 단말, 챗봇 관리 서버 - 상기 챗봇 관리 서버는 복수의 외부 챗봇 서버에 대한 접근 경로인 복수의 라우팅 정보를 저장 관리함 ―및 외부 챗봇 서버와 통신을 수행하고, 상기 메모리는 사용자의 질문에 대해 답변하기 위해 지식 베이스 기반 또는 기계학습 기반으로 정보를 저장하고, 코드의 집합을 저장하도록 구성되며, 상기 코드는, 상기 통신기를 통해 상기 사용자 단말로부터 수신되는 자연어 질의어에 해당되는 답변을 검색하는 동작 상기 통신기를 통해 상기 챗봇 관리 서버로부터 상기 자연어 질의어에 대한대응개체명과 의도에 대응되는 라우팅 정보를 제공받는 동작 상기 통신기를 통해, 취득된 상기 라우팅 정보에 대응되는 외부 챗봇 서버에 접속하여 상기 자연어 질의어에 대한 답변을 취득하는 동작 상기 통신기를 통해 상기 답변을 상기 사용자 단말에게 제공하는 동작을 실행하도록 상기 프로세서를 제어하는 데 사용된다.A chatbot system, comprising: a communicator, a memory, and a processor, wherein the communicator includes a user terminal, a chatbot management server, wherein the chatbot management server stores and manages a plurality of routing information that is an access path to a plurality of external chatbot servers, Wherein the memory is configured to store information on a knowledge base or machine learning basis and to store a set of codes for answering a user ' s query, the code comprising: An operation for receiving an answer corresponding to the natural language query term received from the chatbot management server through the communicator, and an operation for receiving, from the communicator, To the external chat server corresponding to the external chat server To execute an operation for providing the response via an operation of the communication to obtain the answers to salmon query term to the user terminal is used to control the processor.

여기서, 상기 프로세서는, 상기 통신기를 통해 상기 챗봇 관리 서버로부터 상기 라우팅 정보와 함께 답변율을 추가로 제공받는 동작 및 상기 답변율이 미리 설정된 임계값 이상인지를 판단하는 동작을 더 실행하고, 상기 프로세서는, 상기 답변율이 상기 미리 설정된 임계값 이상인 경우 상기 외부 챗봇 서버를 통해 상기 자연어 질의어에 대한 답변을 취득하는 동작을 실행한다.The processor may further perform an operation of receiving an answer rate from the chattube management server together with the routing information through the communicator and an operation of determining whether the response rate is equal to or greater than a preset threshold value, Executes an operation to acquire an answer to the natural language query through the external chatbot server when the response rate is equal to or greater than the preset threshold value.

본 발명에 따르면, 인공지능 멀티 챗봇 서버간에 정보를 주고 받을 때 챗봇 서버끼리의 자연어 대화 처리 방식을 구조화하고, 챗봇 서버 스스로 필요한 정보가 있을 때 질의해야 하는 대상 챗봇 서버를 인공지능으로 찾아내고 원하는 정보를 챗봇 서버간 자연어 처리 방식을 통해 획득함으로써 이종 플랫폼 간에도 쉽게 정보를 주고 받을 수 있다.According to the present invention, a method for structuring natural language conversation processing between chatbot servers is performed when information is exchanged between artificial intelligent multi-chatbot servers, and when a chatbot server itself has necessary information, a target chatbot server to be queried is found by artificial intelligence, Can be easily exchanged between heterogeneous platforms by acquiring them through the natural language processing method between the chatbots server.

또한, 챗봇 서버 이용자는 수많은 영역별 챗봇 서버와 일일이 대화할 필요없이, 최초 질의를 받은 챗봇 서버가 필요에 따라 인공지능으로 타 영역 챗봇 서버를 찾아 답변을 생성함으로써 하나의 챗봇 서버가 통합된 지식 베이스를 구축할 필요가 없게 되며, 이종 플랫폼 간의 챗봇 서버 연계도 용이해져 인공지능 챗봇 서버를 연결시켜주는 집단 지성을 구축할 수 있다.In addition, the users of the chatbot server need not to communicate with many chatbots server by area, and the chatbot server which received the first query searches the other chatbot server with artificial intelligence as needed to generate an answer, And it is easy to connect the chatbot server between the heterogeneous platforms, so that collective intelligence that connects the artificial intelligent chatbot server can be constructed.

도 1은 본 발명의 실시예에 따른 챗봇 시스템의 개략 구성도이다.
도 2는 도 1에 도시된 챗봇 서버의 구체적인 구성 블록도이다.
도 3은 도 1에 도시된 챗봇 관리 서버의 구체적인 구성 블록도이다.
도 4는 도 3에 도시된 라우팅 테이블을 구성하는 필드 정보를 개략적으로 도시한 도면이다.
도 5는 본 발명의 실시예에 따른 챗봇 서비스 제공 방법의 개략적인 흐름도이다.
도 6은 본 발명의 실시예에 따라 챗봇 서버가 수행하는 챗봇 서비스 방법의 흐름도이다.
도 7은 본 발명의 실시예에 따른 챗봇 시스템에서 사용자 단말의 디스플레이를 개략적으로 도시한 도면으로, (a)는 챗봇 서버와의 채팅 창만을 도시한 도면이고, (b)는 챗봇 서버와 외부 챗봇 서버와의 채팅 창을 쪽창으로 도시한 도면이다.
도 8은 본 발명의 다른 실시예에 따른 챗봇 서버의 개략적인 구성 블록도이다.
1 is a schematic block diagram of a chatbot system according to an embodiment of the present invention.
FIG. 2 is a detailed block diagram of the chatbot server shown in FIG. 1. FIG.
3 is a detailed block diagram of the chatbot management server shown in FIG.
4 is a diagram schematically showing field information constituting the routing table shown in FIG.
5 is a schematic flowchart of a method of providing a chat service in accordance with an embodiment of the present invention.
FIG. 6 is a flowchart of a chat service method performed by a chat server according to an embodiment of the present invention.
FIG. 7 is a view schematically showing a display of a user terminal in a chatbot system according to an embodiment of the present invention, wherein (a) shows only a chat window with the chatbot server, (b) And a chat window with the server as a window.
8 is a schematic block diagram of a chatbot server according to another 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 can easily carry out the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly explain the present invention, parts not related to the description are omitted, and like parts are denoted by similar reference numerals throughout the specification

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification, when an element is referred to as " comprising ", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise.

또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. Also, the terms " part, " " module, " and " module ", etc. in the specification mean a unit for processing at least one function or operation and may be implemented by hardware or software or a combination of hardware and software have.

이하, 도면을 참고하여 본 발명의 실시예에 따른 챗봇 시스템에 대해 설명한다.Hereinafter, a chatbot system according to an embodiment of the present invention will be described with reference to the drawings.

도 1은 본 발명의 실시예에 따른 챗봇 시스템의 개략 구성도이다.1 is a schematic block diagram of a chatbot system according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 챗봇 시스템(10)은 사용자 단말(100), 챗봇 서버(200), 챗봇 관리 서버(300) 및 외부 챗봇 서버(400)를 포함한다. 이 때, 도 1에 도시된 챗봇 시스템(10)은 본 발명의 일 실시예에 불과하므로 도 1을 통해 본 발명이 한정 해석되는 것은 아니며, 본 발명의 다양한 실시예들에 따라 도 1과 다르게 구성될 수도 있다. 1, a chatbot system 10 according to an embodiment of the present invention includes a user terminal 100, a chatbot server 200, a chatbot management server 300, and an external chatbot server 400. 1, the present invention is not limited to FIG. 1, and the present invention is not limited to FIG. 1, and may be configured differently from FIG. 1 according to various embodiments of the present invention. .

사용자 단말(100)은 네트워크(510)를 통해 챗봇 서버(200)에 연결된다. 여기서 네트워크(510)는 주로 무선 네트워크로서 단말들 및 서버들과 같은 각각의 노드 상호 간에 무선으로 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크(network)의 일례에는 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 3G, 4G, 5G 등이 포함되나 이에 한정되지는 않는다.The user terminal 100 is connected to the chatbot server 200 via the network 510. Herein, the network 510 mainly refers to a connection structure capable of wirelessly exchanging information between respective nodes such as terminals and servers as a wireless network. One example of such a network is a 3rd Generation Partnership Project (3GPP) , Long Term Evolution (LTE), World Interoperability for Microwave Access (WIMAX), Wi-Fi, 3G, 4G, 5G, and the like.

사용자 단말(100)은 사용자의 질의를 입력받아서 네트워크(510)를 통해 챗봇 서버(200)로 전달하고, 챗봇 서버(200)로부터 질의에 대한 응답을 전달받아서 사용자에게 제공하는 챗봇 서비스 어플리케이션인 챗봇 클라이언트가 탑재된 단말일 수 있다.The user terminal 100 receives a query of the user and transmits the query to the chat server 200 via the network 510. The chat client 200 receives a response to the query from the chat server 200, Or the like.

사용자 단말(100)은 무선 통신이 가능한 모바일 단말을 포함할 수 있고, 본 발명의 다양한 실시예들에 따르면, 사용자 단말(100)은 다양한 형태의 디바이스일 수 있다. 예를 들어, 사용자 단말(100)은 네트워크(510)를 통해 원격지의 챗봇 서버(200)에 접속할 수 있는 휴대용 단말일 수 있다. 여기서, 휴대용 단말의 일 예로는 휴대성과 이동성이 보장되는 무선 통신 장치로서, 3G, 4G, 5G 단말, LTE 단말, 스마트폰(smartphone), 스마트 패드, 태블릿 PC, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말과 같은 휴대성과 이동성이 보장되는 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치가 포함될 수 있다. 또한, 사용자 단말(100)의 일 예는 노트북(notebook), 넷북(Netbook), 울트라북(UltraBook), 서브노트북(SubNotebook), 데스크노트(DeskNote), UMPC(Ultra-Mobile PC), 데스크탑(Desktop) 등과 같은 모든 종류의 PC를 포함할 수 있다. 여기서, 사용자 단말(100)은 도 1에 도시된 형태 또는 앞서 예시된 것들로만 한정 해석되는 것은 아니다.The user terminal 100 may comprise a mobile terminal capable of wireless communication, and according to various embodiments of the present invention, the user terminal 100 may be various types of devices. For example, the user terminal 100 may be a portable terminal that can access the remote chat server 200 through the network 510. As an example of the portable terminal, there is a wireless communication device with guaranteed portability and mobility. The wireless communication device includes a 3G, 4G, 5G terminal, an LTE terminal, a smartphone, a smart pad, a tablet PC, a personal communication system (PCS) Global System for Mobile communications), PDC (Personal Digital Cellular), PHS (Personal Handyphone System), PDA (Personal Digital Assistant), IMT (International Mobile Telecommunication) -2000, CDMA (Code Division Multiple Access) (W-Code Division Multiple Access), Wibro (Wireless Broadband Internet) terminals, and the like. One example of the user terminal 100 is a notebook, a netbook, an UltraBook, a subnotebook, a desk note, an Ultra-Mobile PC (UMPC), a desktop ), And the like. Here, the user terminal 100 is not limited to the form shown in FIG. 1 or the ones illustrated above.

챗봇 서버(200)는 네트워크(510)를 통해 사용자 단말(100)로부터 수신된 자연어 질의어에 대응되는 답변을 검색하고, 대응되는 답변이 검색되는 경우 검색된 답변을 질의어에 대한 답변으로 사용자 단말(100)에게 전송할 수 있다.The chatbot server 200 searches for answers corresponding to natural language query terms received from the user terminal 100 via the network 510. When a corresponding answer is searched, the chatbot server 200 searches the user terminal 100 for answers to the query, Lt; / RTI >

그러나, 챗봇 서버(200)가 사용자 단말(100)로부터 수신된 자연어 질의어에 대응되는 답변을 검색하지 못하는 경우에는 해당 자연어 질의어에 대한 정보를 챗봇 관리 서버(300)로 전달하고, 챗봇 관리 서버(300)로부터 제공되는 라우팅 정보를 받아서 라우팅 정보에 해당하는 외부 챗봇 서버(400)로 자연어 질의어를 전달하며, 해당 외부 챗봇 서버(400)로부터 제공되는 답변을 사용자 단말(100)에게 제공할 수 있다. 여기서, 자연어 질의어에 대한 정보로는 자연어 질의어에 대해 개체명 식별(Named Entity Recognition) 기술을 통해 식별된 개체명과 의도 분류(Intent Classification) 기술을 통해 분류된 의도가 포함될 수 있다. 이 때, 개체명 식별 기술은 미리 정의해 둔 사람, 회사, 장소, 시간, 단위 등에 해당하는 단어, 즉 개체명을 인식하여 추출하는 기술이고, 의도 분류 기술은 다양한 형태의 자연어 문장에 대해 대응되는 의도로서 미리 분류한 후 입력되는 자연어 질의어에 해당하는 의도를 찾아내는 기술로서, 이미 잘 알려져 있으므로 여기에서는 구체적인 설명을 생략한다.However, when the chatbot server 200 can not retrieve the answer corresponding to the natural language query received from the user terminal 100, the chatbot server 200 transmits information on the natural language query to the chatbot management server 300, And transmits the natural language query to the external chat server 400 corresponding to the routing information and provides the response provided from the external chat server 400 to the user terminal 100. [ Herein, the information about the natural language query may include the entity name identified through the Named Entity Recognition technology and intentions classified through the Intent Classification technology for the natural language query. At this time, the object name identification technique is a technology for recognizing and extracting words corresponding to a person, a company, a place, a time, a unit, etc., which are defined in advance, and an object classification technique is applied to various types of natural language sentences The intention is classified into the intention and then the intention corresponding to the input natural language query word is found, which is well known, and a detailed description thereof will be omitted here.

챗봇 서버(200)가 자연어 질의어에 대응되는 답변을 검색하는 방식으로 여러가지가 있을 수 있다. 예를 들어, 챗봇 서버(200)가 지식 베이스 기반 챗봇 서버인 경우, AIML(Artificial Intelligence Markup Language)과 같은 패턴의 매칭을 통해 답변을 검색하는 패턴 매칭 방식과, 단어와 단어의 관계를 탐색하는 온톨로지 방식으로 답변을 검색할 수 있다. 또는, 챗봇 서버(200)가 기계학습 기반 챗봇 서버인 경우, 대량의 키(key), 값(value)으로 이루어진 학습 데이터를 학습하여, 최적의 기계학습 함수 모델을 찾아낸 후 이를 API(Appliaction Programming Interface)화하여 입력 값으로 질문, 출력 값으로 답변과, 답변 정확도(%)를 검색할 수 있다. 또한, 챗봇 서버(200)는 사용자 단말(100)로부터 수신된 질의어 분석 결과 둘 이상의 질문 의도가 파악되는 경우 챗봇 서버(200) 자체 내에서 검색된 답변들 또는 챗봇 관리 서버(300)를 통해 제공받은 라우팅 정보에 따라서 외부 챗봇 서버(400)로부터 제공받은 답변들을 가공하여 복합 답변을 생성하고, 생성된 복합 답변을 사용자 단말(100)에게 최종 답변으로서 제공할 수 있다.There are various ways in which the chatbot server 200 searches for an answer corresponding to a natural language query. For example, when the chatbot server 200 is a knowledge base-based chatbot server, a pattern matching method for searching for an answer through pattern matching such as Artificial Intelligence Markup Language (AIML), an ontology for searching a word- You can search for answers in a way. Alternatively, if the chatbot server 200 is a machine learning-based chatbot server, learning data consisting of a large number of keys and values is learned to find an optimal machine learning function model, and then an API (Application Programming Interface ), It is possible to search the input value for the question, the output value for the answer, and the answer accuracy (%). When more than one question intention is obtained as a result of the query term analysis received from the user terminal 100, the chattob server 200 may search for answers found in the chattob server 200 itself, The reply provided from the external chat server 400 according to the information may be processed to generate a composite answer, and the generated composite answer may be provided to the user terminal 100 as a final answer.

챗봇 관리 서버(300)는 본 발명의 실시예에 따른 챗봇 서비스를 사용하기 위해 접속되는 챗봇 서버들, 즉 챗봇 서버(200) 및 외부 챗봇 서버(400)들은 챗봇 관리 서버(300)에 자신들의 정보를 등록한다. 이 때 등록되는 정보에는 챗봇 서버를 확인할 수 있는 식별자와 챗봇 서버에 접속하기 위한 라우팅 정보, 예를 들어 접근 주소인 URL(Uniform Resource Locator) 등이 포함될 수 있다.The chatbot server 200 and the external chatbot servers 400 connected to use the chatbot service according to the embodiment of the present invention send the chatbot management server 300 to the chatbot management server 300 with their information . The information registered at this time may include an identifier for identifying the chat server and routing information for accessing the chat server, for example, a URL (Uniform Resource Locator) as an access address.

챗봇 관리 서버(300)는 챗봇 서버(200)로부터 자연어 질의어에 대한 정보, 즉 개체명과 의도가 전달되면 전달된 정보, 즉 개체명과 의도에 해당하는 챗봇 서버를 검색하며, 검색된 챗봇 서버에 해당하는 라우팅 정보를 챗봇 서버(200)에게 제공한다. 이 때, 챗봇 관리 서버(300)로부터 챗봇 서버(200)에게 제공되는 라우팅 정보는 하나 이상일 수 있다. 예를 들어, 챗봇 관리 서버(300)는 챗봇 서버(200)로부터 전달되는 하나의 자연어 질의어에 대해 하나 이상의 라우팅 정보를 제공할 수 있거나, 또는 챗봇 서버(200)로부터 둘 이상의 자연어 질의어가 전달되는 경우에는 둘 이상의 라우팅 정보가 챗봇 서버(200)에게 제공될 수 있다.The chatbot management server 300 searches the chatbot server 200 for the information about the natural language query, that is, the information about the object name and the intention, that is, the transmitted information, that is, the object name and the intention, And provides the information to the chatbot server 200. At this time, the routing information provided from the chatbot management server 300 to the chat server 200 may be one or more. For example, the chatbot management server 300 can provide one or more routing information for one natural language query transmitted from the chatbot server 200, or if two or more natural language queries are transmitted from the chatbot server 200 Two or more pieces of routing information may be provided to the chatbot server 200. [

외부 챗봇 서버(400)는 하나 이상의 챗봇 서버로 구성되며, 네트워크(520)를 통해 챗봇 서버(200)에 연결된다. 여기서 네트워크(520)는 네트워크(510)와 마찬가지로 무선 네트워크일 수 있거나 또는 인터넷과 같은 유선 네트워크일 수 있다.The external chatbot server 400 is composed of one or more chatbot servers and is connected to the chatbot server 200 through the network 520. The network 520 may be a wireless network, such as the network 510, or may be a wired network, such as the Internet.

외부 챗봇 서버(400)는 챗봇 서버(200)와 유사한 구성을 가지며 외부로부터 입력되는 자연어 질의어에 대해 답변을 검색하고, 검색된 답변을 챗봇 서버(200)에게 제공한다.The external chatbot server 400 has a configuration similar to that of the chatbot server 200 and searches for an answer to a natural language query input from the outside and provides the retrieved answer to the chatbot server 200. [

외부 챗봇 서버(400)는 챗봇 서버(200)와 유사하거나 또는 상이한 토픽에 대한 지식 베이스를 갖는 챗봇 서버일 수 있다. 챗봇 관리 서버(300)에는 대부분의 외부 챗봇 서버(400)가 등록될 수 있지만, 외부 챗봇 서버(400)는 챗봇 서버(200)에서 질의어에 대한 검색이 실패하는 경우에 사용되기 때문에 유사한 토픽에 대한 정보를 제공하는 외부 챗봇 서버(400)의 경우에는 사용될 가능성이 적다.The external chatbot server 400 may be a chatbot server having a knowledge base on a topic similar to or different from the chatbot server 200. [ Most of the external chatbot servers 400 can be registered in the chatbot management server 300. Since the external chatbot server 400 is used when the search for the query term fails in the chatbot server 200, There is little possibility of being used in the case of the external chatbot server 400 providing information.

외부 챗봇 서버(400)도 입력되는 자연어 질의어에 대한 답변 검색이 실패하는 경우가 발생하여 해당 질의어에 대해 챗봇 관리 서버(300)를 통해 라우팅 정보를 제공받을 수 있지만, 사용자 단말(100)로부터 질의어를 수신하는 것이 아니라 챗봇 서버(200)로부터 자연어 질의어를 수신하는 경우에는 수신된 질의어에 대한 답변 검색이 실패하더라도 챗봇 관리 서버(300)를 통한 계속된 검색을 수행하지 않을 수 있다. 즉, 외부 챗봇 서버(400)는 챗봇 서버(200)로부터 수신되는 자연어 질의어에 대해 답변 검색이 실패하는 경우에는 실패 응답을 챗봇 서버(200)에게 제공한다.The external chatbot server 400 may also receive the routing information through the chattob management server 300 with respect to the query term when an answer search for the input natural language query fails, When the natural language query is received from the chatbot server 200 instead of receiving the query, the searcher may not perform the continuous search through the chatbot management server 300 even if an answer search for the received query term fails. That is, the external chatbot server 400 provides a failure response to the chatbot server 200 when an answer search fails for the natural language query received from the chatbot server 200.

이하에서는 도 1에 도시된 챗봇 시스템(10)의 각 구성요소의 동작에 대해 보다 구체적으로 설명한다.Hereinafter, the operation of each component of the chatbot system 10 shown in FIG. 1 will be described in more detail.

도 2는 도 1에 도시된 챗봇 서버(200)의 구체적인 구성 블록도이다.2 is a detailed block diagram of the chatbot server 200 shown in FIG.

도 2에 도시된 바와 같이, 챗봇 서버(200)는 질의어 수신부(210), 질의어 분석부(220), 정보 데이터베이스(DB)(230), 답변 생성부(240), 라우팅 정보 취득부(260), 답변 취득부(260), 답변 가공부(270) 및 답변 제공부(280)를 포함한다.2, the chatbot server 200 includes a query receiver 210, a query analyzer 220, an information database 230, an answer generator 240, a routing information acquirer 260, An answer acquisition unit 260, an answer processing unit 270, and an answer provider 280.

질의어 수신부(210)는 네트워크(510)를 통해 사용자 단말(100)로부터 자연어 질의어를 입력받는다.The query term receiving unit 210 receives a natural language query from the user terminal 100 via the network 510.

질의어 분석부(220)는 질의어 수신부(210)를 통해 수신되는 자연어 질의어를 분석하여 수신된 자연어 질의어의 내용을 파악한다. 이러한 분석에는 개체명 식별 기술 기반의 분석, 의도 분류 기반의 분석 등이 포함된다. 즉, 질의어 수신부(210)를 통해 수신되는 자연어 질의어가 의도 분류 기반으로 몇 개의 의도를 갖는 질의어가 수신되었는지, 그리고 수신된 질의어에 대응되는 개체명은 무엇인지를 파악한다. The query analyzing unit 220 analyzes the natural language query received through the query receiving unit 210 and grasps the contents of the received natural language query. These include analysis based on object name identification technology, analysis based on intent classification, and so on. That is, it is determined whether a natural language query received through the query language receiving unit 210 receives a query having an intention classification based on the intention classification, and an object name corresponding to the received query.

정보 데이터베이스(230)는 사용자의 질문에 대한 답변을 제공하기 위한 정보를 저장한다. 이러한 정보 데이터베이스(230)는 챗봇 서버(200)가 자연어 질의어에 대응되는 답변을 검색하여 제공하는 방식에 대응하도록 구성될 수 있다. 예를 들어, 챗봇 서버(200)가 지식 베이스 기반 챗봇 서버인 경우, AIML 기반의 패턴 매칭 방식의 검색과 온톨로지 방식의 검색이 가능하도록, 정보 데이터베이스(230)는 지식을 DB나 메모리에 지식 그래프 형태로 구성한다. 따라서, 챗봇 서버(200)는 정보 데이터베이스(230)에 구성된 지식 그래프를 검색하여 자연어 질의어에 대응되는 답변을 찾아서 제공할 수 있다. 또는 챗봇 서버(200)가 기계학습 기반의 챗봇 서버인 경우, 정보 데이터베이스(230)는 대량의 키(key)와 값(value)으로 이루어진 학습 데이터를 학습한 최적의 기계학습 함수 모델로 구성된다. 따라서, 챗봇 서버(200)는 정보 데이터베이스(230)로 자연어 질의어를 입력 값으로 하여 API 질의를 한 후 자연어 질의어에 대응되는 답변 및 답변 정확도, 즉 신뢰도(%)를 출력 값으로 제공받을 수 있다. 본 발명의 실시예에 따른 정보 데이터베이스(230)는 상기한 지식 베이스 기반으로 답변을 제공하기 위한 지식 베이스 또는 기계학습 기반으로 답변을 제공하기 위한 기계학습 모델 중 하나, 또는 둘 다를 포함할 수 있다.The information database 230 stores information for providing answers to user's questions. The information database 230 may be configured to correspond to a method in which the chatbot server 200 searches for and provides an answer corresponding to a natural language query. For example, in the case where the chatbot server 200 is a knowledge base-based chatbot server, the information database 230 may store knowledge in a DB or memory so as to be able to search for an AIML-based pattern matching method and an ontology method, . Accordingly, the chatbot server 200 can search the knowledge graph configured in the information database 230 and find and provide answers corresponding to the natural language query. Or the chatbot server 200 is a machine learning-based chatbot server, the information database 230 comprises an optimal machine learning function model that has learned learning data composed of a large number of keys and values. Accordingly, the chatbot server 200 can receive an answer and answer accuracy, that is, reliability (%) corresponding to the natural language query, as an output value after performing an API query with the natural language query as an input value in the information database 230. The information database 230 according to an embodiment of the present invention may include one or both of a knowledge base for providing answers on the basis of the knowledge base or a machine learning model for providing answers on a machine learning basis.

답변 생성부(240)는 정보 데이터베이스(230)를 통해 질의어 분석부(220)에 의한 분석 결과로 입력되는 질의어에 대응되는 답변을 검색한다. 질의어 분석부(220)에 의해 복수의 질의어가 분석되는 경우 복수의 질의어 각각에 대한 답변 검색이 수행될 수 있다.The answer generation unit 240 searches for answers corresponding to the query input through the information database 230 as the analysis result by the query language analysis unit 220. When a plurality of query terms are analyzed by the query term analyzing unit 220, an answer search for each of a plurality of query terms can be performed.

답변 생성부(240)는 질의어에 매칭되는 답변이 검색되는 경우 검색된 답변을 정보 데이터베이스(230)에서 찾아서 질의어에 대한 답변으로 추출한다.The answer generator 240 searches the information database 230 for an answer that is matched to the query and extracts the answer as an answer to the query.

그러나, 답변 생성부(240)는 질의어에 매칭되는 답변이 검색되지 않는 경우에는 답변이 검색되지 않은 자연어 질의어에 대한 개체명과 의도를 라우팅 정보 취득부(260)로 전달한다. 여기서, 답변 생성부(240)가 복수의 질의어에 대한 답변 검색을 수행한 경우, 복수의 질의어 중에서 답변 검색이 실패한 질의어에 대해서만 라우팅 정보 취득부(250)로 전달한다.However, if an answer matching the query term is not found, the answer generator 240 transmits the entity name and intention to the routing information acquisition unit 260 for the natural language query whose answer is not found. Here, when the answer generating unit 240 performs an answer search for a plurality of query terms, the answer generating unit 240 transmits the answer query to the routing information acquiring unit 250 only for a query term for which an answer search has failed among a plurality of query terms.

그 후, 답변 생성부(240)는 라우팅 정보 취득부(250)에 의해 취득되는 라우팅 정보를 자연어 질의어와 함께 답변 취득부(260)로 전달하고, 답변 취득부(260)를 통해 취득되는 자연어 질의어에 대한 답변을 전달받아서 답변 가공부(270)로 전달한다. 이 때, 답변 생성부(240)는 복수의 질의어 중에서 정보 데이터베이스(230)에서 검색된 답변이 있는 경우 해당 답변도 함께 답변 가공부(270)로 전달한다.Thereafter, the reply generator 240 transmits the routing information acquired by the routing information acquisition unit 250 to the response acquiring unit 260 together with the natural language query, and acquires the natural language query acquired through the response acquiring unit 260 And transmits the answer to the answer processing unit 270. [ At this time, if there is a search result from the information database 230 among a plurality of query terms, the answer generation unit 240 transmits the corresponding answer to the answer processing unit 270.

라우팅 정보 취득부(250)는 답변 생성부(240)로부터 전달되는 자연어 질의어에 대한 개체명과 의도를 챗봇 관리 서버(300)로 전달하고, 챗봇 관리 서버(300)로부터 제공되는 라우팅 정보를 수신하여 답변 생성부(230)로 전달한다. 이 때, 챗봇 관리 서버(300)로부터 복수의 라우팅 정보가 수신될 수 있고, 이렇게 수신되는 복수의 라우팅 정보를 모두 답변 생성부(230)로 전달한다.The routing information acquisition unit 250 transmits the entity name and intention of the natural language query transmitted from the response generation unit 240 to the chatbot management server 300, receives the routing information provided from the chatbot management server 300, To the generation unit (230). At this time, a plurality of pieces of routing information can be received from the chatbot management server 300, and all of the plurality of pieces of routing information thus received are transmitted to the response generation unit 230.

답변 취득부(260)는 답변 생성부(240)로부터 전달되는 라우팅 정보와 자연어 질의어를 수신하고, 네트워크(520)를 통해, 수신된 라우팅 정보에 해당되는 외부 챗봇 서버(400)에게 자연어 질의어를 전달한 후, 외부 챗봇 서버(400)로부터 자연어 질의어에 대한 답변을 제공받아서 답변 생성부(230)로 전달한다. 이 때, 답변 취득부(260)는 답변 생성부(240)로부터 하나의 질의어에 대응되어 복수의 라우팅 정보를 수신하는 경우, 수신된 복수의 라우팅 정보에 대응되는 복수의 외부 챗봇 서버(400)에게 해당 질의어를 전달한 후 질의어에 대한 답변을 각각 수신하여 답변 생성부(240)에게 전달한다. 또한, 답변 취득부(260)는 답변 생성부(240)로부터 복수의 질의어와 이 질의어 각각에 대응되는 복수의 라우팅 정보가 전달되는 경우, 라우팅 정보별로 대응되는 외부 챗봇 서버(400)로 접속하여 해당하는 각 질의어를 전달한 후 질의어에 대한 답변을 각각 받아서, 복수의 질의어에 각각 대응되는 복수의 답변을 답변 생성부(240)로 전달한다.The response acquiring unit 260 receives the routing information and the natural language query transmitted from the response generating unit 240 and transmits the natural language query to the external chat server 400 corresponding to the received routing information through the network 520 A response to the natural language query is received from the external chat server 400, and the response is transmitted to the response generating unit 230. In this case, when receiving a plurality of pieces of routing information corresponding to one query word from the response generation unit 240, the response acquisition unit 260 acquires a plurality of routing information from the plurality of external chatbot servers 400 corresponding to the plurality of received routing information Transmits the query term, and receives a response to the query term, respectively, and transmits the response to the response generation unit 240. When a plurality of query terms and a plurality of routing information corresponding to each of the query terms are transmitted from the response generation unit 240, the response acquisition unit 260 accesses the corresponding external chat server 400 for each routing information, And transmits a plurality of answers respectively corresponding to the plurality of query terms to the response generation unit 240. The response generation unit 240 receives the plurality of answers corresponding to the plurality of query terms.

답변 가공부(270)는 답변 생성부(240)로부터 전달되는 적어도 하나의 답변을 받아서 자연어 질의어에 대응되는 답변으로 가공하여 답변 제공부(280)에게 전달한다. 이 때, 답변 생성부(240)에서 검색된 자연어 질의어가 하나인 경우에는 답변 가공부(270)는 답변 생성부(240)에서 전달되는 답변을 그대로 답변 제공부(280)로 제공할 수 있다. 그러나, 답변 생성부(240)에서 검색된 자연어 질의어가 둘 이상인 경우에는 답변도 둘 이상이므로 답변 생성부(240)에서 전달되는 둘 이상의 답변을 둘 이상의 의도를 갖고 있는 자연어 질의어에 대응되도록 가공하여 복합적인 답변으로 재구성한 후 답변 제공부(280)로 전달한다.The answer processing unit 270 receives at least one answer transmitted from the answer generating unit 240, processes it into a reply corresponding to the natural language query, and transmits the answer to the answer providing unit 280. [ In this case, when there is one natural language query term retrieved from the answer generator 240, the answer processor 270 may provide the answer delivered from the answer generator 240 to the answer provider 280 as it is. However, if there are two or more natural language query terms retrieved by the answer generator 240, the two or more answers transmitted from the answer generator 240 are processed to correspond to natural language queries having two or more intentions, And transmits it to the reply providing unit 280. [

답변 제공부(280)는 답변 가공부(270)로부터 전달되는 답변을 받아서 네트워크(510)를 통해 사용자 단말(100)에게 제공한다.The answer providing unit 280 receives the answer transmitted from the answer processing unit 270 and provides the response to the user terminal 100 through the network 510. [

한편, 당업자라면, 질의어 수신부(210), 질의어 분석부(220), 정보 데이터베이스(230), 답변 생성부(240), 라우팅 정보 취득부(260), 답변 취득부(260), 답변 가공부(270) 및 답변 제공부(280) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다. Those skilled in the art will appreciate that the query input unit 210, the query language analysis unit 220, the information database 230, the response generation unit 240, the routing information acquisition unit 260, the response acquisition unit 260, 270, and the answer provider 280 may be separately implemented, or one or more of them may be integrally implemented.

다음, 도 1에 도시된 챗봇 관리 서버(300)에 대해 설명한다.Next, the chatbot management server 300 shown in FIG. 1 will be described.

도 3은 도 1에 도시된 챗봇 관리 서버(300)의 구체적인 구성 블록도이다.3 is a detailed block diagram of the chatbot management server 300 shown in FIG.

도 3에 도시된 바와 같이, 챗봇 관리 서버(300)는 라우팅 테이블(310), 수신부(320), 챗봇 검색부(330) 및 송신부(340)를 포함한다.3, the chatbot management server 300 includes a routing table 310, a receiving unit 320, a chatbot searching unit 330, and a transmitting unit 340.

라우팅 테이블(310)은 챗봇 관리 서버(300)에 등록한 챗봇 서버들의 정보, 특히 라우팅 정보를 저장하여 관리하는 테이블이다. 이러한 라우팅 테이블(310)에는 도 4에 도시된 바와 같이, 개체명 및 의도를 기준으로 챗봇 식별자(ID), 챗봇명, 제조사 식별자(ID), 챗봇별 접근 주소, 즉 URL, 접근 범위, 상태, 답변율 등의 필드로서 저장되어 관리될 수 있다. 여기서, 접근 범위는 공개나 인증 유무 등을 나타내는 것이고, 상태는 해당 챗봇 서버의 활성화나 비활성화 등을 나타낸다. 또한, 답변율은 인공지능 지식 베이스 기준의 지식 베이스를 갖는 챗봇 서버들이 외부로부터의 질문에 대한 답변을 제공할 때 답변에 대한 신뢰도를 나타낸다. 이러한 답변율은 인공지능 지식 베이스의 학습 정도에 따라 다를 수 있다. 예를 들어, 인공지능 지식 베이스의 학습 완성도가 높은 경우 답변율도 또한 높을 수 있다. 도 4에 도시된 라우팅 테이블(310)의 구성은 본 발명의 일 실시예에 불과하므로, 다양한 실시예들이 다르게 구성될 수 있다는 것은 당업자라면 쉽게 이해할 것이다.The routing table 310 is a table for storing and managing the information of the chatbots registered in the chatbot management server 300, in particular, the routing information. As shown in FIG. 4, the routing table 310 includes a chatbot identifier ID, a chat bot name, a manufacturer identifier (ID), a chat-bot access address (URL), an access range, The response rate, and the like. Here, the access range indicates disclosure or authentication, and the status indicates activation or deactivation of the chatbot server. Also, the response rate indicates the reliability of response when chatbot servers with knowledge base based on artificial intelligence knowledge base provide answers to questions from outside. This response rate may vary depending on the degree of learning in the AI knowledge base. For example, the response rate can also be high if the learning completeness of the artificial intelligence knowledge base is high. It will be appreciated by those skilled in the art that the configuration of the routing table 310 shown in FIG. 4 is only an embodiment of the present invention, so that various embodiments can be configured differently.

수신부(320)는 챗봇 서버(200)로부터 전달되는 자연어 질의어에 대한 개체명과 의도를 수신하여 챗봇 검색부(330)로 전달한다. 챗봇 검색부(330)는 수신부(320)로부터 수신되는 개체명과 의도를 사용하여 라우팅 테이블(310)에서 질의어에 대응되는 외부 챗봇 서버(400)를 검색하고, 검색된 외부 챗봇 서버(400)에 접근할 수 있는 라우팅 정보, 즉 접근 주소인 URL을 추출하여 송신부(340)로 전달한다. 이 때, 챗봇 검색부(330)는 수신부(320)로부터 수신되는 개체명과 의도를 사용하여 라우팅 테이블(310)에서의 검색을 수행할 수 있다. 또한, 챗봇 검색부(340)는 라우팅 테이블(310)에서 검색된 외부 챗봇 서버(400)에 대한 접근 범위나 상태 등을 판단하여 라우팅 정보 제공이 가능한 경우에만 라우팅 정보를 추출할 수 있다. 예를 들어, 외부 챗봇 서버(400)가 공개로 되어 있거나 또는 활성화되어 있는 경우에 라우팅 정보를 추출할 수 있다. 또한, 챗봇 검색부(320)는 라우팅 테이블(310)로부터 라우팅 정보뿐만 아니라 검색된 외부 챗봇 서버(400)에 대한 다른 정보들, 예를 들어, 챗봇 ID, 챗봇명 등도 함께 추출하여 송신부(330)로 전달할 수 있다.The receiving unit 320 receives the entity name and the intention of the natural language query transmitted from the chat server 200 and transmits the received entity name and intention to the chat search unit 330. The chatbot searching unit 330 searches the external chatbot server 400 corresponding to the query term in the routing table 310 using the entity name and the intention received from the receiving unit 320 and accesses the retrieved external chatbot server 400 Which is an access address, to the transmitting unit 340. The transmitting unit 340 receives the routing information, At this time, the chatbot searching unit 330 can perform searching in the routing table 310 using the object name and the intention received from the receiving unit 320. The chatbot searching unit 340 may determine an access range or state of the external chatbot server 400 retrieved from the routing table 310 and extract routing information only when routing information can be provided. For example, when the external chatbot server 400 is open or activated, the routing information can be extracted. The chatbot searching unit 320 also extracts not only the routing information from the routing table 310 but also other information about the searched external chatbot server 400 such as a chatbot ID and a chatbot name, .

송신부(330)는 챗봇 검색부(330)로부터 전달되는 라우팅 정보를 챗봇 서버(200)로 제공한다.The transmitting unit 330 provides the chatting server 200 with the routing information transmitted from the chatting search unit 330.

이하, 도면을 참조하여 본 발명의 실시예에 따른 챗봇 서비스 제공 방법에 대해 설명한다.Hereinafter, a method for providing a chat service in accordance with an embodiment of the present invention will be described with reference to the drawings.

도 5는 본 발명의 실시예에 따른 챗봇 서비스 제공 방법의 개략적인 흐름도이다. 도 1 내지 도 4를 참조하여 사용자 단말(100), 챗봇 서버(200), 챗봇 관리 서버(300) 및 외부 챗봇 서버(400)에 관하여 설명된 내용은 도 5에 도시된 실시예에 따른 챗봇 서비스 제공 방법에도 적용될 수 있다. 5 is a schematic flowchart of a method of providing a chat service in accordance with an embodiment of the present invention. The contents of the user terminal 100, the chat server 200, the chat server management server 300 and the external chat server 400 are described with reference to FIGS. 1 to 4, The present invention can also be applied to a method of providing information.

도 5를 참조하면, 챗봇 서버(200)는 네트워크(510)를 통해 사용자 단말(100)로부터 자연어 질의어를 수신한다(S100).Referring to FIG. 5, the chatbot server 200 receives a natural language query from the user terminal 100 through the network 510 (S100).

그러면, 챗봇 서버(200)는 수신된 자연어 질의어를 사용하여 정보 데이터베이스(230)를 통해 해당되는 답변을 검색한다(S110).Then, the chatbot server 200 searches for the corresponding answer through the information database 230 using the received natural language query (S110).

그 후, 질의어에 해당되는 답변이 검색되었는지를 판단하고(S120), 만약 질의어에 해당되는 답변이 검색되지 않으면 자연어 질의어에 대한 개체명 및 의도를 챗봇 관리 서버(300)로 전달한다(S130).Then, it is determined whether an answer corresponding to the query term is searched (S120). If an answer corresponding to the query term is not found, the name and intention of the natural query term are transmitted to the chatbot management server 300 (S130).

챗봇 관리 서버(300)는 챗봇 서버(200)로부터 전달되는 자연어 질의어에 대한 개체명 및 의도에 대응되는 외부 챗봇 서버(400)를 라우팅 테이블(310)을 통해 검색한다(S140). The chatbot management server 300 searches the routing table 310 for the external chat server 400 corresponding to the object name and the intention of the natural language query transmitted from the chat server 200 in operation S140.

그 후, 챗봇 관리 서버(300)는 검색된 외부 챗봇 서버(400)에 대한 라우팅 정보를 챗봇 서버(200)에게 제공한다(S150).Thereafter, the chatbot management server 300 provides routing information about the searched external chatbot server 400 to the chatbot server 200 (S150).

계속해서, 챗봇 서버(200)는 챗봇 관리 서버(300)로부터 제공되는 라우팅 정보를 사용하여 라우팅 정보에 해당하는 외부 챗봇 서버(400)에 접근하여 자연어 질의어를 전달한다(S160).Next, the chatbot server 200 accesses the external chat server 400 corresponding to the routing information using the routing information provided from the chatbot management server 300 (S160).

외부 챗봇 서버(400)는 챗봇 서버(200)로부터 전달되는 자연어 질의어에 해당되는 답변을 검색한 후(S170), 검색된 답변을 자연어 질의어에 대응되는 답변으로서 챗봇 서버(200)에게 제공한다(S180).The external chatbot server 400 searches for an answer corresponding to the natural language query transmitted from the chatbot server 200 in step S170 and provides the retrieved answer to the chatbot server 200 as a reply corresponding to the natural language query in step S180, .

따라서, 챗봇 서버(200)는 외부 챗봇 서버(400)로부터 제공되는 답변을 상기 단계(S100)에서 수신된 자연어 질의어에 대한 답변으로서 사용자 단말(100)에게 제공한다(S190).Accordingly, the chatbot server 200 provides the answer provided from the external chat server 400 to the user terminal 100 as a response to the natural language query received in the step S100 (S190).

한편, 상기 단계(S120)에서 자연어 질의어에 해당되는 답변이 검색된 경우에는 검색된 답변을 사용자 단말(100)에게 제공한다(S190).Meanwhile, if an answer corresponding to the natural language query is found in step S120, the retrieved answer is provided to the user terminal 100 (S190).

또한, 상기 단계(S140)에서 자연어 질의어에 대응되는 외부 챗봇 서버(400)가 검색되지 않거나 또는 상기 단계(S170)에서 자연어 질의어에 해당되는 답변이 검색되지 않을 수 있지만, 본 발명의 실시예에서는 설명의 편의를 위해, 상기 단계(S140)에서 자연어 질의어에 대응되는 외부 챗봇 서버(400)가 검색되고, 상기 단계(S170)에서 자연어 질의어에 해당되는 답변이 검색되는 것으로 가정하여 설명하였다. 선택적으로, 상기 단계(S140)에서 자연어 질의어에 대응되는 외부 챗봇 서버(400)가 검색되지 않거나 또는 상기 단계(S170)에서 자연어 질의어에 해당되는 답변이 검색되지 않은 경우에는 챗봇 서버(200)가 사용자 단말(100)로부터 수신된 자연어 질의어에 대해 답변을 제공할 수 없는 것으로 응답할 수 있다.Also, the external chat server 400 corresponding to the natural language query may not be searched in step S140, or an answer corresponding to the natural language query may not be searched in step S170. However, in the embodiment of the present invention, It is assumed that the external chat server 400 corresponding to the natural language query is searched in step S140 and an answer corresponding to the natural language query is searched in step S170. Alternatively, if the external chat server 400 corresponding to the natural language query is not found in step S140, or if an answer corresponding to the natural language query is not found in step S170, It can respond that the natural language query received from the terminal 100 can not provide an answer.

다음, 상기한 챗봇 서비스 방법에 대해 구체적으로 설명한다.Next, the chatbot service method will be described in detail.

도 6은 본 발명의 실시예에 따라 챗봇 서버(200)가 수행하는 챗봇 서비스 방법의 흐름도이다. FIG. 6 is a flowchart of a chat service method performed by the chat server 200 according to an embodiment of the present invention.

도 6을 참조하면, 챗봇 서버(200)는 네트워크(510)를 통해 사용자 단말(100)로부터 자연어 질의어를 수신한다(S200).Referring to FIG. 6, the chatbot server 200 receives a natural language query from the user terminal 100 through the network 510 (S200).

그 후, 정보 데이터베이스(230)를 사용하여 수신되는 질의어에 해당되는 답변을 검색한다(S210). 이 때의 답변은 상기한 바와 같이, 지식 베이스 기반의 답변 또는 기계학습 기반의 답변일 수 있다.Thereafter, an answer corresponding to the received query word is retrieved using the information database 230 (S210). The answer may be a knowledge base based answer or a machine learning based answer, as described above.

만약 질의어에 해당되는 답변이 검색되지 않은 경우(S220), 자연어 질의어에 대한 개체명과 의도를 챗봇 관리 서버(300)에게 전달한다(S230).If an answer corresponding to the query term is not found (S220), the name and intention of the natural language query word are transmitted to the chatbot management server 300 (S230).

그 후, 챗봇 관리 서버(300)로부터 제공되는 라우팅 정보 및 답변율을 수신하고(S240), 수신된 답변율이 미리 설정된 임계값 이상인지를 판단한다(S250).Thereafter, the routing information and the response rate provided from the chatbot management server 300 are received (S240), and it is determined whether the received response rate is equal to or greater than a preset threshold value (S250).

만약 답변율이 미리 설정된 임계값 이상이면, 수신된 라우팅 정보에 해당하는 외부 챗봇 서버(400)에 접속하고(S260), 상기 단계(S200)에서 수신된 자연어 질의어를 상기 단계(S260)에서 접속된 외부 챗봇 서버(400)에게 전달한다(S270).If the response rate is equal to or greater than a preset threshold value, the connection is made to the external chat server 400 corresponding to the received routing information in step S260, and the natural language query received in step S200 is transmitted To the external chat server 400 (S270).

그 후, 외부 챗봇 서버(400)로부터 답변이 수신되면(S280), 수신된 답변을 사용자 단말(100)에게 제공한다(S290).Thereafter, when an answer is received from the external chatbot server 400 (S280), the received response is provided to the user terminal 100 (S290).

그러나, 상기 단계(S220)에서 자연어 질의어에 해당되는 답변이 검색되면 검색된 답변을 사용자 단말(100)로 제공한다(S290).However, if an answer corresponding to the natural language query is retrieved in step S220, the retrieved answer is provided to the user terminal 100 (S290).

한편, 상기 단계(S250)에서 답변율이 미리 설정된 임계값보다 작은 경우에는 챗봇 관리 서버(300)에 의해 검색된 외부 챗봇 서버(400)를 통합 답변을 신뢰할 수 없으므로 상기 단계(S100)에서 수신된 자연어 질의어에 대한 검출 실패 응답을 사용자 단말(S100)에게 제공한다(S300).If it is determined in step S250 that the response rate is smaller than the preset threshold, the integrated chat server 400 retrieved by the chattop management server 300 can not trust the integrated response. Accordingly, in step S100, And provides a detection failure response to the query term to the user terminal S100 (S300).

이와 같이, 본 발명의 실시예에 따르면, 사용자 단말(100)로부터 직접 자연어 질의어를 수신하는 챗봇 서버(200)가 자연어 질의어에 대응되는 답변을 검색하지 못하는 경우에도 멀티 챗봇 서버를 구성하는 외부 챗봇 서버(400)와 자연어 대화 처리 방식을 통해 외부 챗봇 서버(400)로부터 자연어 질의어에 대한 답변을 제공받아서 사용자 단말(100)에게 제공할 수 있다. 이 때, 챗봇 서버(200)가 외부 챗봇 서버(400)를 찾기 위해 멀티 챗봇 서버를 관리하는 챗봇 관리 서버(300)를 통해 자연어 질의어에 대한 답변을 제공할 수 있는 외부 챗봇 서버(400)를 쉽게 찾아서 사용자 단말(100)로부터의 자연어 질의어에 대해 답변할 수 있으므로 챗봇 서비스에 대한 신뢰도가 향상될 수 있다.As described above, according to the embodiment of the present invention, even when the chat server 200 receiving the natural language query directly from the user terminal 100 can not retrieve the answer corresponding to the natural language query, the external chat server The user terminal 100 may receive a response to the natural language query from the external chat server 400 through the natural language processing method and the natural language processing method. At this time, an external chat server 400 capable of providing a response to a natural language query through the chatbot management server 300 managing the multi-chat server in order to find the external chat server 400 can be easily It is possible to find and answer the natural language query from the user terminal 100, so that the reliability of the chat service can be improved.

따라서, 본 발명의 실시예에서는 단일 챗봇 서버의 지식으로 커버할 수 없는 지식 도메인에 대해 사용자가 질의했을 때, 개체명과 의도를 토대로 획득한 멀티 챗봇 서버의 정보를 통해 연동할 대상 챗봇 서버의 라우팅 정보를 획득하여 인공지능으로 스스로 외부 챗봇 서버에게 질의하여 답변할 수 있으므로 집단 지성을 구축할 수 있다.Therefore, in the embodiment of the present invention, when a user queries a knowledge domain that can not be covered by knowledge of a single chatbot server, routing information of a target chatbot server to be linked through information of the acquired multi- And can inquire the external chatbot server by the artificial intelligence itself, so that collective intelligence can be constructed.

한편, 본 발명의 실시예에 따른 챗봇 시스템(10)에서 사용자 단말(100)은 챗봇 서버(200)에게 자연어 질의어를 전달하고 챗봇 서버(200)로부터 이에 대한 답변을 제공받는 것으로만 설명하였다. 그러나, 본 발명의 기술적 범위는 여기에 한정되지 않고, 챗봇 서버(200)에서 자연어 질의어에 대한 답변 검색이 실패하는 경우 외부 챗봇 서버(400)로 접속하여 자연어 질의어에 대한 답변을 찾아서 사용자 단말(100)에게 제공하는 과정 정보를 사용자 단말(100)에서 알 수 있도록 제공할 수 있다.In the chatbot system 10 according to the embodiment of the present invention, the user terminal 100 transmits only the natural language query to the chatbot server 200 and receives a response from the chatbot server 200. However, the technical scope of the present invention is not limited thereto, and when the chatter server 200 fails to search for an answer to the natural language query, the user accesses the external chat server 400 and finds an answer to the natural language query, The user terminal 100 can provide the process information to the user terminal 100 so that the user can know the process information.

예를 들어, 도 7의 (a)를 참조하면, 사용자 단말(100)의 디스플레이(110)가 도시되어 있다. 사용자가 사용자 단말(100)을 통해 챗봇 서버(200)에 접속한 후 채팅 창(111)을 통해 자연어 질의어를 입력하면 상기한 도 5에서 설명된 챗봇 서비스 방법에 따른 과정을 통해 챗봇 서버(200)가 입력된 자연어 질의어에 대한 응답을 검색하여 채팅 창(111)을 통해 사용자 단말(100)에게 제공함으로써 사용자가 자연어 질의어에 대한 답변을 확인할 수 있다. 이 때, 사용자 단말(100)의 채팅 창(111)에는 사용자가 입력한 자연어 질의어와 이 자연어 질의어에 대한 답변만이 표시되어 사용자는 챗봇 서버(200)가 외부 챗봇 서버(400)를 통해 자연어 질의어에 대한 재질의에 의해 답변을 구하는 과정을 알 수가 없다.For example, referring to Figure 7 (a), the display 110 of the user terminal 100 is shown. When the user accesses the chat server 200 through the user terminal 100 and inputs a natural language query through the chat window 111, the chat server 200 receives the natural language query through the chat service method described in FIG. The user can check the answer to the natural language query by searching the response to the input natural language query and providing the response to the user terminal 100 through the chat window 111. [ At this time, only the natural language query input by the user and the answers to the natural language query are displayed in the chat window 111 of the user terminal 100, and the user can access the natural chat query server 400 through the external chat server 400, I do not know how to get the answer by the material of.

한편, 도 7의 (b)를 참조하면, 사용자가 사용자 단말(100)을 통해 챗봇 서버(200)에 접속한 후 채팅 창(111)을 통해 자연어 질의어를 입력하고, 챗봇 서버(200)가 자연어 질의어에 대한 답변 검출에 실패한 경우 챗봇 관리 서버(300)로부터 라우팅 정보를 제공받아서 외부 챗봇 서버(400)에 접속하여 자연어 질의어에 대한 재질의를 통해 답변을 제공받는 과정이 채팅 창(111) 내에 별도의 쪽창(112)을 생성하여 표시될 수 있다. 즉, 챗봇 서버(200)는 외부 챗봇 서버(400)와의 질의를 위한 채팅 창을 채팅 창(111) 내에 쪽창(112)으로 생성한 후, 이 쪽창을 통해 자연어 질의를 외부 챗봇 서버(400)에게 전달하고, 외부 챗봇 서버(400)로부터 제공되는 답변을 또한 쪽창(112)을 통해 표시함으로써 챗봇 서버(200)가 외부 챗봇 서버(400)를 통해 자연어 질의어에 대한 답변을 구하여 사용자 단말(100)로 제공하는 과정에 대해 사용자가 알 수 있도록 할 수 있다. 7B, when a user accesses the chat server 200 through the user terminal 100 and inputs a natural language query through the chat window 111, and when the chat server 200 receives a natural language query, In the case where the answer to the query is unsuccessful, the process of receiving the routing information from the chatbot management server 300 and accessing the external chatbot server 400 and receiving answers through the material of the natural language query is performed in the chat window 111 And may be displayed by creating a window 112 of the window. That is, the chatbot server 200 generates a chat window for a query with the external chatbot server 400 in the chat window 111 as a chat window 112, and then sends a natural language query to the external chatbot server 400 through the chat window And the response provided from the external chat server 400 is also displayed through the window 112 so that the chat server 200 obtains an answer to the natural language query through the external chat server 400 and transmits the answer to the user terminal 100 So that the user can be informed of the process of providing it.

선택적으로, 상기한 쪽창(112)이 채팅 창(111) 내에 생성되지 않고 채팅 창(111)과 별개의 채팅 창(도시하지 않음)으로서 디스플레이(110) 내에 생성되어 사용자에게 챗봇 서비스 과정을 표시할 수도 있다.Alternatively, the window 112 may be generated in the display 110 as a chat window (not shown) separate from the chat window 111 without being generated in the chat window 111 to display the chat service process to the user It is possible.

도 8은 본 발명의 다른 실시예에 따른 챗봇 서버(600)의 개략적인 구성 블록도이다.FIG. 8 is a schematic block diagram of a chatbot server 600 according to another embodiment of the present invention.

도 8을 참조하면, 본 발명의 다른 실시예에 따른 챗봇 서버(600)는 통신기(610), 입력기(620), 메모리(630), 프로세서(640) 및 버스(650)를 포함한다.8, a chatbot server 600 according to another embodiment of the present invention includes a communicator 610, an input device 620, a memory 630, a processor 640, and a bus 650.

통신기(610)는 외부 구성요소와의 신호 전송을 수행한다. 구체적으로, 통신기(610)는 네트워크(510)를 통해 사용자 단말(100)과 통신을 수행하고, 직접 챗봇 관리 서버(300)와 통신을 수행하며, 또한 네트워크(520)를 통해 외부 챗봇 서버(400)와 통신을 수행한다. The communicator 610 performs signal transmission with external components. The communicator 610 communicates with the user terminal 100 through the network 510 and directly communicates with the chatbot management server 300 and further communicates with the external chatbot server 400 ).

입력기(620)는 외부로부터의 입력을 수신한다. 이러한 입력은 데이터 입력 또는 명령 입력일 수 있다.The input device 620 receives an input from the outside. These inputs may be data inputs or command inputs.

메모리(630)는 사용자의 질문에 대한 답변을 제공하기 위한 정보를 지식 베이스 기반 또는 기계학습 기반으로 저장한다.The memory 630 stores information for providing answers to user questions on a knowledge base or machine learning basis.

따라서, 입력기(620)는 메모리(630) 내에 정보를 지식 기반으로, 또는 기계학습 기반으로 추가하거나 또는 변경하기 위한 입력을 받을 수 있다.Thus, the input device 620 can receive inputs to add or change information in the memory 630, either knowledge-based or machine-based.

또한, 메모리(630)는 코드의 집합을 저장하도록 구성되고, 그 코드는 다음과 같은 동작을 실행하기 위해 프로세서(640)를 제어하는 데 사용된다. 이러한 동작은, 통신기(610)를 통해 사용자 단말(100)로부터 질의어를 수신하는 동작, 수신된 질의어에 해당되는 답변을 검색하는 동작, 질의어에 해당되는 답변이 검색되었는지를 판단하는 동작, 질의어에 대한 개체명과 의도를 통신기(610)를 통해 챗봇 관리 서버(300)에게 전달하는 동작, 통신기(610)를 통해 챗봇 관리 서버(300)로부터 제공되는 라우팅 정보를 수신하는 동작, 수신된 라우팅 정보에 따라 통신기(610)를 통해 외부 챗봇 서버(400)에 접속하는 동작, 통신기(610)를 통해 외부 챗봇 서버(400)에게 질의어를 전달하는 동작, 통신기(610)를 통해 외부 챗봇 서버(400)로부터 답변을 제공받는 동작, 통신기(610)를 통해 질의어에 대한 답변을 사용자 단말(100)에게 제공하는 동작을 포함한다.The memory 630 is also configured to store a set of codes, which code is used to control the processor 640 to perform the following operations. This operation includes an operation of receiving a query word from the user terminal 100 via the communicator 610, an operation of searching for an answer corresponding to the received query term, an operation of determining whether an answer corresponding to the query term is retrieved, An operation of transmitting the object name and the intention to the chatbot management server 300 through the communicator 610, the operation of receiving the routing information provided from the chatbot management server 300 through the communicator 610, An operation of connecting to the external chat server 400 via the communication unit 610 and an operation of transmitting a query word to the external chat server 400 through the communicator 610 and a response from the external chat server 400 through the communicator 610 And providing an answer to the query term via the communicator 610 to the user terminal 100.

선택적으로, 상기한 동작은 통신기(610)를 통해 챗봇 관리 서버(300)로부터 답변율을 수신하는 동작, 수신된 답변율과 미리 설정된 임계값을 비교하는 동작, 수신된 답변율이 미리 설정된 임계값보다 작은 경우 답변 검출 실패 응답을 통신기(610)를 통해 사용자 단말(100)에게 제공하는 동작을 더 포함한다. Alternatively, the above operations may include receiving an answer rate from the chattvine management server 300 via the communicator 610, comparing the received response rate with a preset threshold value, comparing the received response rate with a preset threshold value And providing an answer detection failure response to the user terminal 100 via the communicator 610 if the answer is less than the predetermined threshold.

또한, 상기한 수신된 라우팅 정보에 따라 통신기(610)를 통해 외부 챗봇 서버(400)에 접속하는 동작은 상기한 수신된 답변율이 미리 설정된 임계값이상인 경우에 수행될 수 있다.The operation of accessing the external chat server 400 through the communicator 610 according to the received routing information may be performed when the received response rate is equal to or greater than a preset threshold value.

선택적으로, 상기한 동작은 입력기(620)를 통해 입력되는 정보에 따라 메모리(630) 내에 지식 베이스 기반 또는 기계학습 기반으로 정보를 추가하거나 또는 수정하는 동작을 추가로 포함한다.Optionally, the above-described operations further include adding or modifying information in a memory 630 based on knowledge base or machine learning based on information input via input unit 620. [

이러한 메모리(630)는 ROM(Read Only Memory)과RAM(Random Access Memory), NVRAM(Non-Volatile Random Access Memory)을 포함할 수 있다. 또한, 프로세서(640)는 컨트롤러(controller), 마이크로 컨트롤러(microcontroller), 마이크로 프로세서(microprocessor), 마이크로 컴퓨터(microcomputer) 등으로도 호칭될 수 있다. 또한, 프로세서(540)는 하드웨어(hardware) 또는 펌웨어(firmware), 소프트웨어, 또는 이들의 결합에 의해 구현될 수 있다.The memory 630 may include a read only memory (ROM), a random access memory (RAM), and a non-volatile random access memory (NVRAM). The processor 640 may also be referred to as a controller, a microcontroller, a microprocessor, a microcomputer, or the like. In addition, the processor 540 may be implemented by hardware or firmware, software, or a combination thereof.

버스(650)는 챗봇 서버(600)의 모든 구성요소들, 즉 통신기(610), 입력기(620), 메모리(630) 및 프로세서(640)를 결합하도록 구성된다.The bus 650 is configured to combine all the components of the chatbot server 600, i.e., the communicator 610, the input device 620, the memory 630, and the processor 640.

이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.The embodiments of the present invention described above are not implemented only by the apparatus and method, but may be implemented through a program for realizing the function corresponding to the configuration of the embodiment of the present invention or a recording medium on which the program is recorded.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, It belongs to the scope of right.

Claims (15)

챗봇 시스템으로서,
복수의 외부 챗봇 서버에 대한 접근 경로인 복수의 라우팅 정보를 저장 관리하며, 외부로부터 수신되는 자연어 질의어에 대한 개체명 및 의도에 해당되는 외부 챗봇 서버를 검색한 후 검색된 외부 챗봇 서버에 대한 라우팅 정보를 제공하는 챗봇 관리 서버 및
사용자의 질문에 답변하기 위해 지식베이스 기반 또는 기계학습 기반으로 정보를 저장하고, 사용자 단말로부터 수신되는 자연어 질의어에 해당되는 답변을 검색하여 검색된 답변을 상기 자연어 질의어에 대한 답변으로서 상기 사용자 단말에게 제공하되, 상기 자연어 질의어에 대응되는 답변이 검색되지 않는 경우 상기 챗봇 관리 서버를 통해 상기 자연어 질의어에 대한 개체명과 의도에 대응되는 라우팅 정보를 제공받아서 제공된 라우팅 정보에 대응되는 외부 챗봇 서버로 상기 자연어 질의어를 전달한 후 상기 외부 챗봇 서버로부터 제공되는 답변을 받아서 상기 사용자 단말에게 제공하는 챗봇 서버
를 포함하는 챗봇 시스템.
As a chatbot system,
Storing and managing a plurality of routing information which is an access path to a plurality of external chatbot servers, searching an external chatbot server corresponding to an object name and intent for a natural language query received from the outside, and routing information for the external chatbot server Provided chatbot management server and
Storing information in a knowledge base or a machine learning basis to answer a user's query, searching answers corresponding to a natural language query received from a user terminal, and providing the retrieved answers to the user terminal as a response to the natural language query And if the answer corresponding to the natural language query is not found, receiving the routing information corresponding to the object name and the intention of the natural language query through the chattube management server and transmitting the natural language query to the external chat server corresponding to the provided routing information A chatbot server for receiving a response from the external chatbot server and providing the response to the user terminal,
.
제1항에 있어서,
상기 챗봇 서버는,
지식베이스 기반 또는 기계학습 기반으로 정보를 저장하는 정보 데이터베이스;
상기 정보 데이터베이스를 사용하여 상기 자연어 질의어에 해당되는 답변을 검색하는 답변 생성부;
상기 자연어 질의어를 분석하여 상기 자연어 질의어에 대해 식별되는 개체명과 상기 자연어 질의어에 대해 분류되는 의도를 파악하는 분석부;
상기 챗봇 관리 서버에게 상기 분석부에 의해 파악되는 상기 자연어 질의어에 대한 개체명과 의도를 전달하고, 상기 챗봇 관리 서버로부터 상기 자연어 질의어에 대응되는 라우팅 정보를 수신하는 라우팅 정보 취득부;
상기 라우팅 정보에 대응되는 외부 챗봇 서버에 접속한 후 상기 외부 챗봇 서버를 통해 상기 자연어 질의어에 대응되는 답변을 취득하는 답변 취득부; 및
상기 답변 생성부에 의해 검색된 답변 또는 상기 답변 취득부에 의해 취득되는 답변으로부터 상기 자연어 질의어에 대한 답변을 구성하여 상기 사용자 단말에게 제공하는 답변 가공부
를 포함하는, 챗봇 시스템.
The method according to claim 1,
The chatbot server,
An information database for storing information based on knowledge base or machine learning;
An answer generator for searching for an answer corresponding to the natural language query using the information database;
An analyzing unit analyzing the natural language query to identify an entity name recognized for the natural language query and an intention to be classified for the natural language query;
A routing information acquisition unit for transmitting the entity name and intention of the natural language query term recognized by the analysis unit to the chattube management server and receiving routing information corresponding to the natural language query word from the chattube management server;
An answer acquiring unit for acquiring an answer corresponding to the natural language query through the external chat server after connecting to an external chat server corresponding to the routing information; And
And an answer processing unit for constructing an answer to the natural language query from an answer retrieved by the answer generating unit or an answer obtained by the answer obtaining unit,
.
제2항에 있어서,
상기 답변 생성부는 상기 정보 데이터베이스를 사용하여 상기 자연어 질의어에 대한 답변검색이 실패하는 경우 상기 자연어 질의어에 대한 개체명과 의도를 상기 라우팅 정보 취득부로 전달하여 상기 자연어 질의어에 대응되는 라우팅 정보를 취득하도록 하는,
챗봇 시스템.
3. The method of claim 2,
Wherein the response generation unit transmits an entity name and an intention for the natural language query term to the routing information acquisition unit to acquire routing information corresponding to the natural language query term when an answer search for the natural language query term fails using the information database,
Chambot system.
제1항에 있어서,
상기 챗봇 관리 서버는,
상기 복수의 외부 챗봇 서버에 대한 접근 경로인 복수의 라우팅 정보를 저장 관리하는 라우팅 테이블; 및
상기 챗봇 서버로부터 수신되는 자연어 질의어에 대한 개체명과 의도를 기준으로 상기 라우팅 테이블로부터 상기 자연어 질의어에 대응되는 외부 챗봇 서버를 검색하여 검색된 외부 챗봇 서버에 대한 라우팅 정보를 상기 챗봇 서버에게 제공하는 챗봇 검색부
를 포함하는, 챗봇 시스템.
The method according to claim 1,
The chatbot management server comprises:
A routing table for storing and managing a plurality of routing information as access paths to the plurality of external chatbots; And
A chatbot search unit for searching the external chatbot server corresponding to the natural language query word from the routing table based on the entity name and intention of the natural language query received from the chatbot server and providing routing information for the searched external chatbot server to the chatbot server,
.
제4항에 있어서,
상기 라우팅 테이블은 상기 복수의 외부 챗봇 서버에 대한 답변율을 더 포함하고,
상기 챗봇 검색부는 상기 자연어 질의어에 대응되어 검색되는 외부 챗봇 서버에 대한 답변율을 상기 챗봇 서버에게 추가로 전달하는,
챗봇 시스템.
5. The method of claim 4,
Wherein the routing table further includes a response rate for the plurality of external chatbot servers,
Wherein the chatbot searching unit further transmits an answer rate to an external chatbot server corresponding to the natural language query word to the chatbot server,
Chambot system.
제5항에 있어서,
상기 챗봇 서버는 상기 챗봇 관리 서버로부터 제공되는 답변율이 미리 설정된 임계값 이상인 경우 상기 답변율과 함께 제공되는 라우팅 정보에 대응되는 외부 챗봇 서버에 접속하여 상기 자연어 질의어에 대한 답변을 제공받는,
챗봇 시스템.
6. The method of claim 5,
Wherein the chatbot server is connected to an external chat server corresponding to the routing information provided together with the response rate when the response rate provided from the chattube management server is equal to or greater than a preset threshold value and receives a response to the natural language query,
Chambot system.
제1항 내지 제6항 중 어느 한 항에 있어서,
상기 챗봇 서버는 상기 사용자 단말로부터 수신되는 자연어 질의어가 복수의 의도를 갖는 질의어인 경우, 상기 복수의 의도별로 질의어를 생성한 후, 각 질의어별로 상기 챗봇 서버를 통해 검색된 답변 또는 상기 외부 챗봇 서버를 통해 취득한 답변을 가공하여 복합적인 응답으로 재구성한 후 상기 자연어 질의어에 대한 답변으로 상기 사용자 단말에게 제공하는,
챗봇 시스템.
7. The method according to any one of claims 1 to 6,
Wherein the chatbot server generates a query term for each of the plurality of intentions when the natural language query term received from the user terminal is a query having a plurality of intentions and then transmits an answer retrieved through the chatbot server for each query word, Processing the obtained answer to reconstruct a complex response, and providing the response to the user terminal in response to the natural language query,
Chambot system.
제1항 내지 제6항 중 어느 한 항에 있어서,
상기 챗봇 서버는 상기 외부 챗봇 서버와의 채팅을 통해 상기 자연어 질의어에 대한 답변을 취득하는 과정을 상기 사용자 단말의 디스플레이를 통해 표시하는,
챗봇 시스템.
7. The method according to any one of claims 1 to 6,
Wherein the chatbot server displays, through a display of the user terminal, a process of obtaining an answer to the natural language query through a chat with the external chatbot server,
Chambot system.
제8항에 있어서,
상기 외부 챗봇 서버와의 채팅을 통해 상기 자연어 질의어에 대한 답변을 취득하는 과정은, 상기 챗봇 서버가 상기 사용자 단말과의 사이에 상기 자연어 질의에 대한 답변을 제공하기 위해 표시하는 채팅 창 내의 일부에 표시되는 쪽창을 통해 표시하는,
챗봇 시스템.
9. The method of claim 8,
Wherein the step of acquiring an answer to the natural language query through the chat with the external chatbot server comprises the step of displaying a message in a part of the chat window displayed to provide the answer to the natural language query with the user terminal Being displayed through the window,
Chambot system.
사용자 단말로부터 수신되는 자연어 질의어에 대해 정보 데이터베이스를 통해 답변을 검색하는 단계 ― 상기 정보 데이터베이스는 지식베이스 기반 또는 기계학습 기반으로 정보를 저장함 ―;
상기 자연어 질의어에 대해 상기 정보 데이터베이스를 통한 답변 검색이 실패하는 경우, 챗봇 관리 서버를 통해 라우팅 정보를 제공받는 단계 ― 상기 챗봇 관리 서버는 복수의 외부 챗봇 서버에 대한 접근 경로인 복수의 라우팅 정보를 저장 관리함 ―;
상기 챗봇 관리 서버로부터 제공되는 라우팅 정보에 대응되는 외부 챗봇 서버를 통해 상기 자연어 질의에 대한 답변을 제공받는 단계; 및
상기 답변을 검색하는 단계에서 검색된 답변 또는 상기 답변을 제공받는 단계에서 제공받은 답변을 상기 자연어 질의어에 대한 답변으로서 가공하여 상기 사용자 단말에게 제공하는 단계
를 포함하는 챗봇 서비스 제공 방법.
Retrieving an answer through an information database for a natural language query received from a user terminal, the information database storing information on a knowledge base or machine learning basis;
Receiving routing information through the chatbot management server when an answer search through the information database fails for the natural language query, the chatbot management server stores a plurality of routing information, which is an access path to a plurality of external chatbot servers, Management -;
Receiving a response to the natural language query through an external chat server corresponding to the routing information provided from the chatbot management server; And
A step of processing the answers found in the step of retrieving the answers or the answers provided in the step of receiving the answers as an answer to the natural language query and providing the processed result to the user terminal
And providing the service to the service provider.
제10항에 있어서,
상기 챗봇 관리 서버는 상기 복수의 외부 챗봇 서버 각각에 대한 답변율을 더 저장 관리하고,
상기 라우팅 정보를 제공받는 단계에서, 상기 챗봇 관리 서버로부터 상기 라우팅 정보와 함께 상기 답변율을 추가로 제공받으며,
상기 라우팅 정보를 제공받는 단계와 상기 답변을 제공받는 단계 사이에,
상기 답변율이 미리 설정된 임계값 이상인지를 판단하는 단계를 더 포함하고,
상기 답변율이 미리 설정된 임계값 이상인지를 판단하는 단계에서 상기 답변율이 상기 미리 설정된 임계값 이상인 경우에 상기 답변을 제공받는 단계를 수행하는,
챗봇 서비스 제공 방법.
11. The method of claim 10,
Wherein the chatbot management server further stores and manages a response rate for each of the plurality of external chatbot servers,
Receiving the routing information and the response rate from the chattube management server together with the routing information,
Between providing the routing information and receiving the answer,
Further comprising the step of determining whether the response rate is equal to or greater than a preset threshold value,
Performing the step of receiving the answer when the answer rate is equal to or greater than the predetermined threshold value in the step of determining whether the answer rate is equal to or greater than a preset threshold value,
How to provide chatbot service.
제11항에 있어서,
상기 답변율이 상기 미리 설정된 임계값보다 작은 경우 답변 검출 실패를 상기 질의어에 대한 응답으로 상기 사용자 단말에게 제공하는,
챗봇 서비스 제공 방법.
12. The method of claim 11,
And providing an answer detection failure to the user terminal in response to the query if the answer rate is less than the preset threshold value.
How to provide chatbot service.
제11항에 있어서,
상기 라우팅 정보를 제공받는 단계에서, 상기 챗봇 서버가 상기 자연어 질의어에 대한 개체명과 의도를 상기 챗봇 관리 서버에게 전달하고,
상기 챗봇 관리 서버는 상기 자연어 질의어에 대한 개체명과 의도를 기준으로 외부 챗봇 서버를 검색하는,
챗봇 서비스 제공 방법.
12. The method of claim 11,
Wherein the chatbot server transmits an entity name and an intention for the natural language query to the chatbot management server in the step of receiving the routing information,
Wherein the chatbot management server searches an external chat server based on an object name and an intention of the natural language query,
How to provide chatbot service.
챗봇 시스템으로서,
통신기, 메모리 및 프로세서를 포함하며,
상기 통신기는 사용자 단말, 챗봇 관리 서버 - 상기 챗봇 관리 서버는 복수의 외부 챗봇 서버에 대한 접근 경로인 복수의 라우팅 정보를 저장 관리함 ― 및 외부 챗봇 서버와 통신을 수행하고,
상기 메모리는 사용자의 질문에 대해 답변하기 위해 지식베이스 기반 또는 기계학습 기반으로 정보를 저장하고, 코드의 집합을 저장하도록 구성되며,
상기 코드는,
상기 통신기를 통해 상기 사용자 단말로부터 수신되는 자연어 질의어에 해당되는 답변을 검색하는 동작;
상기 통신기를 통해 상기 챗봇 관리 서버로부터 상기 자연어 질의어에 대한 개체명과 의도에 대응되는 라우팅 정보를 제공받는 동작;
상기 통신기를 통해, 취득된 상기 라우팅 정보에 대응되는 외부 챗봇 서버에 접속하여 상기 자연어 질의어에 대한 답변을 취득하는 동작; 및
상기 통신기를 통해 상기 답변을 상기 사용자 단말에게 제공하는 동작
을 실행하도록 상기 프로세서를 제어하는 데 사용되는,
챗봇 시스템.
As a chatbot system,
A communication device, a memory, and a processor,
The communicator includes a user terminal, a chatbot management server, wherein the chatbot management server stores and manages a plurality of routing information, which is an access path to a plurality of external chatbot servers, and communicates with an external chatbot server,
Wherein the memory is configured to store information on a knowledge base or machine learning basis to answer a user ' s query and to store a set of codes,
The code includes:
Retrieving an answer corresponding to a natural language query received from the user terminal through the communicator;
Receiving routing information corresponding to an entity name and intention for the natural language query from the chattube management server through the communicator;
Accessing an external chat server corresponding to the obtained routing information through the communicator to obtain an answer to the natural language query; And
And providing the response to the user terminal through the communicator
Lt; RTI ID = 0.0 > a < / RTI > processor,
Chambot system.
제14항에 있어서,
상기 프로세서는,
상기 통신기를 통해 상기 챗봇 관리 서버로부터 상기 라우팅 정보와 함께 답변율을 추가로 제공받는 동작; 및
상기 답변율이 미리 설정된 임계값 이상인지를 판단하는 동작
을 더 실행하고,
상기 프로세서는,
상기 답변율이 상기 미리 설정된 임계값 이상인 경우 상기 외부 챗봇 서버를 통해 상기 자연어 질의어에 대한 답변을 취득하는 동작을 실행하는,
챗봇 시스템.
15. The method of claim 14,
The processor comprising:
Receiving an answer rate from the chattube management server together with the routing information through the communicator; And
Determining whether the response rate is equal to or greater than a preset threshold value
Lt; / RTI >
The processor comprising:
And if the answer rate is equal to or greater than the predetermined threshold value, acquiring an answer to the natural language query through the external chatbot server,
Chambot system.
KR1020170157626A 2017-11-23 2017-11-23 Chatbot system based on multi-domain and method for providing chatbot service KR102146031B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170157626A KR102146031B1 (en) 2017-11-23 2017-11-23 Chatbot system based on multi-domain and method for providing chatbot service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170157626A KR102146031B1 (en) 2017-11-23 2017-11-23 Chatbot system based on multi-domain and method for providing chatbot service

Publications (2)

Publication Number Publication Date
KR20190059731A true KR20190059731A (en) 2019-05-31
KR102146031B1 KR102146031B1 (en) 2020-08-28

Family

ID=66657397

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170157626A KR102146031B1 (en) 2017-11-23 2017-11-23 Chatbot system based on multi-domain and method for providing chatbot service

Country Status (1)

Country Link
KR (1) KR102146031B1 (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10841251B1 (en) 2020-02-11 2020-11-17 Moveworks, Inc. Multi-domain chatbot
WO2021049877A1 (en) * 2019-09-10 2021-03-18 Samsung Electronics Co., Ltd. Electronic apparatus for selecting ai assistant and response providing method thereof
WO2021107208A1 (en) * 2019-11-27 2021-06-03 주식회사 와이즈넛 Integrated chatbot agent platform system for chatbot channel connection and integration, and service method thereof
JPWO2021117166A1 (en) * 2019-12-11 2021-06-17
KR20210085860A (en) * 2019-12-31 2021-07-08 주식회사 하나금융티아이 Response standardization method and apparatus for providing knowledge-based question and answer service using domain specific ontology
KR20210119772A (en) * 2020-03-25 2021-10-06 한전케이디엔주식회사 Natural language processing management system and method for chat-bot service
KR102436666B1 (en) * 2021-10-19 2022-08-26 주식회사 퍼니웍 Hybrid chatbot service system and service method therof
KR20220145318A (en) * 2020-09-17 2022-10-28 주식회사 포티투마루 A method and apparatus for question-answering using a paraphraser model
KR20230063402A (en) * 2021-11-02 2023-05-09 (주)미소정보기술 Method for inferring intent of message
WO2023120861A1 (en) * 2021-12-20 2023-06-29 삼성전자주식회사 Electronic device and control method therefor
KR20230123602A (en) * 2022-02-17 2023-08-24 주식회사 마인드웨어웍스 A system for providing chatbot services in an integrated way
US11947536B2 (en) 2022-05-26 2024-04-02 International Business Machines Corporation Identifying and processing poly-process natural language queries

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230159919A (en) 2022-05-16 2023-11-23 주식회사 마인드웨어웍스 A system for linking chatbot service and contact center service

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080075748A (en) * 2007-02-13 2008-08-19 홍성훈 Method for acquiring and providing knowledge using communication robots on network and the system therefor
KR20140004515A (en) * 2012-07-03 2014-01-13 삼성전자주식회사 Display apparatus, interactive server and method for providing response information
KR20150075191A (en) * 2013-12-24 2015-07-03 서강대학교산학협력단 Method of learning chatting data and system thereof
KR20160060821A (en) * 2014-11-20 2016-05-31 한국전자통신연구원 Question answering system and method for structured knowledge-base using deep natrural language question analysis
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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080075748A (en) * 2007-02-13 2008-08-19 홍성훈 Method for acquiring and providing knowledge using communication robots on network and the system therefor
KR20140004515A (en) * 2012-07-03 2014-01-13 삼성전자주식회사 Display apparatus, interactive server and method for providing response information
KR20150075191A (en) * 2013-12-24 2015-07-03 서강대학교산학협력단 Method of learning chatting data and system thereof
KR20160060821A (en) * 2014-11-20 2016-05-31 한국전자통신연구원 Question answering system and method for structured knowledge-base using deep natrural language question analysis
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

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021049877A1 (en) * 2019-09-10 2021-03-18 Samsung Electronics Co., Ltd. Electronic apparatus for selecting ai assistant and response providing method thereof
WO2021107208A1 (en) * 2019-11-27 2021-06-03 주식회사 와이즈넛 Integrated chatbot agent platform system for chatbot channel connection and integration, and service method thereof
KR20210065629A (en) * 2019-11-27 2021-06-04 주식회사 와이즈넛 Chatbot integration agent platform system and service method thereof
WO2021117166A1 (en) * 2019-12-11 2021-06-17 富士通株式会社 Conversation control program, conversation control method, and conversation control device
JPWO2021117166A1 (en) * 2019-12-11 2021-06-17
KR20210085860A (en) * 2019-12-31 2021-07-08 주식회사 하나금융티아이 Response standardization method and apparatus for providing knowledge-based question and answer service using domain specific ontology
US10841251B1 (en) 2020-02-11 2020-11-17 Moveworks, Inc. Multi-domain chatbot
KR20210119772A (en) * 2020-03-25 2021-10-06 한전케이디엔주식회사 Natural language processing management system and method for chat-bot service
KR20220145318A (en) * 2020-09-17 2022-10-28 주식회사 포티투마루 A method and apparatus for question-answering using a paraphraser model
KR102436666B1 (en) * 2021-10-19 2022-08-26 주식회사 퍼니웍 Hybrid chatbot service system and service method therof
KR20230063402A (en) * 2021-11-02 2023-05-09 (주)미소정보기술 Method for inferring intent of message
WO2023120861A1 (en) * 2021-12-20 2023-06-29 삼성전자주식회사 Electronic device and control method therefor
KR20230123602A (en) * 2022-02-17 2023-08-24 주식회사 마인드웨어웍스 A system for providing chatbot services in an integrated way
US11947536B2 (en) 2022-05-26 2024-04-02 International Business Machines Corporation Identifying and processing poly-process natural language queries

Also Published As

Publication number Publication date
KR102146031B1 (en) 2020-08-28

Similar Documents

Publication Publication Date Title
KR20190059731A (en) Chatbot system based on multi-domain and method for providing chatbot service
AU2020233645B2 (en) Resource prioritization and communication-channel establishment
KR102517843B1 (en) Chatbot system based on artificial intelligence markup language and method for proding chatbot service
KR101541620B1 (en) Persistent personal messaging in a distributed system
KR102107560B1 (en) Method, device, terminal, and server for verifying security of service operation
CN110377712B (en) Intelligent session switching method, device, equipment and storage medium
US20180123820A1 (en) Apparatus and method of generating internet of things data
US20150310113A1 (en) Mobile Terminal, Server, System And Method For Realizing Search
CN105306318B (en) intelligent scene configuration method, device and server
US11683395B2 (en) Mechanisms for an intelligent service layer request abstraction service
EP2854378A1 (en) Method, device and network equipment for acquiring feature information
US11792149B2 (en) Systems and methods for automated message delivery feedback
US20140091923A1 (en) Device event notification registration through direct interaction with mobile device
Espada et al. Using extended web technologies to develop Bluetooth multi-platform mobile applications for interact with smart things
AU2023203506A1 (en) Intent-driven contact center
KR20200091080A (en) Method for providing service for shared office
CN110071926B (en) Data processing method and device
CN107295086A (en) Collect group session anti-loss method and system
KR102565724B1 (en) Method, user device and computer program for determining property of a service executed in a user device based on packet analysis
US9270631B2 (en) Communicating via a virtual community using outside contact information
CN106375363A (en) Method, system and device for eliminating message alert in social application client
KR20230061190A (en) System for providing information automatically using chatbot
EP3493484A1 (en) Devices, systems and methods for communication in an iot environment
CN106254575B (en) A kind of method and apparatus of determining user identifier
US20210103619A1 (en) Interactive device

Legal Events

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