KR102087287B1 - Chatbot system server capable of executing events based on interactive messaging and operating method thereof - Google Patents

Chatbot system server capable of executing events based on interactive messaging and operating method thereof Download PDF

Info

Publication number
KR102087287B1
KR102087287B1 KR1020180096512A KR20180096512A KR102087287B1 KR 102087287 B1 KR102087287 B1 KR 102087287B1 KR 1020180096512 A KR1020180096512 A KR 1020180096512A KR 20180096512 A KR20180096512 A KR 20180096512A KR 102087287 B1 KR102087287 B1 KR 102087287B1
Authority
KR
South Korea
Prior art keywords
client terminal
interactive
system server
hash value
message
Prior art date
Application number
KR1020180096512A
Other languages
Korean (ko)
Other versions
KR20200021136A (en
Inventor
원찬식
안정우
Original Assignee
주식회사 한글과컴퓨터
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 한글과컴퓨터 filed Critical 주식회사 한글과컴퓨터
Priority to KR1020180096512A priority Critical patent/KR102087287B1/en
Publication of KR20200021136A publication Critical patent/KR20200021136A/en
Application granted granted Critical
Publication of KR102087287B1 publication Critical patent/KR102087287B1/en

Links

Images

Classifications

    • G06Q50/50
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/30Transportation; Communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages

Abstract

대화형 메시징 기반의 이벤트 실행이 가능한 챗봇(chatbot) 시스템 서버 및 그 동작 방법이 개시된다. 본 발명은 사용자가 스마트폰과 같은 클라이언트 단말의 대화형 메시징 애플리케이션을 통해 소정의 대화형 메시지를 인가하게 되면, 상기 대화형 메시지를 분석하여 적절한 이벤트 실행 명령에 따른 이벤트를 실행함으로써, 상기 사용자에게 상기 사용자가 원하는 결과물에 대한 보고 메시지를 정확하게 전달할 수 있는 챗봇 시스템 서버 및 그 동작 방법을 제공할 수 있다.A chatbot system server capable of executing an event based on interactive messaging and a method of operating the same are provided. According to the present invention, when a user authorizes a predetermined interactive message through an interactive messaging application of a client terminal such as a smartphone, the user analyzes the interactive message and executes an event according to an appropriate event execution command. It is possible to provide a chatbot system server and a method of operating the same, which can accurately deliver a report message about a desired result.

Description

대화형 메시징 기반의 이벤트 실행이 가능한 챗봇 시스템 서버 및 그 동작 방법{CHATBOT SYSTEM SERVER CAPABLE OF EXECUTING EVENTS BASED ON INTERACTIVE MESSAGING AND OPERATING METHOD THEREOF}CHATBOT SYSTEM SERVER CAPABLE OF EXECUTING EVENTS BASED ON INTERACTIVE MESSAGING AND OPERATING METHOD THEREOF}

본 발명은 사용자가 대화형 메시지를 이용하여 소정의 이벤트 실행 명령을 인가하면, 상기 이벤트 실행 명령에 따른 이벤트를 실행하여 그에 대한 결과 보고 메시지를 상기 사용자에게 제공하는 챗봇(chatbot) 시스템 서버 및 그 동작 방법에 대한 것이다.The present invention provides a chatbot system server that executes an event according to the event execution command and provides a result report message to the user when the user authorizes a predetermined event execution command using an interactive message, and an operation thereof. It's about how.

최근에는 스마트폰이나 태블릿 PC와 같은 상시 인터넷 가능한 휴대용 단말이 보급됨에 따라, 이러한 휴대용 단말을 통해서 사용자의 편의를 도모하기 위한 다양한 서비스들이 출시되고 있다.Recently, as a portable terminal capable of internet always is available such as a smartphone or a tablet PC, various services have been released for the convenience of the user through such a portable terminal.

이러한 서비스들 중에서 인터넷을 기반으로 사용자들 간에 실시간으로 메시지를 주고받을 수 있도록 하는 대화형 메시징 서비스가 널리 활용되고 있다. 이렇게, 대화형 메시징 서비스의 활용이 증대됨에 따라, 대화형 메시징 서비스를 이용한 광고나 마케팅과 같은 다양한 부가 서비스도 도입되고 있다.Among these services, an interactive messaging service that enables users to exchange messages in real time between users based on the Internet is widely used. As such, as the use of the interactive messaging service is increased, various additional services such as advertisement or marketing using the interactive messaging service are also introduced.

최근에는 대화형 메시징 서비스에서 인공지능을 통해 일상언어로 사람과 대화를 하여 해답을 주는 챗봇(chatbot) 서비스가 등장하고 있다.In recent years, a chatbot service, which provides an answer by communicating with people in everyday languages through artificial intelligence in an interactive messaging service, has emerged.

이러한 챗봇 서비스는 사용자가 대화형 메시징 애플리케이션을 통해 다양한 질의를 대화형 메시지로 입력하면, 상기 대화형 메시지를 분석해서 상기 대화형 메시지에 대한 이벤트를 실행함으로써, 상기 질의에 대한 적절한 답변을 대화형 메시지를 통해 제공하는 서비스이다.Such a chatbot service, when a user inputs various queries into an interactive message through an interactive messaging application, analyzes the interactive message and executes an event for the interactive message, thereby providing an appropriate response to the interactive message. Service provided through.

예컨대, 날씨에 대한 정보를 제공하기 위한 챗봇 서비스의 경우에는 사용자가 '오늘의 날씨는 어때?'라는 형식의 대화형 메시지를 인가하게 되면, 상기 대화형 메시지를 분석하여 오늘의 날씨 정보를 확인하기 위한 이벤트를 실행시킨 후 해당 이벤트의 실행 결과인 오늘의 날씨 정보를 소정의 결과 보고 메시지로 생성해서 상기 사용자에게 제공하도록 구성된다.For example, in the case of a chatbot service for providing weather information, when a user authorizes an interactive message in the form of 'How is the weather today?', The user can analyze the interactive message to check the weather information of the day. After executing the event for the current weather information that is the execution result of the event is configured to provide a predetermined result report message to the user.

이렇게, 챗봇 서비스에 대한 관심이 증대됨에 따라, 사용자에 의해 인가되는 대화형 메시지로부터 사용자가 원하는 이벤트 실행 명령을 정확하게 분석해서 그에 따른 이벤트를 적절하게 실행할 수 있도록 처리하는 기술의 연구가 필요한 실정이다.Thus, as the interest in the chatbot service is increased, there is a need for a study of a technology that accurately analyzes a desired event execution command from an interactive message authorized by the user and processes the event accordingly.

본 발명은 사용자가 스마트폰과 같은 클라이언트 단말의 대화형 메시징 애플리케이션을 통해 소정의 대화형 메시지를 인가하게 되면, 상기 대화형 메시지를 분석하여 적절한 이벤트 실행 명령에 따른 이벤트를 실행함으로써, 상기 사용자에게 상기 사용자가 원하는 결과물에 대한 보고 메시지를 정확하게 전달할 수 있는 챗봇(chatbot) 시스템 서버 및 그 동작 방법을 제공하고자 한다.According to the present invention, when a user authorizes a predetermined interactive message through an interactive messaging application of a client terminal such as a smartphone, the user analyzes the interactive message and executes an event according to an appropriate event execution command. The present invention provides a chatbot system server and a method of operating the same, which can accurately deliver a report message about a desired result.

또한, 본 발명은 상기 클라이언트 단말이 상기 사용자에 의해 인가된 대화형 메시지들을 소정의 히스토리 저장소 상에 저장할 수 있도록 구성함으로써, 상기 사용자가 상기 챗봇 시스템 서버로 전송할 대화형 메시지를 상기 히스토리 저장소 상에 저장되어 있는 대화형 메시지들로부터 손쉽게 선택 입력할 수 있도록 지원하고자 한다.In addition, the present invention is configured to allow the client terminal to store interactive messages authorized by the user on a predetermined history store, thereby storing the interactive message on the history store for the user to send to the chatbot system server. It is intended to support easy selection and input from interactive messages.

본 발명의 일실시예에 따른 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇(chatbot) 시스템 서버는 미리 정해진 서로 다른 복수의 단어 그룹들 - 상기 복수의 단어 그룹들 각각은 둘 이상의 서로 다른 단어들로 구성된 그룹을 의미함 - 과 상기 복수의 단어 그룹들 각각에 대응하는 서로 다른 이벤트 실행 명령이 저장되어 있는 이벤트 실행 명령 저장부, 사용자의 클라이언트 단말로부터 상기 클라이언트 단말 상에 설치되어 있는 대화형 메시징 애플리케이션을 통해 제1 대화형 메시지가 수신되면, 상기 제1 대화형 메시지에 대해 형태소 분석을 수행하여 상기 제1 대화형 메시지로부터 상기 제1 대화형 메시지 상에 포함되어 있는 복수의 제1 단어들을 추출하는 단어 추출부, 상기 이벤트 실행 명령 저장부를 참조하여 상기 복수의 단어 그룹들 중 상기 복수의 제1 단어들과 동일한 단어를 그룹 내에 최대로 포함하고 있는 제1 단어 그룹을 확인하고, 상기 이벤트 실행 명령 저장부로부터 상기 제1 단어 그룹에 대응되어 저장되어 있는 제1 이벤트 실행 명령을 추출하는 이벤트 실행 명령 추출부, 상기 제1 이벤트 실행 명령을 실행하여 상기 챗봇 시스템 서버에서 상기 제1 이벤트 실행 명령에 따른 이벤트를 실행하는 이벤트 실행 명령 실행부 및 상기 제1 이벤트 실행 명령의 실행 결과를 알리는 결과 보고 메시지를 생성하여 상기 클라이언트 단말로 전송함으로써, 상기 클라이언트 단말이 상기 대화형 메시징 애플리케이션을 통해 상기 결과 보고 메시지를 화면 상에 표시하도록 제어하는 결과 보고 메시지 전송부를 포함하고, 상기 클라이언트 단말은 상기 챗봇 시스템 서버로 전송되는 대화형 메시지들을 저장하기 위한 히스토리 저장소를 구비하고 있고, 상기 제1 대화형 메시지가 상기 챗봇 시스템 서버로 전송되면, 상기 히스토리 저장소 상에 상기 제1 대화형 메시지를 저장한다.The chatbot system server capable of executing an event based on an interactive messaging according to an embodiment of the present invention may include a plurality of predetermined word groups, each of which consists of two or more different words. Means an event execution command storage unit for storing different event execution instructions corresponding to each of the plurality of word groups, from an user's client terminal through an interactive messaging application installed on the client terminal. When a first interactive message is received, word extraction extracting a plurality of first words included in the first interactive message from the first interactive message by performing a morphological analysis on the first interactive message. And the at least one of the plurality of word groups with reference to the event execution command storage unit. Identifying a first word group including a maximum of the same words as the first words in the group, and extracting a first event execution command stored corresponding to the first word group from the event execution command storage; An event execution command extracting unit, an event execution command execution unit executing an event according to the first event execution command in the chatbot system server by executing the first event execution command, and a result of notifying an execution result of the first event execution command Generating a report message and transmitting the report message to the client terminal, wherein the client terminal displays the result report message on the screen through the interactive messaging application; and the client terminal includes the chatbot system. Store interactive messages sent to the server And a history store for storing the first interactive message, and when the first interactive message is transmitted to the chatbot system server, the first interactive message is stored on the history store.

또한, 본 발명의 일실시예에 따른 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇 시스템 서버의 동작 방법은 미리 정해진 서로 다른 복수의 단어 그룹들 - 상기 복수의 단어 그룹들 각각은 둘 이상의 서로 다른 단어들로 구성된 그룹을 의미함 - 과 상기 복수의 단어 그룹들 각각에 대응하는 서로 다른 이벤트 실행 명령이 저장되어 있는 이벤트 실행 명령 저장부를 유지하는 단계, 사용자의 클라이언트 단말로부터 상기 클라이언트 단말 상에 설치되어 있는 대화형 메시징 애플리케이션을 통해 제1 대화형 메시지가 수신되면, 상기 제1 대화형 메시지에 대해 형태소 분석을 수행하여 상기 제1 대화형 메시지로부터 상기 제1 대화형 메시지 상에 포함되어 있는 복수의 제1 단어들을 추출하는 단계, 상기 이벤트 실행 명령 저장부를 참조하여 상기 복수의 단어 그룹들 중 상기 복수의 제1 단어들과 동일한 단어를 그룹 내에 최대로 포함하고 있는 제1 단어 그룹을 확인하고, 상기 이벤트 실행 명령 저장부로부터 상기 제1 단어 그룹에 대응되어 저장되어 있는 제1 이벤트 실행 명령을 추출하는 단계, 상기 제1 이벤트 실행 명령을 실행하여 상기 챗봇 시스템 서버에서 상기 제1 이벤트 실행 명령에 따른 이벤트를 실행하는 단계 및 상기 제1 이벤트 실행 명령의 실행 결과를 알리는 결과 보고 메시지를 생성하여 상기 클라이언트 단말로 전송함으로써, 상기 클라이언트 단말이 상기 대화형 메시징 애플리케이션을 통해 상기 결과 보고 메시지를 화면 상에 표시하도록 제어하는 단계를 포함하고, 상기 클라이언트 단말은 상기 챗봇 시스템 서버로 전송되는 대화형 메시지들을 저장하기 위한 히스토리 저장소를 구비하고 있고, 상기 제1 대화형 메시지가 상기 챗봇 시스템 서버로 전송되면, 상기 히스토리 저장소 상에 상기 제1 대화형 메시지를 저장한다.In addition, a method of operating a chatbot system server capable of executing an event based on an interactive messaging according to an embodiment of the present invention may include a plurality of predetermined word groups, each of which is two or more different words. Maintaining an event execution command storage unit in which different event execution commands corresponding to each of the plurality of word groups are stored; and a conversation installed on the client terminal from a user's client terminal. When a first interactive message is received through an interactive messaging application, stemming the first interactive message is performed to perform a plurality of first words included on the first interactive message from the first interactive message. Extracting the plurality of steps; referring to the event execution command storage unit; A first word group including a maximum of the same words as the plurality of first words in the group among the groups, and a first word group stored corresponding to the first word group from the event execution command storage unit; Extracting an event execution command, executing the first event execution command to execute an event according to the first event execution command in the chatbot system server, and a result report message indicating an execution result of the first event execution command Generating and transmitting a message to the client terminal, the client terminal displaying the result report message on the screen through the interactive messaging application, wherein the client terminal is a conversation transmitted to the chatbot system server. A history repository for storing typed messages And when the first interactive message is sent to the chatbot system server, stores the first interactive message on the history repository.

본 발명은 사용자가 스마트폰과 같은 클라이언트 단말의 대화형 메시징 애플리케이션을 통해 소정의 대화형 메시지를 인가하게 되면, 상기 대화형 메시지를 분석하여 적절한 이벤트 실행 명령에 따른 이벤트를 실행함으로써, 상기 사용자에게 상기 사용자가 원하는 결과물에 대한 보고 메시지를 정확하게 전달할 수 있는 챗봇(chatbot) 시스템 서버 및 그 동작 방법을 제공할 수 있다.According to the present invention, when a user authorizes a predetermined interactive message through an interactive messaging application of a client terminal such as a smartphone, the user analyzes the interactive message and executes an event according to an appropriate event execution command. It is possible to provide a chatbot system server and a method of operating the chatbot system server capable of accurately delivering a report message about a desired result.

또한, 본 발명은 상기 클라이언트 단말이 상기 사용자에 의해 인가된 대화형 메시지들을 소정의 히스토리 저장소 상에 저장할 수 있도록 구성함으로써, 상기 사용자가 상기 챗봇 시스템 서버로 전송할 대화형 메시지를 상기 히스토리 저장소 상에 저장되어 있는 대화형 메시지들로부터 손쉽게 선택 입력할 수 있도록 지원할 수 있다.In addition, the present invention is configured to allow the client terminal to store interactive messages authorized by the user on a predetermined history store, thereby storing the interactive message on the history store for the user to send to the chatbot system server. It can support easy selection and input from interactive messages.

도 1은 본 발명의 일실시예에 따른 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇(chatbot) 시스템 서버의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇 시스템 서버의 동작 방법을 도시한 순서도이다.
1 is a diagram illustrating a structure of a chatbot system server capable of executing an event based on interactive messaging according to an embodiment of the present invention.
2 is a flowchart illustrating an operation method of a chatbot system server capable of executing an event based on interactive messaging according to an embodiment of the present invention.

이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. This description is not intended to limit the invention to the specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the invention. In describing the drawings, similar reference numerals are used for similar components, and unless otherwise defined, all terms used in the present specification, including technical or scientific terms, may be used in the art to which the present invention pertains. It has the same meaning as is commonly understood by someone who has.

도 1은 본 발명의 일실시예에 따른 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇(chatbot) 시스템 서버의 구조를 도시한 도면이다.1 is a diagram illustrating a structure of a chatbot system server capable of executing an event based on interactive messaging according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇 시스템 서버(110)는 이벤트 실행 명령 저장부(111), 단어 추출부(112), 이벤트 실행 명령 추출부(113), 이벤트 실행 명령 실행부(114) 및 결과 보고 메시지 전송부(115)를 포함한다.Referring to FIG. 1, the chatbot system server 110 capable of executing an event based on interactive messaging according to an embodiment of the present invention may include an event execution command storage unit 111, a word extractor 112, and an event execution command extraction unit. A unit 113, an event execution command execution unit 114 and a result report message transmission unit 115.

이벤트 실행 명령 저장부(111)에는 미리 정해진 서로 다른 복수의 단어 그룹들과 상기 복수의 단어 그룹들 각각에 대응하는 서로 다른 이벤트 실행 명령이 저장되어 있다.The event execution command storage 111 stores a plurality of predetermined word groups and different event execution commands corresponding to each of the plurality of word groups.

여기서, 상기 복수의 단어 그룹들 각각은 둘 이상의 서로 다른 단어들로 구성된 그룹을 의미하고, 이벤트 실행 명령이란 소정의 날씨 정보 서버에 접속하여 현재의 날씨 정보를 확인하라는 이벤트 실행 명령이나, 대중교통 서버에 접속하여 버스의 도착 예정 시각을 확인하라는 이벤트 실행 명령 또는 단어 사전 데이터베이스를 참조하여 소정의 단어의 뜻을 알려달라고 하는 이벤트 실행 명령 등을 의미한다.Here, each of the plurality of word groups means a group consisting of two or more different words, and an event execution command refers to an event execution command for accessing a predetermined weather information server to check current weather information or a public transportation server. It refers to an event execution command for accessing the bus and confirming the arrival time of the bus, or an event execution command for referring to the meaning of a predetermined word by referring to a word dictionary database.

이때, 이벤트 실행 명령 저장부(111)에는 하기의 표 1과 같이 정보가 저장되어 있을 수 있다.In this case, information may be stored in the event execution command storage 111 as shown in Table 1 below.

복수의 단어 그룹들Multiple word groups 이벤트 실행 명령Event Execution Command (오늘, 날씨)(Today's weather) 날씨 정보 서버에 접속하여 현재의 날씨 정보를 확인하라는 이벤트 실행 명령Event execution command to connect to the weather information server and check the current weather information. (버스, 도착, 시각)(Bus, arrival, time) 대중교통 서버에 접속하여 버스의 도착 예정 시각을 확인하라는 이벤트 실행 명령Event execution command to check the arrival time of the bus by connecting to the public transportation server (김치찌개, 조리법)(Kimchi stew, recipe) 김치찌개의 조리법을 확인하라는 이벤트 실행 명령Event execution command to check the recipe of Kimchi stew ...... ......

단어 추출부(112)는 사용자의 클라이언트 단말(100)로부터 클라이언트 단말(100) 상에 설치되어 있는 대화형 메시징 애플리케이션을 통해 제1 대화형 메시지가 수신되면, 상기 제1 대화형 메시지에 대해 형태소 분석을 수행하여 상기 제1 대화형 메시지로부터 상기 제1 대화형 메시지 상에 포함되어 있는 복수의 제1 단어들을 추출한다.When the word extracting unit 112 receives the first interactive message from the user's client terminal 100 through an interactive messaging application installed on the client terminal 100, the word extracting unit 112 may stem the analysis of the first interactive message. Extracts a plurality of first words included in the first interactive message from the first interactive message.

이벤트 실행 명령 추출부(113)는 이벤트 실행 명령 저장부(111)를 참조하여 상기 복수의 단어 그룹들 중 상기 복수의 제1 단어들과 동일한 단어를 그룹 내에 최대로 포함하고 있는 제1 단어 그룹을 확인하고, 이벤트 실행 명령 저장부(111)로부터 상기 제1 단어 그룹에 대응되어 저장되어 있는 제1 이벤트 실행 명령을 추출한다.The event execution command extractor 113 refers to the event execution command storage 111 and selects a first word group including a maximum of the same words as the plurality of first words among the plurality of word groups in the group. After checking, the first event execution command stored in correspondence with the first word group is extracted from the event execution command storage 111.

이벤트 실행 명령 실행부(114)는 상기 제1 이벤트 실행 명령을 실행하여 챗봇 시스템 서버(110)에서 상기 제1 이벤트 실행 명령에 따른 이벤트를 실행한다.The event execution command execution unit 114 executes the first event execution command to execute an event according to the first event execution command in the chatbot system server 110.

결과 보고 메시지 전송부(115)는 상기 제1 이벤트 실행 명령의 실행 결과를 알리는 결과 보고 메시지를 생성하여 클라이언트 단말(100)로 전송함으로써, 클라이언트 단말(100)이 상기 대화형 메시징 애플리케이션을 통해 상기 결과 보고 메시지를 화면 상에 표시하도록 제어한다.The result report message transmitting unit 115 generates a result report message indicating the execution result of the first event execution command and transmits the result report message to the client terminal 100, whereby the client terminal 100 transmits the result through the interactive messaging application. Controls the display of report messages on the screen.

예컨대, 사용자가 클라이언트 단말(100)에 설치되어 있는 대화형 애플리케이션을 통해서 '오늘 날씨는 어때?'라는 상기 제1 대화형 메시지를 입력함에 따라, 클라이언트 단말(100)로부터 챗봇 시스템 서버(110)로 상기 제1 대화형 메시지가 수신되면, 단어 추출부(112)는 '오늘 날씨는 어때?'라는 상기 제1 대화형 메시지에 대해 형태소 분석을 수행하여 '오늘, 날씨, 어때'라고 하는 복수의 제1 단어들을 추출할 수 있다.For example, as the user inputs the first interactive message 'How is the weather today' through the interactive application installed in the client terminal 100, the client terminal 100 to the chatbot system server 110. When the first interactive message is received, the word extracting unit 112 performs a morphological analysis on the first interactive message 'How is the weather today?' One word can be extracted.

그리고, 이벤트 실행 명령 추출부(113)는 이벤트 실행 명령 저장부(111)를 참조하여 상기 복수의 단어 그룹들 중 '오늘, 날씨, 어때'라고 하는 상기 복수의 제1 단어들과 동일한 단어를 그룹 내에 최대로 포함하고 있는 제1 단어 그룹인 '(오늘, 날씨)'를 확인하고, 이벤트 실행 명령 저장부(111)로부터 상기 제1 단어 그룹인 '(오늘, 날씨)'에 대응되어 저장되어 있는 제1 이벤트 실행 명령인 '날씨 정보 서버에 접속하여 현재의 날씨 정보를 확인하라는 이벤트 실행 명령'을 추출할 수 있다.In addition, the event execution command extractor 113 refers to the event execution command storage 111 and groups the same words as the plurality of first words, such as 'today, weather and how', among the plurality of word groups. The first word group '(today, weather)' which is included in the maximum is checked, and is stored in correspondence with the first word group '(today, weather)' from the event execution command storage 111. The first event execution command, 'an event execution command to access the weather information server to check current weather information,' may be extracted.

그러고 나서, 이벤트 실행 명령 실행부(114)는 '날씨 정보 서버에 접속하여 현재의 날씨 정보를 확인하라는 이벤트 실행 명령'인 상기 제1 이벤트 실행 명령을 실행하여 상기 날씨 정보 서버에 접속하여 오늘의 날씨 정보를 확인할 수 있다.Then, the event execution command execution unit 114 executes the first event execution command which is an 'event execution command to access the weather information server to check the current weather information' and accesses the weather information server to access the weather of the day. You can check the information.

그 이후, 결과 보고 메시지 전송부(115)는 '오늘의 날씨는 맑고, 현재 기온은 섭씨 26도입니다'와 같은 상기 제1 이벤트 실행 명령의 실행 결과를 알리는 결과 보고 메시지를 생성하여 클라이언트 단말(100)로 전송할 수 있다.Thereafter, the result report message transmitting unit 115 generates a result report message informing the execution result of the first event execution command such as 'the weather is clear today and the current temperature is 26 degrees Celsius'. ) Can be sent.

이때, 클라이언트 단말(100)은 상기 대화형 메시징 애플리케이션을 통해 상기 결과 보고 메시지인 '오늘의 날씨는 맑고, 현재 기온은 섭씨 26도입니다'를 화면 상에 표시할 수 있다.In this case, the client terminal 100 may display the result report message 'the weather of today is clear and the current temperature is 26 degrees Celsius' on the screen through the interactive messaging application.

이때, 본 발명의 일실시예에 따르면, 클라이언트 단말(100)은 챗봇 시스템 서버(110)로 전송되는 대화형 메시지들을 저장하기 위한 히스토리 저장소를 구비하고 있을 수 있고, 상기 제1 대화형 메시지가 챗봇 시스템 서버(110)로 전송되면, 상기 히스토리 저장소 상에 상기 제1 대화형 메시지를 저장할 수 있다.At this time, according to an embodiment of the present invention, the client terminal 100 may be provided with a history storage for storing interactive messages transmitted to the chatbot system server 110, wherein the first interactive message is a chatbot When transmitted to the system server 110, the first interactive message may be stored on the history repository.

즉, 클라이언트 단말(100)에는 상기 히스토리 저장소가 구비되어 있어서, 사용자가 클라이언트 단말(100)에 소정의 대화형 메시지를 인가함에 따라 대화형 메시지가 챗봇 시스템 서버(110)로 전송되면, 클라이언트 단말(100)은 상기 대화형 메시지를 상기 히스토리 저장소 상에 저장해 둘 수 있다.That is, the client terminal 100 is provided with the history storage, and when an interactive message is transmitted to the chatbot system server 110 as a user applies a predetermined interactive message to the client terminal 100, the client terminal ( 100 may store the interactive message on the history repository.

이때, 클라이언트 단말(100)은 상기 사용자에 의해 상기 히스토리 저장소 상에 저장되어 있는 대화형 메시지들 중 어느 하나의 대화형 메시지에 대한 챗봇 시스템 서버(110)로의 선택 전송 명령이 인가되면, 상기 대화형 메시징 애플리케이션을 통해 상기 히스토리 저장소로부터 상기 어느 하나의 대화형 메시지를 선택 추출하여 챗봇 시스템 서버(110)로 전송할 수 있다.At this time, if the client terminal 100 is authorized by the user to send a selection transmission command to the chatbot system server 110 for one of the interactive messages stored on the history store, the interactive Through the messaging application, one of the interactive messages may be selectively extracted from the history store and transmitted to the chatbot system server 110.

즉, 상기 사용자는 챗봇 시스템 서버(110)로 소정의 대화형 메시지를 전송하고자 할 때, 전송하고자 하는 대화형 메시지가 상기 히스토리 저장소 상에 저장되어 있는 기존의 대화형 메시지들 중에 포함되어 있다면, 대화형 메시지를 전송하기 위한 메시지 입력 창에 대화형 메시지를 다시 타이핑하여 입력할 필요없이 상기 히스토리 저장소 상에 저장되어 있는 대화형 메시지를 선택하는 것만으로 간단히 대화형 메시지를 입력할 수 있다.That is, when the user wants to send a predetermined interactive message to the chatbot system server 110, if the interactive message to be transmitted is included among the existing interactive messages stored on the history repository, the conversation The interactive message can be input simply by selecting the interactive message stored on the history repository without having to retype and enter the interactive message in the message input window for transmitting the interactive message.

본 발명의 일실시예에 따르면, 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇 시스템 서버(110)는 클라이언트 단말(100)로부터 이벤트 실행 명령을 대화형 메시지로 수신할 때, 제3자에 의해서 대화형 메시지가 조작되거나 클라이언트 단말(100)이 해킹에 의해 공격받을 것에 대비하여 클라이언트 단말(100)과의 통신 과정에서 보안을 강화하기 위한 구성을 더 포함할 수 있다.According to an embodiment of the present invention, when the chatbot system server 110 capable of executing an event based on interactive messaging receives an event execution command from the client terminal 100 as an interactive message, it is interactive by a third party. It may further include a configuration for enhancing the security in the communication process with the client terminal 100 in preparation for the message is manipulated or the client terminal 100 is attacked by hacking.

관련해서, 본 발명의 일실시예에 따르면, 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇 시스템 서버(110)는 고유 정보 요청부(116), 해시 값 생성부(117), 저장 처리부(118) 및 등록 정보 전송부(119)를 더 포함할 수 있다.In relation to this, according to an embodiment of the present invention, the chatbot system server 110 capable of executing an event based on interactive messaging may include a unique information requester 116, a hash value generator 117, a storage processor 118, and a chatbot system server 110. The registration information transmitter 119 may be further included.

우선, 클라이언트 단말(100)에는 데이터의 암호화에 사용하기 위한 개인키가 발급되어 클라이언트 단말(100)의 개인키 저장소 상에 저장되어 있고, 챗봇 시스템 서버(110)에는 상기 개인키에 대응하는 공개키가 미리 저장되어 있을 수 있다.First, the client terminal 100 is issued with a private key for use in encrypting data and stored on the private key storage of the client terminal 100, and the chatbot system server 110 has a public key corresponding to the private key. May be stored in advance.

이때, 챗봇 시스템 서버(110)는 클라이언트 단말(100)로부터 대화형 메시지를 수신하기 위한 최초 등록 과정을 수행해야 하는데, 이러한 최초 등록 과정을 수행하기 위해 클라이언트 단말(100)이 챗봇 시스템 서버(110)와 최초로 접속하게 되면, 클라이언트 단말(100)은 챗봇 시스템 서버(110)에 대해 최초 등록 요청을 전송할 수 있다.In this case, the chatbot system server 110 should perform an initial registration process for receiving an interactive message from the client terminal 100. In order to perform the initial registration process, the chat terminal system server 110 is configured to perform the initial registration process. When the first connection with the client terminal 100 may transmit a first registration request to the chatbot system server 110.

이때, 고유 정보 요청부(116)는 클라이언트 단말(100)로부터 상기 최초 등록 요청이 수신되는 경우, 클라이언트 단말(100)에 대해 클라이언트 단말(100)의 기기 고유 식별정보의 전송을 요청한다.In this case, when the first registration request is received from the client terminal 100, the unique information requester 116 requests the client terminal 100 to transmit device unique identification information of the client terminal 100.

이때, 클라이언트 단말(100)은 상기 기기 고유 식별정보의 전송 요청에 대응하여 클라이언트 단말(100)의 기기 고유 식별정보를 생성하여 챗봇 시스템 서버(110)로 전송할 수 있다.In this case, the client terminal 100 may generate device-specific identification information of the client terminal 100 in response to the request for transmitting the device-specific identification information and transmit the generated device-specific identification information to the chatbot system server 110.

여기서, 클라이언트 단말(100)은 상기 기기 고유 식별정보를 생성하기 위해, 클라이언트 단말(100)의 MAC(Media Access Control) 주소나 클라이언트 단말(100)에 설치되어 있는 운영체제의 시리얼키 등의 고유정보를 획득한 후 상기 고유정보를 미리 정해진 고유 식별정보 생성 함수에 입력으로 인가함으로써, 상기 기기 고유 식별정보를 생성할 수 있다.Here, the client terminal 100 generates unique information such as a MAC (Media Access Control) address of the client terminal 100 or a serial key of an operating system installed in the client terminal 100 to generate the device specific identification information. After acquiring, the device unique identification information may be generated by applying the unique information as an input to a predetermined unique identification information generating function.

해시 값 생성부(117)는 클라이언트 단말(100)로부터 클라이언트 단말(100)의 기기 고유 식별정보로 제1 식별정보가 수신되면, 랜덤 값을 생성하고, 상기 랜덤 값과 상기 제1 식별정보를 미리 정해진 제1 해시 함수에 입력으로 인가하여 제1 해시 값을 생성한다.The hash value generator 117 generates a random value when the first identification information is received as the device-specific identification information of the client terminal 100 from the client terminal 100, and generates the random value and the first identification information in advance. Apply as an input to the determined first hash function to generate a first hash value.

저장 처리부(118)는 암호화키를 생성하기 위한 시드(seed) 값을 랜덤하게 생성하고, 데이터베이스(미도시) 상에 상기 제1 해시 값과 함께 상기 제1 해시 값에 대응되도록 상기 랜덤 값 및 상기 시드 값을 저장한다.The storage processor 118 randomly generates a seed value for generating an encryption key, and matches the random value and the random value to correspond to the first hash value together with the first hash value on a database (not shown). Save the seed value.

여기서, 상기 제1 해시 값을 'H1', 상기 랜덤 값을 'r', 상기 시드 값을 's'라고 한다면, 상기 데이터베이스에는 하기의 표 2와 같은 대응 형태로 상기 제1 해시 값과 상기 랜덤 값 및 상기 시드 값이 저장될 수 있다.Herein, if the first hash value is 'H 1 ', the random value is 'r', and the seed value is 's', the database may correspond to the first hash value in the corresponding form as shown in Table 2 below. A random value and the seed value may be stored.

해시 값Hash value 랜덤 값Random value 시드 값Seed value H1 H 1 rr ss

등록 정보 전송부(119)는 상기 제1 해시 값과 상기 시드 값을 클라이언트 단말(100)로 전송하고, 클라이언트 단말(100)에 대한 최초 등록 과정을 완료 처리한다.The registration information transmitter 119 transmits the first hash value and the seed value to the client terminal 100, and completes an initial registration process for the client terminal 100.

이때, 본 발명의 일실시예에 따르면, 클라이언트 단말(100)은 챗봇 시스템 서버(110)로부터 상기 제1 해시 값과 상기 시드 값이 수신되면, 상기 제1 식별정보 및 상기 시드 값을 미리 정해진 제2 해시 함수에 입력으로 인가하여 제2 해시 값을 생성하고, 클라이언트 단말(100)의 개인키 저장소 상에 미리 발급되어 저장되어 있는 상기 개인키를 상기 제2 해시 값으로 암호화한 후 상기 개인키 저장소 상에 상기 제1 해시 값과 함께 상기 암호화된 개인키를 저장할 수 있다.In this case, according to an embodiment of the present invention, when the first hash value and the seed value are received from the chatbot system server 110, the client terminal 100 may determine the first identification information and the seed value in advance. 2 generates a second hash value by applying an input to a hash function, encrypts the private key previously issued and stored on the private key store of the client terminal 100 with the second hash value, and then stores the private key store. And store the encrypted private key together with the first hash value.

이때, 본 발명의 일실시예에 따르면, 챗봇 시스템 서버(110)는 인증 정보 요청부(120), 인증 정보 추출부(121) 및 접속 처리부(122)를 더 포함할 수 있다.At this time, according to an embodiment of the present invention, the chatbot system server 110 may further include an authentication information requesting unit 120, an authentication information extracting unit 121, and a connection processing unit 122.

우선, 클라이언트 단말(100)은 앞서 설명한 최초 등록 과정이 완료된 이후에 대화형 메시지를 챗봇 시스템 서버(110)로 전송할 수 있는데, 클라이언트 단말(100)은 대화형 메시지 전송의 개시를 위해서 챗봇 시스템 서버(110)로 접속 요청을 전송할 수 있다.First, the client terminal 100 may transmit an interactive message to the chatbot system server 110 after the initial registration process described above is completed, and the client terminal 100 may transmit a chatbot system server ( 110 may transmit a connection request.

이때, 인증 정보 요청부(120)는 클라이언트 단말(100)로부터 챗봇 시스템 서버(110)로의 대화형 메시지의 전송을 위한 접속 요청이 수신되면, 클라이언트 단말(100)에 대해 클라이언트 단말(100)의 기기 고유 식별정보와 클라이언트 단말(100)의 상기 개인키 저장소 상에 저장되어 있는 상기 제1 해시 값의 전송을 요청한다.At this time, the authentication information requesting unit 120 receives a connection request for transmitting an interactive message from the client terminal 100 to the chatbot system server 110, the device of the client terminal 100 with respect to the client terminal 100. Request for transmission of the unique identification information and the first hash value stored on the private key storage of the client terminal 100.

이때, 클라이언트 단말(100)은 상기 기기 고유 식별정보로 상기 제1 식별정보를 생성하고, 상기 개인키 저장소 상에 저장되어 있는 상기 제1 해시 값을 추출한 후 챗봇 시스템 서버(110)로 상기 제1 식별정보와 상기 제1 해시 값을 전송할 수 있다.At this time, the client terminal 100 generates the first identification information using the device unique identification information, extracts the first hash value stored on the private key storage, and then sends the first to the chatbot system server 110. The identification information and the first hash value may be transmitted.

인증 정보 추출부(121)는 클라이언트 단말(100)로부터 클라이언트 단말(100)의 기기 고유 식별정보인 상기 제1 식별정보와 함께 상기 제1 해시 값이 수신되면, 상기 데이터베이스로부터 상기 제1 해시 값에 대응되어 저장되어 있는 상기 랜덤 값과 상기 시드 값을 추출한다.The authentication information extractor 121 receives the first hash value from the database when the first hash value is received from the client terminal 100 together with the first identification information which is the device-specific identification information of the client terminal 100. The random value and the seed value stored correspondingly are extracted.

접속 처리부(122)는 상기 데이터베이스로부터 상기 랜덤 값과 상기 시드 값이 추출되면, 상기 데이터베이스에서 추출된 상기 랜덤 값과 클라이언트 단말(100)로부터 수신된 상기 제1 식별정보를 상기 제1 해시 함수에 입력으로 인가하여 검증용 해시 값을 생성한 후 클라이언트 단말(100)로부터 수신된 상기 제1 해시 값이 상기 검증용 해시 값과 일치하는 것으로 확인되는 경우, 상기 시드 값을 클라이언트 단말(100)로 전송하면서 클라이언트 단말(100)에 대해 대화형 메시지의 암호화 전송을 요청한다.When the random value and the seed value are extracted from the database, the connection processor 122 inputs the random value extracted from the database and the first identification information received from the client terminal 100 into the first hash function. After generating the hash value for verification by applying to verify that the first hash value received from the client terminal 100 matches the verification hash value, while transmitting the seed value to the client terminal 100 The client terminal 100 requests the encrypted transmission of the interactive message.

관련해서, 클라이언트 단말(100)로부터 수신된 상기 제1 해시 값은 클라이언트 단말(100)에 대한 최초 등록 과정에서 상기 랜덤 값과 상기 제1 식별정보가 상기 제1 해시 함수에 입력으로 인가되어 생성된 해시 값이기 때문에, 상기 검증용 해시 값과 상기 제1 해시 값이 서로 일치한다면, 클라이언트 단말(100)에 대한 상기 제1 식별정보에 변화가 없는 것으로 볼 수 있어서, 접속 처리부(122)는 클라이언트 단말(100)에 대한 인증을 완료한 후 클라이언트 단말(100)에 대해 클라이언트 단말(100) 내에 저장되어 있는 개인키의 복호화에 사용하기 위한 상기 시드 값을 전송할 수 있다.In this regard, the first hash value received from the client terminal 100 is generated by applying the random value and the first identification information as input to the first hash function during an initial registration process for the client terminal 100. Since it is a hash value, if the verification hash value and the first hash value coincide with each other, it can be regarded that there is no change in the first identification information for the client terminal 100, so that the connection processing unit 122 is the client terminal. After the authentication for the 100 is completed, the seed value for use in decrypting the private key stored in the client terminal 100 may be transmitted to the client terminal 100.

이때, 클라이언트 단말(100)은 챗봇 시스템 서버(110)로부터 상기 시드 값이 수신되면, 암호화 전송 요청에 대응해서 상기 제1 식별정보 및 상기 시드 값을 상기 제2 해시 함수에 입력으로 인가하여 상기 제2 해시 값을 생성하고, 상기 개인키 저장소 상에 암호화되어 저장되어 있는 상기 개인키를 상기 제2 해시 값으로 복호화할 수 있다.In this case, when the seed value is received from the chatbot system server 110, the client terminal 100 applies the first identification information and the seed value to the second hash function as an input in response to an encryption transmission request. A second hash value may be generated, and the private key stored in the private key storage may be decrypted into the second hash value.

그러고 나서, 클라이언트 단말(100)은 상기 사용자에 의해 상기 제1 대화형 메시지가 입력되면, 복호화된 상기 개인키를 기초로 상기 제1 대화형 메시지를 암호화하여 챗봇 시스템 서버(110)로 전송할 수 있다.Then, when the first interactive message is input by the user, the client terminal 100 may encrypt the first interactive message based on the decrypted private key and transmit the encrypted message to the chatbot system server 110. .

이때, 단어 추출부(112)는 클라이언트 단말(100)로부터 상기 제1 대화형 메시지가 수신되면, 상기 개인키에 대응하여 미리 발급되어 있는 공개키를 기초로 상기 제1 대화형 메시지에 대한 복호화를 수행한 후 상기 제1 대화형 메시지에 대해 형태소 분석을 수행하여 상기 제1 대화형 메시지로부터 상기 제1 대화형 메시지 상에 포함되어 있는 상기 복수의 제1 단어들을 추출할 수 있다.In this case, when the first interactive message is received from the client terminal 100, the word extractor 112 decrypts the first interactive message based on a public key previously issued corresponding to the private key. After performing the morphological analysis on the first interactive message, the plurality of first words included in the first interactive message may be extracted from the first interactive message.

도 2는 본 발명의 일실시예에 따른 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇 시스템 서버의 동작 방법을 도시한 순서도이다.2 is a flowchart illustrating a method of operating a chatbot system server capable of executing an event based on interactive messaging according to an embodiment of the present invention.

단계(S210)에서는 미리 정해진 서로 다른 복수의 단어 그룹들 - 상기 복수의 단어 그룹들 각각은 둘 이상의 서로 다른 단어들로 구성된 그룹을 의미함 - 과 상기 복수의 단어 그룹들 각각에 대응하는 서로 다른 이벤트 실행 명령이 저장되어 있는 이벤트 실행 명령 저장부를 유지한다.In operation S210, a plurality of predetermined different word groups, each of which refers to a group consisting of two or more different words, and different events corresponding to each of the plurality of word groups Maintains an event execution command storage unit where execution commands are stored.

단계(S220)에서는 사용자의 클라이언트 단말로부터 상기 클라이언트 단말 상에 설치되어 있는 대화형 메시징 애플리케이션을 통해 제1 대화형 메시지가 수신되면, 상기 제1 대화형 메시지에 대해 형태소 분석을 수행하여 상기 제1 대화형 메시지로부터 상기 제1 대화형 메시지 상에 포함되어 있는 복수의 제1 단어들을 추출한다.In operation S220, when a first interactive message is received from a user's client terminal through an interactive messaging application installed on the client terminal, stemming is performed on the first interactive message to perform the first conversation. Extracting a plurality of first words included in the first interactive message from the type message.

단계(S230)에서는 상기 이벤트 실행 명령 저장부를 참조하여 상기 복수의 단어 그룹들 중 상기 복수의 제1 단어들과 동일한 단어를 그룹 내에 최대로 포함하고 있는 제1 단어 그룹을 확인하고, 상기 이벤트 실행 명령 저장부로부터 상기 제1 단어 그룹에 대응되어 저장되어 있는 제1 이벤트 실행 명령을 추출한다.In operation S230, the first word group including the same word as the plurality of first words among the plurality of word groups may be included in the group with reference to the event execution command storage unit, and the event execution command may be performed. The first event execution command stored in correspondence with the first word group is extracted from the storage.

단계(S240)에서는 상기 제1 이벤트 실행 명령을 실행하여 상기 챗봇 시스템 서버에서 상기 제1 이벤트 실행 명령에 따른 이벤트를 실행한다.In operation S240, the chatbot system server executes an event according to the first event execution command by executing the first event execution command.

단계(S250)에서는 상기 제1 이벤트 실행 명령의 실행 결과를 알리는 결과 보고 메시지를 생성하여 상기 클라이언트 단말로 전송함으로써, 상기 클라이언트 단말이 상기 대화형 메시징 애플리케이션을 통해 상기 결과 보고 메시지를 화면 상에 표시하도록 제어한다.In step S250, a result report message indicating an execution result of the first event execution command is generated and transmitted to the client terminal, so that the client terminal displays the result report message on the screen through the interactive messaging application. To control.

이때, 상기 클라이언트 단말은 상기 챗봇 시스템 서버로 전송되는 대화형 메시지들을 저장하기 위한 히스토리 저장소를 구비하고 있고, 상기 제1 대화형 메시지가 상기 챗봇 시스템 서버로 전송되면, 상기 히스토리 저장소 상에 상기 제1 대화형 메시지를 저장할 수 있다.In this case, the client terminal includes a history storage for storing interactive messages transmitted to the chatbot system server, and when the first interactive message is transmitted to the chatbot system server, the first storage message is transmitted to the chatbot system server. You can save interactive messages.

또한, 본 발명의 일실시예에 따르면, 상기 클라이언트 단말은 상기 사용자에 의해 상기 히스토리 저장소 상에 저장되어 있는 대화형 메시지들 중 어느 하나의 대화형 메시지에 대한 상기 챗봇 시스템 서버로의 선택 전송 명령이 인가되면, 상기 대화형 메시징 애플리케이션을 통해 상기 히스토리 저장소로부터 상기 어느 하나의 대화형 메시지를 선택 추출하여 상기 챗봇 시스템 서버로 전송할 수 있다.In addition, according to an embodiment of the present invention, the client terminal has a selection transmission command to the chatbot system server for any one of the interactive messages stored on the history store by the user When authorized, the one or more interactive messages may be selected and extracted from the history store through the interactive messaging application and transmitted to the chatbot system server.

또한, 본 발명의 일실시예에 따르면, 상기 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇 시스템 서버의 동작 방법은 상기 클라이언트 단말로부터 상기 챗봇 시스템 서버로의 대화형 메시지의 전송이 가능하도록 하기 위한 최초 등록 요청이 수신되는 경우, 상기 클라이언트 단말에 대해 상기 클라이언트 단말의 기기 고유 식별정보의 전송을 요청하는 단계, 상기 클라이언트 단말로부터 상기 클라이언트 단말의 기기 고유 식별정보로 제1 식별정보가 수신되면, 랜덤 값을 생성하고, 상기 랜덤 값과 상기 제1 식별정보를 미리 정해진 제1 해시 함수에 입력으로 인가하여 제1 해시 값을 생성하는 단계, 암호화키를 생성하기 위한 시드 값을 랜덤하게 생성하고, 데이터베이스 상에 상기 제1 해시 값과 함께 상기 제1 해시 값에 대응되도록 상기 랜덤 값 및 상기 시드 값을 저장하는 단계 및 상기 제1 해시 값과 상기 시드 값을 상기 클라이언트 단말로 전송하고, 상기 클라이언트 단말에 대한 최초 등록 과정을 완료 처리하는 단계를 더 포함할 수 있다.In addition, according to an embodiment of the present invention, a method of operating a chatbot system server capable of executing an interactive messaging-based event may be initially registered to enable an interactive message transmission from the client terminal to the chatbot system server. When the request is received, requesting the client terminal to transmit the device specific identification information of the client terminal, if the first identification information is received from the client terminal as the device unique identification information of the client terminal, a random value Generating a first hash value by applying the random value and the first identification information to a predetermined first hash function, randomly generating a seed value for generating an encryption key, The random value and an image to correspond to the first hash value together with the first hash value The method may further include storing a seed value and transmitting the first hash value and the seed value to the client terminal, and completing an initial registration process for the client terminal.

이때, 본 발명의 일실시예에 따르면, 상기 클라이언트 단말은 상기 챗봇 시스템 서버로부터 상기 제1 해시 값과 상기 시드 값이 수신되면, 상기 제1 식별정보 및 상기 시드 값을 미리 정해진 제2 해시 함수에 입력으로 인가하여 제2 해시 값을 생성하고, 상기 클라이언트 단말의 개인키 저장소 상에 미리 발급되어 저장되어 있는 개인키를 상기 제2 해시 값으로 암호화한 후 상기 개인키 저장소 상에 상기 제1 해시 값과 함께 상기 암호화된 개인키를 저장할 수 있다.In this case, according to an embodiment of the present invention, when the first hash value and the seed value are received from the chatbot system server, the client terminal assigns the first identification information and the seed value to a second predetermined hash function. Generates a second hash value by applying as an input, encrypts the private key previously issued and stored on the private key store of the client terminal with the second hash value, and then stores the first hash value on the private key store. Together with the encrypted private key.

이때, 본 발명의 일실시예에 따르면, 상기 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇 시스템 서버의 동작 방법은 상기 클라이언트 단말에 대한 최초 등록 과정이 완료된 이후, 상기 클라이언트 단말로부터 상기 챗봇 시스템 서버로의 대화형 메시지의 전송을 위한 접속 요청이 수신되면, 상기 클라이언트 단말에 대해 상기 클라이언트 단말의 기기 고유 식별정보와 상기 클라이언트 단말의 상기 개인키 저장소 상에 저장되어 있는 상기 제1 해시 값의 전송을 요청하는 단계, 상기 클라이언트 단말로부터 상기 클라이언트 단말의 기기 고유 식별정보인 상기 제1 식별정보와 함께 상기 제1 해시 값이 수신되면, 상기 데이터베이스로부터 상기 제1 해시 값에 대응되어 저장되어 있는 상기 랜덤 값과 상기 시드 값을 추출하는 단계 및 상기 데이터베이스로부터 상기 랜덤 값과 상기 시드 값이 추출되면, 상기 데이터베이스에서 추출된 상기 랜덤 값과 상기 클라이언트 단말로부터 수신된 상기 제1 식별정보를 상기 제1 해시 함수에 입력으로 인가하여 검증용 해시 값을 생성한 후 상기 클라이언트 단말로부터 수신된 상기 제1 해시 값이 상기 검증용 해시 값과 일치하는 것으로 확인되는 경우, 상기 시드 값을 상기 클라이언트 단말로 전송하면서 상기 클라이언트 단말에 대해 대화형 메시지의 암호화 전송을 요청하는 단계를 더 포함할 수 있다.In this case, according to an embodiment of the present invention, the method of operating the chatbot system server capable of executing the interactive messaging-based event may be performed from the client terminal to the chatbot system server after the initial registration process for the client terminal is completed. When a connection request for the transmission of an interactive message is received, requesting the client terminal to transmit device unique identification information of the client terminal and the first hash value stored on the private key storage of the client terminal. In response to the first hash value being received from the client terminal together with the first identification information which is the device-specific identification information of the client terminal, the random value and the random value are stored corresponding to the first hash value from the database. Extracting a seed value and the database When the random value and the seed value is extracted from, by applying the random value extracted from the database and the first identification information received from the client terminal to the first hash function to generate a hash value for verification If it is confirmed that the first hash value received from the client terminal matches the verification hash value, requesting the encrypted transmission of an interactive message to the client terminal while transmitting the seed value to the client terminal. It may further comprise a step.

이때, 상기 클라이언트 단말은 상기 시드 값이 수신되면, 암호화 전송 요청에 대응해서 상기 제1 식별정보 및 상기 시드 값을 상기 제2 해시 함수에 입력으로 인가하여 상기 제2 해시 값을 생성하고, 상기 개인키 저장소 상에 암호화되어 저장되어 있는 상기 개인키를 상기 제2 해시 값으로 복호화한 후 상기 사용자에 의해 상기 제1 대화형 메시지가 입력되면, 복호화된 상기 개인키를 기초로 상기 제1 대화형 메시지를 암호화하여 상기 챗봇 시스템 서버로 전송할 수 있다.In this case, when the seed value is received, the client terminal generates the second hash value by applying the first identification information and the seed value as input to the second hash function in response to an encryption transmission request. When the first interactive message is input by the user after decrypting the private key encrypted and stored on the key store into the second hash value, the first interactive message is based on the decrypted private key. It can be encrypted and transmitted to the chatbot system server.

그리고, 단계(S220)에서는 상기 클라이언트 단말로부터 상기 제1 대화형 메시지가 수신되면, 상기 개인키에 대응하여 미리 발급되어 있는 공개키를 기초로 상기 제1 대화형 메시지에 대한 복호화를 수행한 후 상기 제1 대화형 메시지에 대해 형태소 분석을 수행하여 상기 제1 대화형 메시지로부터 상기 제1 대화형 메시지 상에 포함되어 있는 상기 복수의 제1 단어들을 추출할 수 있다.In operation S220, when the first interactive message is received from the client terminal, the first interactive message is decrypted based on a public key previously issued corresponding to the private key. Stemming may be performed on the first interactive message to extract the plurality of first words included in the first interactive message from the first interactive message.

이상, 도 2를 참조하여 본 발명의 일실시예에 따른 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇 시스템 서버의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇 시스템 서버의 동작 방법은 도 1을 이용하여 설명한 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇 시스템 서버(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.The operation method of the chatbot system server capable of executing an event based on interactive messaging according to an embodiment of the present invention has been described above with reference to FIG. 2. Here, the operation method of the chatbot system server capable of executing an event based on interactive messaging according to an embodiment of the present invention is based on the operation of the chatbot system server 110 capable of executing an event based on the interactive messaging described with reference to FIG. 1. Since it may correspond to the configuration for a more detailed description thereof will be omitted.

본 발명의 일실시예에 따른 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇 시스템 서버의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.An operation method of a chatbot system server capable of executing an event based on interactive messaging according to an embodiment of the present invention may be implemented as a computer program stored in a storage medium for execution through a combination with a computer.

또한, 본 발명의 일실시예에 따른 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇 시스템 서버의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. In addition, a method of operating a chatbot system server capable of executing an event based on interactive messaging according to an embodiment of the present invention may be implemented in a program instruction form that can be executed by various computer means and recorded in a computer readable medium. . The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. In the present invention as described above has been described by the specific embodiments, such as specific components and limited embodiments and drawings, but this is provided to help a more general understanding of the present invention, the present invention is not limited to the above embodiments. For those skilled in the art, various modifications and variations are possible from these descriptions.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be limited to the described embodiments, and all of the equivalents and equivalents of the claims, as well as the appended claims, will fall within the scope of the present invention. .

110: 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇 시스템 서버
111: 이벤트 실행 명령 저장부 112: 단어 추출부
113: 이벤트 실행 명령 추출부 114: 이벤트 실행 명령 실행부
115: 결과 보고 메시지 전송부 116: 고유 정보 요청부
117: 해시 값 생성부 118: 저장 처리부
119: 등록 정보 전송부 120: 인증 정보 요청부
121: 인증 정보 추출부 122: 접속 처리부
100: 클라이언트 단말
110: Chatbot system server capable of executing events based on interactive messaging
111: event execution command storage unit 112: word extraction unit
113: event execution command extractor 114: event execution command execution
115: result report message transmission unit 116: unique information request unit
117: hash value generation unit 118: storage processing unit
119: registration information transmission unit 120: authentication information request unit
121: Authentication information extraction unit 122: Connection processing unit
100: client terminal

Claims (12)

대화형 메시징 기반의 이벤트 실행이 가능한 챗봇(chatbot) 시스템 서버에 있어서,
미리 정해진 서로 다른 복수의 단어 그룹들 - 상기 복수의 단어 그룹들 각각은 둘 이상의 서로 다른 단어들로 구성된 그룹을 의미함 - 과 상기 복수의 단어 그룹들 각각에 대응하는 서로 다른 이벤트 실행 명령이 저장되어 있는 이벤트 실행 명령 저장부;
사용자의 클라이언트 단말로부터 상기 클라이언트 단말 상에 설치되어 있는 대화형 메시징 애플리케이션을 통해 제1 대화형 메시지가 수신되면, 상기 제1 대화형 메시지에 대해 형태소 분석을 수행하여 상기 제1 대화형 메시지로부터 상기 제1 대화형 메시지 상에 포함되어 있는 복수의 제1 단어들을 추출하는 단어 추출부;
상기 이벤트 실행 명령 저장부를 참조하여 상기 복수의 단어 그룹들 중 상기 복수의 제1 단어들과 동일한 단어를 그룹 내에 최대로 포함하고 있는 제1 단어 그룹을 확인하고, 상기 이벤트 실행 명령 저장부로부터 상기 제1 단어 그룹에 대응되어 저장되어 있는 제1 이벤트 실행 명령을 추출하는 이벤트 실행 명령 추출부;
상기 제1 이벤트 실행 명령을 실행하여 상기 챗봇 시스템 서버에서 상기 제1 이벤트 실행 명령에 따른 이벤트를 실행하는 이벤트 실행 명령 실행부; 및
상기 제1 이벤트 실행 명령의 실행 결과를 알리는 결과 보고 메시지를 생성하여 상기 클라이언트 단말로 전송함으로써, 상기 클라이언트 단말이 상기 대화형 메시징 애플리케이션을 통해 상기 결과 보고 메시지를 화면 상에 표시하도록 제어하는 결과 보고 메시지 전송부
를 포함하고,
상기 클라이언트 단말은
상기 챗봇 시스템 서버로 전송되는 대화형 메시지들을 저장하기 위한 히스토리 저장소를 구비하고 있고, 상기 제1 대화형 메시지가 상기 챗봇 시스템 서버로 전송되면, 상기 히스토리 저장소 상에 상기 제1 대화형 메시지를 저장하며,
상기 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇 시스템 서버는
상기 클라이언트 단말로부터 상기 챗봇 시스템 서버로의 대화형 메시지의 전송이 가능하도록 하기 위한 최초 등록 요청이 수신되는 경우, 상기 클라이언트 단말에 대해 상기 클라이언트 단말의 기기 고유 식별정보의 전송을 요청하는 고유 정보 요청부;
상기 클라이언트 단말로부터 상기 클라이언트 단말의 기기 고유 식별정보로 제1 식별정보가 수신되면, 랜덤 값을 생성하고, 상기 랜덤 값과 상기 제1 식별정보를 미리 정해진 제1 해시 함수에 입력으로 인가하여 제1 해시 값을 생성하는 해시 값 생성부;
암호화키를 생성하기 위한 시드(seed) 값을 랜덤하게 생성하고, 데이터베이스 상에 상기 제1 해시 값과 함께 상기 제1 해시 값에 대응되도록 상기 랜덤 값 및 상기 시드 값을 저장하는 저장 처리부; 및
상기 제1 해시 값과 상기 시드 값을 상기 클라이언트 단말로 전송하고, 상기 클라이언트 단말에 대한 최초 등록 과정을 완료 처리하는 등록 정보 전송부
를 더 포함하고,
상기 클라이언트 단말은
상기 챗봇 시스템 서버로부터 상기 제1 해시 값과 상기 시드 값이 수신되면, 상기 제1 식별정보 및 상기 시드 값을 미리 정해진 제2 해시 함수에 입력으로 인가하여 제2 해시 값을 생성하고, 상기 클라이언트 단말의 개인키 저장소 상에 미리 발급되어 저장되어 있는 개인키를 상기 제2 해시 값으로 암호화한 후 상기 개인키 저장소 상에 상기 제1 해시 값과 함께 상기 암호화된 개인키를 저장하고,
상기 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇 시스템 서버는
상기 클라이언트 단말에 대한 최초 등록 과정이 완료된 이후, 상기 클라이언트 단말로부터 상기 챗봇 시스템 서버로의 대화형 메시지의 전송을 위한 접속 요청이 수신되면, 상기 클라이언트 단말에 대해 상기 클라이언트 단말의 기기 고유 식별정보와 상기 클라이언트 단말의 상기 개인키 저장소 상에 저장되어 있는 상기 제1 해시 값의 전송을 요청하는 인증 정보 요청부;
상기 클라이언트 단말로부터 상기 클라이언트 단말의 기기 고유 식별정보인 상기 제1 식별정보와 함께 상기 제1 해시 값이 수신되면, 상기 데이터베이스로부터 상기 제1 해시 값에 대응되어 저장되어 있는 상기 랜덤 값과 상기 시드 값을 추출하는 인증 정보 추출부; 및
상기 데이터베이스로부터 상기 랜덤 값과 상기 시드 값이 추출되면, 상기 데이터베이스에서 추출된 상기 랜덤 값과 상기 클라이언트 단말로부터 수신된 상기 제1 식별정보를 상기 제1 해시 함수에 입력으로 인가하여 검증용 해시 값을 생성한 후 상기 클라이언트 단말로부터 수신된 상기 제1 해시 값이 상기 검증용 해시 값과 일치하는 것으로 확인되는 경우, 상기 시드 값을 상기 클라이언트 단말로 전송하면서 상기 클라이언트 단말에 대해 대화형 메시지의 암호화 전송을 요청하는 접속 처리부
를 더 포함하고,
상기 클라이언트 단말은
상기 시드 값이 수신되면, 암호화 전송 요청에 대응해서 상기 제1 식별정보 및 상기 시드 값을 상기 제2 해시 함수에 입력으로 인가하여 상기 제2 해시 값을 생성하고, 상기 개인키 저장소 상에 암호화되어 저장되어 있는 상기 개인키를 상기 제2 해시 값으로 복호화한 후 상기 사용자에 의해 상기 제1 대화형 메시지가 입력되면, 복호화된 상기 개인키를 기초로 상기 제1 대화형 메시지를 암호화하여 상기 챗봇 시스템 서버로 전송하며,
상기 단어 추출부는
상기 클라이언트 단말로부터 상기 제1 대화형 메시지가 수신되면, 상기 개인키에 대응하여 미리 발급되어 있는 공개키를 기초로 상기 제1 대화형 메시지에 대한 복호화를 수행한 후 상기 제1 대화형 메시지에 대해 형태소 분석을 수행하여 상기 제1 대화형 메시지로부터 상기 제1 대화형 메시지 상에 포함되어 있는 상기 복수의 제1 단어들을 추출하는 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇 시스템 서버.
In a chatbot system server capable of executing an event based on interactive messaging,
A plurality of predetermined different word groups, each of which refers to a group consisting of two or more different words, and different event execution commands corresponding to each of the plurality of word groups An event execution command storage unit;
When a first interactive message is received from a user's client terminal through an interactive messaging application installed on the client terminal, stemming is performed on the first interactive message and the first interactive message is received from the first interactive message. A word extracting unit extracting a plurality of first words included in one interactive message;
The first word group including a maximum of the same words as the plurality of first words among the plurality of word groups in the group is referred to by referring to the event execution command storage unit. An event execution command extracting unit configured to extract a first event execution command stored corresponding to one word group;
An event execution command execution unit executing the first event execution command to execute an event according to the first event execution command in the chatbot system server; And
By generating a result report message informing the execution result of the first event execution command to the client terminal, a result report message for controlling the client terminal to display the result report message on the screen through the interactive messaging application Transmission
Including,
The client terminal
A history storage for storing interactive messages sent to the chatbot system server, and when the first interactive message is sent to the chatbot system server, storing the first interactive message on the history repository; ,
The chatbot system server capable of executing the event based on the interactive messaging
A unique information request unit for requesting transmission of device specific identification information of the client terminal to the client terminal when an initial registration request for enabling the transmission of an interactive message from the client terminal to the chatbot system server is received. ;
When the first identification information is received from the client terminal as the device-specific identification information of the client terminal, a random value is generated, and the random value and the first identification information are input to the predetermined first hash function as an input. A hash value generator for generating a hash value;
A storage processor for randomly generating a seed value for generating an encryption key and storing the random value and the seed value to correspond to the first hash value together with the first hash value in a database; And
The registration information transmission unit for transmitting the first hash value and the seed value to the client terminal, and completes the initial registration process for the client terminal
More,
The client terminal
When the first hash value and the seed value are received from the chatbot system server, the first identification information and the seed value are input to a predetermined second hash function to generate a second hash value, and the client terminal. Encrypting the private key previously issued and stored on the private key storage of the second hash value, and storing the encrypted private key together with the first hash value on the private key storage;
The chatbot system server capable of executing the event based on the interactive messaging
After the initial registration process for the client terminal is completed, if a connection request for the transmission of an interactive message from the client terminal to the chatbot system server is received, device-specific identification information of the client terminal and the An authentication information request unit requesting transmission of the first hash value stored on the private key storage of the client terminal;
When the first hash value is received from the client terminal together with the first identification information which is the device-specific identification information of the client terminal, the random value and the seed value stored in correspondence with the first hash value from the database. Authentication information extraction unit for extracting; And
When the random value and the seed value are extracted from the database, the random value extracted from the database and the first identification information received from the client terminal are applied as inputs to the first hash function to generate a verification hash value. After generating and confirming that the first hash value received from the client terminal coincides with the verification hash value, transmitting the seed value to the client terminal while transmitting encrypted transmission of an interactive message to the client terminal. Request connection processing unit
More,
The client terminal
When the seed value is received, in response to an encryption transmission request, the first identification information and the seed value are input to the second hash function to generate the second hash value, and encrypted on the private key store. When the first interactive message is input by the user after decrypting the stored private key with the second hash value, the chatbot system encrypts the first interactive message based on the decrypted private key. To the server,
The word extracting unit
When the first interactive message is received from the client terminal, the first interactive message is decrypted based on a public key previously issued corresponding to the private key, and then the first interactive message is decrypted. A chatbot system server capable of executing an event based on an interactive messaging that performs morphological analysis to extract the plurality of first words included in the first interactive message from the first interactive message.
제1항에 있어서,
상기 클라이언트 단말은
상기 사용자에 의해 상기 히스토리 저장소 상에 저장되어 있는 대화형 메시지들 중 어느 하나의 대화형 메시지에 대한 상기 챗봇 시스템 서버로의 선택 전송 명령이 인가되면, 상기 대화형 메시징 애플리케이션을 통해 상기 히스토리 저장소로부터 상기 어느 하나의 대화형 메시지를 선택 추출하여 상기 챗봇 시스템 서버로 전송하는 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇 시스템 서버.
The method of claim 1,
The client terminal
If the user is authorized to send a selection transfer command to the chatbot system server for any one of the interactive messages stored on the history store by the user, the history message from the history store through the interactive messaging application. A chatbot system server capable of executing an event based on interactive messaging that selects and extracts one interactive message and transmits the selected interactive message to the chatbot system server.
삭제delete 삭제delete 삭제delete 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇(chatbot) 시스템 서버의 동작 방법에 있어서,
미리 정해진 서로 다른 복수의 단어 그룹들 - 상기 복수의 단어 그룹들 각각은 둘 이상의 서로 다른 단어들로 구성된 그룹을 의미함 - 과 상기 복수의 단어 그룹들 각각에 대응하는 서로 다른 이벤트 실행 명령이 저장되어 있는 이벤트 실행 명령 저장부를 유지하는 단계;
사용자의 클라이언트 단말로부터 상기 클라이언트 단말 상에 설치되어 있는 대화형 메시징 애플리케이션을 통해 제1 대화형 메시지가 수신되면, 상기 제1 대화형 메시지에 대해 형태소 분석을 수행하여 상기 제1 대화형 메시지로부터 상기 제1 대화형 메시지 상에 포함되어 있는 복수의 제1 단어들을 추출하는 단계;
상기 이벤트 실행 명령 저장부를 참조하여 상기 복수의 단어 그룹들 중 상기 복수의 제1 단어들과 동일한 단어를 그룹 내에 최대로 포함하고 있는 제1 단어 그룹을 확인하고, 상기 이벤트 실행 명령 저장부로부터 상기 제1 단어 그룹에 대응되어 저장되어 있는 제1 이벤트 실행 명령을 추출하는 단계;
상기 제1 이벤트 실행 명령을 실행하여 상기 챗봇 시스템 서버에서 상기 제1 이벤트 실행 명령에 따른 이벤트를 실행하는 단계; 및
상기 제1 이벤트 실행 명령의 실행 결과를 알리는 결과 보고 메시지를 생성하여 상기 클라이언트 단말로 전송함으로써, 상기 클라이언트 단말이 상기 대화형 메시징 애플리케이션을 통해 상기 결과 보고 메시지를 화면 상에 표시하도록 제어하는 단계
를 포함하고,
상기 클라이언트 단말은
상기 챗봇 시스템 서버로 전송되는 대화형 메시지들을 저장하기 위한 히스토리 저장소를 구비하고 있고, 상기 제1 대화형 메시지가 상기 챗봇 시스템 서버로 전송되면, 상기 히스토리 저장소 상에 상기 제1 대화형 메시지를 저장하며,
상기 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇 시스템 서버의 동작 방법은
상기 클라이언트 단말로부터 상기 챗봇 시스템 서버로의 대화형 메시지의 전송이 가능하도록 하기 위한 최초 등록 요청이 수신되는 경우, 상기 클라이언트 단말에 대해 상기 클라이언트 단말의 기기 고유 식별정보의 전송을 요청하는 단계;
상기 클라이언트 단말로부터 상기 클라이언트 단말의 기기 고유 식별정보로 제1 식별정보가 수신되면, 랜덤 값을 생성하고, 상기 랜덤 값과 상기 제1 식별정보를 미리 정해진 제1 해시 함수에 입력으로 인가하여 제1 해시 값을 생성하는 단계;
암호화키를 생성하기 위한 시드(seed) 값을 랜덤하게 생성하고, 데이터베이스 상에 상기 제1 해시 값과 함께 상기 제1 해시 값에 대응되도록 상기 랜덤 값 및 상기 시드 값을 저장하는 단계; 및
상기 제1 해시 값과 상기 시드 값을 상기 클라이언트 단말로 전송하고, 상기 클라이언트 단말에 대한 최초 등록 과정을 완료 처리하는 단계
를 더 포함하고,
상기 클라이언트 단말은
상기 챗봇 시스템 서버로부터 상기 제1 해시 값과 상기 시드 값이 수신되면, 상기 제1 식별정보 및 상기 시드 값을 미리 정해진 제2 해시 함수에 입력으로 인가하여 제2 해시 값을 생성하고, 상기 클라이언트 단말의 개인키 저장소 상에 미리 발급되어 저장되어 있는 개인키를 상기 제2 해시 값으로 암호화한 후 상기 개인키 저장소 상에 상기 제1 해시 값과 함께 상기 암호화된 개인키를 저장하고,
상기 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇 시스템 서버의 동작 방법은
상기 클라이언트 단말에 대한 최초 등록 과정이 완료된 이후, 상기 클라이언트 단말로부터 상기 챗봇 시스템 서버로의 대화형 메시지의 전송을 위한 접속 요청이 수신되면, 상기 클라이언트 단말에 대해 상기 클라이언트 단말의 기기 고유 식별정보와 상기 클라이언트 단말의 상기 개인키 저장소 상에 저장되어 있는 상기 제1 해시 값의 전송을 요청하는 단계;
상기 클라이언트 단말로부터 상기 클라이언트 단말의 기기 고유 식별정보인 상기 제1 식별정보와 함께 상기 제1 해시 값이 수신되면, 상기 데이터베이스로부터 상기 제1 해시 값에 대응되어 저장되어 있는 상기 랜덤 값과 상기 시드 값을 추출하는 단계; 및
상기 데이터베이스로부터 상기 랜덤 값과 상기 시드 값이 추출되면, 상기 데이터베이스에서 추출된 상기 랜덤 값과 상기 클라이언트 단말로부터 수신된 상기 제1 식별정보를 상기 제1 해시 함수에 입력으로 인가하여 검증용 해시 값을 생성한 후 상기 클라이언트 단말로부터 수신된 상기 제1 해시 값이 상기 검증용 해시 값과 일치하는 것으로 확인되는 경우, 상기 시드 값을 상기 클라이언트 단말로 전송하면서 상기 클라이언트 단말에 대해 대화형 메시지의 암호화 전송을 요청하는 단계
를 더 포함하고,
상기 클라이언트 단말은
상기 시드 값이 수신되면, 암호화 전송 요청에 대응해서 상기 제1 식별정보 및 상기 시드 값을 상기 제2 해시 함수에 입력으로 인가하여 상기 제2 해시 값을 생성하고, 상기 개인키 저장소 상에 암호화되어 저장되어 있는 상기 개인키를 상기 제2 해시 값으로 복호화한 후 상기 사용자에 의해 상기 제1 대화형 메시지가 입력되면, 복호화된 상기 개인키를 기초로 상기 제1 대화형 메시지를 암호화하여 상기 챗봇 시스템 서버로 전송하며,
상기 복수의 제1 단어들을 추출하는 단계는
상기 클라이언트 단말로부터 상기 제1 대화형 메시지가 수신되면, 상기 개인키에 대응하여 미리 발급되어 있는 공개키를 기초로 상기 제1 대화형 메시지에 대한 복호화를 수행한 후 상기 제1 대화형 메시지에 대해 형태소 분석을 수행하여 상기 제1 대화형 메시지로부터 상기 제1 대화형 메시지 상에 포함되어 있는 상기 복수의 제1 단어들을 추출하는 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇 시스템 서버의 동작 방법.
In the method of operating a chatbot system server capable of executing an event based on interactive messaging,
A plurality of predetermined different word groups, each of which refers to a group consisting of two or more different words, and different event execution commands corresponding to each of the plurality of word groups Maintaining an event execution instruction storage unit;
When a first interactive message is received from a user's client terminal through an interactive messaging application installed on the client terminal, stemming is performed on the first interactive message and the first interactive message is received from the first interactive message. Extracting a plurality of first words included in the first interactive message;
The first word group including a maximum of the same words as the plurality of first words among the plurality of word groups in the group is referred to by referring to the event execution command storage unit. Extracting a first event execution command stored corresponding to the first word group;
Executing an event according to the first event execution command in the chatbot system server by executing the first event execution command; And
Generating a result report message indicating an execution result of the first event execution command and transmitting the result report message to the client terminal, thereby controlling the client terminal to display the result report message on the screen through the interactive messaging application;
Including,
The client terminal
A history storage for storing interactive messages sent to the chatbot system server, and when the first interactive message is sent to the chatbot system server, storing the first interactive message on the history repository; ,
The operation method of the chatbot system server capable of executing the event based on the interactive messaging
Requesting transmission of device-specific identification information of the client terminal to the client terminal when an initial registration request for enabling the transmission of an interactive message from the client terminal to the chatbot system server is received;
When the first identification information is received from the client terminal as the device-specific identification information of the client terminal, a random value is generated, and the random value and the first identification information are input to the predetermined first hash function as an input. Generating a hash value;
Randomly generating a seed value for generating an encryption key and storing the random value and the seed value in a database to correspond to the first hash value along with the first hash value; And
Transmitting the first hash value and the seed value to the client terminal, and completing an initial registration process for the client terminal.
More,
The client terminal
When the first hash value and the seed value are received from the chatbot system server, the first identification information and the seed value are input to a predetermined second hash function to generate a second hash value, and the client terminal. Encrypting the private key previously issued and stored on the private key storage of the second hash value, and storing the encrypted private key together with the first hash value on the private key storage;
The operation method of the chatbot system server capable of executing the event based on the interactive messaging
After the initial registration process for the client terminal is completed, if a connection request for the transmission of an interactive message from the client terminal to the chatbot system server is received, device-specific identification information of the client terminal and the Requesting transmission of the first hash value stored on the private key store of a client terminal;
When the first hash value is received from the client terminal together with the first identification information which is the device-specific identification information of the client terminal, the random value and the seed value stored in correspondence with the first hash value from the database. Extracting the; And
When the random value and the seed value are extracted from the database, the random value extracted from the database and the first identification information received from the client terminal are applied as inputs to the first hash function to generate a verification hash value. After generating and confirming that the first hash value received from the client terminal coincides with the verification hash value, transmitting the seed value to the client terminal while transmitting encrypted transmission of an interactive message to the client terminal. Request step
More,
The client terminal
When the seed value is received, in response to an encryption transmission request, the first identification information and the seed value are input to the second hash function to generate the second hash value, and encrypted on the private key store. When the first interactive message is input by the user after decrypting the stored private key with the second hash value, the chatbot system encrypts the first interactive message based on the decrypted private key. To the server,
Extracting the plurality of first words may include
When the first interactive message is received from the client terminal, the first interactive message is decrypted based on a public key previously issued corresponding to the private key, and then the first interactive message is decrypted. A method of operating a chatbot system server capable of executing an event based on an interactive messaging that performs morphological analysis to extract the plurality of first words included in the first interactive message from the first interactive message.
제6항에 있어서,
상기 클라이언트 단말은
상기 사용자에 의해 상기 히스토리 저장소 상에 저장되어 있는 대화형 메시지들 중 어느 하나의 대화형 메시지에 대한 상기 챗봇 시스템 서버로의 선택 전송 명령이 인가되면, 상기 대화형 메시징 애플리케이션을 통해 상기 히스토리 저장소로부터 상기 어느 하나의 대화형 메시지를 선택 추출하여 상기 챗봇 시스템 서버로 전송하는 대화형 메시징 기반의 이벤트 실행이 가능한 챗봇 시스템 서버의 동작 방법.
The method of claim 6,
The client terminal
If the user is authorized to send a selection transfer command to the chatbot system server for any one of the interactive messages stored on the history store by the user, the history message from the history store through the interactive messaging application. A method of operating a chatbot system server capable of executing an event based on an interactive messaging for selecting and extracting one interactive message and transmitting the selected interactive message to the chatbot system server.
삭제delete 삭제delete 삭제delete 제6항 또는 제7항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium having recorded thereon a program for performing the method of claim 6. 제6항 또는 제7항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.A computer program stored in a storage medium for executing the method of any one of claims 6 or 7 in combination with a computer.
KR1020180096512A 2018-08-20 2018-08-20 Chatbot system server capable of executing events based on interactive messaging and operating method thereof KR102087287B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180096512A KR102087287B1 (en) 2018-08-20 2018-08-20 Chatbot system server capable of executing events based on interactive messaging and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180096512A KR102087287B1 (en) 2018-08-20 2018-08-20 Chatbot system server capable of executing events based on interactive messaging and operating method thereof

Publications (2)

Publication Number Publication Date
KR20200021136A KR20200021136A (en) 2020-02-28
KR102087287B1 true KR102087287B1 (en) 2020-03-10

Family

ID=69638235

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180096512A KR102087287B1 (en) 2018-08-20 2018-08-20 Chatbot system server capable of executing events based on interactive messaging and operating method thereof

Country Status (1)

Country Link
KR (1) KR102087287B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210143079A (en) 2020-05-19 2021-11-26 주식회사 인덴트코퍼레이션 Method and system for identifying the counterpart of the messenger to provide personalized service

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101776635B1 (en) * 2016-01-21 2017-09-11 주식회사 한컴시큐어 Apparatus for performing on behalf an electronic signature for client terminal and operating method thereof
KR101858206B1 (en) * 2017-12-07 2018-05-15 디비손해보험 주식회사 Method for providing conversational administration service of chatbot based on artificial intelligence

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160132709A (en) * 2015-05-11 2016-11-21 주식회사 카카오 Method for storing chatting message and user device andserver for performing the method
KR101759136B1 (en) * 2015-11-17 2017-07-31 현대자동차주식회사 Method and apparatus for providing security service for vehicle dedicated data channel in linking between vehicle head unit and external device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101776635B1 (en) * 2016-01-21 2017-09-11 주식회사 한컴시큐어 Apparatus for performing on behalf an electronic signature for client terminal and operating method thereof
KR101858206B1 (en) * 2017-12-07 2018-05-15 디비손해보험 주식회사 Method for providing conversational administration service of chatbot based on artificial intelligence

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210143079A (en) 2020-05-19 2021-11-26 주식회사 인덴트코퍼레이션 Method and system for identifying the counterpart of the messenger to provide personalized service
KR20230041679A (en) 2020-05-19 2023-03-24 주식회사 인덴트코퍼레이션 Method and system for personalized service of messenger

Also Published As

Publication number Publication date
KR20200021136A (en) 2020-02-28

Similar Documents

Publication Publication Date Title
US11050750B2 (en) Recording and verification method and apparatus of internet of things device, and identity authentication method and apparatus
US10412061B2 (en) Method and system for encrypted communications
US11343232B2 (en) Workstation log-in
CN107332808B (en) Cloud desktop authentication method, server and terminal
US9660985B2 (en) Service authorization using auxiliary device
US11539690B2 (en) Authentication system, authentication method, and application providing method
CN106575342B (en) Kernel program including relational database and the method and apparatus for performing described program
US9372987B1 (en) Apparatus and method for masking a real user controlling synthetic identities
KR102137122B1 (en) Security check method, device, terminal and server
US10637805B2 (en) Instant messaging method, server, and storage medium
US20220078614A1 (en) Customer Communication System
CN107040520B (en) Cloud computing data sharing system and method
CN105337967B (en) Realize that user logs in method, system and the central server of destination server
US9893891B2 (en) Identity verification using key pairs
EP3937040B1 (en) Systems and methods for securing login access
JP7422241B2 (en) Password recovery methods, systems, cloud servers and electronic devices
CN111327629A (en) Identity verification method, client and server
US20130305334A1 (en) Single sign-on for disparate servers
US10726102B2 (en) Method of and system for providing access to access restricted content to a user
KR102087287B1 (en) Chatbot system server capable of executing events based on interactive messaging and operating method thereof
US20220237595A1 (en) Cryptocurrency key management
CN109460647B (en) Multi-device secure login method
CN110399706A (en) Authorization and authentication method, device and computer system
KR102087285B1 (en) Chatbot system server capable of system control based on interactive messaging and operating method thereof
US10313315B2 (en) Ensuring information security in data transfers by utilizing proximity keys

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant