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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000010801 machine learning Methods 0.000 claims abstract description 18
- 230000004044 response Effects 0.000 claims description 93
- 238000004891 communication Methods 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 4
- 238000013473 artificial intelligence Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 239000002131 composite material Substances 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 2
- 241000972773 Aulopiformes Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 235000019515 salmon Nutrition 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/02—User-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—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine 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
Description
본 발명은 멀티 도메인 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법에 관한 것이다.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
사용자 단말(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
사용자 단말(100)은 사용자의 질의를 입력받아서 네트워크(510)를 통해 챗봇 서버(200)로 전달하고, 챗봇 서버(200)로부터 질의에 대한 응답을 전달받아서 사용자에게 제공하는 챗봇 서비스 어플리케이션인 챗봇 클라이언트가 탑재된 단말일 수 있다.The
사용자 단말(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
챗봇 서버(200)는 네트워크(510)를 통해 사용자 단말(100)로부터 수신된 자연어 질의어에 대응되는 답변을 검색하고, 대응되는 답변이 검색되는 경우 검색된 답변을 질의어에 대한 답변으로 사용자 단말(100)에게 전송할 수 있다.The
그러나, 챗봇 서버(200)가 사용자 단말(100)로부터 수신된 자연어 질의어에 대응되는 답변을 검색하지 못하는 경우에는 해당 자연어 질의어에 대한 정보를 챗봇 관리 서버(300)로 전달하고, 챗봇 관리 서버(300)로부터 제공되는 라우팅 정보를 받아서 라우팅 정보에 해당하는 외부 챗봇 서버(400)로 자연어 질의어를 전달하며, 해당 외부 챗봇 서버(400)로부터 제공되는 답변을 사용자 단말(100)에게 제공할 수 있다. 여기서, 자연어 질의어에 대한 정보로는 자연어 질의어에 대해 개체명 식별(Named Entity Recognition) 기술을 통해 식별된 개체명과 의도 분류(Intent Classification) 기술을 통해 분류된 의도가 포함될 수 있다. 이 때, 개체명 식별 기술은 미리 정의해 둔 사람, 회사, 장소, 시간, 단위 등에 해당하는 단어, 즉 개체명을 인식하여 추출하는 기술이고, 의도 분류 기술은 다양한 형태의 자연어 문장에 대해 대응되는 의도로서 미리 분류한 후 입력되는 자연어 질의어에 해당하는 의도를 찾아내는 기술로서, 이미 잘 알려져 있으므로 여기에서는 구체적인 설명을 생략한다.However, when the
챗봇 서버(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
챗봇 관리 서버(300)는 본 발명의 실시예에 따른 챗봇 서비스를 사용하기 위해 접속되는 챗봇 서버들, 즉 챗봇 서버(200) 및 외부 챗봇 서버(400)들은 챗봇 관리 서버(300)에 자신들의 정보를 등록한다. 이 때 등록되는 정보에는 챗봇 서버를 확인할 수 있는 식별자와 챗봇 서버에 접속하기 위한 라우팅 정보, 예를 들어 접근 주소인 URL(Uniform Resource Locator) 등이 포함될 수 있다.The
챗봇 관리 서버(300)는 챗봇 서버(200)로부터 자연어 질의어에 대한 정보, 즉 개체명과 의도가 전달되면 전달된 정보, 즉 개체명과 의도에 해당하는 챗봇 서버를 검색하며, 검색된 챗봇 서버에 해당하는 라우팅 정보를 챗봇 서버(200)에게 제공한다. 이 때, 챗봇 관리 서버(300)로부터 챗봇 서버(200)에게 제공되는 라우팅 정보는 하나 이상일 수 있다. 예를 들어, 챗봇 관리 서버(300)는 챗봇 서버(200)로부터 전달되는 하나의 자연어 질의어에 대해 하나 이상의 라우팅 정보를 제공할 수 있거나, 또는 챗봇 서버(200)로부터 둘 이상의 자연어 질의어가 전달되는 경우에는 둘 이상의 라우팅 정보가 챗봇 서버(200)에게 제공될 수 있다.The
외부 챗봇 서버(400)는 하나 이상의 챗봇 서버로 구성되며, 네트워크(520)를 통해 챗봇 서버(200)에 연결된다. 여기서 네트워크(520)는 네트워크(510)와 마찬가지로 무선 네트워크일 수 있거나 또는 인터넷과 같은 유선 네트워크일 수 있다.The
외부 챗봇 서버(400)는 챗봇 서버(200)와 유사한 구성을 가지며 외부로부터 입력되는 자연어 질의어에 대해 답변을 검색하고, 검색된 답변을 챗봇 서버(200)에게 제공한다.The
외부 챗봇 서버(400)는 챗봇 서버(200)와 유사하거나 또는 상이한 토픽에 대한 지식 베이스를 갖는 챗봇 서버일 수 있다. 챗봇 관리 서버(300)에는 대부분의 외부 챗봇 서버(400)가 등록될 수 있지만, 외부 챗봇 서버(400)는 챗봇 서버(200)에서 질의어에 대한 검색이 실패하는 경우에 사용되기 때문에 유사한 토픽에 대한 정보를 제공하는 외부 챗봇 서버(400)의 경우에는 사용될 가능성이 적다.The
외부 챗봇 서버(400)도 입력되는 자연어 질의어에 대한 답변 검색이 실패하는 경우가 발생하여 해당 질의어에 대해 챗봇 관리 서버(300)를 통해 라우팅 정보를 제공받을 수 있지만, 사용자 단말(100)로부터 질의어를 수신하는 것이 아니라 챗봇 서버(200)로부터 자연어 질의어를 수신하는 경우에는 수신된 질의어에 대한 답변 검색이 실패하더라도 챗봇 관리 서버(300)를 통한 계속된 검색을 수행하지 않을 수 있다. 즉, 외부 챗봇 서버(400)는 챗봇 서버(200)로부터 수신되는 자연어 질의어에 대해 답변 검색이 실패하는 경우에는 실패 응답을 챗봇 서버(200)에게 제공한다.The
이하에서는 도 1에 도시된 챗봇 시스템(10)의 각 구성요소의 동작에 대해 보다 구체적으로 설명한다.Hereinafter, the operation of each component of the
도 2는 도 1에 도시된 챗봇 서버(200)의 구체적인 구성 블록도이다.2 is a detailed block diagram of the
도 2에 도시된 바와 같이, 챗봇 서버(200)는 질의어 수신부(210), 질의어 분석부(220), 정보 데이터베이스(DB)(230), 답변 생성부(240), 라우팅 정보 취득부(260), 답변 취득부(260), 답변 가공부(270) 및 답변 제공부(280)를 포함한다.2, the
질의어 수신부(210)는 네트워크(510)를 통해 사용자 단말(100)로부터 자연어 질의어를 입력받는다.The query
질의어 분석부(220)는 질의어 수신부(210)를 통해 수신되는 자연어 질의어를 분석하여 수신된 자연어 질의어의 내용을 파악한다. 이러한 분석에는 개체명 식별 기술 기반의 분석, 의도 분류 기반의 분석 등이 포함된다. 즉, 질의어 수신부(210)를 통해 수신되는 자연어 질의어가 의도 분류 기반으로 몇 개의 의도를 갖는 질의어가 수신되었는지, 그리고 수신된 질의어에 대응되는 개체명은 무엇인지를 파악한다. The
정보 데이터베이스(230)는 사용자의 질문에 대한 답변을 제공하기 위한 정보를 저장한다. 이러한 정보 데이터베이스(230)는 챗봇 서버(200)가 자연어 질의어에 대응되는 답변을 검색하여 제공하는 방식에 대응하도록 구성될 수 있다. 예를 들어, 챗봇 서버(200)가 지식 베이스 기반 챗봇 서버인 경우, AIML 기반의 패턴 매칭 방식의 검색과 온톨로지 방식의 검색이 가능하도록, 정보 데이터베이스(230)는 지식을 DB나 메모리에 지식 그래프 형태로 구성한다. 따라서, 챗봇 서버(200)는 정보 데이터베이스(230)에 구성된 지식 그래프를 검색하여 자연어 질의어에 대응되는 답변을 찾아서 제공할 수 있다. 또는 챗봇 서버(200)가 기계학습 기반의 챗봇 서버인 경우, 정보 데이터베이스(230)는 대량의 키(key)와 값(value)으로 이루어진 학습 데이터를 학습한 최적의 기계학습 함수 모델로 구성된다. 따라서, 챗봇 서버(200)는 정보 데이터베이스(230)로 자연어 질의어를 입력 값으로 하여 API 질의를 한 후 자연어 질의어에 대응되는 답변 및 답변 정확도, 즉 신뢰도(%)를 출력 값으로 제공받을 수 있다. 본 발명의 실시예에 따른 정보 데이터베이스(230)는 상기한 지식 베이스 기반으로 답변을 제공하기 위한 지식 베이스 또는 기계학습 기반으로 답변을 제공하기 위한 기계학습 모델 중 하나, 또는 둘 다를 포함할 수 있다.The
답변 생성부(240)는 정보 데이터베이스(230)를 통해 질의어 분석부(220)에 의한 분석 결과로 입력되는 질의어에 대응되는 답변을 검색한다. 질의어 분석부(220)에 의해 복수의 질의어가 분석되는 경우 복수의 질의어 각각에 대한 답변 검색이 수행될 수 있다.The
답변 생성부(240)는 질의어에 매칭되는 답변이 검색되는 경우 검색된 답변을 정보 데이터베이스(230)에서 찾아서 질의어에 대한 답변으로 추출한다.The
그러나, 답변 생성부(240)는 질의어에 매칭되는 답변이 검색되지 않는 경우에는 답변이 검색되지 않은 자연어 질의어에 대한 개체명과 의도를 라우팅 정보 취득부(260)로 전달한다. 여기서, 답변 생성부(240)가 복수의 질의어에 대한 답변 검색을 수행한 경우, 복수의 질의어 중에서 답변 검색이 실패한 질의어에 대해서만 라우팅 정보 취득부(250)로 전달한다.However, if an answer matching the query term is not found, the
그 후, 답변 생성부(240)는 라우팅 정보 취득부(250)에 의해 취득되는 라우팅 정보를 자연어 질의어와 함께 답변 취득부(260)로 전달하고, 답변 취득부(260)를 통해 취득되는 자연어 질의어에 대한 답변을 전달받아서 답변 가공부(270)로 전달한다. 이 때, 답변 생성부(240)는 복수의 질의어 중에서 정보 데이터베이스(230)에서 검색된 답변이 있는 경우 해당 답변도 함께 답변 가공부(270)로 전달한다.Thereafter, the
라우팅 정보 취득부(250)는 답변 생성부(240)로부터 전달되는 자연어 질의어에 대한 개체명과 의도를 챗봇 관리 서버(300)로 전달하고, 챗봇 관리 서버(300)로부터 제공되는 라우팅 정보를 수신하여 답변 생성부(230)로 전달한다. 이 때, 챗봇 관리 서버(300)로부터 복수의 라우팅 정보가 수신될 수 있고, 이렇게 수신되는 복수의 라우팅 정보를 모두 답변 생성부(230)로 전달한다.The routing
답변 취득부(260)는 답변 생성부(240)로부터 전달되는 라우팅 정보와 자연어 질의어를 수신하고, 네트워크(520)를 통해, 수신된 라우팅 정보에 해당되는 외부 챗봇 서버(400)에게 자연어 질의어를 전달한 후, 외부 챗봇 서버(400)로부터 자연어 질의어에 대한 답변을 제공받아서 답변 생성부(230)로 전달한다. 이 때, 답변 취득부(260)는 답변 생성부(240)로부터 하나의 질의어에 대응되어 복수의 라우팅 정보를 수신하는 경우, 수신된 복수의 라우팅 정보에 대응되는 복수의 외부 챗봇 서버(400)에게 해당 질의어를 전달한 후 질의어에 대한 답변을 각각 수신하여 답변 생성부(240)에게 전달한다. 또한, 답변 취득부(260)는 답변 생성부(240)로부터 복수의 질의어와 이 질의어 각각에 대응되는 복수의 라우팅 정보가 전달되는 경우, 라우팅 정보별로 대응되는 외부 챗봇 서버(400)로 접속하여 해당하는 각 질의어를 전달한 후 질의어에 대한 답변을 각각 받아서, 복수의 질의어에 각각 대응되는 복수의 답변을 답변 생성부(240)로 전달한다.The
답변 가공부(270)는 답변 생성부(240)로부터 전달되는 적어도 하나의 답변을 받아서 자연어 질의어에 대응되는 답변으로 가공하여 답변 제공부(280)에게 전달한다. 이 때, 답변 생성부(240)에서 검색된 자연어 질의어가 하나인 경우에는 답변 가공부(270)는 답변 생성부(240)에서 전달되는 답변을 그대로 답변 제공부(280)로 제공할 수 있다. 그러나, 답변 생성부(240)에서 검색된 자연어 질의어가 둘 이상인 경우에는 답변도 둘 이상이므로 답변 생성부(240)에서 전달되는 둘 이상의 답변을 둘 이상의 의도를 갖고 있는 자연어 질의어에 대응되도록 가공하여 복합적인 답변으로 재구성한 후 답변 제공부(280)로 전달한다.The
답변 제공부(280)는 답변 가공부(270)로부터 전달되는 답변을 받아서 네트워크(510)를 통해 사용자 단말(100)에게 제공한다.The
한편, 당업자라면, 질의어 수신부(210), 질의어 분석부(220), 정보 데이터베이스(230), 답변 생성부(240), 라우팅 정보 취득부(260), 답변 취득부(260), 답변 가공부(270) 및 답변 제공부(280) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다. Those skilled in the art will appreciate that the
다음, 도 1에 도시된 챗봇 관리 서버(300)에 대해 설명한다.Next, the
도 3은 도 1에 도시된 챗봇 관리 서버(300)의 구체적인 구성 블록도이다.3 is a detailed block diagram of the
도 3에 도시된 바와 같이, 챗봇 관리 서버(300)는 라우팅 테이블(310), 수신부(320), 챗봇 검색부(330) 및 송신부(340)를 포함한다.3, the
라우팅 테이블(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
수신부(320)는 챗봇 서버(200)로부터 전달되는 자연어 질의어에 대한 개체명과 의도를 수신하여 챗봇 검색부(330)로 전달한다. 챗봇 검색부(330)는 수신부(320)로부터 수신되는 개체명과 의도를 사용하여 라우팅 테이블(310)에서 질의어에 대응되는 외부 챗봇 서버(400)를 검색하고, 검색된 외부 챗봇 서버(400)에 접근할 수 있는 라우팅 정보, 즉 접근 주소인 URL을 추출하여 송신부(340)로 전달한다. 이 때, 챗봇 검색부(330)는 수신부(320)로부터 수신되는 개체명과 의도를 사용하여 라우팅 테이블(310)에서의 검색을 수행할 수 있다. 또한, 챗봇 검색부(340)는 라우팅 테이블(310)에서 검색된 외부 챗봇 서버(400)에 대한 접근 범위나 상태 등을 판단하여 라우팅 정보 제공이 가능한 경우에만 라우팅 정보를 추출할 수 있다. 예를 들어, 외부 챗봇 서버(400)가 공개로 되어 있거나 또는 활성화되어 있는 경우에 라우팅 정보를 추출할 수 있다. 또한, 챗봇 검색부(320)는 라우팅 테이블(310)로부터 라우팅 정보뿐만 아니라 검색된 외부 챗봇 서버(400)에 대한 다른 정보들, 예를 들어, 챗봇 ID, 챗봇명 등도 함께 추출하여 송신부(330)로 전달할 수 있다.The receiving
송신부(330)는 챗봇 검색부(330)로부터 전달되는 라우팅 정보를 챗봇 서버(200)로 제공한다.The transmitting
이하, 도면을 참조하여 본 발명의 실시예에 따른 챗봇 서비스 제공 방법에 대해 설명한다.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
도 5를 참조하면, 챗봇 서버(200)는 네트워크(510)를 통해 사용자 단말(100)로부터 자연어 질의어를 수신한다(S100).Referring to FIG. 5, the
그러면, 챗봇 서버(200)는 수신된 자연어 질의어를 사용하여 정보 데이터베이스(230)를 통해 해당되는 답변을 검색한다(S110).Then, the
그 후, 질의어에 해당되는 답변이 검색되었는지를 판단하고(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
그 후, 챗봇 관리 서버(300)는 검색된 외부 챗봇 서버(400)에 대한 라우팅 정보를 챗봇 서버(200)에게 제공한다(S150).Thereafter, the
계속해서, 챗봇 서버(200)는 챗봇 관리 서버(300)로부터 제공되는 라우팅 정보를 사용하여 라우팅 정보에 해당하는 외부 챗봇 서버(400)에 접근하여 자연어 질의어를 전달한다(S160).Next, the
외부 챗봇 서버(400)는 챗봇 서버(200)로부터 전달되는 자연어 질의어에 해당되는 답변을 검색한 후(S170), 검색된 답변을 자연어 질의어에 대응되는 답변으로서 챗봇 서버(200)에게 제공한다(S180).The
따라서, 챗봇 서버(200)는 외부 챗봇 서버(400)로부터 제공되는 답변을 상기 단계(S100)에서 수신된 자연어 질의어에 대한 답변으로서 사용자 단말(100)에게 제공한다(S190).Accordingly, the
한편, 상기 단계(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
다음, 상기한 챗봇 서비스 방법에 대해 구체적으로 설명한다.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
도 6을 참조하면, 챗봇 서버(200)는 네트워크(510)를 통해 사용자 단말(100)로부터 자연어 질의어를 수신한다(S200).Referring to FIG. 6, the
그 후, 정보 데이터베이스(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
만약 답변율이 미리 설정된 임계값 이상이면, 수신된 라우팅 정보에 해당하는 외부 챗봇 서버(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
그 후, 외부 챗봇 서버(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
이와 같이, 본 발명의 실시예에 따르면, 사용자 단말(100)로부터 직접 자연어 질의어를 수신하는 챗봇 서버(200)가 자연어 질의어에 대응되는 답변을 검색하지 못하는 경우에도 멀티 챗봇 서버를 구성하는 외부 챗봇 서버(400)와 자연어 대화 처리 방식을 통해 외부 챗봇 서버(400)로부터 자연어 질의어에 대한 답변을 제공받아서 사용자 단말(100)에게 제공할 수 있다. 이 때, 챗봇 서버(200)가 외부 챗봇 서버(400)를 찾기 위해 멀티 챗봇 서버를 관리하는 챗봇 관리 서버(300)를 통해 자연어 질의어에 대한 답변을 제공할 수 있는 외부 챗봇 서버(400)를 쉽게 찾아서 사용자 단말(100)로부터의 자연어 질의어에 대해 답변할 수 있으므로 챗봇 서비스에 대한 신뢰도가 향상될 수 있다.As described above, according to the embodiment of the present invention, even when the
따라서, 본 발명의 실시예에서는 단일 챗봇 서버의 지식으로 커버할 수 없는 지식 도메인에 대해 사용자가 질의했을 때, 개체명과 의도를 토대로 획득한 멀티 챗봇 서버의 정보를 통해 연동할 대상 챗봇 서버의 라우팅 정보를 획득하여 인공지능으로 스스로 외부 챗봇 서버에게 질의하여 답변할 수 있으므로 집단 지성을 구축할 수 있다.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
예를 들어, 도 7의 (a)를 참조하면, 사용자 단말(100)의 디스플레이(110)가 도시되어 있다. 사용자가 사용자 단말(100)을 통해 챗봇 서버(200)에 접속한 후 채팅 창(111)을 통해 자연어 질의어를 입력하면 상기한 도 5에서 설명된 챗봇 서비스 방법에 따른 과정을 통해 챗봇 서버(200)가 입력된 자연어 질의어에 대한 응답을 검색하여 채팅 창(111)을 통해 사용자 단말(100)에게 제공함으로써 사용자가 자연어 질의어에 대한 답변을 확인할 수 있다. 이 때, 사용자 단말(100)의 채팅 창(111)에는 사용자가 입력한 자연어 질의어와 이 자연어 질의어에 대한 답변만이 표시되어 사용자는 챗봇 서버(200)가 외부 챗봇 서버(400)를 통해 자연어 질의어에 대한 재질의에 의해 답변을 구하는 과정을 알 수가 없다.For example, referring to Figure 7 (a), the
한편, 도 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
선택적으로, 상기한 쪽창(112)이 채팅 창(111) 내에 생성되지 않고 채팅 창(111)과 별개의 채팅 창(도시하지 않음)으로서 디스플레이(110) 내에 생성되어 사용자에게 챗봇 서비스 과정을 표시할 수도 있다.Alternatively, the
도 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
통신기(610)는 외부 구성요소와의 신호 전송을 수행한다. 구체적으로, 통신기(610)는 네트워크(510)를 통해 사용자 단말(100)과 통신을 수행하고, 직접 챗봇 관리 서버(300)와 통신을 수행하며, 또한 네트워크(520)를 통해 외부 챗봇 서버(400)와 통신을 수행한다. The
입력기(620)는 외부로부터의 입력을 수신한다. 이러한 입력은 데이터 입력 또는 명령 입력일 수 있다.The
메모리(630)는 사용자의 질문에 대한 답변을 제공하기 위한 정보를 지식 베이스 기반 또는 기계학습 기반으로 저장한다.The
따라서, 입력기(620)는 메모리(630) 내에 정보를 지식 기반으로, 또는 기계학습 기반으로 추가하거나 또는 변경하기 위한 입력을 받을 수 있다.Thus, the
또한, 메모리(630)는 코드의 집합을 저장하도록 구성되고, 그 코드는 다음과 같은 동작을 실행하기 위해 프로세서(640)를 제어하는 데 사용된다. 이러한 동작은, 통신기(610)를 통해 사용자 단말(100)로부터 질의어를 수신하는 동작, 수신된 질의어에 해당되는 답변을 검색하는 동작, 질의어에 해당되는 답변이 검색되었는지를 판단하는 동작, 질의어에 대한 개체명과 의도를 통신기(610)를 통해 챗봇 관리 서버(300)에게 전달하는 동작, 통신기(610)를 통해 챗봇 관리 서버(300)로부터 제공되는 라우팅 정보를 수신하는 동작, 수신된 라우팅 정보에 따라 통신기(610)를 통해 외부 챗봇 서버(400)에 접속하는 동작, 통신기(610)를 통해 외부 챗봇 서버(400)에게 질의어를 전달하는 동작, 통신기(610)를 통해 외부 챗봇 서버(400)로부터 답변을 제공받는 동작, 통신기(610)를 통해 질의어에 대한 답변을 사용자 단말(100)에게 제공하는 동작을 포함한다.The
선택적으로, 상기한 동작은 통신기(610)를 통해 챗봇 관리 서버(300)로부터 답변율을 수신하는 동작, 수신된 답변율과 미리 설정된 임계값을 비교하는 동작, 수신된 답변율이 미리 설정된 임계값보다 작은 경우 답변 검출 실패 응답을 통신기(610)를 통해 사용자 단말(100)에게 제공하는 동작을 더 포함한다. Alternatively, the above operations may include receiving an answer rate from the
또한, 상기한 수신된 라우팅 정보에 따라 통신기(610)를 통해 외부 챗봇 서버(400)에 접속하는 동작은 상기한 수신된 답변율이 미리 설정된 임계값이상인 경우에 수행될 수 있다.The operation of accessing the
선택적으로, 상기한 동작은 입력기(620)를 통해 입력되는 정보에 따라 메모리(630) 내에 지식 베이스 기반 또는 기계학습 기반으로 정보를 추가하거나 또는 수정하는 동작을 추가로 포함한다.Optionally, the above-described operations further include adding or modifying information in a
이러한 메모리(630)는 ROM(Read Only Memory)과RAM(Random Access Memory), NVRAM(Non-Volatile Random Access Memory)을 포함할 수 있다. 또한, 프로세서(640)는 컨트롤러(controller), 마이크로 컨트롤러(microcontroller), 마이크로 프로세서(microprocessor), 마이크로 컴퓨터(microcomputer) 등으로도 호칭될 수 있다. 또한, 프로세서(540)는 하드웨어(hardware) 또는 펌웨어(firmware), 소프트웨어, 또는 이들의 결합에 의해 구현될 수 있다.The
버스(650)는 챗봇 서버(600)의 모든 구성요소들, 즉 통신기(610), 입력기(620), 메모리(630) 및 프로세서(640)를 결합하도록 구성된다.The
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.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,
.
상기 챗봇 서버는,
지식베이스 기반 또는 기계학습 기반으로 정보를 저장하는 정보 데이터베이스;
상기 정보 데이터베이스를 사용하여 상기 자연어 질의어에 해당되는 답변을 검색하는 답변 생성부;
상기 자연어 질의어를 분석하여 상기 자연어 질의어에 대해 식별되는 개체명과 상기 자연어 질의어에 대해 분류되는 의도를 파악하는 분석부;
상기 챗봇 관리 서버에게 상기 분석부에 의해 파악되는 상기 자연어 질의어에 대한 개체명과 의도를 전달하고, 상기 챗봇 관리 서버로부터 상기 자연어 질의어에 대응되는 라우팅 정보를 수신하는 라우팅 정보 취득부;
상기 라우팅 정보에 대응되는 외부 챗봇 서버에 접속한 후 상기 외부 챗봇 서버를 통해 상기 자연어 질의어에 대응되는 답변을 취득하는 답변 취득부; 및
상기 답변 생성부에 의해 검색된 답변 또는 상기 답변 취득부에 의해 취득되는 답변으로부터 상기 자연어 질의어에 대한 답변을 구성하여 상기 사용자 단말에게 제공하는 답변 가공부
를 포함하는, 챗봇 시스템.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,
.
상기 답변 생성부는 상기 정보 데이터베이스를 사용하여 상기 자연어 질의어에 대한 답변검색이 실패하는 경우 상기 자연어 질의어에 대한 개체명과 의도를 상기 라우팅 정보 취득부로 전달하여 상기 자연어 질의어에 대응되는 라우팅 정보를 취득하도록 하는,
챗봇 시스템.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.
상기 챗봇 관리 서버는,
상기 복수의 외부 챗봇 서버에 대한 접근 경로인 복수의 라우팅 정보를 저장 관리하는 라우팅 테이블; 및
상기 챗봇 서버로부터 수신되는 자연어 질의어에 대한 개체명과 의도를 기준으로 상기 라우팅 테이블로부터 상기 자연어 질의어에 대응되는 외부 챗봇 서버를 검색하여 검색된 외부 챗봇 서버에 대한 라우팅 정보를 상기 챗봇 서버에게 제공하는 챗봇 검색부
를 포함하는, 챗봇 시스템.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,
.
상기 라우팅 테이블은 상기 복수의 외부 챗봇 서버에 대한 답변율을 더 포함하고,
상기 챗봇 검색부는 상기 자연어 질의어에 대응되어 검색되는 외부 챗봇 서버에 대한 답변율을 상기 챗봇 서버에게 추가로 전달하는,
챗봇 시스템.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.
상기 챗봇 서버는 상기 챗봇 관리 서버로부터 제공되는 답변율이 미리 설정된 임계값 이상인 경우 상기 답변율과 함께 제공되는 라우팅 정보에 대응되는 외부 챗봇 서버에 접속하여 상기 자연어 질의어에 대한 답변을 제공받는,
챗봇 시스템.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.
상기 챗봇 서버는 상기 사용자 단말로부터 수신되는 자연어 질의어가 복수의 의도를 갖는 질의어인 경우, 상기 복수의 의도별로 질의어를 생성한 후, 각 질의어별로 상기 챗봇 서버를 통해 검색된 답변 또는 상기 외부 챗봇 서버를 통해 취득한 답변을 가공하여 복합적인 응답으로 재구성한 후 상기 자연어 질의어에 대한 답변으로 상기 사용자 단말에게 제공하는,
챗봇 시스템.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.
상기 챗봇 서버는 상기 외부 챗봇 서버와의 채팅을 통해 상기 자연어 질의어에 대한 답변을 취득하는 과정을 상기 사용자 단말의 디스플레이를 통해 표시하는,
챗봇 시스템.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.
상기 외부 챗봇 서버와의 채팅을 통해 상기 자연어 질의어에 대한 답변을 취득하는 과정은, 상기 챗봇 서버가 상기 사용자 단말과의 사이에 상기 자연어 질의에 대한 답변을 제공하기 위해 표시하는 채팅 창 내의 일부에 표시되는 쪽창을 통해 표시하는,
챗봇 시스템.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.
상기 챗봇 관리 서버는 상기 복수의 외부 챗봇 서버 각각에 대한 답변율을 더 저장 관리하고,
상기 라우팅 정보를 제공받는 단계에서, 상기 챗봇 관리 서버로부터 상기 라우팅 정보와 함께 상기 답변율을 추가로 제공받으며,
상기 라우팅 정보를 제공받는 단계와 상기 답변을 제공받는 단계 사이에,
상기 답변율이 미리 설정된 임계값 이상인지를 판단하는 단계를 더 포함하고,
상기 답변율이 미리 설정된 임계값 이상인지를 판단하는 단계에서 상기 답변율이 상기 미리 설정된 임계값 이상인 경우에 상기 답변을 제공받는 단계를 수행하는,
챗봇 서비스 제공 방법.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.
상기 답변율이 상기 미리 설정된 임계값보다 작은 경우 답변 검출 실패를 상기 질의어에 대한 응답으로 상기 사용자 단말에게 제공하는,
챗봇 서비스 제공 방법.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.
상기 라우팅 정보를 제공받는 단계에서, 상기 챗봇 서버가 상기 자연어 질의어에 대한 개체명과 의도를 상기 챗봇 관리 서버에게 전달하고,
상기 챗봇 관리 서버는 상기 자연어 질의어에 대한 개체명과 의도를 기준으로 외부 챗봇 서버를 검색하는,
챗봇 서비스 제공 방법.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.
상기 프로세서는,
상기 통신기를 통해 상기 챗봇 관리 서버로부터 상기 라우팅 정보와 함께 답변율을 추가로 제공받는 동작; 및
상기 답변율이 미리 설정된 임계값 이상인지를 판단하는 동작
을 더 실행하고,
상기 프로세서는,
상기 답변율이 상기 미리 설정된 임계값 이상인 경우 상기 외부 챗봇 서버를 통해 상기 자연어 질의어에 대한 답변을 취득하는 동작을 실행하는,
챗봇 시스템.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.
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)
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)
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)
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 |
-
2017
- 2017-11-23 KR KR1020170157626A patent/KR102146031B1/en active IP Right Grant
Patent Citations (5)
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)
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 |