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 PDFInfo
- 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
Links
- 230000002452 interceptive effect Effects 0.000 title claims abstract description 155
- 238000003058 natural language processing Methods 0.000 title claims abstract description 46
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000004913 activation Effects 0.000 title claims abstract description 8
- 230000006870 function Effects 0.000 claims abstract description 6
- 230000009193 crawling Effects 0.000 claims description 14
- 238000000605 extraction Methods 0.000 claims description 12
- 238000011017 operating method Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 8
- 238000013135 deep learning Methods 0.000 claims description 4
- 238000010801 machine learning Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 7
- 239000000284 extract Substances 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 244000145845 chattering Species 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
Images
Classifications
-
- G06Q50/50—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/30—Transportation; Communications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N99/00—Subject matter not provided for in other groups of this subclass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
Abstract
Description
본 발명은 채팅 로봇(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.
이에 따라 본 발명에서는 상기 언급된 문제를 해결하고, 선행 특허들을 보안하기 위해, 본 발명의 일 목적은 스마트폰 또는 데스크탑에서 운용되는 메신저 서비스에서 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
예시적인 실시예에 따르면, 시스템(50)은 봇 서버(100), 메신저 서버(200), 그리고 단체 채팅방(300)을 포함할 수 있다. 봇 서버(100)는 자연어 처리 기반의 대화형 챗봇 서비스를 제공하기 위한 서버이다. 메신저 서버(200)는 예컨대 스마트폰이나 데스크톱과 같은 사용자 단말기에 설치되어 메신저 서비스를 제공하는 서버 시스템이다. 단체 채팅방(300)은 메신저 클라이언트(320)로부터 만들어지는 채팅방을 의미한다. 단체 채팅방(300)이 실행되는 사용자 단말기와 메신저 서버(200) 간의 통신, 봇 서버(100)와 사용자 단말기에서 실행되는 챗봇 인스턴스 간의 통신, 그리고 봇 서버(100)와 메신저 서버(200) 간의 통신은 도면에는 무선통신방식으로 이루어지는 것으로 표현되어 있지만, 이에 한정되지 않고, 봇 서버(100)와 메신저 서버(200) 간에는 유선통신방식으로도 통신이 이루어질 수 있다.According to an exemplary embodiment, the
예시적인 실시예에 따르면, 봇 서버(100)는 대화형 챗봇 시스템(110)과 봇 서버 데이터베이스(120)를 포함할 수 있다. According to an exemplary embodiment, the
대화형 챗봇 시스템(110)은 공통 주제 추출 모듈(111), 사용자 문장 분석 모듈(112), 자연어 문장 생성 모듈(113), 그리고 웹 크롤링 모듈(114)을 포함할 수 있다. 이 모듈들(111, 112, 113, 114)은 프로그램으로 구현된 프로그램 모듈일 수 있다.The
예시적인 실시예에 따르면, 봇 서버 데이터베이스(120)는 공통 관심 주제 데이터베이스(121), 컨텍스트 데이터베이스(122), 자연어 처리 지식 데이터베이스(123), 그리고 챗봇 정보 데이터베이스(124)를 포함할 수 있다. 공통 관심 주제 데이터베이스(121)는 메신저 클라이언트들(320)의 공통 관심 주제를 저장할 수 있다. 컨텍스트 데이터베이스(122)는 분석된 자연어의 문장 의미를 저장할 수 있다. 자연어 처리 지식 데이터베이스(123)는 대화형 챗봇 인스턴스(310)가 자연어 처리를 위한 지식 정보를 저장, 관리하는 지식 베이스이다. 챗봇 정보 데이터베이스(124)는 생성되는 각각의 챗봇 인스턴스의 정보를 저장할 수 있다. 도시되지는 않았지만, 봇 서버 데이터베이스(120)는 대화형 챗봇 인스턴스(310)의 동작에 관한 규칙이 정의된 규칙 데이터베이스를 더 포함할 수 있다. 규칙 데이터베이스에 저장될 규칙 정보는 예를 들어 챗봇 정보 데이터베이스(124)의 일부로 편입시켜 관리될 수도 있다.According to an exemplary embodiment, the
대화형 챗봇 시스템(110)의 공통 주제 추출 모듈(111)은 입력된 대화 문장들에 대해서 공통 관심 주제를 찾아내기 위한 기계 학습 방법을 수행하기 위한 모듈일 수 있다. 이 모듈(111)은 공통의 관심 주제를 찾아내기 위해, 이 모듈(110)은 생성된 챗봇 인스턴스(310)가 속한 단체 채팅방의 이전 대화 기록을 입력으로 하여, 예를 들어 LDA (Latent Dirichlet Allocation) 모델을 사용하여 공통 주제를 찾아낼 수 있다. 나아가, 찾아진 공통 주제는 공통 관심 주제 데이터베이스(121)에 저장할 수 있다. 만약 속한 단체 채팅방의 이전 대화 기록이 없을 경우, 공통 관심 주제를 찾아내기 위해 일정 기간 동안 대화 수집 기간을 가질 수 있다. 대화 수집은 일정 기간 동안 일정량의 대화가 충족되는 것을 기준으로 수행할 수 있을 것이다. 예를 들어 일주일의 기간 동안 100개 이상의 대화가 입력되어야 공통 관심 주제를 추천하는 것을 기준으로 삼을 수 있다. 대화를 수집하는 기간 동안은 공통 주제를 추천하지 않게 된다.The common
사용자 문장 분석 모듈(112)은 채팅방에 입력된 문장에 대한 의미를 분석하기 위한 모듈일 수 있다. 의미 분석을 위해, 사용자 문장 분석 모듈(120)은 딥 러닝 기반의 Word embedding, 또는 Sequence-to-Sequence 모델 등과 같은 자연어 처리 기술과 자연어 처리 지식 데이터베이스(123)를 이용할 수 있다. 문장 분석을 위해, 자연어 처리 기법 기반으로 사용자가 입력한 문장의 단어와 형태소 단위로 쪼개어 분석하고, 분석된 결과와 자연어 처리를 위한 지식 베이스(123)를 이용하여 사용자의 문장의 의미를 파악한다. 또한, 분석된 컨텍스트를 컨텍스트 데이터베이스(122)에 저장한다.The user
자연어 문장 생성 모듈(113)은 컨텍스트 데이터베이스(122)에 저장된 분석된 컨텍스트 데이터를 이용할 수 있다. 자연어 문장 생성 모듈(113)은 사용자 문장 분석 모듈(112)과 마찬가지로 자연어 처리 기술을 활용하며, 문장 컨텍스트에 맞는 새로운 문장을 생성하고, 대화형 챗봇 인스턴스(310)의 동작 환경의 설정값에 따라 채팅을 통해 생성된 문장을 단체 채팅방(300)에 제공할 수 있다. The natural language
웹 크롤링 모듈(114)은 공통 관심 주제 데이터베이스(121)에 저장된 단체 채팅방의 공통 관심 주제를 기반으로 웹에서 크롤링 기법을 통해 공통 관심 주제와 관련된 영상, 인터넷 기사, 웹 페이지 중 적어도 어느 한 가지를 찾아내고, 찾아진 결과물을 대화형 챗봇 인스턴스(310)를 이용한 채팅을 통해 단체 채팅방(300)에 출력하는 기능을 갖는 모듈일 수 있다. The
봇 서버(100)는 대화형 챗봇 시스템(110)의 상기의 모듈(111~114)과 데이터베이스(121~124)를 이용하여 채팅방 내에서 공통 주제 추천 서비스, 채팅방 일정 등록 및 알림 서비스, 채팅방 공지 알림 서비스, 그리고 채팅방 투표 관리 서비스를 제공할 수 있다. The
예시적인 실시예에 따르면, 메신저 서버(200)는 채팅방의 생성 및 삭제에 대한 서비스 등 채팅방 관리를 위한 서비스를 제공하는 채팅방 관리 모듈(210)을 포함할 수 있다. 또한, 메신저 서버(200)는 채팅방 관리에 필요한 채팅방 정보 데이터베이스(220)와 사용자 정보 데이터베이스(230)를 포함할 수 있다.According to an exemplary embodiment, the
메신저 서버(200)는 채팅방 관리 모듈(210)을 통해 다수의 메신저 클라이언트들(320)에게 단체 채팅방(300)을 생성해주거나 또는 생성된 단체 채팅방을 삭제하는 등의 관리를 수행할 수 있다. 메신저가 설치되어 있는 사용자 단말기에서, 메신저 클라이언트들(320)은 단체 채팅방(300)을 통해 서로 간에 채팅을 수행할 수 있다. 채팅방 관리 모듈(210)은 단체 채팅방의 관리를 위해, 생성되어 운용되는 단체 채팅방(300)의 정보와 메신저 클라이언트들(320)의 정보를 채팅방 정보 데이터베이스(220)와 사용자 정보 데이터베이스(230)에 각각 저장할 수 있다. 단체 채팅방(300)에서 이루어지는 채팅방 구성원들(참가자들) 간의 대화 내용을 채팅방 정보 DB(220)에 저장될 수 있다.The
단체 채팅방(300)은 3명 이상의 구성원들의 메신저 클라이언트(320)의 요청에 의해 메신저 서버(200)의 채팅방 관리 모듈(210)을 통해 생성될 수 있다. 단체 채팅방(300)에는 3명 이상의 구성원들의 메신저 클라이언트(320) 외에, 대화형 챗봇 인스턴스(310)도 대화 구성원으로서 참가할 수 있다. 단체 채팅방(300)의 각 구성원은 봇 서버(100)를 통해 대화형 챗봇 인스턴스(310)를 생성토록 하고, 그 생성된 챗봇 인스턴스(310)를 단체 채팅방(300)에 초대할 수 있다. The
예시적인 실시예에 따르면, 생성된 단체 채팅방(300)은 기본적으로 구성원들 간의 실시간 채팅 서비스를 제공할 수 있다. 그 외에, 도 7에 예시된 화면과 같이, 단체 채팅방 내의 일정 등록 및 관리 서비스, 공지 서비스, 및/또는 투표 서비스를 제공할 수도 있다. According to an exemplary embodiment, the generated
예시적인 실시예에 따르면, 이러한 일정, 공지, 및/또는 투표 서비스의 경우, 도 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
도 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
단체 채팅방(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
대화형 챗봇 인스턴스(310)의 생성을 요청한 구성원의 메신저 클라이언트(320)는 기본 환경 설정이 완료된 챗봇 인스턴스(310)를 해당 단체 채팅방(300)의 구성원으로서 추가할 수 있다(단계 402). 챗봇 인스턴스(310)의 추가는 어떤 구성원이 상기 단체 채팅방(300)에 외부 사용자를 초대하는 방식과 동일하게 사용자 추가 버튼을 눌러 봇 서버(100)에서 제공하는 챗봇 인스턴스(310)를 검색 및 추가함으로써 이루어질 수 있다. The
해당 단체 채팅방(300)에 처음으로 추가된 챗봇 인스턴스(310)는 그 단체 채팅방(300)에서 그 때까지 구성원들 간에 오간 모든 대화 내용을 메신저 서버(200)를 통해 제공받을 수 있다 (단계 403). 즉, 단체 채팅방(300)에서 구성원들끼리 주고받은 대화 내용은 채팅방 정보 DB(220)에 저장되어 있다. 챗봇 인스턴스(310)는 단체 채팅방(300)에 신규 참가 시, 메신저 서버(200)에게 기존 대화 내용의 검색을 요청하여 읽어올 수 있다.The
챗봇 인스턴스(310)는 그 읽어온 대화 내용을 입력으로 하여, 공통 주제 추출 모듈(111)을 이용하여 구성원의 공통 관심 주제를 추출할 수 있다(단계 404). 공통 주제 추출 모듈(111)은 대화형 챗봇 인스턴스(310)를 통해 제공받은 단체 채팅방(300) 구성원들의 대화 문장들을 기계 학습하여 그 단체 채팅방(300)의 구성원들의 공통 관심 주제를 찾아낼 수 있다. 공통 관심 주제를 추출할 때, 대화 내용 학습 모델을 만들어 그것을 이용할 수 있다. 예를 들어 LDA (Latent Dirichlet Allocation) 모델이 대화 내용 학습 모델로 사용될 수 있다. 그리고 찾아낸 공통 관심 주제를 공통 관심 주제 데이터베이스(121)에 저장할 수 있다. The
추출된 공통 관심 주제는 공통 관심 주제 데이터베이스(121)에 저장을 한 후, 챗봇 인스턴스(310)는 해당 단체 채팅방(300)의 구성원에 의해서 퇴출되기 전까지 설정된 환경 설정에 따라 지속적으로 챗봇 서비스를 수행할 수 있다 (단계 405와 406).After the extracted common interest topic is stored in the common interest
다음으로, 도 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
만약 설정된 주기 동안 대화가 없다면, 챗봇 인스턴스(310)는 공통 주제 추출 모듈(111)을 호출하고(단계 501), 호출된 공통 주제 추출 모듈(111)은 참가 중인 단체 채팅방(300)에서의 현재까지의 대화 내용을 채팅방 정보 데이터베이스(220)에서 검색하여 읽어올 수 있다(단계 502). If there is no dialogue during the set period, the
공통 주제 추출 모듈(111)은 읽어온 대화 내용 데이터를 이용하여 단체 채팅방(300) 구성원들의 공통 관심 주제를 추출할 수 있다(단계 503).The common
공통 주제 추출 모듈(111)은 추출된 공통 관심 주제를 공통 관심 주제 데이터베이스(121)에 저장할 수 있다(단계 506). The common
이 후, 웹 크롤링 모듈(113)을 이용하여 공통 관심 주제와 관련된 컨텐츠 예를 들어, 영상, 기사, 또는 웹 페이지 등을 웹에서 크롤링할 수 있다(단계 507). 찾아진 결과물은 대화형 챗봇 인스턴스(310)를 통해 설정된 주기 마다 채팅을 통해 단체 채팅방(300)에 출력할 수 있다. 즉, 웹 크롤링 모듈(113)은 크롤링 결과물을 챗봇 인스턴스(310)에 전달하고, 챗봇 인스턴스(310)는 그것울 해당 단체 채팅방(300)에 올릴 수 있다(단계 508). Thereafter, the
다음으로, 도 9는 예시적인 실시예에 따라 대화형 챗봇에 의해 공통 주제 추천 서비스가 수행되는 단체 채팅방(300)의 화면 예를 도시한다. Next, FIG. 9 shows a screen example of the
도 9의 (A)는 기존에 생성된 단체 채팅방(300)이 있고, 그 단체 채팅방(300)을 구성하는 메신저 클라이언트(320)들이 채팅창에서 대화를 하는 화면을 예시한 것이다. 즉, 좌측 화면은 단체 채팅방(300)에서 구성원들이 게임의 경험과 가격 등에 관해 대화를 나누는 채팅 문자들을 보여준다. 채팅방 화면 상단에는 채팅을 하는 날짜가 2017년 5월 14일로 적혀 있으므로, 그날에 메신저 클라이언트(320)들 간의 채팅이 이루어진 것임을 보여준다. FIG. 9A illustrates an example of a screen where a
도 9의 (B)는 도 9의 (A)의 마지막 채팅 이후, 예를 들어 3일 후인 2017년 5월 17일까지 채팅이 없었던 상황에서 단체 채팅방(300)에 있는 대화형 챗봇 인스턴스(310)가 공통 주제를 추출하여 채팅방에 제시하는 화면을 예시한다. 즉, 챗봇 인스턴스(310)는 설정된 대화 입력 확인 주기에 따라 기존의 단체 채팅방(300)의 공통 관심 주제를 공통 주제 추출 모듈(111)을 이용하여 추출하고, 웹 크롤링 모듈(113)을 이용하여 추출된 주제에 알맞은 내용을 채팅을 통해 제공하는 모습을 보여준다. 도 9의 (B)에 예시된 화면은 챗봇 인스턴스(310)가 단체 채팅방(300) 구성원들 간의 채팅 문자에 기초하여 특정 게임에 대한 특가 정보 및 할인 정보가 공통 주제임을 파악하여 그에 관한 정보를 추천하는 상황을 보여준다.9B shows an
이에 따라, 다른 메신저 클라이언트(320)들은 대화형 챗봇 인스턴스(110)가 제공한 주제에 대한 대화를 계속 이어나갈 수 있게 된다. 결국, 대화형 챗봇 인스턴스(110)는 자신이 속해 있는 단체 채팅방(300)에 설정된 주기 동안 단체 채팅방(300) 구성원들 간의 대화가 없을 시, 자신이 먼저 구성원이 관심 있을 만한 주제에 대한 내용을 제공하여 구성원들의 메신저 클라이언트(320)들과 상호작용을 할 수 있다. 이를 통해 대화형 챗봇 인스턴스(110)는 단체 채팅방(300) 내에서 수동적인 대화 참가자에 그치는 것이 아니라 구성원들 간에 대화 주제를 제시하면서 그들 간의 대화를 능동적으로 유도하고 주도할 수 있다. This allows
도 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
챗봇 인스턴스(310)는 감지되는 채팅 메시지를 분석하여 어떤 구성원이 설정된 챗봇 인스턴스(310)의 이름(예: '챗봇')을 입력하였는지 확인할 수 있다(단계 601). The
만약 챗봇의 이름이 입력되었다면, 챗봇 인스턴스(310)는 사용자 문장 분석 모듈(112)을 호출하여, 그 구성원이 자신의 이름을 부르면서 입력한 채팅 메시지를 그 사용자 문장 분석 모듈(112)에게 전달할 수 있다(단계 602). If the name of the chatbot is input, the
이 호출에 응하여, 사용자 문장 분석 모듈(112)은 그 구성원의 입력 문장을 분석하고, 그 입력 문장의 컨텍스트를 추출할 수 있다(단계 603).In response to this call, the user
사용자 문장 분석 모듈(112)은, 추출된 컨텍스트에 기초하여, 그 입력 문장이 일정 등록에 관련된 문장인지 여부를 확인할 수 있다(단계 604). 사용자 문장 분석 모듈(112)은 입력된 문장이 설정된 챗봇의 이름을 포함하고, 자연어 처리 지식 데이터베이스(123)에서 확인하여 시간과 관련된 어휘를 포함하는지 확인할 수 있다. 만약 포함되어 있으면, 사용자 문장 분석 모듈(112)은 그 입력 문장이 일정 등록에 관련된 문장으로 판단할 수 있다. Based on the extracted context, the user
만약 입력 문장이 일정 등록에 관련된 문장으로 판단되면, 사용자 문장 분석 모듈(112)은 분석된 문장 컨텍스트에서 시공간에 관련된 컨텍스트를 확인할 수 있다. 또한, 확인된 시공간에 관련된 컨텍스트를 컨텍스트 데이터베이스(122)에 저장할 수 있다(단계 605).If the input sentence is determined to be a sentence related to the schedule registration, the user
그런 다음, 챗봇 인스턴서(310)는 전달받은 시공간 컨텍스트를 기반으로 하여 단체 채팅방(300)에 일정을 등록할 수 있다. 또한, 챗봇 인스턴스(310)에 설정된 기본 알림 주기에 따라 채팅을 통해 구성원에서 알림을 할 수 있다(단계 606). Then, the
도 10은 단체 채팅방(300)에서 대화형 챗봇 시스템(110)이 채팅방 일정 등록 및 알림 서비스를 제공하는 화면의 예를 보여준다.FIG. 10 shows an example of a screen in which the
도 10은 일실시예에 따른 대화형 챗봇 시스템(110)의 일정 등록 및 알림 서비스가 수행된 것의 한 사례로, 이에 대한 채팅창을 도시한 도면이다. 구체적으로, 도 10의 (A)는 대화형 챗봇 인스턴스(110)가 속한 단체 채팅방(300)의 구성원 중 한명이 대화형 챗봇 인스턴스(110)에게 일정 등록을 요청하고 있는 사례를 보여준다. 요청하는 메신저 클라이언트(320)가 입력한 문장을 보면, 예를 들어 챗봇의 이름("Chatbot")을 호출하고, 이후 일정에 관련된 시간 정보와 공간 정보를 ("이번 주 일요일", "신논현역 근처 보르네하우스웨딩홀") 입력하고, 일정에 대한 내용 ("문권이형 결혼식")과 함께 일정 등록을 요청한다. 이에 따라, 단체 채팅방(300)에 속해 있는 대화형 챗봇 인스턴스(310)는 그 입력된 문장을 문장 분석 모듈(112)을 통해 컨텍스트를 분석하고, 그 분석 결과를 전달받아 일정 등록에 관한 문장인지 판단할 수 있다. FIG. 10 is a view illustrating a chat window for the
이를 위해, 대화형 챗봇 인스턴스(310)는 먼저 대화형 챗봇(110)의 설정된 이름이 호출 되었는지를 확인한다. 만약 호출되었다면 일정에 관한 내용인지를 판단한다. 일정에 관한 내용인지는 자연어 처리 지식 베이스(123)와 분석된 컨텍스를 이용하여 판단할 수 있다. 만약 일정에 관한 내용이라고 판단이 되면, 일정 등록을 하고자 하는 내용과 관련된 시간, 공간 정보에 대한 컨텍스트를 이용하여 일정 등록을 완료할 수 있다. To this end, the
도 10의 (B)는 등록된 일정 이전 시점 예를 들어 하루 전에 단체 채팅방(300)의 대화형 챗봇 인스턴스(310)가 등록된 일정 알림을 수행하는 것에 대한 사례를 보여준다. 대화형 챗봇 인스턴스(310)는 한달 전, 일주일 전, 3일 전, 하루 전, 12시간 전, 3시간 전, 1시간 전과 같이 설정된 일정 알림 주기에 따라 채팅을 통해 등록된 일정을 단체 채팅방(300)의 구성원들에게 지속적으로 알려줄 수 있다. FIG. 10B shows an example of performing a schedule notification in which the
다음으로, 도 5는 예시적인 실시예에 따른 대화형 챗봇 시스템(110)의 채팅방 공지 알림 서비스에 대한 흐름도이다.Next, FIG. 5 is a flowchart of the chat room announcement notification service of the
도 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.
그리고 사용자 문장 분석 모듈(112)을 이용하여 입력 문장을 분석하고, 이에 대한 컨텍스트를 추출할 수 있다(단계 703). Then, the user
그런 다음 그 추출된 컨텍스트에 기초하여, 입력된 문장이 공지 등록과 관련된 문장인지 확인할 수 있다(단계 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
만약 공지 등록에 관련된 문장이 입력된 것이 확인되면, 해당 문장을 공지로 등록할 수 있다(단계 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
도 11은 위에서 설명한 것과 같이 대화형 챗봇 시스템(110)이 단체 채팅방(300) 내에서 공지를 등록하고 및 알림을 제공하는 서비스를 수행한 사례로서, 이에 관련한 채팅창을 도시한다. FIG. 11 illustrates a chat window related to the
도 11의 (A)는 대화형 챗봇 인스턴스(310)가 속해 있는 단체 채팅방(300)의 구성원 중 한 명이 그 대화형 챗봇 인스턴스(310)에게 공지 등록을 요청하고 있는 사례를 보여준다. 단체 채팅방(300)의 구성원 중 한 명의 메신저 클라이언트(320)의 입력 문장을 보면, 챗봇 인스턴스(310)의 이름("Chatbot")을 호출하고, 이후 공지에 등록하기 위한 내용("이번 주 금요일까지 등록금 내기")을 입력하고, 공지 등록을 요청할 수 있다. 이에 따라, 해당 단체 채팅방(300)에 속해 있는 대화형 챗봇 인스턴스(310)는 사용자 문장 분석 모듈(112)을 통해 그 입력 문장의 컨텍스트를 분석하고, 분석 결과에 따라 공지 등록에 관한 문장인지 판단할 수 있다. 11A shows a case where one of the members of the
도 11의 (B)는 예컨대 등록된 공지일 하루 전에 단체 채팅방(300)의 대화형 챗봇 인스턴스(310)가 등록된 공지 알림을 수행하는 것에 대한 사례를 보여준다. 대화형 챗봇 인스턴스(310)는 한달 전, 일주일 전, 3일 전, 하루 전, 12시간 전, 3시간 전, 1시간 전과 같이 설정된 공지 알림 주기에 따라 채팅을 통해 등록된 공지를 구성원들에게 지속적으로 알려줄 수 있다.FIG. 11B shows an example in which the
다음으로, 도 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.
이러한 호출에 응하여, 사용자 문장 분석 모듈(112)이 입력 문장을 분석하고, 이에 대한 컨텍스트를 추출할 수 있다(단계 803).In response to this call, the user
사용자 문장 분석 모듈(112)은, 사용자 문장 분석 모듈(112)에 의해 추출된 컨텍스트에 기초하여, 그 입력 문장이 투표에 관련된 문장인지 여부를 확인할 수 있다(단계 804). 만약 입력된 문장이 설정된 챗봇의 이름을 포함하고, 자연어 처리 지식 데이터베이스(123)에서 확인하여 투표와 관련 있는 어휘를 포함하는지 확인할 수 있다. 만약 포함되어 있으면 입력 문장이 투표에 관련된 문장으로 판단할 수 있다. Based on the context extracted by the user
챗봇 인스턴스(310)는 만약 입력 문장이 투표에 관련된 문장으로 판단되면, 그 때까지 투표를 하지 않는 사람이 있는지 확인할 수 있다(단계 805). 그 때까지 투표를 하지 않은 사람이 있다면 그가 누구인지를 확인한다(단계 806).If the input sentence is judged to be a sentence related to the ballot, the
그런 다음, 챗봇 인스턴스(310)는 자연어 문장 생성 모듈(113)을 이용하여 투표를 하지 않은 구성원에게 투표 불이행 사실을 통지할 수 있다(단계 807). 이 통지는 미리 설정된 주기에 따라 하거나 또는 확인 후 소정 시점에 할 수 있다. 이 통지를 통해 투표율을 높일 수 있다.Then, the
도 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
도 12의 (B)는 등록된 투표 진행 시간에 따라, 4일 후 투표를 하지 않은 메신저 클라이언트(320)들에 대해서 투표를 하도록 요청 것에 대한 사례를 보여준다. 대화형 챗봇 인스턴스(310)는 아직 투표를 하지 않은 구성원에 대해 투표를 요청하는 메시지를 단체 채팅방(300)에 생성할 수 있다. 이에 따라 해당 구성원은 기한 내에 투표를 완료하게 된다.FIG. 12B shows an example of requesting to vote for the
본 발명은 메신저 애플리케이션에 적용하여 메신저 서비스를 활성화하는 데 이용될 수 있다. 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.
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.
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)
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)
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)
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 |
-
2017
- 2017-10-16 KR KR1020170134138A patent/KR102050244B1/en active IP Right Grant
Patent Citations (6)
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)
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 |