KR20190066988A - Chatbot system based on artificial intelligence markup language and method for proding chatbot service - Google Patents

Chatbot system based on artificial intelligence markup language and method for proding chatbot service Download PDF

Info

Publication number
KR20190066988A
KR20190066988A KR1020170166934A KR20170166934A KR20190066988A KR 20190066988 A KR20190066988 A KR 20190066988A KR 1020170166934 A KR1020170166934 A KR 1020170166934A KR 20170166934 A KR20170166934 A KR 20170166934A KR 20190066988 A KR20190066988 A KR 20190066988A
Authority
KR
South Korea
Prior art keywords
intention
query
machine learning
pattern
server
Prior art date
Application number
KR1020170166934A
Other languages
Korean (ko)
Other versions
KR102517843B1 (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 KR1020170166934A priority Critical patent/KR102517843B1/en
Publication of KR20190066988A publication Critical patent/KR20190066988A/en
Application granted granted Critical
Publication of KR102517843B1 publication Critical patent/KR102517843B1/en

Links

Images

Classifications

    • G06Q50/50
    • 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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/30Transportation; Communications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue

Abstract

Disclosed are an AIML-based chatbot system and a chatbot service providing method thereof. According to the present invention, the AIML-based chatbot system comprises a machine learning server and a chatbot server. The machine learning server generates a learning model for detecting an intention corresponding to a question by machine-learning a plurality of data sets which are a data set including a question and an intention corresponding thereto, and detecting the intention corresponding to the question by using the generated learning model. Also, the chatbot server stores a plurality of intention patterns defined in an AIML form and templates corresponding to the intention patterns to respond to the question of a user, recognizes the intention corresponding to a query through the machine learning server for the query received from a user terminal, and searches for the intention patterns matching the recognized intention to provide the user terminal with the templates corresponding to the searched intention patterns as a response for the query.

Description

AIML 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법 {CHATBOT SYSTEM BASED ON ARTIFICIAL INTELLIGENCE MARKUP LANGUAGE AND METHOD FOR PRODING CHATBOT SERVICE}Technical Field [0001] The present invention relates to an AIML-based chatbot system and a method of providing a chatbot service,

본 발명은 AIML 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법에 관한 것이다.The present invention relates to an AIML-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.

챗봇 시스템은 XML(Extensible Markup Language) 기반의 비표준 생성 언어인 AIML(Artificial Intelligence Markup Language)을 사용하여 프로그래밍된다.The chatbot system is programmed using Artificial Intelligence Markup Language (AIML), a non-standard generation language based on XML (Extensible Markup Language).

일반적으로 AIML 기반으로 자연어 처리 및 이해를 하기 위한 방법은 AIML 규격에서 정의된 패턴 매칭을 위한 표현식을 활용하여 규칙을 정의하는 것이다. AIML을 활용한 자연어 패턴 매칭 정의의 예는 다음과 같다. In general, AIML-based methods for natural language processing and understanding are defined by using expressions for pattern matching defined in the AIML specification. An example of natural language pattern matching definition using AIML is as follows.

<category><category>

<pattern>WHAT IS YOUR </pattern> <pattern> WHAT IS YOUR </ pattern>

<template>My name is Michael N.S Evanious.</template> <template> My name is Michael NS Evanious. </ template>

</category></ category>

패턴 매칭 정의에서 <pattern/> 태그 안의 내용이 사용자가 입력한 자연어의 처리/이해를 위한 패턴 표현식이다. 여기서 정의된 "*"는 AIML에서 정의하는 와일드 카드로서 1개 이상의 "임의" 단어 또는 문장에 매칭시키고자 할 때 사용한다. 상세히 설명하면 "WHAT IS YOUR"로 시작되는 문장("WHAT IS YOUR NAME", "WHAT IS YOUR ID"등)에 대해서는 모두 매칭 되어 <template/>의 내용인 "My name is Michael N.S Evanious."의 응답이 사용자에게 출력이 되는"질문-응답"을 위한 대화 지식 표현이다.  In the pattern matching definition, the contents of the <pattern /> tag are pattern expressions for processing / understanding of the natural language entered by the user. The "*" as defined here is a wildcard defined in AIML and is used to match one or more "random" words or phrases. In detail, all of the sentences beginning with "WHAT IS YOUR" ("WHAT IS YOUR NAME", "WHAT IS YOUR ID", etc.) are matched and the contents of the <template />, "My name is Michael NS Evanious." Is a dialogic knowledge representation for the "question-and-answer" where the response is output to the user.

한편, 자연어를 이해하는 챗봇 시스템을 개발하기 위해서는 다양한 문장 예제들을 수집하는데 이 문장들에 대해서 AIML 기반으로 자연어 처리 및 이해시키기 위해서는 위 AIML 기반 지식 표현 예시와 같은 패턴 표현식을 활용하여 개별적으로 수동 정의 및 생성해야 한다. In order to develop a chatbot system that understands natural language, various sentence examples are collected. In order to process and understand the natural language of AIML based on these sentences, Should be created.

챗봇 서비스의 범위가 좁고 이에 따라 자연어 질문의 유형이 다양하지 않을 경우 AIML의 패턴 표현식으로 손쉽게 표현이 가능하지만, 서비스의 범위가 넓고 자연어 질문의 유형이 길고 복잡하게 될 경우 유연한 패턴 표현식의 정의가 쉽지 않고, 이에 따라 자연어 처리 및 이해 성능이 떨어지며 최초 지식 구축뿐만 아니라 구축 이후 운영 및 유지 보수에 대해서도 상당한 비용과 노력이 발생하는 문제가 있다. If the range of the chatbot service is narrow and the type of the natural language query is not varied, it can be easily expressed by the pattern expression of AIML. However, if the range of the service is wide and the type of the natural language question is long and complicated, it is easy to define the flexible pattern expression Therefore, natural language processing and understanding performance deteriorates, and there is a problem that not only initial knowledge construction but also substantial operation and maintenance after installation cost considerable expense and effort.

본 발명이 해결하고자 하는 과제는 기계학습 기반의 시스템을 통해 자연어 기반 고객의 질문을 이해하고, 시스템의 결과 값인 질문 의도와 신뢰도 값을 활용하여 AIML 기반 챗봇 서버 내에서 AIML로 정의된 시나리오를 실행시킬 수 있는 AIML 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법을 제공하는 것이다.A problem to be solved by the present invention is to understand a question of a natural language based customer through a machine learning based system and to execute a scenario defined in AIML based on the AIML-based chatbot server by utilizing the system intrinsic value of a question intention and a reliability value And a method of providing a chattb service using the AIML-based chatbot system.

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

AIML(Artificial Intelligence Markup Language) 기반의 챗봇 시스템으로서, 질문과 상기 질문에 대응되는 의도로 구성된 데이터 집합으로서 복수의 데이터 집합을 기계학습하여 질문에 대응되는 의도를 검출하기 위한 학습 모델을 생성하고, 생성된 학습 모델을 사용하여 질문에 대응되는 의도를 검출하는 기계학습 서버; 및 사용자의 질문에 응답하기 의해 AIML 형태로 정의된 복수의 의도 패턴과 상기 의도 패턴에 대응되는 템플릿을 저장하며, 사용자 단말로부터 수신되는 질의어에 대해 상기 기계학습 서버를 통해 상기 질의어에 대응되는 의도를 파악하고, 파악된 의도에 매칭되는 의도 패턴을 검색하여 검색된 의도 패턴에 대응되는 템플릿을 상기 질의어에 대한 응답으로 상기 사용자 단말에게 제공하는 챗봇 서버를 포함한다.A chatbot system based on Artificial Intelligence Markup Language (AIML), comprising: a machine learning module for generating a learning model for detecting intentions corresponding to a question by mechanically learning a plurality of data sets as a data set composed of questions and intentions corresponding to the questions; A machine learning server for detecting an intention corresponding to a question using a learned learning model; Storing a plurality of intention patterns defined in an AIML form and a template corresponding to the intention pattern by responding to a user's query, and storing an intention corresponding to the query term through the machine learning server for a query term received from the user terminal And a chat server for searching for an intention pattern matched to the intention and providing a template corresponding to the retrieved intention pattern to the user terminal in response to the query term.

여기서, 상기 챗봇 서버는, 상기 복수의 의도 패턴과 상기 의도 패턴에 대응되는 템플릿을 저장하는 의도 기반 데이터베이스; 상기 기계학습 서버를 통해 파악된 상기 의도에 매칭되는 패턴을 검색하는 패턴 매칭부; 및 상기 패턴 매칭부에 의해 검색된 패턴에 해당하는 템플릿을 추출하는 템플릿 추출부를 포함한다.Here, the chatbot server may include an intention-based database for storing the plurality of intention patterns and templates corresponding to the intention patterns; A pattern matching unit for searching for a pattern matching the intention identified through the machine learning server; And a template extracting unit for extracting a template corresponding to the pattern retrieved by the pattern matching unit.

또한, 상기 패턴 매칭부는 상기 질의어에 대해 상기 의도 기반 데이터베이스를 통해 패턴 매칭을 수행하고, 매칭되는 패턴이 검색되지 않는 경우 상기 질의어를 상기 기계학습 서버로 전달하여 상기 기계학습 서버로부터 상기 질의어에 대응되는 의도를 수신함으로써 상기 질의어에 대응되는 의도를 파악한다.In addition, the pattern matching unit performs pattern matching on the query word through the intention-based database, and when the matched pattern is not searched, the pattern matching unit transmits the query word to the machine learning server, And intention corresponding to the query term is grasped by receiving the intention.

또한, 상기 기계학습 서버는 상기 데이터 집합에 대한 기계학습시 의도에 대한 신뢰도 값을 부여하여 상기 학습 모델에 학습된 의도에 대응되어 저장하고, 상기 패턴 매칭부로부터 상기 질의어가 수신되는 경우 상기 학습 모델을 통해 상기 질의어에 대응되는 의도 및 신뢰도 값을 검출하여 상기 패턴 매칭부에게 제공한다.In addition, the machine learning server may assign a reliability value for the intention of the machine learning to the data set and store the reliability value in correspondence with the learned intention in the learning model, and when the query term is received from the pattern matching unit, And provides the pattern matching unit with the intention and the confidence value corresponding to the query term.

또한, 상기 패턴 매칭부는, 상기 기계학습 서버로부터 수신되는 신뢰도 값이 미리 설정된 임계값 이상인 경우 상기 기계학습 서버로부터 수신되는 의도를 사용하여 패턴 매칭을 수행하고, 상기 신뢰도 값이 상기 미리 설정된 임계값보다 작은 경우 응답 검출 실패를 상기 질의어에 대응되는 응답으로 상기 사용자 단말에게 제공한다.The pattern matching unit may perform pattern matching using the intent received from the machine learning server when the reliability value received from the machine learning server is equal to or greater than a preset threshold value, And provides a response detection failure to the user terminal in response to the query.

또한, 상기 의도 기반 데이터베이스에 저장되는 복수의 의도 패턴은 와일드카드 사용없이 단어 또는 문장으로만 정의된다.In addition, a plurality of intention patterns stored in the intention-based database are defined only as words or sentences without using wildcards.

본 발명의 다른 특징에 따른 챗봇 서비스 제공 방법은,According to another aspect of the present invention, there is provided a method of providing a chat service,

AIML 기반의 챗봇 시스템이 사용자 단말에게 챗봇 서비스를 제공하는 방법으로서, 사용자의 질문에 응답하기 의해 AIML 형태로 정의된 복수의 의도 패턴과 상기 의도 패턴에 대응되는 템플릿을 저장하는 의도 기반 데이터베이스를 포함하고, 상기 사용자 단말로부터 질의어를 수신하는 단계; 상기 질의어를 기계학습 서버에게 전달한 후 상기 기계학습 서버로부터 의도를 수신하는 단계 - 상기 기계학습 서버는 질문과 상기 질문에 대응되는 의도로 구성된 데이터 집합으로서 복수의 데이터 집합을 기계학습하여 질문에 대응되는 의도를 검출하기 위한 학습 모델을 생성하고, 생성된 학습 모델을 사용하여 질문에 대응되는 의도를 검출함 -; 상기 기계학습 서버로부터 수신되는 의도에 대해 상기 의도 기반 데이터베이스를 사용하여 매칭되는 패턴을 검색하는 단계; 및 검색된 패턴에 대응되는 템플릿을 상기 의도 기반 데이터페이스로부터 추출하여 상기 사용자 단말에게 상기 질의어에 대응되는 응답으로 제공하는 단계를 포함한다.A method for providing a chattb service to a user terminal includes an intention-based database for storing a plurality of intention patterns defined in an AIML form by responding to a user's query and a template corresponding to the intention pattern, Receiving a query term from the user terminal; Receiving a query from the machine learning server after transmitting the query to a machine learning server, the machine learning server comprising a machine learning module for learning a plurality of sets of data as a data set comprising a question and an intention corresponding to the question, Generating a learning model for detecting the intention, and using the generated learning model to detect intent corresponding to the question; Retrieving a pattern matching the intention received from the machine learning server using the intention-based database; And extracting a template corresponding to the retrieved pattern from the intention-based data face and providing the retrieved template as a response corresponding to the query term to the user terminal.

여기서, 상기 질의어를 수신하는 단계와 상기 의도를 수신하는 단계 사이에, 상기 질의어에 대해 상기 의도 기반 데이터베이스를 사용하여 매칭되는 패턴을 검색하는 단계; 및 상기 의도 기반 데이터베이스로부터 상기 질의어에 매칭되는 패턴이 검색되는 경우 상기 질의어에 대응되는 응답으로 제공하는 단계를 수행하거나, 또는 상기 의도 기반 데이터베이스로부터 상기 질의어에 매칭되는 패턴이 검색되지 않는 경우 상기 의도를 수신하는 단계를 수행하는 단계를 더 포함한다.Searching for a pattern matched using the intention-based database for the query term, between receiving the query term and receiving the intent; And providing a response corresponding to the query term if a pattern matching the query term is retrieved from the intention based database, or if the pattern matching the query term is not retrieved from the intention based database, And performing a receiving step.

또한, 상기 의도를 수신하는 단계에서, 상기 기계학습 서버로부터 상기 의도에 대응되는 신뢰도 값을 더 수신하고, 상기 패턴을 검색하는 단계 전에, 상기 신뢰도 값이 미리 설정된 임계값 이상인지를 판단하는 단계; 및 상기 신뢰도 값이 상기 미리 설정된 임계값 이상인 경우 상기 패턴을 검색하는 단계를 수행하거나, 또는 상기 신뢰도 값이 상기 미리 설정된 임계값보다 작은 경우 응답 검출 실패를 상기 질의어에 대한 응답으로 상기 사용자 단말에게 제공하는 단계를 더 포함한다.In addition, in the step of receiving the intention, further receiving a reliability value corresponding to the intention from the machine learning server, and before the step of searching for the pattern, determining whether the reliability value is equal to or greater than a preset threshold value; And searching the pattern if the confidence value is greater than or equal to the preset threshold value or performing a step of providing a response detection failure to the user terminal in response to the query if the confidence value is less than the preset threshold value .

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

AIML(Artificial Intelligence Markup Language) 기반의 챗봇 시스템으로서, 사용자의 질문에 응답하기 의해 AIML 형태로 정의된 복수의 의도 패턴과 상기 의도 패턴에 대응되는 템플릿을 저장하는 의도 기반 데이터베이스; 질문과 상기 질문에 대응되는 의도로 구성된 데이터 집합으로서 복수의 데이터 집합을 외부의 클라우드 서버로 전달하여 질문에 대응되는 의도 검출을 위한 기계학습을 수행시킨 후, 사용자 단말로부터 수신되는 질의어를 상기 외부의 클라우드 서버로 전달하여 상기 질의어에 대응되는 의도를 수신하고, 수신된 의도에 매칭되는 패턴을 검색하는 패턴 매칭부 - 상기 외부의 클라우드 서버는 기계학습이 가능한 서버임 -; 및 상기 패턴 매칭부에 의해 검색된 패턴에 해당하는 템플릿을 추출하는 템플릿 추출부를 포함한다.A chattbot system based on AIML (Artificial Intelligence Markup Language), comprising: an intention-based database storing a plurality of intention patterns defined in AIML form by responding to a user's query; and a template corresponding to the intention pattern; A plurality of data sets are transmitted to an external cloud server as a data set composed of a question and an intention corresponding to the question to perform machine learning for intent detection corresponding to a question, A pattern matching unit for delivering the pattern to the cloud server to receive an intention corresponding to the query term and searching for a pattern matching the received intention, the external cloud server being a server capable of machine learning; And a template extracting unit for extracting a template corresponding to the pattern retrieved by the pattern matching unit.

여기서, 상기 패턴 매칭부는 상기 질의어에 대해 상기 의도 기반 데이터베이스를 통해 패턴 매칭을 수행하고, 매칭되는 패턴이 검색되지 않는 경우 상기 질의어를 상기 외부의 클라우드 서버로 전달하여 상기 외부의 클라우드 서버로부터 상기 질의어에 대응되는 의도를 수신한다.Here, the pattern matching unit performs pattern matching on the query word through the intention-based database, and when the matched pattern is not found, the pattern matching unit transmits the query word to the external cloud server, And receives the corresponding intent.

또한, 상기 패턴 매칭부는 상기 외부의 클라우드 서버로부터 상기 의도에 대한 신뢰도 값을 더 수신하고, 상기 신뢰도 값이 미리 설정된 임계값 이상인 경우 상기 외부 클라우드 서버로부터 수신되는 의도를 사용하여 패턴 매칭을 수행한다.The pattern matching unit further receives the reliability value for the intention from the external cloud server, and performs pattern matching using the intention received from the external cloud server when the reliability value is equal to or greater than a preset threshold value.

본 발명의 또 다른 특징에 따른 챗보 시스템은,According to another aspect of the present invention,

AIML(Artificial Intelligence Markup Language) 기반의 챗봇 시스템으로서, 통신기, 메모리 및 프로세서를 포함하며, 상기 통신기는 사용자 단말 및 기계학습 서버 - 상기 기계학습 서버는 질문과 상기 질문에 대응되는 의도로 구성된 데이터 집합으로서 복수의 데이터 집합을 기계학습하여 질문에 대응되는 의도를 검출하기 위한 학습 모델을 생성하고, 생성된 학습 모델을 사용하여 질문에 대응되는 의도를 검출하는 서버임 -와 통신을 수행하고, 상기 메모리는 사용자의 질문에 대해 응답하기 위해 AIML 형태로 정의된 복수의 의도 패턴과 복수의 의도 패턴에 대응되는 템플릿을 저장하고, 코드의 집합을 저장하도록 구성되며, 상기 코드는, 상기 통신기를 통해 상기 사용자 단말로부터 수신되는 질의어를 상기 통신기를 통해 상기 기계학습 서버에게 전달하는 동작; 상기 통신기를 통해 상기 기계학습 서버로부터 제공되는 의도를 수신하는 동작; 상기 의도에 대해 매칭되는 의도 패턴을 상기 메모리에서 검색하는 동작; 검색된 의도 패턴에 대응되는 템플릿을 상기 메모리에서 추출하는 동작; 및 추출되는 템플릿을 상기 통신기를 통해 상기 사용자 단말에게 제공하는 동작을 실행하도록 상기 프로세서를 제어하는 데 사용된다.A communicative system based on Artificial Intelligence Markup Language (AIML), comprising a communicator, a memory and a processor, the communicator comprising: a user terminal and a machine learning server, the machine learning server comprising a data set comprising a question and an intention corresponding to the question And a server for generating a learning model for detecting an intention corresponding to a question and detecting the intention corresponding to the question using the generated learning model, The method comprising: storing a plurality of intention patterns defined in AIML form and a template corresponding to a plurality of intent patterns for responding to a user's query and storing a set of codes, To the machine learning server via the communicator .; Receiving an intention provided from the machine learning server via the communicator; Retrieving from the memory an intent pattern that is matched against the intent; Extracting a template corresponding to the retrieved intent pattern from the memory; And providing the extracted template to the user terminal via the communicator.

여기서, 상기 프로세서는, 상기 질의어에 대해 매칭되는 패턴을 상기 메모리에서 검색하는 동작; 및 상기 질의어에 대해 매칭되는 패턴이 검색되지 않는 경우 상기 질의어를 상기 통신기를 통해 상기 기계학습 서버로 전달하는 동작을 더 실행한다.Wherein the processor is further configured to: search in the memory for a pattern that is matched against the query term; And transmitting the query to the machine learning server via the communicator if a pattern matching the query is not found.

또한, 상기 프로세서는, 상기 기계학습 서버로부터 수신되는 의도에 대응되는 신뢰도값을 더 수신하는 동작; 상기 신뢰도값이 미리 설정된 임계값이상인지를 판단하는 동작; 및 상기 신뢰도값이 상기 미리 설정된 임계값 이상인 경우에 상기 기계학습 서버로부터 수신되는 의도에 대해 패턴 매칭을 수행하는 동작을 더 실행한다.The processor may further include: an operation of further receiving a reliability value corresponding to an intention received from the machine learning server; Determining whether the reliability value is greater than or equal to a preset threshold value; And performing pattern matching on the intention received from the machine learning server when the reliability value is equal to or greater than the preset threshold value.

본 발명의 실시예에 따르면, 기계학습 기반의 시스템을 통해 자연어 기반 고객의 질문을 이해하고, 시스템의 결과 값인 질문 의도와 신뢰도 값을 활용하여 AIML 기반 챗봇 서버 내에서 AIML로 정의된 시나리오를 실행시킬 수 있는 방법을 제공 할 수 있다. According to an embodiment of the present invention, a machine learning-based system is used to understand a question of a natural language based customer and to execute a scenario defined in the AIML-based chatbot server using a question intention and a reliability value, It can provide a way to be able to.

또한, 자연어를 이해하는 기능에 대해서 AIML로 해당 패턴 표현식을 일일이 수동으로 정의하지 않고 기계학습 시스템을 통해 학습하여 자동화함으로써 자연어 처리 및 이해의 성능을 높이고 개발 및 운영 효율성까지 확보할 수 있다. In addition, it is possible to improve the processing and understanding of natural language processing and improve the development and operation efficiency by learning and automating the learning through the machine learning system without manually defining the corresponding pattern expression in AIML for the function of understanding the natural language.

또한, AIML의 장점인 연속 대화, 문맥 관리, 시나리오 등을 구현하고 대용량 학습 DB를 활용한 기계학습 시스템과 연동을 통해서 보다 완성도 높은 챗봇 서비스를 제공할 수 있다.In addition, realization of continuous conversation, context management, and scenario, which are the advantages of AIML, can be provided and a more complete chatbot service can be provided through interworking with a machine learning system using a large learning DB.

도 1은 본 발명의 실시예에 따른 챗봇 시스템의 개략 구성도이다.
도 2는 도 1에 도시된 챗봇 서버의 구체적인 구성 블록도이다.
도 3은 도 1에 도시된 기계학습 서버의 구체적인 구성을 도시한 도면이다.
도 4는 도 1에 도시된 기계학습 서버가 학습하는데 사용하는 질문-의도 데이터 집합의 예를 도시한 도면이다.
도 5는 본 발명의 실시예에 따른 챗봇 서비스 제공 방법의 개략적인 흐름도이다.
도 6은 본 발명의 실시예에 따른 챗봇 서비스 제공 방법에 따라 사용자 단말에서 수행되는 화면을 표시한 도면이다.
도 7은 도 2에 도시된 의도 기반 데이터베이스 내에 저장된 의도 패턴의 일 예를 도시한 도면이다.
도 8은 도 2에 도시된 의도 기반 데이터베이스 내에 저장된 의도 패턴의 다른 예를 도시한 도면이다.
도 9는 본 발명의 다른 실시예에 따른 챗봇 서버의 개략적인 구성 블록도이다.
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 diagram showing a specific configuration of the machine learning server shown in FIG.
FIG. 4 is a diagram showing an example of a question-intention data set used by the machine learning server shown in FIG. 1 for learning.
5 is a schematic flowchart of a method of providing a chat service in accordance with an embodiment of the present invention.
6 is a diagram illustrating a screen displayed on a user terminal according to a method of providing a chat service in accordance with an embodiment of the present invention.
FIG. 7 is a diagram showing an example of an intention pattern stored in the intention-based database shown in FIG.
FIG. 8 is a diagram showing another example of an intention pattern stored in the intention-based database shown in FIG. 2. FIG.
9 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)를 포함한다. 이 때, 도 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, and a machine learning server 300. 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)은 네트워크(400)를 통해 연결된다. 여기서 네트워크는 주로 무선 네트워크로서 단말들 및 서버들과 같은 각각의 노드 상호 간에 무선으로 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크(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 via a network 400. In this case, the network mainly refers to a connection structure capable of wirelessly exchanging information between respective nodes such as terminals and servers as a wireless network. Examples of such a network include a 3rd Generation Partnership Project (3GPP), an LTE Long Term Evolution, World Interoperability for Microwave Access (WIMAX), Wi-Fi, 3G, 4G, and 5G.

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

사용자 단말(100)은 무선 통신이 가능한 모바일 단말을 포함할 수 있고, 본 발명의 다양한 실시예들에 따르면, 사용자 단말(100)은 다양한 형태의 디바이스일 수 있다. 예를 들어, 사용자 단말(100)은 네트워크(400)를 통해 원격지의 챗봇 서버(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 capable of accessing the remote chatbot server 200 through the network 400. 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)는 사용자 단말(100)로부터 수신된 자연어 질의어에 매칭되는 패턴을 검색하고, 매칭되는 패턴이 검색되는 경우 검색된 패턴에 해당하는 템플릿을 질의어에 대한 응답으로 사용자 단말(100)에게 전송할 수 있다.The chat server 200 searches for a pattern matching a natural language query received from the user terminal 100 and transmits a template corresponding to the retrieved pattern to the user terminal 100 in response to the query if the matching pattern is searched .

그러나, 챗봇 서버(200)가 사용자 단말(100)로부터 수신된 자연어 질의어에 매칭되는 패턴을 검색하지 못하는 경우에는 해당 자연어 질의어를 기계학습 서버(300)에게 전달하고, 기계학습 서버(300)로부터 질의어에 대한 응답, 구체적으로 질의어에 대응되는 의도를 전달받아서 의도에 매칭되는 패턴을 검색하고, 검색되는 패턴에 해당하는 템플릿을 질의어에 대한 응답으로 사용자 단말(100)에게 전송할 수 있다.However, if the chatbot server 200 can not retrieve a pattern matching the natural language query received from the user terminal 100, the natural language query is transmitted to the machine learning server 300, A pattern corresponding to the intention can be retrieved by receiving the intention corresponding to the query term, and the template corresponding to the retrieved pattern can be transmitted to the user terminal 100 in response to the query term.

챗봇 서버(200)는 의도 패턴과 이 패턴에 대응되는 템플릿을 매핑한 의도 기반의 복수의 시나리오를 구축하고 있다. 챗봇 서버(200)는 이렇게 구축된 의도 기반의 복수의 시나리오에 기초하여 사용자 단말(100)의 질의어에 대한 응답을 제공할 수 있다.The chatbot server 200 constructs a plurality of scenarios based on the intention pattern mapping the intent pattern and the template corresponding to the intent pattern. The chatbot server 200 can provide a response to the query term of the user terminal 100 based on the plurality of scenarios based on the intention thus constructed.

기계학습 서버(300)는 "질문-의도"로 구성된 데이터 집합으로서 다량의 데이터를 기계학습하여 대응되는 학습 모델을 생성하고, 생성된 학습 모델을 사용하여 자연어 질문에 대한 의도를 파악하여 제공하는 기능을 수행한다. 여기서, 기계학습은 인공지능의 한 분야로서, 방대한 데이터를 분석해서 미래를 예측하는 기술이며, 컴퓨터가 스스로 학습 과정을 거치면서 입력되지 않은 정보를 습득하여 문제를 해결하는 기술이다. 기계학습을 위해 CNN(Convolutional Neural Network), R-CNN(Region with Convolutional Neural Network), LSTM((Long Short Term Memory) 등의 신경망을 활용하는 딥러닝 기술이 사용될 수 있다. 이러한 기계학습 기술에 대해서는 이미 잘 알려져 있으므로 여기에서는 구체적인 설명을 생략한다.The machine learning server 300 has a function of generating a corresponding learning model by mechanically learning a large amount of data as a data set composed of "question-intention ", and grasping intention of the natural language question using the generated learning model . Here, machine learning is a field of artificial intelligence. It is a technology that predicts the future by analyzing vast amounts of data. It is a technology that solves problems by acquiring information that has not been inputted by the computer through the learning process itself. Deep learning techniques using neural networks such as CNN (Convolutional Neural Network), R-CNN (Region with Convolutional Neural Network) and LSTM (Long Short Term Memory) can be used for machine learning. Since it is already well known, a detailed explanation is omitted here.

이하에서는 도 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), 의도 기반 데이터베이스(DB)(220), 패턴 매칭부(230), 템플릿 추출부(240), 질의어 전달부(250), 의도 수신부(260) 및 응답 제공부(270)를 포함한다. 여기서, 도 2에 도시된 챗봇 서버(200)는 본 발명의 하나의 구현 예에 불과하며, 도 2에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다. 2, the chatbot server 200 includes a query receiving unit 210, an intention-based database (DB) 220, a pattern matching unit 230, a template extracting unit 240, a query transferring unit 250, An intention receiving unit 260, and a response providing unit 270. Here, the chatbot server 200 shown in FIG. 2 is only one embodiment of the present invention, and various modifications are possible based on the components shown in FIG.

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

의도 기반 DB(220)는 사용자의 질문에 대해 응답하기 위해 AIML 형태로 정의된 복수의 의도 패턴과 복수의 의도 패턴에 대응되는 템플릿을 저장한다. 여기서, 의도 패턴은 종래와 같이 질의어에 매칭되는 복수의 패턴 표현식을 AIML로 일일이 수동으로 정의하지 않고, 질의어를 대표할 수 있는 의도 기반으로 간단하게 패턴 표현식을 정의한 것을 의미한다. 즉, 종래에는 유사한 의도에 해당되는 복수의 질의어 각각에 대해 대응되는 패턴 표현식을 복수 개로 정의해야 하지만, 본 발명의 실시예에 따른 의도 기반의 패턴은 복수의 유사한 질문을 대표하는 하나의 의도로 패턴 표현식을 정의할 수 있으므로, 패턴 표현식의 정의가 쉽고 간단하므로 최초 지식 구축은 물론 구축 이후 운영 및 유지 보수에 대한 비용이 절약될 수 있다.The intention-based DB 220 stores a plurality of intention patterns defined in AIML form and a template corresponding to a plurality of intent patterns in order to respond to a user's question. Herein, the intention pattern means that a plurality of pattern expressions matched to a query word are not defined manually by AIML, but a pattern expression is simply defined based on an intention to represent a query word. In other words, conventionally, a plurality of pattern expressions corresponding to each of a plurality of query terms corresponding to a similar intention should be defined. However, an intention-based pattern according to an embodiment of the present invention may be defined as a pattern Because expressions can be defined, the definition of pattern expressions is simple and straightforward, which saves the cost of initial knowledge construction as well as operation and maintenance after construction.

패턴 매칭부(230)는 의도 기반 DB(220) 내에 미리 설정된 복수의 의도 표현으로 구성된 복수의 패턴 중에서 질의어 수신부(210)를 통해 입력되는 질의어에 매칭되는 패턴을 검색한다.The pattern matching unit 230 searches for a pattern matching a query input through the query input unit 210 from among a plurality of patterns including a plurality of intention expressions set in the intention based DB 220 in advance.

패턴 매칭부(230)는 질의어에 매칭되는 패턴이 검색되는 경우 검색된 패턴을 템플릿 추출부(240)로 전달한다.The pattern matching unit 230 transmits the retrieved pattern to the template extracting unit 240 when a pattern matching the query term is searched.

그러나, 패턴 매칭부(230)는 질의어에 매칭되는 패턴이 검색되지 않는 경우에는 질의어 수신부(210)로부터 입력되는 질의어를 질의어 전달부(250)로 전달한다.However, the pattern matching unit 230 transmits the query input from the query receiving unit 210 to the query transmission unit 250 when a pattern matching the query is not found.

패턴 매칭부(230)는 의도 기반 DB(220) 내에 미리 설정된 복수의 의도 표현으로 구성된 복수의 패턴 중에서 의도 수신부(260)를 통해 입력되는 의도에 매칭되는 패턴을 검색한다. The pattern matching unit 230 searches for a pattern matching the intention input through the intention receiving unit 260 among a plurality of patterns formed by a plurality of intention expressions preset in the intention based DB 220.

템플릿 추출부(240)는 패턴 매칭부(230)에 의해 검색된 패턴에 해당하는 템플릿을 의도 기반 DB(220)에서 찾아서 질의어에 대한 응답으로 추출한다. The template extracting unit 240 searches the intention-based DB 220 for a template corresponding to the pattern retrieved by the pattern matching unit 230 and extracts the template in response to the query.

질의어 전달부(250)는 패턴 매칭부(230)로부터 전달되는 질의어를 기계학습 서버(300)로 전달한다.The query language transfer unit 250 transfers the query sent from the pattern matching unit 230 to the machine learning server 300.

의도 수신부(260)는 기계학습 서버(300)로부터 제공되는 의도와 신뢰도 값을 수신하여 패턴 매칭부(230)로 전달한다. 여기서, 신뢰도 값은 기계학습 서버(300)에서 학습된 의도에 대응되는 신뢰도 값이며, 패턴 매칭부(230)는 의도 수신부(260)로부터 전달되는 신뢰도 값이 임계값 이상인 경우에만 의도 수신부(260)로부터 전달되는 의도를 패턴 매칭에 사용하게 된다. 여기서 임계값은 70%의 신뢰도 값 등으로 미리 설정될 수 있다.The intention receiving unit 260 receives the intention and the reliability value provided from the machine learning server 300 and transmits the intention and the reliability value to the pattern matching unit 230. Here, the reliability value is a confidence value corresponding to the intention learned in the machine learning server 300, and the pattern matching unit 230 only transmits the intention to the intention receiving unit 260 when the reliability value transmitted from the intention receiving unit 260 is equal to or greater than the threshold value. Is used for pattern matching. Here, the threshold value may be preset to a reliability value of 70% or the like.

응답 제공부(270)는 템플릿 추출부(240)에서 추출되는 응답을 받아서 네트워크(400)를 통해 사용자 단말(100)에게 제공한다.The response providing unit 270 receives the response extracted by the template extracting unit 240 and provides the response to the user terminal 100 through the network 400. [

한편, 당업자라면, 질의어 수신부(210), 의도 기반 DB(220), 패턴 매칭부(230), 템플릿 추출부(240), 질의어 전달부(250), 의도 수신부(260) 및 응답 제공부(270) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다. Those skilled in the art will appreciate that the query receiving unit 210, the intention based DB 220, the pattern matching unit 230, the template extracting unit 240, the query language delivering unit 250, the intention receiving unit 260, ) May be separately implemented, or one or more of them may be integrated.

이하, 도 1에 도시된 기계학습 서버(300)에 대해 설명한다.Hereinafter, the machine learning server 300 shown in FIG. 1 will be described.

도 3은 도 1에 도시된 기계학습 서버(300)의 구체적인 구성을 도시한 도면이다.FIG. 3 is a diagram showing a specific configuration of the machine learning server 300 shown in FIG.

도 3에 도시된 바와 같이, 기계학습 서버(300)는 의도 학습부(310), 학습 모델 데이터베이스(DB)(320) 및 의도 검출부(330)를 포함한다. 여기서, 도 3에 도시된 기계학습 서버(300)는 본 발명의 하나의 구현 예에 불과하며, 도 3에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다. 3, the machine learning server 300 includes an intention learning unit 310, a learning model database (DB) 320, and an intention detection unit 330. Here, the machine learning server 300 shown in FIG. 3 is only one embodiment of the present invention, and various modifications are possible based on the components shown in FIG.

의도 학습부(310)는 챗봇 서버(200)로부터 입력되는 "질문-의도"로 구성된 다량의 데이터 집합을 사용하여 의도 검출을 위한 기계학습을 수행하여 학습 결과에 대응되는 학습 모델을 생성한다. 여기서, 질문은 자연어 질의어에 해당되는 질문이고, 의도는 챗봇 서버(200)의 의도 기반 DB(230)에서 사용되는 의도 패턴에 해당되는 분류를 갖도록 기계학습이 수행된다. 또한, 의도 학습부(310)에서 학습되는 의도에 대해서는 의도에 대한 학습 결과의 신뢰도 값이 함께 부여된다. The intention learning unit 310 generates a learning model corresponding to the learning result by performing machine learning for intention detection using a large amount of data set composed of "question-intention" input from the chattob server 200. [ Here, the question is a question corresponding to a natural language query, and machine learning is performed so that the intention is classified according to the intention pattern used in the intention-based DB 230 of the chatbot server 200. The intention learned by the intention learning unit 310 is also given a reliability value of the learning result for the intention.

의도 학습부(310)에서의 기계학습을 위해 사용되는 학습 데이터인 "질문-의도" 데이터 집합의 예가 도 4에 도시되어 있다. 도 4를 참조하면, "이번 달 요금 알려줘", "내 요금조회 해줘" 등과 같이 복수의 질문에 해당되는 의도가 하나로서 "사용요금 조회"로 대응되도록 기계학습이 수행되는 것을 알 수 있다.An example of a "question-intent" data set, which is learning data used for machine learning in the intention learning unit 310, is shown in FIG. Referring to FIG. 4, it can be seen that the machine learning is performed such that the intention corresponding to a plurality of questions such as "let me know the charge for this month"

학습 모델 DB(320)는 의도 학습부(310)에 의해 생성되는 학습 모델을 저장한다.The learning model DB 320 stores a learning model generated by the intention learning unit 310.

의도 검출부(330)는 챗봇 서버(200)로부터 입력되는 자연어 질의어에 대해 학습 모델 DB(320)에 저장된 학습 모델을 사용하여 자연어 질의어에 대응되는 의도와 신뢰도 값을 검출하여 챗봇 서버(200)로 제공한다.The intention detection unit 330 detects the intention and the reliability value corresponding to the natural language query using the learning model stored in the learning model DB 320 for the natural language query input from the chattob server 200 and provides the intention and the reliability value to the chattob server 200 do.

한편, 의도 학습부(310)와 의도 검출부(330)는 통합되어 하나의 구성요소로서 구현될 수 있으며, 이 경우 하나의 신경망을 사용하여 구현될 수 있다. Meanwhile, the intention learning unit 310 and the intention detection unit 330 may be integrated and implemented as one component. In this case, the intention learning unit 310 and the intention detection unit 330 may be implemented using one neural network.

이하, 도면을 참조하여 본 발명의 실시예에 따른 챗봇 서비스 제공 방법에 대해 설명한다.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는 본 발명의 실시예에 따른 챗봇 서비스 제공 방법의 개략적인 흐름도이다. 도 5에 도시된 챗봇 서비스 제공 방법은 챗봇 서버(200)에 의해 수행될 수 있다. 5 is a schematic flowchart of a method of providing a chat service in accordance with an embodiment of the present invention. The chat service providing method shown in FIG. 5 can be performed by the chat server 200. [

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

그 후, 의도 기반 DB(220)를 사용하여 수신되는 질의어에 매칭되는 패턴을 검색한다(S110).Thereafter, a pattern matching the received query is retrieved using the intention-based DB 220 (S110).

만약 질의어에 매칭되는 패턴이 검색되지 않은 경우(S120), 자연어 질의어를 기계학습 서버(300)에게 전달한다(S130).If the pattern matching the query term is not found (S120), the natural language query is transmitted to the machine learning server 300 (S130).

그 후, 기계학습 서버(300)로부터 제공되는 의도 및 신뢰도 값을 수신하고(S140), 수신된 신뢰도 값이 미리 설정된 임계값 이상인지를 판단한다(S150).Thereafter, the intention and reliability value provided from the machine learning server 300 are received (S140), and it is determined whether the received reliability value is equal to or greater than a preset threshold value (S150).

만약 신뢰도 값이 미리 설정된 임계값 이상이면, 수신된 의도에 대해 의도 기반 DB(220)를 사용하여 매칭되는 패턴을 검색한다(S160).If the confidence value is greater than or equal to a preset threshold value, a matching pattern is retrieved using the intention-based DB 220 for the received intention (S160).

만약 의도에 매칭되는 패턴이 검색되는 경우(S170), 검색된 패턴에 대응되는 템플릿을 의도 기반 DB(220)로부터 추출하여(S180) 상기 단계(S100)에서 수신된 질의어에 대한 응답으로서 네트워크(400)를 통해 사용자 단말(100)에게 제공한다(S190).If a pattern matching the intention is searched (S170), a template corresponding to the searched pattern is extracted from the intention-based DB 220 (S180), and the network 400 is extracted as a response to the query received in the step S100. To the user terminal 100 (S190).

그러나, 상기 단계(S150)에서 신뢰도 값이 미리 설정된 임계값보다 작은 경우에는 기계학습 서버(300)로부터 수신된 의도를 신뢰할 수 없으므로 사용자 단말(100)로부터 수신된 질의어에 대한 응답 검출을 실패했다는 등의 응답을 사용자 단말(100)에게 제공한다(S200). However, if the reliability value is smaller than the predetermined threshold value in the step S150, the intention received from the machine learning server 300 can not be relied upon, so that the response to the query term received from the user terminal 100 has failed To the user terminal 100 (S200).

한편, 상기 단계(S120)에서 질의어에 매칭되는 패턴이 검색되는 경우에는 검색된 패턴에 대응되는 템플릿을 의도 기반 DB(220)로부터 추출하고 추출된 템플릿을 질의어에 대한 응답으로서 네트워크(400)를 통해 사용자 단말(100)에게 제공하는 상기 단계(S180, S190)를 바로 수행하게 된다.If a pattern matching the query term is found in step S120, the template corresponding to the retrieved pattern is extracted from the intention-based DB 220, and the extracted template is stored as a response to the query on the network 400 And performs the steps S180 and S190 to provide the terminal 100 with information.

이하, 하나의 예를 참조하여 본 발명의 실시예에 따른 챗봇 서비스에 대해 설명한다.Hereinafter, a chat service according to an embodiment of the present invention will be described with reference to an example.

먼저, 도 6에 도시된 바와 같이, 사용자가 사용자 단말(100)을 통해 키보드로 직접 질문을 입력한 경우의 예가 사용된다. 즉, 사용자가 사용자 단말(100)을 사용하여 입력한 질문은 "이번 달 요금"(500)이다.First, as shown in FIG. 6, an example of a case where a user directly inputs a question via a keyboard through a user terminal 100 is used. That is, the question entered by the user using the user terminal 100 is "Monthly Rate" 500.

이와 같이 사용자로부터 질문이 입력되면 사용자 단말(100)은 입력된 질문, 즉 "이번 달 요금"을 자연어 질의어로서 챗봇 서버(200)로 전달하게 된다.When the user inputs a question as described above, the user terminal 100 transmits the inputted question, that is, "the present month rate" as a natural language query to the chatbot server 200.

챗봇 서버(200)는 사용자 단말(100)로부터 전달되는 자연어 질의어 "이번 달 요금"을 수신하면, 질의어 "이번 달 요금"에 대한 패턴 매칭을 수행하여 의도 기반 DB(230)로부터 매칭되는 패턴을 검색한다. When the chatbot server 200 receives the natural language query "current month charge" transmitted from the user terminal 100, it performs pattern matching on the query term "current month charge" to search for a pattern matched from the intention based DB 230 do.

한편, 본 발명의 실시예에 따른 챗봇 시스템(10)은 기계학습 서버(300)와 연동하기 때문에 의도 기반 DB(230)에서 AIML로 정의하는 지식에 있어서 자연어 처리 및 이해하는 데 사용되는 <pattern/>의 내용이 와일드 카드, 즉 "*"의 사용이 없이 정확한 단어와 문장 형태로 사용자의 정확한 "의도" 기반으로 정의될 수 있다. 예를 들어, 도 7 및 도 8에 도시된 바와 같이, 와일드 카드가 사용되지 않는 의도 기반의 패턴 형태로 지식이 구축되어 있다.Since the chatbot system 10 according to the embodiment of the present invention works in cooperation with the machine learning server 300, the chatbot system 10 according to the embodiment of the present invention can be configured to use the pattern / > Can be defined based on the exact "intention" of the user in the form of exact words and phrases without the use of a wildcard, "*". For example, as shown in FIGS. 7 and 8, knowledge is constructed in the form of an intent-based pattern in which no wildcards are used.

상기에서 사용자 단말(100)로부터 챗봇 서버(200)에 수신되는 질의어, 즉 "이번 달 요금"은 의도로서 취급되는 내용이 아니므로 이러한 질의어에 의한 패턴 매칭 결과는 매칭되는 패턴이 검색되지 않을 것이다. Since the query term received from the user terminal 100 at the chat terminal 200, that is, the "current month charge" is not intended as an intention, the pattern matching result by the query term will not match the pattern.

따라서, 챗봇 서버(200)는 질의어 "이번 달 요금"을 기계학습 서버(300)로 전달하여 질의어 "이번 달 요금"에 대응되는 의도를 요청한다. 본 예에서는, 질의어 "이번 달 요금"에 대응되어 학습된 의도로서 "사용요금 조회"를 가정하여 설명한다.Accordingly, the chattob server 200 transmits the query term "current month charge" to the machine learning server 300 and requests an intention corresponding to the query term "current month charge ". In this example, explanation is made on the assumption of "use charge inquiry" as an intention learned corresponding to the query term "current month charge ".

그래서, 기계학습 서버(200)는 챗봇 서버(200)로부터 입력된 질의어 "이번 달 요금"에 대해 "사용요금 조회"를 의도로서 검출하여 챗봇 서버(200)에게 제공할 것이다.Therefore, the machine learning server 200 will detect "use charge inquiry" for the query term "current month charge " inputted from the chattob server 200 as an intention and provide it to the chattob server 200.

그 후, 챗봇 서버(200)는 기계학습 서버(300)로부터 제공되는 질의어 "이번 달 요금"에 대응되는 의도, 즉 "사용요금 조회"를 제공받아서 이 의도 "사용요금 조회"로서 의도 기반 DB(230)에서 패턴 매칭을 다시 수행한다. Thereafter, the chatbot server 200 receives the intention corresponding to the query term " monthly charge "provided from the machine learning server 300, that is, the" 230). &Lt; / RTI &gt;

상기한 "사용요금 조회"는 상기에서 도 7을 참조하여 설명한 바와 같이, 이미 의도 기반 DB(230) 내에 패턴으로 저장되어 있다.As described above with reference to FIG. 7, the above-mentioned "usage charge inquiry" is already stored in the intention-based DB 230 as a pattern.

따라서, 챗봇 서버(200)는 이 번의 패턴 매칭을 통해 의도 "사용요금 조회"에 매칭되는 패턴을 검색할 수 있고, 검색된 패턴에 해당되는 템플릿, 즉 도 7에서의 템플릿인 "사용요금 조회를 원하는 기기를 ..."을 추출하여 질의어 "이번 달 요금"에 대한 응답으로서 사용자 단말(100)에게 제공할 수 있다.Accordingly, the chatbot server 200 can retrieve a pattern matching with the intention "use charge inquiry" through this pattern matching, and can search the template corresponding to the retrieved pattern, that is, The device ... "and provide it to the user terminal 100 as a response to the query term" charge for the current month ".

사용자 단말(100)은 챗봇 서버(200)로부터 제공되는 응답을 질의어 "이번 달 요금"에 대한 응답(510)으로서 도 6에 도시된 바와 같이 표시하게 된다. The user terminal 100 displays a response provided from the chat server 200 as a response 510 to the query term " current month charge " as shown in FIG.

한편, 사용자 단말(100)에서의 사용자 입력은 키보드를 사용하여 직접 입력할 수 있거나 또는 상기에서 "이번 달 요금"에 대한 응답(510)으로서 표시된 내용 중에 사용자가 키보드 대신 클릭 선택하여 입력할 수 있는 선택 버튼 형태로도 입력이 가능하다.On the other hand, the user input on the user terminal 100 can be entered directly using the keyboard, or the user can click on the keyboard to enter the content displayed as the response 510 to the " It is also possible to input in the form of a selection button.

따라서, 사용자가 "이번 달 요금"에 대한 질문에 대해 표시된 응답(510) 중에서 예를 들어 "모바일 사용요금 조회"를 선택하면, 이렇게 선택된 "모바일 사용요금 조회"가 사용자로부터 입력된 질문에 해당되어, 사용자 단말(100)에 표시됨(520)과 동시에, 다시 "모바일 사용요금 조회"가 상기에서 설명한 "이번 달 요금" 질문과 같이 챗봇 서버(200)로 전달된다.Therefore, if the user selects, for example, "Mobile usage charge inquiry" among the displayed response 510 regarding the question "Charge for the current month ", the thus selected" (520) displayed on the user terminal 100, and the "mobile usage fee inquiry" is transmitted to the chatbot server 200 as the "monthly fee" question described above.

그 후, 챗봇 서버(200)는 상기에서"이번 달 요금"을 사용하여 설명한 과정을 "모바일 사용요금 조회" 질문에 대해서도 동일하게 수행하게 된다. 다만, "이번 달 요금"에 대해 제공된 응답은 챗봇 서버(200)가 구성한 응답이므로 이러한 응답에 포함된 질문은 챗봇 서버(200)에서 사용되는 의도 기반으로 생성될 수 있다. 따라서, 두 번째의 질의어 "모바일 사용요금 조회"는 질의어 자체가 의도에 해당될 수 있으므로, 챗봇 서버(200)가 사용자 단말(100)로부터 수신되는 질의어, 즉 "모바일 사용요금 조회"에 대해 기계학습 서버(300)를 거치지 않아도 바로 의도 기반 DB(230)를 통해 직접 매칭되는 패턴을 검색할 수 있다. 상기에서 도 8을 참조하여"모바일 사용요금 조회"의도에 해당되는 패턴이 의도 기반 DB(230)에 형성되어 있는 것으로 설명한 바 있다.Thereafter, the chatbot server 200 performs the same process as described above using the "This Month Charge " However, since the response provided for the "current month rate" is a response configured by the chatbot server 200, the query included in the response may be generated based on the intention used in the chatbot server 200. [ Therefore, the second query term "mobile usage charge inquiry" may correspond to the intention of the query term itself, and thus the chatbot server 200 may perform the machine learning It is possible to retrieve a pattern directly matching through the intention based DB 230 without going through the server 300. [ It has been described above that a pattern corresponding to the intention of "inquiry of mobile usage charge" is formed in the intention-based DB 230 with reference to FIG.

따라서, 챗봇 서버(200)는 "모바일 사용요금 조회" 패턴에 해당되는 템플릿, 즉 "고객님께서 사용하신 ..."을 추출하여 질의어 "모바일 사용요금 조회"에 대한 응답으로서 사용자 단말(100)에게 제공하고, 사용자 단말(100)은 챗봇 서버(200)로부터 제공되는 응답을 질의어 "모바일 사용요금 조회"에 대한 응답(530)으로서 도 6에 도시된 바와 같이 표시하게 된다. Accordingly, the chatbot server 200 extracts a template corresponding to the "mobile usage charge inquiry" pattern, i.e., "... used by the customer" to the user terminal 100 as a response to the query " , And the user terminal 100 displays a response provided from the chat server 200 as a response 530 to the query "Mobile usage charge inquiry" as shown in FIG.

이와 같이, 본 발명의 실시예에 따르면, 기계학습 기반의 시스템을 통해 자연어 기반 고객의 질문을 이해하고, 시스템의 결과 값인 질문 의도와 신뢰도 값을 활용하여 AIML 기반 챗봇 서버 내에서 AIML로 정의된 시나리오를 실행시킬 수 있는 방법을 제공 할 수 있다. As described above, according to the embodiment of the present invention, it is possible to understand the questions of the natural language based customers through the machine learning-based system, and to use the question intention and the reliability value, which are the result values of the system, Can be provided.

또한, 자연어를 이해하는 기능에 대해서 AIML로 해당 패턴 표현식을 일일이 수동으로 정의하지 않고 기계학습 시스템을 통해 학습하여 자동화함으로써 자연어 처리 및 이해의 성능을 높이고 개발 및 운영 효율성까지 확보할 수 있다. In addition, it is possible to improve the processing and understanding of natural language processing and improve the development and operation efficiency by learning and automating the learning through the machine learning system without manually defining the corresponding pattern expression in AIML for the function of understanding the natural language.

또한, AIML의 장점인 연속 대화, 문맥 관리, 시나리오 등을 구현하고 대용량 학습 DB를 활용한 기계학습 시스템과 연동을 통해서 보다 완성도 높은 챗봇 서비스를 제공할 수 있다. In addition, realization of continuous conversation, context management, and scenario, which are the advantages of AIML, can be provided and a more complete chatbot service can be provided through interworking with a machine learning system using a large learning DB.

한편, 상기에서는 기계학습 서버(300)가 챗봇 시스템(10) 내의 하나의 구성요소인 것으로 설명하였으나, 본 발명의 기술범위는 여기로만 한정되는 것은 아니다. 예를 들어, 최근에 각종 자료를 사용자의 컴퓨터나 스마트폰 등 내부 저장 공간이 아닌 외부 클라우드 서버에 저장한 뒤에 다운로드받는 서비스인 클라우드 서비스가 각광을 받고 있으며, 이러한 클라우드 서비스는 인공지능 기술을 제공하는 외부의 클라우드 서버 등에 의해서도 제공될 수 있다. 예를 들어, IBM사의 인공지능 기술인 왓슨(Watson)이나 구글사의 텐서플로우(TesnorFlow) 등이 오픈 소프트웨어로서 잘 알려져 있다. 이들은 인공지능을 활용해 자연어 질문을 알아듣고, 방대한 데이터로부터 관련 있는 사항을 분석, 종합해 적절한 답변을 제공하는 기술이다. 이들은 API(Application Programming Interface)를 통해 인공지능 기술을 사용할 수 있는 클라우드 서비스를 제공하고 있다.Although the machine learning server 300 is described as being a component in the chatbot system 10, the technical scope of the present invention is not limited thereto. For example, cloud service, which is a service for downloading various data after storing it in an external cloud server instead of an internal storage space such as a user's computer or a smart phone, is getting popular. Such a cloud service is a service providing artificial intelligence But also by an external cloud server or the like. For example, IBM's artificial intelligence technology, Watson and Google's TesnorFlow, are well known as open software. They use artificial intelligence to understand natural language questions, analyze and synthesize relevant data from vast amounts of data, and provide appropriate answers. They are providing cloud services that can use artificial intelligence technology through API (Application Programming Interface).

다음, 본 발명의 다른 실시예에 따른 챗봇 서버에 대해 설명한다.Next, a chatbot server according to another embodiment of the present invention will be described.

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

도 9를 참조하면, 본 발명의 다른 실시예에 따른 챗봇 서버(600)는 통신기(610), 입력기(620), 메모리(630), 프로세서(640) 및 버스(650)를 포함한다.Referring to FIG. 9, 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)는 네트워크(400)를 통해 사용자 단말(100)과 통신을 수행하고, 또한 기계학습 서버(300)와 통신을 수행한다.The communicator 610 performs signal transmission with external components. Specifically, the communicator 610 communicates with the user terminal 100 via the network 400 and also communicates with the machine learning server 300. [

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

메모리(630)는 사용자의 질문에 대해 응답하기 위해 AIML 형태로 정의된 복수의 의도 패턴과 복수의 의도 패턴에 대응되는 템플릿을 저장한다.The memory 630 stores a plurality of intention patterns defined in AIML form and a template corresponding to a plurality of intent patterns in order to respond to a user's question.

따라서, 입력기(620)는 메모리(630) 내에 의도 패턴과 이 의도 패턴에 대응되는 템플릿을 추가하거나 또는 변경하기 위한 입력을 받을 수 있다.Thus, the input device 620 may receive an input for adding or changing an intention pattern in the memory 630 and a template corresponding to the intention pattern.

또한, 메모리(630)는 코드의 집합을 저장하도록 구성되고, 그 코드는 다음과 같은 동작을 실행하기 위해 프로세서(640)를 제어하는 데 사용된다. 이러한 동작은, 통신기(610)를 통해 사용자 단말(100)로부터 질의어를 수신하는 동작, 수신된 질의어에 매칭되는 패턴을 검색하는 동작, 질의어에 매칭되는 패턴이 검색되었는지를 판단하는 동작, 질의어를 통신기(610)를 통해 기계학습 서버에게 전달하는 동작, 통신기(610)를 통해 기계학습 서버(300)로부터 제공되는 의도 및 신뢰도 값을 수신하는 동작, 수신된 신뢰도 값이 미리 설정된 임계값 이상인지를 판단하는 동작, 신뢰도 값이 미리 설정된 임계값 이상인 경우 수신된 의도에 대해 메모리(630)에 저장된 복수의 의도 패턴을 통해 매칭되는 패턴을 검색하는 동작, 의도에 매칭되는 패턴이 검색되었는지를 판단하는 동작, 검색된 패턴에 대응되는 템플릿을 메모리(630)로부터 추출하여 질의어에 대한 응답으로 통신기(610)를 통해 사용자 단말(100)에게 제공하는 동작, 신뢰도 값이 미리 설정된 임계값보다 작은 경우 응답 검출 실패 응답을 통신기(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 receiving an inquiry word from the user terminal 100 via the communicator 610, searching for a pattern matching the received query word, determining whether a pattern matching the query term is retrieved, (610), receiving an intention and a reliability value provided from the machine learning server (300) via the communicator (610), determining whether the received reliability value is equal to or greater than a preset threshold value Searching for a pattern matched through a plurality of intention patterns stored in the memory 630 with respect to a received intention when the reliability value is equal to or greater than a predetermined threshold value; The template corresponding to the searched pattern is extracted from the memory 630 and provided to the user terminal 100 through the communicator 610 in response to the query Includes an operation for providing a user terminal 100 to operate, if the credit value is less than a preset threshold response detection failure response through the communication device 610.

선택적으로, 상기한 동작은 입력기(620)를 통해 입력되는 정보에 따라 메모리(630) 내에 의도 패턴 및 템플릿을 추가하거나 또는 수정하는 동작을 추가로 포함한다.Optionally, the above operations further include adding or modifying an intent pattern and a template in memory 630 in accordance with information input via input device 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)

AIML(Artificial Intelligence Markup Language) 기반의 챗봇 시스템으로서,
질문과 상기 질문에 대응되는 의도로 구성된 데이터 집합으로서 복수의 데이터 집합을 기계학습하여 질문에 대응되는 의도를 검출하기 위한 학습 모델을 생성하고, 생성된 학습 모델을 사용하여 질문에 대응되는 의도를 검출하는 기계학습 서버; 및
사용자의 질문에 응답하기 의해 AIML 형태로 정의된 복수의 의도 패턴과 상기 의도 패턴에 대응되는 템플릿을 저장하며, 사용자 단말로부터 수신되는 질의어에 대해 상기 기계학습 서버를 통해 상기 질의어에 대응되는 의도를 파악하고, 파악된 의도에 매칭되는 의도 패턴을 검색하여 검색된 의도 패턴에 대응되는 템플릿을 상기 질의어에 대한 응답으로 상기 사용자 단말에게 제공하는 챗봇 서버
를 포함하는 챗봇 시스템.
As a chatbot system based on AIML (Artificial Intelligence Markup Language)
A data set composed of a question and an intention corresponding to the question, a plurality of data sets are machine-learned to generate a learning model for detecting an intention corresponding to the question, and the intention corresponding to the question is detected A machine learning server; And
Storing a plurality of intention patterns defined in an AIML form and a template corresponding to the intention pattern by responding to a user's query and determining an intention corresponding to the query word through the machine learning server for a query term received from the user terminal Searching for an intent pattern corresponding to the intention that has been detected, and providing a template corresponding to the retrieved intent pattern to the user terminal in response to the query term,
.
제1항에 있어서,
상기 챗봇 서버는,
상기 복수의 의도 패턴과 상기 의도 패턴에 대응되는 템플릿을 저장하는 의도 기반 데이터베이스;
상기 기계학습 서버를 통해 파악된 상기 의도에 매칭되는 패턴을 검색하는 패턴 매칭부; 및
상기 패턴 매칭부에 의해 검색된 패턴에 해당하는 템플릿을 추출하는 템플릿 추출부
를 포함하는, 챗봇 시스템.
The method according to claim 1,
The chatbot server,
An intention-based database for storing the plurality of intention patterns and templates corresponding to the intention patterns;
A pattern matching unit for searching for a pattern matching the intention identified through the machine learning server; And
A template extracting unit for extracting a template corresponding to the pattern retrieved by the pattern matching unit,
.
제2항에 있어서,
상기 패턴 매칭부는 상기 질의어에 대해 상기 의도 기반 데이터베이스를 통해 패턴 매칭을 수행하고, 매칭되는 패턴이 검색되지 않는 경우 상기 질의어를 상기 기계학습 서버로 전달하여 상기 기계학습 서버로부터 상기 질의어에 대응되는 의도를 수신함으로써 상기 질의어에 대응되는 의도를 파악하는,
챗봇 시스템.
3. The method of claim 2,
Wherein the pattern matching unit performs pattern matching on the query word through the intention-based database, and when the matched pattern is not found, transfers the query term to the machine learning server so that the intention corresponding to the query word And receiving an intention corresponding to the query term by receiving,
Chambot system.
제3항에 있어서,
상기 기계학습 서버는 상기 데이터 집합에 대한 기계학습시 의도에 대한 신뢰도 값을 부여하여 상기 학습 모델에 학습된 의도에 대응되어 저장하고,
상기 패턴 매칭부로부터 상기 질의어가 수신되는 경우 상기 학습 모델을 통해 상기 질의어에 대응되는 의도 및 신뢰도 값을 검출하여 상기 패턴 매칭부에게 제공하는,
챗봇 시스템.
The method of claim 3,
Wherein the machine learning server assigns a confidence value to the intention of the machine learning to the data set and stores the reliability value in correspondence with the learned intention in the learning model,
And detecting an intention and a confidence value corresponding to the query term through the learning model when the query term is received from the pattern matching unit,
Chambot system.
제4항에 있어서,
상기 패턴 매칭부는,
상기 기계학습 서버로부터 수신되는 신뢰도 값이 미리 설정된 임계값 이상인 경우 상기 기계학습 서버로부터 수신되는 의도를 사용하여 패턴 매칭을 수행하고,
상기 신뢰도 값이 상기 미리 설정된 임계값보다 작은 경우 응답 검출 실패를 상기 질의어에 대응되는 응답으로 상기 사용자 단말에게 제공하는,
챗봇 시스템.
5. The method of claim 4,
Wherein the pattern matching unit comprises:
Performing pattern matching using an intention received from the machine learning server when a reliability value received from the machine learning server is equal to or greater than a preset threshold value,
And providing a response detection failure to the user terminal in response to the query if the reliability value is less than the preset threshold value.
Chambot system.
제2항 내지 제5항 중 어느 한 항에 있어서,
상기 의도 기반 데이터베이스에 저장되는 복수의 의도 패턴은 와일드카드 사용없이 단어 또는 문장으로만 정의되는,
챗봇 시스템.
6. The method according to any one of claims 2 to 5,
Wherein the plurality of intention patterns stored in the intention-based database are defined only as words or sentences without using wildcards,
Chambot system.
AIML 기반의 챗봇 시스템이 사용자 단말에게 챗봇 서비스를 제공하는 방법으로서,
사용자의 질문에 응답하기 의해 AIML 형태로 정의된 복수의 의도 패턴과 상기 의도 패턴에 대응되는 템플릿을 저장하는 의도 기반 데이터베이스를 포함하고,
상기 사용자 단말로부터 질의어를 수신하는 단계;
상기 질의어를 기계학습 서버에게 전달한 후 상기 기계학습 서버로부터 의도를 수신하는 단계 - 상기 기계학습 서버는 질문과 상기 질문에 대응되는 의도로 구성된 데이터 집합으로서 복수의 데이터 집합을 기계학습하여 질문에 대응되는 의도를 검출하기 위한 학습 모델을 생성하고, 생성된 학습 모델을 사용하여 질문에 대응되는 의도를 검출함 -;
상기 기계학습 서버로부터 수신되는 의도에 대해 상기 의도 기반 데이터베이스를 사용하여 매칭되는 패턴을 검색하는 단계; 및
검색된 패턴에 대응되는 템플릿을 상기 의도 기반 데이터페이스로부터 추출하여 상기 사용자 단말에게 상기 질의어에 대응되는 응답으로 제공하는 단계
를 포함하는 챗봇 서비스 제공 방법.
A method in which an AIML-based chatbot system provides a chat service to a user terminal,
And an intention-based database for storing a plurality of intention patterns defined in AIML form by responding to a user's query and a template corresponding to the intention pattern,
Receiving a query from the user terminal;
Receiving a query from the machine learning server after transmitting the query to a machine learning server, the machine learning server comprising a machine learning module for learning a plurality of sets of data as a data set comprising a question and an intention corresponding to the question, Generating a learning model for detecting the intention, and using the generated learning model to detect intent corresponding to the question;
Retrieving a pattern matching the intention received from the machine learning server using the intention-based database; And
Extracting a template corresponding to the searched pattern from the intention-based data face and providing the template to the user terminal as a response corresponding to the query term
And providing the service to the service provider.
제7항에 있어서,
상기 질의어를 수신하는 단계와 상기 의도를 수신하는 단계 사이에,
상기 질의어에 대해 상기 의도 기반 데이터베이스를 사용하여 매칭되는 패턴을 검색하는 단계; 및
상기 의도 기반 데이터베이스로부터 상기 질의어에 매칭되는 패턴이 검색되는 경우 상기 질의어에 대응되는 응답으로 제공하는 단계를 수행하거나, 또는
상기 의도 기반 데이터베이스로부터 상기 질의어에 매칭되는 패턴이 검색되지 않는 경우 상기 의도를 수신하는 단계를 수행하는 단계
를 더 포함하는, 챗봇 서비스 제공 방법.
8. The method of claim 7,
Between the step of receiving the query and the step of receiving the intention,
Searching for a pattern matching the query terms using the intention-based database; And
Performing a step of providing, as a response corresponding to the query, if a pattern matching the query term is retrieved from the intention-based database, or
Performing a step of receiving the intention if a pattern matching the query term is not retrieved from the intention based database
Further comprising the steps of:
제7항에 있어서,
상기 의도를 수신하는 단계에서, 상기 기계학습 서버로부터 상기 의도에 대응되는 신뢰도 값을 더 수신하고,
상기 패턴을 검색하는 단계 전에,
상기 신뢰도 값이 미리 설정된 임계값 이상인지를 판단하는 단계; 및
상기 신뢰도 값이 상기 미리 설정된 임계값 이상인 경우 상기 패턴을 검색하는 단계를 수행하거나, 또는 상기 신뢰도 값이 상기 미리 설정된 임계값보다 작은 경우 응답 검출 실패를 상기 질의어에 대한 응답으로 상기 사용자 단말에게 제공하는 단계
를 더 포함하는, 챗봇 서비스 제공 방법.
8. The method of claim 7,
Further comprising: receiving, from the machine learning server, a reliability value corresponding to the intention in the step of receiving the intention,
Before the step of searching for the pattern,
Determining whether the reliability value is greater than or equal to a preset threshold value; And
Performing a step of searching for the pattern when the reliability value is equal to or greater than the preset threshold value or providing a response detection failure to the user terminal in response to the query if the reliability value is smaller than the preset threshold value step
Further comprising the steps of:
AIML(Artificial Intelligence Markup Language) 기반의 챗봇 시스템으로서,
사용자의 질문에 응답하기 의해 AIML 형태로 정의된 복수의 의도 패턴과 상기 의도 패턴에 대응되는 템플릿을 저장하는 의도 기반 데이터베이스;
질문과 상기 질문에 대응되는 의도로 구성된 데이터 집합으로서 복수의 데이터 집합을 외부의 클라우드 서버로 전달하여 질문에 대응되는 의도 검출을 위한 기계학습을 수행시킨 후, 사용자 단말로부터 수신되는 질의어를 상기 외부의 클라우드 서버로 전달하여 상기 질의어에 대응되는 의도를 수신하고, 수신된 의도에 매칭되는 패턴을 검색하는 패턴 매칭부 - 상기 외부의 클라우드 서버는 기계학습이 가능한 서버임 -; 및
상기 패턴 매칭부에 의해 검색된 패턴에 해당하는 템플릿을 추출하는 템플릿 추출부
를 포함하는 챗봇 시스템.
As a chatbot system based on AIML (Artificial Intelligence Markup Language)
An intention-based database for storing a plurality of intention patterns defined in AIML form by responding to a user's query and a template corresponding to the intention pattern;
A plurality of data sets are transmitted to an external cloud server as a data set composed of a question and an intention corresponding to the question to perform machine learning for intent detection corresponding to a question, A pattern matching unit for delivering the pattern to the cloud server to receive an intention corresponding to the query term and searching for a pattern matching the received intention, the external cloud server being a server capable of machine learning; And
A template extracting unit for extracting a template corresponding to the pattern retrieved by the pattern matching unit,
.
제10항에 있어서,
상기 패턴 매칭부는 상기 질의어에 대해 상기 의도 기반 데이터베이스를 통해 패턴 매칭을 수행하고, 매칭되는 패턴이 검색되지 않는 경우 상기 질의어를 상기 외부의 클라우드 서버로 전달하여 상기 외부의 클라우드 서버로부터 상기 질의어에 대응되는 의도를 수신하는,
챗봇 시스템.
11. The method of claim 10,
Wherein the pattern matching unit performs pattern matching on the query word through the intention-based database, and when the matched pattern is not searched, the pattern matching unit transmits the query word to the external cloud server, Receiving intent,
Chambot system.
제10항에 있어서,
상기 패턴 매칭부는 상기 외부의 클라우드 서버로부터 상기 의도에 대한 신뢰도 값을 더 수신하고,
상기 신뢰도 값이 미리 설정된 임계값 이상인 경우 상기 외부 클라우드 서버로부터 수신되는 의도를 사용하여 패턴 매칭을 수행하는,
챗봇 시스템.
11. The method of claim 10,
Wherein the pattern matching unit further receives a reliability value for the intention from the external cloud server,
And performing pattern matching using an intention received from the external cloud server when the reliability value is equal to or greater than a preset threshold value.
Chambot system.
AIML(Artificial Intelligence Markup Language) 기반의 챗봇 시스템으로서,
통신기, 메모리 및 프로세서를 포함하며,
상기 통신기는 사용자 단말 및 기계학습 서버 - 상기 기계학습 서버는 질문과 상기 질문에 대응되는 의도로 구성된 데이터 집합으로서 복수의 데이터 집합을 기계학습하여 질문에 대응되는 의도를 검출하기 위한 학습 모델을 생성하고, 생성된 학습 모델을 사용하여 질문에 대응되는 의도를 검출하는 서버임 -와 통신을 수행하고,
상기 메모리는 사용자의 질문에 대해 응답하기 위해 AIML 형태로 정의된 복수의 의도 패턴과 복수의 의도 패턴에 대응되는 템플릿을 저장하고, 코드의 집합을 저장하도록 구성되며,
상기 코드는,
상기 통신기를 통해 상기 사용자 단말로부터 수신되는 질의어를 상기 통신기를 통해 상기 기계학습 서버에게 전달하는 동작;
상기 통신기를 통해 상기 기계학습 서버로부터 제공되는 의도를 수신하는 동작;
상기 의도에 대해 매칭되는 의도 패턴을 상기 메모리에서 검색하는 동작;
검색된 의도 패턴에 대응되는 템플릿을 상기 메모리에서 추출하는 동작; 및
추출되는 템플릿을 상기 통신기를 통해 상기 사용자 단말에게 제공하는 동작
을 실행하도록 상기 프로세서를 제어하는 데 사용되는,
챗봇 시스템.
As a chatbot system based on AIML (Artificial Intelligence Markup Language)
A communication device, a memory, and a processor,
Wherein the communicator comprises a user terminal and a machine learning server, wherein the machine learning server generates a learning model for machine learning a plurality of sets of data as a data set comprising a question and an intention corresponding to the question to detect an intention corresponding to the question And a server for detecting an intention corresponding to a question using the generated learning model,
Wherein the memory is configured to store a plurality of intention patterns defined in AIML form and a template corresponding to a plurality of intent patterns to respond to a user &apos; s query, and to store a set of codes,
The code includes:
Transmitting a query term received from the user terminal through the communicator to the machine learning server via the communicator;
Receiving an intention provided from the machine learning server via the communicator;
Retrieving from the memory an intent pattern that is matched against the intent;
Extracting a template corresponding to the retrieved intent pattern from the memory; And
And providing the extracted template to the user terminal through the communicator
Lt; RTI ID = 0.0 &gt; a &lt; / RTI &gt; processor,
Chambot system.
제13항에 있어서,
상기 프로세서는,
상기 질의어에 대해 매칭되는 패턴을 상기 메모리에서 검색하는 동작; 및
상기 질의어에 대해 매칭되는 패턴이 검색되지 않는 경우 상기 질의어를 상기 통신기를 통해 상기 기계학습 서버로 전달하는 동작
을 더 실행하는, 챗봇 시스템.
14. The method of claim 13,
The processor comprising:
Searching in the memory for a pattern matched for the query term; And
And transmitting the query term to the machine learning server via the communicator when a pattern matching the query word is not found
And further executing the chatbot system.
제13항에 있어서,
상기 프로세서는,
상기 기계학습 서버로부터 수신되는 의도에 대응되는 신뢰도값을 더 수신하는 동작;
상기 신뢰도값이 미리 설정된 임계값이상인지를 판단하는 동작; 및
상기 신뢰도값이 상기 미리 설정된 임계값 이상인 경우에 상기 기계학습 서버로부터 수신되는 의도에 대해 패턴 매칭을 수행하는 동작
을 더 실행하는, 챗봇 시스템.
14. The method of claim 13,
The processor comprising:
Further receiving a reliability value corresponding to an intention received from the machine learning server;
Determining whether the reliability value is greater than or equal to a preset threshold value; And
Performing pattern matching on an intention received from the machine learning server when the reliability value is equal to or greater than the preset threshold value
And further executing the chatbot system.
KR1020170166934A 2017-12-06 2017-12-06 Chatbot system based on artificial intelligence markup language and method for proding chatbot service KR102517843B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170166934A KR102517843B1 (en) 2017-12-06 2017-12-06 Chatbot system based on artificial intelligence markup language and method for proding chatbot service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170166934A KR102517843B1 (en) 2017-12-06 2017-12-06 Chatbot system based on artificial intelligence markup language and method for proding chatbot service

Publications (2)

Publication Number Publication Date
KR20190066988A true KR20190066988A (en) 2019-06-14
KR102517843B1 KR102517843B1 (en) 2023-04-03

Family

ID=66846730

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170166934A KR102517843B1 (en) 2017-12-06 2017-12-06 Chatbot system based on artificial intelligence markup language and method for proding chatbot service

Country Status (1)

Country Link
KR (1) KR102517843B1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210105705A (en) * 2020-02-19 2021-08-27 주식회사 케이티 Method for providing automatic answering service and system therefor
KR20210119773A (en) 2020-03-25 2021-10-06 한전케이디엔주식회사 System and method for recommending customized chatbot based on machine learning
KR20210119772A (en) 2020-03-25 2021-10-06 한전케이디엔주식회사 Natural language processing management system and method for chat-bot service
KR20210132472A (en) 2020-04-27 2021-11-04 한전케이디엔주식회사 Electric power operation system for operating one or more main equipment systems
KR20210151565A (en) 2020-06-05 2021-12-14 한전케이디엔주식회사 System for managing chatbot based on accuracy rating
KR20220085221A (en) * 2020-12-15 2022-06-22 주식회사 와이즈넛 The method of managing chatbot conversation flow using script
US11487953B2 (en) 2019-11-19 2022-11-01 Samsung Electronics Co., Ltd. Method and apparatus with natural language processing
KR102575790B1 (en) * 2023-06-23 2023-09-07 고경우 Server and method for providing administrative service support platform based on artificial intelligence

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070024918A (en) * 2005-08-31 2007-03-08 김유신 Apparatus and method for providing video conference service in virtual space
KR20130128717A (en) * 2012-05-17 2013-11-27 포항공과대학교 산학협력단 Conversation managemnt system and method thereof
KR20170048008A (en) * 2015-10-26 2017-05-08 에스케이텔레콤 주식회사 Apparatus for analyzing intention of query and method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070024918A (en) * 2005-08-31 2007-03-08 김유신 Apparatus and method for providing video conference service in virtual space
KR20130128717A (en) * 2012-05-17 2013-11-27 포항공과대학교 산학협력단 Conversation managemnt system and method thereof
KR20170048008A (en) * 2015-10-26 2017-05-08 에스케이텔레콤 주식회사 Apparatus for analyzing intention of query and method thereof

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11487953B2 (en) 2019-11-19 2022-11-01 Samsung Electronics Co., Ltd. Method and apparatus with natural language processing
KR20210105705A (en) * 2020-02-19 2021-08-27 주식회사 케이티 Method for providing automatic answering service and system therefor
KR20230002127A (en) * 2020-02-19 2023-01-05 주식회사 케이티 Method for providing automatic answering service and system therefor
KR20210119773A (en) 2020-03-25 2021-10-06 한전케이디엔주식회사 System and method for recommending customized chatbot based on machine learning
KR20210119772A (en) 2020-03-25 2021-10-06 한전케이디엔주식회사 Natural language processing management system and method for chat-bot service
KR20210132472A (en) 2020-04-27 2021-11-04 한전케이디엔주식회사 Electric power operation system for operating one or more main equipment systems
KR20210151565A (en) 2020-06-05 2021-12-14 한전케이디엔주식회사 System for managing chatbot based on accuracy rating
KR20220085221A (en) * 2020-12-15 2022-06-22 주식회사 와이즈넛 The method of managing chatbot conversation flow using script
KR102575790B1 (en) * 2023-06-23 2023-09-07 고경우 Server and method for providing administrative service support platform based on artificial intelligence

Also Published As

Publication number Publication date
KR102517843B1 (en) 2023-04-03

Similar Documents

Publication Publication Date Title
KR102517843B1 (en) Chatbot system based on artificial intelligence markup language and method for proding chatbot service
KR102146031B1 (en) Chatbot system based on multi-domain and method for providing chatbot service
US11223644B2 (en) Graphical structure model-based prevention and control of abnormal accounts
US20240004732A1 (en) Application program interface analyzer for a universal interaction platform
JP6594534B2 (en) Text information processing method and device
US20200250378A1 (en) Methods and apparatuses for identifying a user intent of a statement
CN108280115B (en) Method and device for identifying user relationship
US8566403B2 (en) Message content management system
US20220164683A1 (en) Generating a domain-specific knowledge graph from unstructured computer text
US10621245B2 (en) Webpage data analysis method and device
US11140182B2 (en) Predictive anomaly handling in a service provider system
US20200167429A1 (en) Efficient use of word embeddings for text classification
US11483408B2 (en) Feature-based network embedding
CN111563220A (en) Business website project construction method and device, computer equipment and storage medium
CN111143543A (en) Object recommendation method, device, equipment and medium
CN114840671A (en) Dialogue generation method, model training method, device, equipment and medium
US10217455B2 (en) Linguistic model database for linguistic recognition, linguistic recognition device and linguistic recognition method, and linguistic recognition system
US11120223B2 (en) Probabilistic word embeddings for text classification
CN111930891B (en) Knowledge graph-based search text expansion method and related device
US10757203B2 (en) Method to enrich the browser cookies&#39; attributes by graph propagation
CN112417874A (en) Named entity recognition method and device, storage medium and electronic device
CN115097740A (en) Equipment control method, device, system and storage medium
US20220350810A1 (en) Data-driven enrichment of database elements
US20220035992A1 (en) Ai driven content correction built on personas
JP6745402B2 (en) Question estimator

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