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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000013473 artificial intelligence Methods 0.000 title claims description 14
- 238000010801 machine learning Methods 0.000 claims abstract description 88
- 230000004044 response Effects 0.000 claims abstract description 42
- 230000015654 memory Effects 0.000 claims description 19
- 238000001514 detection method Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 3
- 230000014509 gene expression Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000003058 natural language processing Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
Images
Classifications
-
- G06Q50/50—
-
- 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—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/30—Transportation; Communications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
Abstract
Description
본 발명은 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
사용자 단말(100)은 네트워크(400)를 통해 연결된다. 여기서 네트워크는 주로 무선 네트워크로서 단말들 및 서버들과 같은 각각의 노드 상호 간에 무선으로 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크(network)의 일례에는 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 3G, 4G, 5G 등이 포함되나 이에 한정되지는 않는다.The
사용자 단말(100)은 사용자의 질의를 입력받아서 네트워크(400)를 통해 챗봇 서버(200)로 전달하고, 챗봇 서버(200)로부터 질의에 대한 응답을 전달받아서 사용자에게 제공하는 챗봇 서비스 어플리케이션인 챗봇 클라이언트가 탑재된 단말일 수 있다.The
사용자 단말(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
챗봇 서버(200)는 사용자 단말(100)로부터 수신된 자연어 질의어에 매칭되는 패턴을 검색하고, 매칭되는 패턴이 검색되는 경우 검색된 패턴에 해당하는 템플릿을 질의어에 대한 응답으로 사용자 단말(100)에게 전송할 수 있다.The
그러나, 챗봇 서버(200)가 사용자 단말(100)로부터 수신된 자연어 질의어에 매칭되는 패턴을 검색하지 못하는 경우에는 해당 자연어 질의어를 기계학습 서버(300)에게 전달하고, 기계학습 서버(300)로부터 질의어에 대한 응답, 구체적으로 질의어에 대응되는 의도를 전달받아서 의도에 매칭되는 패턴을 검색하고, 검색되는 패턴에 해당하는 템플릿을 질의어에 대한 응답으로 사용자 단말(100)에게 전송할 수 있다.However, if the
챗봇 서버(200)는 의도 패턴과 이 패턴에 대응되는 템플릿을 매핑한 의도 기반의 복수의 시나리오를 구축하고 있다. 챗봇 서버(200)는 이렇게 구축된 의도 기반의 복수의 시나리오에 기초하여 사용자 단말(100)의 질의어에 대한 응답을 제공할 수 있다.The
기계학습 서버(300)는 "질문-의도"로 구성된 데이터 집합으로서 다량의 데이터를 기계학습하여 대응되는 학습 모델을 생성하고, 생성된 학습 모델을 사용하여 자연어 질문에 대한 의도를 파악하여 제공하는 기능을 수행한다. 여기서, 기계학습은 인공지능의 한 분야로서, 방대한 데이터를 분석해서 미래를 예측하는 기술이며, 컴퓨터가 스스로 학습 과정을 거치면서 입력되지 않은 정보를 습득하여 문제를 해결하는 기술이다. 기계학습을 위해 CNN(Convolutional Neural Network), R-CNN(Region with Convolutional Neural Network), LSTM((Long Short Term Memory) 등의 신경망을 활용하는 딥러닝 기술이 사용될 수 있다. 이러한 기계학습 기술에 대해서는 이미 잘 알려져 있으므로 여기에서는 구체적인 설명을 생략한다.The
이하에서는 도 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
도 2에 도시된 바와 같이, 챗봇 서버(200)는 질의어 수신부(210), 의도 기반 데이터베이스(DB)(220), 패턴 매칭부(230), 템플릿 추출부(240), 질의어 전달부(250), 의도 수신부(260) 및 응답 제공부(270)를 포함한다. 여기서, 도 2에 도시된 챗봇 서버(200)는 본 발명의 하나의 구현 예에 불과하며, 도 2에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다. 2, the
질의어 수신부(210)는 네트워크(400)를 통해 사용자 단말(100)로부터 자연어 질의어를 입력받는다. The query
의도 기반 DB(220)는 사용자의 질문에 대해 응답하기 위해 AIML 형태로 정의된 복수의 의도 패턴과 복수의 의도 패턴에 대응되는 템플릿을 저장한다. 여기서, 의도 패턴은 종래와 같이 질의어에 매칭되는 복수의 패턴 표현식을 AIML로 일일이 수동으로 정의하지 않고, 질의어를 대표할 수 있는 의도 기반으로 간단하게 패턴 표현식을 정의한 것을 의미한다. 즉, 종래에는 유사한 의도에 해당되는 복수의 질의어 각각에 대해 대응되는 패턴 표현식을 복수 개로 정의해야 하지만, 본 발명의 실시예에 따른 의도 기반의 패턴은 복수의 유사한 질문을 대표하는 하나의 의도로 패턴 표현식을 정의할 수 있으므로, 패턴 표현식의 정의가 쉽고 간단하므로 최초 지식 구축은 물론 구축 이후 운영 및 유지 보수에 대한 비용이 절약될 수 있다.The intention-based
패턴 매칭부(230)는 의도 기반 DB(220) 내에 미리 설정된 복수의 의도 표현으로 구성된 복수의 패턴 중에서 질의어 수신부(210)를 통해 입력되는 질의어에 매칭되는 패턴을 검색한다.The
패턴 매칭부(230)는 질의어에 매칭되는 패턴이 검색되는 경우 검색된 패턴을 템플릿 추출부(240)로 전달한다.The
그러나, 패턴 매칭부(230)는 질의어에 매칭되는 패턴이 검색되지 않는 경우에는 질의어 수신부(210)로부터 입력되는 질의어를 질의어 전달부(250)로 전달한다.However, the
패턴 매칭부(230)는 의도 기반 DB(220) 내에 미리 설정된 복수의 의도 표현으로 구성된 복수의 패턴 중에서 의도 수신부(260)를 통해 입력되는 의도에 매칭되는 패턴을 검색한다. The
템플릿 추출부(240)는 패턴 매칭부(230)에 의해 검색된 패턴에 해당하는 템플릿을 의도 기반 DB(220)에서 찾아서 질의어에 대한 응답으로 추출한다. The
질의어 전달부(250)는 패턴 매칭부(230)로부터 전달되는 질의어를 기계학습 서버(300)로 전달한다.The query
의도 수신부(260)는 기계학습 서버(300)로부터 제공되는 의도와 신뢰도 값을 수신하여 패턴 매칭부(230)로 전달한다. 여기서, 신뢰도 값은 기계학습 서버(300)에서 학습된 의도에 대응되는 신뢰도 값이며, 패턴 매칭부(230)는 의도 수신부(260)로부터 전달되는 신뢰도 값이 임계값 이상인 경우에만 의도 수신부(260)로부터 전달되는 의도를 패턴 매칭에 사용하게 된다. 여기서 임계값은 70%의 신뢰도 값 등으로 미리 설정될 수 있다.The
응답 제공부(270)는 템플릿 추출부(240)에서 추출되는 응답을 받아서 네트워크(400)를 통해 사용자 단말(100)에게 제공한다.The
한편, 당업자라면, 질의어 수신부(210), 의도 기반 DB(220), 패턴 매칭부(230), 템플릿 추출부(240), 질의어 전달부(250), 의도 수신부(260) 및 응답 제공부(270) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다. Those skilled in the art will appreciate that the
이하, 도 1에 도시된 기계학습 서버(300)에 대해 설명한다.Hereinafter, the
도 3은 도 1에 도시된 기계학습 서버(300)의 구체적인 구성을 도시한 도면이다.FIG. 3 is a diagram showing a specific configuration of the
도 3에 도시된 바와 같이, 기계학습 서버(300)는 의도 학습부(310), 학습 모델 데이터베이스(DB)(320) 및 의도 검출부(330)를 포함한다. 여기서, 도 3에 도시된 기계학습 서버(300)는 본 발명의 하나의 구현 예에 불과하며, 도 3에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다. 3, the
의도 학습부(310)는 챗봇 서버(200)로부터 입력되는 "질문-의도"로 구성된 다량의 데이터 집합을 사용하여 의도 검출을 위한 기계학습을 수행하여 학습 결과에 대응되는 학습 모델을 생성한다. 여기서, 질문은 자연어 질의어에 해당되는 질문이고, 의도는 챗봇 서버(200)의 의도 기반 DB(230)에서 사용되는 의도 패턴에 해당되는 분류를 갖도록 기계학습이 수행된다. 또한, 의도 학습부(310)에서 학습되는 의도에 대해서는 의도에 대한 학습 결과의 신뢰도 값이 함께 부여된다. The
의도 학습부(310)에서의 기계학습을 위해 사용되는 학습 데이터인 "질문-의도" 데이터 집합의 예가 도 4에 도시되어 있다. 도 4를 참조하면, "이번 달 요금 알려줘", "내 요금조회 해줘" 등과 같이 복수의 질문에 해당되는 의도가 하나로서 "사용요금 조회"로 대응되도록 기계학습이 수행되는 것을 알 수 있다.An example of a "question-intent" data set, which is learning data used for machine learning in the
학습 모델 DB(320)는 의도 학습부(310)에 의해 생성되는 학습 모델을 저장한다.The
의도 검출부(330)는 챗봇 서버(200)로부터 입력되는 자연어 질의어에 대해 학습 모델 DB(320)에 저장된 학습 모델을 사용하여 자연어 질의어에 대응되는 의도와 신뢰도 값을 검출하여 챗봇 서버(200)로 제공한다.The
한편, 의도 학습부(310)와 의도 검출부(330)는 통합되어 하나의 구성요소로서 구현될 수 있으며, 이 경우 하나의 신경망을 사용하여 구현될 수 있다. Meanwhile, the
이하, 도면을 참조하여 본 발명의 실시예에 따른 챗봇 서비스 제공 방법에 대해 설명한다.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
도 5를 참조하면, 챗봇 서버(200)는 네트워크(400)를 통해 사용자 단말(100)로부터 자연어 질의어를 수신한다(S100).Referring to FIG. 5, the
그 후, 의도 기반 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
만약 신뢰도 값이 미리 설정된 임계값 이상이면, 수신된 의도에 대해 의도 기반 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
만약 의도에 매칭되는 패턴이 검색되는 경우(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
그러나, 상기 단계(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
한편, 상기 단계(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
이하, 하나의 예를 참조하여 본 발명의 실시예에 따른 챗봇 서비스에 대해 설명한다.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
이와 같이 사용자로부터 질문이 입력되면 사용자 단말(100)은 입력된 질문, 즉 "이번 달 요금"을 자연어 질의어로서 챗봇 서버(200)로 전달하게 된다.When the user inputs a question as described above, the
챗봇 서버(200)는 사용자 단말(100)로부터 전달되는 자연어 질의어 "이번 달 요금"을 수신하면, 질의어 "이번 달 요금"에 대한 패턴 매칭을 수행하여 의도 기반 DB(230)로부터 매칭되는 패턴을 검색한다. When the
한편, 본 발명의 실시예에 따른 챗봇 시스템(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
상기에서 사용자 단말(100)로부터 챗봇 서버(200)에 수신되는 질의어, 즉 "이번 달 요금"은 의도로서 취급되는 내용이 아니므로 이러한 질의어에 의한 패턴 매칭 결과는 매칭되는 패턴이 검색되지 않을 것이다. Since the query term received from the
따라서, 챗봇 서버(200)는 질의어 "이번 달 요금"을 기계학습 서버(300)로 전달하여 질의어 "이번 달 요금"에 대응되는 의도를 요청한다. 본 예에서는, 질의어 "이번 달 요금"에 대응되어 학습된 의도로서 "사용요금 조회"를 가정하여 설명한다.Accordingly, the
그래서, 기계학습 서버(200)는 챗봇 서버(200)로부터 입력된 질의어 "이번 달 요금"에 대해 "사용요금 조회"를 의도로서 검출하여 챗봇 서버(200)에게 제공할 것이다.Therefore, the
그 후, 챗봇 서버(200)는 기계학습 서버(300)로부터 제공되는 질의어 "이번 달 요금"에 대응되는 의도, 즉 "사용요금 조회"를 제공받아서 이 의도 "사용요금 조회"로서 의도 기반 DB(230)에서 패턴 매칭을 다시 수행한다. Thereafter, the
상기한 "사용요금 조회"는 상기에서 도 7을 참조하여 설명한 바와 같이, 이미 의도 기반 DB(230) 내에 패턴으로 저장되어 있다.As described above with reference to FIG. 7, the above-mentioned "usage charge inquiry" is already stored in the intention-based
따라서, 챗봇 서버(200)는 이 번의 패턴 매칭을 통해 의도 "사용요금 조회"에 매칭되는 패턴을 검색할 수 있고, 검색된 패턴에 해당되는 템플릿, 즉 도 7에서의 템플릿인 "사용요금 조회를 원하는 기기를 ..."을 추출하여 질의어 "이번 달 요금"에 대한 응답으로서 사용자 단말(100)에게 제공할 수 있다.Accordingly, the
사용자 단말(100)은 챗봇 서버(200)로부터 제공되는 응답을 질의어 "이번 달 요금"에 대한 응답(510)으로서 도 6에 도시된 바와 같이 표시하게 된다. The
한편, 사용자 단말(100)에서의 사용자 입력은 키보드를 사용하여 직접 입력할 수 있거나 또는 상기에서 "이번 달 요금"에 대한 응답(510)으로서 표시된 내용 중에 사용자가 키보드 대신 클릭 선택하여 입력할 수 있는 선택 버튼 형태로도 입력이 가능하다.On the other hand, the user input on the
따라서, 사용자가 "이번 달 요금"에 대한 질문에 대해 표시된 응답(510) 중에서 예를 들어 "모바일 사용요금 조회"를 선택하면, 이렇게 선택된 "모바일 사용요금 조회"가 사용자로부터 입력된 질문에 해당되어, 사용자 단말(100)에 표시됨(520)과 동시에, 다시 "모바일 사용요금 조회"가 상기에서 설명한 "이번 달 요금" 질문과 같이 챗봇 서버(200)로 전달된다.Therefore, if the user selects, for example, "Mobile usage charge inquiry" among the displayed
그 후, 챗봇 서버(200)는 상기에서"이번 달 요금"을 사용하여 설명한 과정을 "모바일 사용요금 조회" 질문에 대해서도 동일하게 수행하게 된다. 다만, "이번 달 요금"에 대해 제공된 응답은 챗봇 서버(200)가 구성한 응답이므로 이러한 응답에 포함된 질문은 챗봇 서버(200)에서 사용되는 의도 기반으로 생성될 수 있다. 따라서, 두 번째의 질의어 "모바일 사용요금 조회"는 질의어 자체가 의도에 해당될 수 있으므로, 챗봇 서버(200)가 사용자 단말(100)로부터 수신되는 질의어, 즉 "모바일 사용요금 조회"에 대해 기계학습 서버(300)를 거치지 않아도 바로 의도 기반 DB(230)를 통해 직접 매칭되는 패턴을 검색할 수 있다. 상기에서 도 8을 참조하여"모바일 사용요금 조회"의도에 해당되는 패턴이 의도 기반 DB(230)에 형성되어 있는 것으로 설명한 바 있다.Thereafter, the
따라서, 챗봇 서버(200)는 "모바일 사용요금 조회" 패턴에 해당되는 템플릿, 즉 "고객님께서 사용하신 ..."을 추출하여 질의어 "모바일 사용요금 조회"에 대한 응답으로서 사용자 단말(100)에게 제공하고, 사용자 단말(100)은 챗봇 서버(200)로부터 제공되는 응답을 질의어 "모바일 사용요금 조회"에 대한 응답(530)으로서 도 6에 도시된 바와 같이 표시하게 된다. Accordingly, the
이와 같이, 본 발명의 실시예에 따르면, 기계학습 기반의 시스템을 통해 자연어 기반 고객의 질문을 이해하고, 시스템의 결과 값인 질문 의도와 신뢰도 값을 활용하여 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
다음, 본 발명의 다른 실시예에 따른 챗봇 서버에 대해 설명한다.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
통신기(610)는 외부 구성요소와의 신호 전송을 수행한다. 구체적으로, 통신기(610)는 네트워크(400)를 통해 사용자 단말(100)과 통신을 수행하고, 또한 기계학습 서버(300)와 통신을 수행한다.The
입력기(620)는 외부로부터의 입력을 수신한다. 이러한 입력은 데이터 입력 또는 명령 입력일 수 있다.The
메모리(630)는 사용자의 질문에 대해 응답하기 위해 AIML 형태로 정의된 복수의 의도 패턴과 복수의 의도 패턴에 대응되는 템플릿을 저장한다.The
따라서, 입력기(620)는 메모리(630) 내에 의도 패턴과 이 의도 패턴에 대응되는 템플릿을 추가하거나 또는 변경하기 위한 입력을 받을 수 있다.Thus, the
또한, 메모리(630)는 코드의 집합을 저장하도록 구성되고, 그 코드는 다음과 같은 동작을 실행하기 위해 프로세서(640)를 제어하는 데 사용된다. 이러한 동작은, 통신기(610)를 통해 사용자 단말(100)로부터 질의어를 수신하는 동작, 수신된 질의어에 매칭되는 패턴을 검색하는 동작, 질의어에 매칭되는 패턴이 검색되었는지를 판단하는 동작, 질의어를 통신기(610)를 통해 기계학습 서버에게 전달하는 동작, 통신기(610)를 통해 기계학습 서버(300)로부터 제공되는 의도 및 신뢰도 값을 수신하는 동작, 수신된 신뢰도 값이 미리 설정된 임계값 이상인지를 판단하는 동작, 신뢰도 값이 미리 설정된 임계값 이상인 경우 수신된 의도에 대해 메모리(630)에 저장된 복수의 의도 패턴을 통해 매칭되는 패턴을 검색하는 동작, 의도에 매칭되는 패턴이 검색되었는지를 판단하는 동작, 검색된 패턴에 대응되는 템플릿을 메모리(630)로부터 추출하여 질의어에 대한 응답으로 통신기(610)를 통해 사용자 단말(100)에게 제공하는 동작, 신뢰도 값이 미리 설정된 임계값보다 작은 경우 응답 검출 실패 응답을 통신기(610)를 통해 사용자 단말(100)에게 제공하는 동작을 포함한다.The
선택적으로, 상기한 동작은 입력기(620)를 통해 입력되는 정보에 따라 메모리(630) 내에 의도 패턴 및 템플릿을 추가하거나 또는 수정하는 동작을 추가로 포함한다.Optionally, the above operations further include adding or modifying an intent pattern and a template in
이러한 메모리(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)
질문과 상기 질문에 대응되는 의도로 구성된 데이터 집합으로서 복수의 데이터 집합을 기계학습하여 질문에 대응되는 의도를 검출하기 위한 학습 모델을 생성하고, 생성된 학습 모델을 사용하여 질문에 대응되는 의도를 검출하는 기계학습 서버; 및
사용자의 질문에 응답하기 의해 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,
.
상기 챗봇 서버는,
상기 복수의 의도 패턴과 상기 의도 패턴에 대응되는 템플릿을 저장하는 의도 기반 데이터베이스;
상기 기계학습 서버를 통해 파악된 상기 의도에 매칭되는 패턴을 검색하는 패턴 매칭부; 및
상기 패턴 매칭부에 의해 검색된 패턴에 해당하는 템플릿을 추출하는 템플릿 추출부
를 포함하는, 챗봇 시스템.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,
.
상기 패턴 매칭부는 상기 질의어에 대해 상기 의도 기반 데이터베이스를 통해 패턴 매칭을 수행하고, 매칭되는 패턴이 검색되지 않는 경우 상기 질의어를 상기 기계학습 서버로 전달하여 상기 기계학습 서버로부터 상기 질의어에 대응되는 의도를 수신함으로써 상기 질의어에 대응되는 의도를 파악하는,
챗봇 시스템.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.
상기 기계학습 서버는 상기 데이터 집합에 대한 기계학습시 의도에 대한 신뢰도 값을 부여하여 상기 학습 모델에 학습된 의도에 대응되어 저장하고,
상기 패턴 매칭부로부터 상기 질의어가 수신되는 경우 상기 학습 모델을 통해 상기 질의어에 대응되는 의도 및 신뢰도 값을 검출하여 상기 패턴 매칭부에게 제공하는,
챗봇 시스템.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.
상기 패턴 매칭부는,
상기 기계학습 서버로부터 수신되는 신뢰도 값이 미리 설정된 임계값 이상인 경우 상기 기계학습 서버로부터 수신되는 의도를 사용하여 패턴 매칭을 수행하고,
상기 신뢰도 값이 상기 미리 설정된 임계값보다 작은 경우 응답 검출 실패를 상기 질의어에 대응되는 응답으로 상기 사용자 단말에게 제공하는,
챗봇 시스템.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.
상기 의도 기반 데이터베이스에 저장되는 복수의 의도 패턴은 와일드카드 사용없이 단어 또는 문장으로만 정의되는,
챗봇 시스템.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 형태로 정의된 복수의 의도 패턴과 상기 의도 패턴에 대응되는 템플릿을 저장하는 의도 기반 데이터베이스를 포함하고,
상기 사용자 단말로부터 질의어를 수신하는 단계;
상기 질의어를 기계학습 서버에게 전달한 후 상기 기계학습 서버로부터 의도를 수신하는 단계 - 상기 기계학습 서버는 질문과 상기 질문에 대응되는 의도로 구성된 데이터 집합으로서 복수의 데이터 집합을 기계학습하여 질문에 대응되는 의도를 검출하기 위한 학습 모델을 생성하고, 생성된 학습 모델을 사용하여 질문에 대응되는 의도를 검출함 -;
상기 기계학습 서버로부터 수신되는 의도에 대해 상기 의도 기반 데이터베이스를 사용하여 매칭되는 패턴을 검색하는 단계; 및
검색된 패턴에 대응되는 템플릿을 상기 의도 기반 데이터페이스로부터 추출하여 상기 사용자 단말에게 상기 질의어에 대응되는 응답으로 제공하는 단계
를 포함하는 챗봇 서비스 제공 방법.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.
상기 질의어를 수신하는 단계와 상기 의도를 수신하는 단계 사이에,
상기 질의어에 대해 상기 의도 기반 데이터베이스를 사용하여 매칭되는 패턴을 검색하는 단계; 및
상기 의도 기반 데이터베이스로부터 상기 질의어에 매칭되는 패턴이 검색되는 경우 상기 질의어에 대응되는 응답으로 제공하는 단계를 수행하거나, 또는
상기 의도 기반 데이터베이스로부터 상기 질의어에 매칭되는 패턴이 검색되지 않는 경우 상기 의도를 수신하는 단계를 수행하는 단계
를 더 포함하는, 챗봇 서비스 제공 방법.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:
상기 의도를 수신하는 단계에서, 상기 기계학습 서버로부터 상기 의도에 대응되는 신뢰도 값을 더 수신하고,
상기 패턴을 검색하는 단계 전에,
상기 신뢰도 값이 미리 설정된 임계값 이상인지를 판단하는 단계; 및
상기 신뢰도 값이 상기 미리 설정된 임계값 이상인 경우 상기 패턴을 검색하는 단계를 수행하거나, 또는 상기 신뢰도 값이 상기 미리 설정된 임계값보다 작은 경우 응답 검출 실패를 상기 질의어에 대한 응답으로 상기 사용자 단말에게 제공하는 단계
를 더 포함하는, 챗봇 서비스 제공 방법.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 형태로 정의된 복수의 의도 패턴과 상기 의도 패턴에 대응되는 템플릿을 저장하는 의도 기반 데이터베이스;
질문과 상기 질문에 대응되는 의도로 구성된 데이터 집합으로서 복수의 데이터 집합을 외부의 클라우드 서버로 전달하여 질문에 대응되는 의도 검출을 위한 기계학습을 수행시킨 후, 사용자 단말로부터 수신되는 질의어를 상기 외부의 클라우드 서버로 전달하여 상기 질의어에 대응되는 의도를 수신하고, 수신된 의도에 매칭되는 패턴을 검색하는 패턴 매칭부 - 상기 외부의 클라우드 서버는 기계학습이 가능한 서버임 -; 및
상기 패턴 매칭부에 의해 검색된 패턴에 해당하는 템플릿을 추출하는 템플릿 추출부
를 포함하는 챗봇 시스템.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,
.
상기 패턴 매칭부는 상기 질의어에 대해 상기 의도 기반 데이터베이스를 통해 패턴 매칭을 수행하고, 매칭되는 패턴이 검색되지 않는 경우 상기 질의어를 상기 외부의 클라우드 서버로 전달하여 상기 외부의 클라우드 서버로부터 상기 질의어에 대응되는 의도를 수신하는,
챗봇 시스템.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.
상기 패턴 매칭부는 상기 외부의 클라우드 서버로부터 상기 의도에 대한 신뢰도 값을 더 수신하고,
상기 신뢰도 값이 미리 설정된 임계값 이상인 경우 상기 외부 클라우드 서버로부터 수신되는 의도를 사용하여 패턴 매칭을 수행하는,
챗봇 시스템.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 형태로 정의된 복수의 의도 패턴과 복수의 의도 패턴에 대응되는 템플릿을 저장하고, 코드의 집합을 저장하도록 구성되며,
상기 코드는,
상기 통신기를 통해 상기 사용자 단말로부터 수신되는 질의어를 상기 통신기를 통해 상기 기계학습 서버에게 전달하는 동작;
상기 통신기를 통해 상기 기계학습 서버로부터 제공되는 의도를 수신하는 동작;
상기 의도에 대해 매칭되는 의도 패턴을 상기 메모리에서 검색하는 동작;
검색된 의도 패턴에 대응되는 템플릿을 상기 메모리에서 추출하는 동작; 및
추출되는 템플릿을 상기 통신기를 통해 상기 사용자 단말에게 제공하는 동작
을 실행하도록 상기 프로세서를 제어하는 데 사용되는,
챗봇 시스템.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 ' 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 > a < / RTI > processor,
Chambot system.
상기 프로세서는,
상기 질의어에 대해 매칭되는 패턴을 상기 메모리에서 검색하는 동작; 및
상기 질의어에 대해 매칭되는 패턴이 검색되지 않는 경우 상기 질의어를 상기 통신기를 통해 상기 기계학습 서버로 전달하는 동작
을 더 실행하는, 챗봇 시스템.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.
상기 프로세서는,
상기 기계학습 서버로부터 수신되는 의도에 대응되는 신뢰도값을 더 수신하는 동작;
상기 신뢰도값이 미리 설정된 임계값이상인지를 판단하는 동작; 및
상기 신뢰도값이 상기 미리 설정된 임계값 이상인 경우에 상기 기계학습 서버로부터 수신되는 의도에 대해 패턴 매칭을 수행하는 동작
을 더 실행하는, 챗봇 시스템.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.
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)
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)
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 |
-
2017
- 2017-12-06 KR KR1020170166934A patent/KR102517843B1/en active IP Right Grant
Patent Citations (3)
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)
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' 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 |