KR20200114173A - Method, server and computer program for managing natural language processing engines - Google Patents

Method, server and computer program for managing natural language processing engines Download PDF

Info

Publication number
KR20200114173A
KR20200114173A KR1020190035436A KR20190035436A KR20200114173A KR 20200114173 A KR20200114173 A KR 20200114173A KR 1020190035436 A KR1020190035436 A KR 1020190035436A KR 20190035436 A KR20190035436 A KR 20190035436A KR 20200114173 A KR20200114173 A KR 20200114173A
Authority
KR
South Korea
Prior art keywords
natural language
language processing
processing engine
response
chatbot
Prior art date
Application number
KR1020190035436A
Other languages
Korean (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 KR1020190035436A priority Critical patent/KR20200114173A/en
Publication of KR20200114173A publication Critical patent/KR20200114173A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

According to one embodiment of the present invention, provided is a method for managing a natural language processing engine, which comprises the steps of: receiving upload data consisting of question data and response data corresponding to the question data; performing an indexing process on the received upload data; training a natural language processing engine based on similar sentences based on the upload data on which the indexing process has been performed; creating a chatbot using the generated natural language processing engine based on the similar sentences; and deriving a response to the query message from the uploaded data on which the indexing process has been performed by using the similar sentence-based natural language processing engine through the generated chatbot.

Description

자연어 처리 엔진을 관리하는 방법, 서버 및 컴퓨터 프로그램{METHOD, SERVER AND COMPUTER PROGRAM FOR MANAGING NATURAL LANGUAGE PROCESSING ENGINES}How to manage natural language processing engines, server and computer programs {METHOD, SERVER AND COMPUTER PROGRAM FOR MANAGING NATURAL LANGUAGE PROCESSING ENGINES}

본 발명은 자연어 처리 엔진을 관리하는 방법, 서버 및 컴퓨터 프로그램에 관한 것으로서, 보다 상세하게는 유사 문장 기반 자연어 처리 엔진을 이용하는 챗봇 또는 자연어 처리 모델을 이용하는 챗봇을 생성하여 질의 메시지에 대한 응답을 도출하는 자연어 처리 엔진을 관리하는 방법, 서버 및 컴퓨터 프로그램에 관한 것이다.The present invention relates to a method for managing a natural language processing engine, a server, and a computer program, and more specifically, a chatbot using a similar sentence-based natural language processing engine or a chatbot using a natural language processing model to derive a response to a query message. It relates to a method, a server, and a computer program for managing a natural language processing engine.

IMS(Instant Message Service)는 전자우편 프로그램이나 웹 브라우저를 별도로 사용하지 않고, 발신자가 보낸 메시지가 수신자의 디바이스의 화면에 즉시로 뜨도록 하는 실시간 온라인 의사소통 서비스를 의미한다. 특히, 모바일 네트워크를 이용하여 채팅, 음성 및 영상통화 등을 제공하는 서비스를 MIM(Mobile Instant Messenger) 서비스라고 한다.IMS (Instant Message Service) refers to a real-time online communication service that allows messages sent by the sender to appear on the screen of the recipient's device immediately without using an e-mail program or web browser. In particular, a service that provides chat, voice, and video calls using a mobile network is called a MIM (Mobile Instant Messenger) service.

최근에는 IMS에 인간처럼 채팅을 하는 로봇인 챗봇(Chatbot) 또는 메신저봇(Messenger Bot)이 적용되고 있으며, 이를 통해 메신저 내에서 기업과 고객이 일대일 대화를 통해 고객이 원하는 1:1 맞춤형 정보를 자동으로 제공할 수 있게 되었다. Recently, Chatbot or Messenger Bot, which is a robot that chats like a human, is being applied to IMS, and through this, companies and customers automatically provide 1:1 customized information desired by customers through one-on-one conversations within the messenger. It became possible to provide.

일반적으로 챗봇 또는 메신저봇은 사용자로부터 입력된 메시지를 해석하여 자동적으로 답변 메시지를 생성한 후 사용자에게 제공할 수 있다. 그러나 챗봇 또는 메신저봇은 기계적으로 대응할 수 없는 질문을 입력받은 경우, 질문에 대해 부적절한 답변을 제공하는 경우가 종종 발생한다는 단점을 가지고 있다. In general, a chatbot or a messenger bot can automatically generate a response message by interpreting a message input from a user and provide it to the user. However, chatbots or messenger bots have the disadvantage that they often provide inappropriate answers to questions when a question that cannot be responded mechanically is received.

한국등록특허공보 제10-1605430호 (2015.08.24 공개)Korean Registered Patent Publication No. 10-1605430 (published on Aug. 24, 2015)

본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 챗봇을 생성할 수 있는 봇빌더에 질의 메시지 및 질의 메시지에 대응하는 응답 메시지의 세트로 구성된 업로드 데이터를 등록함으로써, 업로드 데이터와 챗봇 플랫폼을 연결하여 챗봇을 생성할 수 있도록 하는 자연어 처리 엔진을 관리하는 방법, 서버 및 컴퓨터 프로그램을 제공하고자 한다. The present invention is to solve the above-described problems of the prior art, by registering upload data consisting of a set of a query message and a response message corresponding to the query message to a bot builder capable of creating a chatbot, thereby providing upload data and a chatbot platform. We would like to provide a server and computer program, a method for managing a natural language processing engine that allows you to connect and create a chatbot.

유사 문장 기반 자연어 처리 엔진을 이용하는 검색형 챗봇을 생성하여, 질의 메시지와 유사한 유사 질의 문장을 참조하여 유사 질의 문장에 대응하는 답변을 제공할 수 있도록 하는 자연어 처리 엔진을 관리하는 방법, 서버 및 컴퓨터 프로그램을 제공하고자 한다.A method of managing a natural language processing engine, a server and a computer program that creates a search-type chatbot that uses a similar sentence-based natural language processing engine to provide an answer corresponding to a similar query sentence by referring to a similar query sentence similar to the query message. Want to provide.

종래의 기계 학습 기반의 챗봇에서 질의 메시지로부터 사용자 의도를 추출하지 못한 경우, 이를 폴백(FallBack) 처리하지 않고, 보완적으로 유사 문장 기반 자연어 처리 엔진을 이용하여 응답을 도출할 수 있도록 하는 자연어 처리 엔진을 관리하는 방법, 서버 및 컴퓨터 프로그램을 제공하고자 한다.A natural language processing engine that does not process a fallback when a user's intention cannot be extracted from a query message in a conventional machine learning-based chatbot, but instead derives a response using a similar sentence-based natural language processing engine. I would like to provide a way to manage the system, a server and a computer program.

유사 문장 기반 자연어 처리 엔진 및 의도 기반 자연어 처리 엔진으로 구성된 자연어 처리 모델을 이용하는 경우, 유사 문장 기반 자연어 처리 엔진 및 의도 기반 자연어 처리 엔진 각각에 대해 응답을 도출하고, 도출된 각 응답의 신뢰도에 기초하여 신뢰도가 더 높은 응답을 사용자 단말로 제공함으로써, 더 높은 정확도의 응답을 제공할 수 있도록 하는 자연어 처리 엔진을 관리하는 방법, 서버 및 컴퓨터 프로그램을 제공하고자 한다.When using a natural language processing model composed of a similar sentence-based natural language processing engine and an intention-based natural language processing engine, a response is derived for each of the similar sentence-based natural language processing engine and the intention-based natural language processing engine, and based on the reliability of each derived response. It is intended to provide a method, a server, and a computer program for managing a natural language processing engine capable of providing a response with higher accuracy by providing a response with higher reliability to a user terminal.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예에 따르는 질문 데이터 및 상기 질문 데이터에 대응하는 응답 데이터로 구성된 업로드 데이터를 등록받는 단계, 상기 등록받은 업로드 데이터에 대해 색인 과정을 수행하는 단계, 상기 색인 과정이 수행된 업로드 데이터에 기초하여 유사 문장 기반 자연어 처리 엔진을 학습시키는 단계, 상기 생성된 유사 문장 기반 자연어 처리 엔진을 이용하는 챗봇을 생성하는 단계 및 상기 생성된 챗봇을 통해 상기 유사 문장 기반 자연어 처리 엔진을 이용하여 상기 색인 과정이 수행된 업로드 데이터로부터 질의 메시지에 대한 응답을 도출하는 단계를 포함하는 자연어 처리 엔진 관리 방법을 제공할 수 있다. As a technical means for achieving the above-described technical problem, registering upload data consisting of question data and response data corresponding to the question data according to an embodiment of the present invention, and indexing the registered upload data. Performing, learning a similar sentence-based natural language processing engine based on uploaded data on which the indexing process has been performed, creating a chatbot using the generated similar sentence-based natural language processing engine, and the generated chatbot. A natural language processing engine management method including the step of deriving a response to a query message from upload data on which the indexing process has been performed using a natural language processing engine based on a similar sentence may be provided.

본 발명의 다른 실시예에 따르는 질문 데이터 및 상기 질문 데이터에 대응하는 응답 데이터로 구성된 업로드 데이터를 등록받는 업로드 데이터 등록부, 상기 등록받은 업로드 데이터에 대해 색인 과정을 수행하는 색인부, 상기 색인 과정이 수행된 업로드 데이터에 기초하여 유사 문장 기반 자연어 처리 엔진을 학습시키는 유사 문장 기반 자연어 처리 엔진 학습부, 상기 생성된 유사 문장 기반 자연어 처리 엔진을 이용하는 챗봇을 생성하는 챗봇 생성부 및 상기 생성된 챗봇을 통해 상기 유사 문장 기반 자연어 처리 엔진을 이용하여 상기 색인 과정이 수행된 업로드 데이터로부터 질의 메시지에 대한 응답을 도출하는 응답 도출부를 포함하는 관리 서버를 제공할 수 있다. An upload data registration unit receiving upload data consisting of question data and response data corresponding to the question data according to another embodiment of the present invention, an index unit performing an indexing process on the registered upload data, and the indexing process is performed A similar sentence-based natural language processing engine learning unit for learning a similar sentence-based natural language processing engine based on the uploaded data, a chatbot generating unit generating a chatbot using the generated similar sentence-based natural language processing engine, and the generated chatbot. A management server including a response derivation unit that derives a response to a query message from upload data on which the indexing process has been performed using a similar sentence-based natural language processing engine may be provided.

본 발명의 또 다른 실시예에 따르는 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우, 질문 데이터 및 상기 질문 데이터에 대응하는 응답 데이터로 구성된 업로드 데이터를 등록받고, 상기 등록받은 업로드 데이터에 대해 색인 과정을 수행하고, 상기 색인 과정이 수행된 업로드 데이터에 기초하여 유사 문장 기반 자연어 처리 엔진을 학습시키고, 상기 생성된 유사 문장 기반 자연어 처리 엔진을 이용하는 챗봇을 생성하고, 상기 생성된 챗봇을 통해 상기 유사 문장 기반 자연어 처리 엔진을 이용하여 상기 색인 과정이 수행된 업로드 데이터로부터 질의 메시지에 대한 응답을 도출하도록 하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램을 제공할 수 있다. When executed by a computing device, a computer program according to another embodiment of the present invention registers upload data composed of question data and response data corresponding to the question data, and performs an indexing process on the registered upload data. , Learning a similar sentence-based natural language processing engine based on the uploaded data on which the indexing process is performed, generating a chatbot using the generated similar sentence-based natural language processing engine, and processing the similar sentence-based natural language through the generated chatbot It is possible to provide a computer program stored in a medium including a sequence of instructions for deriving a response to a query message from upload data on which the indexing process has been performed using an engine.

본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 업로드 데이터를 등록받아 학습된 유사 문장 자연어 처리 엔진은 응답의 도출 시, 업로드 데이터에 대해 챗봇 플랫폼에서 정의 및 등록된 유닛 워드를 참조하여 색인 과정을 수행하고, 색인 과정을 통해 복수의 유사 질의 문장을 검색하고, 검색된 복수의 유사 질의 문장으로부터 스코어 형태의 유사 정확도를 산출하고, 산출된 유사 정확도에 기초한 질의 문장 및 응답을 사용자에게 제공함으로써, 질의 메시지에 대한 응답을 지식 기반으로 검색하여 제공하도록 하는 자연어 처리 엔진을 관리하는 방법, 서버 및 컴퓨터 프로그램을 제공할 수 있다. The present invention is to solve the problems of the prior art, and the similar sentence natural language processing engine learned by receiving upload data indexes the uploaded data by referring to the unit word defined and registered in the chatbot platform when deriving a response. By performing a process, searching for a plurality of similar query sentences through an indexing process, calculating the similarity accuracy in a score form from the searched plurality of similar query sentences, and providing a query sentence and response based on the calculated similarity accuracy to the user, A method, a server, and a computer program for managing a natural language processing engine that searches and provides a response to a query message based on a knowledge base may be provided.

또한, 본 발명의 자연어 처리 모델은 적어도 하나 이상의 자연어 처리 엔진(의도 기반 자연어 처리 엔진 및 유사 문장 기반 자연어 처리 엔진)이 조합됨으로써, 의도 기반 자연어 처리 엔진에서 질의 메시지로부터 사용자의 의도를 추출하지 못하는 경우, 유사 문장 기반 자연어 처리 엔진에서 응답이 도출되도록 하여 기계 학습 또는 패턴 기반의 챗봇이 갖는 장점과 업로드 데이터를 이용한 지식 검색 기반의 챗봇이 갖는 장점을 모두 가져 상호 보완적으로 작용할 수 있도록 하는 자연어 처리 엔진을 관리하는 방법, 서버 및 컴퓨터 프로그램을 제공할 수 있다. In addition, in the case where at least one natural language processing engine (intention-based natural language processing engine and similar sentence-based natural language processing engine) is combined with the natural language processing model of the present invention, the intention-based natural language processing engine cannot extract the user's intention from the query message. , A natural language processing engine that allows responses to be derived from a similar sentence-based natural language processing engine to work complementarily with both the advantages of machine learning or pattern-based chatbots and of knowledge search-based chatbots using uploaded data. How to manage, server and computer programs can be provided.

또한, 본 발명에서 임계치 레벨은 제 1 처리 엔진 및 제 2 처리 엔진 간의 활성화율에 대해 설정되어, 제 1 처리 엔진 및 제 2 처리 엔진의 처리 순서를 결정하고, 제 1 처리 엔진 및 제 2 처리 엔진에 의한 처리 정도를 커스텀할 수 있도록 하는 자연어 처리 엔진을 관리하는 방법, 서버 및 컴퓨터 프로그램을 제공할 수 있다. Further, in the present invention, the threshold level is set for the activation rate between the first processing engine and the second processing engine, determining the processing order of the first processing engine and the second processing engine, and determining the processing order of the first processing engine and the second processing engine. It is possible to provide a method, a server, and a computer program for managing a natural language processing engine that enables the degree of processing by the user to be customized.

또한, 본 발명은 서로 다른 자연어 처리 엔진으로 구성된 순차 연계 처리 모델에 대해 제 1 처리 엔진 및 제 2 처리 엔진 간의 활성화율에 대한 임계치를 설정함으로써, 제 1 처리 엔진을 통해 도출된 응답의 정확도가 임계치 레벨을 초과하는 경우, 제 1 처리 엔진을 통해 도출된 응답을 최종 응답으로 제공하고, 제 1 처리 엔진을 통해 도출된 응답의 정확도가 임계치 레벨 이하인 경우, 제 2 처리 엔진을 통해 도출된 응답을 최종 응답으로 제공하여 제 1 처리 엔진과 제 2 처리 엔진을 상호 보완적으로 이용하여 사용자에게 응답을 제공할 수 있도록 하는 자연어 처리 엔진을 관리하는 방법, 서버 및 컴퓨터 프로그램을 제공할 수 있다. In addition, the present invention sets a threshold for an activation rate between the first processing engine and the second processing engine for a sequentially linked processing model composed of different natural language processing engines, so that the accuracy of the response derived through the first processing engine is a threshold value. If the level is exceeded, the response derived through the first processing engine is provided as the final response, and when the accuracy of the response derived through the first processing engine is less than the threshold level, the response derived through the second processing engine is finalized. It is possible to provide a method, a server, and a computer program for managing a natural language processing engine that provides a response as a response and provides a response to a user by complementarily using the first processing engine and the second processing engine.

또한, 본 발명은 서로 다른 자연어 처리 엔진으로 구성된 동시 연계 처리 모델에 대해 제 1 처리 엔진 및 제 2 처리 엔진 간의 가중치 레벨을 설정함으로써, 각각의 처리 엔진을 통해 도출된 각각의 신뢰도에 기초하여 더 높은 신뢰도를 나타내는 응답을 최종 응답으로 사용자에게 제공할 수 있도록 하는 자연어 처리 엔진을 관리하는 방법, 서버 및 컴퓨터 프로그램을 제공할 수 있다. In addition, the present invention sets a weight level between the first processing engine and the second processing engine for a simultaneous linked processing model composed of different natural language processing engines, thereby providing a higher level of reliability based on the respective reliability derived through each processing engine. It is possible to provide a method, a server, and a computer program for managing a natural language processing engine that enables a response indicating reliability to be provided to a user as a final response.

도 1은 본 발명의 일 실시예에 따른 자연어 처리 엔진 관리 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 관리 서버의 구성도이다.
도 3a 내지 도 3e는 본 발명의 일 실시예에 따른 업로드 데이터를 등록받는 과정을 설명하기 위한 예시적인 도면이다.
도 4a 및 도 4b는 본 발명의 일 실시예에 따른 기등록된 복수의 업데이트를 선택하여 유사 문장 기반 자연어 처리 엔진을 학습시키는 과정을 설명하기 위한 예시적인 도면이다.
도 5a 및 도 5b는 본 발명의 일 실시예에 따른 활성화율에 대한 임계치 레벨을 설정받는 과정을 설명하기 위한 예시적인 도면이다.
도 6a 내지 도 6e는 본 발명의 일 실시예에 따른 도출된 응답이 즉문즉답형으로 출력되도록 설정하는 과정을 설명하기 위한 예시적인 도면이다.
도 7a 내지 도 7c는 본 발명의 일 실시예에 따른 도출된 응답이 답안추천형으로 출력되도록 설정하는 과정을 설명하기 위한 예시적인 도면이다.
도 8a 및 도 8b는 본 발명의 일 실시예에 따른 관리 서버에서 자연어 처리 엔진을 관리하는 방법의 순서도이다.
도 9a 및 도 9b는 본 발명의 일 실시예에 따른 관리 서버에서 자연어 처리 모델을 이용하여 질의 메시지에 대한 응답을 도출하는 과정을 설명하기 위한 예시적인 도면이다.
1 is a block diagram of a natural language processing engine management system according to an embodiment of the present invention.
2 is a configuration diagram of a management server according to an embodiment of the present invention.
3A to 3E are exemplary diagrams for explaining a process of registering upload data according to an embodiment of the present invention.
4A and 4B are exemplary views for explaining a process of learning a similar sentence-based natural language processing engine by selecting a plurality of previously registered updates according to an embodiment of the present invention.
5A and 5B are exemplary diagrams for explaining a process of setting a threshold level for an activation rate according to an embodiment of the present invention.
6A to 6E are exemplary diagrams for explaining a process of setting a derived response to be output in an immediate response type according to an embodiment of the present invention.
7A to 7C are exemplary diagrams for explaining a process of setting a derived response to be output in an answer recommendation type according to an embodiment of the present invention.
8A and 8B are flowcharts of a method of managing a natural language processing engine in a management server according to an embodiment of the present invention.
9A and 9B are exemplary diagrams for explaining a process of deriving a response to a query message by using a natural language processing model in a management server according to an 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 of ordinary skill in the art can easily implement the present invention. However, the present invention may be implemented in various different forms and is not limited to the embodiments described herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and similar reference numerals are assigned to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is said to be "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element interposed therebetween. . In addition, when a part "includes" a certain component, it means that other components may be further included rather than excluding other components unless specifically stated to the contrary.

본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.In the present specification, the term "unit" includes a unit realized by hardware, a unit realized by software, and a unit realized using both. Further, one unit may be realized using two or more hardware, or two or more units may be realized using one hardware. Meanwhile,'~ unit' is not meant to be limited to software or hardware, and'~ unit' may be configured to be in an addressable storage medium or configured to reproduce one or more processors. Thus, as an example,'~ unit' refers to components such as software components, object-oriented software components, class components and task components, processes, functions, properties, and procedures. , Subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays and variables. The components and functions provided in the'~ units' may be combined into a smaller number of elements and'~ units', or may be further divided into additional elements and'~ units'. In addition, components and'~ units' may be implemented to play one or more CPUs in a device or a security multimedia card.

이하에서 언급되는 "사용자 단말"은 네트워크를 통해 서버나 타 단말에 접속할 수 있는 컴퓨터나 휴대용 단말기로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop) 등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 스마트폰(smart phone), 태블릿 PC, 웨어러블 디바이스뿐만 아니라, 블루투스(BLE, Bluetooth Low Energy), NFC, RFID, 초음파(Ultrasonic), 적외선, 와이파이(WiFi), 라이파이(LiFi) 등의 통신 모듈을 탑재한 각종 디바이스를 포함할 수 있다. 또한, "네트워크"는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷 (WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 블루투스 통신, 적외선 통신, 초음파 통신, 가시광 통신(VLC: Visible Light Communication), 라이파이(LiFi) 등이 포함되나 이에 한정되지는 않는다. The "user terminal" mentioned below may be implemented as a computer or portable terminal that can access a server or other terminal through a network. Here, the computer includes, for example, a notebook equipped with a web browser, a desktop, a laptop, and the like, and the portable terminal is, for example, a wireless communication device that ensures portability and mobility. , Smart phones, tablet PCs, wearable devices, as well as communication modules such as Bluetooth (BLE, Bluetooth Low Energy), NFC, RFID, Ultrasonic, infrared, Wi-Fi, and LiFi. It can include various mounted devices. In addition, "network" refers to a connection structure in which information exchange is possible between each node such as terminals and servers, and includes a local area network (LAN), a wide area network (WAN), and the Internet. (WWW: World Wide Web), wired and wireless data networks, telephone networks, wired and wireless television networks, etc. Examples of wireless data networks include 3G, 4G, 5G, 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE), World Interoperability for Microwave Access (WIMAX), Wi-Fi, Bluetooth communication, infrared communication, and ultrasound. Communication, Visible Light Communication (VLC), LiFi, etc. are included, but are not limited thereto.

도 1은 본 발명의 일 실시예에 따른 자연어 처리 엔진 관리 시스템의 구성도이다.1 is a block diagram of a natural language processing engine management system according to an embodiment of the present invention.

도 1을 참조하면, 자연어 처리 엔진 관리 시스템(1)은 관리 서버(110), 메신저 서버(120) 및 사용자 단말(130)을 포함할 수 있다. 여기서, 관리 서버(110)는 기존의 챗봇 플랫폼을 제공하는 챗봇 서버와 동일한 역할을 수행할 수 있으며, 이러한 도 1의 자연어 처리 엔진 관리 시스템(1)은 본 발명의 일 실시예에 불과하므로 도 1을 통해 본 발명이 한정 해석되는 것은 아니다. 즉, 본 발명의 다양한 실시예들에 따르면 자연어 처리 엔진 관리 시스템은 도 1과 다르게 구성될 수도 있다. Referring to FIG. 1, the natural language processing engine management system 1 may include a management server 110, a messenger server 120, and a user terminal 130. Here, the management server 110 may perform the same role as a chatbot server that provides an existing chatbot platform, and the natural language processing engine management system 1 of FIG. 1 is only an embodiment of the present invention. The present invention is not limited to the interpretation. That is, according to various embodiments of the present invention, the natural language processing engine management system may be configured differently from that of FIG. 1.

일 실시예에 따르면, 관리 서버(110)는 자연어 처리 엔진을 구축 및 관리 할 수 있고. 구축된 자연어 처리 엔진을 기반으로 하여 챗봇을 생성하여 관리할 수 있다. 관리 서버(110)가 관리하는 자연어 처리 엔진은 유사 문장 기반 자연어 처리 엔진 및 의도 기반 자연어 처리 엔진 등을 포함할 수 있고, 이에 제한되지 않는다.According to an embodiment, the management server 110 may build and manage a natural language processing engine. You can create and manage chatbots based on the built natural language processing engine. The natural language processing engine managed by the management server 110 may include, but is not limited to, a similar sentence-based natural language processing engine and an intention-based natural language processing engine.

관리 서버(110)는 관리자로부터 챗봇을 생성할 수 있는 봇빌더에 대한 사용자 인터페이스를 통해 질문 데이터 및 질문 데이터에 대응하는 응답 데이터로 구성된 업로드 데이터를 등록받을 수 있다. 예를 들어, 관리 서버(110)는 관리자로부터 파일 업로드 방식 또는 관리 서버(110)와의 API 연결 방식을 통해 업로드 데이터를 등록받을 수 있다. The management server 110 may register upload data consisting of question data and response data corresponding to the question data through a user interface for a bot builder capable of generating a chatbot from an administrator. For example, the management server 110 may register upload data from an administrator through a file upload method or an API connection method with the management server 110.

관리 서버(110)는 등록받은 업로드 데이터에 기초하여 유사 문장 기반 자연어 처리 엔진을 학습시킬 수 있다. 예를 들어, 관리 서버(110)는 기등록된 복수의 업로드 데이터 중 적어도 하나 이상을 선택받고, 선택된 업로드 데이터에 기초하여 유사 문장 기반 자연어 처리 엔진을 학습시킬 수 있다. The management server 110 may learn a similar sentence-based natural language processing engine based on the registered upload data. For example, the management server 110 may select at least one or more of a plurality of previously registered upload data, and learn a similar sentence-based natural language processing engine based on the selected upload data.

관리 서버(110)는 생성된 유사 문장 기반 자연어 처리 엔진을 이용하는 챗봇을 생성하고, 생성된 챗봇을 통해 유사 문장 기반 자연어 처리 엔진을 이용하여 질의 메시지에 대한 응답을 도출할 수 있다. 예를 들어, 관리 서버(110)는 업로드 데이터에 대해 색인 과정을 수행하고, 색인 과정이 수행된 업로드 데이터에 기초하여 유사 문장 기반 자연어 처리 엔진을 학습시킬 수 있고, 챗봇을 통해 유사 문장 기반 자연어 처리 엔진을 이용하여 색인 과정이 수행된 업로드 데이터로부터 응답을 도출할 수 있다.The management server 110 may generate a chatbot using the generated similar sentence-based natural language processing engine, and derive a response to the query message using the similar sentence-based natural language processing engine through the generated chatbot. For example, the management server 110 may perform an indexing process on the uploaded data, learn a natural language processing engine based on similar sentences based on the uploaded data on which the indexing process has been performed, and process similar sentences based natural language through a chatbot. A response can be derived from the uploaded data on which the indexing process has been performed using the engine.

여기서, 유사 문장 기반 자연어 처리 엔진을 이용하는 챗봇은 질의 메시지에 대해 소정의 유사 질의 문장을 참조하여 그에 대응하는 응답을 도출하는 검색형 봇으로 동작할 수 있다. Here, the chatbot using the similar sentence-based natural language processing engine may operate as a search-type bot that refers to a predetermined similar query sentence for a query message and derives a response corresponding thereto.

또한, 관리 서버(110)는 유닛 워드에 대한 정보를 등록받고, 이에 기초하여 의도 기반 자연어 처리 엔진을 학습시킬 수 있다. 관리 서버(110)는 의도 기반 자연어 처리 엔진을 이용하는 챗봇을 생성하고, 생성된 챗봇을 통해 의도 기반 자연어 처리 엔진을 이용하여 질의 메시지에 대한 응답을 도출할 수 있다.In addition, the management server 110 may receive information on a unit word and learn an intention-based natural language processing engine based on this. The management server 110 may generate a chatbot using an intention-based natural language processing engine, and derive a response to a query message using the intention-based natural language processing engine through the generated chatbot.

유닛 워드는 사용자의 의도(intent) 및 사용자의 의도(intent)를 추출 및 파악할 수 있도록 '@엔티티(entity)' 및 파라미터(parameter)로 구성될 수 있다. 파라미터(parameter)란 사용자의 발화로부터 추출된 엔티티(entity)에 대해서, 외부 컴퓨터/서버로 전송하기 위해 데이터를 전송하는 매개명을 의미할 수 있다. 이에 따라, 본 발명은 파라미터를 통해 챗봇이 특정 액션의 필요값을 전달할 수 있다. 엔티티(entity)는 일종의 데이터 사전으로서, 사용자발화안에서 사용자의도를 정의하기 위한 중요한 대표낱말들의 모음을 의미할 수 있다. 엔티티는 예를 들어, '@가수명', '@분위기', '@sys.address'(주소), '@sys.broadcst.name'(방송사명), '@sys.city'(해외도시), '@sys.currency.code'(통화코드), '@sys.currencyname'(통화이름), '@sys.date'(날짜), '@sys.date.lunar'(음력날짜) 등을 포함할 수 있다. 예를 들어, 사용자 단말(130)로부터 '아이유 노래 들려줘'라는 질의 메시지를 수신한 경우, '@가수명'에 기초하여 '가수-아이유'를 인식할 수 있게 된다. The unit word may be composed of'@entity' and a parameter to extract and understand the user's intent and the user's intent. The parameter may refer to a parameter for transmitting data for transmission to an external computer/server for an entity extracted from a user's speech. Accordingly, according to the present invention, the chatbot can transmit a required value of a specific action through a parameter. An entity is a kind of data dictionary, and may mean a collection of important representative words for defining user intention in user speech. Entities are, for example,'@singer name','@mood','@sys.address' (address),'@sys.broadcst.name' (broadcaster name),'@sys.city' (overseas city), and Include'@sys.currency.code' (currency code),'@sys.currencyname' (currency name),'@sys.date' (date),'@sys.date.lunar' (lunar date), etc. I can. For example, when receiving a query message "IU Wishing song" from the user terminal 130, "singer - IU 'based on the' @ singer 'it is able to recognize.

여기서, 의도 기반 자연어 처리 엔진을 이용하는 챗봇은 질의 메시지에 대해 의도를 판단하여 그에 대응하는 응답을 도출하는 의도 기반 도출형 챗봇으로 동작할 수 있다. Here, the chatbot using the intention-based natural language processing engine may operate as an intention-based derivation type chatbot that determines an intention for a query message and derives a response corresponding thereto.

다른 실시예에 따르면, 관리 서버(110)는 유사 문장 기반 자연어 처리 엔진 및 의도 기반 자연어 처리 엔진을 조합하여 복수의 자연어 처리 모델을 구축하고, 구축된 복수의 자연어 처리 모델을 관리할 수 있다. 이 때, 관리 서버(110)는 챗봇을 생성하기 위해 관리자로부터 구축된 복수의 자연어 처리 모델 중 적어도 하나를 선택받을 수 있다. 복수의 자연어 처리 모델은 '유사 문장 기반 자연어 처리 엔진만 사용되는 자연어 처리 모델', '의도 기반 자연어 처리 엔진만 사용되는 자연어 처리 모델' 및 '유사 문장 기반 자연어 처리 엔진 및 의도 기반 자연어 처리 엔진이 순차적으로 사용되는 순차 연계 처리 모델' 및 '유사 문장 기반 자연어 처리 엔진 및 의도 기반 자연어 처리 엔진이 동시에 사용되는 동시 연계 처리 모델'을 포함할 수 있다. 여기서, 적어두 두 개의 자연어 처리 엔진을 이용하는 복합 자연어 처리 엔진 기반의 자연어 처리 모델의 경우, 적어도 두 개의 자연어 처리 엔진 간의 관계에 있어서 각 엔진에 의한 처리 정도를 커스텀할 수 있는 임계치 레벨 또는 가중치 레벨을 설정할 수 있다. According to another embodiment, the management server 110 may build a plurality of natural language processing models by combining a similar sentence-based natural language processing engine and an intention-based natural language processing engine, and manage the constructed natural language processing models. In this case, the management server 110 may receive at least one of a plurality of natural language processing models built by an administrator to generate a chatbot. The multiple natural language processing models are'natural language processing model using only natural language processing engine based on similar sentences','natural language processing model using only natural language processing engine based on intention', and'natural language processing engine based on similar sentences and natural language processing engine based on intention'. And a'simultaneous linkage processing model in which a similar sentence-based natural language processing engine and an intention-based natural language processing engine are used simultaneously' may be included. Here, in the case of a natural language processing model based on a complex natural language processing engine using at least two natural language processing engines, a threshold level or a weighting level capable of customizing the processing degree by each engine in the relationship between at least two natural language processing engines Can be set.

관리 서버(110)는 구축된 복수의 자연어 처리 모델 중 선택된 자연어 처리 모델을 이용하는 챗봇을 생성할 수 있다. 순차 연계 처리 모델로 처리되도록 구성된 자연어 처리 모델을 이용하는 챗봇은 유사 문장 기반 자연어 처리 엔진 및 의도 기반 자연어 처리 엔진을 기설정된 순서에 따라 순차적으로 이용하여 응답이 도출되도록 할 수 있다. The management server 110 may generate a chatbot using a selected natural language processing model from among a plurality of built natural language processing models. A chatbot using a natural language processing model configured to be processed as a sequential linkage processing model can sequentially use a similar sentence-based natural language processing engine and an intention-based natural language processing engine in a preset order to derive a response.

예를 들어, 순차 연계 처리 모델이 선택된 경우, 관리 서버(110)는 제 1 처리 엔진으로 설정된 자연어 처리 엔진을 통해 응답을 도출하고, 제 1 처리 엔진을 통해 응답이 도출되지 않는 경우, 제 2 처리 엔진으로 설정된 자연어 처리 엔진을 통해 응답을 도출할 수 있다. 관리 서버(110)는 제 1 처리 엔진으로 설정된 자연어 처리 엔진을 통해 도출된 응답의 정확도를 산출하고, 산출된 응답의 정확도가 제 1 처리 엔진 및 제 2 처리 엔진 간에 기설정된 활성화율에 대한 임계치 레벨을 초과하는 경우, 도출된 응답을 최종 응답으로 확정할 수 있다. 이와 달리 산출된 응답의 정확도가 활성화율에 대한 임계치 레벨 이하인 경우, 제 2 처리 엔진으로 설정된 자연어 처리 엔진을 통해 응답이 도출되도록 할 수 있다. 여기서, 제 1 처리 엔진 및 제 2 처리 엔진 간의 동작 순서는 관리자에 의해 설정될 수 있다. For example, when the sequential linkage processing model is selected, the management server 110 derives a response through the natural language processing engine set as the first processing engine, and when the response is not derived through the first processing engine, the second processing Responses can be derived through the natural language processing engine set as the engine. The management server 110 calculates the accuracy of the response derived through the natural language processing engine set as the first processing engine, and the accuracy of the calculated response is a threshold level for a preset activation rate between the first processing engine and the second processing engine. If exceeds, the derived response can be confirmed as the final response. Otherwise, when the accuracy of the calculated response is less than or equal to the threshold level for the activation rate, the response may be derived through the natural language processing engine set as the second processing engine. Here, the order of operations between the first processing engine and the second processing engine may be set by an administrator.

다른 예를 들어, 동시 연계 처리 모델로 처리되도록 구성된 자연어 처리 모델을 이용하는 챗봇은 유사 문장 기반 자연어 처리 엔진 및 의도 기반 자연어 처리 엔진을 동시에 이용하여 응답이 도출되도록 할 수 있다. For another example, a chatbot using a natural language processing model configured to be processed as a simultaneous linkage processing model may use a similar sentence-based natural language processing engine and an intention-based natural language processing engine to derive a response at the same time.

동시 연계 처리 모델이 선택된 경우, 관리 서버(110)는 제 1 처리 엔진으로 설정된 자연어 처리 엔진 및 제 2 처리 엔진으로 설정된 자연어 처리 엔진 각각을 통해 응답을 도출하고, 도출된 각 응답의 신뢰도를 산출하고, 산출된 각 응답의 신뢰도에 기초하여 도출된 각 응답 중 최종 응답을 확정할 수 있다. 여기서, 관리 서버(110)는 도출된 각 응답의 신뢰도에 대해 기설정된 가중치를 부여하고, 가중치가 부여된 각 응답의 신뢰도에 기초하여, 도출된 각 응답 중 최종 응답을 확정할 수 있다. 이러한 과정을 통해, 관리 서버(110)는 질의 메시지에 대해 도출된 각각의 응답 중 신뢰도가 높은 응답을 사용자 단말(130)로 제공하도록 함으로써, 정확도 높은 응답을 사용자에게 제공할 수 있다. When the simultaneous linkage processing model is selected, the management server 110 derives a response through each of the natural language processing engine set as the first processing engine and the natural language processing engine set as the second processing engine, and calculates the reliability of each derived response. , It is possible to determine the final response among the derived responses based on the calculated reliability of each response. Here, the management server 110 may assign a predetermined weight to the reliability of each derived response, and determine a final response among the derived responses based on the reliability of each response to which the weight is assigned. Through this process, the management server 110 may provide a highly accurate response to the user by providing a highly reliable response among the responses derived to the query message to the user terminal 130.

이러한 일 실시예 및 다른 실시예에서 이용되는 관리 서버(110)는 메신저 서버(120)로부터 사용자 단말(130)에서 입력한 질의 메시지를 수신할 수 있다. 이 때, 관리 서버(110)는 메신저 서버(120)로부터 공식 계정 아이디 및 질의 메시지를 수신하는 경우, 공식 계정 아이디에 대응하는 챗봇을 이용하여 질의 메시지에 대한 응답을 도출할 수 있다. The management server 110 used in this and other embodiments may receive an inquiry message input from the user terminal 130 from the messenger server 120. At this time, when the management server 110 receives the official account ID and the inquiry message from the messenger server 120, the management server 110 may derive a response to the inquiry message using a chatbot corresponding to the official account ID.

관리 서버(110)는 도출된 응답을 메신저 서버(120)로 전송할 수 있다. 이 때, 메신저 서버(120)로 전송된 응답은 사용자 단말(130)로 전달될 수 있다. The management server 110 may transmit the derived response to the messenger server 120. At this time, the response transmitted to the messenger server 120 may be transmitted to the user terminal 130.

메신저 서버(120)는 사용자 단말(130)과 실제 친구로 등록된 타 사용자가 채팅방에서 대화를 주고 받을 수 있게 하는 인스턴스 메시징 서비스를 제공할 수 있다. 또한, 메신저 서버(120)는 사용자 단말(130)은 메신저 앱에 가상 친구로 등록된 챗봇 또는 공식 계정과 대화를 주고 받을 수 있게 하는 인스턴스 메시징 서비스를 제공할 수 있다.The messenger server 120 may provide an instant messaging service that enables the user terminal 130 and other users registered as real friends to exchange conversations in a chat room. In addition, the messenger server 120 may provide an instant messaging service that enables the user terminal 130 to exchange conversations with a chatbot or an official account registered as a virtual friend in the messenger app.

예를 들어, 메신저 서버(120)는 사용자 단말(130)로부터 선택된 서비스에 관한 챗봇 아이디 및 질의 메시지를 수신한 경우, 수신한 챗봇 아이디 및 질의 메시지를 관리 서버(110)로 전달할 수 있다. 다른 예를 들어, 메신저 서버(120)는 사용자 단말(130)로부터 선택된 서비스에 관한 공식 계정 아이디 및 질의 메시지를 수신한 경우, 수신한 공식 계정 아이디(또는 수신한 공식 계정 아이디와 매핑된 챗봇 아이디) 및 수신한 질의 메시지를 관리 서버(110)로 전달할 수 있다.For example, when the messenger server 120 receives a chatbot ID and an inquiry message regarding a selected service from the user terminal 130, the messenger server 120 may transmit the received chatbot ID and an inquiry message to the management server 110. For another example, when the messenger server 120 receives an official account ID and an inquiry message for a selected service from the user terminal 130, the received official account ID (or a chatbot ID mapped with the received official account ID) And the received query message may be delivered to the management server 110.

메신저 서버(120)는 관리 서버(110)로부터 챗봇에 의하여 도출된 질의 메시지에 대한 응답을 수신할 수 있다. 메신저 서버(120)는 수신한 응답을 사용자 단말(130)과 챗봇 간에 개설된 채팅방 또는 사용자 단말(130)과 공식 계정 간에 개설된 채팅방에 전송할 수 있다.The messenger server 120 may receive a response to an inquiry message derived by the chatbot from the management server 110. The messenger server 120 may transmit the received response to a chat room opened between the user terminal 130 and a chatbot or a chat room opened between the user terminal 130 and an official account.

사용자 단말(130)에 설치된 메신저 앱을 통해 등록될 수 있는 친구는 실제 친구 및 가상 친구를 포함할 수 있다.Friends that can be registered through the messenger app installed on the user terminal 130 may include real friends and virtual friends.

사용자 단말(130)의 사용자는 메신저 앱을 통해 영리적인 목적이 없는 타 사용자(예를 들어, 가족, 지인, 직장 동료 등)를 실제 친구로서 등록할 수 있다. 사용자 단말(130)은 사용자 단말(130)에 설치된 메신저 앱을 통해 실제 친구로 등록된 타 사용자와 채팅방을 통해 대화를 주고 받음으로써 사용자에게 인스턴스 메시징 서비스를 제공할 수 있다.The user of the user terminal 130 may register other users (eg, family members, acquaintances, co-workers, etc.) without a commercial purpose as real friends through the messenger app. The user terminal 130 may provide an instant messaging service to a user by exchanging a conversation with another user registered as a real friend through a chat room through a messenger app installed on the user terminal 130.

사용자 단말(130)의 사용자는 메신저 앱을 통해 특정 서비스에 대응하는 공식 계정을 가상 친구로서 등록할 수 있다. 공식 계정이란 특정 기업체 및 단체에서 특정 서비스를 제공하기 위하여 운영하는 계정을 의미할 수 있다. 예를 들어, 공식 계정은 공식 계정과 사용자 단말(130) 사이에 개설된 채팅방을 통해 사용자 단말(130)로 특정 서비스에 대한 정보를 제공할 수 있다. 사용자 단말(130)은 해당 공식 계정을 가상 친구로 등록하여 공식 계정으로부터 특정 서비스에 대한 정보를 제공받을 수 있다. 한편, 해당 공식 계정을 가상 친구로 등록하지 않더라도 특정 서비스에 대한 정보를 제공받을 수도 있다. The user of the user terminal 130 may register an official account corresponding to a specific service as a virtual friend through the messenger app. The official account may mean an account operated by a specific enterprise or organization to provide a specific service. For example, the official account may provide information on a specific service to the user terminal 130 through a chat room opened between the official account and the user terminal 130. The user terminal 130 may register the corresponding official account as a virtual friend and receive information on a specific service from the official account. On the other hand, even if the official account is not registered as a virtual friend, information on a specific service may be provided.

공식 계정은 특정 기업체 및 단체에서 제공하는 특정 서비스에 대한 정보를 사용자 단말(130)로 제공하기 위하여 챗봇을 이용 수 있다. 공식 계정의 관리자는 관리 서버(110)에서 제공되는 봇빌더에 관한 사용자 인터페이스를 통해 챗봇을 생성하고, 생성된 챗봇을 공식 계정과 연결하여 연동하게 함으로써 특정 서비스에 대한 정보(예를 들어, 특정 서비스에 관련된 질의 메시지에 대한 응답)를 제공하도록 할 수 있다. 또한, 공식 계정의 관리자는 봇빌더에 관한 사용자 인터페이스를 통해 공식 계정과 챗봇을 일대일 매칭하여 관리할 수 있으며, 복수의 챗봇을 공식 계정과 연결하여 연동하게 하도록 확장할 수도 있다. The official account may use a chatbot to provide information on a specific service provided by a specific company or organization to the user terminal 130. The administrator of the official account creates a chatbot through the user interface for the bot builder provided from the management server 110, and connects the created chatbot with the official account to link information on a specific service (for example, a specific service Can provide a response to a query message related to. In addition, the administrator of the official account can manage the official account and chatbot by matching one-to-one through the user interface for the bot builder, and can be extended to link multiple chatbots with the official account.

또한, 사용자 단말(130)의 사용자는 메신저 앱을 통해 특정 서비스에 대응하는 챗봇을 가상 친구로서 등록할 수 있다. 예를 들어, 가상 친구로서 등록된 챗봇은 사용자 단말(130)로 날씨 서비스, 주식 서비스, 교통 서비스 등에 대한 정보를 제공할 수 있다.In addition, a user of the user terminal 130 may register a chatbot corresponding to a specific service as a virtual friend through a messenger app. For example, a chatbot registered as a virtual friend may provide information on weather services, stock services, and traffic services to the user terminal 130.

따라서, 사용자 단말(130)은 공식 계정을 가상 친구로서 등록할 경우, 공식 계정과 연동하는 챗봇을 통해 질의 메시지에 대한 응답을 제공받을 수 있으며, 챗봇 자체를 가상 친구로서 등록할 경우, 해당 챗봇을 통해 질의 메시지에 대한 응답을 제공받을 수 있다.Therefore, when registering an official account as a virtual friend, the user terminal 130 may receive a response to a query message through a chatbot linked to the official account. When registering the chatbot itself as a virtual friend, the corresponding chatbot Through this, a response to the inquiry message can be provided.

사용자 단말(130)은 메신저 앱에 가상 친구로 등록된 예를 들어, 챗봇 또는 공식 계정과 채팅방을 통해 대화를 주고 받음으로써 사용자에게 인스턴스 메시징 서비스를 제공할 수 있다. 또한, 사용자 단말(130)은 사용자 단말(130)과 실제 친구 사이에 개설된 채팅방에 가상 친구로서 등록된 챗봇을 초대할 수 있다.The user terminal 130 may provide an instant messaging service to a user by exchanging conversations with, for example, a chatbot or an official account registered as a virtual friend in the messenger app through a chat room. In addition, the user terminal 130 may invite a chatbot registered as a virtual friend to a chat room opened between the user terminal 130 and a real friend.

사용자 단말(130)은 사용자 단말(130)에 설치된 메신저 앱을 통해 제공되는 복수의 서비스 중 하나의 서비스를 사용자로부터 선택받을 수 있다. 예를 들어, 복수의 서비스는 공식 계정이 제공하는 서비스 및 챗봇이 제공하는 서비스를 포함할 수 있다. 사용자는 가상 친구인 공식 계정 또는 챗봇을 선택함으로 공식 계정이 제공하는 서비스 또는 챗봇이 제공하는 서비스를 채팅방을 통해 제공 받을 수 있다.The user terminal 130 may receive one service selected from a user among a plurality of services provided through a messenger app installed on the user terminal 130. For example, the plurality of services may include a service provided by an official account and a service provided by a chatbot. By selecting an official account or chatbot that is a virtual friend, the user can receive the services provided by the official account or the services provided by the chatbot through the chat room.

사용자 단말(130)은 사용자 단말(130)에 설치된 메신저 앱을 통해 제공되는 복수의 서비스 중 하나의 서비스를 사용자로부터 선택받으면, 선택된 서비스에 대응하는 서비스 계정 정보를 메신저 서버(120)에게 전송할 수 있다. 예를 들어, 서비스 계정 정보는 선택된 서비스에 대응하는 챗봇 아이디(가상 챗봇 아이디 또는 실제 챗봇 아이디) 또는 선택된 서비스에 대응하는 공식 계정의 공식 계정 아이디를 포함할 수 있다. The user terminal 130 may transmit service account information corresponding to the selected service to the messenger server 120 when one of a plurality of services provided through a messenger app installed on the user terminal 130 is selected by the user. . For example, the service account information may include a chatbot ID (virtual chatbot ID or real chatbot ID) corresponding to the selected service or an official account ID of an official account corresponding to the selected service.

또한, 사용자 단말(130)은 사용자에 의해 선택된 서비스와 관련된 질의 메시지를 채팅방을 통해 사용자로부터 입력받으면, 해당 질의 메시지를 메신저 서버(120)로 전송할 수 있다. 서비스 계정 정보 및 질의 메시지는 메신저 서버(120)를 통해 관리 서버(110)로 전달될 수 있다. In addition, when the user terminal 130 receives an inquiry message related to a service selected by the user from the user through a chat room, the user terminal 130 may transmit the corresponding inquiry message to the messenger server 120. The service account information and query message may be delivered to the management server 110 through the messenger server 120.

사용자 단말(130)은 메신저 서버(120)로부터 질의 메시지에 대응하는 응답을 수신하고, 수신한 응답을 디스플레이를 통해 표시할 수 있다. 예를 들어, 사용자 단말(130)은 수신한 응답을 디스플레이를 통해 표시할 수 있다. 다른 예를 들어, 사용자 단말(130)은 질의 메시지와 유사한 소정의 유사 질의 문장을 디스플레이를 통해 표시할 수 있다. 이 때, 사용자 단말(130)은 사용자로부터 소정의 유사 질의 문장 중 어느 하나를 선택받고, 선택된 유사 질의 문장에 대한 응답을 표시할 수 있다. The user terminal 130 may receive a response corresponding to the query message from the messenger server 120 and display the received response through a display. For example, the user terminal 130 may display the received response through the display. For another example, the user terminal 130 may display a predetermined similar query sentence similar to the query message through the display. In this case, the user terminal 130 may receive a selection of one of the predetermined similar query sentences from the user and display a response to the selected similar query sentence.

본 발명은 관리자 또는 개발자가 보유한 질문 데이터 및 질문 데이터에 대응하는 응답 데이터의 세트로 구성된 업로드 데이터를 기계 학습 또는 패턴 기반의 챗봇 플랫폼과 연결함으로써 챗봇을 손쉽게 생성할 수 있다. 이러한 과정을 통해 생성된 챗봇은 업로드 데이터에 기초하여 생성된 유사 문장 기반 자연어 처리 엔진을 통해 사용자 질의 메시지와 유사한 질의를 참조하여 그에 대응하는 응답을 도출하는 검색형 봇으로 동작할 수 있다. 또는, 챗봇은 기계 학습 또는 패턴 기반에서 처리되지 못한 사용자의 질의 메시지를 폴백(fallback) 처리하지 않고, 이를 보완적으로 사용자의 질의와 유사한 질의를 검색하여 그와 연결된 응답을 도출하여 제공할 수 있다. In the present invention, a chatbot can be easily created by connecting upload data consisting of a set of question data and response data corresponding to the question data held by an administrator or developer with a machine learning or pattern-based chatbot platform. The chatbot generated through this process may operate as a search-type bot that refers to a query similar to a user query message and derives a corresponding response through a similar sentence-based natural language processing engine generated based on upload data. Alternatively, the chatbot does not fallback the user's query message that has not been processed based on machine learning or pattern, and can complement this by searching for a query similar to the user's query and derives and provides a response linked thereto. .

이와 같은 도 1의 자연어 처리 엔진 관리 시스템에 포함된 각각의 구성요소의 동작에 대해서는 이하의 도면들을 통해 보다 구체적으로 설명하도록 한다. The operation of each component included in the natural language processing engine management system of FIG. 1 will be described in more detail with reference to the following drawings.

도 2는 본 발명의 일 실시예에 따른 관리 서버의 구성도이다. 도 2를 참조하면, 관리 서버(110)는 업로드 데이터 등록부(210), 유사 문장 기반 자연어 처리 엔진 학습부(220), 자연어 처리 모델 관리부(230), 설정부(240), 챗봇 생성부(250), 응답 도출부(260) 및 통신부(270)를 포함할 수 있다. 다만, 본 발명의 일 실시예에 따른 관리 서버(110)의 구성은 도 3과 다르게 이루어질 수도 있다. 2 is a configuration diagram of a management server according to an embodiment of the present invention. 2, the management server 110 includes an upload data registration unit 210, a similar sentence-based natural language processing engine learning unit 220, a natural language processing model management unit 230, a setting unit 240, and a chatbot generation unit 250. ), a response derivation unit 260 and a communication unit 270 may be included. However, the configuration of the management server 110 according to an embodiment of the present invention may be different from that of FIG. 3.

여기서, 관리 서버(110)를 관리하는 관리자는 웹이나 앱을 통해 관리 서버(110)의 봇빌더부에 접속 할 수 있으며, 봇빌더부에서 제공하는 사용자 인터페이스를 통해 챗봇을 생성할 수 있다. Here, the administrator who manages the management server 110 may access the bot builder unit of the management server 110 through a web or an app, and may create a chatbot through a user interface provided by the bot builder unit.

일 실시예에 따르면, 관리 서버(110)는 유사 문장 기반 처리 엔진을 이용하는 챗봇을 생성할 수 있다. 이하에서는, 유사 문장 기반 처리 엔진을 이용하는 챗봇을 생성하는 과정에 대해 설명하도록 한다. According to an embodiment, the management server 110 may generate a chatbot using a similar sentence-based processing engine. Hereinafter, a process of generating a chatbot using a similar sentence-based processing engine will be described.

업로드 데이터 등록부(210)는 챗봇을 생성할 수 있는 봇빌더에 대한 사용자 인터페이스를 통해 질문 데이터 및 질문 데이터에 대응하는 응답 데이터로 구성된 업로드 데이터를 등록받을 수 있다. 업로드 데이터가 질문 데이터 및 질문 데이터에 대응하는 응답 데이터로 구성되어 있는 경우, 업로드 데이터 등록부(210)는 질문 데이터 및 응답 데이터에 대한 데이터 분석을 통해 관리자가 작성한 질문 및 답변을 파악하여 업로드 데이터를 등록할 수 있다.The upload data register 210 may register upload data consisting of question data and response data corresponding to the question data through a user interface for a bot builder capable of generating a chatbot. When the upload data is composed of question data and response data corresponding to the question data, the upload data register 210 identifies the question and answer created by the administrator through data analysis on the question data and response data, and registers the upload data. can do.

예를 들어, 업로드 데이터 등록부(210)는 파일 업로드 방식 또는 관리 서버(110)와의 API 연결 방식을 통해 챗봇 플랫폼과의 연결을 위한 업로드 데이터를 등록받을 수 있다. 여기서, 업로드 데이터 등록부(210)는 관리자로부터 등록받은 업로드 데이터에 대해 스팸 필터 기능을 적용시킬 수 있다. 예를 들어, 업로드 데이터 등록부(210)는 관리자로부터 특정 단어 세트(예를 들어, 비속어, 욕설, 스팸, 성인 등)을 사전 정보로 입력받음으로써, 스팸 필터 기능을 통해 사용자 단말(130)과의 응대 효과를 높일 수 있다. For example, the upload data register 210 may register upload data for connection with the chatbot platform through a file upload method or an API connection method with the management server 110. Here, the upload data register 210 may apply a spam filter function to the uploaded data registered from the administrator. For example, the upload data register 210 receives a specific set of words (eg, profanity, profanity, spam, adult, etc.) as dictionary information from the administrator, so that it interacts with the user terminal 130 through a spam filter function. You can increase the response effect.

업로드 데이터를 등록받는 과정에 대해서는 도 3a 내지 도 3d를 통해 상세히 설명하도록 한다. A process of registering upload data will be described in detail through FIGS. 3A to 3D.

도 3a 내지 도 3e는 본 발명의 일 실시예에 따른 업로드 데이터를 등록받는 과정을 설명하기 위한 예시적인 도면이다. 3A to 3E are exemplary diagrams for explaining a process of registering upload data according to an embodiment of the present invention.

도 3a는 본 발명의 일 실시예에 따른 봇빌더에 관한 사용자 인터페이스를 도시한 예시적인 도면이다. 도 3a를 참조하면, 관리 서버(110)는 봇빌더 메인 화면(300) 중 '지식+' 메뉴(301)를 통해 지식 확장 페이지(302)가 표시되도록 할 수 있다. 이 때, 유사 문장 기반 자연어 처리 엔진과 챗봇 플랫폼을 접목시키기 위해, 관리자는 사용 버튼(303)의 온(on)/오프(off)를 통해 유사 문장 기반 자연어 처리 엔진의 사용 여부를 설정할 수 있다. 3A is an exemplary diagram showing a user interface related to a bot builder according to an embodiment of the present invention. Referring to FIG. 3A, the management server 110 may display a knowledge extension page 302 through a'knowledge +'menu 301 of the main bot builder screen 300. In this case, in order to combine the similar sentence-based natural language processing engine and the chatbot platform, the administrator may set whether to use the similar sentence-based natural language processing engine through on/off of the use button 303.

관리자는 데이터베이스에 저장된 업로드 데이터를 챗봇에 연결시키도록 하는 지식 학습 설정(304)의 파일 업로드 버튼(305) 또는 API 연결 버튼(306)을 선택하고, 저장 버튼(307)을 입력할 수 있다. 이러한 과정을 통해 유사 문장 기반 자연어 처리 엔진을 학습시키기 위한 초기 설정을 할 수 있다. The administrator may select the file upload button 305 or the API connection button 306 of the knowledge learning setup 304 to connect the uploaded data stored in the database to the chatbot, and input the save button 307. Through this process, an initial setting for learning a natural language processing engine based on similar sentences can be made.

도 3b는 본 발명의 일 실시예에 따른 파일 업로드 방식을 통해 업로드 데이터를 등록받는 과정을 설명하기 위한 예시적인 도면이다. 도 3b를 참조하면, 업로드 데이터 등록부(210)는 관리자로부터 지식 업로드 방식 중 스프레드시트형(CSV, excel 등)의 파일 업로드 버튼(305)을 입력받은 후, 지식 파일 업로드 버튼(310)을 통해 업로드 데이터를 등록받을 수 있다. 이러한 과정을 통해 등록된 업로드 데이터에 기초하여 챗봇이 지식 학습되도록 할 수 있다.3B is an exemplary diagram illustrating a process of registering upload data through a file upload method according to an embodiment of the present invention. Referring to FIG. 3B, the upload data registration unit 210 receives a spreadsheet-type (CSV, excel, etc.) file upload button 305 among knowledge upload methods from an administrator, and then uploads data through the knowledge file upload button 310. Can be registered. Through this process, the chatbot can learn knowledge based on the registered upload data.

도 3c 및 도 3d는 본 발명의 일 실시예에 따른 관리 서버(110)와의 API 연결 방식을 통해 업로드 데이터를 등록받는 과정을 설명하기 위한 예시적인 도면이다. 도 3c를 참조하면, 업로드 데이터 등록부(210)는 관리자로부터 지식 업로드 방식 중 API(JSON/GET/POST) 연결 버튼(306)을 입력받은 후, 연결 생성 버튼(320)을 통해 업로드 데이터를 등록받을 수 있다. 도 3d를 참조하면, 업로드 데이터 등록부(210)는 관리자로부터 API 연결 버튼(306)을 입력받은 경우, API 연결 정보와 연결된 팝업창을 통해 기본 설정(321)의 대상 지식 명칭(322), API URL(323), 헤더값 설정(324) 등을 입력받아 업로드 데이터를 등록받을 수 있다. 3C and 3D are exemplary diagrams for explaining a process of registering upload data through an API connection method with the management server 110 according to an embodiment of the present invention. Referring to FIG. 3C, the upload data register 210 receives an API (JSON/GET/POST) connection button 306 among knowledge upload methods from an administrator, and then receives upload data through the connection creation button 320. I can. Referring to FIG. 3D, when the upload data register 210 receives the API connection button 306 from the administrator, the target knowledge name 322 of the basic setting 321, the API URL ( 323), header value setting 324, etc. may be input and upload data may be registered.

업로드 데이터 등록부(210)는 이러한 API 연결 방식을 통해 기존의 챗봇 플랫폼과 연결된 데이터베이스에 업로드 데이터가 저장되어 있던 경우, 업로드 데이터와 봇빌더를 간편하게 연결시킬 수 있다. The upload data registration unit 210 can easily connect the upload data and the bot builder when upload data is stored in a database connected to an existing chatbot platform through this API connection method.

도 3e는 본 발명의 일 실시예에 따른 업로드 데이터에 대한 이력 정보를 도시한 예시적인 도면이다. 도 3e를 참조하면, 업로드 데이터 등록부(210)는 파일 업로드 방식(331) 또는 API 연결 방식(332)으로 등록된 업로드 데이터에 대한 이력 정보(340)를 통합하여 관리할 수 있다. 이 때, 업로드 데이터 등록부(210)는 관리자로부터 지식 업로드 방식(330) 중 '파일 업로드 방식(331)'을 선택받은 경우, 파일 업로드 방식(331)의 업로드 데이터의 이력 정보만을 표시하고, 관리자로부터 지식 업로드 방식(330) 중 'API 연결 방식(332)'을 선택받은 경우, API 연결 방식(332)의 업로드 데이터의 이력 정보만을 표시할 수도 있다. 여기서, 이력 정보(340)는 업로드된 업로드 데이터의 버전 정보, 업로드 일시 정보 등을 포함하는 등을 포함할 수 있다. 3E is an exemplary diagram showing history information on upload data according to an embodiment of the present invention. Referring to FIG. 3E, the upload data register 210 may integrate and manage the history information 340 of upload data registered by the file upload method 331 or the API connection method 332. At this time, the upload data registration unit 210 displays only the history information of the upload data of the file upload method 331 when the'file upload method 331' is selected from the knowledge upload method 330 from the administrator, and When'API connection method 332' is selected among the knowledge upload methods 330, only the history information of upload data of the API connection method 332 may be displayed. Here, the history information 340 may include version information of uploaded upload data, upload date and time information, and the like.

다시 도 2로 돌아와서, 유사 문장 기반 자연어 처리 엔진 학습부(220)는 등록받은 업로드 데이터 또는 색인 과정이 수행된 업로드 데이터에 기초하여 유사 문장 기반 자연어 처리 엔진을 학습시킬 수 있다. 예를 들어, 유사 문장 기반 자연어 처리 엔진 학습부(220)는 기등록된 복수의 업로드 데이터 중 적어도 하나 이상을 선택받고, 선택된 업로드 데이터에 기초하여 유사 문장 기반 자연어 처리 엔진을 학습시킬 수 있다. 여기서, 유사 문장 기반 자연어 처리 엔진은 챗봇 플랫폼 내의 확장된 형태로 결합(Add-on)되거나 또는 내재된 형태(Embeded)로 동작될 수 있다. 유사 문장 기반 자연어 처리 엔진을 학습시키는 과정에 대해서는 도 4a 및 도 4b를 통해 상세히 설명하도록 한다. Returning to FIG. 2 again, the similar sentence-based natural language processing engine learning unit 220 may learn a similar sentence-based natural language processing engine based on registered upload data or upload data on which an indexing process has been performed. For example, the similar sentence-based natural language processing engine learning unit 220 may select at least one or more of a plurality of previously registered upload data, and learn a similar sentence-based natural language processing engine based on the selected upload data. Here, the similar sentence-based natural language processing engine may be added-on in an expanded form within the chatbot platform or may be operated in an embedded form. A process of learning a similar sentence-based natural language processing engine will be described in detail with reference to FIGS. 4A and 4B.

도 4a 및 도 4b는 본 발명의 일 실시예에 따른 기등록된 복수의 업데이트를 선택하여 유사 문장 기반 자연어 처리 엔진을 학습시키는 과정을 설명하기 위한 예시적인 도면이다. 4A and 4B are exemplary views for explaining a process of learning a similar sentence-based natural language processing engine by selecting a plurality of previously registered updates according to an embodiment of the present invention.

도 4a는 본 발명의 일 실시예에 따른 봇빌더에 대한 사용자 인터페이스를 도시한 예시적인 도면이다. 도 4a를 참조하면, 과거도메인1, 과거도메인2, 과거도메인3, 신규 도메인을 포함하는 복수의 업로드 데이터(400)가 기등록된 경우, 관리자는 기등록된 복수의 업로드 데이터(400) 중 적어도 하나 이상을 선택받을 수 있다. 4A is an exemplary diagram illustrating a user interface for a bot builder according to an embodiment of the present invention. Referring to FIG. 4A, when a plurality of upload data 400 including a past domain 1, a past domain 2, a past domain 3, and a new domain are previously registered, the administrator may at least one of the plurality of previously registered upload data 400. You can choose more than one.

유사 문장 기반 자연어 처리 엔진 학습부(220)는 기등록된 복수의 업로드 데이터(400) 중 과거도메인1, 과거 도메인2, 신규도메인을 선택받고, 선택된 업로드 데이터(401)에 기초하여 유사 문장 기반 자연어 처리 엔진을 학습시킬 수 있다. 여기서, 선택된 업로드 데이터(401)는 응답의 도출 시, 검색 소스로 반영되기 위한 지식 모수로서 활용될 수 있다.The similar sentence-based natural language processing engine learning unit 220 selects a past domain 1, a past domain 2, and a new domain among a plurality of previously registered upload data 400, and based on the selected upload data 401, the similar sentence-based natural language You can train the processing engine. Here, the selected upload data 401 may be used as a knowledge parameter to be reflected as a search source when a response is derived.

도 4b는 본 발명의 일 실시예에 따른 유사 문장 기반 자연어 처리 엔진의 수정 화면을 도시한 예시적인 도면이다. 도 4b를 참조하면, 유사 문장 기반 자연어 처리 엔진 학습부(220)는 '지식수정하기' 버튼(410)을 통해 생성된 유사 문장 기반 자연어 처리 엔진에 포함된 업로드 데이터의 질문 데이터 및 질문 데이터에 대응하는 응답 데이터(411)를 표시하고, 관리자로부터 수정 또는 삭제를 입력받을 수 있다. 4B is an exemplary diagram illustrating a modification screen of a natural language processing engine based on a similar sentence according to an embodiment of the present invention. 4B, the similar sentence-based natural language processing engine learning unit 220 responds to question data and question data of upload data included in the similar sentence-based natural language processing engine generated through the'correct knowledge' button 410 Response data 411 is displayed, and correction or deletion may be input from an administrator.

관리자는 스프레드시트형의 프론트 UI를 따라 질문 데이터 및 질문 데이터에 대응하는 응답 데이터를 입력하고, 이를 기등록된 업로드 데이터와 병합 및 수정하여 검색답변 소스로 활용되도록 할 수 있다. The administrator may input question data and response data corresponding to the question data according to the spreadsheet-type front UI, and merge and modify them with previously registered upload data to be used as a search answer source.

다시 도 2로 돌아와서, 응답 도출부(260)는 생성된 챗봇을 통해 유사 문장 기반 자연어 처리 엔진을 이용하여 질의 메시지에 대한 응답을 도출할 수 있다. 여기서, 도출된 응답은 개수는 단일 또는 복수개가 될 수 있다. Returning to FIG. 2 again, the response derivation unit 260 may derive a response to the query message using a similar sentence-based natural language processing engine through the generated chatbot. Here, the number of derived responses may be single or plural.

색인부(미도시)는 업로드 데이터에 대해 색인 과정을 수행할 수 있고, 색인 과정의 수행을 위해 챗봇 플랫폼에서 정의 및 등록된 유닛 워드(unit word)를 참조할 수 있다. 이 경우, 응답 도출부(260)는 챗봇을 통해 이용한 유사 문장 기반 자연어 처리 엔진을 이용하여 색인 과정이 수행된 업로드 데이터로부터 응답을 도출할 수 있고, 유사 문장 기반 자연어 처리 엔진 학습부(220)는 색인 과정이 업로드 데이터에 기초하여 유사 문장 기반 자연어 처리 엔진을 학습시킬 수 있다. The index unit (not shown) may perform an indexing process on the uploaded data, and refer to a unit word defined and registered in the chatbot platform to perform the indexing process. In this case, the response derivation unit 260 may derive a response from the uploaded data on which the indexing process has been performed using a similar sentence-based natural language processing engine used through a chatbot, and the similar sentence-based natural language processing engine learning unit 220 The indexing process may train a similar sentence-based natural language processing engine based on the uploaded data.

여기서, 색인부는 챗봇 플랫폼에서 정의된 유닛 워드가 태그화된 정보를 이용하여 색인을 수행할 수 있다. 색인부는 별도로 보조되어 연결된 검색 엔진을 통해 빠른 색인 과정을 거침으로써, 대용량 업로드시의 필수불가결한 색인 로딩시간을 저감할 수 있으며, 사전 색인(pre-indexing) 구조의 불편함을 개선하여 실시간(real-time)으로 빠르게 대용량 데이터를 색인할 수 있다는 장점을 제공할 수 있다. Here, the index unit may perform indexing using information tagged with a unit word defined in the chatbot platform. The indexing unit can reduce the index loading time, which is indispensable for large-capacity uploads, and improves the inconvenience of the pre-indexing structure by performing a quick indexing process through a connected search engine. -time) can provide the advantage of being able to quickly index large amounts of data.

응답 도출부(260)는 문장-벡터 변환 기술 (Sent2Vec* 등)을 이용하여 질의 메시지와 유사한 유사 질의 문장을 검색하고, 별도의 스코어 형태로 유사 정확도(similarity)에 기초하여 추출된 유사 질의 문장을 추출할 수 있다. 여기서, 문장-벡터 변환 기술(sentence to vector)는 문장을 벡터로 표시하여 벡터 간의 거리를 기반으로 유사도를 측정하는 기술을 의미한다. The response derivation unit 260 searches for a similar query sentence similar to the query message using sentence-vector conversion technology (Sent2Vec*, etc.), and extracts the similar query sentence based on similarity in a separate score form. Can be extracted. Here, the sentence-vector conversion technique refers to a technique for measuring similarity based on the distance between vectors by displaying sentences as vectors.

다른 실시예에 따르면, 관리 서버(110)는 자연어 처리 모델을 이용하는 챗봇을 생성할 수 있다. 이하에서는, 자연어 처리 모델을 이용하는 챗봇을 생성하는 과정에 대해 설명하도록 한다. According to another embodiment, the management server 110 may generate a chatbot using a natural language processing model. Hereinafter, a process of generating a chatbot using a natural language processing model will be described.

자연어 처리 모델 관리부(230)는 유사 문장 기반 자연어 처리 엔진 및 의도 기반 자연어 처리 엔진 중 적어도 하나 이상에 기초하여 복수의 자연어 처리 모델을 구축할 수 있다. 이 때, 자연어 처리 모델 관리부(230)는 챗봇을 생성하기 위하여 구축된 복수의 자연어 처리 모델 중 적어도 하나를 선택받을 수 있다. 복합 자연어 처리 모델은 '유사 문장 기반 자연어 처리 엔진만 사용되는 자연어 처리 모델', '의도 기반 자연어 처리 엔진만 사용되는 자연어 처리 모델' 및 '유사 문장 기반 자연어 처리 엔진 및 의도 기반 자연어 처리 엔진이 순차적으로 사용되는 순차 연계 처리 모델' 및 '유사 문장 기반 자연어 처리 엔진 및 의도 기반 자연어 처리 엔진이 동시에 사용되는 동시 연계 처리 모델'을 포함할 수 있다. 자연어 처리 모델은 순차 연계 처리 모델 또는 동시 연계 처리 모델에 따라 자연어를 처리하는 품질이 달라지게 되므로, 관리자는 봇빌더 도메인에서 Iteration Test를 통해 최적의 자연어 처리 모델을 선택할 수 있다. 이러한 자연어 처리 모델은 의도 기반 자연어 처리 엔진 및 유사 문장 기반 자연어 처리 엔진을 같이 이용함으로써, 응답에 대한 정확도를 향상시킬 수 있다. The natural language processing model management unit 230 may build a plurality of natural language processing models based on at least one of a similar sentence-based natural language processing engine and an intention-based natural language processing engine. In this case, the natural language processing model management unit 230 may receive a selection of at least one of a plurality of natural language processing models constructed to generate a chatbot. The complex natural language processing model consists of'natural language processing model using only natural language processing engine based on similar sentences','natural language processing model using only natural language processing engine based on intention', and'natural language processing engine based on similar sentences and natural language processing engine based on intention'. And a'simultaneous linked processing model in which a similar sentence-based natural language processing engine and an intention-based natural language processing engine are used at the same time'. Since the natural language processing model has a different quality of processing natural language according to the sequential linkage processing model or the simultaneous linkage processing model, the administrator can select the optimal natural language processing model through Iteration Test in the bot builder domain. The natural language processing model can improve the accuracy of a response by using both an intention-based natural language processing engine and a similar sentence-based natural language processing engine.

설정부(240)는 적어도 두 개의 자연어 처리 엔진을 선택하여 자연어 처리 모델을 구축하는 경우, 선택된 두 개의 자연어 처리 엔진 간의 처리 정도에 대한 임계치 레벨을 설정받을 수 있다. 예를 들어, 관리자는 챗폿 플랫폼을 통해 활성화 게이지에 표시된 바를 조절하여 임계치 레벨을 설정받을 수 있다. When constructing a natural language processing model by selecting at least two natural language processing engines, the setting unit 240 may receive a threshold level for a processing degree between the selected two natural language processing engines. For example, the administrator can set the threshold level by adjusting the bar displayed on the activation gauge through the chatpot platform.

설정부(240)는 사용자 단말(130)로 제공될 응답의 출력 형태를 설정받을 수 있다. 여기서, 응답은 유사도를 기준으로 N개가 출력될 수 있으며, 설정부(240)는 출력의 개수를 관리자로부터 설정받을 수 있다. 예를 들어, 설정부(240)는 하나의 질의 메시지에 대해 하나의 응답이 포함된 말풍선이 출력되도록 하는 즉문즉답형 또는 하나의 질문 메시지에 대해 기등록된 업로드 데이터로부터 추출된 소정의 유사 질의 문장(예를 들어, 3개) 및 각 유사 질의 문장에 대한 응답이 포함된 말풍선이 출력되도록 하여 사용자 단말(130)로부터 응답을 최종 선택받도록 하는 답안추천형 중 어느 하나로 설정받을 수 있다. The setting unit 240 may receive an output type of a response to be provided to the user terminal 130. Here, N responses may be output based on the degree of similarity, and the setting unit 240 may set the number of outputs from the manager. For example, the setting unit 240 is an immediate-response type for outputting a speech bubble including one response to one query message, or a predetermined similar query sentence extracted from upload data previously registered for one question message. (For example, 3) and a speech balloon including a response to each similar query sentence may be output to be set to one of the answer recommendation types in which a response is finally selected from the user terminal 130.

챗봇 생성부(250)는 구축된 복수의 자연어 처리 모델 중 선택된 자연어 처리 모델을 이용하는 챗봇을 생성할 수 있다. 예를 들어, 챗봇 생성부(250)는 '유사 문장 기반 자연어 처리 엔진만 사용되는 자연어 처리 모델'이 선택된 경우, 유사 문장 기반 자연어 처리 엔진을 이용하여 질의 메시지를 처리하는 챗봇을 생성할 수 있고, '의도 기반 자연어 처리 엔진만 사용되는 자연어 처리 모델'이 선택된 경우, 의도 기반 자연어 처리 엔진을 이용하여 질의 메시지를 처리하는 챗봇을 생성할 수 있고, '유사 문장 기반 자연어 처리 엔진 및 의도 기반 자연어 처리 엔진이 순차적으로 사용되는 순차 연계 처리 모델' 또는 '유사 문장 기반 자연어 처리 엔진 및 의도 기반 자연어 처리 엔진이 동시에 사용되는 동시 연계 처리 모델'이 선택되는 경우, 유사 문장 기반 자연어 처리 엔진 및 의도 기반 자연어 처리 엔진을 모두 이용하여 질의 메시지를 처리하는 챗봇을 생성할 수 있다.The chatbot generation unit 250 may generate a chatbot using a selected natural language processing model from among a plurality of built natural language processing models. For example, when the'natural language processing model using only a natural language processing engine based on a similar sentence' is selected, the chatbot generating unit 250 may generate a chatbot that processes a query message using a natural language processing engine based on a similar sentence. If'natural language processing model using only intention-based natural language processing engine' is selected, a chatbot that processes query messages using intent-based natural language processing engine can be created, and'similar sentence-based natural language processing engine and intention-based natural language processing engine' When this sequentially used sequential linkage processing model or'simultaneous linkage processing model in which a similar sentence-based natural language processing engine and an intention-based natural language processing engine are used at the same time' is selected, a similar sentence-based natural language processing engine and an intention-based natural language processing engine You can create a chatbot that processes query messages by using all of them.

응답 도출부(260)는 생성된 챗봇을 통해 선택된 자연어 처리 모델을 이용하여 질의 메시지에 대한 응답을 도출할 수 있다. The response derivation unit 260 may derive a response to the query message using the natural language processing model selected through the generated chatbot.

예를 들어, 순차 연계 처리 모델로 선택된 자연어 처리 모델의 경우, 챗봇은 순차 연계 처리 모델을 이용하여 유사 문장 기반 자연어 처리 엔진 및 의도 기반 자연어 처리 엔진을 기설정된 순서에 따라 순차적으로 이용하여 응답이 도출할 수 있다. 순차 연계 처리 모델이 선택된 경우, 제 1 처리 엔진으로 설정된 자연어 처리 엔진을 통해 응답을 도출하고, 제 1 처리 엔진을 통해 응답이 도출되지 않는 경우, 제 2 처리 엔진으로 설정된 자연어 처리 엔진을 통해 응답을 도출할 수 있다. 여기서, 제 1 처리 엔진은 의도 기반 자연어 처리 엔진이고, 제 2 처리 엔진은 유사 문장 기반 자연어 처리 엔진으로 순서가 설정될 수 있으나, 이에 한정하지 않는다. 응답 도출부(260)는 제 1 처리 엔진으로 설정된 자연어 처리 엔진을 통해 도출된 응답의 정확도를 산출하고, 산출된 응답의 정확도가 제 1 처리 엔진 및 제 2 처리 엔진 간에 기설정된 활성화율에 대한 임계치 레벨을 초과하는 경우, 도출된 응답을 최종 응답으로 확정할 수 있다. 여기서, 산출된 응답의 정확도가 활성화율에 대한 임계치 레벨 이하인 경우, 제 2 처리 엔진으로 설정된 자연어 처리 엔진을 통해 응답이 도출되도록 할 수 있다. For example, in the case of the natural language processing model selected as the sequential linkage processing model, the chatbot derives responses by sequentially using the similar sentence-based natural language processing engine and the intention-based natural language processing engine in a preset order using the sequential linkage processing model. can do. When the sequential linkage processing model is selected, a response is derived through the natural language processing engine set as the first processing engine, and if the response is not derived through the first processing engine, the response is sent through the natural language processing engine set as the second processing engine. Can be derived. Here, the first processing engine may be an intention-based natural language processing engine, and the second processing engine may be set as a similar sentence-based natural language processing engine, but the order is not limited thereto. The response derivation unit 260 calculates the accuracy of the response derived through the natural language processing engine set as the first processing engine, and the accuracy of the calculated response is a threshold value for the activation rate preset between the first processing engine and the second processing engine. If the level is exceeded, the derived response can be determined as the final response. Here, when the accuracy of the calculated response is less than or equal to the threshold level for the activation rate, the response may be derived through the natural language processing engine set as the second processing engine.

다른 예를 들어, 동시 연계 처리 모델로 구성된 자연어 처리 모델의 경우, 챗봇은 동시 연계 처리 모델은 유사 문장 기반 자연어 처리 엔진 및 의도 기반 자연어 처리 엔진을 동시에 이용하여 응답을 도출할 수 있다. 동시 연계 처리 모델이 선택된 경우, 제 1 처리 엔진으로 설정된 자연어 처리 엔진 및 제 2 처리 엔진으로 설정된 자연어 처리 엔진 각각을 통해 응답을 도출하고, 도출된 각 응답의 신뢰도를 산출하고, 산출된 각 응답의 신뢰도에 기초하여 도출된 각 응답 중 최종 응답을 확정할 수 있다. 여기서, 응답 도출부(260)는 도출된 각 응답의 신뢰도에 대해 기설정된 가중치를 부여하고, 가중치가 부여된 각 응답의 신뢰도에 기초하여, 도출된 각 응답 중 최종 응답을 확정할 수 있다. For another example, in the case of a natural language processing model composed of a simultaneous linkage processing model, the chatbot may derive a response by simultaneously using a similar sentence-based natural language processing engine and an intention-based natural language processing engine. When the simultaneous linkage processing model is selected, a response is derived through each of the natural language processing engine set as the first processing engine and the natural language processing engine set as the second processing engine, and the reliability of each derived response is calculated. Of each response derived based on the reliability, the final response can be determined. Here, the response derivation unit 260 may assign a predetermined weight to the reliability of each derived response, and determine a final response among the derived responses based on the reliability of each response to which the weight is assigned.

통신부(270)는 인스턴트(instant) 메시징 서비스를 제공하는 메신저 앱에 등록된 복수의 서비스 중 하나의 서비스를 사용자 단말(130)의 사용자로부터 선택받은 경우, 선택된 서비스에 대응하는 서비스 계정 정보를 메신저 서버(120)로부터 수신할 수 있다.When one of a plurality of services registered in a messenger app providing an instant messaging service is selected by the user of the user terminal 130, the communication unit 270 transmits service account information corresponding to the selected service to the messenger server. It can be received from 120.

예를 들어, 복수의 서비스 중 특정 공식 계정이 제공하는 서비스를 사용자 단말(130)의 사용자로부터 선택받은 경우, 통신부(270)는 선택된 서비스에 대응하는 공식 졔정 아이디 또는 챗봇 아이디를 메신저 서버(120)로 전송하고, 통신부(270)는 공식 계정 아이디 또는 챗봇 아이디를 메신저 서버(120)로부터 수신할 수 있다.For example, when a service provided by a specific official account among a plurality of services is selected by the user of the user terminal 130, the communication unit 270 sends the official account ID or chatbot ID corresponding to the selected service to the messenger server 120 And the communication unit 270 may receive an official account ID or chatbot ID from the messenger server 120.

다른 예를 들어, 복수의 서비스 중 특정 챗봇이 제공하는 서비스를 사용자 단말(130)의 사용자로부터 선택받은 경우, 통신부(270)는 선택된 서비스에 대응하는 챗봇 아이디를 메신저 서버(120)로 전송하고, 통신부(270)는 챗봇 아이디를 메신저 서버(120)로부터 수신할 수 있다. 여기서, 챗봇이 제공하는 서비스는 예를 들면, 날씨 서비스, 매장 서비스, 쇼핑몰 서비스 등을 포함할 수 있다. 예를 들면, 통신부(270)는 사용자 단말(130)의 사용자가 메신저 앱에 등록된 복수의 서비스 중 챗봇이 제공하는 날씨 서비스를 선택한 경우, 날씨 서비스에 대응되는 챗봇 아이디를 메신저 서버(120)로부터 수신할 수 있다. For another example, when a service provided by a specific chatbot among a plurality of services is selected by the user of the user terminal 130, the communication unit 270 transmits the chatbot ID corresponding to the selected service to the messenger server 120, The communication unit 270 may receive the chatbot ID from the messenger server 120. Here, the service provided by the chatbot may include, for example, a weather service, a store service, and a shopping mall service. For example, when the user of the user terminal 130 selects a weather service provided by a chatbot from among a plurality of services registered in the messenger app, the communication unit 270 sends a chatbot ID corresponding to the weather service from the messenger server 120. Can receive.

또한, 통신부(270)는 메신저 서버(120)로부터 사용자 단말(130)의 사용자 아이디를 더 수신할 수 있다. In addition, the communication unit 270 may further receive the user ID of the user terminal 130 from the messenger server 120.

통신부(270)는 사용자에 의해 선택된 서비스와 관련하여 입력된 질의 메시지를 메신저 서버(120)로부터 수신할 수 있다. 여기서, 질의 메시지는 단문 또는 장문으로 구성될 수 있으며, 문장의 길이가 제한되지 않을 수 있다. 예를 들면, 사용자가 날씨 서비스를 선택한 경우, 날씨와 관련된 질의 메시지가 사용자 단말(130)로부터 메시저 서버(120)로 전송되고, 통신부(270)는 질의 메시지를 메신저 서버(120)로부터 수신할 수 있다. The communication unit 270 may receive a query message input in relation to a service selected by a user from the messenger server 120. Here, the query message may be composed of a short sentence or a long sentence, and the length of the sentence may not be limited. For example, when the user selects the weather service, a query message related to weather is transmitted from the user terminal 130 to the message server 120, and the communication unit 270 receives the query message from the messenger server 120. I can.

통신부(270)는 챗봇에서 도출된 사용자 단말(130)의 질의 메시지에 대한 응답 메시지를 메신저 서버(120)에게 전송할 수 있다. 이 때, 응답 메시지는 메신저 서버(120)로부터 사용자 단말(130)로 전달될 수 있다. The communication unit 270 may transmit a response message to the query message of the user terminal 130 derived from the chatbot to the messenger server 120. In this case, the response message may be transmitted from the messenger server 120 to the user terminal 130.

도 5a 내지 도 5c는 본 발명의 일 실시예에 따른 활성화율에 대한 임계치 레벨을 설정받는 과정을 설명하기 위한 예시적인 도면이다. 5A to 5C are exemplary diagrams for explaining a process of setting a threshold level for an activation rate according to an embodiment of the present invention.

도 5a는 본 발명의 일 실시예에 따른 봇빌더에 대한 사용자 인터페이스를 통해 활성화율의 설정 과정을 설명하기 위한 도시한 예시적인 도면이다. 도 5a를 참조하면, 관리 서버(110)는 봇빌더에 대한 사용자 인터페이스를 통해 관리자로부터 '지식+' 메뉴(500)의 지식 확장 페이지(501)에서 설정 버튼(502)을 입력받을 수 있다. 5A is an exemplary diagram illustrating a process of setting an activation rate through a user interface for a bot builder according to an embodiment of the present invention. Referring to FIG. 5A, the management server 110 may receive a setting button 502 on the knowledge extension page 501 of the'knowledge +'menu 500 from the administrator through the user interface for the bot builder.

관리 서버(110)는 관리자로부터 의도 기반 자연어 처리 엔진 및 유사 문장 자연어 처리 엔진 중 적어도 하나 이상에 기초하여 구축된 복수의 자연어 처리 모델 중 적어도 하나를 선택받을 수 있다. 이 때, 관리 서버(110)는 관리자로부터 적어도 두 개의 자연어 처리 엔진 간의 처리 비율를 결정하는 활성화율에 대한 임계치(threshold)를 설정받을 수 있다. 여기서, 활성화율에 대한 임계치는 각각의 자연어 처리 엔진의 처리 순서를 결정짓는 역할을 할 수도 있다. 아래에서는 유사 문장 기반 자연어 처리 엔진 및 의도 기반 자연어 처리 엔진이 복합적으로 사용되는 순차 연계 처리 모델 및 동시 연계 처리 모델을 기준으로 하여 활성화율에 대한 임계치(threshold)를 설정받는 실시예를 설명하려고 한다.The management server 110 may receive at least one of a plurality of natural language processing models built on the basis of at least one of an intention-based natural language processing engine and a similar sentence natural language processing engine from an administrator. In this case, the management server 110 may receive a threshold for an activation rate that determines a processing rate between at least two natural language processing engines from an administrator. Here, the threshold for the activation rate may play a role of determining the processing order of each natural language processing engine. Hereinafter, an embodiment in which a threshold for an activation rate is set based on a sequential linkage processing model and a simultaneous linkage processing model in which a similar sentence-based natural language processing engine and an intention-based natural language processing engine are used in combination will be described.

도 5b는 본 발명의 일 실시예에 따른 활성화 게이지에 표시된 바를 조절하는 과정을 설명하기 위한 예시적인 도면이다. 도 5b를 참조하면, 지식 확장 페이지(501)에서 설정 버튼(502)을 입력받은 경우, 관리 서버(110)는 활성화 게이지를 조절하기 위한 팝업창(510)이 표시되도록 할 수 있다. 5B is an exemplary diagram for explaining a process of adjusting a bar displayed on an activation gauge according to an embodiment of the present invention. Referring to FIG. 5B, when the setting button 502 is input on the knowledge expansion page 501, the management server 110 may display a pop-up window 510 for adjusting the activation gauge.

관리자는 활성화 게이지를 조절하기 위한 팝업창(510)을 통해 활성화 게이지(511)에 표시된 바(bar, 514)를 드래그하여 조절함으로써, 활성화율에 대한 임계치 레벨을 설정할 수 있다. 여기서, 의도 기반 자연어 처리 엔진 및 유사 문장 기반 자연어 처리 엔진이 결합된 자연어 처리 모델의 경우, 각각의 자연어 처리 엔진에 대한 활성화율을 결정하는 임계치 레벨은 0.1 단위로 0.0(최저점)과 1.0(최고점) 사이에서 조정될 수 있다.The administrator can set the threshold level for the activation rate by dragging and adjusting the bars 514 displayed on the activation gauge 511 through the pop-up window 510 for adjusting the activation gauge. Here, in the case of a natural language processing model in which an intention-based natural language processing engine and a similar sentence-based natural language processing engine are combined, the threshold level for determining the activation rate for each natural language processing engine is 0.0 (lowest point) and 1.0 (highest point) in units of 0.1. Can be adjusted between.

예를 들어, 활성화율 0%(512)는유사 문장 기반 자연어 처리 엔진에 대한 동작의 오프(off) 설정을 의미하며, 이는 활성화율에 대한 레벨이 0.0이 됨으로써, 의도 기반 자연어 처리 엔진만을 이용하여 질의 메시지로부터 사용자의 의도를 추출하고, 추출된 사용자 의도에 대응되는 응답을 제공하도록 할 수 있다. 이와 달리, 활성화율 100%(513)는 의도 기반 자연어 처리 엔진에 대한 동작의 오프(off) 설정을 의미하고, 이는 활성화율에 대한 레벨이 1.0(유사 문장 기반 자연어 처리 엔진의 기능이 강하게 동작)이 됨으로써, 질의 데이터 및 질의 데이터에 대응하는 응답 데이터로 구성된 업로드 데이터에 기반한 유사 문장 기반 자연어 처리 엔진만을 이용하여 질의 메시지에 대한 응답을 제공하도록 할 수 있다. For example, an activation rate of 0% (512) means an off setting of an operation for a similar sentence-based natural language processing engine, and this means that the level for the activation rate becomes 0.0, so that only the intention-based natural language processing engine is used. The user's intention can be extracted from the query message, and a response corresponding to the extracted user's intention can be provided. In contrast, the activation rate of 100% (513) means an off setting of the operation for the intention-based natural language processing engine, and this means that the level for the activation rate is 1.0 (the function of the similar sentence-based natural language processing engine is strongly operated). Accordingly, it is possible to provide a response to a query message using only a similar sentence-based natural language processing engine based on upload data composed of query data and response data corresponding to the query data.

즉, 자연어 처리 모델(예를 들어, 의도 기반 자연어 처리 엔진->유사 문장 자연어 처리 엔진이 순차적으로 동작하는 순차 연계 처리 모델)에 대해 활성화율에 대한 임계치 레벨이 설정된 경우, 의도 기반 자연어 처리 엔진에서 도출된 응답이 임계치 레벨 이하인지 여부에 따라 의도 기반 자연어 처리 엔진 또는 유사 문장 기반 자연어 처리 엔진을 통해 응답이 도출되도록 할 수 있다. That is, when the threshold level for the activation rate is set for a natural language processing model (for example, an intention-based natural language processing engine -> a sequential linkage processing model in which the similar sentence natural language processing engine operates in sequence), the intention-based natural language processing engine A response may be derived through an intention-based natural language processing engine or a similar sentence-based natural language processing engine according to whether the derived response is below the threshold level.

예를 들어, 의도 기반 자연어 처리 엔진을 통해 질의 메시지에 대해 도출된 응답의 정확도가 임계치보다 큰 경우(응답 정확도>임계치), 유사 문장 기반 자연어 처리 엔진을 바이패스(bypass)하고, 의도 기반 자연어 처리 엔진에 의해 도출된 응답이 제공되도록 할 수 있다. For example, if the accuracy of the response derived to the query message through the intention-based natural language processing engine is greater than the threshold (response accuracy> threshold), the similar sentence-based natural language processing engine is bypassed, and intention-based natural language processing You can make sure that the response derived by the engine is provided.

다른 예를 들어, 의도 기반 자연어 처리 엔진을 통해 질의 메시지에 대해 도출된 응답의 정확도가 임계치보다 같거나 작은 경우(응답 정확도≤임계치), 의도 기반 자연어 처리 엔진을 바이패스(bypass)하고, 유사 문장 기반 자연어 처리 엔진에 의해 도출된 응답이 제공되도록 할 수 있다. As another example, when the accuracy of the response derived to the query message through the intent-based natural language processing engine is equal to or less than the threshold (response accuracy ≤ threshold), the intention-based natural language processing engine is bypassed, and similar sentences The response derived by the underlying natural language processing engine can be provided.

이 때, 관리자가 활성화율의 레버를 상향 조정한 경우, 임계치가 1.0에 가깝게 상향될수록 의도 기반 자연어 처리 엔진에 의해 응답이 제공될 확률이 증가하고, 활성화율의 레버를 하향 조정한 경우, 임계치가 0.0에 가깝게 하향될수록 유사 문장 기반 자연어 처리 엔진에 의해 응답이 제공될 확률이 증가할 수 있다. At this time, when the administrator adjusts the activation rate lever upward, the probability that a response is provided by the intention-based natural language processing engine increases as the threshold value increases closer to 1.0, and if the activation rate lever is adjusted downward, the threshold value increases. As it goes down closer to 0.0, the probability of providing a response by a similar sentence-based natural language processing engine may increase.

또한, 의도 기반 자연어 처리 엔진에 기계 학습이 적용되는 경우, 활성화율에 대한 임계치 레벨을 0~1사이에서 조절하면서, 사용자 발화에 대한 기계 학습의 결과값을 필터링할 수 있다.In addition, when machine learning is applied to an intention-based natural language processing engine, a result value of machine learning for a user's speech may be filtered while adjusting a threshold level for an activation rate between 0 and 1.

도 6a 내지 도 6e는 본 발명의 일 실시예에 따른 도출된 응답이 즉문즉답형으로 출력되도록 설정하는 과정을 설명하기 위한 예시적인 도면이다.6A to 6E are exemplary diagrams for explaining a process of setting a derived response to be output in an immediate response type according to an embodiment of the present invention.

도 6a를 참조하면, 관리 서버(110)는 관리자로부터 사용자 단말(130)에서 출력될 응답의 출력 설정(600)을 입력받을 수 있다. 예를 들어, 관리 서버(110)는 관리자로부터 출력 설정(600)을 통해 즉문즉답형 버튼(601)을 입력받을 수 있다. 즉문즉답형의 경우, 예를 들어, 관리 서버(110)에서 사용자 단말(130)로부터 "반품하는 법 알려줘"(602)라는 질의 메시지를 수신하면, 관리 서버(110)는 "네, 반품 절차는 다음과 같습니다."와 같이 질의 메시지에 대응하는 단일의 응답을 포함하는 말풍선이 출력되도록 할 수 있다. Referring to FIG. 6A, the management server 110 may receive an output setting 600 of a response to be output from the user terminal 130 from an administrator. For example, the management server 110 may receive an immediate immediate response button 601 from an administrator through the output setting 600. In the case of an immediate immediate response type, for example, when the management server 110 receives a query message "Tell me how to return" 602 from the user terminal 130, the management server 110 says "Yes, the return procedure It is possible to output a speech bubble containing a single response corresponding to the query message, such as "".

도 6b를 참조하면, 관리 서버(110)는 관리자로부터 즉문즉답형 설정(610)을 통해 가이드 말풍선(611)이 텍스트(612)로 표시되도록 설정받을 수 있다. 예를 들어, 관리 서버(110)는 사용자 단말(130)에서 응답이 출력되기 전에 텍스트 형식의 가이드 문구가 "네 문의하신 사항과 관련된 답변은 아래와 같아요!"와 같이 표시되도록 설정받을 수 있다. 또한, 관리 서버(110)는 관리자로부터 '좋아요' 또는 '나빠요'와 같이 피드백 버튼(614)의 온(on)/오프(off)에 대한 설정을 입력받을 수 있다. Referring to FIG. 6B, the management server 110 may receive a guide speech balloon 611 set to be displayed as text 612 from an administrator through an immediate response type setting 610. For example, before the response is output from the user terminal 130, the management server 110 may be set to display a text guide phrase such as "An answer related to your inquiry is as follows!" In addition, the management server 110 may receive a setting for on/off of the feedback button 614, such as'like' or'bad', from an administrator.

도 6c를 참조하면, 관리 서버(110)는 관리자로부터 즉문즉답형 설정(610)을 통해 가이드 말풍선(611)이 이미지(613)로 표시되도록 설정받을 수 있다. 예를 들어, 관리 서버(110)는 사용자 단말(130)에서 응답이 출력되기 전에 이미지 형식의 회사 로고 또는 챗봇 캐릭터 등이 표시되도록 설정받을 수 있다.Referring to FIG. 6C, the management server 110 may receive a guide speech balloon 611 set to be displayed as an image 613 from an administrator through an immediate response type setting 610. For example, the management server 110 may be set to display a company logo in an image format or a chatbot character before a response is output from the user terminal 130.

도 7a 내지 도 7c는 본 발명의 일 실시예에 따른 도출된 응답이 답안추천형으로 출력되도록 설정하는 과정을 설명하기 위한 예시적인 도면이다.7A to 7C are exemplary diagrams for explaining a process of setting a derived response to be output in an answer recommendation type according to an embodiment of the present invention.

도 7a를 참조하면, 관리 서버(110)는 관리자로부터 사용자 단말(130)에서 출력될 출력 설정(700)을 입력받을 수 있다. 예를 들어, 관리 서버(110)는 관리자로부터 출력 설정(700)을 통해 답안추천형 버튼(701)을 입력받을 수 있다. Referring to FIG. 7A, the management server 110 may receive an output setting 700 to be output from the user terminal 130 from an administrator. For example, the management server 110 may receive an answer recommendation type button 701 from an administrator through the output setting 700.

답안추천형의 경우, 예를 들어, 관리 서버(110)에서 사용자 단말(130)로부터 "반품하는 법 알려줘"(702)라는 질의 메시지를 수신하면, 관리 서버(110)는 "다음 중 의미하신 질문을 골려주시면 이어서 답변해드릴께요."와 같은 가이드 문구(703)와 함께 "Q1) 반품 절차 상세 안내해줘. Q2) 반품 대상 알려줘. Q3) 반품 제외 항목 알려줘"와 같은 질의 메시지와 유사한 소정의 유사 질의 문장(704) 및 각 질의 문장에 대응하는 응답을 메신저 서버(120)를 통해 사용자 단말(130)로 제공하도록 할 수 있다. 이 때, 답안추천형은 사용자 단말(130)로부터 소정의 유사 질의 문장(704) 중 어느 하나를 선택받은 경우, 복수의 응답(705) 중 선택된 유사 질의 문장에 대응하는 응답이 사용자 단말(130)로 제공되도록 할 수 있다. In the case of the answer recommendation type, for example, when the management server 110 receives a query message saying "Tell me how to return" 702 from the user terminal 130, the management server 110 asks, If you choose, I will respond to you in the future.", along with the guide phrase (703), "Q1) Please tell me the details of the return procedure. Q2) Please tell me the return item. Q3) Tell me the items excluded from return." The sentence 704 and a response corresponding to each query sentence may be provided to the user terminal 130 through the messenger server 120. At this time, in the answer recommendation type, when any one of the predetermined similar query sentences 704 is selected from the user terminal 130, a response corresponding to the selected similar query sentence among the plurality of responses 705 is the user terminal 130 Can be provided as

도 7b를 참조하면, 관리 서버(110)는 관리자로부터 답안추천형 설정(710)을 통해 가이드 말풍선(711)이 텍스트(712)로 표시되도록 설정받을 수 있다. 예를 들어, 관리 서버(110)는 사용자 단말(130)에서 응답이 출력되기 전에 텍스트 형식의 가이드 문구가 "네 문의하신 사항과 관련된 답변은 아래와 같아요!"와 같이 표시되도록 설정받을 수 있다.Referring to FIG. 7B, the management server 110 may receive a guide speech balloon 711 set to be displayed as text 712 from an administrator through the answer recommendation type setting 710. For example, before the response is output from the user terminal 130, the management server 110 may be set to display a text guide phrase such as "An answer related to your inquiry is as follows!"

도 7c 를 참조하면, 관리 서버(110)는 관리자가 질문 데이터(720) 및 질문 데이터(720)에 대응하는 응답 데이터(721)와 함께 이미지 URL 정보(722)가 삽입된 업로드 데이터를 등록받은 경우, 사용자 단말(130)은 예를 들어, 유사 질의 문장, 유사 질의 문장에 대응하는 응답, 해당 URL로부터 자동 변환된 이미지를 포함하는 가이드 말풍선(730)을 표시할 수 있다. 이 때, 이미지 URL 정보가 존재하지 않은 경우, 디폴트로 업로드된 이미지(예를 들어, 회사 로고, 공통 안내 이미지 등)가 표시될 수 있다.Referring to FIG. 7C, the management server 110 registers the upload data in which the image URL information 722 is inserted along with the question data 720 and the response data 721 corresponding to the question data 720. , The user terminal 130 may display, for example, a similar query sentence, a response corresponding to the similar query sentence, and a guide speech bubble 730 including an image automatically converted from a corresponding URL. In this case, when image URL information does not exist, an image uploaded by default (eg, a company logo, a common guide image, etc.) may be displayed.

도 7d를 참조하면, 관리 서버(110)는 관리자로부터 답안추천형 설정(710)을 통해 가이드 말풍선(711)이 이미지(740)로 표시되도록 할 수 있다. 이 경우, 사용자 단말(130)은 예를 들어, 해당 URL로부터 변환된 이미지, 유사 질의 메시지 및 유사 질의 메시지에 대한 응답 메시지를 포함하는 가이드 말풍선을 표시할 수 있다. Referring to FIG. 7D, the management server 110 may allow the guide speech bubble 711 to be displayed as an image 740 through the answer recommendation type setting 710 from the administrator. In this case, the user terminal 130 may display, for example, an image converted from a corresponding URL, a similar query message, and a guide speech bubble including a response message to the similar query message.

도 7e를 참조하면, 관리 서버(110)는 관리자가 질문 데이터 및 질문 데이터에 대응하는 응답 데이터와 함께 웹 랜딩 URL 정보가 삽입된 업로드 데이터를 등록받은 경우, 관리 서버(110)는 사용자 단말(130)에서 응답의 출력시, 자동으로 해당 링크가 메시지 내에 별도의 액션 유도 버튼으로 자동 삽입되도록 할 수 있다. 이 경우, 사용자 단말(130)은 예를 들어, 유사 질의 문장, 유사 질의 문장에 대응하는 응답, '링크 가기'를 포함하는 말풍선을 표시할 수 있다. Referring to FIG. 7E, when an administrator registers upload data into which web landing URL information is inserted along with question data and response data corresponding to the question data, the management server 110 is the user terminal 130 ), when the response is output, the link can be automatically inserted into the message as a separate action inducing button. In this case, the user terminal 130 may display, for example, a similar query sentence, a response corresponding to the similar query sentence, and a speech balloon including “go to link”.

도 8a 및 도 8b는 본 발명의 일 실시예에 따른 관리 서버에서 응답을 도출하는 방법의 순서도이다. 8A and 8B are flowcharts of a method for deriving a response from a management server according to an embodiment of the present invention.

도 8a는 본 발명의 일 실시예에 따른 관리 서버에서 자연어 처리 엔진을 이용하여 응답을 도출하는 방법의 순서도이다. 8A is a flowchart of a method for deriving a response using a natural language processing engine in a management server according to an embodiment of the present invention.

도 8a를 참조하면, 단계 S810에서 관리 서버(110)는 질문 데이터 및 질문 데이터에 대응하는 응답 데이터로 구성된 업로드 데이터를 등록받을 수 있다. Referring to FIG. 8A, in step S810, the management server 110 may register upload data consisting of question data and response data corresponding to the question data.

단계 S820에서 관리 서버(110)는 등록받은 업로드 데이터에 기초하여 유사 문장 기반 자연어 처리 엔진을 학습시킬 수 있다. In step S820, the management server 110 may train a similar sentence-based natural language processing engine based on the registered upload data.

단계 S830에서 관리 서버(110)는 생성된 유사 문장 기반 자연어 처리 엔진을 이용하는 챗봇을 생성할 수 있다. In step S830, the management server 110 may generate a chatbot using the generated similar sentence-based natural language processing engine.

단계 S840에서 관리 서버(110)는 생성된 챗봇을 통해 유사 문장 기반 자연어 처리 엔진을 이용하여 질의 메시지에 대한 응답을 도출할 수 있다. In step S840, the management server 110 may derive a response to the query message using a similar sentence-based natural language processing engine through the generated chatbot.

이와 같이, 챗봇은 단일 자연어 처리 엔진을 이용하여 질의 메시지에 대한 응답을 도출할 수 있다. In this way, the chatbot can derive a response to a query message using a single natural language processing engine.

일 실시예에 따르면, 챗봇은 유사 문장 기반 자연어 처리 엔진을 이용하여 지식 검색 기반으로 질의 메시지에 대한 응답을 도출할 수 있다. 예를 들어, 챗봇은 질의 메시지로부터 복수의 유사 질의 문장을 검색할 수 있다. 이 때, 챗봇은 복수의 유사 질의 문장 중 유사 정확도(similarity)가 높은 소정의 유사 질의 문장을 추출하고, 추출한 소정의 유사 질의 문장 및 그에 대응하는 응답을 도출할 수 있다. According to an embodiment, the chatbot may derive a response to a query message based on a knowledge search using a natural language processing engine based on a similar sentence. For example, the chatbot may search for a plurality of similar query sentences from the query message. In this case, the chatbot may extract a predetermined similar query sentence having high similarity among a plurality of similar query sentences, and derive the extracted predetermined similar query sentence and a response corresponding thereto.

다른 실시예에 따르면, 챗봇은 의도 기반 자연어 처리 엔진을 이용하여 기계 학습 기반으로 질의 메시지에 대한 응답을 도출할 수 있다. 예를 들어, 챗봇은 질의 메시지에 포함된 엔티티(entity)에 기초하여 사용자의 의도를 추출하고, 추출한 사용자의 의도에 대응하는 응답을 도출할 수 있다. According to another embodiment, the chatbot may derive a response to a query message based on machine learning using an intention-based natural language processing engine. For example, the chatbot may extract a user's intention based on an entity included in a query message and derive a response corresponding to the extracted user's intention.

도 8b는 본 발명의 일 실시예에 따른 관리 서버에서 자연어 처리 모델을 이용하여 응답을 도출하는 방법의 순서도이다. 8B is a flowchart of a method for deriving a response using a natural language processing model in a management server according to an embodiment of the present invention.

도 8b를 참조하면, 단계 S850에서 관리 서버(110)는 유사 문장 기반 자연어 처리 엔진 및 의도 기반 자연어 처리 엔진 중 적어도 하나 이상에 기초하여 복수의 자연어 처리 모델을 구축할 수 있다. Referring to FIG. 8B, in step S850, the management server 110 may build a plurality of natural language processing models based on at least one of a similar sentence-based natural language processing engine and an intention-based natural language processing engine.

단계 S860에서 관리 서버(110)는 구축된 복수의 자연어 처리 모델 중 적어도 하나를 선택할 수 있다. In step S860, the management server 110 may select at least one of a plurality of constructed natural language processing models.

단계 S860에서 관리 서버(110)는 선택된 자연어 처리 모델을 이용하는 챗봇을 생성할 수 있다. In step S860, the management server 110 may generate a chatbot using the selected natural language processing model.

단계 S870에서 관리 서버(110)는 생성된 챗봇을 통해 선택된 자연어 처리 모델을 이용하여 질의 메시지에 대한 응답을 도출할 수 있다. In step S870, the management server 110 may derive a response to the query message using the natural language processing model selected through the generated chatbot.

상술한 설명에서, 단계 S810 내지 S870은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.In the above description, steps S810 to S870 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted as necessary, and the order between steps may be switched.

도 9a 및 도 9b는 본 발명의 일 실시예에 따른 관리 서버에서 자연어 처리 모델을 이용하여 질의 메시지에 대한 응답을 도출하는 과정을 설명하기 위한 예시적인 도면이다. 여기서, 자연어 처리 모델은 의도 기반 자연어 처리 엔진 및 유사 문장 기반 자연어 처리 엔진의 결합으로 구성될 수 있으며, 관리자에 의해 활성화 게이지를 통해 활성화율에 대한 임계치 레벨을 설정받음으로써, 각각의 자연어 처리 엔진 간의 활성화율(간섭정도)이 조정될 수 있다. 9A and 9B are exemplary diagrams for explaining a process of deriving a response to a query message by using a natural language processing model in a management server according to an embodiment of the present invention. Here, the natural language processing model may be composed of a combination of an intention-based natural language processing engine and a similar sentence-based natural language processing engine, and by receiving a threshold level for the activation rate through an activation gauge by an administrator, each natural language processing engine The activation rate (degree of interference) can be adjusted.

이러한 자연어 처리 모델을 이용하는 챗봇은 듀얼(dual), 트리플(triple), 멀티(multi)로 구성된 자연어 처리 엔진의 환경에서도 원활하게 동작할 수 있다.A chatbot using such a natural language processing model can operate smoothly in an environment of a natural language processing engine composed of dual, triple, and multi.

도 9a는 본 발명의 일 실시예에 따른 관리 서버에서 순차 연계 처리 모델을 이용하는 챗봇을 통해 응답을 도출하는 과정을 설명하기 위한 예시적인 도면이다. 도 9a를 참조하면, 관리 서버(110)는 제 1 처리 엔진 및 제 2 처리 엔진이 기설정된 순서에 따라 순차적으로 수행되도록 순차 연계 처리 모델을 이용하는 챗봇을 통해 질의 메시지에 대한 응답을 도출할 수 있다. 9A is an exemplary diagram for explaining a process of deriving a response through a chatbot using a sequential linkage processing model in a management server according to an embodiment of the present invention. Referring to FIG. 9A, the management server 110 may derive a response to a query message through a chatbot using a sequential linking processing model so that the first processing engine and the second processing engine are sequentially performed in a preset order. .

이하에서는, 제 1 처리 엔진이 의도 기반 자연어 처리 엔진이고, 제 2 처리 엔진이 유사 문장 기반 자연어 처리 엔진임을 가정하여 설명하도록 한다. 물론, 관리자의 설정에 따라 자연어 처리 엔진 간의 처리 순서를 달리하여 제 1 처리 엔진이 유사 문장 기반 자연어 처리 엔진이고, 제 2 처리 엔진이 의도 기반 자연어 처리 엔진으로 설정될 수도 있다. 이 때, 제 1 처리 엔진이 수행되도록 하는 활성화율에 대한 임계치 레벨은 0~1 사이에서 관리자에 의해 조정될 수 있으며, 제 1 처리 엔진을 통해 도출된 결과값의 필터링을 통해 제 2 처리 엔진으로 유입되는 범위가 임계치 레벨의 조정을 통해 증가 또는 감소 가능해지도록 할 수 있다. 제 1 처리 엔진(910) 및 제 2 처리 엔진(920) 간의 활성화율에 대한 임계치는 도 5a 내지 도 5c를 통해 설명된 내용과 같이 관리자로부터 설정받을 수 있다.Hereinafter, it is assumed that the first processing engine is an intention-based natural language processing engine, and the second processing engine is a similar sentence-based natural language processing engine. Of course, the first processing engine may be set as the similar sentence-based natural language processing engine, and the second processing engine may be set as the intention-based natural language processing engine by different processing orders between natural language processing engines according to the administrator's setting. At this time, the threshold level for the activation rate that causes the first processing engine to be performed may be adjusted by the administrator between 0 and 1, and flow into the second processing engine through filtering of the result value derived through the first processing engine. The range can be increased or decreased through adjustment of the threshold level. The threshold for the activation rate between the first processing engine 910 and the second processing engine 920 may be set by an administrator as described through FIGS. 5A to 5C.

관리 서버(110)는 사용자 단말(130)에서 입력된 질의 메시지(900)를 메신저 서버(120)로부터 수신하면, 제 1 처리 엔진(910)을 통해 질의 메시지(900)에 대한 사용자 의도를 추출하고, 추출된 사용자 의도에 기초하여 제 1 응답을 도출(911)할 수 있다. 이 때, 제 1 응답의 유사 정확도(similarity)가 기설정된 활성화율에 대한 임계치(threshold, 912) 레벨 미만인 경우, 관리 서버(110)는 제 1 처리 엔진(910)을 통해 사용자 의도의 추출이 실패로 판단(913)하여, 제 2 처리 엔진(920)을 통해 질의 메시지(900)에 대해 복수의 유사 문장을 검색하고, 검색된 복수의 유사 문장에 기초하여 제 2 응답을 도출(921)할 수 있다. 이 때, 검색되는 응답이 없는 경우(922), 관리 서버(110)는 폴백(Fallback, 930)을 통해 응답 없음(931) 또는 써드파티(3rd-party)의 플랫폼으로 API가 연결(932)되도록 할 수 있다. When receiving the query message 900 input from the user terminal 130 from the messenger server 120, the management server 110 extracts the user intention for the query message 900 through the first processing engine 910 , A first response may be derived (911) based on the extracted user intention. At this time, when the similarity of the first response is less than the threshold 912 level for the preset activation rate, the management server 110 fails to extract the user intention through the first processing engine 910 It is determined 913 to search for a plurality of similar sentences for the query message 900 through the second processing engine 920, and a second response may be derived 921 based on the searched plurality of similar sentences. . In this case, if no response is retrieved (922), the management server 110 fallback (Fallback, 930) is connected to the platform API 932 No of responses (931) or third parties (3 rd -party) through You can do it.

도 9b는 본 발명의 일 실시예에 따른 관리 서버에서 동시 연계 처리 모델을 이용하는 챗봇을 통해 응답을 도출하는 과정을 설명하기 위한 예시적인 도면이다. 도 9b를 참조하면, 관리 서버(110)는 제 1 처리 엔진 및 제 2 처리 엔진이 동시에 수행되는 동시 연계 처리 모델을 이용하는 챗봇을 통해 질의 메시지에 대한 응답을 도출할 수 있다. 9B is an exemplary diagram for explaining a process of deriving a response through a chatbot using a simultaneous linkage processing model in a management server according to an embodiment of the present invention. Referring to FIG. 9B, the management server 110 may derive a response to a query message through a chatbot using a simultaneous link processing model in which the first processing engine and the second processing engine are simultaneously performed.

이하에서는, 제 1 처리 엔진이 의도 기반 자연어 처리 엔진이고, 제 2 처리 엔진이 유사 문장 기반 자연어 처리 엔진임을 가정하여 설명하도록 한다. Hereinafter, it is assumed that the first processing engine is an intention-based natural language processing engine, and the second processing engine is a similar sentence-based natural language processing engine.

관리 서버(110)는 사용자 단말(130)에서 입력된 질의 메시지(900)를 메신저 서버(120)로부터 수신하면, 제 1 처리 엔진(910) 및 제 2 처리 엔진(920)을 통해 질의 메시지에 대해 도출된 각 응답의 신뢰도를 산출할 수 있다. 예를 들어, 관리 서버(110)는 제 1 처리 엔진(910)을 통해 도출된 응답에 대해 제 1 신뢰도 점수(940)를 산출하고, 제 2 처리 엔진(920)을 통해 도출된 응답에 대해 제 2 신뢰도 점수(950)를 산출할 수 있다. When the management server 110 receives the query message 900 input from the user terminal 130 from the messenger server 120, the first processing engine 910 and the second processing engine 920 The reliability of each derived response can be calculated. For example, the management server 110 calculates a first reliability score 940 for a response derived through the first processing engine 910, and provides a first reliability score 940 for the response derived through the second processing engine 920. 2 A reliability score 950 may be calculated.

관리 서버(110)는 산출된 각 응답의 신뢰도에 대해 기설정된 가중치 레벨을 부여하여 각 응답의 신뢰도를 보정(960)할 수 있다. 또한, 관리 서버(110)는 각 응답의 신뢰도 간에 부여될 가중치 레벨을 조정함으로써 특정 자연어 처리 엔진의 성능이 돋보이게 제어할 수 있다.The management server 110 may correct (960) the reliability of each response by assigning a predetermined weight level to the calculated reliability of each response. In addition, the management server 110 may control the performance of a specific natural language processing engine to stand out by adjusting the weight level to be given between the reliability of each response.

관리 서버(110)는 보정된 각 응답의 신뢰도의 점수를 비교하여 점수가 높은 응답을 도출(970)하고, 도출된 응답을 최종 응답으로 확정(980)할 수 있다. The management server 110 may compare the corrected reliability score of each response to derive a response with a high score (970), and determine the derived response as a final response (980).

본 발명은 활성화율에 대한 임계치가 관리자에 의해 커스텀될 수 있도록 제안함으로써, 자연어 처리 모델이 제 1 자연어 처리 엔진 및 제 2 자연어 처리 엔진을 순차 연계 모델로 구성된 경우, 각각의 자연어 처리 엔진이 동작하는 구분점이 생성되도록 할 수 있다. 또한, 본 발명은 각 자연어 처리 엔진에 의해 도출된 응답의 신뢰도 간에 부여될 가중치 레벨을 관리자에 의해 커스텀될 수 있도록 제안함으로써, 자연어 처리 모델이 제 1 자연어 처리 엔진 및 제 2 자연어 처리 엔진이 동시 연계 모델로 구성된 경우, 제 1 자연어 처리 엔진 및 제 2 자연어 처리 엔진을 동시에 동작시키고, 각각의 자연어 처리 엔진에서 산출된 정확도에 가중치를 부여하여 비교 판단하는 기준점이 생성되도록 할 수 있다. The present invention proposes that the threshold for the activation rate can be customized by the administrator, so that when the natural language processing model is composed of the first natural language processing engine and the second natural language processing engine as a sequentially linked model, each natural language processing engine operates. You can have bullets created. In addition, the present invention proposes that the weight level to be assigned between the reliability of responses derived by each natural language processing engine can be customized by the administrator, so that the natural language processing model is simultaneously linked with the first natural language processing engine and the second natural language processing engine. When configured as a model, a first natural language processing engine and a second natural language processing engine may be simultaneously operated, and a reference point for comparison and determination may be generated by assigning a weight to the accuracy calculated by each natural language processing engine.

본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. An embodiment of the present invention may also be implemented in the form of a recording medium including instructions executable by a computer, such as a program module executed by a computer. Computer-readable media can be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. Further, the computer-readable medium may include all computer storage media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.

본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.Although the methods and systems of the present invention have been described in connection with specific embodiments, some or all of their components or operations may be implemented using a computer system having a general-purpose hardware architecture.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above description of the present invention is for illustrative purposes only, and those of ordinary skill in the art to which the present invention pertains will be able to understand that other specific forms can be easily modified without changing the technical spirit or essential features of the present invention will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not limiting. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the claims to be described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.

110: 관리 서버
120: 메신저 서버
130: 사용자 단말
210: 업로드 데이터 등록
220: 유사 문장 기반 자연어 처리 엔진 학습부
230: 자연어 처리 모델 관리부
240: 설정부
250: 챗봇 생성부
260: 응답 도출부
270: 통신부
110: management server
120: messenger server
130: user terminal
210: Upload data registration
220: Similar sentence-based natural language processing engine learning unit
230: Natural language processing model management unit
240: setting unit
250: chatbot generation unit
260: response derivation unit
270: communication department

Claims (18)

자연어 처리 엔진을 관리하는 방법에 있어서,
질문 데이터 및 상기 질문 데이터에 대응하는 응답 데이터로 구성된 업로드 데이터를 등록받는 단계;
상기 등록받은 업로드 데이터에 대해 색인 과정을 수행하는 단계;
상기 색인 과정이 수행된 업로드 데이터에 기초하여 유사 문장 기반 자연어 처리 엔진을 학습시키는 단계;
상기 생성된 유사 문장 기반 자연어 처리 엔진을 이용하는 챗봇을 생성하는 단계; 및
상기 생성된 챗봇을 통해 상기 유사 문장 기반 자연어 처리 엔진을 이용하여 상기 색인 과정이 수행된 업로드 데이터로부터 질의 메시지에 대한 응답을 도출하는 단계
를 포함하는 것인, 자연어 처리 엔진 관리 방법.
In the method of managing the natural language processing engine,
Registering upload data consisting of question data and response data corresponding to the question data;
Performing an indexing process on the registered uploaded data;
Learning a similar sentence-based natural language processing engine based on the uploaded data on which the indexing process has been performed;
Generating a chatbot using the generated similar sentence-based natural language processing engine; And
Deriving a response to the query message from the uploaded data on which the indexing process has been performed using the similar sentence-based natural language processing engine through the generated chatbot
That includes, a natural language processing engine management method.
제 1 항에 있어서,
상기 업로드 데이터를 등록받는 단계는,
파일 업로드 방식 또는 관리 서버와의 API 연결 방식을 통해 상기 업로드 데이터를 등록받는 것인, 자연어 처리 엔진 관리 방법.
The method of claim 1,
The step of receiving the upload data is registered,
The method of managing a natural language processing engine to receive the uploaded data through a file upload method or an API connection method with a management server.
제 1 항에 있어서,
기등록된 복수의 업로드 데이터 중 적어도 하나 이상을 선택받는 단계; 및
상기 선택된 업로드 데이터에 기초하여 유사 문장 기반 자연어 처리 엔진을 학습시키는 단계
를 더 포함하는 것인, 자연어 처리 엔진 관리 방법.
The method of claim 1,
Receiving at least one selected from among a plurality of previously registered upload data; And
Learning a similar sentence-based natural language processing engine based on the selected upload data
That further comprises a natural language processing engine management method.
제 1 항에 있어서,
상기 유사 문장 기반 자연어 처리 엔진 및 의도 기반 자연어 처리 엔진 중 적어도 하나 이상에 기초하여 복수의 자연어 처리 모델을 구축하는 단계;
상기 구축된 복수의 자연어 처리 모델 중 적어도 하나를 선택받는 단계;
상기 선택된 자연어 처리 모델을 이용하는 챗봇을 생성하는 단계; 및
상기 생성된 챗봇을 통해 상기 선택된 자연어 처리 모델을 이용하여 질의 메시지에 대한 응답을 도출하는 단계
를 더 포함하는 것인, 자연어 처리 엔진 관리 방법.
The method of claim 1,
Constructing a plurality of natural language processing models based on at least one of the similar sentence-based natural language processing engine and the intention-based natural language processing engine;
Receiving at least one of the constructed natural language processing models;
Generating a chatbot using the selected natural language processing model; And
Deriving a response to the query message using the selected natural language processing model through the generated chatbot
That further comprises a natural language processing engine management method.
제 4 항에 있어서,
상기 자연어 처리 모델은 순차 연계 처리 모델을 포함하고,
상기 순차 연계 처리 모델은 상기 유사 문장 기반 자연어 처리 엔진 및 상기 의도 기반 자연어 처리 엔진을 기설정된 순서에 따라 순차적으로 이용하여 상기 응답을 도출하는 것인, 자연어 처리 엔진 관리 방법.
The method of claim 4,
The natural language processing model includes a sequential linkage processing model,
The sequential linkage processing model is to derive the response by sequentially using the similar sentence-based natural language processing engine and the intention-based natural language processing engine in a preset order.
제 5 항에 있어서,
상기 순차 연계 처리 모델이 선택된 경우, 제 1 처리 엔진으로 설정된 자연어 처리 엔진을 통해 상기 응답을 도출하는 단계; 및
상기 제 1 처리 엔진을 통해 상기 응답이 도출되지 않는 경우, 제 2 처리 엔진으로 설정된 자연어 처리 엔진을 통해 상기 응답을 도출하는 단계
를 더 포함하는 것인, 자연어 처리 엔진 관리 방법.
The method of claim 5,
If the sequentially linked processing model is selected, deriving the response through a natural language processing engine set as a first processing engine; And
When the response is not derived through the first processing engine, deriving the response through a natural language processing engine set as a second processing engine
That further comprises a natural language processing engine management method.
제 6 항에 있어서,
상기 제 1 처리 엔진으로 설정된 자연어 처리 엔진을 통해 도출된 응답의 정확도를 산출하는 단계; 및
상기 산출된 응답의 정확도가 상기 제 1 처리 엔진 및 상기 제 2 처리 엔진 간에 기설정된 활성화율에 대한 임계치 레벨을 초과하는 경우, 상기 도출된 응답을 최종 응답으로 확정하는 단계
를 더 포함하는 것인, 자연어 처리 엔진 관리 방법.
The method of claim 6,
Calculating an accuracy of a response derived through a natural language processing engine set as the first processing engine; And
When the accuracy of the calculated response exceeds a threshold level for an activation rate preset between the first processing engine and the second processing engine, determining the derived response as a final response
That further comprises a natural language processing engine management method.
제 7 항에 있어서,
상기 산출된 응답의 정확도가 상기 활성화율에 대한 임계치 레벨 이하인 경우, 상기 제 2 처리 엔진으로 설정된 자연어 처리 엔진을 통해 상기 응답을 도출하는 단계
를 더 포함하는 것인, 자연어 처리 엔진 관리 방법.
The method of claim 7,
When the accuracy of the calculated response is less than or equal to the threshold level for the activation rate, deriving the response through a natural language processing engine set as the second processing engine
That further comprises a natural language processing engine management method.
제 7 항에 있어서,
활성화 게이지(guage)에 표시된 바(bar)를 조절하여 상기 임계치 레벨을 설정받는 단계
를 더 포함하는 것인, 자연어 처리 엔진 관리 방법.
The method of claim 7,
Step of receiving the threshold level set by adjusting a bar displayed on an activation gauge
That further comprises a natural language processing engine management method.
제 4 항에 있어서,
상기 자연어 처리 모델은 동시 연계 처리 모델을 포함하고,
상기 동시 연계 처리 모델은 상기 유사 문장 기반 자연어 처리 엔진 및 상기 의도 기반 자연어 처리 엔진을 동시에 이용하여 상기 응답을 도출하는 것인, 자연어 처리 엔진 관리 방법.
The method of claim 4,
The natural language processing model includes a simultaneous linkage processing model,
The simultaneous linkage processing model is to derive the response by simultaneously using the similar sentence-based natural language processing engine and the intention-based natural language processing engine.
제 10 항에 있어서,
상기 동시 연계 처리 모델이 선택된 경우, 제 1 처리 엔진으로 설정된 자연어 처리 엔진 및 제 2 처리 엔진으로 설정된 자연어 처리 엔진 각각을 통해 상기 응답을 도출하는 단계;
상기 도출된 각 응답의 신뢰도를 산출하는 단계; 및
상기 산출된 각 응답의 신뢰도에 기초하여 상기 도출된 각 응답 중 최종 응답을 확정하는 단계
를 더 포함하는 것인, 자연어 처리 엔진 관리 방법.
The method of claim 10,
When the simultaneous link processing model is selected, deriving the response through each of a natural language processing engine set as a first processing engine and a natural language processing engine set as a second processing engine;
Calculating the reliability of each of the derived responses; And
Determining a final response among the derived responses based on the calculated reliability of each response
That further comprises a natural language processing engine management method.
제 11 항에 있어서,
상기 도출된 각 응답의 신뢰도에 대해 기설정된 가중치를 부여하는 단계; 및
상기 가중치가 부가된 각 응답의 신뢰도에 기초하여, 상기 도출된 각 응답 중 최종 응답을 확정하는 단계
를 더 포함하는 것인, 자연어 처리 엔진 관리 방법.
The method of claim 11,
Assigning a predetermined weight to the reliability of each of the derived responses; And
Determining a final response among the derived responses based on the reliability of each response to which the weight is added
That further comprises a natural language processing engine management method.
제 1 항에 있어서,
상기 응답의 출력 형태를 답안 추천형으로 설정받는 단계;
상기 유사 문장 기반 자연어 처리 엔진을 이용하여 산출된 유사도에 기초하여 복수의 응답을 도출하는 단계;
상기 질의 메시지를 생성한 사용자 단말로 상기 도출된 복수의 응답을 제공하는 단계
를 더 포함하는 것인, 자연어 처리 엔진 관리 방법.
The method of claim 1,
Receiving an output type of the response set as an answer recommendation type;
Deriving a plurality of responses based on the similarity calculated using the similar sentence-based natural language processing engine;
Providing the derived plurality of responses to the user terminal that generated the query message
That further comprises a natural language processing engine management method.
자연어 처리 엔진을 관리하는 관리 서버에 있어서,
질문 데이터 및 상기 질문 데이터에 대응하는 응답 데이터로 구성된 업로드 데이터를 등록받는 업로드 데이터 등록부;
상기 등록받은 업로드 데이터에 대해 색인 과정을 수행하는 색인부;
상기 색인 과정이 수행된 업로드 데이터에 기초하여 유사 문장 기반 자연어 처리 엔진을 학습시키는 유사 문장 기반 자연어 처리 엔진 학습부;
상기 생성된 유사 문장 기반 자연어 처리 엔진을 이용하는 챗봇을 생성하는 챗봇 생성부; 및
상기 생성된 챗봇을 통해 상기 유사 문장 기반 자연어 처리 엔진을 이용하여 상기 색인 과정이 수행된 업로드 데이터로부터 질의 메시지에 대한 응답을 도출하는 응답 도출부
를 포함하는 것인, 관리 서버.
In the management server for managing the natural language processing engine,
An upload data registration unit for registering upload data consisting of question data and response data corresponding to the question data;
An indexing unit for performing an indexing process on the registered uploaded data;
A similar sentence-based natural language processing engine learning unit for learning a similar sentence-based natural language processing engine based on the uploaded data on which the indexing process has been performed;
A chatbot generator that generates a chatbot using the generated similar sentence-based natural language processing engine; And
Response derivation unit for deriving a response to the query message from the uploaded data on which the indexing process has been performed using the similar sentence-based natural language processing engine through the generated chatbot
That containing, the management server.
제 14 항에 있어서,
상기 유사 문장 기반 자연어 처리 엔진 및 의도 기반 자연어 처리 엔진 중 적어도 하나 이상에 기초하여 복수의 자연어 처리 모델을 구축하고, 상기 구축된 복수의 자연어 처리 모델 중 적어도 하나를 선택받는 자연어 처리 모델 관리부를 더 포함하고,
상기 챗봇 생성부는 상기 선택된 자연어 처리 모델을 이용하는 챗봇을 생성하고,
상기 응답 도출부는 상기 생성된 챗봇을 통해 상기 선택된 자연어 처리 모델을 이용하여 질의 메시지에 대한 응답을 도출하는 것인, 관리 서버.
The method of claim 14,
A natural language processing model management unit configured to construct a plurality of natural language processing models based on at least one or more of the similar sentence-based natural language processing engine and the intention-based natural language processing engine, and to select at least one of the built-up natural language processing models. and,
The chatbot generation unit generates a chatbot using the selected natural language processing model,
The response derivation unit is to derive a response to the query message by using the selected natural language processing model through the generated chatbot.
제 15 항에 있어서,
상기 자연어 처리 모델은 순차 연계 처리 모델을 포함하고,
상기 순차 연계 처리 모델은 상기 유사 문장 기반 자연어 처리 엔진 및 상기 의도 기반 자연어 처리 엔진을 기설정된 순서에 따라 순차적으로 이용하여 상기 응답을 도출하는 것인, 관리 서버.
The method of claim 15,
The natural language processing model includes a sequential linkage processing model,
The sequential linkage processing model is to derive the response by sequentially using the similar sentence-based natural language processing engine and the intention-based natural language processing engine in a preset order.
제 15 항에 있어서,
상기 자연어 처리 모델은 동시 연계 처리 모델을 포함하고,
상기 동시 연계 처리 모델은 상기 유사 문장 기반 자연어 처리 엔진 및 상기 의도 기반 자연어 처리 엔진을 동시에 이용하여 상기 응답을 도출하는 것인, 관리 서버.
The method of claim 15,
The natural language processing model includes a simultaneous linkage processing model,
The simultaneous linkage processing model is to derive the response by simultaneously using the similar sentence-based natural language processing engine and the intention-based natural language processing engine.
자연어 처리 엔진을 관리하는 명령어들의 시퀀스를 포함하는 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램에 있어서,
상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우,
질문 데이터 및 상기 질문 데이터에 대응하는 응답 데이터로 구성된 업로드 데이터를 등록받고,
상기 등록받은 업로드 데이터에 대해 색인 과정을 수행하고,
상기 색인 과정이 수행된 업로드 데이터에 기초하여 유사 문장 기반 자연어 처리 엔진을 학습시키고,
상기 생성된 유사 문장 기반 자연어 처리 엔진을 이용하는 챗봇을 생성하고,
상기 생성된 챗봇을 통해 상기 유사 문장 기반 자연어 처리 엔진을 이용하여 상기 색인 과정이 수행된 업로드 데이터로부터 질의 메시지에 대한 응답을 도출하도록 하는 명령어들의 시퀀스를 포함하는, 매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer readable medium comprising a sequence of instructions for managing a natural language processing engine,
When the computer program is executed by a computing device,
Receive upload data consisting of question data and response data corresponding to the question data,
Performing an indexing process on the registered upload data,
Learning a natural language processing engine based on similar sentences based on the uploaded data on which the indexing process has been performed,
Create a chatbot using the generated similar sentence-based natural language processing engine,
A computer program stored in a medium comprising a sequence of instructions for deriving a response to a query message from uploaded data on which the indexing process has been performed using the similar sentence-based natural language processing engine through the generated chatbot.
KR1020190035436A 2019-03-27 2019-03-27 Method, server and computer program for managing natural language processing engines KR20200114173A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190035436A KR20200114173A (en) 2019-03-27 2019-03-27 Method, server and computer program for managing natural language processing engines

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190035436A KR20200114173A (en) 2019-03-27 2019-03-27 Method, server and computer program for managing natural language processing engines

Publications (1)

Publication Number Publication Date
KR20200114173A true KR20200114173A (en) 2020-10-07

Family

ID=72883699

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190035436A KR20200114173A (en) 2019-03-27 2019-03-27 Method, server and computer program for managing natural language processing engines

Country Status (1)

Country Link
KR (1) KR20200114173A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102230933B1 (en) * 2020-10-29 2021-03-23 (주)이노그루 Electronic device program for providing response data to server providing chatbot service
KR102260558B1 (en) * 2020-11-12 2021-06-07 지의소프트 주식회사 Learning data generating system and method for chatbot
KR102262035B1 (en) * 2020-12-03 2021-06-09 주식회사 인조이웍스 System for providing conversational artificial intelligence chatbot service optimized by non face-to-face civil affair administration
KR20220073350A (en) * 2020-11-26 2022-06-03 주식회사 포켓메모리 A method and apparatus for providing conversation service through external data linkage
KR20230015194A (en) * 2021-07-22 2023-01-31 주식회사 천재교과서 A method of inducing learning using a learning chatbot and a recording medium recording the same
KR102663183B1 (en) * 2023-05-16 2024-05-03 행정사법인 민행24 Agency Affairs Automatic Document Creation System

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101605430B1 (en) 2014-02-14 2016-03-22 주식회사 플런티코리아 SYSTEM AND METHOD FOR BUINDING QAs DATABASE AND SEARCH SYSTEM AND METHOD USING THE SAME

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101605430B1 (en) 2014-02-14 2016-03-22 주식회사 플런티코리아 SYSTEM AND METHOD FOR BUINDING QAs DATABASE AND SEARCH SYSTEM AND METHOD USING THE SAME

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102230933B1 (en) * 2020-10-29 2021-03-23 (주)이노그루 Electronic device program for providing response data to server providing chatbot service
KR102260558B1 (en) * 2020-11-12 2021-06-07 지의소프트 주식회사 Learning data generating system and method for chatbot
KR20220073350A (en) * 2020-11-26 2022-06-03 주식회사 포켓메모리 A method and apparatus for providing conversation service through external data linkage
KR102262035B1 (en) * 2020-12-03 2021-06-09 주식회사 인조이웍스 System for providing conversational artificial intelligence chatbot service optimized by non face-to-face civil affair administration
KR20230015194A (en) * 2021-07-22 2023-01-31 주식회사 천재교과서 A method of inducing learning using a learning chatbot and a recording medium recording the same
KR102663183B1 (en) * 2023-05-16 2024-05-03 행정사법인 민행24 Agency Affairs Automatic Document Creation System

Similar Documents

Publication Publication Date Title
KR20200114173A (en) Method, server and computer program for managing natural language processing engines
US10078489B2 (en) Voice interface to a social networking service
CN107004408B (en) Method and system for determining user intent in spoken dialog based on converting at least a portion of a semantic knowledge graph to a probabilistic state graph
US20190103111A1 (en) Natural Language Processing Systems and Methods
US11425215B1 (en) Methods and systems for virtual assistant routing
US10698707B2 (en) Using salience rankings of entities and tasks to aid computer interpretation of natural language input
CN114303132B (en) Method and system for context association and personalization using wake words in a virtual personal assistant
US20210327413A1 (en) Natural language processing models for conversational computing
US20200334740A1 (en) System and method for a hybrid conversational and graphical user interface
US20100100371A1 (en) Method, System, and Apparatus for Message Generation
US20120066202A1 (en) Method and apparatus for enhancing search results by extending search to contacts of social networks
US20190294731A1 (en) Search query dispatcher using machine learning
KR102169397B1 (en) Method and server for providing semi-automatic communication using chatbot and consultant
CN101999119A (en) Techniques for input recognition and completion
KR20190080599A (en) Method and server for providing semi-automatic communication using chatbot and consultant
US20220157663A1 (en) Bot group messaging using bot-specific voice libraries
WO2015196987A1 (en) Natural language supported data query method, open platform and user terminal
US20180033450A1 (en) Method and computer system for performing audio search on a social networking platform
CN112351350B (en) Content display method, device, system, equipment and storage medium
KR20220154062A (en) Methods and apparatus for training content recommendation and sequencing model, devices, storage media, and computer programs
US11263249B2 (en) Enhanced multi-workspace chatbot
US20160247522A1 (en) Method and system for providing access to auxiliary information
WO2022133153A1 (en) Free-form, automatically-generated conversational graphical user interfaces
JP2014052809A (en) Information classification program and information processor
KR20190131355A (en) Method for managing application of communication

Legal Events

Date Code Title Description
A201 Request for examination