KR20190042337A - Interactive chatbot operation method and system based on natural language processing for activation of messenger group chat room - Google Patents

Interactive chatbot operation method and system based on natural language processing for activation of messenger group chat room Download PDF

Info

Publication number
KR20190042337A
KR20190042337A KR1020170134138A KR20170134138A KR20190042337A KR 20190042337 A KR20190042337 A KR 20190042337A KR 1020170134138 A KR1020170134138 A KR 1020170134138A KR 20170134138 A KR20170134138 A KR 20170134138A KR 20190042337 A KR20190042337 A KR 20190042337A
Authority
KR
South Korea
Prior art keywords
chat room
group chat
instance
interactive
chatbot
Prior art date
Application number
KR1020170134138A
Other languages
Korean (ko)
Other versions
KR102050244B1 (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 KR1020170134138A priority Critical patent/KR102050244B1/en
Publication of KR20190042337A publication Critical patent/KR20190042337A/en
Application granted granted Critical
Publication of KR102050244B1 publication Critical patent/KR102050244B1/en

Links

Images

Classifications

    • G06Q50/50
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/30Transportation; Communications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N99/00Subject matter not provided for in other groups of this subclass
    • 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/10Services

Abstract

Disclosed are a method and a system for operating an interactive chatbot based on natural language processing for activation of a messenger group chat room. The method is based on a messenger server operable in a smartphone or a desktop environment, and a bot server to provide an interactive chatbot instance based on natural language processing. The messenger server provides a group chat room including functions such as real-time chatting between a plurality of messenger clients and a schedule, a notification, and a vote in a chat room via an application. A messenger client can create a group chat room, and then generate an interactive chatbot instance to invite the interactive chatbot instance to the group chat room as a member. The invited interactive chatbot analyzes previous conversation content as a member of the group chat room to recommend a subject of common interest of members or analyzes inputted chatting of the members to manage a chat room service such as a schedule, a notification or a vote to contribute to activation of group chat rooms.

Description

메신저 단체 채팅방 활성화를 위한 자연어 처리 기반 대화형 챗봇 운용 방법 및 시스템 {Interactive chatbot operation method and system based on natural language processing for activation of messenger group chat room}{Interactive chatbot operation method and system based on natural language processing for activation of messenger group chat room}

본 발명은 채팅 로봇(chatter robot) 즉, 챗봇(chatbot) 기술에 관한 것으로, 보다 상세하게는 메신저 단체 채팅방에서 자연어 처리 기술 기반의 대화형 챗봇을 운용하는 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a chat robot, that is, a chatbot technology, and more particularly, to a method for operating an interactive chatbot based on natural language processing technology in a messenger group chat room.

스마트폰이나 데스크톱에서 다양한 애플리케이션들이 제공되어 사용되고 있다. 그것들 중에서 사용자 간의 실시간 채팅 서비스를 제공하는 메신저 애플리케이션은 연락 수단으로서 매우 유용하게 사용되고 있다. 최근에는 메신저 애플리케이션이 전화나 문자보다 더욱 많이 이용되고 있다. A variety of applications are available and used on smartphones and desktops. Among them, a messenger application providing a real-time chat service between users is very useful as a communication means. Recently, messenger applications are being used more than phones and characters.

최근의 메신저 애플리케이션은 개인과 개인 간의 1 대 1 연락이나 친목 도모용 채팅 서비스뿐만 아니라, 다수의 애플리케이션 사용자들에 대해 단체로 동시에 소통할 수 있게 해주는 단체 채팅방 서비스까지 제공하고 있다. 이러한 단체 채팅방은 단순히 지인간의 친목 도모뿐만 아니라, 가족 모임, 스터디 모임, 업무 협의 등과 같은 다양한 목적을 가지고 운용된다. 특히 최근에 스마트폰이 광범위하게 보급되고 태블릿 PC와 같은 다양한 스마트 기기의 대중화도 확산됨에 따라 메신저 애플리케이션의 사용은 급증하게 되었다. Recent instant messaging applications offer chat rooms for one-to-one contact and social networking, as well as group chat rooms, which allow multiple application users to communicate simultaneously in a group. These group chat rooms are operated not only for friendship, but also for various purposes such as family gathering, study group, and business consultation. Especially, as the spread of smart phones has widespread recently, and the popularization of various smart devices such as tablet PCs has been widespread, the use of messenger applications has increased rapidly.

그런데 단체 채팅방이 많이 이용됨에 따라 단체 채팅방의 생명주기는 점점 짧아지고 있는 경향이 나타난다. 단체 채팅방은 메신저 애플리케이션을 통해 쉽고 간편하게 생성될 수 있다. 그렇기 때문에 단체 채팅방은 빠르게 만들어지기도 하고, 금세 비활성화 되기도 한다. 단체 채팅방의 목적에 따라 그렇지 않은 경우도 있지만, 친목을 목적으로 하는 단체 채팅방의 경우 이러한 짧은 생명주기는 오히려 채팅방 구성원 간의 친목 도모에 부정적인 영향을 미칠 수 있다. However, as the group chat rooms are widely used, the life cycle of group chat rooms tends to become shorter and shorter. Group chat rooms can be created easily and easily through messenger applications. This is why group chat rooms are created quickly and are quickly deactivated. Although this may not be the case for a group chat room purpose, in the case of a group chat room for socializing purposes, such a short life cycle may adversely affect friendship among members of the chat room.

단체 채팅방의 생명주기가 짧아지는 주요한 이유로는, 단체 채팅방이 온라인상에서 실시간으로 채팅을 하는 공간인 점에서, 단체 채팅방 구성원들에게 어떤 공통된 관심 주제나 지속적으로 대화를 유발시킬 주제나 대화 소재가 없다면 금세 비활성화될 수 있다는 점을 들 수 있다. 단체 채팅방 내에서 구성원 간에 점차 대화가 줄어들다가 어느 순간 대화가 끊기게 되고, 일정 기간 계속 이러한 상황이 지속될 수 있다. 이런 상황에 이르게 되면, 같은 단체 채팅방에 속해 있지만 오히려 구성원 간의 관계는 더 멀어지는 모순적인 상황이 발생할 수도 있다.A major reason for the short life cycle of a group chat room is that a group chat room is a real-time chat room on-line, so if members of a group chat room do not have a common topic of interest or a topic or conversation that will cause continuous conversation, And can be deactivated. In the group chat room, conversation is gradually reduced among the members, and conversation is interrupted at some moment, and this situation can be continued for a certain period of time. When this situation is reached, there may be contradictory situations in which the members of the same group are in the same chat room, but the relationship between the members is farther away.

최근에는 챗봇과 같은, 사람처럼 채팅을 하는 가상 로봇을 메신저 애플리케이션에 적용한 시도가 이루어지고 있다. 일예로서, "클라이언트 봇을 이용한 채팅 서비스 제공 방법 및 상기 방법을 수행하는 장치"라는 명칭의 특허 출원번호 제10-2015-0061679호(이하 '선행기술 1'이라 한다)"는 특정 그룹이 있고, 그 그룹에 대해 클라이언트 봇을 그룹 멤버의 친구로 등록하여, 해당 클라이언트 봇을 통해 그룹 멤버와 관련된 컨텐츠를 신속하고 편리하게 도와주는 방법 및 장치를 개시한다. 그런데 선행기술 1은 클라이언트 봇과 그룹 멤버간의 채팅은 1:1 채팅만이 가능하다. 다수의 사용자가 참가해 있는 단체 채팅방에 다수의 구성원(참가자)들과의 채팅을 어떻게 하는지에 관해서는 아무런 가르침을 제공하지 못한다. 또한 그 클라이언트 봇은 정해져 있는 키워드와 규칙 기반으로 동작하기 때문에, 항상 사용자가 먼저 명령어가 포함된 채팅을 입력해야 하고, 그 클라이언트 봇이 '수동적'으로 작동하게 되므로 대화를 주도적으로 이끌어가는 능력이 없다.Recently, attempts have been made to apply virtual robots that chat like humans, such as chatbots, to instant messenger applications. As an example, Patent Application No. 10-2015-0061679 (hereinafter referred to as " Prior Art 1 ") entitled " Method and apparatus for providing chat service using client bots " A method and apparatus for registering a client bot as a friend of a group member with respect to the group and helping contents related to the group member through the client bot quickly and conveniently. Chat is a one-to-one chat only. It does not provide any guidance on how to chat with a large number of members (participants) in a group chat room where a large number of users are participating, Since it operates on the basis of keywords and rules, the user always has to input a chat containing the command first, Because it works in "passive" do not have the ability to lead a conversation with leadership.

챗봇 관련 다른 예로는, "프로그램을 이용한 모바일 업무 중개 시스템"이라는 명칭의 특허 출원번호 제10-2014-0032082호(이하 '선행기술 2'이라 한다)"를 들 수 있다. 이 선행기술 2는 기업 내 업무 중개를 위한 시스템을 위해 메신저 애플리케이션을 제공하는 모바일 단말기와 기업 업무 시스템 사이에 봇 서버를 두고, 단말기 사용자에게 채팅 애플리케이션을 통해 업무 중개를 제공하는 시스템을 제안한다. 선행기술 2는 봇을 모바일 단말기의 메신저 애플리케이션을 통해 제공하여 업무라는 도메인에서 상기 봇을 통해 서비스를 제공한다. 선행기술 2 역시 선행기술 1과 마찬가지로 봇과 사용자는 항상 1:1의 관계로만 채팅이 가능하며, 봇은 정해져 있는 키워드 기반으로 동작하기 때문에 봇은 언제나 수동적으로 동작하게 되는 한계를 갖는다. Another example related to the chatbot is a patent application No. 10-2014-0032082 (hereinafter referred to as "Prior Art 2") entitled "Mobile Business Intermediary System Using Program" The present invention proposes a system in which a bot server is provided between a mobile terminal providing a messenger application for a system for internal business and a corporate business system, and a business intermediary is provided to a terminal user through a chat application. Prior Art 2 As in the prior art 1, the bots and users are always allowed to chat only in a 1: 1 relationship, and the bots are fixed Since it operates on a keyword basis, the bots always have a limit to operate manually.

1. 특허 출원번호 제10-2015-0061679호 (발명의 명칭: 클라이언트 봇을 이용한 채팅 서비스 제공 방법 및 상기 방법을 수행하는 장치)1. Patent Application No. 10-2015-0061679 (entitled " Method and Apparatus for Providing Chat Service Using Client Bots " 2. 특허 출원번호 제10-2014-0032082호 (발명의 명칭: 프로그램을 이용한 모바일 업무 중개 시스템)2. Patent Application No. 10-2014-0032082 (entitled " Mobile Business Intermediary System Using a Program "

이에 따라 본 발명에서는 상기 언급된 문제를 해결하고, 선행 특허들을 보안하기 위해, 본 발명의 일 목적은 스마트폰 또는 데스크탑에서 운용되는 메신저 서비스에서 3명 이상의 클라이언트가 동시에 실시간으로 채팅이 가능한 단체 채팅방에 대화형 챗봇을 초대하여 그 대화형 챗봇이 그 단체 채팅방에서 운용될 수 있도록 하는 대화형 챗봇 운영 방법과 이를 위한 시스템을 제공하는 것이다.Accordingly, in order to solve the above-mentioned problems and to secure prior patents, it is an object of the present invention to provide a group chat room in which at least three clients can simultaneously chat in real time in a messenger service operated on a smart phone or a desktop Inviting an interactive chatbot so that the interactive chatbot can be operated in the group chat room, and a system therefor.

본 발명의 다른 목적은 챗봇은 봇 서버에서 운용되며, 메신저 클라이언트가 메신저 서버를 통해 인스턴스를 만들어 생성 및 소멸할 수 있도록 하는 단체 채팅방에서의 대화형 챗봇 운영 방법과 이를 위한 시스템을 제공하는 것이다.It is another object of the present invention to provide an interactive chatbot operating method in a group chat room, which enables a chatbot to be operated in a bot server, and to allow an instant messenger client to create and destroy an instance through a messenger server, and a system therefor.

본 발명의 다른 목적은 사용자의 문장(메시지) 입력이 없어도 정해진 챗봇의 환경 설정에 따라 단체 채팅방 내에서 먼저 채팅 메시지를 입력할 수 있도록 하여 단체 채팅방의 대화를 능동적이고 주도적으로 이끌어갈 수 있는 대화형 챗봇 운영 방법과 이를 위한 시스템을 제공하는 것이다.Another object of the present invention is to provide an interactive chatting system capable of promptly inputting a chat message in a group chat room according to a predetermined chatbot setting without a user's input of a sentence (message) A method for operating a chatbot and a system therefor are provided.

본 발명의 또 다른 목적은 자연어 처리 기반으로 메신저 클라이언트와 채팅 대화가 가능하고, 그에 따라 메신저 클라이언트의 입력 채팅을 분석하고 이로부터 문장의 컨텍스트를 분석할 수 있는 대화형 챗봇 운영 방법과 이를 위한 시스템을 제공하는 것이다. Yet another object of the present invention is to provide an interactive chatbot operating method capable of chatting with a messenger client based on natural language processing, analyzing input chat of a messenger client and analyzing the context of sentences from the chat client, and a system therefor .

본 발명이 해결하고자 하는 과제는 상술한 과제들에 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있을 것이다.The present invention is not limited to the above-described embodiments, and various modifications may be made without departing from the spirit and scope of the invention.

상기 본 발명의 상기 목적들을 실현하기 위한 실시예들에 따르면, 대화형 챗봇 인스턴스가 단체 채팅방의 활성화에 기여하도록 운용되도록 하기 위한 자연어 처리 기반 대화형 챗봇의 운용 방법이 제공된다. 상기 자연어 처리 기반 대화형 챗봇의 운용 방법은, 메신저 서버를 통해 생성된 단체 채팅방의 구성원들 중 어느 한 명의 메신저 클라이언트가 봇 서버를 통해 자연어 처리 기반의 대화형 챗봇 인스턴스를 생성하는 단계와, 생성된 상기 대화형 챗봇 인스턴스를 상기 단체 채팅방에 추가하는 단계와, 상기 단체 채팅방에 추가된 상기 대화형 챗봇 인스턴스가 상기 메신저 서버를 통해 상기 단체 채팅방에서 구성원들이 각자의 메신저 클라이언트를 통해 생성한 대화 내용을 검색하여 공통 주제 추출 모듈을 이용하여 학습하는 단계와, 학습 후, 상기 대화형 챗봇 인스턴스가 설정된 동작 환경에 따라 상기 단체 채팅방의 구성원으로서 (i) 상기 단체 채팅방의 공통 관심 주제를 제안하는 것과 (ii) 상기 단체 채팅방의 일정 등록 및 알림, 공지 사항 알림, 그리고 투표 관리 중 적어도 어느 한 가지의 서비스를 제공하는 것 중 적어도 어느 한 가지를 수행하는 단계를 포함한다.According to embodiments of the present invention for realizing the above objects, there is provided a method for operating an interactive chatbot based on a natural language processing so that an interactive chatbot instance is operated to contribute to activation of a group chat room. The method for operating the natural language processing interactive chatbot comprises the steps of: generating an interactive chatbot instance based on natural language processing through an instant messenger client of one of the members of the group chat room created through the messenger server through the bot server; Adding the interactive chatbot instance to the group chat room; and adding the interactive chatbot instance to the group chat room to allow the interactive chatbot instance to search the chat room created by the members through their respective messenger clients in the group chat room through the messenger server (I) suggesting a subject of common interest of the group chat room as a member of the group chat room according to an operating environment set by the interactive chatbot instance after learning, (ii) Schedule registration and notification of the above chat room, announcement notification, And providing at least one of the services for managing the voting and the voting management.

예시적인 실시예들에 있어서, 상기 대화형 챗봇 운용 방법은 상기 어느 한 명의 메신저 클라이언트가 생성된 상기 대화형 챗봇의 기능 수행에 필요한 동작 환경을 설정하는 단계를 더 포함할 수 있다.In the exemplary embodiments, the interactive chatbot operating method may further include setting an operation environment necessary for performing the function of the interactive chatbot in which the one of the messenger clients is generated.

예시적인 실시예들에 있어서, 상기 대화형 챗봇 인스턴스의 상기 동작 환경의 설정 항목은, (i) 상기 단체 채팅방에서 상기 구성원들이 상기 대화형 챗봇 인스턴스를 호출하기 위해 사용되는 상기 대화형 챗봇 인스턴스의 이름, (ii) 초기 대화 내용이 없을 경우에 상기 단체 채팅방에 추천할 초기 공통 관심 주제, (iii) 상기 단체 채팅방의 이전 대화 내용 학습 주기, (iv) 소정 기간 동안 상기 단체 채팅방에 대화가 없을 때마다 공통 관심 주제를 추천하기 위한 공통 주제 추천 주기, 그리고 (v) 상기 단체 채팅방의 일정, 공지, 투표가 등록되어 있을 때, 기한 도래를 체크하여 구성원들에게 미리 알려주기 위한 알림 시한 중 적어도 일부를 포함할 수 있다.In exemplary embodiments, the setting items of the operating environment of the interactive chatbot instance include (i) a name of the interactive chatbot instance used by the members to call the interactive chatbot instance in the group chat room , (ii) an initial common interest topic to be recommended to the group chat room when there is no initial chat content, (iii) a previous chat conversation content learning period of the group chat room, (iv) A common topic recommendation period for recommending a common interest topic, and (v) a notification period for notifying members of the schedule when the schedule, notice, and vote of the group chat room are registered, can do.

예시적인 실시예들에 있어서, 상기 단체 채팅방은 3명 이상의 구성원들의 메신저 클라이언트들이 참가하여 실시간 채팅을 할 수 있는 채팅 기능을 제공하며, 스마트폰 또는 데스크톱에서 운용될 수 있다.In the exemplary embodiments, the group chat room provides a chat function in which the messenger clients of three or more members can participate in real-time chatting, and can be operated on a smart phone or a desktop.

예시적인 실시예들에 있어서, 상기 단체 채팅방의 공통 관심 주제는 상기 대화형 챗봇 인스턴스가 상기 학습하는 단계에서 상기 이전의 대화 내용을 기계 학습한 것을 기반으로 하여 추출할 수 있다.In exemplary embodiments, the common interest topic of the group chat room may be extracted based on the interactive chatbot instance being machine-learned of the previous conversation contents in the learning step.

예시적인 실시예들에 있어서, 상기 단체 채팅방의 공통 관심 주제의 추출에는 Latent Dirichlet Allocation (LDA)이라는 예측 모델이 이용될 수 있다. In exemplary embodiments, a prediction model called Latent Dirichlet Allocation (LDA) may be used for extracting a common interest topic of the group chat room.

예시적인 실시예들에 있어서, 상기 대화형 챗봇 운용 방법은 상기 대화형 챗봇 인스턴스가 웹 크롤링(Web (Web crawling) 모듈을 통해 웹에서 크롤링 기법을 통해 상기 공통 관심 주제들과 관련된 영상, 기사, 그리고 웹 페이지 중 적어도 어느 한 가지를 찾아서 채팅을 통해 상기 단체 채팅방에 알려주는 단계를 더 포함할 수 있다. In exemplary embodiments, the interactive chattop operation method may be configured such that the interactive chattop instance is associated with a video, an article, and an article associated with the common interest topics via a web crawling module Searching for at least one of the web pages, and informing the group chatting room through a chat.

예시적인 실시예들에 있어서, 상기 대화형 챗봇 운용 방법은, 상기 단체 채팅방의 구성원들이 소정 기간 이상 채팅 메시지를 입력하지 않아도, 상기 대화형 챗봇 인스턴스가 상기 설정된 동작 환경에 따라 상기 단체 채팅방의 구성원들에게 먼저 채팅을 통해 능동적으로 대화를 시작하는 단계를 더 포함할 수 있다.In an exemplary embodiment, the interactive chattop operation method may further include a step of, even if members of the group chat room do not input a chat message for a predetermined period or longer, And then actively initiating the conversation by chatting first.

예시적인 실시예들에 있어서, 상기 학습하는 단계는 상기 대화형 챗봇 인스턴스가, 딥 러닝 기반의 자연어 처리 기술과 자연어 처리 지식 데이터베이스를 이용하여, 상기 단체 채팅방의 구성원들이 상기 메신저 클라이언트들을 통해 입력하는 문장을 단어와 형태소 단위로 쪼개서 그 문장의 컨텍스트를 분석하여 컨텍스트 데이터베이스에 저장하는 단계를 포함할 수 있다.In the exemplary embodiments, the learning may be performed by the interactive chatbot instance using a deep-learning-based natural language processing technique and a natural language processing knowledge database. The interactive chatbot instance may include a text sent by the members of the group chat room through the messenger clients Into words and morpheme units, and analyzing the context of the sentence and storing the analyzed context in the context database.

예시적인 실시예들에 있어서, 상기 학습하는 단계는 상기 대화형 챗봇 인스턴스가 상기 컨텍스트 데이터베이스에 저장된 문장에 기초하여 자연어 처리 기술을 활용하여 문장을 생성하여 채팅을 통해 제공하는 단계를 더 포함할 수 있다.In the exemplary embodiments, the learning step may further include generating the sentence using the natural language processing technique based on the sentence stored in the context database of the interactive chatbot instance, and providing the sentence through chat .

예시적인 실시예들에 있어서, 상기 대화형 챗봇 인스턴스는 상기 단체 채팅방에 입력된 문장의 컨텍스트를 분석하기 위해 딥 러닝 기반의 Word embedding 모델 또는 Sequence-to-Sequence 모델을 이용할 수 있다.In exemplary embodiments, the interactive chatbot instance may utilize a deep-running based Word embedding model or a Sequence-to-Sequence model to analyze the context of sentences entered in the group chat room.

한편, 상기 본 발명의 상기 목적들을 실현하기 위한 실시예들에 따르면, 대화형 챗봇 인스턴스가 단체 채팅방의 활성화에 기여하도록 운용되도록 하기 위한 자연어 처리 기반 대화형 챗봇의 운용 시스템이 제공된다. 상기 자연어 처리 기반 대화형 챗봇의 운용 시스템은 봇 서버, 메신저 서버, 그리고 메신저 클라이언트를 포함한다. 상기 봇 서버는, 요청에 응하여 자연어 처리 기반의 대화형 챗봇 인스턴스를 생성하고, 제공되는 설정값에 따라 상기 챗봇 인스턴스의 동작 환경을 설정하여 상기 대화형 챗봇 인스턴스의 생성을 요청한 단체 채팅방에 제공한다. 상기 메신저 서버는, 3명 이상의 사용자의 메신저 클라이언트들의 요청에 응하여 단체 채팅방을 생성하고, 같은 단체 채팅방에 구성원으로 참가한 메신저 클라이언트들 및 챗봇 인스턴스에게 실시간 채팅 서비스를 제공한다. 상기 메신저 클라이언트는, 사용자 단말기에 설치되어 상기 메신저 서버를 통해 사용자에 의한 실시간 채팅 서비스를 제공하고, 상기 봇 서버에게 상기 대화형 챗봇 인스턴스의 생성 및 상기 단체 채팅방에의 추가를 요청하고, 상기 동작 환경에 관한 설정값을 제공할 수 있다. 상기 챗봇 인스턴스는, 상기 단체 채팅방에 추가되면 상기 메신저 서버를 통해 상기 단체 채팅방에서 구성원들이 생성한 대화 내용을 검색하여 상기 봇 서버를 통해 학습한다. 또한 상기 챗봇 인스턴스는, 그 학습 후, 설정된 동작 환경에 따라 상기 단체 채팅방의 구성원으로서 (i) 상기 단체 채팅방의 공통 관심 주제를 제안하는 것과 (ii) 상기 단체 채팅방의 일정 등록 및 알림, 공지 사항 알림, 그리고 투표 관리 중 적어도 어느 한 가지의 서비스를 제공하는 것 중 적어도 어느 한 가지를 수행하여 상기 단체 채팅방의 활성화에 기여할 수 있다.According to embodiments of the present invention, an interactive chatbot-based natural language processing system is provided for allowing an interactive chatbot instance to be operated so as to contribute to activation of a group chat room. The operating system of the natural language processing based interactive chatbot includes a bot server, a messenger server, and a messenger client. The bot server generates an interactive chatbot instance based on the natural language processing in response to the request, and provides the chat chat room with the operation environment of the chatbot instance according to the provided setting value to the group chat room requested to generate the interactive chatbot instance. The messenger server generates a group chat room in response to a request from three or more users' messenger clients, and provides a real-time chat service to messenger clients and chat box instances participating as members in the same group chat room. Wherein the messenger client is provided in a user terminal and provides a real-time chat service by a user through the messenger server, requests the bot server to create the interactive chatbot instance and add the chat chat instance to the group chat room, Can be provided. When the chatbot instance is added to the group chat room, the chatbot instance is searched through the chat server through the messenger server to search for conversation contents created by the members in the group chat room. (I) a common interest topic of the group chatting room is proposed as a member of the group chatting room, (ii) a schedule registration and notification of the group chatting room, a notice notification And / or voting management, thereby contributing to the activation of the group chat room.

예시적인 실시예들에 있어서, 상기 봇 서버는 공통 주제 추출 모듈, 사용자 문장 분석 모듈, 그리고 자연어 문장 생성 모듈을 포함할 수 있다. 상기 공통 주제 추출 모듈은 상기 단체 채팅방에서 입력된 대화 문장들에 대한 기계 학습을 통해 상기 단체 채팅방의 구성원들의 공통 관심 주제를 찾아내어 공통 관심 주제 데이터베이스에 저장할 수 있다. 상기 사용자 문장 분석 모듈은 자연어 처리 기술과 자연어 처리 지식 데이터베이스를 이용하여, 상기 단체 채팅방에 입력된 문장의 단어와 형태소 단위로 쪼개어 그 문장의 컨텍스트를 분석하고, 분석된 컨텍스트를 컨텍스트 데이터베이스에 저장할 수 있다. 상기 자연어 문장 생성 모듈은 상기 컨텍스트 데이터베이스에 저장된 분석된 문장에 기초하여 자연어 처리 기술을 활용하여 컨텍스트에 맞는 새로운 문장을 생성할 수 있다.In exemplary embodiments, the bot server may include a common topic extraction module, a user sentence analysis module, and a natural language sentence generation module. The common subject extracting module can find common topics of interest of the members of the group chat room through machine learning on the conversation sentences entered in the group chat room and store them in a common interest subject database. The user sentence analysis module may divide the sentence into words and morpheme units inputted in the group chatting room using the natural language processing technique and the natural language processing knowledge database to analyze the context of the sentence and store the analyzed context in the context database . The natural language sentence generation module may generate a new sentence matching the context by utilizing the natural language processing technique based on the analyzed sentence stored in the context database.

예시적인 실시예들에 있어서, 상기 봇 서버는, 상기 공통 관심 주제 데이터베이스에 저장된 상기 단체 채팅방의 공통 관심 주제를 기반으로, 웹에서 크롤링 기법을 통해 상기 공통 관심 주제와 관련된 영상, 인터넷 기사, 그리고 웹 페이지 중 적어도 어느 한 가지를 찾아서 상기 대화형 챗봇 인스턴스를 이용한 채팅을 통해 상기 단체 채팅방에 알려주는 웹 크롤링(Web crawling) 모듈을 더 포함할 수 있다.In exemplary embodiments, the bot server may be configured to send a video, an internet article, and a web page related to the common interest theme through a crawling technique on the web, based on a common interest theme of the group chat room stored in the common interest subject database And a web crawling module for finding at least one of the pages and informing the group chatting room through a chat using the interactive chatbot instance.

예시적인 실시예들에 있어서, 상기 봇 서버는, 생성되는 각각의 챗봇 인스턴스의 정보를 저장하는 챗봇 정보 데이터베이스와, 상기 대화형 챗봇 인스턴스가 자연어 처리를 하기 위한 지식 베이스와, 메신저 클라이언트들의 공통 관심 주제를 저장하는 공통 관심 주제 데이터베이스와, 분석된 자연어의 문장 의미를 저장하는 컨텍스트 데이터베이스를 포함하는 봇 서버 데이터베이스를 기반으로 동작할 수 있다. In an exemplary embodiment, the bot server may include a chatbot information database for storing information of each generated chatbot instance, a knowledge base for the natural chat language processing of the interactive chatbot instance, And a context database for storing sentence semantics of the analyzed natural language.

예시적인 실시예들에 있어서, 상기 공통 주제 추출 모듈이 상기 공통 관심 주제를 찾아낼 때 LDA (Latent Dirichlet Allocation)이라는 예측 모델을 이용하여 상기 단체 채팅방의 구성원들 간의 대화 내용의 공통 관심 주제를 분석하여 찾아낼 수 있다.In exemplary embodiments, when the common subject extraction module finds the common interest topic, a common interest topic of the conversation contents among the members of the group chat room is analyzed using a prediction model called Latent Dirichlet Allocation (LDA) Can be found.

예시적인 실시예들에 있어서, 상기 사용자 문장 분석 모듈이 문장의 컨텍스트를 분석할 때 딥 러닝(Deep Learning) 기반의 Word embedding 모델과 Sequence-to-Sequence 모델 중 어느 하나를 이용할 수 있다.In exemplary embodiments, the user sentence analysis module may use either Deep Learning based Word embedding model or Sequence-to-Sequence model when analyzing the context of a sentence.

예시적인 실시예들에 있어서, 상기 대화형 챗봇 인스턴스의 상기 동작 환경의 설정 항목은, (i) 상기 단체 채팅방에서 상기 구성원들이 상기 대화형 챗봇 인스턴스를 호출하기 위해 사용되는 상기 대화형 챗봇 인스턴스의 이름, (ii) 초기 대화 내용이 없을 경우에 상기 단체 채팅방에 추천할 초기 공통 관심 주제, (iii) 상기 단체 채팅방의 이전 대화 내용 학습 주기, (iv) 소정 기간 동안 상기 단체 채팅방에 대화가 없을 때마다 공통 관심 주제를 추천하기 위한 공통 주제 추천 주기, 그리고 (v) 상기 단체 채팅방의 일정, 공지, 투표가 등록되어 있을 때, 기한 도래를 체크하여 구성원들에게 미리 알려주기 위한 알림 시한 중 적어도 일부를 포함할 수 있다.In exemplary embodiments, the setting items of the operating environment of the interactive chatbot instance include (i) a name of the interactive chatbot instance used by the members to call the interactive chatbot instance in the group chat room , (ii) an initial common interest topic to be recommended to the group chat room when there is no initial chat content, (iii) a previous chat conversation content learning period of the group chat room, (iv) A common topic recommendation period for recommending a common interest topic, and (v) a notification period for notifying members of the schedule when the schedule, notice, and vote of the group chat room are registered, can do.

예시적인 실시예들에 있어서, 상기 대화형 챗봇 인스턴스는 상기 단체 채팅방의 구성원들이 소정 기간 이상 채팅 메시지를 입력하지 않아도, 상기 설정된 동작 환경에 따라 상기 단체 채팅방의 구성원들에게 먼저 채팅을 통해 능동적으로 대화를 시작하는 기능을 구비할 수 있다. In the exemplary embodiments, the interactive chatbot instance may be configured such that, even if members of the group chat room do not input chat messages for a predetermined period or longer, members of the group chat room are actively chatted May be provided.

이상과 같은 구성의 본 발명에 따른 메신저 단체 채팅방 활성화를 위한, 대화형 챗봇 운용은 다음과 같은 효과를 가진다.The interactive chatbot operation for activating the IM chat room according to the present invention having the above-described configuration has the following effects.

첫째로, 상기 단체 채팅방의 대화 내용 분석을 통한 구성원의 공통 관심 주제를 상기 대화형 챗봇을 통해 주기적으로 제공할 수 있다. 자연어 처리 기반 대화형 챗봇이 메신저 단체 채팅방에 초대되어 대화에 능동적으로 참가하고 대화의 지속, 연결을 도모할 수 있다. 이를 통해 상기 단체 채팅방이 지속적으로 활성화 될 수 있는 효과를 제공할 수 있다. First, a topic of common interest of the members through analysis of conversation contents of the group chat room can be periodically provided through the interactive chatbot. Interactive chatbots based on natural language processing can be invited to IM chat room to actively participate in conversation and maintain conversation and connection. Thus, the group chat room can be continuously activated.

둘째로, 상기 단체 채팅방 내의 일정, 공지, 투표 등에 대한 서비스를 상기 대화형 챗봇이 사용자 문장을 기반으로 등록 및 관리를 해주고, 주기적으로 알려주기 때문에 상기 단체 채팅방의 구성원들에게 편리함 제공하는 효과가 있다.Secondly, since the interactive chatbot registers and manages the service based on the user sentence and periodically informs the service of the schedule, announcement, and voting in the group chat room, it provides the convenience to the members of the group chat room .

셋째로, 상기 대화형 챗봇은 자연어 처리 기반이기 때문에, 입력 문장을 분석할 때 좀 더 유연한 범위의 문장까지 처리 할 수 있다. 이를 통해 사용자 입장에서 키워드만으로 구성된 문장이 아닌 실제 사람과 대화하는 문장을 사용 할 수 있다. 또한 공통 주제 추천이나 등록된 일정, 공지, 투표 등에 대한 알림을 위해 상기 대화형 챗봇이 사용자에게 먼저 채팅을 입력할 수 있기 때문에 사용자 입장에서는 상기 대화형 챗봇을 상기 단체 채팅방의 구성원으로 느낄 수 있다. Third, since the interactive chatbot is based on natural language processing, it is possible to process a range of a more flexible range when analyzing an input sentence. This allows the user to use sentences that communicate with the actual person rather than a keyword-only sentence. Also, since the interactive chatbot can input the chat first to the user for the recommendation of the common topic, the registered schedule, the announcement, the vote, etc., the user can feel the interactive chatbot as a member of the group chat room.

넷째로, 상기 메신저 서버에서는 수집된 모든 채팅 대화 내용과 이를 통해 추출된 여러 관심 주제들에 대한 데이터를 이용하여 크라우드소싱 (crowdsourcing)과 같은 방법을 통해 다양한 서비스 제공이 가능할 수 있다. Fourthly, the messenger server can provide various services through a method such as crowdsourcing using all the collected chat conversation contents and data on various interest topics extracted therefrom.

도 1은 본 발명의 예시적인 실시예들에 따른 자연어 처리 기반 대화형 챗봇 운용 방법을 실시하기 위한 시스템의 구성을 개략적으로 나타낸 블록도이다.
도 2는 본 발명의 바람직한 실시예에 따라, 대화형 챗봇 생성 및 운용 절차를 도시한 흐름도이다.
도 3은 본 발명의 바람직한 실시예에 따라, 대화형 챗봇의 공통 주제 추천 서비스에 대한 흐름도이다.
도 4는 본 발명의 바람직한 실시예에 따라, 대화형 챗봇의 채팅방 일정 등록 및 알림 서비스에 대한 흐름도이다.
도 5는 본 발명의 바람직한 실시예에 따라, 대화형 챗봇의 채팅방 공지 알림 서비스에 대한 흐름도이다.
도 6은 본 발명의 바람직한 실시예에 따라, 대화형 챗봇의 채팅방 투표 알림 서비스에 대한 흐름도이다.
도 7은 본 발명의 바람직한 실시예에 따라, 단체 채팅방에서 제공되는 채팅방 서비스에 대해 도시한 도면이다.
도 8은 본 발명의 바람직한 실시예에 따라, 대화형 챗봇 인스턴스에 대한 환경 설정에 대해 도시한 도면이다.
도 9는 본 발명의 바람직한 실시예에 따라, 대화형 챗봇의 공통 주제 추천 서비스가 수행된 것의 한 사례에 대한 채팅방을 도시한 도면이다.
도 10은 본 발명의 바람직한 실시예에 따라, 대화형 챗봇이 채팅방 내에서 일정 등록 및 알림 서비스가 수행한 것의 한 사례에 대한 채팅방을 도시한 도면이다.
도 11은 본 발명의 바람직한 실시예에 따라, 대화형 챗봇이 채팅방 내에서 공지 등록 및 알림 서비스가 수행한 것의 한 사례에 대한 채팅방을 도시한 도면이다.
도 12는 본 발명의 바람직한 실시예에 따라, 대화형 챗봇이 채팅방 내에서 투표 등록 및 알림 서비스가 수행한 것의 한 사례에 대한 채팅방을 도시한 도면이다.
1 is a block diagram schematically illustrating the configuration of a system for implementing an interactive chatbot operation method based on natural language processing according to exemplary embodiments of the present invention.
2 is a flowchart illustrating an interactive chatbot creation and operation procedure according to a preferred embodiment of the present invention.
3 is a flowchart of a common topic recommendation service of an interactive chatbot according to a preferred embodiment of the present invention.
4 is a flowchart illustrating a chat room registration and notification service of an interactive chatbot according to a preferred embodiment of the present invention.
5 is a flowchart illustrating a chatting room announcement service of an interactive chatbot according to a preferred embodiment of the present invention.
FIG. 6 is a flowchart illustrating a chat room voting notification service of an interactive chatbot according to a preferred embodiment of the present invention.
7 is a diagram illustrating a chatting room service provided in a group chatting room according to a preferred embodiment of the present invention.
Figure 8 is a diagram illustrating preferences for an interactive chatbot instance, in accordance with a preferred embodiment of the present invention.
9 is a view of a chat room for an example of a common topic recommendation service of an interactive chatbot performed according to a preferred embodiment of the present invention.
FIG. 10 is a view showing a chat room for a case in which an interactive chatbot performs a schedule registration and notification service in a chat room according to a preferred embodiment of the present invention.
FIG. 11 is a diagram illustrating a chat room for an example of an interactive chatbot performed by a public registration and notification service in a chat room, according to a preferred embodiment of the present invention.
12 is a view showing a chat room for an example of an interactive chatbot performing a voting registration and notification service in a chat room according to a preferred embodiment of the present invention.

본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.For the embodiments of the invention disclosed herein, specific structural and functional descriptions are set forth for the purpose of describing an embodiment of the invention only, and it is to be understood that the embodiments of the invention may be practiced in various forms, The present invention should not be construed as limited to the embodiments described in Figs.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는 데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another.

본 발명에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 안 된다. 즉, 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. For the embodiments of the invention disclosed herein, specific structural and functional descriptions are set forth for the purpose of describing an embodiment of the invention only, and it is to be understood that the embodiments of the invention may be practiced in various forms, And should not be construed as limited to the embodiments described in the foregoing description. That is, the present invention is capable of various modifications and various forms, and specific embodiments are illustrated in the drawings and described in detail in the following description. It is to be understood, however, that the invention is not intended to be limited to the particular forms disclosed, but on the contrary, is intended to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예에 따른 메신저 단체 채팅방 활성화를 위한 자연어 처리 기반 대화형 챗봇 운용 방법을 상세히 설명한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.Hereinafter, a method for operating an interactive chatbot based on natural language processing for activating a messenger chat room according to a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings. The same reference numerals are used for the same constituent elements in the drawings and redundant explanations for the same constituent elements are omitted.

도 1은 본 발명의 바람직한 실시예에 따른 자연어 처리 기반 대화형 챗봇 운용 방법을 실시하기 위한 전체 시스템(50)의 개략적인 구성을 예시한다. FIG. 1 illustrates a schematic configuration of an overall system 50 for implementing a natural language processing based interactive chatbot operating method according to a preferred embodiment of the present invention.

예시적인 실시예에 따르면, 시스템(50)은 봇 서버(100), 메신저 서버(200), 그리고 단체 채팅방(300)을 포함할 수 있다. 봇 서버(100)는 자연어 처리 기반의 대화형 챗봇 서비스를 제공하기 위한 서버이다. 메신저 서버(200)는 예컨대 스마트폰이나 데스크톱과 같은 사용자 단말기에 설치되어 메신저 서비스를 제공하는 서버 시스템이다. 단체 채팅방(300)은 메신저 클라이언트(320)로부터 만들어지는 채팅방을 의미한다. 단체 채팅방(300)이 실행되는 사용자 단말기와 메신저 서버(200) 간의 통신, 봇 서버(100)와 사용자 단말기에서 실행되는 챗봇 인스턴스 간의 통신, 그리고 봇 서버(100)와 메신저 서버(200) 간의 통신은 도면에는 무선통신방식으로 이루어지는 것으로 표현되어 있지만, 이에 한정되지 않고, 봇 서버(100)와 메신저 서버(200) 간에는 유선통신방식으로도 통신이 이루어질 수 있다.According to an exemplary embodiment, the system 50 may include a bot server 100, a messenger server 200, and a group chat room 300. The bot server 100 is a server for providing an interactive chatbot service based on natural language processing. The messenger server 200 is a server system installed in a user terminal such as a smart phone or a desktop to provide a messenger service. The group chat room 300 refers to a chat room created from the instant messenger client 320. The communication between the user terminal on which the group chat room 300 is executed and the messenger server 200, the communication between the bot server 100 and the chat terminal instance executed in the user terminal, and the communication between the bot server 100 and the messenger server 200 Although the wireless communication method is shown in the drawing, the present invention is not limited to this, and communication between the bot server 100 and the messenger server 200 may be performed using a wired communication method.

예시적인 실시예에 따르면, 봇 서버(100)는 대화형 챗봇 시스템(110)과 봇 서버 데이터베이스(120)를 포함할 수 있다. According to an exemplary embodiment, the bot server 100 may include an interactive chatbot system 110 and a bot server database 120.

대화형 챗봇 시스템(110)은 공통 주제 추출 모듈(111), 사용자 문장 분석 모듈(112), 자연어 문장 생성 모듈(113), 그리고 웹 크롤링 모듈(114)을 포함할 수 있다. 이 모듈들(111, 112, 113, 114)은 프로그램으로 구현된 프로그램 모듈일 수 있다.The interactive chatbot system 110 may include a common topic extraction module 111, a user sentence analysis module 112, a natural language sentence generation module 113, and a web crawling module 114. These modules 111, 112, 113 and 114 may be program modules implemented by a program.

예시적인 실시예에 따르면, 봇 서버 데이터베이스(120)는 공통 관심 주제 데이터베이스(121), 컨텍스트 데이터베이스(122), 자연어 처리 지식 데이터베이스(123), 그리고 챗봇 정보 데이터베이스(124)를 포함할 수 있다. 공통 관심 주제 데이터베이스(121)는 메신저 클라이언트들(320)의 공통 관심 주제를 저장할 수 있다. 컨텍스트 데이터베이스(122)는 분석된 자연어의 문장 의미를 저장할 수 있다. 자연어 처리 지식 데이터베이스(123)는 대화형 챗봇 인스턴스(310)가 자연어 처리를 위한 지식 정보를 저장, 관리하는 지식 베이스이다. 챗봇 정보 데이터베이스(124)는 생성되는 각각의 챗봇 인스턴스의 정보를 저장할 수 있다. 도시되지는 않았지만, 봇 서버 데이터베이스(120)는 대화형 챗봇 인스턴스(310)의 동작에 관한 규칙이 정의된 규칙 데이터베이스를 더 포함할 수 있다. 규칙 데이터베이스에 저장될 규칙 정보는 예를 들어 챗봇 정보 데이터베이스(124)의 일부로 편입시켜 관리될 수도 있다.According to an exemplary embodiment, the bot server database 120 may include a common interest subject database 121, a context database 122, a natural language processing knowledge database 123, and a chatbot information database 124. The common interest subject database 121 may store common interests of the messenger clients 320. The context database 122 may store sentence semantics of the analyzed natural language. The natural language processing knowledge database 123 is a knowledge base in which the interactive chatbot instance 310 stores and manages knowledge information for natural language processing. The chatbot information database 124 may store information of each generated chatbot instance. Although not shown, the bot server database 120 may further include a rule database in which rules regarding the operation of the interactive chatbot instance 310 are defined. The rule information to be stored in the rule database may be incorporated and managed as a part of the chatbot information database 124, for example.

대화형 챗봇 시스템(110)의 공통 주제 추출 모듈(111)은 입력된 대화 문장들에 대해서 공통 관심 주제를 찾아내기 위한 기계 학습 방법을 수행하기 위한 모듈일 수 있다. 이 모듈(111)은 공통의 관심 주제를 찾아내기 위해, 이 모듈(110)은 생성된 챗봇 인스턴스(310)가 속한 단체 채팅방의 이전 대화 기록을 입력으로 하여, 예를 들어 LDA (Latent Dirichlet Allocation) 모델을 사용하여 공통 주제를 찾아낼 수 있다. 나아가, 찾아진 공통 주제는 공통 관심 주제 데이터베이스(121)에 저장할 수 있다. 만약 속한 단체 채팅방의 이전 대화 기록이 없을 경우, 공통 관심 주제를 찾아내기 위해 일정 기간 동안 대화 수집 기간을 가질 수 있다. 대화 수집은 일정 기간 동안 일정량의 대화가 충족되는 것을 기준으로 수행할 수 있을 것이다. 예를 들어 일주일의 기간 동안 100개 이상의 대화가 입력되어야 공통 관심 주제를 추천하는 것을 기준으로 삼을 수 있다. 대화를 수집하는 기간 동안은 공통 주제를 추천하지 않게 된다.The common topic extraction module 111 of the interactive chatbot system 110 may be a module for performing a machine learning method for finding a common topic of interest for the input conversation sentences. In order to find a common topic of interest, the module 111 inputs the previous conversation history of the group chat room to which the created chatbox instance 310 belongs, for example, a Latent Dirichlet Allocation (LDA) You can use a model to find common topics. Furthermore, the found common theme can be stored in the common interest subject database 121. [ If there is no previous conversation history in the group chat room in which they are associated, they may have a conversation collection period for a period of time to find common interest topics. The conversation collection can be based on meeting a certain amount of conversation over a period of time. For example, over a period of one week, more than 100 conversations must be entered to base a recommendation on a common interest topic. During the period of collecting the conversation, you will not recommend a common topic.

사용자 문장 분석 모듈(112)은 채팅방에 입력된 문장에 대한 의미를 분석하기 위한 모듈일 수 있다. 의미 분석을 위해, 사용자 문장 분석 모듈(120)은 딥 러닝 기반의 Word embedding, 또는 Sequence-to-Sequence 모델 등과 같은 자연어 처리 기술과 자연어 처리 지식 데이터베이스(123)를 이용할 수 있다. 문장 분석을 위해, 자연어 처리 기법 기반으로 사용자가 입력한 문장의 단어와 형태소 단위로 쪼개어 분석하고, 분석된 결과와 자연어 처리를 위한 지식 베이스(123)를 이용하여 사용자의 문장의 의미를 파악한다. 또한, 분석된 컨텍스트를 컨텍스트 데이터베이스(122)에 저장한다.The user sentence analysis module 112 may be a module for analyzing the meaning of the sentence inputted into the chat room. For semantic analysis, the user sentence analysis module 120 may use a natural language processing technique such as a deep learning based word embedding or a sequence-to-sequence model, and a natural language processing knowledge database 123. In order to analyze the sentence, the user analyzes the sentence by word and morpheme unit based on the natural language processing technique, analyzes the result, and grasps the meaning of the user's sentence using the analyzed result and the knowledge base 123 for natural language processing. Also, the analyzed context is stored in the context database 122.

자연어 문장 생성 모듈(113)은 컨텍스트 데이터베이스(122)에 저장된 분석된 컨텍스트 데이터를 이용할 수 있다. 자연어 문장 생성 모듈(113)은 사용자 문장 분석 모듈(112)과 마찬가지로 자연어 처리 기술을 활용하며, 문장 컨텍스트에 맞는 새로운 문장을 생성하고, 대화형 챗봇 인스턴스(310)의 동작 환경의 설정값에 따라 채팅을 통해 생성된 문장을 단체 채팅방(300)에 제공할 수 있다. The natural language sentence generation module 113 may use the analyzed context data stored in the context database 122. [ The natural language sentence generation module 113 generates a new sentence corresponding to the sentence context by using a natural language processing technique like the user sentence analysis module 112 and generates a new sentence corresponding to the sentence context, To the group chatting room 300. [0050]

웹 크롤링 모듈(114)은 공통 관심 주제 데이터베이스(121)에 저장된 단체 채팅방의 공통 관심 주제를 기반으로 웹에서 크롤링 기법을 통해 공통 관심 주제와 관련된 영상, 인터넷 기사, 웹 페이지 중 적어도 어느 한 가지를 찾아내고, 찾아진 결과물을 대화형 챗봇 인스턴스(310)를 이용한 채팅을 통해 단체 채팅방(300)에 출력하는 기능을 갖는 모듈일 수 있다. The web crawling module 114 finds at least one of a video, an internet article, and a web page related to a common interest topic through a crawling technique on the web based on a common interest topic of the group chat room stored in the common interest subject database 121 And outputting the found result to the group chat room 300 through chat using the interactive chatbot instance 310. [

봇 서버(100)는 대화형 챗봇 시스템(110)의 상기의 모듈(111~114)과 데이터베이스(121~124)를 이용하여 채팅방 내에서 공통 주제 추천 서비스, 채팅방 일정 등록 및 알림 서비스, 채팅방 공지 알림 서비스, 그리고 채팅방 투표 관리 서비스를 제공할 수 있다. The bot server 100 uses the modules 111 to 114 of the interactive chatbot system 110 and databases 121 to 124 to provide a common topic recommendation service, chat room schedule registration and notification service, Services, and chat room voting management services.

예시적인 실시예에 따르면, 메신저 서버(200)는 채팅방의 생성 및 삭제에 대한 서비스 등 채팅방 관리를 위한 서비스를 제공하는 채팅방 관리 모듈(210)을 포함할 수 있다. 또한, 메신저 서버(200)는 채팅방 관리에 필요한 채팅방 정보 데이터베이스(220)와 사용자 정보 데이터베이스(230)를 포함할 수 있다.According to an exemplary embodiment, the messenger server 200 may include a chat room management module 210 that provides a service for chat room management, such as a service for creating and deleting chat rooms. In addition, the messenger server 200 may include a chat information database 220 and a user information database 230, which are necessary for chat room management.

메신저 서버(200)는 채팅방 관리 모듈(210)을 통해 다수의 메신저 클라이언트들(320)에게 단체 채팅방(300)을 생성해주거나 또는 생성된 단체 채팅방을 삭제하는 등의 관리를 수행할 수 있다. 메신저가 설치되어 있는 사용자 단말기에서, 메신저 클라이언트들(320)은 단체 채팅방(300)을 통해 서로 간에 채팅을 수행할 수 있다. 채팅방 관리 모듈(210)은 단체 채팅방의 관리를 위해, 생성되어 운용되는 단체 채팅방(300)의 정보와 메신저 클라이언트들(320)의 정보를 채팅방 정보 데이터베이스(220)와 사용자 정보 데이터베이스(230)에 각각 저장할 수 있다. 단체 채팅방(300)에서 이루어지는 채팅방 구성원들(참가자들) 간의 대화 내용을 채팅방 정보 DB(220)에 저장될 수 있다.The messenger server 200 can manage the plurality of messenger clients 320 through the chat room management module 210 by creating the group chat room 300 or deleting the generated chat room. In the user terminal in which the messenger is installed, the messenger clients 320 can chat with each other via the group chat room 300. [ The chat room management module 210 stores the information of the generated group chat room 300 and the information of the messenger clients 320 in the chat room information database 220 and the user information database 230 Can be stored. The contents of the chat between the chat room members (participants) in the group chat room 300 can be stored in the chat room information DB 220. [

단체 채팅방(300)은 3명 이상의 구성원들의 메신저 클라이언트(320)의 요청에 의해 메신저 서버(200)의 채팅방 관리 모듈(210)을 통해 생성될 수 있다. 단체 채팅방(300)에는 3명 이상의 구성원들의 메신저 클라이언트(320) 외에, 대화형 챗봇 인스턴스(310)도 대화 구성원으로서 참가할 수 있다. 단체 채팅방(300)의 각 구성원은 봇 서버(100)를 통해 대화형 챗봇 인스턴스(310)를 생성토록 하고, 그 생성된 챗봇 인스턴스(310)를 단체 채팅방(300)에 초대할 수 있다. The group chat room 300 may be created through the chat room management module 210 of the messenger server 200 at the request of the messenger client 320 of three or more members. In the group chat room 300, in addition to the messenger client 320 of three or more members, the interactive chat box instance 310 can participate as a conversation member. Each member of the group chat room 300 can create the interactive chatto instance 310 through the bot server 100 and invite the generated chatto instance 310 to the group chat room 300. [

예시적인 실시예에 따르면, 생성된 단체 채팅방(300)은 기본적으로 구성원들 간의 실시간 채팅 서비스를 제공할 수 있다. 그 외에, 도 7에 예시된 화면과 같이, 단체 채팅방 내의 일정 등록 및 관리 서비스, 공지 서비스, 및/또는 투표 서비스를 제공할 수도 있다. According to an exemplary embodiment, the generated group chat room 300 can basically provide a real-time chat service among the members. In addition, a schedule registration and management service, a public service, and / or a voting service in the group chat room may be provided as shown in the screen illustrated in Fig.

예시적인 실시예에 따르면, 이러한 일정, 공지, 및/또는 투표 서비스의 경우, 도 7과 같이 채팅방 메뉴를 통해 단체 채팅방(300)의 구성원들이 직접 등록을 할 수도 있다. 예시적인 다른 실시예에 따르면, 도 10, 11, 12에 예시된 것과 같이 단체 채팅방(300)의 구성원들이 채팅을 하고, 챗봇 인스턴스(310)가 그 채팅 내용을 파악하여 자동으로 일정을 등록해 줄 수도 있다.According to the exemplary embodiment, in the case of such schedule, notification, and / or voting service, the members of the group chat room 300 may directly register through the chat room menu as shown in FIG. According to another exemplary embodiment, members of the group chat room 300 chat as illustrated in FIGS. 10, 11, and 12, and the chatbox instance 310 recognizes the chat contents and automatically registers a schedule It is possible.

도 2는 예시적인 일 실시예에 따른 대화형 챗봇의 생성 및 운용 절차를 개략적으로 나타낸 흐름도이다. FIG. 2 is a flowchart schematically illustrating a procedure for generating and operating an interactive chatbot according to an exemplary embodiment.

도 2를 도 1과 함께 참조하면, 단체 채팅방(300)이 기존에 이미 생성되어 있을 때, 그 단체 채팅방(300)의 구성원들 중 어느 한 명의 메신저 클라이언트(320)는 봇 서버(100)를 통해 대화형 챗봇 인스턴스(310)의 생성하여 단체 채팅방(300)에 초청할 수 있다. 즉, 메신저 클라이언트(320)는 봇 서버(100)에 챗봇 인스턴스(310)의 생성을 요청할 수 있고, 봇 서버(100)는 그 요청에 응하여 대화형 챗봇 인스턴스(310)를 생성하여 단체 채팅방(300)에 참가하도록 할 수 있다.(단계 400) Referring to FIG. 2 together with FIG. 1, when the group chat room 300 has already been created, the instant messenger client 320 of the members of the group chat room 300 transmits, The interactive chatbot instance 310 can be created and invited to the group chat room 300. That is, the messenger client 320 can request the generation of the chatbox instance 310 to the bot server 100, and the bot server 100 generates the interactive chatbox instance 310 in response to the request, (Step 400). ≪ RTI ID = 0.0 >

단체 채팅방(300)으로 챗봇 인스턴스(310)를 초대할 때, 그 챗봇 인스턴스(310)의 동작에 관한 기본 환경 설정을 할 수 있다(단계 401). 도 8에 예시된 것과 같이, 챗봇 인스턴스(310)의 기본 환경으로 설정할 수 있는 항목은 (i) 단체 채팅방(300)에서 대화형 챗봇 인스턴스(310)를 호출하기 위해 사용되는 챗봇 인스턴스(310)의 이름, (ii) 단체 채팅방(300)의 초기의 공통 관심 주제(이는 단체 채팅방(300)에서 초기 대화 내용이 없을 경우에만 한정될 수 있음), (iii) 단체 채팅방(300)의 대화 내용을 학습하는 학습 주기, (iv) 소정 기간 동안 단체 채팅방(300)에서 대화가 없을 때마다 공통 관심 주제를 알려주거나 또는 추천하기 위한 공통 주제 추천 주기(예컨대, 6시간, 12시간, 1일, 3일, 일주일, 한 달 등과 같은 시간 주기), 그리고 (v) 단체 채팅방(300)에 일정, 공지, 투표가 등록되어 있을 때, 그것들의 기한 도래를 체크하여 구성원들에게 미리 알려주기 위한 알림 시한(예를 들어, 한달 전, 일주일 전, 3일 전, 하루 전, 12시간 전, 3시간 전, 1시간 전 등과 같은 시간) 등의 적어도 일부를 포함할 수 있다. When inviting the chatbot instance 310 to the group chat room 300, the basic environment setting related to the operation of the chatbot instance 310 can be performed (step 401). 8, the items that can be set as the basic environment of the chatbox instance 310 include (i) the chatbox instance 310 used for calling the interactive chatbox instance 310 in the group chat room 300, (Ii) an initial common interest topic of the group chat room 300 (which may be limited only when there is no initial chat room in the group chat room 300), (iii) learning the conversation contents of the group chat room 300 (Iv) a common topic recommendation period (e.g., 6 hours, 12 hours, 1 day, 3 days, 3 days) for informing or recommending a common interest topic every time there is no conversation in the group chat room 300 for a predetermined period, (V) a notice period for notifying members of the schedule, announcements, and polls when their schedules, announcements, and votes are registered in the group chat room 300, For, one month, one week, three days , Time such as one day before, 12 hours before and 3 hours before, 1 hour before) may comprise at least a portion of or the like.

대화형 챗봇 인스턴스(310)의 생성을 요청한 구성원의 메신저 클라이언트(320)는 기본 환경 설정이 완료된 챗봇 인스턴스(310)를 해당 단체 채팅방(300)의 구성원으로서 추가할 수 있다(단계 402). 챗봇 인스턴스(310)의 추가는 어떤 구성원이 상기 단체 채팅방(300)에 외부 사용자를 초대하는 방식과 동일하게 사용자 추가 버튼을 눌러 봇 서버(100)에서 제공하는 챗봇 인스턴스(310)를 검색 및 추가함으로써 이루어질 수 있다. The messenger client 320 of the member requesting the generation of the interactive chatbot instance 310 may add the chambot instance 310 with the basic configuration as a member of the group chat room 300 (step 402). The addition of the chatbot instance 310 searches for and adds the chatbot instance 310 provided by the bot server 100 by pressing a user addition button in the same manner as a method in which a member invites an external user to the group chat room 300 Lt; / RTI >

해당 단체 채팅방(300)에 처음으로 추가된 챗봇 인스턴스(310)는 그 단체 채팅방(300)에서 그 때까지 구성원들 간에 오간 모든 대화 내용을 메신저 서버(200)를 통해 제공받을 수 있다 (단계 403). 즉, 단체 채팅방(300)에서 구성원들끼리 주고받은 대화 내용은 채팅방 정보 DB(220)에 저장되어 있다. 챗봇 인스턴스(310)는 단체 채팅방(300)에 신규 참가 시, 메신저 서버(200)에게 기존 대화 내용의 검색을 요청하여 읽어올 수 있다.The chatbot instance 310 added to the group chat room 300 for the first time can receive all the chat conversations between the members in the group chat room 300 through the messenger server 200 (step 403) . That is, the conversation contents exchanged among the members in the group chat room 300 are stored in the chat room information DB 220. When the chatbox instance 310 newly joins the group chat room 300, the chatbox instance 310 can request the messenger server 200 to search for the existing chat content and read it.

챗봇 인스턴스(310)는 그 읽어온 대화 내용을 입력으로 하여, 공통 주제 추출 모듈(111)을 이용하여 구성원의 공통 관심 주제를 추출할 수 있다(단계 404). 공통 주제 추출 모듈(111)은 대화형 챗봇 인스턴스(310)를 통해 제공받은 단체 채팅방(300) 구성원들의 대화 문장들을 기계 학습하여 그 단체 채팅방(300)의 구성원들의 공통 관심 주제를 찾아낼 수 있다. 공통 관심 주제를 추출할 때, 대화 내용 학습 모델을 만들어 그것을 이용할 수 있다. 예를 들어 LDA (Latent Dirichlet Allocation) 모델이 대화 내용 학습 모델로 사용될 수 있다. 그리고 찾아낸 공통 관심 주제를 공통 관심 주제 데이터베이스(121)에 저장할 수 있다. The chatbot instance 310 receives the read dialogue content, and extracts a common interest topic of the member using the common theme extraction module 111 (step 404). The common topic extraction module 111 can mechanically learn the conversation sentences of the group chat room 300 provided through the interactive chat box instance 310 to find the common interest topic of the members of the group chat room 300. [ When extracting a common interest topic, you can create a dialogue content learning model and use it. For example, a Latent Dirichlet Allocation (LDA) model can be used as a dialogue content learning model. And store the found common interest subjects in the common interest subject database 121. [

추출된 공통 관심 주제는 공통 관심 주제 데이터베이스(121)에 저장을 한 후, 챗봇 인스턴스(310)는 해당 단체 채팅방(300)의 구성원에 의해서 퇴출되기 전까지 설정된 환경 설정에 따라 지속적으로 챗봇 서비스를 수행할 수 있다 (단계 405와 406).After the extracted common interest topic is stored in the common interest subject database 121, the chatbot instance 310 continuously performs the chatbot service according to the environment setting set before being rejected by the member of the group chat room 300 (Steps 405 and 406).

다음으로, 도 3은 일실시예에 따른 대화형 챗봇의 공통 주제 추천 서비스의 실행 절차를 나타내는 흐름도이다. Next, FIG. 3 is a flowchart showing an execution procedure of the common topic recommendation service of the interactive chatbot according to one embodiment.

도 3을 도 1과 함께 참조하면, 단체 채팅방(300)에 참가 중인 대화형 챗봇 인스턴스(310)는 그 단체 채팅방(300)에서 설정된 주기 동안 대화 입력이 있는지 없는지를 확인할 수 있다(단계 500).Referring to FIG. 3 together with FIG. 1, the interactive chatbot instance 310 participating in the group chat room 300 can check whether there is an interactive input for a set period in the group chat room 300 (step 500).

만약 설정된 주기 동안 대화가 없다면, 챗봇 인스턴스(310)는 공통 주제 추출 모듈(111)을 호출하고(단계 501), 호출된 공통 주제 추출 모듈(111)은 참가 중인 단체 채팅방(300)에서의 현재까지의 대화 내용을 채팅방 정보 데이터베이스(220)에서 검색하여 읽어올 수 있다(단계 502). If there is no dialogue during the set period, the chatbot instance 310 calls the common topic extraction module 111 (step 501), and the called common topic extraction module 111 searches for the current topic in the participating group chat room 300 Can be retrieved and read from the chatting room information database 220 (step 502).

공통 주제 추출 모듈(111)은 읽어온 대화 내용 데이터를 이용하여 단체 채팅방(300) 구성원들의 공통 관심 주제를 추출할 수 있다(단계 503).The common subject extracting module 111 may extract common topics of interest of the members of the group chat room 300 using the read conversation contents data (step 503).

공통 주제 추출 모듈(111)은 추출된 공통 관심 주제를 공통 관심 주제 데이터베이스(121)에 저장할 수 있다(단계 506). The common subject extraction module 111 may store the extracted common interest subjects in the common interest subject database 121 (step 506).

이 후, 웹 크롤링 모듈(113)을 이용하여 공통 관심 주제와 관련된 컨텐츠 예를 들어, 영상, 기사, 또는 웹 페이지 등을 웹에서 크롤링할 수 있다(단계 507). 찾아진 결과물은 대화형 챗봇 인스턴스(310)를 통해 설정된 주기 마다 채팅을 통해 단체 채팅방(300)에 출력할 수 있다. 즉, 웹 크롤링 모듈(113)은 크롤링 결과물을 챗봇 인스턴스(310)에 전달하고, 챗봇 인스턴스(310)는 그것울 해당 단체 채팅방(300)에 올릴 수 있다(단계 508). Thereafter, the web crawling module 113 may be used to crawl content on the web, for example, a video, an article, or a web page related to a common interest topic (step 507). The retrieved result can be output to the group chat room 300 through the interactive chatbot instance 310 at a set interval. That is, the web crawling module 113 delivers the crawling result to the chatbox instance 310, and the chatbox instance 310 can be uploaded to the corresponding chat room 300 (step 508).

다음으로, 도 9는 예시적인 실시예에 따라 대화형 챗봇에 의해 공통 주제 추천 서비스가 수행되는 단체 채팅방(300)의 화면 예를 도시한다. Next, FIG. 9 shows a screen example of the group chat room 300 in which the common topic recommendation service is performed by the interactive chatbot according to the exemplary embodiment.

도 9의 (A)는 기존에 생성된 단체 채팅방(300)이 있고, 그 단체 채팅방(300)을 구성하는 메신저 클라이언트(320)들이 채팅창에서 대화를 하는 화면을 예시한 것이다. 즉, 좌측 화면은 단체 채팅방(300)에서 구성원들이 게임의 경험과 가격 등에 관해 대화를 나누는 채팅 문자들을 보여준다. 채팅방 화면 상단에는 채팅을 하는 날짜가 2017년 5월 14일로 적혀 있으므로, 그날에 메신저 클라이언트(320)들 간의 채팅이 이루어진 것임을 보여준다. FIG. 9A illustrates an example of a screen where a messenger client 320 of the group chat room 300 has a chat room 300 that is created in the conventional manner. That is, the left screen shows the chat characters in the group chat room 300 where the members talk about the experience and the price of the game. At the top of the chat room screen, the date of chatting is written as May 14, 2017, indicating that a chat between the instant messenger clients 320 was made on that day.

도 9의 (B)는 도 9의 (A)의 마지막 채팅 이후, 예를 들어 3일 후인 2017년 5월 17일까지 채팅이 없었던 상황에서 단체 채팅방(300)에 있는 대화형 챗봇 인스턴스(310)가 공통 주제를 추출하여 채팅방에 제시하는 화면을 예시한다. 즉, 챗봇 인스턴스(310)는 설정된 대화 입력 확인 주기에 따라 기존의 단체 채팅방(300)의 공통 관심 주제를 공통 주제 추출 모듈(111)을 이용하여 추출하고, 웹 크롤링 모듈(113)을 이용하여 추출된 주제에 알맞은 내용을 채팅을 통해 제공하는 모습을 보여준다. 도 9의 (B)에 예시된 화면은 챗봇 인스턴스(310)가 단체 채팅방(300) 구성원들 간의 채팅 문자에 기초하여 특정 게임에 대한 특가 정보 및 할인 정보가 공통 주제임을 파악하여 그에 관한 정보를 추천하는 상황을 보여준다.9B shows an interactive chatbot instance 310 in the group chatting room 300 after the last chat in FIG. 9A, for example, three days later and no chat until May 17, A screen for presenting a common topic to a chat room is extracted. That is, the chatbot instance 310 extracts a common interest topic of the existing group chat room 300 using the common topic extraction module 111 according to the dialogue input confirmation cycle, extracts it using the web crawling module 113 It shows you how to chat with the contents on the subject. The screen illustrated in FIG. 9 (B) shows that the chatbot instance 310 recognizes that the special price information and the discount information for a specific game are a common theme based on chat characters between the members of the group chat room 300, Show the situation.

이에 따라, 다른 메신저 클라이언트(320)들은 대화형 챗봇 인스턴스(110)가 제공한 주제에 대한 대화를 계속 이어나갈 수 있게 된다. 결국, 대화형 챗봇 인스턴스(110)는 자신이 속해 있는 단체 채팅방(300)에 설정된 주기 동안 단체 채팅방(300) 구성원들 간의 대화가 없을 시, 자신이 먼저 구성원이 관심 있을 만한 주제에 대한 내용을 제공하여 구성원들의 메신저 클라이언트(320)들과 상호작용을 할 수 있다. 이를 통해 대화형 챗봇 인스턴스(110)는 단체 채팅방(300) 내에서 수동적인 대화 참가자에 그치는 것이 아니라 구성원들 간에 대화 주제를 제시하면서 그들 간의 대화를 능동적으로 유도하고 주도할 수 있다. This allows other messenger clients 320 to continue conversations on the topic provided by the interactive chatbot instance 110. [ If there is no conversation among the members of the group chat room 300 during a period set in the group chat room 300 to which the chat chat group 300 belongs, the interactive chat box instance 110 provides contents about a topic And interact with the messenger clients 320 of the members. Accordingly, the interactive chatbot instance 110 is not limited to a passive conversation participant in the group chat room 300, but can actively induce and lead a conversation among the members while presenting a conversation topic among the members.

도 4는 예시적인 실시예에 따른 대화형 챗봇의 채팅방 일정 등록 및 알림 서비스에 대한 흐름도이다.4 is a flowchart illustrating a chat room schedule registration and notification service of an interactive chatbot according to an exemplary embodiment.

도 4를 참조하면, 단체 대화방(300)에서 구성원들이 각자의 메신저 클라이언트(320)를 통해 채팅 내용을 입력하면, 그 단체 대화방(300)에 속해 있는 챗봇 인스턴스(310)는 구성원들이 입력한 채팅 메시지를 감지할 수 있다(단계 600).4, when a member inputs chat contents through the respective messenger clients 320 in the group chat room 300, the chat box instance 310 belonging to the group chat room 300 receives chat messages (Step 600).

챗봇 인스턴스(310)는 감지되는 채팅 메시지를 분석하여 어떤 구성원이 설정된 챗봇 인스턴스(310)의 이름(예: '챗봇')을 입력하였는지 확인할 수 있다(단계 601). The chatbot instance 310 may analyze the detected chat message to determine which member has entered the name (e.g., 'chatbot') of the configured chatbot instance 310 (step 601).

만약 챗봇의 이름이 입력되었다면, 챗봇 인스턴스(310)는 사용자 문장 분석 모듈(112)을 호출하여, 그 구성원이 자신의 이름을 부르면서 입력한 채팅 메시지를 그 사용자 문장 분석 모듈(112)에게 전달할 수 있다(단계 602). If the name of the chatbot is input, the chatbot instance 310 calls the user sentence analysis module 112, and the chatbot instance 310 can transmit the chat message input by the member to the user sentence analysis module 112 (Step 602).

이 호출에 응하여, 사용자 문장 분석 모듈(112)은 그 구성원의 입력 문장을 분석하고, 그 입력 문장의 컨텍스트를 추출할 수 있다(단계 603).In response to this call, the user sentence analysis module 112 may analyze the input sentence of the member and extract the context of the input sentence (step 603).

사용자 문장 분석 모듈(112)은, 추출된 컨텍스트에 기초하여, 그 입력 문장이 일정 등록에 관련된 문장인지 여부를 확인할 수 있다(단계 604). 사용자 문장 분석 모듈(112)은 입력된 문장이 설정된 챗봇의 이름을 포함하고, 자연어 처리 지식 데이터베이스(123)에서 확인하여 시간과 관련된 어휘를 포함하는지 확인할 수 있다. 만약 포함되어 있으면, 사용자 문장 분석 모듈(112)은 그 입력 문장이 일정 등록에 관련된 문장으로 판단할 수 있다.  Based on the extracted context, the user sentence analysis module 112 can check whether the input sentence is a sentence related to a certain registration (step 604). The user sentence analysis module 112 includes the name of the chatbot in which the sentence is set, and can check whether the input sentence includes the vocabulary related to the time by confirming it in the natural language processing knowledge database 123. [ If so, the user sentence analysis module 112 can determine that the input sentence is a sentence related to a certain registration.

만약 입력 문장이 일정 등록에 관련된 문장으로 판단되면, 사용자 문장 분석 모듈(112)은 분석된 문장 컨텍스트에서 시공간에 관련된 컨텍스트를 확인할 수 있다. 또한, 확인된 시공간에 관련된 컨텍스트를 컨텍스트 데이터베이스(122)에 저장할 수 있다(단계 605).If the input sentence is determined to be a sentence related to the schedule registration, the user sentence analysis module 112 can check the context related to the space time in the analyzed sentence context. In addition, the context associated with the identified space-time can be stored in the context database 122 (step 605).

그런 다음, 챗봇 인스턴서(310)는 전달받은 시공간 컨텍스트를 기반으로 하여 단체 채팅방(300)에 일정을 등록할 수 있다. 또한, 챗봇 인스턴스(310)에 설정된 기본 알림 주기에 따라 채팅을 통해 구성원에서 알림을 할 수 있다(단계 606). Then, the chatbox instantener 310 can register a schedule in the group chat room 300 based on the received space-time context. In addition, the member can be notified via chat in accordance with the basic notification cycle set in the chatbox instance 310 (step 606).

도 10은 단체 채팅방(300)에서 대화형 챗봇 시스템(110)이 채팅방 일정 등록 및 알림 서비스를 제공하는 화면의 예를 보여준다.FIG. 10 shows an example of a screen in which the interactive chatbox system 110 provides a chat room schedule registration and notification service in the group chat room 300.

도 10은 일실시예에 따른 대화형 챗봇 시스템(110)의 일정 등록 및 알림 서비스가 수행된 것의 한 사례로, 이에 대한 채팅창을 도시한 도면이다. 구체적으로, 도 10의 (A)는 대화형 챗봇 인스턴스(110)가 속한 단체 채팅방(300)의 구성원 중 한명이 대화형 챗봇 인스턴스(110)에게 일정 등록을 요청하고 있는 사례를 보여준다. 요청하는 메신저 클라이언트(320)가 입력한 문장을 보면, 예를 들어 챗봇의 이름("Chatbot")을 호출하고, 이후 일정에 관련된 시간 정보와 공간 정보를 ("이번 주 일요일", "신논현역 근처 보르네하우스웨딩홀") 입력하고, 일정에 대한 내용 ("문권이형 결혼식")과 함께 일정 등록을 요청한다. 이에 따라, 단체 채팅방(300)에 속해 있는 대화형 챗봇 인스턴스(310)는 그 입력된 문장을 문장 분석 모듈(112)을 통해 컨텍스트를 분석하고, 그 분석 결과를 전달받아 일정 등록에 관한 문장인지 판단할 수 있다. FIG. 10 is a view illustrating a chat window for the interactive chatbot system 110 according to an embodiment of the present invention. 10A illustrates a case where one of the members of the group chat room 300 to which the interactive chatbot instance 110 belongs requests the interactive chatbot instance 110 to register a schedule. For example, a chatbot name ("Chatbot") is called in response to a sentence input by the requesting messenger client 320, and then time information and space information related to the schedule ("This Sunday", " Nearby Bornea House Wedding Hall ") and request a schedule registration with the contents of the schedule (" Wedding Ceremony "). Accordingly, the interactive chatbot instance 310 belonging to the group chat room 300 analyzes the input sentence through the sentence analysis module 112, receives the analysis result, determines whether it is a sentence about the schedule registration can do.

이를 위해, 대화형 챗봇 인스턴스(310)는 먼저 대화형 챗봇(110)의 설정된 이름이 호출 되었는지를 확인한다. 만약 호출되었다면 일정에 관한 내용인지를 판단한다. 일정에 관한 내용인지는 자연어 처리 지식 베이스(123)와 분석된 컨텍스를 이용하여 판단할 수 있다. 만약 일정에 관한 내용이라고 판단이 되면, 일정 등록을 하고자 하는 내용과 관련된 시간, 공간 정보에 대한 컨텍스트를 이용하여 일정 등록을 완료할 수 있다. To this end, the interactive chatbot instance 310 first confirms that the configured name of the interactive chatbot 110 has been called. If so, determine if it is about the schedule. Whether the content is related to the schedule can be judged using the natural language processing knowledge base 123 and the analyzed context. If it is determined that the content is related to the schedule, the schedule registration can be completed using the context for the time and space information related to the schedule registration.

도 10의 (B)는 등록된 일정 이전 시점 예를 들어 하루 전에 단체 채팅방(300)의 대화형 챗봇 인스턴스(310)가 등록된 일정 알림을 수행하는 것에 대한 사례를 보여준다. 대화형 챗봇 인스턴스(310)는 한달 전, 일주일 전, 3일 전, 하루 전, 12시간 전, 3시간 전, 1시간 전과 같이 설정된 일정 알림 주기에 따라 채팅을 통해 등록된 일정을 단체 채팅방(300)의 구성원들에게 지속적으로 알려줄 수 있다. FIG. 10B shows an example of performing a schedule notification in which the interactive chatbot instance 310 of the group chat room 300 is registered, for example, one day before the registered schedule. The interactive chatbot instance 310 is configured to send a schedule registered through chat in accordance with a schedule notification period set as one month before, one week before, three days before, one day before, 12 hours before, three hours before, one hour before, ) To the members of the organization.

다음으로, 도 5는 예시적인 실시예에 따른 대화형 챗봇 시스템(110)의 채팅방 공지 알림 서비스에 대한 흐름도이다.Next, FIG. 5 is a flowchart of the chat room announcement notification service of the interactive chatbot system 110 according to the exemplary embodiment.

도 5를 참조하면, 채팅방 공지 알림도 채팅방 일정 등록 및 알림 서비스와 유사한 단계를 갖는다. 단계 700 ~ 단계 702는 단계 600 ~ 단계 602와 실질적으로 동일하다. 즉, 구성원의 채팅 입력 감지 및 챗봇 이름의 입력 여부 확인, 그리고 입력된 경우 사용자 문장 분석 모듈(112)을 호출하는 절차가 수행된다. Referring to FIG. 5, the chat room announcement notification has steps similar to the chat room schedule registration and notification service. Steps 700 to 702 are substantially the same as steps 600 to 602. That is, a process of detecting the chat input of the member and confirming whether or not the name of the chatbot is inputted, and a process of calling the user sentence analysis module 112 are performed.

그리고 사용자 문장 분석 모듈(112)을 이용하여 입력 문장을 분석하고, 이에 대한 컨텍스트를 추출할 수 있다(단계 703). Then, the user sentence analysis module 112 analyzes the input sentence and extracts the context therefrom (step 703).

그런 다음 그 추출된 컨텍스트에 기초하여, 입력된 문장이 공지 등록과 관련된 문장인지 확인할 수 있다(단계 704). 즉, 일정 등록과 마찬가지로, 입력된 문장이 설정된 챗봇의 이름을 포함하고, 공지와 관련된 어휘가 포함된 것으로 판단되면, 공지 등록과 관련된 문장으로 볼 수 있다. 공지와 관련된 어휘는 자연어 처리 지식 데이터베이스(123)에서 체크할 수 있다. Then, based on the extracted context, it can be confirmed whether the input sentence is a sentence related to the known registration (step 704). That is, as in the case of the schedule registration, if the input sentence includes the name of the set chatbot, and it is determined that the input related vocabulary is included, it can be regarded as a sentence related to the known registration. The vocabulary associated with the announcement can be checked in the natural language processing knowledge database 123.

만약 공지 등록에 관련된 문장이 입력된 것이 확인되면, 해당 문장을 공지로 등록할 수 있다(단계 705). If it is confirmed that the sentence associated with the notification registration is inputted, the sentence can be registered as a notice (step 705).

그리고 챗봇 인스턴스(310)는 설정된 주기에 따라 등록된 공지를 지속적으로 단체 채팅방(300)에 알려준다(단계 706). Then, the chatbot instance 310 continuously informs the group chat room 300 of the registered notice according to the set period (step 706).

도 11은 위에서 설명한 것과 같이 대화형 챗봇 시스템(110)이 단체 채팅방(300) 내에서 공지를 등록하고 및 알림을 제공하는 서비스를 수행한 사례로서, 이에 관련한 채팅창을 도시한다. FIG. 11 illustrates a chat window related to the interactive chatbot system 110, in which the interactive chatbot system 110 performs a service for registering notices and providing notifications in the group chat room 300, as described above.

도 11의 (A)는 대화형 챗봇 인스턴스(310)가 속해 있는 단체 채팅방(300)의 구성원 중 한 명이 그 대화형 챗봇 인스턴스(310)에게 공지 등록을 요청하고 있는 사례를 보여준다. 단체 채팅방(300)의 구성원 중 한 명의 메신저 클라이언트(320)의 입력 문장을 보면, 챗봇 인스턴스(310)의 이름("Chatbot")을 호출하고, 이후 공지에 등록하기 위한 내용("이번 주 금요일까지 등록금 내기")을 입력하고, 공지 등록을 요청할 수 있다. 이에 따라, 해당 단체 채팅방(300)에 속해 있는 대화형 챗봇 인스턴스(310)는 사용자 문장 분석 모듈(112)을 통해 그 입력 문장의 컨텍스트를 분석하고, 분석 결과에 따라 공지 등록에 관한 문장인지 판단할 수 있다. 11A shows a case where one of the members of the group chat room 300 to which the interactive chatbot instance 310 belongs requests a public registration to the interactive chatbot instance 310. FIG. ("Chatbot") of the chatbot instance 310 is displayed on the input sentence of one of the members of the group chat room 300 and the contents for registering in the announcement Payment of tuition "), and can request a public registration. Accordingly, the interactive chatbot instance 310 belonging to the group chat room 300 analyzes the context of the input sentence through the user sentence analysis module 112, and judges whether the sentence is related to the known registration according to the analysis result .

도 11의 (B)는 예컨대 등록된 공지일 하루 전에 단체 채팅방(300)의 대화형 챗봇 인스턴스(310)가 등록된 공지 알림을 수행하는 것에 대한 사례를 보여준다. 대화형 챗봇 인스턴스(310)는 한달 전, 일주일 전, 3일 전, 하루 전, 12시간 전, 3시간 전, 1시간 전과 같이 설정된 공지 알림 주기에 따라 채팅을 통해 등록된 공지를 구성원들에게 지속적으로 알려줄 수 있다.FIG. 11B shows an example in which the interactive chatbot instance 310 of the group chat room 300 performs the notification announcement in which the interactive chatbot instance 310 is registered, for example, one day before the registered notice. The interactive chatbot instance 310 continuously informs the members of the registered chat through the chat according to the notification period set as one month before, one week before, three days before, one day before, 12 hours before, three hours before, one hour before .

다음으로, 도 6은 본 발명의 바람직한 실시예에 따라, 대화형 챗봇이 채팅방 투표 알림 서비스를 제공하는 것에 대한 흐름도이다. Next, FIG. 6 is a flowchart of the interactive chatbot providing chat room ballot notification service according to a preferred embodiment of the present invention.

도 6을 참조하면, 채팅방 구성원들에 대한 투표 서비스도 채팅방 일정 등록 및 알림 서비스와 유사한 단계를 갖는다. 단계 800 ~ 단계 802는 단계 600 ~ 단계 602와 실질적으로 동일하다. 즉, 챗봇 인스턴스(310)의 주도로 단체 채팅방(300) 내의 구성원들의 채팅 입력 감지, 채팅 내용 중 챗봇 이름의 입력 여부 확인, 그리고 입력된 경우 사용자 문장 분석 모듈(112)을 호출하는 절차가 수행된다. Referring to FIG. 6, the voting service for the chat room members has steps similar to the chat room registration and notification service. Steps 800 to 802 are substantially the same as steps 600 to 602. That is, a chattering detection of members in the group chat room 300, a confirmation of whether or not a chatbot name is input in the chat content, and a process of calling the user sentence analysis module 112 are performed .

이러한 호출에 응하여, 사용자 문장 분석 모듈(112)이 입력 문장을 분석하고, 이에 대한 컨텍스트를 추출할 수 있다(단계 803).In response to this call, the user sentence analysis module 112 may analyze the input sentence and extract the context for it (step 803).

사용자 문장 분석 모듈(112)은, 사용자 문장 분석 모듈(112)에 의해 추출된 컨텍스트에 기초하여, 그 입력 문장이 투표에 관련된 문장인지 여부를 확인할 수 있다(단계 804). 만약 입력된 문장이 설정된 챗봇의 이름을 포함하고, 자연어 처리 지식 데이터베이스(123)에서 확인하여 투표와 관련 있는 어휘를 포함하는지 확인할 수 있다. 만약 포함되어 있으면 입력 문장이 투표에 관련된 문장으로 판단할 수 있다. Based on the context extracted by the user sentence analysis module 112, the user sentence analysis module 112 can check whether the input sentence is a sentence related to the ballot (step 804). If the inputted sentence includes the name of the set chatbot, it can be verified in the natural language processing knowledge database 123 to confirm whether or not the vocabulary associated with the vote is included. If it is included, the input sentence can be judged to be related to the ballot.

챗봇 인스턴스(310)는 만약 입력 문장이 투표에 관련된 문장으로 판단되면, 그 때까지 투표를 하지 않는 사람이 있는지 확인할 수 있다(단계 805). 그 때까지 투표를 하지 않은 사람이 있다면 그가 누구인지를 확인한다(단계 806).If the input sentence is judged to be a sentence related to the ballot, the chatbot instance 310 can check whether there is a person who does not vote until that time (step 805). If there is a person who has not voted by then, it is confirmed who he is (step 806).

그런 다음, 챗봇 인스턴스(310)는 자연어 문장 생성 모듈(113)을 이용하여 투표를 하지 않은 구성원에게 투표 불이행 사실을 통지할 수 있다(단계 807). 이 통지는 미리 설정된 주기에 따라 하거나 또는 확인 후 소정 시점에 할 수 있다. 이 통지를 통해 투표율을 높일 수 있다.Then, the chatbot instance 310 can notify the member who has not voted using the natural language sentence generation module 113 (step 807). This notification can be made in accordance with a preset cycle or at a predetermined time after confirmation. This notice can increase turnout.

도 12는 일실시예에 따른 대화형 챗봇 시스템(110)의 투표 등록 및 알림 서비스가 수행된 것의 한 사례로, 이에 대한 채팅창을 도시한 도면이다. 도 12의 (A)는 대화형 챗봇 인스턴스(310)가 속해 있는 단체 채팅방(300)의 구성원 중 한 명이 대화형 챗봇 인스턴스(310)에게 투표 등록을 요청하고 있는 사례를 보여준다. 메신저 클라이언트(320)의 입력 문장을 보면, 챗봇의 이름("Chatbot") 을 호출하고, 이후 투표에 등록하기 위한 내용("이번 주 토요일 야구장 갈 수 있는지")을 입력하고, 투표에 대한 답지("O/X")를 입력하고, 투표를 며칠 간 진행할지("4일간")를 입력하고, 투표 등록을 요청한다. 이에 따라, 대화형 챗봇 인스턴스(310)는 앞서 공지 등록 및 알림 서비스와 유사하게 그 문장을 문장 분석 모듈(112)을 통해 컨텍스트를 분석하고, 이에 따라 투표 등록에 관한 문장인지 판단할 수 있다. FIG. 12 is a view illustrating a chat window for an interactive chatbot system 110 according to an embodiment of the present invention. 12A shows an example in which one of the members of the group chat room 300 to which the interactive chatbot instance 310 belongs requests the interactive chatbot instance 310 to register a vote. In the input sentence of the messenger client 320, a chatbot name (" Chatbot ") is called, and then a content for registering in a vote ("can go to the baseball field this Saturday") is input, "O / X"), enter the number of days to vote ("4 days"), and request a vote registration. Accordingly, the interactive chatbot instance 310 can analyze the context through the sentence analysis module 112 similar to the known registration and notification service, and determine whether the sentence is related to the registration of the vote.

도 12의 (B)는 등록된 투표 진행 시간에 따라, 4일 후 투표를 하지 않은 메신저 클라이언트(320)들에 대해서 투표를 하도록 요청 것에 대한 사례를 보여준다. 대화형 챗봇 인스턴스(310)는 아직 투표를 하지 않은 구성원에 대해 투표를 요청하는 메시지를 단체 채팅방(300)에 생성할 수 있다. 이에 따라 해당 구성원은 기한 내에 투표를 완료하게 된다.FIG. 12B shows an example of requesting to vote for the messenger clients 320 who have not voted after 4 days according to the registered voting progress time. The interactive chatbot instance 310 may generate a message in the group chat room 300 to request a vote for a member who has not yet voted. The member will then complete the ballot within the time limit.

본 발명은 메신저 애플리케이션에 적용하여 메신저 서비스를 활성화하는 데 이용될 수 있다. The present invention can be applied to a messenger application and used to activate a messenger service.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the present invention as defined by the following claims. It can be understood that it is possible.

100: 봇 서버 110: 대화형 챗봇 시스템
120: 봇 서버 데이터베이스 200: 메신저 서버
300: 단체 채팅방 인스턴스 310: 챗봇 인스턴스
320: 메신저 클라이언트
100: Bot server 110: Interactive chatbot system
120: Bot server database 200: Messenger server
300: Group chat room instance 310: Chatbox instance
320: Messenger client

Claims (19)

메신저 서버를 통해 생성된 단체 채팅방의 구성원들 중 어느 한 명의 메신저 클라이언트가 봇 서버를 통해 자연어 처리 기반의 대화형 챗봇 인스턴스를 생성하는 단계;
생성된 상기 대화형 챗봇 인스턴스를 상기 단체 채팅방에 추가하는 단계;
상기 단체 채팅방에 추가된 상기 대화형 챗봇 인스턴스가 상기 메신저 서버를 통해 상기 단체 채팅방에서 구성원들이 각자의 메신저 클라이언트를 통해 생성한 대화 내용을 검색하여 공통 주제 추출 모듈을 이용하여 학습하는 단계; 및
학습 후, 상기 대화형 챗봇 인스턴스가 설정된 동작 환경에 따라 상기 단체 채팅방의 구성원으로서 (i) 상기 단체 채팅방의 공통 관심 주제를 제안하는 것과 (ii) 상기 단체 채팅방의 일정 등록 및 알림, 공지 사항 알림, 그리고 투표 관리 중 적어도 어느 한 가지의 서비스를 제공하는 것 중 적어도 어느 한 가지를 수행하는 단계를 포함하여,
상기 대화형 챗봇 인스턴스가 단체 채팅방의 활성화에 기여하도록 운용하는 것을 특징으로 하는 자연어 처리 기반 대화형 챗봇의 운용 방법.
Generating an interactive chatbot instance based on a natural language processing through an instant messenger client of one of members of a group chat room created through a messenger server;
Adding the generated interactive chatbot instance to the group chat room;
The interactive chatbot instance added to the group chat room is searched through the messenger server for members' conversation contents created in the group chat room through their respective messenger clients and learned using the common topic extraction module; And
(I) suggesting a common interest topic of the group chatting room as a member of the group chatting room according to an operating environment in which the interactive chatbot instance is set, (ii) scheduling and notifying of the group chatting room, And performing at least one of providing at least one of a service, a service, and a voting management,
Wherein the interactive chatbot instance is operated so as to contribute to the activation of the group chat room.
제1항에 있어서, 상기 어느 한 명의 메신저 클라이언트가 생성된 상기 대화형 챗봇의 기능 수행에 필요한 동작 환경을 설정하는 단계를 더 포함하는 것을 특징으로 하는 대화형 챗봇 운용 방법.The interactive chatbot operating method according to claim 1, further comprising setting an operation environment necessary for performing the function of the interactive chatbot in which the one of the messenger clients is generated. 제2항에 있어서, 상기 대화형 챗봇 인스턴스의 상기 동작 환경의 설정 항목은, (i) 상기 단체 채팅방에서 상기 구성원들이 상기 대화형 챗봇 인스턴스를 호출하기 위해 사용되는 상기 대화형 챗봇 인스턴스의 이름, (ii) 초기 대화 내용이 없을 경우에 상기 단체 채팅방에 추천할 초기 공통 관심 주제, (iii) 상기 단체 채팅방의 이전 대화 내용 학습 주기, (iv) 소정 기간 동안 상기 단체 채팅방에 대화가 없을 때마다 공통 관심 주제를 추천하기 위한 공통 주제 추천 주기, 그리고 (v) 상기 단체 채팅방의 일정, 공지, 투표가 등록되어 있을 때, 기한 도래를 체크하여 구성원들에게 미리 알려주기 위한 알림 시한 중 적어도 일부를 포함하는 것을 특징으로 하는 대화형 챗봇 운용 방법. The method of claim 2, wherein the setting items of the operating environment of the interactive chatbot instance include: (i) a name of the interactive chatbot instance used by the members to call the interactive chatbot instance in the group chat room, (ii) an initial common interest topic to be recommended to the group chat room when there is no initial chat content; (iii) a previous chat conversation content learning period of the group chat room; (iv) A common topic recommendation period for recommending a topic, and (v) at least a part of a notification period for checking the arrival of the due date when the schedule, notice, and vote of the group chat room are registered and informing the members in advance How to operate an interactive chatbot as a feature. 제1항에 있어서, 상기 단체 채팅방은 3명 이상의 구성원들의 메신저 클라이언트들이 참가하여 실시간 채팅을 할 수 있는 채팅 기능을 제공하며, 스마트폰 또는 데스크톱에서 운용될 수 있는 것을 특징으로 하는 대화형 챗봇 운용 방법. The interactive chatbot operating method according to claim 1, wherein the group chat room provides a chat function for real-time chatting by messenger clients of three or more members, and can be operated on a smart phone or a desktop . 제1항에 있어서, 상기 단체 채팅방의 공통 관심 주제는 상기 대화형 챗봇 인스턴스가 상기 학습하는 단계에서 상기 이전의 대화 내용을 기계 학습한 것을 기반으로 하여 추출하는 것을 특징으로 하는 대화형 챗봇 운용 방법. The interactive chatbot operating method according to claim 1, wherein a common interest topic of the group chat room is extracted based on the machine learning of the previous chat content in the learning step of the interactive chatbot instance. 제5항에 있어서, 상기 단체 채팅방의 공통 관심 주제의 추출에는 Latent Dirichlet Allocation (LDA)이라는 예측 모델이 이용되는 것을 특징으로 하는 대화형 챗봇 운용 방법. 6. The interactive chatbot operating method according to claim 5, wherein a prediction model called Latent Dirichlet Allocation (LDA) is used for extracting a common interest topic of the group chat room. 제6항에 있어서, 상기 대화형 챗봇 인스턴스는 웹 크롤링 모듈을 통해 웹에서 크롤링 기법을 통해 상기 공통 관심 주제들과 관련된 영상, 기사, 그리고 웹 페이지 중 적어도 어느 한 가지를 찾아서 채팅을 통해 상기 단체 채팅방에 알려주는 단계를 더 포함하는 것을 특징으로 하는 대화형 챗봇 운용 방법. The interactive chatbot instance of claim 6, wherein the interactive chatbot instance searches at least one of a video, an article, and a web page related to the common interest topics through a web crawling technique through a web crawling module, The method comprising the steps of: communicating with the chatbot; 제 1항에 있어서, 상기 단체 채팅방의 구성원들이 소정 기간 이상 채팅 메시지를 입력하지 않아도, 상기 대화형 챗봇 인스턴스가 상기 설정된 동작 환경에 따라 상기 단체 채팅방의 구성원들에게 먼저 채팅을 통해 능동적으로 대화를 시작하는 단계를 더 포함하는 것을 특징으로 하는 대화형 챗봇 운용 방법. The interactive chatbot system according to claim 1, wherein, even if the members of the group chat room do not input a chat message for a predetermined period of time, the interactive chatbot instance actively starts chatting to the members of the group chat room first according to the set operation environment Further comprising the steps of: 제 1항에 있어서, 상기 학습하는 단계는 상기 대화형 챗봇 인스턴스가, 딥 러닝 기반의 자연어 처리 기술과 자연어 처리 지식 데이터베이스를 이용하여, 상기 단체 채팅방의 구성원들이 상기 메신저 클라이언트들을 통해 입력하는 문장을 단어와 형태소 단위로 쪼개서 그 문장의 컨텍스트를 분석하여 컨텍스트 데이터베이스에 저장하는 단계를 포함하는 것을 특징으로 하는 대화형 챗봇 운용 방법. 2. The method according to claim 1, wherein the step of learning comprises: using the deep learning-based natural language processing technology and the natural language processing knowledge database, the interactive chatbot instance is used to translate a sentence input by the members of the group chat room through the messenger clients into words And analyzing the context of the sentence and storing the sentence in the context database. 제 9항에 있어서, 상기 학습하는 단계는 상기 대화형 챗봇 인스턴스가 상기 컨텍스트 데이터베이스에 저장된 문장에 기초하여 자연어 처리 기술을 활용하여 문장을 생성하여 채팅을 통해 제공하는 단계를 더 포함하는 것을 특징으로 하는 대화형 챗봇 운용 방법. [12] The method of claim 9, wherein the learning further comprises generating a sentence using the natural language processing technique based on a sentence stored in the context database by the interactive chatbot instance, How to interact with chatbot. 제 9항에 있어서, 상기 대화형 챗봇 인스턴스는 상기 단체 채팅방에 입력된 문장의 컨텍스트를 분석하기 위해 딥 러닝 기반의 Word embedding 모델 또는 Sequence-to-Sequence 모델을 이용하는 것을 특징으로 하는 대화형 챗봇 운용 방법. The interactive chatbot operation method according to claim 9, wherein the interactive chatbot instance uses a deep-running-based Word embedding model or a sequence-to-sequence model to analyze a context of a sentence input to the group chat room . 요청에 응하여 자연어 처리 기반의 대화형 챗봇 인스턴스를 생성하고, 제공되는 설정값에 따라 상기 챗봇 인스턴스의 동작 환경을 설정하여 상기 대화형 챗봇 인스턴스의 생성을 요청한 단체 채팅방에 제공하는 봇 서버;
3명 이상의 사용자의 메신저 클라이언트들의 요청에 응하여 단체 채팅방을 생성하고, 같은 단체 채팅방에 구성원으로 참가한 메신저 클라이언트들 및 챗봇 인스턴스에게 실시간 채팅 서비스를 제공하는 메신저 서버; 및
사용자 단말기에 설치되어 상기 메신저 서버를 통해 사용자에 의한 실시간 채팅 서비스를 제공하고, 상기 봇 서버에게 상기 대화형 챗봇 인스턴스의 생성 및 상기 단체 채팅방에의 추가를 요청하고, 상기 동작 환경에 관한 설정값을 제공할 수 있는 메신저 클라이언트를 포함하며,
상기 챗봇 인스턴스는 상기 단체 채팅방에 추가되면 상기 메신저 서버를 통해 상기 단체 채팅방에서 구성원들이 생성한 대화 내용을 검색하여 상기 봇 서버를 통해 학습하고, 그 학습 후, 설정된 동작 환경에 따라 상기 단체 채팅방의 구성원으로서 (i) 상기 단체 채팅방의 공통 관심 주제를 제안하는 것과 (ii) 상기 단체 채팅방의 일정 등록 및 알림, 공지 사항 알림, 그리고 투표 관리 중 적어도 어느 한 가지의 서비스를 제공하는 것 중 적어도 어느 한 가지를 수행하여 상기 단체 채팅방의 활성화에 기여할 수 있는 것을 특징으로 하는 자연어 처리 기반 대화형 챗봇의 운용 시스템.
A chat server for generating an interactive chatbot instance based on natural language processing in response to a request, setting an operation environment of the chatbot instance according to a provided setting value, and providing the interactive chatbot instance to a group chat room requested to generate the interactive chatbot instance;
A messenger server that creates a group chat room in response to a request of messenger clients of three or more users, provides a messenger client who participates in the same group chat room as a member, and a chat chat instance to a real-time chat service; And
A chat server installed in the user terminal and providing a real-time chat service by the user through the messenger server, requesting the bot server to create the interactive chatbot instance and adding the chat chat instance to the group chat room, A messenger client that can provide,
Wherein the chatbot instance is added to the group chat room, the chat room instance is searched through the messenger server to learn conversation contents created by the members in the group chat room and learned through the bot server, and after the learning, (I) proposing a common interest topic of the group chat room, and (ii) providing at least one of a schedule registration and notification of the group chat room, a notification notice, and a vote management service Wherein the chat room is capable of contributing to activation of the group chat room.
제12항에 있어서, 상기 봇 서버는, 상기 단체 채팅방에서 입력된 대화 문장들에 대한 기계 학습을 통해 상기 단체 채팅방의 구성원들의 공통 관심 주제를 찾아내어 공통 관심 주제 데이터베이스에 저장하는 공통 주제 추출 모듈; 자연어 처리 기술과 자연어 처리 지식 데이터베이스를 이용하여, 상기 단체 채팅방에 입력된 문장의 단어와 형태소 단위로 쪼개어 그 문장의 컨텍스트를 분석하고, 분석된 컨텍스트를 컨텍스트 데이터베이스에 저장하는 사용자 문장 분석 모듈; 그리고 상기 컨텍스트 데이터베이스에 저장된 분석된 문장에 기초하여 자연어 처리 기술을 활용하여 컨텍스트에 맞는 새로운 문장을 생성하는 자연어 문장 생성 모듈을 포함하는 것을 특징으로 하는 자연어 처리 기반 대화형 챗봇의 운용 시스템.The system according to claim 12, wherein the bot server includes: a common subject extracting module for finding common topics of interest of the members of the group chat room through machine learning on the chat sentences entered in the group chat room and storing them in a common interest subject database; A user sentence analysis module for analyzing the context of the sentence by dividing the sentence into words and morpheme units inputted in the group chatting room using the natural language processing technique and the natural language processing knowledge database and storing the analyzed context in the context database; And a natural language sentence generation module for generating a new sentence corresponding to the context using the natural language processing technique based on the analyzed sentence stored in the context database. 제13항에 있어서, 상기 봇 서버는, 상기 공통 관심 주제 데이터베이스에 저장된 상기 단체 채팅방의 공통 관심 주제를 기반으로, 웹에서 크롤링 기법을 통해 상기 공통 관심 주제와 관련된 영상, 인터넷 기사, 그리고 웹 페이지 중 적어도 어느 한 가지를 찾아서 상기 대화형 챗봇 인스턴스를 이용한 채팅을 통해 상기 단체 채팅방에 알려주는 웹 크롤링(Web crawling) 모듈을 더 포함하는 것을 특징으로 하는 자연어 처리 기반 대화형 챗봇의 운용 시스템.[14] The system of claim 13, wherein the bot server further comprises: a crawling method for browsing images, internet articles, and web pages related to the common interest topic based on a common interest topic of the group chat room stored in the common interest subject database Further comprising a web crawling module for finding at least one of the chat rooms and informing the group chat room through a chat using the interactive chat box instance. 제13항에 있어서, 상기 봇 서버는, 생성되는 각각의 챗봇 인스턴스의 정보를 저장하는 챗봇 정보 데이터베이스와, 상기 대화형 챗봇 인스턴스가 자연어 처리를 위한 지식 베이스와, 메신저 클라이언트들의 공통 관심 주제를 저장하는 공통 관심 주제 데이터베이스와, 분석된 자연어의 문장 의미를 저장하는 컨텍스트 데이터베이스를 포함하는 봇 서버 데이터베이스를 구비하는 것을 특징으로 하는 자연어 처리 기반 대화형 챗봇의 운용 시스템.14. The system of claim 13, wherein the bot server comprises: a chatbot information database for storing information of each generated chatbot instance; a knowledge base for natural language processing; And a bot server database including a common interest subject database and a context database for storing sentence meaning of the analyzed natural language. 제13항에 있어서, 상기 공통 주제 추출 모듈이 상기 공통 관심 주제를 찾아낼 때 LDA (Latent Dirichlet Allocation)이라는 예측 모델을 이용하여 상기 단체 채팅방의 구성원들 간의 대화 내용의 공통 관심 주제를 분석하여 찾아내는 것을 특징으로 하는 대화형 챗봇 운용 시스템. 14. The system of claim 13, wherein the common subject extraction module analyzes common topics of conversation contents among the members of the group chat room using a prediction model called Latent Dirichlet Allocation (LDA) when finding the common interest topic Interactive chatbot operation system. 제13항에 있어서, 상기 사용자 문장 분석 모듈이 문장의 컨텍스트를 분석할 때 딥 러닝 기반의 Word embedding 모델과 Sequence-to-Sequence 모델 중 어느 하나를 이용하는 것을 특징으로 하는 대화형 챗봇 운용 시스템. 14. The interactive chatbot operating system of claim 13, wherein the user sentence analysis module uses one of a deep-based Word embedding model and a sequence-to-sequence model when analyzing the context of the sentence. 제12항에 있어서, 상기 대화형 챗봇 인스턴스의 상기 동작 환경의 설정 항목은, (i) 상기 단체 채팅방에서 상기 구성원들이 상기 대화형 챗봇 인스턴스를 호출하기 위해 사용되는 상기 대화형 챗봇 인스턴스의 이름, (ii) 초기 대화 내용이 없을 경우에 상기 단체 채팅방에 추천할 초기 공통 관심 주제, (iii) 상기 단체 채팅방의 이전 대화 내용 학습 주기, (iv) 소정 기간 동안 상기 단체 채팅방에 대화가 없을 때마다 공통 관심 주제를 추천하기 위한 공통 주제 추천 주기, 그리고 (v) 상기 단체 채팅방의 일정, 공지, 투표가 등록되어 있을 때, 기한 도래를 체크하여 구성원들에게 미리 알려주기 위한 알림 시한 중 적어도 일부를 포함하는 것을 특징으로 하는 대화형 챗봇 운용 시스템. The method of claim 12, wherein the setting items of the interactive environment of the interactive chatbot instance include (i) a name of the interactive chatbot instance used by the members to call the interactive chatbot instance in the group chat room, (ii) an initial common interest topic to be recommended to the group chat room when there is no initial chat content; (iii) a previous chat conversation content learning period of the group chat room; (iv) A common topic recommendation period for recommending a topic, and (v) at least a part of a notification period for checking the arrival of the due date when the schedule, notice, and vote of the group chat room are registered and informing the members in advance Interactive chatbot operation system. 제12항에 있어서, 상기 대화형 챗봇 인스턴스는 상기 단체 채팅방의 구성원들이 소정 기간 이상 채팅 메시지를 입력하지 않아도, 상기 설정된 동작 환경에 따라 상기 단체 채팅방의 구성원들에게 먼저 채팅을 통해 능동적으로 대화를 시작하는 기능을 구비하는 것을 특징으로 하는 자연어 처리 기반 대화형 챗봇의 운용 시스템.13. The interactive chatbot service system according to claim 12, wherein, in the interactive chatbot instance, even if the members of the group chat room do not input chat messages for a predetermined period or longer, Wherein the natural language processing-based interactive chatbot has a function of providing a natural language processing-based interactive chatbot.
KR1020170134138A 2017-10-16 2017-10-16 Interactive chatbot operation method and system based on natural language processing for activation of messenger group chat room KR102050244B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170134138A KR102050244B1 (en) 2017-10-16 2017-10-16 Interactive chatbot operation method and system based on natural language processing for activation of messenger group chat room

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170134138A KR102050244B1 (en) 2017-10-16 2017-10-16 Interactive chatbot operation method and system based on natural language processing for activation of messenger group chat room

Publications (2)

Publication Number Publication Date
KR20190042337A true KR20190042337A (en) 2019-04-24
KR102050244B1 KR102050244B1 (en) 2019-11-29

Family

ID=66282330

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170134138A KR102050244B1 (en) 2017-10-16 2017-10-16 Interactive chatbot operation method and system based on natural language processing for activation of messenger group chat room

Country Status (1)

Country Link
KR (1) KR102050244B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102159952B1 (en) * 2020-02-07 2020-09-25 주식회사 마커룸 Apparatus and method for providing of arranging blind date
CN112152903A (en) * 2019-06-28 2020-12-29 连普乐士株式会社 Information providing method and system through instant messaging application
KR102275291B1 (en) * 2020-07-03 2021-07-09 주식회사 오프비트엠 System for artificial intelligence matching using media platform and method thereof
KR20210116406A (en) * 2019-12-16 2021-09-27 주식회사 세타랩 AI-based interactive feedback bot for clinical training education
CN113657873A (en) * 2021-09-03 2021-11-16 上海车点信息服务有限公司 AI intelligence-based group surface system
KR20220079339A (en) * 2020-12-04 2022-06-13 주식회사 카카오 Method and server of presenting unified event results to chat room
KR102637029B1 (en) * 2023-10-11 2024-02-15 주식회사 마인즈앤컴퍼니 Device for Generating Multi-turn Chat Bot Data Using LLM and Driving Method Thereof

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102423072B1 (en) 2020-11-26 2022-07-20 주식회사 와이즈넛 Apparatus for extracting knowledge triple based on artificial intelligent and method thereof
US11431766B2 (en) 2021-01-04 2022-08-30 International Business Machines Corporation Setting timers based on processing of group communications using natural language processing
KR102518448B1 (en) 2021-05-14 2023-04-06 (주)와이즈에이아이 System and method for providing automatic response call service based on ai chatbot

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040094233A (en) * 2003-05-02 2004-11-09 에스케이 텔레콤주식회사 User context collecting method using interactive interface
KR20140032082A (en) 2012-09-05 2014-03-14 재단법인대구경북과학기술원 Monitoring system for sitting posture of user
KR20150061679A (en) 2013-11-27 2015-06-05 주식회사 엑서스 Apparatus for non-destructive inspection of pipe
KR20150096295A (en) * 2014-02-14 2015-08-24 주식회사 플런티코리아 System and method for buinding q&as database, and search system and method using the same
KR101594500B1 (en) * 2015-08-12 2016-02-16 주식회사 스캐터랩 Method for Providing Necessary Information based on Chatting Documents
KR20160129472A (en) * 2015-04-30 2016-11-09 주식회사 카카오 Method for providing chatting service using cleint bot and apparatus for performing the method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040094233A (en) * 2003-05-02 2004-11-09 에스케이 텔레콤주식회사 User context collecting method using interactive interface
KR20140032082A (en) 2012-09-05 2014-03-14 재단법인대구경북과학기술원 Monitoring system for sitting posture of user
KR20150061679A (en) 2013-11-27 2015-06-05 주식회사 엑서스 Apparatus for non-destructive inspection of pipe
KR20150096295A (en) * 2014-02-14 2015-08-24 주식회사 플런티코리아 System and method for buinding q&as database, and search system and method using the same
KR20160129472A (en) * 2015-04-30 2016-11-09 주식회사 카카오 Method for providing chatting service using cleint bot and apparatus for performing the method
KR101594500B1 (en) * 2015-08-12 2016-02-16 주식회사 스캐터랩 Method for Providing Necessary Information based on Chatting Documents

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112152903A (en) * 2019-06-28 2020-12-29 连普乐士株式会社 Information providing method and system through instant messaging application
KR20210116406A (en) * 2019-12-16 2021-09-27 주식회사 세타랩 AI-based interactive feedback bot for clinical training education
KR102159952B1 (en) * 2020-02-07 2020-09-25 주식회사 마커룸 Apparatus and method for providing of arranging blind date
KR102275291B1 (en) * 2020-07-03 2021-07-09 주식회사 오프비트엠 System for artificial intelligence matching using media platform and method thereof
KR20220079339A (en) * 2020-12-04 2022-06-13 주식회사 카카오 Method and server of presenting unified event results to chat room
CN113657873A (en) * 2021-09-03 2021-11-16 上海车点信息服务有限公司 AI intelligence-based group surface system
KR102637029B1 (en) * 2023-10-11 2024-02-15 주식회사 마인즈앤컴퍼니 Device for Generating Multi-turn Chat Bot Data Using LLM and Driving Method Thereof

Also Published As

Publication number Publication date
KR102050244B1 (en) 2019-11-29

Similar Documents

Publication Publication Date Title
KR102050244B1 (en) Interactive chatbot operation method and system based on natural language processing for activation of messenger group chat room
KR102050334B1 (en) Automatic suggestion responses to images received in messages, using the language model
US9679300B2 (en) Systems and methods for virtual agent recommendation for multiple persons
US9148394B2 (en) Systems and methods for user interface presentation of virtual agent
US9659298B2 (en) Systems and methods for informing virtual agent recommendation
US9276802B2 (en) Systems and methods for sharing information between virtual agents
US9560089B2 (en) Systems and methods for providing input to virtual agent
US9262175B2 (en) Systems and methods for storing record of virtual agent interaction
US10938832B2 (en) Systems and methods for providing an interactive media presentation
US10708216B1 (en) Conversational user interfaces and artificial intelligence for messaging and mobile devices
US10511642B1 (en) Tools for micro-communities
WO2020005648A1 (en) Meeting preparation manager
US20140164532A1 (en) Systems and methods for virtual agent participation in multiparty conversation
US20140164953A1 (en) Systems and methods for invoking virtual agent
KR20170023115A (en) Chat-based support of communications and related functions
JP2017153078A (en) Artificial intelligence learning method, artificial intelligence learning system, and answer relay method
US20160021039A1 (en) Message control functions within communication systems
WO2014093339A1 (en) System and methods for virtual agent recommendation for multiple persons
CN112231463B (en) Session display method, apparatus, computer device and storage medium
US20210075758A1 (en) Server and user terminal for supporting management of social network
US11201900B1 (en) Methods and systems for multimedia communication while accessing network resources
US20110252112A1 (en) System and method for communicating with elected officials
US20190260705A1 (en) An apparatus and method for discovering computerized connections between persons and generating computerized introductions
Minooie Agendamelding: How audiences meld agendas in Iran
KR102488989B1 (en) Apparatus and method for providing a local friend finding service

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