KR20190066988A - Aiml 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법 - Google Patents

Aiml 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법 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
English (en)
Other versions
KR102517843B1 (ko
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/ko
Publication of KR20190066988A publication Critical patent/KR20190066988A/ko
Application granted granted Critical
Publication of KR102517843B1 publication Critical patent/KR102517843B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry
    • G06Q50/30
    • 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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Tourism & Hospitality (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Operations Research (AREA)
  • Acoustics & Sound (AREA)
  • Biophysics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Molecular Biology (AREA)
  • Human Computer Interaction (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

AIML 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법이 개시된다.
이 시스템은 기계학습 서버와 챗봇 서버를 포함한다. 기계학습 서버는 질문과 상기 질문에 대응되는 의도로 구성된 데이터 집합으로서 복수의 데이터 집합을 기계학습하여 질문에 대응되는 의도를 검출하기 위한 학습 모델을 생성하고, 생성된 학습 모델을 사용하여 질문에 대응되는 의도를 검출한다. 챗봇 서버는 사용자의 질문에 응답하기 의해 AIML 형태로 정의된 복수의 의도 패턴과 상기 의도 패턴에 대응되는 템플릿을 저장하며, 사용자 단말로부터 수신되는 질의어에 대해 상기 기계학습 서버를 통해 상기 질의어에 대응되는 의도를 파악하고, 파악된 의도에 매칭되는 의도 패턴을 검색하여 검색된 의도 패턴에 대응되는 템플릿을 상기 질의어에 대한 응답으로 상기 사용자 단말에게 제공한다.

Description

AIML 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법 {CHATBOT SYSTEM BASED ON ARTIFICIAL INTELLIGENCE MARKUP LANGUAGE AND METHOD FOR PRODING CHATBOT SERVICE}
본 발명은 AIML 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법에 관한 것이다.
최근 스마트폰을 통한 메신저의 사용 환경 확대와 인공지능의 발전과 함께 고객들과 기업들이 메시징 서비스를 통해서 연결이 되기를 원함에 따라 정해진 응답 규칙을 바탕으로 메신저를 통해 사용자와 대답할 수 있도록 구현된 챗봇(ChatBot) 시스템이 각광을 받고 있다. 이러한 챗봇 시스템은 원래 채터 로봇(Chatter Robot) 시스템을 의미하는 시스템으로 대화를 하는 로봇이라고 할 수 있다.
챗봇 시스템은 XML(Extensible Markup Language) 기반의 비표준 생성 언어인 AIML(Artificial Intelligence Markup Language)을 사용하여 프로그래밍된다.
일반적으로 AIML 기반으로 자연어 처리 및 이해를 하기 위한 방법은 AIML 규격에서 정의된 패턴 매칭을 위한 표현식을 활용하여 규칙을 정의하는 것이다. AIML을 활용한 자연어 패턴 매칭 정의의 예는 다음과 같다.
<category>
<pattern>WHAT IS YOUR </pattern>
<template>My name is Michael N.S Evanious.</template>
</category>
패턴 매칭 정의에서 <pattern/> 태그 안의 내용이 사용자가 입력한 자연어의 처리/이해를 위한 패턴 표현식이다. 여기서 정의된 "*"는 AIML에서 정의하는 와일드 카드로서 1개 이상의 "임의" 단어 또는 문장에 매칭시키고자 할 때 사용한다. 상세히 설명하면 "WHAT IS YOUR"로 시작되는 문장("WHAT IS YOUR NAME", "WHAT IS YOUR ID"등)에 대해서는 모두 매칭 되어 <template/>의 내용인 "My name is Michael N.S Evanious."의 응답이 사용자에게 출력이 되는"질문-응답"을 위한 대화 지식 표현이다.
한편, 자연어를 이해하는 챗봇 시스템을 개발하기 위해서는 다양한 문장 예제들을 수집하는데 이 문장들에 대해서 AIML 기반으로 자연어 처리 및 이해시키기 위해서는 위 AIML 기반 지식 표현 예시와 같은 패턴 표현식을 활용하여 개별적으로 수동 정의 및 생성해야 한다.
챗봇 서비스의 범위가 좁고 이에 따라 자연어 질문의 유형이 다양하지 않을 경우 AIML의 패턴 표현식으로 손쉽게 표현이 가능하지만, 서비스의 범위가 넓고 자연어 질문의 유형이 길고 복잡하게 될 경우 유연한 패턴 표현식의 정의가 쉽지 않고, 이에 따라 자연어 처리 및 이해 성능이 떨어지며 최초 지식 구축뿐만 아니라 구축 이후 운영 및 유지 보수에 대해서도 상당한 비용과 노력이 발생하는 문제가 있다.
본 발명이 해결하고자 하는 과제는 기계학습 기반의 시스템을 통해 자연어 기반 고객의 질문을 이해하고, 시스템의 결과 값인 질문 의도와 신뢰도 값을 활용하여 AIML 기반 챗봇 서버 내에서 AIML로 정의된 시나리오를 실행시킬 수 있는 AIML 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법을 제공하는 것이다.
본 발명의 하나의 특징에 따른 챗봇 시스템은,
AIML(Artificial Intelligence Markup Language) 기반의 챗봇 시스템으로서, 질문과 상기 질문에 대응되는 의도로 구성된 데이터 집합으로서 복수의 데이터 집합을 기계학습하여 질문에 대응되는 의도를 검출하기 위한 학습 모델을 생성하고, 생성된 학습 모델을 사용하여 질문에 대응되는 의도를 검출하는 기계학습 서버; 및 사용자의 질문에 응답하기 의해 AIML 형태로 정의된 복수의 의도 패턴과 상기 의도 패턴에 대응되는 템플릿을 저장하며, 사용자 단말로부터 수신되는 질의어에 대해 상기 기계학습 서버를 통해 상기 질의어에 대응되는 의도를 파악하고, 파악된 의도에 매칭되는 의도 패턴을 검색하여 검색된 의도 패턴에 대응되는 템플릿을 상기 질의어에 대한 응답으로 상기 사용자 단말에게 제공하는 챗봇 서버를 포함한다.
여기서, 상기 챗봇 서버는, 상기 복수의 의도 패턴과 상기 의도 패턴에 대응되는 템플릿을 저장하는 의도 기반 데이터베이스; 상기 기계학습 서버를 통해 파악된 상기 의도에 매칭되는 패턴을 검색하는 패턴 매칭부; 및 상기 패턴 매칭부에 의해 검색된 패턴에 해당하는 템플릿을 추출하는 템플릿 추출부를 포함한다.
또한, 상기 패턴 매칭부는 상기 질의어에 대해 상기 의도 기반 데이터베이스를 통해 패턴 매칭을 수행하고, 매칭되는 패턴이 검색되지 않는 경우 상기 질의어를 상기 기계학습 서버로 전달하여 상기 기계학습 서버로부터 상기 질의어에 대응되는 의도를 수신함으로써 상기 질의어에 대응되는 의도를 파악한다.
또한, 상기 기계학습 서버는 상기 데이터 집합에 대한 기계학습시 의도에 대한 신뢰도 값을 부여하여 상기 학습 모델에 학습된 의도에 대응되어 저장하고, 상기 패턴 매칭부로부터 상기 질의어가 수신되는 경우 상기 학습 모델을 통해 상기 질의어에 대응되는 의도 및 신뢰도 값을 검출하여 상기 패턴 매칭부에게 제공한다.
또한, 상기 패턴 매칭부는, 상기 기계학습 서버로부터 수신되는 신뢰도 값이 미리 설정된 임계값 이상인 경우 상기 기계학습 서버로부터 수신되는 의도를 사용하여 패턴 매칭을 수행하고, 상기 신뢰도 값이 상기 미리 설정된 임계값보다 작은 경우 응답 검출 실패를 상기 질의어에 대응되는 응답으로 상기 사용자 단말에게 제공한다.
또한, 상기 의도 기반 데이터베이스에 저장되는 복수의 의도 패턴은 와일드카드 사용없이 단어 또는 문장으로만 정의된다.
본 발명의 다른 특징에 따른 챗봇 서비스 제공 방법은,
AIML 기반의 챗봇 시스템이 사용자 단말에게 챗봇 서비스를 제공하는 방법으로서, 사용자의 질문에 응답하기 의해 AIML 형태로 정의된 복수의 의도 패턴과 상기 의도 패턴에 대응되는 템플릿을 저장하는 의도 기반 데이터베이스를 포함하고, 상기 사용자 단말로부터 질의어를 수신하는 단계; 상기 질의어를 기계학습 서버에게 전달한 후 상기 기계학습 서버로부터 의도를 수신하는 단계 - 상기 기계학습 서버는 질문과 상기 질문에 대응되는 의도로 구성된 데이터 집합으로서 복수의 데이터 집합을 기계학습하여 질문에 대응되는 의도를 검출하기 위한 학습 모델을 생성하고, 생성된 학습 모델을 사용하여 질문에 대응되는 의도를 검출함 -; 상기 기계학습 서버로부터 수신되는 의도에 대해 상기 의도 기반 데이터베이스를 사용하여 매칭되는 패턴을 검색하는 단계; 및 검색된 패턴에 대응되는 템플릿을 상기 의도 기반 데이터페이스로부터 추출하여 상기 사용자 단말에게 상기 질의어에 대응되는 응답으로 제공하는 단계를 포함한다.
여기서, 상기 질의어를 수신하는 단계와 상기 의도를 수신하는 단계 사이에, 상기 질의어에 대해 상기 의도 기반 데이터베이스를 사용하여 매칭되는 패턴을 검색하는 단계; 및 상기 의도 기반 데이터베이스로부터 상기 질의어에 매칭되는 패턴이 검색되는 경우 상기 질의어에 대응되는 응답으로 제공하는 단계를 수행하거나, 또는 상기 의도 기반 데이터베이스로부터 상기 질의어에 매칭되는 패턴이 검색되지 않는 경우 상기 의도를 수신하는 단계를 수행하는 단계를 더 포함한다.
또한, 상기 의도를 수신하는 단계에서, 상기 기계학습 서버로부터 상기 의도에 대응되는 신뢰도 값을 더 수신하고, 상기 패턴을 검색하는 단계 전에, 상기 신뢰도 값이 미리 설정된 임계값 이상인지를 판단하는 단계; 및 상기 신뢰도 값이 상기 미리 설정된 임계값 이상인 경우 상기 패턴을 검색하는 단계를 수행하거나, 또는 상기 신뢰도 값이 상기 미리 설정된 임계값보다 작은 경우 응답 검출 실패를 상기 질의어에 대한 응답으로 상기 사용자 단말에게 제공하는 단계를 더 포함한다.
본 발명의 또 다른 특징에 따른 챗봇 시스템은,
AIML(Artificial Intelligence Markup Language) 기반의 챗봇 시스템으로서, 사용자의 질문에 응답하기 의해 AIML 형태로 정의된 복수의 의도 패턴과 상기 의도 패턴에 대응되는 템플릿을 저장하는 의도 기반 데이터베이스; 질문과 상기 질문에 대응되는 의도로 구성된 데이터 집합으로서 복수의 데이터 집합을 외부의 클라우드 서버로 전달하여 질문에 대응되는 의도 검출을 위한 기계학습을 수행시킨 후, 사용자 단말로부터 수신되는 질의어를 상기 외부의 클라우드 서버로 전달하여 상기 질의어에 대응되는 의도를 수신하고, 수신된 의도에 매칭되는 패턴을 검색하는 패턴 매칭부 - 상기 외부의 클라우드 서버는 기계학습이 가능한 서버임 -; 및 상기 패턴 매칭부에 의해 검색된 패턴에 해당하는 템플릿을 추출하는 템플릿 추출부를 포함한다.
여기서, 상기 패턴 매칭부는 상기 질의어에 대해 상기 의도 기반 데이터베이스를 통해 패턴 매칭을 수행하고, 매칭되는 패턴이 검색되지 않는 경우 상기 질의어를 상기 외부의 클라우드 서버로 전달하여 상기 외부의 클라우드 서버로부터 상기 질의어에 대응되는 의도를 수신한다.
또한, 상기 패턴 매칭부는 상기 외부의 클라우드 서버로부터 상기 의도에 대한 신뢰도 값을 더 수신하고, 상기 신뢰도 값이 미리 설정된 임계값 이상인 경우 상기 외부 클라우드 서버로부터 수신되는 의도를 사용하여 패턴 매칭을 수행한다.
본 발명의 또 다른 특징에 따른 챗보 시스템은,
AIML(Artificial Intelligence Markup Language) 기반의 챗봇 시스템으로서, 통신기, 메모리 및 프로세서를 포함하며, 상기 통신기는 사용자 단말 및 기계학습 서버 - 상기 기계학습 서버는 질문과 상기 질문에 대응되는 의도로 구성된 데이터 집합으로서 복수의 데이터 집합을 기계학습하여 질문에 대응되는 의도를 검출하기 위한 학습 모델을 생성하고, 생성된 학습 모델을 사용하여 질문에 대응되는 의도를 검출하는 서버임 -와 통신을 수행하고, 상기 메모리는 사용자의 질문에 대해 응답하기 위해 AIML 형태로 정의된 복수의 의도 패턴과 복수의 의도 패턴에 대응되는 템플릿을 저장하고, 코드의 집합을 저장하도록 구성되며, 상기 코드는, 상기 통신기를 통해 상기 사용자 단말로부터 수신되는 질의어를 상기 통신기를 통해 상기 기계학습 서버에게 전달하는 동작; 상기 통신기를 통해 상기 기계학습 서버로부터 제공되는 의도를 수신하는 동작; 상기 의도에 대해 매칭되는 의도 패턴을 상기 메모리에서 검색하는 동작; 검색된 의도 패턴에 대응되는 템플릿을 상기 메모리에서 추출하는 동작; 및 추출되는 템플릿을 상기 통신기를 통해 상기 사용자 단말에게 제공하는 동작을 실행하도록 상기 프로세서를 제어하는 데 사용된다.
여기서, 상기 프로세서는, 상기 질의어에 대해 매칭되는 패턴을 상기 메모리에서 검색하는 동작; 및 상기 질의어에 대해 매칭되는 패턴이 검색되지 않는 경우 상기 질의어를 상기 통신기를 통해 상기 기계학습 서버로 전달하는 동작을 더 실행한다.
또한, 상기 프로세서는, 상기 기계학습 서버로부터 수신되는 의도에 대응되는 신뢰도값을 더 수신하는 동작; 상기 신뢰도값이 미리 설정된 임계값이상인지를 판단하는 동작; 및 상기 신뢰도값이 상기 미리 설정된 임계값 이상인 경우에 상기 기계학습 서버로부터 수신되는 의도에 대해 패턴 매칭을 수행하는 동작을 더 실행한다.
본 발명의 실시예에 따르면, 기계학습 기반의 시스템을 통해 자연어 기반 고객의 질문을 이해하고, 시스템의 결과 값인 질문 의도와 신뢰도 값을 활용하여 AIML 기반 챗봇 서버 내에서 AIML로 정의된 시나리오를 실행시킬 수 있는 방법을 제공 할 수 있다.
또한, 자연어를 이해하는 기능에 대해서 AIML로 해당 패턴 표현식을 일일이 수동으로 정의하지 않고 기계학습 시스템을 통해 학습하여 자동화함으로써 자연어 처리 및 이해의 성능을 높이고 개발 및 운영 효율성까지 확보할 수 있다.
또한, AIML의 장점인 연속 대화, 문맥 관리, 시나리오 등을 구현하고 대용량 학습 DB를 활용한 기계학습 시스템과 연동을 통해서 보다 완성도 높은 챗봇 서비스를 제공할 수 있다.
도 1은 본 발명의 실시예에 따른 챗봇 시스템의 개략 구성도이다.
도 2는 도 1에 도시된 챗봇 서버의 구체적인 구성 블록도이다.
도 3은 도 1에 도시된 기계학습 서버의 구체적인 구성을 도시한 도면이다.
도 4는 도 1에 도시된 기계학습 서버가 학습하는데 사용하는 질문-의도 데이터 집합의 예를 도시한 도면이다.
도 5는 본 발명의 실시예에 따른 챗봇 서비스 제공 방법의 개략적인 흐름도이다.
도 6은 본 발명의 실시예에 따른 챗봇 서비스 제공 방법에 따라 사용자 단말에서 수행되는 화면을 표시한 도면이다.
도 7은 도 2에 도시된 의도 기반 데이터베이스 내에 저장된 의도 패턴의 일 예를 도시한 도면이다.
도 8은 도 2에 도시된 의도 기반 데이터베이스 내에 저장된 의도 패턴의 다른 예를 도시한 도면이다.
도 9는 본 발명의 다른 실시예에 따른 챗봇 서버의 개략적인 구성 블록도이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
이하, 도면을 참고하여 본 발명의 실시예에 따른 챗봇 시스템에 대해 설명한다.
도 1은 본 발명의 실시예에 따른 챗봇 시스템의 개략 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 실시예에 따른 챗봇 시스템(10)은 사용자 단말(100), 챗봇 서버(200) 및 기계학습 서버(300)를 포함한다. 이 때, 도 1에 도시된 챗봇 시스템(10)은 본 발명의 일 실시예에 불과하므로 도 1을 통해 본 발명이 한정 해석되는 것은 아니며, 본 발명의 다양한 실시예들에 따라 도 1과 다르게 구성될 수도 있다.
사용자 단말(100)은 네트워크(400)를 통해 연결된다. 여기서 네트워크는 주로 무선 네트워크로서 단말들 및 서버들과 같은 각각의 노드 상호 간에 무선으로 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크(network)의 일례에는 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 3G, 4G, 5G 등이 포함되나 이에 한정되지는 않는다.
사용자 단말(100)은 사용자의 질의를 입력받아서 네트워크(400)를 통해 챗봇 서버(200)로 전달하고, 챗봇 서버(200)로부터 질의에 대한 응답을 전달받아서 사용자에게 제공하는 챗봇 서비스 어플리케이션인 챗봇 클라이언트가 탑재된 단말일 수 있다.
사용자 단말(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에 도시된 형태 또는 앞서 예시된 것들로만 한정 해석되는 것은 아니다.
챗봇 서버(200)는 사용자 단말(100)로부터 수신된 자연어 질의어에 매칭되는 패턴을 검색하고, 매칭되는 패턴이 검색되는 경우 검색된 패턴에 해당하는 템플릿을 질의어에 대한 응답으로 사용자 단말(100)에게 전송할 수 있다.
그러나, 챗봇 서버(200)가 사용자 단말(100)로부터 수신된 자연어 질의어에 매칭되는 패턴을 검색하지 못하는 경우에는 해당 자연어 질의어를 기계학습 서버(300)에게 전달하고, 기계학습 서버(300)로부터 질의어에 대한 응답, 구체적으로 질의어에 대응되는 의도를 전달받아서 의도에 매칭되는 패턴을 검색하고, 검색되는 패턴에 해당하는 템플릿을 질의어에 대한 응답으로 사용자 단말(100)에게 전송할 수 있다.
챗봇 서버(200)는 의도 패턴과 이 패턴에 대응되는 템플릿을 매핑한 의도 기반의 복수의 시나리오를 구축하고 있다. 챗봇 서버(200)는 이렇게 구축된 의도 기반의 복수의 시나리오에 기초하여 사용자 단말(100)의 질의어에 대한 응답을 제공할 수 있다.
기계학습 서버(300)는 "질문-의도"로 구성된 데이터 집합으로서 다량의 데이터를 기계학습하여 대응되는 학습 모델을 생성하고, 생성된 학습 모델을 사용하여 자연어 질문에 대한 의도를 파악하여 제공하는 기능을 수행한다. 여기서, 기계학습은 인공지능의 한 분야로서, 방대한 데이터를 분석해서 미래를 예측하는 기술이며, 컴퓨터가 스스로 학습 과정을 거치면서 입력되지 않은 정보를 습득하여 문제를 해결하는 기술이다. 기계학습을 위해 CNN(Convolutional Neural Network), R-CNN(Region with Convolutional Neural Network), LSTM((Long Short Term Memory) 등의 신경망을 활용하는 딥러닝 기술이 사용될 수 있다. 이러한 기계학습 기술에 대해서는 이미 잘 알려져 있으므로 여기에서는 구체적인 설명을 생략한다.
이하에서는 도 1에 도시된 챗봇 시스템(10)의 각 구성요소의 동작에 대해 보다 구체적으로 설명한다.
도 2는 도 1에 도시된 챗봇 서버(200)의 구체적인 구성 블록도이다.
도 2에 도시된 바와 같이, 챗봇 서버(200)는 질의어 수신부(210), 의도 기반 데이터베이스(DB)(220), 패턴 매칭부(230), 템플릿 추출부(240), 질의어 전달부(250), 의도 수신부(260) 및 응답 제공부(270)를 포함한다. 여기서, 도 2에 도시된 챗봇 서버(200)는 본 발명의 하나의 구현 예에 불과하며, 도 2에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다.
질의어 수신부(210)는 네트워크(400)를 통해 사용자 단말(100)로부터 자연어 질의어를 입력받는다.
의도 기반 DB(220)는 사용자의 질문에 대해 응답하기 위해 AIML 형태로 정의된 복수의 의도 패턴과 복수의 의도 패턴에 대응되는 템플릿을 저장한다. 여기서, 의도 패턴은 종래와 같이 질의어에 매칭되는 복수의 패턴 표현식을 AIML로 일일이 수동으로 정의하지 않고, 질의어를 대표할 수 있는 의도 기반으로 간단하게 패턴 표현식을 정의한 것을 의미한다. 즉, 종래에는 유사한 의도에 해당되는 복수의 질의어 각각에 대해 대응되는 패턴 표현식을 복수 개로 정의해야 하지만, 본 발명의 실시예에 따른 의도 기반의 패턴은 복수의 유사한 질문을 대표하는 하나의 의도로 패턴 표현식을 정의할 수 있으므로, 패턴 표현식의 정의가 쉽고 간단하므로 최초 지식 구축은 물론 구축 이후 운영 및 유지 보수에 대한 비용이 절약될 수 있다.
패턴 매칭부(230)는 의도 기반 DB(220) 내에 미리 설정된 복수의 의도 표현으로 구성된 복수의 패턴 중에서 질의어 수신부(210)를 통해 입력되는 질의어에 매칭되는 패턴을 검색한다.
패턴 매칭부(230)는 질의어에 매칭되는 패턴이 검색되는 경우 검색된 패턴을 템플릿 추출부(240)로 전달한다.
그러나, 패턴 매칭부(230)는 질의어에 매칭되는 패턴이 검색되지 않는 경우에는 질의어 수신부(210)로부터 입력되는 질의어를 질의어 전달부(250)로 전달한다.
패턴 매칭부(230)는 의도 기반 DB(220) 내에 미리 설정된 복수의 의도 표현으로 구성된 복수의 패턴 중에서 의도 수신부(260)를 통해 입력되는 의도에 매칭되는 패턴을 검색한다.
템플릿 추출부(240)는 패턴 매칭부(230)에 의해 검색된 패턴에 해당하는 템플릿을 의도 기반 DB(220)에서 찾아서 질의어에 대한 응답으로 추출한다.
질의어 전달부(250)는 패턴 매칭부(230)로부터 전달되는 질의어를 기계학습 서버(300)로 전달한다.
의도 수신부(260)는 기계학습 서버(300)로부터 제공되는 의도와 신뢰도 값을 수신하여 패턴 매칭부(230)로 전달한다. 여기서, 신뢰도 값은 기계학습 서버(300)에서 학습된 의도에 대응되는 신뢰도 값이며, 패턴 매칭부(230)는 의도 수신부(260)로부터 전달되는 신뢰도 값이 임계값 이상인 경우에만 의도 수신부(260)로부터 전달되는 의도를 패턴 매칭에 사용하게 된다. 여기서 임계값은 70%의 신뢰도 값 등으로 미리 설정될 수 있다.
응답 제공부(270)는 템플릿 추출부(240)에서 추출되는 응답을 받아서 네트워크(400)를 통해 사용자 단말(100)에게 제공한다.
한편, 당업자라면, 질의어 수신부(210), 의도 기반 DB(220), 패턴 매칭부(230), 템플릿 추출부(240), 질의어 전달부(250), 의도 수신부(260) 및 응답 제공부(270) 각각이 분리되어 구현되거나, 이 중 하나 이상이 통합되어 구현될 수 있음을 충분히 이해할 것이다.
이하, 도 1에 도시된 기계학습 서버(300)에 대해 설명한다.
도 3은 도 1에 도시된 기계학습 서버(300)의 구체적인 구성을 도시한 도면이다.
도 3에 도시된 바와 같이, 기계학습 서버(300)는 의도 학습부(310), 학습 모델 데이터베이스(DB)(320) 및 의도 검출부(330)를 포함한다. 여기서, 도 3에 도시된 기계학습 서버(300)는 본 발명의 하나의 구현 예에 불과하며, 도 3에 도시된 구성요소들을 기초로 하여 여러 가지 변형이 가능하다.
의도 학습부(310)는 챗봇 서버(200)로부터 입력되는 "질문-의도"로 구성된 다량의 데이터 집합을 사용하여 의도 검출을 위한 기계학습을 수행하여 학습 결과에 대응되는 학습 모델을 생성한다. 여기서, 질문은 자연어 질의어에 해당되는 질문이고, 의도는 챗봇 서버(200)의 의도 기반 DB(230)에서 사용되는 의도 패턴에 해당되는 분류를 갖도록 기계학습이 수행된다. 또한, 의도 학습부(310)에서 학습되는 의도에 대해서는 의도에 대한 학습 결과의 신뢰도 값이 함께 부여된다.
의도 학습부(310)에서의 기계학습을 위해 사용되는 학습 데이터인 "질문-의도" 데이터 집합의 예가 도 4에 도시되어 있다. 도 4를 참조하면, "이번 달 요금 알려줘", "내 요금조회 해줘" 등과 같이 복수의 질문에 해당되는 의도가 하나로서 "사용요금 조회"로 대응되도록 기계학습이 수행되는 것을 알 수 있다.
학습 모델 DB(320)는 의도 학습부(310)에 의해 생성되는 학습 모델을 저장한다.
의도 검출부(330)는 챗봇 서버(200)로부터 입력되는 자연어 질의어에 대해 학습 모델 DB(320)에 저장된 학습 모델을 사용하여 자연어 질의어에 대응되는 의도와 신뢰도 값을 검출하여 챗봇 서버(200)로 제공한다.
한편, 의도 학습부(310)와 의도 검출부(330)는 통합되어 하나의 구성요소로서 구현될 수 있으며, 이 경우 하나의 신경망을 사용하여 구현될 수 있다.
이하, 도면을 참조하여 본 발명의 실시예에 따른 챗봇 서비스 제공 방법에 대해 설명한다.
도 5는 본 발명의 실시예에 따른 챗봇 서비스 제공 방법의 개략적인 흐름도이다. 도 5에 도시된 챗봇 서비스 제공 방법은 챗봇 서버(200)에 의해 수행될 수 있다.
도 5를 참조하면, 챗봇 서버(200)는 네트워크(400)를 통해 사용자 단말(100)로부터 자연어 질의어를 수신한다(S100).
그 후, 의도 기반 DB(220)를 사용하여 수신되는 질의어에 매칭되는 패턴을 검색한다(S110).
만약 질의어에 매칭되는 패턴이 검색되지 않은 경우(S120), 자연어 질의어를 기계학습 서버(300)에게 전달한다(S130).
그 후, 기계학습 서버(300)로부터 제공되는 의도 및 신뢰도 값을 수신하고(S140), 수신된 신뢰도 값이 미리 설정된 임계값 이상인지를 판단한다(S150).
만약 신뢰도 값이 미리 설정된 임계값 이상이면, 수신된 의도에 대해 의도 기반 DB(220)를 사용하여 매칭되는 패턴을 검색한다(S160).
만약 의도에 매칭되는 패턴이 검색되는 경우(S170), 검색된 패턴에 대응되는 템플릿을 의도 기반 DB(220)로부터 추출하여(S180) 상기 단계(S100)에서 수신된 질의어에 대한 응답으로서 네트워크(400)를 통해 사용자 단말(100)에게 제공한다(S190).
그러나, 상기 단계(S150)에서 신뢰도 값이 미리 설정된 임계값보다 작은 경우에는 기계학습 서버(300)로부터 수신된 의도를 신뢰할 수 없으므로 사용자 단말(100)로부터 수신된 질의어에 대한 응답 검출을 실패했다는 등의 응답을 사용자 단말(100)에게 제공한다(S200).
한편, 상기 단계(S120)에서 질의어에 매칭되는 패턴이 검색되는 경우에는 검색된 패턴에 대응되는 템플릿을 의도 기반 DB(220)로부터 추출하고 추출된 템플릿을 질의어에 대한 응답으로서 네트워크(400)를 통해 사용자 단말(100)에게 제공하는 상기 단계(S180, S190)를 바로 수행하게 된다.
이하, 하나의 예를 참조하여 본 발명의 실시예에 따른 챗봇 서비스에 대해 설명한다.
먼저, 도 6에 도시된 바와 같이, 사용자가 사용자 단말(100)을 통해 키보드로 직접 질문을 입력한 경우의 예가 사용된다. 즉, 사용자가 사용자 단말(100)을 사용하여 입력한 질문은 "이번 달 요금"(500)이다.
이와 같이 사용자로부터 질문이 입력되면 사용자 단말(100)은 입력된 질문, 즉 "이번 달 요금"을 자연어 질의어로서 챗봇 서버(200)로 전달하게 된다.
챗봇 서버(200)는 사용자 단말(100)로부터 전달되는 자연어 질의어 "이번 달 요금"을 수신하면, 질의어 "이번 달 요금"에 대한 패턴 매칭을 수행하여 의도 기반 DB(230)로부터 매칭되는 패턴을 검색한다.
한편, 본 발명의 실시예에 따른 챗봇 시스템(10)은 기계학습 서버(300)와 연동하기 때문에 의도 기반 DB(230)에서 AIML로 정의하는 지식에 있어서 자연어 처리 및 이해하는 데 사용되는 <pattern/>의 내용이 와일드 카드, 즉 "*"의 사용이 없이 정확한 단어와 문장 형태로 사용자의 정확한 "의도" 기반으로 정의될 수 있다. 예를 들어, 도 7 및 도 8에 도시된 바와 같이, 와일드 카드가 사용되지 않는 의도 기반의 패턴 형태로 지식이 구축되어 있다.
상기에서 사용자 단말(100)로부터 챗봇 서버(200)에 수신되는 질의어, 즉 "이번 달 요금"은 의도로서 취급되는 내용이 아니므로 이러한 질의어에 의한 패턴 매칭 결과는 매칭되는 패턴이 검색되지 않을 것이다.
따라서, 챗봇 서버(200)는 질의어 "이번 달 요금"을 기계학습 서버(300)로 전달하여 질의어 "이번 달 요금"에 대응되는 의도를 요청한다. 본 예에서는, 질의어 "이번 달 요금"에 대응되어 학습된 의도로서 "사용요금 조회"를 가정하여 설명한다.
그래서, 기계학습 서버(200)는 챗봇 서버(200)로부터 입력된 질의어 "이번 달 요금"에 대해 "사용요금 조회"를 의도로서 검출하여 챗봇 서버(200)에게 제공할 것이다.
그 후, 챗봇 서버(200)는 기계학습 서버(300)로부터 제공되는 질의어 "이번 달 요금"에 대응되는 의도, 즉 "사용요금 조회"를 제공받아서 이 의도 "사용요금 조회"로서 의도 기반 DB(230)에서 패턴 매칭을 다시 수행한다.
상기한 "사용요금 조회"는 상기에서 도 7을 참조하여 설명한 바와 같이, 이미 의도 기반 DB(230) 내에 패턴으로 저장되어 있다.
따라서, 챗봇 서버(200)는 이 번의 패턴 매칭을 통해 의도 "사용요금 조회"에 매칭되는 패턴을 검색할 수 있고, 검색된 패턴에 해당되는 템플릿, 즉 도 7에서의 템플릿인 "사용요금 조회를 원하는 기기를 ..."을 추출하여 질의어 "이번 달 요금"에 대한 응답으로서 사용자 단말(100)에게 제공할 수 있다.
사용자 단말(100)은 챗봇 서버(200)로부터 제공되는 응답을 질의어 "이번 달 요금"에 대한 응답(510)으로서 도 6에 도시된 바와 같이 표시하게 된다.
한편, 사용자 단말(100)에서의 사용자 입력은 키보드를 사용하여 직접 입력할 수 있거나 또는 상기에서 "이번 달 요금"에 대한 응답(510)으로서 표시된 내용 중에 사용자가 키보드 대신 클릭 선택하여 입력할 수 있는 선택 버튼 형태로도 입력이 가능하다.
따라서, 사용자가 "이번 달 요금"에 대한 질문에 대해 표시된 응답(510) 중에서 예를 들어 "모바일 사용요금 조회"를 선택하면, 이렇게 선택된 "모바일 사용요금 조회"가 사용자로부터 입력된 질문에 해당되어, 사용자 단말(100)에 표시됨(520)과 동시에, 다시 "모바일 사용요금 조회"가 상기에서 설명한 "이번 달 요금" 질문과 같이 챗봇 서버(200)로 전달된다.
그 후, 챗봇 서버(200)는 상기에서"이번 달 요금"을 사용하여 설명한 과정을 "모바일 사용요금 조회" 질문에 대해서도 동일하게 수행하게 된다. 다만, "이번 달 요금"에 대해 제공된 응답은 챗봇 서버(200)가 구성한 응답이므로 이러한 응답에 포함된 질문은 챗봇 서버(200)에서 사용되는 의도 기반으로 생성될 수 있다. 따라서, 두 번째의 질의어 "모바일 사용요금 조회"는 질의어 자체가 의도에 해당될 수 있으므로, 챗봇 서버(200)가 사용자 단말(100)로부터 수신되는 질의어, 즉 "모바일 사용요금 조회"에 대해 기계학습 서버(300)를 거치지 않아도 바로 의도 기반 DB(230)를 통해 직접 매칭되는 패턴을 검색할 수 있다. 상기에서 도 8을 참조하여"모바일 사용요금 조회"의도에 해당되는 패턴이 의도 기반 DB(230)에 형성되어 있는 것으로 설명한 바 있다.
따라서, 챗봇 서버(200)는 "모바일 사용요금 조회" 패턴에 해당되는 템플릿, 즉 "고객님께서 사용하신 ..."을 추출하여 질의어 "모바일 사용요금 조회"에 대한 응답으로서 사용자 단말(100)에게 제공하고, 사용자 단말(100)은 챗봇 서버(200)로부터 제공되는 응답을 질의어 "모바일 사용요금 조회"에 대한 응답(530)으로서 도 6에 도시된 바와 같이 표시하게 된다.
이와 같이, 본 발명의 실시예에 따르면, 기계학습 기반의 시스템을 통해 자연어 기반 고객의 질문을 이해하고, 시스템의 결과 값인 질문 의도와 신뢰도 값을 활용하여 AIML 기반 챗봇 서버 내에서 AIML로 정의된 시나리오를 실행시킬 수 있는 방법을 제공 할 수 있다.
또한, 자연어를 이해하는 기능에 대해서 AIML로 해당 패턴 표현식을 일일이 수동으로 정의하지 않고 기계학습 시스템을 통해 학습하여 자동화함으로써 자연어 처리 및 이해의 성능을 높이고 개발 및 운영 효율성까지 확보할 수 있다.
또한, AIML의 장점인 연속 대화, 문맥 관리, 시나리오 등을 구현하고 대용량 학습 DB를 활용한 기계학습 시스템과 연동을 통해서 보다 완성도 높은 챗봇 서비스를 제공할 수 있다.
한편, 상기에서는 기계학습 서버(300)가 챗봇 시스템(10) 내의 하나의 구성요소인 것으로 설명하였으나, 본 발명의 기술범위는 여기로만 한정되는 것은 아니다. 예를 들어, 최근에 각종 자료를 사용자의 컴퓨터나 스마트폰 등 내부 저장 공간이 아닌 외부 클라우드 서버에 저장한 뒤에 다운로드받는 서비스인 클라우드 서비스가 각광을 받고 있으며, 이러한 클라우드 서비스는 인공지능 기술을 제공하는 외부의 클라우드 서버 등에 의해서도 제공될 수 있다. 예를 들어, IBM사의 인공지능 기술인 왓슨(Watson)이나 구글사의 텐서플로우(TesnorFlow) 등이 오픈 소프트웨어로서 잘 알려져 있다. 이들은 인공지능을 활용해 자연어 질문을 알아듣고, 방대한 데이터로부터 관련 있는 사항을 분석, 종합해 적절한 답변을 제공하는 기술이다. 이들은 API(Application Programming Interface)를 통해 인공지능 기술을 사용할 수 있는 클라우드 서비스를 제공하고 있다.
다음, 본 발명의 다른 실시예에 따른 챗봇 서버에 대해 설명한다.
도 9는 본 발명의 다른 실시예에 따른 챗봇 서버(600)의 개략적인 구성 블록도이다.
도 9를 참조하면, 본 발명의 다른 실시예에 따른 챗봇 서버(600)는 통신기(610), 입력기(620), 메모리(630), 프로세서(640) 및 버스(650)를 포함한다.
통신기(610)는 외부 구성요소와의 신호 전송을 수행한다. 구체적으로, 통신기(610)는 네트워크(400)를 통해 사용자 단말(100)과 통신을 수행하고, 또한 기계학습 서버(300)와 통신을 수행한다.
입력기(620)는 외부로부터의 입력을 수신한다. 이러한 입력은 데이터 입력 또는 명령 입력일 수 있다.
메모리(630)는 사용자의 질문에 대해 응답하기 위해 AIML 형태로 정의된 복수의 의도 패턴과 복수의 의도 패턴에 대응되는 템플릿을 저장한다.
따라서, 입력기(620)는 메모리(630) 내에 의도 패턴과 이 의도 패턴에 대응되는 템플릿을 추가하거나 또는 변경하기 위한 입력을 받을 수 있다.
또한, 메모리(630)는 코드의 집합을 저장하도록 구성되고, 그 코드는 다음과 같은 동작을 실행하기 위해 프로세서(640)를 제어하는 데 사용된다. 이러한 동작은, 통신기(610)를 통해 사용자 단말(100)로부터 질의어를 수신하는 동작, 수신된 질의어에 매칭되는 패턴을 검색하는 동작, 질의어에 매칭되는 패턴이 검색되었는지를 판단하는 동작, 질의어를 통신기(610)를 통해 기계학습 서버에게 전달하는 동작, 통신기(610)를 통해 기계학습 서버(300)로부터 제공되는 의도 및 신뢰도 값을 수신하는 동작, 수신된 신뢰도 값이 미리 설정된 임계값 이상인지를 판단하는 동작, 신뢰도 값이 미리 설정된 임계값 이상인 경우 수신된 의도에 대해 메모리(630)에 저장된 복수의 의도 패턴을 통해 매칭되는 패턴을 검색하는 동작, 의도에 매칭되는 패턴이 검색되었는지를 판단하는 동작, 검색된 패턴에 대응되는 템플릿을 메모리(630)로부터 추출하여 질의어에 대한 응답으로 통신기(610)를 통해 사용자 단말(100)에게 제공하는 동작, 신뢰도 값이 미리 설정된 임계값보다 작은 경우 응답 검출 실패 응답을 통신기(610)를 통해 사용자 단말(100)에게 제공하는 동작을 포함한다.
선택적으로, 상기한 동작은 입력기(620)를 통해 입력되는 정보에 따라 메모리(630) 내에 의도 패턴 및 템플릿을 추가하거나 또는 수정하는 동작을 추가로 포함한다.
이러한 메모리(630)는 ROM(Read Only Memory)과 RAM(Random Access Memory), NVRAM(Non-Volatile Random Access Memory)을 포함할 수 있다. 또한, 프로세서(640)는 컨트롤러(controller), 마이크로 컨트롤러(microcontroller), 마이크로 프로세서(microprocessor), 마이크로 컴퓨터(microcomputer) 등으로도 호칭될 수 있다. 또한, 프로세서(540)는 하드웨어(hardware) 또는 펌웨어(firmware), 소프트웨어, 또는 이들의 결합에 의해 구현될 수 있다.
버스(650)는 챗봇 서버(600)의 모든 구성요소들, 즉 통신기(610), 입력기(620), 메모리(630) 및 프로세서(640)를 결합하도록 구성된다.
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.
이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (15)

  1. AIML(Artificial Intelligence Markup Language) 기반의 챗봇 시스템으로서,
    질문과 상기 질문에 대응되는 의도로 구성된 데이터 집합으로서 복수의 데이터 집합을 기계학습하여 질문에 대응되는 의도를 검출하기 위한 학습 모델을 생성하고, 생성된 학습 모델을 사용하여 질문에 대응되는 의도를 검출하는 기계학습 서버; 및
    사용자의 질문에 응답하기 의해 AIML 형태로 정의된 복수의 의도 패턴과 상기 의도 패턴에 대응되는 템플릿을 저장하며, 사용자 단말로부터 수신되는 질의어에 대해 상기 기계학습 서버를 통해 상기 질의어에 대응되는 의도를 파악하고, 파악된 의도에 매칭되는 의도 패턴을 검색하여 검색된 의도 패턴에 대응되는 템플릿을 상기 질의어에 대한 응답으로 상기 사용자 단말에게 제공하는 챗봇 서버
    를 포함하는 챗봇 시스템.
  2. 제1항에 있어서,
    상기 챗봇 서버는,
    상기 복수의 의도 패턴과 상기 의도 패턴에 대응되는 템플릿을 저장하는 의도 기반 데이터베이스;
    상기 기계학습 서버를 통해 파악된 상기 의도에 매칭되는 패턴을 검색하는 패턴 매칭부; 및
    상기 패턴 매칭부에 의해 검색된 패턴에 해당하는 템플릿을 추출하는 템플릿 추출부
    를 포함하는, 챗봇 시스템.
  3. 제2항에 있어서,
    상기 패턴 매칭부는 상기 질의어에 대해 상기 의도 기반 데이터베이스를 통해 패턴 매칭을 수행하고, 매칭되는 패턴이 검색되지 않는 경우 상기 질의어를 상기 기계학습 서버로 전달하여 상기 기계학습 서버로부터 상기 질의어에 대응되는 의도를 수신함으로써 상기 질의어에 대응되는 의도를 파악하는,
    챗봇 시스템.
  4. 제3항에 있어서,
    상기 기계학습 서버는 상기 데이터 집합에 대한 기계학습시 의도에 대한 신뢰도 값을 부여하여 상기 학습 모델에 학습된 의도에 대응되어 저장하고,
    상기 패턴 매칭부로부터 상기 질의어가 수신되는 경우 상기 학습 모델을 통해 상기 질의어에 대응되는 의도 및 신뢰도 값을 검출하여 상기 패턴 매칭부에게 제공하는,
    챗봇 시스템.
  5. 제4항에 있어서,
    상기 패턴 매칭부는,
    상기 기계학습 서버로부터 수신되는 신뢰도 값이 미리 설정된 임계값 이상인 경우 상기 기계학습 서버로부터 수신되는 의도를 사용하여 패턴 매칭을 수행하고,
    상기 신뢰도 값이 상기 미리 설정된 임계값보다 작은 경우 응답 검출 실패를 상기 질의어에 대응되는 응답으로 상기 사용자 단말에게 제공하는,
    챗봇 시스템.
  6. 제2항 내지 제5항 중 어느 한 항에 있어서,
    상기 의도 기반 데이터베이스에 저장되는 복수의 의도 패턴은 와일드카드 사용없이 단어 또는 문장으로만 정의되는,
    챗봇 시스템.
  7. AIML 기반의 챗봇 시스템이 사용자 단말에게 챗봇 서비스를 제공하는 방법으로서,
    사용자의 질문에 응답하기 의해 AIML 형태로 정의된 복수의 의도 패턴과 상기 의도 패턴에 대응되는 템플릿을 저장하는 의도 기반 데이터베이스를 포함하고,
    상기 사용자 단말로부터 질의어를 수신하는 단계;
    상기 질의어를 기계학습 서버에게 전달한 후 상기 기계학습 서버로부터 의도를 수신하는 단계 - 상기 기계학습 서버는 질문과 상기 질문에 대응되는 의도로 구성된 데이터 집합으로서 복수의 데이터 집합을 기계학습하여 질문에 대응되는 의도를 검출하기 위한 학습 모델을 생성하고, 생성된 학습 모델을 사용하여 질문에 대응되는 의도를 검출함 -;
    상기 기계학습 서버로부터 수신되는 의도에 대해 상기 의도 기반 데이터베이스를 사용하여 매칭되는 패턴을 검색하는 단계; 및
    검색된 패턴에 대응되는 템플릿을 상기 의도 기반 데이터페이스로부터 추출하여 상기 사용자 단말에게 상기 질의어에 대응되는 응답으로 제공하는 단계
    를 포함하는 챗봇 서비스 제공 방법.
  8. 제7항에 있어서,
    상기 질의어를 수신하는 단계와 상기 의도를 수신하는 단계 사이에,
    상기 질의어에 대해 상기 의도 기반 데이터베이스를 사용하여 매칭되는 패턴을 검색하는 단계; 및
    상기 의도 기반 데이터베이스로부터 상기 질의어에 매칭되는 패턴이 검색되는 경우 상기 질의어에 대응되는 응답으로 제공하는 단계를 수행하거나, 또는
    상기 의도 기반 데이터베이스로부터 상기 질의어에 매칭되는 패턴이 검색되지 않는 경우 상기 의도를 수신하는 단계를 수행하는 단계
    를 더 포함하는, 챗봇 서비스 제공 방법.
  9. 제7항에 있어서,
    상기 의도를 수신하는 단계에서, 상기 기계학습 서버로부터 상기 의도에 대응되는 신뢰도 값을 더 수신하고,
    상기 패턴을 검색하는 단계 전에,
    상기 신뢰도 값이 미리 설정된 임계값 이상인지를 판단하는 단계; 및
    상기 신뢰도 값이 상기 미리 설정된 임계값 이상인 경우 상기 패턴을 검색하는 단계를 수행하거나, 또는 상기 신뢰도 값이 상기 미리 설정된 임계값보다 작은 경우 응답 검출 실패를 상기 질의어에 대한 응답으로 상기 사용자 단말에게 제공하는 단계
    를 더 포함하는, 챗봇 서비스 제공 방법.
  10. AIML(Artificial Intelligence Markup Language) 기반의 챗봇 시스템으로서,
    사용자의 질문에 응답하기 의해 AIML 형태로 정의된 복수의 의도 패턴과 상기 의도 패턴에 대응되는 템플릿을 저장하는 의도 기반 데이터베이스;
    질문과 상기 질문에 대응되는 의도로 구성된 데이터 집합으로서 복수의 데이터 집합을 외부의 클라우드 서버로 전달하여 질문에 대응되는 의도 검출을 위한 기계학습을 수행시킨 후, 사용자 단말로부터 수신되는 질의어를 상기 외부의 클라우드 서버로 전달하여 상기 질의어에 대응되는 의도를 수신하고, 수신된 의도에 매칭되는 패턴을 검색하는 패턴 매칭부 - 상기 외부의 클라우드 서버는 기계학습이 가능한 서버임 -; 및
    상기 패턴 매칭부에 의해 검색된 패턴에 해당하는 템플릿을 추출하는 템플릿 추출부
    를 포함하는 챗봇 시스템.
  11. 제10항에 있어서,
    상기 패턴 매칭부는 상기 질의어에 대해 상기 의도 기반 데이터베이스를 통해 패턴 매칭을 수행하고, 매칭되는 패턴이 검색되지 않는 경우 상기 질의어를 상기 외부의 클라우드 서버로 전달하여 상기 외부의 클라우드 서버로부터 상기 질의어에 대응되는 의도를 수신하는,
    챗봇 시스템.
  12. 제10항에 있어서,
    상기 패턴 매칭부는 상기 외부의 클라우드 서버로부터 상기 의도에 대한 신뢰도 값을 더 수신하고,
    상기 신뢰도 값이 미리 설정된 임계값 이상인 경우 상기 외부 클라우드 서버로부터 수신되는 의도를 사용하여 패턴 매칭을 수행하는,
    챗봇 시스템.
  13. AIML(Artificial Intelligence Markup Language) 기반의 챗봇 시스템으로서,
    통신기, 메모리 및 프로세서를 포함하며,
    상기 통신기는 사용자 단말 및 기계학습 서버 - 상기 기계학습 서버는 질문과 상기 질문에 대응되는 의도로 구성된 데이터 집합으로서 복수의 데이터 집합을 기계학습하여 질문에 대응되는 의도를 검출하기 위한 학습 모델을 생성하고, 생성된 학습 모델을 사용하여 질문에 대응되는 의도를 검출하는 서버임 -와 통신을 수행하고,
    상기 메모리는 사용자의 질문에 대해 응답하기 위해 AIML 형태로 정의된 복수의 의도 패턴과 복수의 의도 패턴에 대응되는 템플릿을 저장하고, 코드의 집합을 저장하도록 구성되며,
    상기 코드는,
    상기 통신기를 통해 상기 사용자 단말로부터 수신되는 질의어를 상기 통신기를 통해 상기 기계학습 서버에게 전달하는 동작;
    상기 통신기를 통해 상기 기계학습 서버로부터 제공되는 의도를 수신하는 동작;
    상기 의도에 대해 매칭되는 의도 패턴을 상기 메모리에서 검색하는 동작;
    검색된 의도 패턴에 대응되는 템플릿을 상기 메모리에서 추출하는 동작; 및
    추출되는 템플릿을 상기 통신기를 통해 상기 사용자 단말에게 제공하는 동작
    을 실행하도록 상기 프로세서를 제어하는 데 사용되는,
    챗봇 시스템.
  14. 제13항에 있어서,
    상기 프로세서는,
    상기 질의어에 대해 매칭되는 패턴을 상기 메모리에서 검색하는 동작; 및
    상기 질의어에 대해 매칭되는 패턴이 검색되지 않는 경우 상기 질의어를 상기 통신기를 통해 상기 기계학습 서버로 전달하는 동작
    을 더 실행하는, 챗봇 시스템.
  15. 제13항에 있어서,
    상기 프로세서는,
    상기 기계학습 서버로부터 수신되는 의도에 대응되는 신뢰도값을 더 수신하는 동작;
    상기 신뢰도값이 미리 설정된 임계값이상인지를 판단하는 동작; 및
    상기 신뢰도값이 상기 미리 설정된 임계값 이상인 경우에 상기 기계학습 서버로부터 수신되는 의도에 대해 패턴 매칭을 수행하는 동작
    을 더 실행하는, 챗봇 시스템.
KR1020170166934A 2017-12-06 2017-12-06 Aiml 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법 KR102517843B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170166934A KR102517843B1 (ko) 2017-12-06 2017-12-06 Aiml 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170166934A KR102517843B1 (ko) 2017-12-06 2017-12-06 Aiml 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법

Publications (2)

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

Family

ID=66846730

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170166934A KR102517843B1 (ko) 2017-12-06 2017-12-06 Aiml 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법

Country Status (1)

Country Link
KR (1) KR102517843B1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210105705A (ko) * 2020-02-19 2021-08-27 주식회사 케이티 자동 응답 서비스 제공 방법 및 이를 위한 시스템
KR20210119772A (ko) 2020-03-25 2021-10-06 한전케이디엔주식회사 챗봇 서비스를 위한 자연어 처리 관리 시스템 및 그 방법
KR20210119773A (ko) 2020-03-25 2021-10-06 한전케이디엔주식회사 머신러닝 기반 맞춤형 챗봇 추천 시스템 및 그 방법
KR20210132472A (ko) 2020-04-27 2021-11-04 한전케이디엔주식회사 하나 이상의 주장치 시스템들을 운영하는 전력운영시스템
KR20210151565A (ko) 2020-06-05 2021-12-14 한전케이디엔주식회사 정확도 평점 기반 챗봇 관리 시스템
KR20220085221A (ko) * 2020-12-15 2022-06-22 주식회사 와이즈넛 스크립트를 이용한 챗봇의 대화흐름 관리 방법
US11487953B2 (en) 2019-11-19 2022-11-01 Samsung Electronics Co., Ltd. Method and apparatus with natural language processing
KR102575790B1 (ko) * 2023-06-23 2023-09-07 고경우 인공지능 기반 행정 서비스 지원 플랫폼 제공 서버 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070024918A (ko) * 2005-08-31 2007-03-08 김유신 가상 공간에서 화상 커뮤니케이션 서비스 제공 장치 및방법
KR20130128717A (ko) * 2012-05-17 2013-11-27 포항공과대학교 산학협력단 대화 관리 시스템 및 방법
KR20170048008A (ko) * 2015-10-26 2017-05-08 에스케이텔레콤 주식회사 질의의도를 분석하기 위한 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070024918A (ko) * 2005-08-31 2007-03-08 김유신 가상 공간에서 화상 커뮤니케이션 서비스 제공 장치 및방법
KR20130128717A (ko) * 2012-05-17 2013-11-27 포항공과대학교 산학협력단 대화 관리 시스템 및 방법
KR20170048008A (ko) * 2015-10-26 2017-05-08 에스케이텔레콤 주식회사 질의의도를 분석하기 위한 장치 및 방법

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 (ko) * 2020-02-19 2021-08-27 주식회사 케이티 자동 응답 서비스 제공 방법 및 이를 위한 시스템
KR20230002127A (ko) * 2020-02-19 2023-01-05 주식회사 케이티 자동 응답 서비스 제공 방법 및 이를 위한 시스템
KR20210119772A (ko) 2020-03-25 2021-10-06 한전케이디엔주식회사 챗봇 서비스를 위한 자연어 처리 관리 시스템 및 그 방법
KR20210119773A (ko) 2020-03-25 2021-10-06 한전케이디엔주식회사 머신러닝 기반 맞춤형 챗봇 추천 시스템 및 그 방법
KR20210132472A (ko) 2020-04-27 2021-11-04 한전케이디엔주식회사 하나 이상의 주장치 시스템들을 운영하는 전력운영시스템
KR20210151565A (ko) 2020-06-05 2021-12-14 한전케이디엔주식회사 정확도 평점 기반 챗봇 관리 시스템
KR20220085221A (ko) * 2020-12-15 2022-06-22 주식회사 와이즈넛 스크립트를 이용한 챗봇의 대화흐름 관리 방법
KR102575790B1 (ko) * 2023-06-23 2023-09-07 고경우 인공지능 기반 행정 서비스 지원 플랫폼 제공 서버 및 방법

Also Published As

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

Similar Documents

Publication Publication Date Title
KR102517843B1 (ko) Aiml 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법
KR102146031B1 (ko) 멀티 도메인 기반의 챗봇 시스템 및 챗봇 서비스 제공 방법
US11223644B2 (en) Graphical structure model-based prevention and control of abnormal accounts
US20240004732A1 (en) Application program interface analyzer for a universal interaction platform
US20200250378A1 (en) Methods and apparatuses for identifying a user intent of a statement
CN108280115B (zh) 识别用户关系的方法及装置
US8566403B2 (en) Message content management system
US20220164683A1 (en) Generating a domain-specific knowledge graph from unstructured computer text
CN110377712B (zh) 一种智能会话切换方法、装置、设备及存储介质
JP2018536920A (ja) テキスト情報処理方法およびデバイス
US10621245B2 (en) Webpage data analysis method and device
US20200167429A1 (en) Efficient use of word embeddings for text classification
US11140182B2 (en) Predictive anomaly handling in a service provider system
US20120197937A1 (en) Method and system for providing detailed information in an interactive manner in a short message service (sms) environment
CN111143543A (zh) 一种对象推荐方法、装置、设备及介质
US11120223B2 (en) Probabilistic word embeddings for text classification
CN114840671A (zh) 对话生成方法、模型的训练方法、装置、设备及介质
CN114223188A (zh) 用于管理交互邀请的***和方法
US10217455B2 (en) Linguistic model database for linguistic recognition, linguistic recognition device and linguistic recognition method, and linguistic recognition system
CN111930891B (zh) 基于知识图谱的检索文本扩展方法及相关装置
KR20200095040A (ko) 다국어 채팅을 위한 서버 및 번역 방법
US20190205398A1 (en) Systems and methods for translation management
US10757203B2 (en) Method to enrich the browser cookies&#39; attributes by graph propagation
CN115097740A (zh) 设备控制方法、装置、***及存储介质
US20220350810A1 (en) Data-driven enrichment of database elements

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