KR102468679B1 - Server, method and computer program for providing dialogue service using chatbot that remembers dialogue with user - Google Patents

Server, method and computer program for providing dialogue service using chatbot that remembers dialogue with user Download PDF

Info

Publication number
KR102468679B1
KR102468679B1 KR1020210168494A KR20210168494A KR102468679B1 KR 102468679 B1 KR102468679 B1 KR 102468679B1 KR 1020210168494 A KR1020210168494 A KR 1020210168494A KR 20210168494 A KR20210168494 A KR 20210168494A KR 102468679 B1 KR102468679 B1 KR 102468679B1
Authority
KR
South Korea
Prior art keywords
conversation
summary information
chatbot
real
sentences
Prior art date
Application number
KR1020210168494A
Other languages
Korean (ko)
Inventor
박규병
박지우
고현웅
김수환
Original Assignee
주식회사 튜닙
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 튜닙 filed Critical 주식회사 튜닙
Priority to KR1020210168494A priority Critical patent/KR102468679B1/en
Application granted granted Critical
Publication of KR102468679B1 publication Critical patent/KR102468679B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/34Browsing; Visualisation therefor
    • G06F16/345Summarisation for human users
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Machine Translation (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A server for providing a dialogue service using a chatbot which remembers a dialogue with a user comprises: a summary information generation unit for generating summary information in which a dialogue between a user terminal and the chatbot is summarized via a first trained model; a personal database storing the summary information for each user terminal; a sentence generation unit for obtaining, while the user terminal and the chatbot perform a real-time dialogue, relevant summary information related to the real-time dialogue from the personal database, and for generating a chatbot-side sentence by using the real-time dialogue and the relevant summary information via a second trained model; and a dialogue service providing unit for providing the real-time dialogue by using a user-side sentence received from the user terminal and the chatbot-side sentence. Accordingly, a dialogue between a user and a chatbot can be remembered for a long time to provide a consistent response when the user and the chatbot have a dialogue on a same subject. This application is a result of project support "Commercialization of Excellent Research from 2021 Artificial Intelligence Online Competition" within Open Competition Platform Construction Project hosted by the Ministry of Science and ICT and supported by the National IT Industry Promotion Agency using the Information and Communication Promotion Fund of the Ministry of Science and ICT [Project Number: R-20210726-011600].

Description

사용자와의 대화를 기억하는 챗봇을 통한 대화 서비스를 제공하는 서버, 방법 및 컴퓨터 프로그램{SERVER, METHOD AND COMPUTER PROGRAM FOR PROVIDING DIALOGUE SERVICE USING CHATBOT THAT REMEMBERS DIALOGUE WITH USER}Server, method and computer program for providing a conversation service through a chatbot that remembers a conversation with a user

본 발명은 사용자와의 대화를 기억하는 챗봇을 통한 대화 서비스를 제공하는 서버, 방법 및 컴퓨터 프로그램에 관한 것이다. The present invention relates to a server, method, and computer program for providing a conversation service through a chatbot that remembers a conversation with a user.

챗봇(Chatbot)이란 정해진 응답 규칙을 바탕으로 메신저를 통해 사용자와 대답할 수 있도록 구현된 시스템을 말한다. 챗봇은 원활한 대화를 위해 인공지능(AI)과 빅데이터 분석 기술을 기반으로 기계가 음성/문자 등을 식별할 수 있는 패턴 인식 기술, 인간의 언어를 컴퓨터에 인식시켜 질의 응답, 번역 등에 활용하는 자연어 처리 기술, 컴퓨터가 정보를 이해하고 논리적으로 추론할 수 있는 시멘틱 웹 기술, 문자로 구성된 데이터에서 유용한 정보를 찾아내는 텍스트 마이닝 기술, 대화 상대의 상황과 문맥을 파악하는 상황 인식 컴퓨팅 기술 등을 이용한다. A chatbot refers to a system implemented to respond to a user through a messenger based on predetermined response rules. Chatbots are based on artificial intelligence (AI) and big data analysis technology for smooth conversation, pattern recognition technology that allows machines to identify voices/texts, etc., and natural language that recognizes human language into computers and uses them for question answering and translation. It uses processing technology, semantic web technology that allows computers to understand information and reason logically, text mining technology that finds useful information from data composed of characters, and context-aware computing technology that understands the situation and context of the conversation partner.

이러한 다양한 기술이 적용된 챗봇은 메신저를 통해 홈쇼핑, 인터넷 쇼핑몰, 보험사, 은행, 음식 배달, 숙박 예약 등에서 소비자의 질문에 대답해주는 고객 센터의 역할을 주로 담당하고 있으며, 신뢰도 높은 양질의 정보를 제공한다는 장점을 가지고 있다. Chatbots with these various technologies are mainly responsible for answering questions from consumers in home shopping, internet shopping malls, insurance companies, banks, food delivery, and accommodation reservations through messengers, and provide reliable, high-quality information. has

그러나 종래의 챗봇은 사용자가 작성한 문장을 읽고 이를 해석하여 대화를 할 수 있는 능력이 없어 종종 엉뚱한 문장으로 응답을 한다는 단점을 가지고 있다. 또한, 챗봇은 사용자와 나눈 대화를 오랜 시간 동안 기억하지 못함으로써, 사용자와 나눈 대화에 대해 일관성 있는 응답을 할 수 없다는 단점을 가지고 있다. However, conventional chatbots do not have the ability to read and interpret sentences written by users and conduct conversations, so they often respond with incorrect sentences. In addition, chatbots have a disadvantage in that they cannot provide consistent responses to conversations with users because they do not remember conversations with users for a long time.

이 출원은 과학기술정보통신부가 주최하고 과학기술정보통신부의 정보통신진흥기금으로 정보통신산업진흥원이 지원하는 개방형 경진대회 플랫폼 구축 사업의 '2021년 인공지능 온라인경진대회 우수 성과기업 사업화' 사업지원을 받아 수행된 결과이다[과제 번호: R-20210726-011600].This application is sponsored by the Ministry of Science and ICT and supported by the National IT Industry Promotion Agency with the Information and Communication Promotion Fund of the Ministry of Science and ICT. This is the result obtained and performed [Task number: R-20210726-011600].

한국공개특허 제 2018-0019869호(2018.02.27 공개) Korean Patent Publication No. 2018-0019869 (published on February 27, 2018)

제 1 학습 모델을 통해 사용자 단말과 챗봇 간의 대화를 요약한 요약 정보를 생성하고, 개인별 데이터베이스에 사용자 단말별로 요약 정보를 저장하는 대화 서비스 제공 서버, 방법 및 컴퓨터 프로그램을 제공하고자 한다. It is intended to provide a conversation service providing server, method, and computer program that generate summary information summarizing conversations between user terminals and chatbots through a first learning model and store the summary information for each user terminal in an individual database.

사용자 단말과 챗봇이 실시간 대화를 수행하는 중에 개인별 데이터베이스로부터 실시간 대화와 관련된 관련 요약 정보를 획득하고, 제 2 학습 모델을 통해 실시간 대화 및 관련 요약 정보를 이용하여 챗봇측 문장을 생성하고, 사용자 단말로부터 수신한 사용자측 문장 및 챗봇측 문장을 이용하여 실시간 대화를 제공하는 대화 서비스 제공 서버, 방법 및 컴퓨터 프로그램을 제공하고자 한다. While the user terminal and the chatbot are performing real-time conversation, obtain summary information related to the real-time conversation from the individual database, generate chatbot-side sentences using the real-time conversation and related summary information through the second learning model, and from the user terminal It is intended to provide a conversation service providing server, method, and computer program that provide real-time conversation using received user-side sentences and chatbot-side sentences.

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다. However, the technical problem to be achieved by the present embodiment is not limited to the technical problems described above, and other technical problems may exist.

상술한 기술적 과제를 달성하기 위한 수단으로서, 본 발명의 일 실시예는, 제 1 학습 모델을 통해 사용자 단말과 챗봇 간의 대화를 요약한 요약 정보를 생성하는 요약 정보 생성부, 상기 사용자 단말별로 상기 요약 정보를 저장하는 개인별 데이터베이스, 상기 사용자 단말과 상기 챗봇이 실시간 대화를 수행하는 중에 상기 개인별 데이터베이스로부터 상기 실시간 대화와 관련된 관련 요약 정보를 획득하고, 제 2 학습 모델을 통해 상기 실시간 대화 및 상기 관련 요약 정보를 이용하여 챗봇측 문장을 생성하는 문장 생성부 및 상기 사용자 단말로부터 수신한 사용자측 문장 및 상기 챗봇측 문장을 이용하여 상기 실시간 대화를 제공하는 대화 서비스 제공부를 포함하는 대화 서비스 제공 서버를 제공할 수 있다. As a means for achieving the above-described technical problem, an embodiment of the present invention, a summary information generator for generating summary information summarizing a conversation between a user terminal and a chatbot through a first learning model, the summary for each user terminal A personal database for storing information, obtaining summary information related to the real-time conversation from the personal database while the user terminal and the chatbot are performing real-time conversation, and the real-time conversation and the related summary information through a second learning model It is possible to provide a conversation service providing server including a sentence generator for generating chatbot-side sentences using a sentence generator and a conversation service provider for providing the real-time dialogue using the user-side sentences received from the user terminal and the chatbot-side sentences. .

본 발명의 다른 실시예는, 제 1 학습 모델을 통해 사용자 단말과 챗봇 간의 대화를 요약한 요약 정보를 생성하는 단계, 개인별 데이터베이스에 상기 사용자 단말별로 상기 요약 정보를 저장하는 단계, 상기 사용자 단말과 상기 챗봇이 실시간 대화를 수행하는 중에 상기 개인별 데이터베이스로부터 상기 실시간 대화와 관련된 관련 요약 정보를 획득하고, 제 2 학습 모델을 통해 상기 실시간 대화 및 상기 관련 요약 정보를 이용하여 챗봇측 문장을 생성하는 단계 및 상기 사용자 단말로부터 수신한 사용자측 문장 및 상기 챗봇측 문장을 이용하여 상기 실시간 대화를 제공하는 단계를 포함하는 대화 서비스 제공 방법을 제공할 수 있다. Another embodiment of the present invention, generating summary information summarizing the conversation between the user terminal and the chatbot through a first learning model, storing the summary information for each user terminal in an individual database, the user terminal and the While the chatbot is performing a real-time conversation, acquiring related summary information related to the real-time conversation from the individual database, and generating a chatbot-side sentence using the real-time conversation and the related summary information through a second learning model; and It is possible to provide a conversation service providing method including providing the real-time conversation by using the user-side sentence and the chatbot-side sentence received from the user terminal.

본 발명의 또 다른 실시예는, 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우, 제 1 학습 모델을 통해 사용자 단말과 챗봇 간의 대화를 요약한 요약 정보를 생성하고, 개인별 데이터베이스에 상기 사용자 단말별로 상기 요약 정보를 저장하고, 상기 사용자 단말과 상기 챗봇이 실시간 대화를 수행하는 중에 상기 개인별 데이터베이스로부터 상기 실시간 대화와 관련된 관련 요약 정보를 획득하고, 제 2 학습 모델을 통해 상기 실시간 대화 및 상기 관련 요약 정보를 이용하여 챗봇측 문장을 생성하고, 상기 사용자 단말로부터 수신한 사용자측 문장 및 상기 챗봇측 문장을 이용하여 상기 실시간 대화를 제공하도록 하는 명령어들의 시퀀스를 포함하는 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램을 제공할 수 있다. Another embodiment of the present invention, when the computer program is executed by a computing device, generates summary information summarizing the conversation between the user terminal and the chatbot through the first learning model, and stores the summary information for each user terminal in an individual database. Stores, while the user terminal and the chatbot are performing real-time conversation, obtaining related summary information related to the real-time conversation from the individual database, and using the real-time conversation and the related summary information through a second learning model It is possible to provide a computer program stored in a computer readable recording medium including a sequence of instructions for generating a chatbot-side sentence and providing the real-time conversation using the user-side sentence received from the user terminal and the chatbot-side sentence. .

상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.The above-described means for solving the problems is only illustrative and should not be construed as limiting the present invention. In addition to the exemplary embodiments described above, there may be additional embodiments described in the drawings and detailed description.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 제 1 학습 모델을 통해 사용자 단말과 챗봇 간의 대화를 요약한 요약 정보를 생성하고, 이를 사용자 단말별로 개인별 데이터베이스에 요약 정보를 저장함으로써, 사용자와 챗봇 간에 나눈 대화를 오랜시간 동안 기억시켜 이후에 사용자와 챗봇 간의 동일 주제로 대화를 나누게된 경우, 일관성 있는 응답을 제공할 수 있도록 하는 대화 서비스 제공 서버, 방법 및 컴퓨터 프로그램을 제공할 수 있다. According to any one of the above-described problem solving means of the present invention, by generating summary information summarizing the conversation between the user terminal and the chatbot through the first learning model, and storing the summary information in an individual database for each user terminal, the user and It is possible to provide a conversation service providing server, method, and computer program that can provide a consistent response when a conversation between chatbots is remembered for a long time and later a conversation between a user and a chatbot on the same topic is provided.

사용자 단말과 챗봇이 실시간 대화를 수행하는 중에 개인별 데이터베이스로부터 실시간 대화와 관련된 관련 요약 정보를 획득하고, 제 2 학습 모델을 통해 실시간 대화 및 관련 요약 정보를 이용하여 챗봇측 문장을 생성하고, 사용자 단말로부터 수신한 사용자측 문장 및 챗봇측 문장을 이용하여 실시간 대화를 제공하는 대화 서비스 제공 서버, 방법 및 컴퓨터 프로그램을 제공할 수 있다. While the user terminal and the chatbot are performing real-time conversation, obtain summary information related to the real-time conversation from the individual database, generate chatbot-side sentences using the real-time conversation and related summary information through the second learning model, and from the user terminal It is possible to provide a conversation service providing server, method, and computer program for providing real-time conversation using the received user-side sentences and chatbot-side sentences.

도 1은 본 발명의 일 실시예에 따른 대화 서비스 제공 서버의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 실시간 대화에 포함되는 복수의 문장을 포함하는 복수개의 대화 그룹을 생성하는 과정을 설명하기 위한 예시적인 도면이다.
도 3a 내지 도 3c는 본 발명의 일 실시예에 따른 사용자와의 대화를 기억하는 챗봇을 통해 대화 서비스를 제공하는 과정을 설명하기 위한 예시적인 도면이다.
도 4는 본 발명의 일 실시예에 따른 대화 서비스 제공 서버에서 수행되는 사용자와의 대화를 기억하는 챗봇을 통한 대화 서비스를 제공하는 방법의 순서도이다.
1 is a configuration diagram of a conversation service providing server according to an embodiment of the present invention.
2 is an exemplary diagram for explaining a process of generating a plurality of conversation groups including a plurality of sentences included in a real-time conversation according to an embodiment of the present invention.
3A to 3C are exemplary diagrams for explaining a process of providing a conversation service through a chatbot that remembers a conversation with a user according to an embodiment of the present invention.
4 is a flowchart of a method of providing a conversation service through a chatbot that stores a conversation with a user performed in a conversation service providing server according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, embodiments of the present invention will be described in detail so that those skilled in the art can easily practice the present invention with reference to the accompanying drawings. However, the present invention may be embodied in many different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. Throughout the specification, when a part is said to be "connected" to another part, this includes not only the case where it is "directly connected" but also the case where it is "electrically connected" with another element interposed therebetween. . In addition, when a part "includes" a certain component, this means that it may further include other components, not excluding other components, unless otherwise stated, and one or more other characteristics. However, it should be understood that it does not preclude the possibility of existence or addition of numbers, steps, operations, components, parts, or combinations thereof.

본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.In this specification, a "unit" includes a unit realized by hardware, a unit realized by software, and a unit realized using both. Further, one unit may be realized using two or more hardware, and two or more units may be realized by one hardware.

본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.In this specification, some of the operations or functions described as being performed by a terminal or device may be performed instead by a server connected to the terminal or device. Likewise, some of the operations or functions described as being performed by the server may also be performed in a terminal or device connected to the corresponding server.

이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다. Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 대화 서비스 제공 서버의 구성도이다. 도 1을 참조하면, 대화 서비스 제공 서버(100)는 요약 정보 생성부(110), 필터링부(120), 개인별 데이터베이스(130), 요약 정보 추출부(140), 문장 생성부(150), 대화 서비스 제공부(160) 및 학습부(170)를 포함할 수 있다. 1 is a configuration diagram of a conversation service providing server according to an embodiment of the present invention. Referring to FIG. 1 , the conversation service providing server 100 includes a summary information generator 110, a filtering unit 120, an individual database 130, a summary information extractor 140, a sentence generator 150, a conversation It may include a service providing unit 160 and a learning unit 170 .

요약 정보 생성부(110)는 제 1 학습 모델을 통해 사용자 단말과 챗봇 간의 대화를 요약한 요약 정보를 생성할 수 있다. The summary information generation unit 110 may generate summary information summarizing the conversation between the user terminal and the chatbot through the first learning model.

이를 위해, 요약 정보 생성부(110)는 복수의 유효 문장을 포함하는 대화 그룹을 복수개 생성할 수 있다. 이 때, 복수의 대화 그룹 각각은 버퍼에 순차적으로 저장된 유효 문장 중 시간적으로 연속된 복수의 유효 문장을 포함할 수 있다. 여기서, 기학습된 머신러닝 및 딥러닝 모델 또는 규칙 기반 모델(Rule-Based) 모델을 이용하여 복수의 유효 문장을 결정할 수 있으며, 이에 한정하지 않는다. To this end, the summary information generating unit 110 may create a plurality of conversation groups including a plurality of valid sentences. In this case, each of the plurality of conversation groups may include a plurality of chronologically continuous valid sentences among valid sentences sequentially stored in the buffer. Here, a plurality of valid sentences may be determined using pre-learned machine learning and deep learning models or rule-based models, but is not limited thereto.

필터링부(120)는 버퍼에 순차적으로 저장되는 문장이 실시간 대화에 있어서 유효 문장인지 여부를 판단하고, 버퍼에서 유효 문장 이외의 문장을 삭제할 수 있다. 예를 들어, 버퍼에 "점심 뭐 먹었어?", "떡볶이 먹었어", "ㅋㅋㅋㅋㅋㅋ", "엄청 맛있었어"와 같이 순차적으로 문장이 저장된 경우, 필터링부(120)는 유효 문장에 해당하지 않는 "ㅋㅋㅋㅋㅋㅋ"(예를 들어, 의성어, 의태어 등)를 버퍼에서 삭제시킬 수 있다. The filtering unit 120 may determine whether sentences sequentially stored in the buffer are valid sentences in a real-time conversation, and may delete sentences other than valid sentences from the buffer. For example, when sentences such as "what did you eat for lunch?", "I ate tteokbokki", "hahahahaha", and "it was so delicious" are sequentially stored in the buffer, the filtering unit 120 filters "what did you eat for lunch?" Hahahaha" (eg, onomatopoeia, mimicry, etc.) can be deleted from the buffer.

이후, 요약 정보 생성부(110)는 실시간 대화가 수행되는 중에 실시간 대화에 포함되는 복수의 문장을 포함하는 대화 그룹을 복수개 생성하고, 복수의 대화 그룹 각각의 요약 정보를 생성할 수 있다. 여기서, 요약 정보는 실시간 대화로부터 사용자의 개인 정보(예를 들어, 나이, 직업, 직장 등)뿐만 아니라, 사용자의 취미, 성향, 습관, 생각 및 특정 주제에 대한 사용자의 생각 등이 요약된 요약문일 수 있다. 챗봇은 요약 정보에 기초하여 사용자와 관련된 대화를 기억함으로써, 이후에 챗봇과 사용자 간의 동일 주제 또는 동일 키워드로 대화가 이루어지는 경우, 챗봇이 요약 정보에 기초하여 챗봇이 마치 사람처럼 사용자와 대화를 주고받을 수 있도록 할 수 있다. Thereafter, while the real-time conversation is being performed, the summary information generating unit 110 may create a plurality of conversation groups including a plurality of sentences included in the real-time conversation, and generate summary information of each of the plurality of conversation groups. Here, the summary information is a summary that summarizes not only the user's personal information (eg, age, occupation, place of work, etc.) from real-time conversations, but also the user's hobbies, tendencies, habits, thoughts, and the user's thoughts on a specific topic. can The chatbot memorizes conversations related to the user based on the summary information, so that when a chatbot and the user later have a conversation on the same topic or the same keyword, the chatbot can communicate with the user like a human based on the summary information. can make it possible

여기서, 실시간 대화의 각 문장은 순차적으로 버퍼에 저장되고, 복수의 대화 그룹 각각은 버퍼에 순차적으로 저장된 문장 중 시간적으로 연속된 복수의 문장을 포함할 수 있다. Here, each sentence of the real-time conversation is sequentially stored in the buffer, and each of the plurality of conversation groups may include a plurality of temporally consecutive sentences among sentences sequentially stored in the buffer.

또한, 요약 정보 생성부(110)는 시간의 경과에 따라 적어도 둘 이상의 대화 그룹을 그룹핑하여 적어도 둘 이상의 대화 그룹을 추가로 요약시켜 요약 정보를 업데이트할 수 있다.Also, the summary information generation unit 110 may update the summary information by grouping at least two or more conversation groups over time and further summarizing the at least two or more conversation groups.

예를 들어, 업데이트된 요약 정보는 대화 주제 또는 핵심 키워드만으로 구성된 요약 정보를 포함할 수 있다. For example, the updated summary information may include summary information consisting only of conversation topics or key keywords.

요약 정보 생성부(110)는 버퍼에 순차적으로 저장된 실시간 대화의 각 문장에 기초하여 예를 들어, 다음의 수학식 1을 통해 복수의 문장을 포함하는 복수의 대화 그룹을 생성할 수 있다. The summary information generating unit 110 may generate a plurality of conversation groups including a plurality of sentences through Equation 1 below, based on each sentence of the real-time conversation sequentially stored in the buffer.

Figure 112021138638163-pat00001
Figure 112021138638163-pat00001

수학식 1을 참조하면, n은 학습용 대화 데이터가 제 2 학습 모델에 입력되는 복수의 문장의 수를 나타내고, m은 버퍼에 저장된 복수의 문장의 수를 나타낼 수 있다. 예를 들어, 학습용 대화 데이터가 제 2 학습 모델에 예를 들어, 10개의 문장이 입력되도록 설계된 경우, 요약 정보 생성부(110)는 버퍼에 순차적으로 저장된 실시간 대화의 각 문장을 8개씩 그룹핑하여 복수의 대화 그룹을 생성할 수 있다. 여기서, 0.8은 실험 또는 시뮬레이션 결과에 따라 변경될 수 있으므로, 이에 한정하지 않는다. Referring to Equation 1, n may represent the number of sentences in which conversation data for learning is input to the second learning model, and m may represent the number of sentences stored in the buffer. For example, when the conversation data for learning is designed such that 10 sentences are input to the second learning model, the summary information generating unit 110 groups each sentence of the real-time conversation sequentially stored in the buffer by 8 to make a plurality of sentences. You can create a chat group of Here, 0.8 may be changed according to experimental or simulation results, so it is not limited thereto.

요약 정보 생성부(110)는 시간적으로 인접한 두 대화 그룹 모두 동일한 문장을 소정 수(예를 들어, 3개의 문장) 포함하도록 복수의 대화 그룹을 생성할 수 있다. 요약 정보 생성부(110)는 예를 들어, 다음의 수학식 2를 통해 시간적으로 인접한 두 대화 그룹 모두 동일한 문장을 소정 수 포함하도록 복수의 대화 그룹을 생성할 수 있다. The summary information generating unit 110 may generate a plurality of conversation groups so that two temporally adjacent conversation groups include a predetermined number of identical sentences (eg, three sentences). The summary information generator 110 may generate a plurality of chat groups so that two temporally adjacent chat groups include a predetermined number of identical sentences through Equation 2 below, for example.

Figure 112021138638163-pat00002
Figure 112021138638163-pat00002

수학식 2를 참조하면, n은 학습용 대화 데이터가 제 2 학습 모델에 입력되는 복수의 문장 수를 나타내고, o는 시간적으로 인접한 두 대화 그룹에 모두 포함되는 동일한 문장의 수를 나타낼 수 있다. 예를 들어, 학습용 대화 데이터가 제 2 학습 모델에 예를 들어, 10개의 문장이 입력되도록 설계된 경우, 요약 정보 생성부(110)는 시간적으로 인접한 두 대화 그룹은 예를 들어, 동일한 3개의 문장을 포함할 수 있다. 여기서, 0.3은 실험 또는 시뮬레이션 결과에 따라 변경될 수 있으므로, 이에 한정하지 않는다.Referring to Equation 2, n may represent the number of sentences in which conversation data for learning is input to the second learning model, and o may represent the number of identical sentences included in both temporally adjacent conversation groups. For example, when the conversation data for learning is designed to input, for example, 10 sentences to the second learning model, the summary information generating unit 110 determines that two conversation groups that are temporally adjacent to each other receive, for example, the same three sentences. can include Here, 0.3 may be changed according to experimental or simulation results, so it is not limited thereto.

예를 들어, 요약 정보 생성부(110)는 시간적으로 인접한 제 1 대화 그룹 및 제 2 대화 그룹 모두 3개의 동일한 문장이 포함되도록, 제 1 대화 그룹에 포함되는 복수의 문장의 턴을 예를 들어, [0, 1, 2, 3, 4, 5, 6, 7]로 구성되도록 하고, 제 2 대화 그룹에 포함되는 복수의 문장의 턴을 예를 들어, [5, 6, 7, 8, 9, 10, 11, 12]로 구성되도록 하여 복수의 대화 그룹을 생성할 수 있다. For example, the summary information generating unit 110 sets turns of a plurality of sentences included in the first conversation group so that three identical sentences are included in both the first and second conversation groups that are temporally adjacent, for example, [0, 1, 2, 3, 4, 5, 6, 7], and the turns of a plurality of sentences included in the second dialogue group are, for example, [5, 6, 7, 8, 9, 10, 11, 12] to create a plurality of chat groups.

이하에서는, 도 2를 통해 실시간 대화가 수행되는 중에 실시간 대화에 포함되는 복수의 문장을 포함하는 복수개의 대화 그룹을 생성하는 과정에 대해 설명하도록 한다. Hereinafter, a process of generating a plurality of conversation groups including a plurality of sentences included in a real-time conversation while a real-time conversation is being performed will be described with reference to FIG. 2 .

도 2는 본 발명의 일 실시예에 따른 실시간 대화에 포함되는 복수의 문장을 포함하는 복수개의 대화 그룹을 생성하는 과정을 설명하기 위한 예시적인 도면이다.2 is an exemplary diagram for explaining a process of generating a plurality of conversation groups including a plurality of sentences included in a real-time conversation according to an embodiment of the present invention.

도 2를 참조하면, 요약 정보 생성부(110)는 실시간 대화(200)가 수행되는 중에 실시간 대화(200)에 포함되는 복수의 문장을 포함하는 대화 그룹을 복수개 생성하고, 복수의 대화 그룹 각각의 요약 정보를 생성할 수 있다. Referring to FIG. 2 , while the real-time conversation 200 is being performed, the summary information generating unit 110 creates a plurality of conversation groups including a plurality of sentences included in the real-time conversation 200, and generates a plurality of conversation groups for each of the plurality of conversation groups. Summary information can be created.

이를 위해, 필터링부(120)는 버퍼에 순차적으로 실시간 대화(200)로부터 유효 문장 이외의 문장을 삭제할 수 있다. 예를 들어, 필터링부(120)는 실시간 대화(200)에 유의미한 내용 또는 유의미한 키워드를 내포한 유효 문장이 아닌 예를 들어, 'ㅠㅠ'(211)와 같이 무의미한 문장을 삭제할 수 있다. To this end, the filtering unit 120 may sequentially delete sentences other than valid sentences from the real-time conversation 200 in the buffer. For example, the filtering unit 120 may delete meaningless sentences such as 'ㅠㅠㅠ' 211, which are not valid sentences including meaningful contents or meaningful keywords in the real-time conversation 200.

이후, 요약 정보 생성부(110)는 버퍼에 순차적으로 저장된 유효 문장 중 시간적으로 연속된 복수의 유효 문장을 포함하도록 대화 그룹을 복수개 생성할 수 있다. 여기서, 요약 정보 생성부(110)는 버퍼에 순차적으로 저장된 실시간 대화(200)의 각 문장을 8개씩 그룹핑하여 복수의 대화 그룹을 생성할 수 있다. 예를 들어, 요약 정보 생성부(110)는 챗봇의 "점심 뭐 먹었어?"부터 챗봇의 "우산 꼭 챙겨가"가지를 제 1 대화 그룹(210)으로 생성할 수 있다. Thereafter, the summary information generator 110 may create a plurality of conversation groups to include a plurality of chronologically continuous valid sentences among valid sentences sequentially stored in the buffer. Here, the summary information generating unit 110 may create a plurality of conversation groups by grouping eight sentences of the real-time conversation 200 sequentially stored in the buffer. For example, the summary information generating unit 110 may create the first conversation group 210 from "what did you eat for lunch?" of the chatbot to "make sure to bring an umbrella" of the chatbot.

또한, 요약 정보 생성부(110)는 실시간 대화(200)로부터 제 1 대화 그룹(210)과 시간적으로 연속된 복수의 유효 문장을 포함하는 제 2 대화 그룹(220)을 더 생성할 수 있다. 여기서, 요약 정보 생성부(110)는 시간적으로 인접한 두 대화 그룹이 소정 수(예를 들어, 3개의 문장)의 문장을 중복하여 포함하도록 복수의 대화 그룹을 생성할 수 있다. Also, the summary information generator 110 may further generate a second conversation group 220 including a plurality of valid sentences temporally continuous with the first conversation group 210 from the real-time conversation 200 . Here, the summary information generating unit 110 may generate a plurality of conversation groups such that two temporally adjacent conversation groups overlap with a predetermined number of sentences (eg, three sentences).

예를 들어, 제 1 대화 그룹(210)이 챗봇의 "점심 뭐 먹었어?"부터 챗봇의 "우산 꼭 챙겨가"까지의 문장이 포함된 경우, 요약 정보 생성부(110)는 제 1 대화 그룹(210)에 포함된 사용자의 "오늘은 날씨가 좋아서 공원에 산책다녀오려고"의 문장부터 챗봇의 "우산 꼭 챙겨가"의 문장을 제 2 대화 그룹(220)에도 포함시키면서, 사용자의 "그러게. 이따 산책다녀와서 따뜻한 유자차 한 잔 마셔야겠다"까지의 문장을 제 2 대화 그룹(220)으로 생성할 수 있다. For example, when the first conversation group 210 includes sentences from "What did you eat for lunch?" of the chatbot to "Be sure to take an umbrella" of the chatbot, the summary information generator 110 generates the first conversation group ( 210), the user's sentence "I'm going to go for a walk in the park today, because the weather is nice", and the chatbot's "Make sure to bring an umbrella" sentence are also included in the second conversation group 220, and the user's "Yes. Later. Sentences up to "I'll go for a walk and drink a cup of warm citron tea" can be generated as the second conversation group 220 .

이러한 과정을 통해, 복수의 대화 그룹을 생성함으로써, 각 대화 그룹 간의 대화 연결성을 갖도록 할 수 있다. Through this process, by creating a plurality of conversation groups, it is possible to have conversation connectivity between each conversation group.

다시 도 1로 돌아와서, 개인별 데이터베이스(130)는 사용자 단말별로 요약 정보를 저장할 수 있다. Returning to FIG. 1 , the individual database 130 may store summary information for each user terminal.

요약 정보 추출부(140)는 제 3 학습 모델을 통해 실시간 대화가 수행되는 중에 사용자 단말에 대응하는 데이터베이스에 저장된 복수의 요약 정보 중 관련 요약 정보를 추출할 수 있다. 여기서, 제 3 학습 모델은 대용량의 미라벨링된 데이터로 모델을 미리 학습시킨 후, 특정 태스크(task)를 가지고 있는 라벨링된 데이터로 전이 학습을 시키는 모델인 BERT(Bidirectional Encoder Representations form Transformer), BERT의 하이퍼파라미터 및 학습 데이터 사이즈 등이 조절된 RoBERTa(Robustly Optimized BERT Pretraining Approach) 등과 같은 인코더 모델이 이용될 수 있으며, 이에 한정하지 않는다. 또한, 제 3 학습 모델은 사전 학습된 언어 모델(PLM, Pretrained Language Model)에 요약 정보 검색 태스크(task)로 파인 튜닝(fine-tunning)된 모델일 수 있다.The summary information extractor 140 may extract related summary information from among a plurality of pieces of summary information stored in a database corresponding to the user terminal while a real-time conversation is performed through the third learning model. Here, the third learning model is BERT (Bidirectional Encoder Representations form Transformer), which is a model that trains the model in advance with a large amount of unlabeled data and then performs transfer learning with labeled data having a specific task. An encoder model such as RoBERTa (Robustly Optimized BERT Pretraining Approach) in which hyperparameters and training data size are adjusted may be used, but is not limited thereto. Also, the third learning model may be a model fine-tuned to a pretrained language model (PLM) as a summary information retrieval task.

요약 정보 추출부(140)는 제 3 학습 모델을 통해 실시간 대화가 수행되는 중에 사용자 단말에 대응하는 데이터베이스로부터 저장된 복수의 요약 정보 중 적어도 하나의 관련 요약 정보(예를 들어, m개)를 선별하여 추출할 수 있다. 여기서, 제 3 학습 모델은 복수의 요약 정보 중 복수의 관련 요약 정보를 선별하기 위해 다수의 랭커(Ranker) 모델이 이용될 수 있으며, 이에 한정하지 않는다. The summary information extractor 140 selects at least one piece of related summary information (eg, m pieces) from among a plurality of pieces of summary information stored from a database corresponding to the user terminal while a real-time conversation is performed through the third learning model. can be extracted. Here, as the third learning model, a plurality of Ranker models may be used to select a plurality of related summary information among a plurality of summary information, but is not limited thereto.

예를 들어, 복수의 요약 정보 중 최신 데이터에 가중치를 부여하고, 가중치가 부여된 복수의 요약 정보 각각의 스코어에 기초하여 랭킹을 도출한 후, 기설정된 랭킹 순위 이상의 복수의 관련 요약 정보를 추출할 수 있다. For example, after weighting the latest data among a plurality of pieces of summary information, deriving a ranking based on scores of each of the pieces of weighted pieces of summary information, and then extracting a plurality of related pieces of summary information equal to or higher than a preset ranking rank. can

다른 예를 들어, 복수의 요약 정보 중 핵심 키워드를 도출하고, 핵심 키워드와 유사한 키워드를 포함하는 복수의 관련 요약 정보를 추출할 수 있다. For another example, a core keyword may be derived from among a plurality of pieces of summary information, and a plurality of pieces of related summary information including a keyword similar to the core keyword may be extracted.

문장 생성부(150)는 사용자 단말과 챗봇이 실시간 대화를 수행하는 중에 개인별 데이터베이스로부터 실시간 대화와 관련된 관련 요약 정보를 획득하고, 제 2 학습 모델을 통해 실시간 대화 및 관련 요약 정보를 이용하여 챗봇측 문장을 생성할 수 있다. The sentence generation unit 150 obtains summary information related to real-time conversation from an individual database while the user terminal and the chatbot are performing real-time conversation, and uses the real-time conversation and related summary information through a second learning model to generate sentences on the chatbot side. can create

문장 생성부(150)는 실시간 대화에 포함되는 복수의 문장 중 시간적으로 최신의 대화 그룹 및 관련 요약 정보를 제 2 학습 모델에 입력하여 챗봇측 문장을 생성할 수 있다. 여기서, 제 2 학습 모델은 사용자 단말과 챗봇 간의 기본적인 대화를 주고받을 수 있는 모델로, 요약 정보와 관련된 문장을 생성할 수 있다. 제 2 학습 모델은 실시간 대화 및 요약 정보를 입력으로 하는 학습 모델이라면 어떤 모델이든 이용될 수 있다. 또한, 제 2 학습 모델은 사용자 단말로부터 사용자측 문장이 수신되면, 사용자측 문장과 관계있는 챗봇측 다음 문장을 생성할 수 있다.The sentence generating unit 150 may generate a chatbot-side sentence by inputting a temporally latest conversation group and related summary information among a plurality of sentences included in a real-time conversation to the second learning model. Here, the second learning model is a model capable of exchanging basic conversations between the user terminal and the chatbot, and can generate sentences related to summary information. Any model may be used as the second learning model as long as it is a learning model that uses real-time conversation and summary information as inputs. In addition, when a user-side sentence is received from the user terminal, the second learning model may generate a chatbot-side next sentence related to the user-side sentence.

대화 서비스 제공부(160)는 사용자 단말로부터 수신한 사용자측 문장 및 챗봇측 문장을 이용하여 실시간 대화를 제공할 수 있다. The conversation service provider 160 may provide real-time conversation using the user-side sentence and the chatbot-side sentence received from the user terminal.

학습부(170)는 학습용 대화 데이터를 제 1 학습 모델에 입력하여 학습용 대화 데이터로부터 유효 문장 기반으로 요약 정보를 생성하도록 제 1 학습 모델을 학습할 수 있다. The learning unit 170 may learn the first learning model to generate summary information based on effective sentences from the conversation data for learning by inputting the conversation data for learning to the first learning model.

학습부(170)는 학습용 대화 데이터 및 학습용 대화 데이터와 관련된 학습용 관련 요약 정보를 제 2 학습 모델에 입력하여 학습용 대화 데이터에 관한 챗봇측 문장을 생성하도록 제 2 학습 모델을 학습할 수 있다. 여기서, 학습부(170)는 학습용 대화 데이터(예를 들어, 10개의 문장씩) 및 학습용 대화 데이터와 관련된 학습용 관련 요약 정보를 데이터 셋으로 제 2 학습 모델에 입력할 수 있다. The learning unit 170 may learn the second learning model to generate chatbot-side sentences related to the learning conversation data by inputting the learning conversation data and learning-related summary information related to the learning conversation data to the second learning model. Here, the learning unit 170 may input learning dialogue data (eg, 10 sentences each) and learning summary information related to the learning dialogue data to the second learning model as a data set.

학습부(170)는 학습용 대화 데이터 및 학습용 요약 정보를 제 3 학습 모델에 입력하여 학습용 대화 데이터와 관련있는 관련 요약 정보를 추출하도록 제 3 학습 모델을 학습할 수 있다. The learning unit 170 may learn the third learning model to input the conversation data for learning and the summary information for learning to the third learning model to extract related summary information related to the conversation data for learning.

도 3a 내지 도 3c는 본 발명의 일 실시예에 따른 사용자와의 대화를 기억하는 챗봇을 통해 대화 서비스를 제공하는 과정을 설명하기 위한 예시적인 도면이다. 3A to 3C are exemplary diagrams for explaining a process of providing a conversation service through a chatbot that remembers a conversation with a user according to an embodiment of the present invention.

도 3a를 참조하면, 챗봇(300)이 사용자인 사만다(310)와 실시간 대화를 나눈다고 가정하자. 예를 들어, 챗봇(300)의 "몇 살이야?"라는 질문에, 사만다(310)가 "난 23살이야"라고 응답하고, 챗봇(300)의 "뭐하고 있어?"라는 질문에, 사만다(310)가 "난 피자 먹고 있어"라고 응답하고, 챗봇(300)의 "너 여행객이야?"라는 질문에, 사만다(310)가 "아니, 난 도서관에서 공부하고 있어"라고 응답하고, 챗봇(300)의 "어디서 일해?"라는 질문에, 사만다(310)가 "난 서울 병원에서 일해"라고 응답하였다고 가정하자. Referring to FIG. 3A , it is assumed that the chatbot 300 has a real-time conversation with a user, Samantha 310. For example, to the chatbot 300's question "How old are you?", Samantha 310 responds "I'm 23 years old", and to the chatbot 300's question "What are you doing?", Samantha ( 310) responds "I am eating pizza", and to the chatbot 300's question "Are you a tourist?", Samantha 310 responds "No, I am studying at the library", and the chatbot 300 ) to the question "Where do you work?", suppose Samantha (310) responds "I work at a Seoul hospital".

몇 시간 후에, 사만다(310)가 챗봇(300)에게 "나 어디서 일하게?"라고 질문한 경우, 챗봇(300)은 이전 대화와 관련하여 저장된 복수의 요약 정보로부터 추출된 '직업 및 장소'와 관련된 관련 요약 정보에 기초하여 "서울 병원"이라고 응답할 수 있다. 또한, 사만다(310)가 "나 몇 살인지 기억해?"라고 질문한 경우, 챗봇(300)은 이전 대화와 관련하여 저장된 복수의 요약 정보로부터 추출된 '나이'와 관련된 관련 요약 정보에 기초하여 "23살"이라고 응답할 수 있다. 또한, 사만다(310)가 "나 뭐하고 있게?"라고 질문한 경우, 챗봇(300)은 이전 대화와 관련하여 저장된 복수의 요약 정보로부터 추출된 '현재 및 작업중'과 관련된 관련 요약 정보에 기초하여 "도서관에서 공부중이야"라고 응답할 수 있다.Several hours later, when Samantha 310 asks the chatbot 300, "Where do I work?", the chatbot 300 extracts 'occupation and location' from a plurality of stored summary information related to previous conversations and "Seoul Hospital" may be answered based on relevant summary information. In addition, when Samantha 310 asks, “Do you remember how old I am?”, the chatbot 300 responds with “Age” related summary information extracted from a plurality of pieces of summary information stored in relation to previous conversations. 23 years old." In addition, when Samantha 310 asks, “What am I doing?”, the chatbot 300 responds with “current and working” related summary information extracted from a plurality of stored summary information related to previous conversations. I'm studying at the library."

도 3b를 참조하면, 챗봇(320)이 사용자인 현재(330)와 실시간 대화를 나눈다고 가정하자. 예를 들어, 챗봇(320)의 "너는 햄버거 중에 뭐가 제일 좋아?"라는 질문에, 현재(330)가 "내가 제일 좋아하는 햄버거는 머쉬룸 와퍼야ㅋㅋ"라고 응답하고, 챗봇(320)이 "나도 그거 좋아하는데...맛있겠다..."와 같이 응답하였다고 가정하자. Referring to FIG. 3B , assume that a chatbot 320 has a real-time conversation with a current user 330 . For example, to the chatbot 320's question "Which hamburger do you like best?", the present 330 responds "My favorite hamburger is a mushroom wafer haha", and the chatbot 320 responds "Me too" Suppose you responded with something like "I like it... it looks delicious...".

3일 후에, 챗봇(320)이 사용자인 현재(330)와 다시 실시간 대화를 나눈 경우, 챗봇(320)의 "점심에 뭐먹었어?"라는 질문에, 현재(330)가 "햄버거!"라고 응답한 경우, 챗봇(320)은 이전 대화와 관련하여 저장된 복수의 요약 정보로부터 추출된 '가장 좋아하는 햄버거-머쉬룸 와퍼'와 관련된 관련 요약 정보에 기초하여 "혹시 머쉬룸 와퍼? 너가 제일 좋아하는거잖아"와 같이 응답하고, 현재(330)가 "맞아ㅋㅋ 그게 제일 맛있지"라고 응답할 수 있다. After 3 days, when the chatbot 320 has a real-time conversation with the current user 330 again, the chatbot 320 responds with "hamburger!" to the question "What did you eat for lunch?" In one case, the chatbot 320 is based on summary information related to 'your favorite hamburger-mushroom wafer' extracted from a plurality of pieces of summary information stored in relation to previous conversations, "Is it a mushroom wafer? Is that your favorite?" Respond together, and the present 330 may respond with "That's right haha that's the most delicious".

도 3c를 참조하면, 챗봇(340)이 사용자인 라이언(350)과 실시간 대화를 나눈다고 가정하자. 예를 들어, 챗봇(340)의 "직업이 뭐야?"라는 질문에, 라이언(350)이 "난 소프트웨어 엔지니어야"라고 응답하고, 챗봇(340)의 "어떤 프로그램을 개발했어?"라는 질문에, 라이언(350)이 "java, python, c#, c++"을 응답하였다고 가정하자. Referring to FIG. 3C , it is assumed that the chatbot 340 has a real-time conversation with a user Ryan 350. For example, to the chatbot 340's question "What is your job?", Ryan 350 responds "I'm a software engineer", and to the chatbot's 340's question "What program did you develop?" , Assume that Ryan 350 responds with "java, python, c#, c++".

이후, 챗봇(340)이 "근데 너 직업이 뭐라고 했지?"라는 질문에, 라이언(350)이 챗봇(340)에게 장난으로 "난 선생님이야"라고 응답한 경우, 챗봇(340)은 이전 대화와 관련된 요약 정보 중 '직업-소프트엔지니어'와 관련된 관련 요약 정보를 추출함으로써, "너 엔지니어라고 했잖아"와 같은 응답을 할 수 있다. Thereafter, when the chatbot 340 responds to the question, "But what did you say your job was?", when Ryan 350 jokingly replies to the chatbot 340, "I'm a teacher," the chatbot 340 responds to the previous conversation and By extracting the relevant summary information related to 'occupation-soft engineer' among the related summary information, a response such as "You said you were an engineer" can be made.

종래에는, 사용자와 챗봇 간의 대화는 오랫동안 저장되지 않고, 대화가 개시된 동안에만 저장되었다. 또한, 종래의 챗봇은 대화 내용을 기억하는 능력을 갖고 있지 못함으로써, 일관성있는 응답을 할 수 없었고, 지난 대화에서 나눴던 내용을 다시 질의하게 되는 경우가 재차 발생되었다. 이로 인해, 사용자들은 사람과 사람 간의 대화를 나누는 듯한 느낌을 받지 못하였다. Conventionally, a conversation between a user and a chatbot is not stored for a long time, but only while the conversation is initiated. In addition, since the conventional chatbot does not have the ability to memorize conversation contents, it is not possible to provide consistent responses, and there are cases in which the contents shared in the previous conversation are re-queried. As a result, users did not feel as if they were having a conversation between people.

그러나 본 발명은 사용자와 챗봇 간의 대화가 개시된 동안에만 대화가 기억되는 것이 아닌, 사용자와 챗봇 간의 대화가 요약 정보로서 개인별 데이터베이스에 저장됨으로써, 사용자와 챗봇 간의 대화가 오랜시간 동안 기억되도록 할 수 있다. 또한, 챗봇과 사용자 간의 이전 대화로 저장된 복수의 요약 정보 중 특정 키워드 또는 특정 주제와 관련있는 관련 요약 정보를 추출함으로써, 시간이 지나도 사용자에게 일관성있는 응답을 제공할 수 있다. 또한, 챗봇은 사용자의 취향 및 성향 등을 기억하여 그에 대한 맞춤형 응답을 제공할 수 있다. However, according to the present invention, the conversation between the user and the chatbot is stored as summary information in an individual database, rather than being remembered only while the conversation between the user and the chatbot is initiated, so that the conversation between the user and the chatbot can be remembered for a long time. In addition, by extracting summary information related to a specific keyword or a specific topic from among a plurality of summary information stored in previous conversations between the chatbot and the user, consistent responses can be provided to the user over time. In addition, the chatbot may remember the user's taste and tendency and provide a customized response thereto.

이러한 대화 서비스 제공 서버에서 사용자와의 대화를 기억하는 챗봇을 통한 대화 서비스를 제공하는 명령어들의 시퀀스를 포함하는 매체에 저장된 컴퓨터 프로그램에 의해 실행될 수 있다. 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우, 제 1 학습 모델을 통해 사용자 단말과 챗봇 간의 대화를 요약한 요약 정보를 생성하고, 개인별 데이터베이스에 사용자 단말별로 요약 정보를 저장하고, 사용자 단말과 챗봇이 실시간 대화를 수행하는 중에 개인별 데이터베이스로부터 실시간 대화와 관련된 관련 요약 정보를 획득하고, 제 2 학습 모델을 통해 실시간 대화 및 관련 요약 정보를 이용하여 챗봇측 문장을 생성하고, 사용자 단말로부터 수신한 사용자측 문장 및 챗봇측 문장을 이용하여 실시간 대화를 제공하도록 하는 명령어들의 시퀀스를 포함할 수 있다. It may be executed by a computer program stored in a medium including a sequence of instructions for providing a conversation service through a chatbot that stores a conversation with a user in the conversation service providing server. When the computer program is executed by a computing device, the first learning model generates summary information summarizing the conversation between the user terminal and the chatbot, stores the summary information for each user terminal in an individual database, and allows the user terminal and the chatbot to communicate in real time While performing, obtain related summary information related to real-time conversation from the individual database, generate chatbot-side sentences using real-time conversation and related summary information through the second learning model, and user-side sentences received from the user terminal and chatbot-side It can include a sequence of instructions that allow you to provide real-time conversations using sentences.

도 4는 본 발명의 일 실시예에 따른 대화 서비스 제공 서버에서 수행되는 사용자와의 대화를 기억하는 챗봇을 통한 대화 서비스를 제공하는 방법의 순서도이다. 도 4를 참조하면, 대화 서비스 제공 서버(100)에서 수행되는 사용자와의 대화를 기억하는 챗봇을 통한 대화 서비스를 제공하는 방법은 도 1 내지 도 3c에 도시된 실시예에 따라 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 3c에 도시된 실시예에 따라 대화 서비스 제공 서버(100)에서 수행되는 사용자와의 대화를 기억하는 챗봇을 통한 대화 서비스를 제공하는 방법에도 적용된다. 4 is a flowchart of a method of providing a conversation service through a chatbot that stores a conversation with a user performed in a conversation service providing server according to an embodiment of the present invention. Referring to FIG. 4, a method of providing a conversation service through a chatbot that remembers a conversation with a user performed in a conversation service providing server 100 is processed time-sequentially according to the embodiments shown in FIGS. 1 to 3C. contains the steps Therefore, even if the content is omitted below, it is also applied to the method of providing a conversation service through a chatbot that remembers a conversation with a user performed in the conversation service providing server 100 according to the embodiment shown in FIGS. 1 to 3C.

단계 S410에서 대화 서비스 제공 서버(100)는 제 1 학습 모델을 통해 사용자 단말과 챗봇 간의 대화를 요약한 요약 정보를 생성할 수 있다. In step S410, the conversation service providing server 100 may generate summary information summarizing the conversation between the user terminal and the chatbot through the first learning model.

단계 S420에서 대화 서비스 제공 서버(100)는 개인별 데이터베이스에 사용자 단말별로 요약 정보를 저장할 수 있다. In step S420, the conversation service providing server 100 may store summary information for each user terminal in the individual database.

단계 S430에서 대화 서비스 제공 서버(100)는 사용자 단말과 챗봇이 실시간 대화를 수행하는 중에 개인별 데이터베이스로부터 실시간 대화와 관련된 관련 요약 정보를 획득하고, 제 2 학습 모델을 통해 실시간 대화 및 관련 요약 정보를 이용하여 챗봇측 문장을 생성할 수 있다. In step S430, the conversation service providing server 100 obtains summary information related to real-time conversation from an individual database while the user terminal and the chatbot are performing real-time conversation, and uses the real-time conversation and related summary information through a second learning model. In this way, the chatbot-side sentence can be generated.

단계 S440에서 대화 서비스 제공 서버(100)는 사용자 단말로부터 수신한 사용자측 문장 및 챗봇측 문장을 이용하여 실시간 대화를 제공할 수 있다. In step S440, the conversation service providing server 100 may provide real-time conversation using the user-side sentence and the chatbot-side sentence received from the user terminal.

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

도 1 내지 도 4를 통해 설명된 대화 서비스 제공 서버에서 수행되는 사용자와의 대화를 기억하는 챗봇을 통한 대화 서비스를 제공하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 또한, 도 1 내지 도 4를 통해 설명된 대화 서비스 제공 서버에서 수행되는 사용자와의 대화를 기억하는 챗봇을 통한 대화 서비스를 제공하는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램의 형태로도 구현될 수 있다. The method for providing a conversation service through a chatbot that remembers a conversation with a user performed in a conversation service providing server described with reference to FIGS. 1 to 4 is a computer program stored in a medium executed by a computer or instructions executable by a computer It may also be implemented in the form of a recording medium including. In addition, the method of providing a conversation service through a chatbot that remembers a conversation with a user performed in a conversation service providing server described with reference to FIGS. 1 to 4 is implemented in the form of a computer program stored in a medium executed by a computer It can be.

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

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

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

100: 대화 서비스 제공 서버
110: 요약 정보 생성부
120: 필터링부
130: 개인별 데이터베이스
140: 요약 정보 추출부
150: 문장 생성부
160: 대화 서비스 제공부
170: 학습부
100: conversation service providing server
110: summary information generating unit
120: filtering unit
130: individual database
140: summary information extraction unit
150: sentence generator
160: conversation service provider
170: learning unit

Claims (20)

사용자와의 대화를 기억하는 챗봇을 통한 대화 서비스를 제공하는 서버에 있어서,
제 1 학습 모델을 통해 사용자 단말과 챗봇 간의 대화를 요약한 요약 정보를 생성하는 요약 정보 생성부;
상기 사용자 단말별로 상기 요약 정보를 저장하는 개인별 데이터베이스;
상기 사용자 단말과 상기 챗봇이 실시간 대화를 수행하는 중에 상기 개인별 데이터베이스로부터 상기 실시간 대화와 관련된 관련 요약 정보를 획득하고, 제 2 학습 모델을 통해 상기 실시간 대화 및 상기 관련 요약 정보를 이용하여 챗봇측 문장을 생성하는 문장 생성부; 및
상기 사용자 단말로부터 수신한 사용자측 문장 및 상기 챗봇측 문장을 이용하여 상기 실시간 대화를 제공하는 대화 서비스 제공부
를 포함하며,
상기 요약 정보 생성부는 상기 실시간 대화가 수행되는 중에 상기 실시간 대화에 포함되는 복수의 문장을 포함하는 대화 그룹을 복수개 생성하고, 상기 복수의 대화 그룹 각각의 상기 요약 정보를 생성하고,
상기 실시간 대화의 각 문장은 순차적으로 버퍼에 저장되고,
상기 복수의 대화 그룹 각각은 상기 버퍼에 순차적으로 저장된 문장 중 시간적으로 연속된 상기 복수의 문장을 포함하며,
상기 버퍼에 순차적으로 저장되는 문장이 상기 실시간 대화에 있어서 유효 문장인지 여부를 판단하고, 상기 버퍼에서 상기 유효 문장 이외의 문장을 삭제하는 필터링부
를 더 포함하는 것인, 대화 서비스 제공 서버.
In a server that provides a conversation service through a chatbot that remembers a conversation with a user,
Summary information generation unit for generating summary information summarizing the conversation between the user terminal and the chatbot through the first learning model;
an individual database for storing the summary information for each user terminal;
While the user terminal and the chatbot are performing a real-time conversation, obtaining related summary information related to the real-time conversation from the individual database, and using the real-time conversation and the related summary information through a second learning model to construct a sentence on the chatbot side a sentence generation unit to generate; and
A conversation service provider for providing the real-time conversation using the user-side sentence and the chatbot-side sentence received from the user terminal
Including,
The summary information generator generates a plurality of conversation groups including a plurality of sentences included in the real-time conversation while the real-time conversation is being performed, and generates the summary information of each of the plurality of conversation groups;
Each sentence of the real-time conversation is sequentially stored in a buffer;
Each of the plurality of conversation groups includes the plurality of sentences sequentially sequentially stored in the buffer, and
A filtering unit for determining whether sentences sequentially stored in the buffer are valid sentences in the real-time conversation, and deleting sentences other than the valid sentences from the buffer.
Further comprising, a conversation service providing server.
제 1 항에 있어서,
제 3 학습 모델을 통해 상기 실시간 대화가 수행되는 중에 상기 사용자 단말에 대응하는 데이터베이스에 저장된 복수의 요약 정보 중 상기 관련 요약 정보를 추출하는 요약 정보 추출부
를 더 포함하는 것인, 대화 서비스 제공 서버.
According to claim 1,
A summary information extraction unit extracting the related summary information from among a plurality of summary information stored in a database corresponding to the user terminal while the real-time conversation is being performed through a third learning model.
Further comprising, a conversation service providing server.
삭제delete 삭제delete 제 1 항에 있어서,
상기 요약 정보 생성부는 시간적으로 인접한 두 대화 그룹 모두 동일한 문장을 소정 수 포함하도록 상기 복수의 대화 그룹을 생성하는 것인, 대화 서비스 제공 서버.
According to claim 1,
The conversation service providing server of claim 1 , wherein the summary information generation unit generates the plurality of conversation groups so that two conversation groups that are temporally adjacent to each other include a predetermined number of identical sentences.
삭제delete 제 1 항에 있어서,
상기 요약 정보 생성부는 복수의 상기 유효 문장을 포함하는 상기 대화 그룹을 복수개 생성하고,
상기 복수의 대화 그룹 각각은 상기 버퍼에 순차적으로 저장된 유효 문장 중 시간적으로 연속된 복수의 유효 문장을 포함하는 것인, 대화 서비스 제공 서버.
According to claim 1,
The summary information generation unit generates a plurality of conversation groups including a plurality of the valid sentences;
Wherein each of the plurality of conversation groups includes a plurality of chronologically continuous valid sentences among valid sentences sequentially stored in the buffer.
제 1 항에 있어서,
상기 문장 생성부는 상기 실시간 대화에 포함되는 상기 복수의 문장 중 시간적으로 최신의 상기 대화 그룹 및 상기 관련 요약 정보를 상기 제 2 학습 모델에 입력하여 상기 챗봇측 문장을 생성하는 것인, 대화 서비스 제공 서버.
According to claim 1,
Wherein the sentence generation unit generates the chatbot-side sentence by inputting the temporally latest conversation group and the related summary information among the plurality of sentences included in the real-time conversation to the second learning model, a conversation service providing server .
제 2 항에 있어서,
학습용 대화 데이터 및 상기 학습용 대화 데이터와 관련된 학습용 관련 요약 정보를 상기 제 2 학습 모델에 입력하여 상기 학습용 대화 데이터에 관한 챗봇측 문장을 생성하도록 상기 제 2 학습 모델을 학습시키는 학습부를 더 포함하는, 대화 서비스 제공 서버.
According to claim 2,
Further comprising a learning unit for learning the second learning model to input learning conversation data and learning-related summary information related to the learning conversation data to the second learning model to generate a chatbot-side sentence related to the learning conversation data. Serving server.
대화 서비스 제공 서버에서 사용자와의 대화를 기억하는 챗봇을 통한 대화 서비스를 제공하는 방법에 있어서,
제 1 학습 모델을 통해 사용자 단말과 챗봇 간의 대화를 요약한 요약 정보를 생성하는 단계;
개인별 데이터베이스에 상기 사용자 단말별로 상기 요약 정보를 저장하는 단계;
상기 사용자 단말과 상기 챗봇이 실시간 대화를 수행하는 중에 상기 개인별 데이터베이스로부터 상기 실시간 대화와 관련된 관련 요약 정보를 획득하고, 제 2 학습 모델을 통해 상기 실시간 대화 및 상기 관련 요약 정보를 이용하여 챗봇측 문장을 생성하는 단계; 및
상기 사용자 단말로부터 수신한 사용자측 문장 및 상기 챗봇측 문장을 이용하여 상기 실시간 대화를 제공하는 단계
를 포함하며,
상기 요약 정보를 생성하는 단계는,
상기 실시간 대화가 수행되는 중에 상기 실시간 대화에 포함되는 복수의 문장을 포함하는 대화 그룹을 복수개 생성하는 단계; 및
상기 복수의 대화 그룹 각각의 상기 요약 정보를 생성하는 단계를 포함하고,
상기 실시간 대화의 각 문장은 순차적으로 버퍼에 저장되고,
상기 복수의 대화 그룹 각각은 상기 버퍼에 순차적으로 저장된 문장 중 시간적으로 연속된 상기 복수의 문장을 포함하며,
상기 버퍼에 순차적으로 저장되는 문장이 상기 실시간 대화에 있어서 유효 문장인지 여부를 판단하는 단계를 더 포함하는 것인, 대화 서비스 제공 방법.
A method for providing a conversation service through a chatbot that remembers a conversation with a user in a conversation service providing server,
Generating summary information summarizing a conversation between a user terminal and a chatbot through a first learning model;
storing the summary information for each user terminal in an individual database;
While the user terminal and the chatbot are performing a real-time conversation, obtaining related summary information related to the real-time conversation from the individual database, and using the real-time conversation and the related summary information through a second learning model to construct a sentence on the chatbot side generating; and
Providing the real-time conversation using the user-side sentence and the chatbot-side sentence received from the user terminal
Including,
Generating the summary information,
generating a plurality of conversation groups including a plurality of sentences included in the real-time conversation while the real-time conversation is being performed; and
generating the summary information of each of the plurality of conversation groups;
Each sentence of the real-time conversation is sequentially stored in a buffer;
Each of the plurality of conversation groups includes the plurality of sentences sequentially sequentially stored in the buffer, and
The method of providing a conversation service further comprising determining whether sentences sequentially stored in the buffer are valid sentences in the real-time conversation.
제 10 항에 있어서,
제 3 학습 모델을 통해 상기 실시간 대화가 수행되는 중에 상기 사용자 단말에 대응하는 데이터베이스에 저장된 복수의 요약 정보 중 상기 관련 요약 정보를 추출하는 단계
를 더 포함하는 것인, 대화 서비스 제공 방법.
According to claim 10,
Extracting the related summary information from among a plurality of pieces of summary information stored in a database corresponding to the user terminal while the real-time conversation is being performed through a third learning model.
Further comprising, a conversation service providing method.
삭제delete 삭제delete 제 10 항에 있어서,
상기 요약 정보를 생성하는 단계는,
시간적으로 인접한 두 대화 그룹 모두 동일한 문장을 소정 수 포함하도록 상기 복수의 대화 그룹을 생성하는 단계를 포함하는 것인, 대화 서비스 제공 방법.
According to claim 10,
Generating the summary information,
and generating the plurality of conversation groups such that both of the two conversation groups that are temporally adjacent contain a predetermined number of identical sentences.
삭제delete 제 10 항에 있어서,
상기 버퍼에서 상기 유효 문장 이외의 문장을 삭제하는 단계를 더 포함하는 것인, 대화 서비스 제공 방법.
According to claim 10,
The method further comprising deleting sentences other than the valid sentences from the buffer.
제 10 항에 있어서,
상기 요약 정보를 생성하는 단계는,
복수의 상기 유효 문장을 포함하는 상기 대화 그룹을 복수개 생성하는 단계; 및
상기 복수의 대화 그룹 각각은 상기 버퍼에 순차적으로 저장된 유효 문장 중 시간적으로 연속된 복수의 유효 문장을 포함하는 단계를 포함하는 것인, 대화 서비스 제공 방법.
According to claim 10,
Generating the summary information,
generating a plurality of the conversation groups including a plurality of the valid sentences; and
The method of claim 1 , wherein each of the plurality of conversation groups includes a plurality of chronologically continuous valid sentences among valid sentences sequentially stored in the buffer.
제 10 항에 있어서,
상기 챗봇측 문장을 생성하는 단계는,
상기 실시간 대화에 포함되는 상기 복수의 문장 중 시간적으로 최신의 상기 대화 그룹 및 상기 관련 요약 정보를 상기 제 2 학습 모델에 입력하여 상기 챗봇측 문장을 생성하는 단계를 포함하는 것인, 대화 서비스 제공 방법.
According to claim 10,
The step of generating the chatbot-side sentence,
and generating the chatbot-side sentence by inputting the conversation group and related summary information, which are temporally latest among the plurality of sentences included in the real-time conversation, into the second learning model. .
제 11 항에 있어서,
학습용 대화 데이터 및 상기 학습용 대화 데이터와 관련된 학습용 관련 요약 정보를 상기 제 2 학습 모델에 입력하여 상기 학습용 대화 데이터에 관한 챗봇측 문장을 생성하도록 상기 제 2 학습 모델을 학습시키는 단계를 더 포함하는, 대화 서비스 제공 방법.
According to claim 11,
Learning the second learning model to generate chatbot-side sentences related to the learning conversation data by inputting learning conversation data and learning-related summary information related to the learning conversation data to the second learning model; How We Provide Our Services.
사용자와의 대화를 기억하는 챗봇을 통한 대화 서비스를 제공하는 명령어들의 시퀀스를 포함하는 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램에 있어서,
상기 컴퓨터 프로그램은 컴퓨팅 장치에 의해 실행될 경우,
제 1 학습 모델을 통해 사용자 단말과 챗봇 간의 대화를 요약한 요약 정보를 생성하고,
개인별 데이터베이스에 상기 사용자 단말별로 상기 요약 정보를 저장하고,
상기 사용자 단말과 상기 챗봇이 실시간 대화를 수행하는 중에 상기 개인별 데이터베이스로부터 상기 실시간 대화와 관련된 관련 요약 정보를 획득하고, 제 2 학습 모델을 통해 상기 실시간 대화 및 상기 관련 요약 정보를 이용하여 챗봇측 문장을 생성하고,
상기 사용자 단말로부터 수신한 사용자측 문장 및 상기 챗봇측 문장을 이용하여 상기 실시간 대화를 제공하며,
상기 실시간 대화가 수행되는 중에 상기 실시간 대화에 포함되는 복수의 문장을 포함하는 대화 그룹이 복수개 생성되고, 상기 복수의 대화 그룹 각각의 상기 요약 정보가 생성되고,
상기 실시간 대화의 각 문장은 순차적으로 버퍼에 저장되고,
상기 복수의 대화 그룹 각각은 상기 버퍼에 순차적으로 저장된 문장 중 시간적으로 연속된 상기 복수의 문장을 포함하며,
상기 버퍼에 순차적으로 저장되는 문장이 상기 실시간 대화에 있어서 유효 문장인지 여부를 판단하도록 하는 명령어들의 시퀀스를 포함하는, 컴퓨터 판독가능 기록매체에 저장된 컴퓨터 프로그램.
A computer program stored in a computer-readable recording medium comprising a sequence of instructions for providing a conversation service through a chatbot that remembers a conversation with a user,
When the computer program is executed by a computing device,
Generating summary information summarizing the conversation between the user terminal and the chatbot through the first learning model;
Storing the summary information for each user terminal in an individual database;
While the user terminal and the chatbot are performing a real-time conversation, obtaining related summary information related to the real-time conversation from the individual database, and using the real-time conversation and the related summary information through a second learning model to construct a sentence on the chatbot side create,
Providing the real-time conversation using the user-side sentence and the chatbot-side sentence received from the user terminal;
While the real-time conversation is being performed, a plurality of conversation groups including a plurality of sentences included in the real-time conversation are created, and the summary information of each of the plurality of conversation groups is created;
Each sentence of the real-time conversation is sequentially stored in a buffer;
Each of the plurality of conversation groups includes the plurality of sentences sequentially sequentially stored in the buffer, and
A computer program stored in a computer-readable recording medium comprising a sequence of instructions for determining whether sentences sequentially stored in the buffer are valid sentences in the real-time conversation.
KR1020210168494A 2021-11-30 2021-11-30 Server, method and computer program for providing dialogue service using chatbot that remembers dialogue with user KR102468679B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210168494A KR102468679B1 (en) 2021-11-30 2021-11-30 Server, method and computer program for providing dialogue service using chatbot that remembers dialogue with user

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210168494A KR102468679B1 (en) 2021-11-30 2021-11-30 Server, method and computer program for providing dialogue service using chatbot that remembers dialogue with user

Publications (1)

Publication Number Publication Date
KR102468679B1 true KR102468679B1 (en) 2022-11-22

Family

ID=84236644

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210168494A KR102468679B1 (en) 2021-11-30 2021-11-30 Server, method and computer program for providing dialogue service using chatbot that remembers dialogue with user

Country Status (1)

Country Link
KR (1) KR102468679B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180019869A (en) 2016-08-17 2018-02-27 주식회사 텍스트팩토리 Method for providing personal assistant service using chatbot
KR20180089242A (en) * 2017-01-31 2018-08-08 주식회사 머니브레인 Method, system and non-transitory computer-readable recording medium for generating dialogue contents according to output type for same at chatbot
KR20200072315A (en) * 2018-12-12 2020-06-22 주식회사 마인즈랩 Method and apparatus for providing counseling information

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180019869A (en) 2016-08-17 2018-02-27 주식회사 텍스트팩토리 Method for providing personal assistant service using chatbot
KR20180089242A (en) * 2017-01-31 2018-08-08 주식회사 머니브레인 Method, system and non-transitory computer-readable recording medium for generating dialogue contents according to output type for same at chatbot
KR20200072315A (en) * 2018-12-12 2020-06-22 주식회사 마인즈랩 Method and apparatus for providing counseling information

Similar Documents

Publication Publication Date Title
RU2745632C1 (en) Automated response server device, terminal device, response system, response method and program
US11487986B2 (en) Providing a response in a session
CN107846350B (en) Method, computer readable medium and system for context-aware network chat
Hussain et al. Extending a conventional chatbot knowledge base to external knowledge source and introducing user based sessions for diabetes education
US20200301954A1 (en) Reply information obtaining method and apparatus
WO2017217507A1 (en) Artificial intelligence system for supporting communication
WO2018227462A1 (en) Method and apparatus for intelligent automated chatting
CN109918650B (en) Interview intelligent robot device capable of automatically generating interview draft and intelligent interview method
CN111079056A (en) Method, device, computer equipment and storage medium for extracting user portrait
CN107636648A (en) Response is constructed based on mood mark
Eisman et al. A framework for designing closed domain virtual assistants
CN116541493A (en) Interactive response method, device, equipment and storage medium based on intention recognition
Clarizia et al. A context aware recommender system for digital storytelling
Catling et al. The effects of age of acquisition on an object classification task
Alazzam et al. Artificial intelligence chatbots: a survey of classical versus deep machine learning techniques
KR102468679B1 (en) Server, method and computer program for providing dialogue service using chatbot that remembers dialogue with user
JP6034459B1 (en) Interactive interface
Breuing et al. Let’s Talk Topically with Artificial Agents!-Providing Agents with Humanlike Topic Awareness in Everyday Dialog Situations
Hijjawi et al. Mobile Arabchat: an Arabic mobile-based conversational agent
Manaswi et al. Developing chatbots
CN112818084B (en) Information interaction method, related device, equipment and computer readable medium
CN116775815A (en) Dialogue data processing method and device, electronic equipment and storage medium
AU2019298610B2 (en) Search device and program
Sharma et al. Prashn: University Voice Assistant
CN114330701A (en) Model training method, device, computer equipment, storage medium and program product

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant