KR102263656B1 - Communication system for inducing response and communication method for inducing response - Google Patents

Communication system for inducing response and communication method for inducing response Download PDF

Info

Publication number
KR102263656B1
KR102263656B1 KR1020210026815A KR20210026815A KR102263656B1 KR 102263656 B1 KR102263656 B1 KR 102263656B1 KR 1020210026815 A KR1020210026815 A KR 1020210026815A KR 20210026815 A KR20210026815 A KR 20210026815A KR 102263656 B1 KR102263656 B1 KR 102263656B1
Authority
KR
South Korea
Prior art keywords
user
utterance
conversation
similarity
goal
Prior art date
Application number
KR1020210026815A
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 KR1020210026815A priority Critical patent/KR102263656B1/en
Priority to KR1020210072845A priority patent/KR102324635B1/en
Application granted granted Critical
Publication of KR102263656B1 publication Critical patent/KR102263656B1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G06Q50/30
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Evolutionary Computation (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Operations Research (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Machine Translation (AREA)

Abstract

A communication system comprises: a user interface configured to receive an utterance from a user of a communication system and provide the utterance of the communication system to the user; a natural language processor configured to process the user's utterance and convert the utterance into user utterance data for which the communication system can interpret; a database configured to store at least one communication domain, wherein the communication domain comprises a system utterance data; and an artificial intelligence module configured to generate the utterance of the communication system by responding to receiving the utterance from the user and referencing to the natural language processor and the database. The communication system is configured to draw the user to utter a particular target. By drawing the user to utter a plurality of sub-targets prior to drawing the user to utter speak the specific target, the artificial intelligence module is configured to set a degree of similarity between a sub-target relatively close to the specific target and the specific target to be greater than or equal to a similarity between a sub-target relatively distant to the specific target and the specific target. Therefore, the present invention is capable of allowing the user to feel as if he/she is communicating with a real person.

Description

답변을 유도하는 대화 시스템 및 대화 방법{COMMUNICATION SYSTEM FOR INDUCING RESPONSE AND COMMUNICATION METHOD FOR INDUCING RESPONSE}Conversational systems and methods of inducing answers {COMMUNICATION SYSTEM FOR INDUCING RESPONSE AND COMMUNICATION METHOD FOR INDUCING RESPONSE}

본 개시는 대화 시스템에 관한 것으로, 자세하게는 원하는 답변을 유도하는 대화 시스템에 관한 것이다.The present disclosure relates to a dialog system, and more particularly, to a dialog system that induces a desired answer.

대화 시스템은 사용자의 발언에 응답을 보내는 시스템이다. 특정 도메인의 대화 시스템은 특정 목표를 갖고 대화 시스템을 방문한 사용자에게 대화 환경을 제공한다. 예를 들어, 보험 가입을 위한 상담을 원하는 사용자는 보험 도메인 대화 시스템을 이용하여 질의에 대한 응답을 수신할 수 있다. 특정 도메인의 대화 시스템은 사용자가 처음부터 특정 목표를 갖고 특정 키워드를 입력하고 대화 시스템은 이에 대한 응답을 하기 때문에 클로즈 도메인(close domain)이라고 불리기도 한다. 클로즈 도메인의 경우 특정 키워드를 이용하여 학습이 되었기 때문에, 일반적이고 단조로운 대화만이 가능하고 진짜 사람처럼 대화를 진행하기 어렵다. 다음의 선행기술문헌은 본 명세서의 참고로서 전체가 결합되어 본 명세서의 개시를 설명하는데 사용될 수 있다.The dialogue system is a system that sends a response to the user's remarks. The chat system of a specific domain provides a chat environment to users who visit the chat system with a specific goal. For example, a user who wants to consult for insurance subscription may receive a response to an inquiry using the insurance domain dialogue system. A dialog system of a specific domain is also called a close domain because a user inputs a specific keyword with a specific goal from the beginning and the dialog system responds to it. In the case of the closed domain, since it is learned using specific keywords, only general and monotonous conversations are possible, and it is difficult to conduct conversations like a real person. The following prior art documents are incorporated herein by reference in their entirety and may be used to describe the disclosure of the present specification.

한국특허 등록번호 제10-2008169호Korean Patent Registration No. 10-2008169 한국특허 공개번호 제10-2198295호Korean Patent Publication No. 10-2198295

Representing long texts for NLU, CS224U Stanford UniversityRepresenting long texts for NLU, CS224U Stanford University

본 개시는 질의와 응답을 통해 대화의 맥락을 이해하여 대화를 수행하는 대화 시스템을 제공한다. 이에 따라, 대화 시스템은 사용자가 진짜 사람과 대화를 하는 것처럼 느낄 수 있는 대화를 제공하고 또한 원하는 답변을 유도할 수 있다.The present disclosure provides a dialog system for performing a conversation by understanding the context of the conversation through questions and answers. Accordingly, the conversation system may provide a conversation in which the user feels as if he or she is having a conversation with a real person and may also elicit a desired answer.

본 개시의 일 형태에 의하면, 대화 시스템이 제공된다. 대화 시스템은 대화 시스템의 사용자로부터 발언을 수신하고 상기 대화 시스템의 발언을 상기 사용자에게 제공하도록 구성된 유저 인터페이스; 상기 사용자의 발언을 처리하여 상기 대화 시스템이 해석 가능한 사용자 발언 데이터로 변환하도록 구성된 자연어 처리기; 적어도 하나의 대화 도메인을 저장하도록 구성된 데이터베이스 - 상기 대화 도메인은 시스템 발언 데이터를 포함 -; 상기 사용자로부터 발언을 수신하는 것에 응답하여 상기 자연어 처리기 및 상기 데이터베이스를 참조하여 상기 대화 시스템의 발언을 생성하도록 구성된 인공 지능 모듈을 포함한다. 상기 대화 시스템은 상기 사용자로 하여금 특정 목표를 발언하도록 유도하도록 구성된다. 상기 인공 지능 모듈은 상기 사용자로 하여금 상기 특정 목표를 발언하도록 유도하기 이전에, 상기 사용자로 하여금 복수의 서브 목표를 발언하도록 유도하며, 상기 인공 지능 모듈은 상기 특정 목표에 상대적으로 가까운 서브 목표와 상기 특정 목표의 유사도가 상기 특정 목표에 상대적으로 먼 서브 목표와 상기 특정 목표의 유사도보다 크거나 같도록 설정하도록 구성된다. According to one aspect of the present disclosure, an interactive system is provided. The conversation system includes: a user interface configured to receive a utterance from a user of the conversation system and provide the utterance of the conversation system to the user; a natural language processor configured to process the user's speech and convert it into user speech data that the dialog system can interpret; a database configured to store at least one conversation domain, the conversation domain including system speech data; and an artificial intelligence module configured to generate a utterance of the dialog system with reference to the natural language processor and the database in response to receiving a utterance from the user. The conversation system is configured to induce the user to utter a specific goal. The artificial intelligence module induces the user to speak a plurality of sub-goals before inducing the user to speak the specific target, and the artificial intelligence module is configured to include sub-goals relatively close to the specific target and the and set such that the similarity of the specific target is greater than or equal to the similarity between the sub-goal relatively distant from the specific target and the specific target.

일 실시예에 따르면, 상기 인공 지능 모듈은 상기 사용자의 i-1번째의 발언에 대응하여 상기 대화 시스템의 i번째의 발언을 생성하여 제공하되, 상기 사용자의 i 번째 발언 전의 발언 중 하나 이상의 발언 각각과 상기 특정 목표와의 유사도, 및 상기 대화 시스템의 i번째 발언에 대응하여 상기 사용자가 발언할 것으로 예상되는 i번째 발언과 상기 특정 목표와의 유사도에 기초하여 상기 대화 시스템의 i번째의 발언을 생성할 수 있다. According to an embodiment, the artificial intelligence module generates and provides an i-th utterance of the dialog system in response to the i-1 th utterance of the user, wherein each of one or more utterances among the utterances before the ith utterance of the user and the i-th utterance of the conversation system is generated based on the degree of similarity to the specific target and the similarity between the i-th utterance that the user is expected to make in response to the i-th utterance of the dialogue system and the specific target. can do.

일 실시예에 따르면, 상기 인공 지능 모듈은 상기 대화 시스템의 i번째 발언에 대응하여 상기 사용자가 발언할 것으로 예상되는 상기 사용자의 i번째 발언과 상기 특정 목표의 유사도 및 상기 사용자의 k번째 발언부터 i-1번째 발언 각각과 상기 특정 목표의 유사도의 합의 평균값이 상기 사용자의 l번째 발언부터 i-1번째 발언 각각과 상기 특정 목표의 유사도의 평균값과 같거나 크도록 상기 i번째 발언을 생성하도록 구성될 수 있다. 상기 k 및 l은 i-1보다 작고 1보다 큰 자연수이다. According to an embodiment, the artificial intelligence module is configured to correspond to the i-th remark of the dialog system, and the degree of similarity between the i-th remark of the user expected to speak by the user and the specific target, and the k-th remark of the user from i - to generate the i-th utterance such that the average value of the sum of the similarities between each of the -1 th utterances and the specific target is equal to or greater than the average value of the similarity between each of the i-1 th utterances of the user and the specific target can Wherein k and l are natural numbers less than i-1 and greater than 1.

일 실시예에 따르면, 상기 대화 시스템은 상기 i-1번의 대화를 카운트하고, 상기 i-1번을 카운트한 이후에 상기 사용자의 i-1번의 발언에 대응하여 i번의 발언을 생성하여 제공하도록 구성될 수 있다. According to an embodiment, the conversation system is configured to count the conversation of the i-1 time, and after counting the i-1 time, generate and provide the i-th utterance in response to the user's i-1 utterance can be

일 실시예에 따르면, 상기 데이터베이스는 복수의 대화 도메인을 저장하도록 구성되고, 상기 복수의 대화 도메인 각각은 서로 다른 특정 목표를 유도하도록 구성된 대화 도메인이고, 상기 대화 시스템은 상기 복수의 대화 도메인 중 어느 하나를 선택하도록 구성될 수 있다. According to an embodiment, the database is configured to store a plurality of dialogue domains, each of the plurality of dialogue domains is a dialogue domain configured to derive a different specific goal, and the dialogue system is any one of the plurality of dialogue domains. can be configured to select

본 개시의 일 형태에 의하면, 사용자로 하여금 특정 목표를 발언하도록 유도하는 대화 시스템의 대화 방법이 제공된다. 상기 대화 시스템은 대화 시스템의 사용자로부터 발언을 수신하고 상기 대화 시스템의 발언을 상기 사용자에게 제공하도록 구성된 유저 인터페이스; 상기 사용자의 발언을 처리하여 상기 대화 시스템이 해석 가능한 사용자 발언 데이터로 변환하도록 구성된 자연어 처리기; 적어도 하나의 대화 도메인을 저장하도록 구성된 데이터베이스 - 상기 대화 도메인은 시스템 발언 데이터를 포함 -; 상기 사용자로부터 발언을 수신하는 것에 응답하여 상기 자연어 처리기 및 상기 데이터베이스를 참조하여 상기 대화 시스템의 발언을 생성하도록 구성된 인공 지능 모듈을 포함한다. 대화 방법은 상기 사용자로 하여금 상기 특정 목표를 발언하도록 유도하는 단계 이전에, 상기 사용자로 하여금 제1 서브 목표를 발언하도록 유도하는 단계; 상기 제1 서브 목표를 발언하도록 유도하는 단계 이후 및 상기 사용자로 하여금 상기 특정 목표를 발언하도록 유도하는 단계 이전에 제2 서브 목표를 발언하도록 유도하는 단계; 및 상기 특정 목표를 발언하도록 유도하는 단계를 포함한다. 상기 제2 서브 목표와 상기 특정 목표와의 유사도는 상기 제1 서브 목표와 상기 특정 목표의 유사도와 같거나 크다. According to one aspect of the present disclosure, there is provided a conversation method of a conversation system that induces a user to speak a specific target. The conversation system includes: a user interface configured to receive a utterance from a user of the conversation system and provide the utterance of the conversation system to the user; a natural language processor configured to process the user's speech and convert it into user speech data that the dialog system can interpret; a database configured to store at least one conversation domain, the conversation domain including system speech data; and an artificial intelligence module configured to generate a utterance of the dialog system with reference to the natural language processor and the database in response to receiving a utterance from the user. The conversation method may include, before inducing the user to speak the specific target, inducing the user to speak a first sub-goal; inducing the user to speak a second sub-goal after inducing the user to speak the first sub-goal and before inducing the user to speak the specific target; and inducing the specific target to be spoken. The similarity between the second sub-goal and the specific target is equal to or greater than the similarity between the first sub-goal and the specific target.

일 실시예에 있어서, 상기 인공 지능 모듈은 상기 사용자의 i-1번째의 발언에 대응하여 상기 대화 시스템의 i번째의 발언을 생성하여 제공하는 단계를 더 포함한다. 상기 대화 시스템의 i번째의 발언을 생성하여 제공하는 단계는 상기 사용자의 i 번째 발언 전의 발언 중 하나 이상의 발언 각각과 상기 특정 목표와의 유사도, 및 상기 대화 시스템의 i번째 발언에 대응하여 상기 사용자가 발언할 것으로 예상되는 i번째 발언과 상기 특정 목표와의 유사도에 기초하여 상기 대화시스템의 i번째의 발언을 생성하는 단계를 포함한다. In one embodiment, the artificial intelligence module further comprises the step of generating and providing the i-th utterance of the dialog system in response to the i-1 th utterance of the user. The step of generating and providing the ith utterance of the dialog system may include: a degree of similarity between one or more utterances of the user's utterances before the ith utterance to the specific target, and the user in response to the ith utterance of the dialog system. and generating the i-th utterance of the dialogue system based on the similarity between the ith utterance expected to be uttered and the specific target.

일 실시예에 있어서, 상기 대화 시스템의 i번째의 발언을 생성하여 제공하는 단계는 상기 대화 시스템의 i번째 발언에 대응하여 상기 사용자가 발언할 것으로 예상되는 상기 사용자의 i번째 발언과 상기 특정 목표의 유사도 및 상기 사용자의 k번째 발언부터 i-1번째 발언 각각과 상기 특정 목표의 유사도의 합의 평균값인 제1 평균값을 계산하는 단계; 상기 사용자의 l번째 발언부터 i-1번째 발언 각각과 상기 특정 목표의 유사도의 평균값인 제2 평균값을 계산하는 단계; 및 상기 제1 평균값이 상기 제2 평균값과 같거나 크도록 상기 i번째 발언을 생성하는 단계를 포함한다. 상기 k 및 l은 i-1보다 작고 1보다 큰 자연수이다.In one embodiment, the generating and providing the i-th utterance of the conversation system includes the ith utterance of the user expected to speak in response to the i-th utterance of the conversation system and the specific target. calculating a first average value that is an average value of the similarity and the sum of the user's k-th utterances to the i-1 th utterances and the similarity of the specific target; calculating a second average value that is an average value of the similarity between each of the i-1 th utterances from the 1 th utterance of the user and the specific target; and generating the i-th utterance such that the first average value is equal to or greater than the second average value. Wherein k and l are natural numbers less than i-1 and greater than 1.

일 실시예에 있어서, 상기 대화 시스템은 상기 i-1번의 대화를 카운트하는 단계, 및 상기 i-1번을 카운트한 이후에 상기 사용자의 i-1번의 발언에 대응하여 i번의 발언을 생성하는 단계를 더 포함할 수 있다. In one embodiment, the dialog system counts the conversation i-1, and after counting the i-1, generating the utterance i in response to the utterance i-1 of the user. may further include.

일 실시예에 있어서, 상기 데이터베이스는 복수의 대화 도메인을 저장하도록 구성되고, 상기 복수의 대화 도메인 각각은 서로 다른 특정 목표를 유도하도록 구성된 대화 도메인일 수 있다. 상기 대화 방법은 상기 제1 버스 목표를 발언하도록 유도하는 단계 이전에 상기 복수의 대화 도메인 중 어느 하나를 선택하는 단계를 더 포함할 수 있다.In an embodiment, the database is configured to store a plurality of conversation domains, each of the plurality of conversation domains may be a conversation domain configured to derive a different specific goal. The conversation method may further include selecting any one of the plurality of conversation domains before inducing the first bus target to be spoken.

대화 시스템은 사용자가 진짜 사람과 대화를 하는 것처럼 느낄 수 있는 대화를 제공하고 또한 원하는 답변을 유도할 수 있다.The conversation system can provide a conversation that makes the user feel as if he or she is talking to a real person and can also elicit the desired answer.

도 1은 일 실시예에 따른 대화 시스템의 블록도이다.
도 2는 “투자를 하고 싶어요”라는 말을 유도하기 위해 본 개시에 따른 대화 시스템이 제공하는 대화의 일 실시예이다.
도 3은 본 개시에 따른 화제 전환 방법을 설명하기 위한 개념도이다.
도 4 및 5는 본 개시의 일 실시예에 따른 대화 시스템과 사용자의 대화의 일 예이다.
도 6은 본 개시의 일 실시예에 따른 최종 목표를 유도하는 방법을 설명하는 순서도이다.
1 is a block diagram of a conversation system according to an embodiment;
2 is an embodiment of a dialogue provided by a dialogue system according to the present disclosure to induce the word “I want to invest”.
3 is a conceptual diagram for explaining a topic switching method according to the present disclosure.
4 and 5 are an example of a conversation between a conversation system and a user according to an embodiment of the present disclosure.
6 is a flowchart illustrating a method of deriving a final goal according to an embodiment of the present disclosure.

이하에서는 도면을 참조하여 본 개시에 대해 상세히 설명하도록 한다. 본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대해 상세한 설명은 생략한다. 덧붙여, 하기 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 개시의 기술적 사상의 범위가 하기 실시예에 한정되는 것은 아니다. 오히려, 이들 실시예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 개시의 기술적 사상을 완전하게 전달하기 위하여 제공되는 것이다.Hereinafter, the present disclosure will be described in detail with reference to the drawings. In describing the present disclosure, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the subject matter of the present disclosure, a detailed description thereof will be omitted. In addition, the following examples may be modified in various other forms, and the scope of the technical spirit of the present disclosure is not limited to the following examples. Rather, these embodiments are provided to more fully and complete the present disclosure, and to fully convey the technical spirit of the present disclosure to those skilled in the art.

본 개시에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다.It is to be understood that the techniques described in the present disclosure are not intended to be limited to specific embodiments, and include various modifications, equivalents, and/or alternatives of the embodiments of the present disclosure.

도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.In connection with the description of the drawings, like reference numerals may be used for like components.

본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다. 본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.In the present disclosure, expressions such as “have,” “may have,” “include,” or “may include” indicate the presence of a corresponding characteristic (eg, a numerical value, function, operation, or component such as a part). and does not exclude the presence of additional features. In this disclosure, expressions such as “A or B,” “at least one of A and/and B,” or “one or more of A or/and B” may include all possible combinations of the items listed together. . For example, "A or B," "at least one of A and B," or "at least one of A or B" means (1) includes at least one A, (2) includes at least one B; Or (3) it may refer to all cases including both at least one A and at least one B.

본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.As used in the present disclosure, expressions such as "first," "second," "first," or "second," may modify various elements, regardless of order and/or importance, and refer to one element. It is used only to distinguish it from other components, and does not limit the components.

어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.A component (eg, a first component) is "coupled with/to (operatively or communicatively)" to another component (eg, a second component) When referring to "connected to", it will be understood that the certain element may be directly connected to the other element or may be connected through another element (eg, a third element). On the other hand, when it is said that a component (eg, a first component) is "directly connected" or "directly connected" to another component (eg, a second component), the component and the It may be understood that other components (eg, a third component) do not exist between other components.

본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것 만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서," A, B, 및 C를 수행하도록 구성된(또는 설정된) 모듈"은 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.The expression "configured to (or configured to)" as used in this disclosure depends on the context, for example, "suitable for," "having the capacity to" ," "designed to," "adapted to," "made to," or "capable of." The term “configured (or configured to)” may not necessarily mean only “specifically designed to” hardware. Instead, in some circumstances, the expression “a device configured to” may mean that the device is “capable of” with other devices or parts. For example, the phrase "a processor configured (or configured to perform) A, B, and C," a module configured (or configured to perform) A, B, and C," refers to a dedicated processor (e.g., : embedded processor) or a generic-purpose processor (eg, CPU or application processor) capable of performing corresponding operations by executing one or more software programs stored in a memory device.

대화 시스템dialogue system

도 1은 일 실시예에 따른 대화 시스템의 블록도이다. 1 is a block diagram of a conversation system according to an embodiment;

도 1을 참조하면, 대화 시스템(10)은 유저 인터페이스(UI, 100), 자연어 처리기(NLP, 200), 프로세서(300), 데이터베이스(DB, 400) 및 인공 지능 모듈(AI Module, 500)을 포함한다. Referring to FIG. 1 , the dialog system 10 includes a user interface (UI, 100), a natural language processor (NLP, 200), a processor 300, a database (DB, 400), and an artificial intelligence module (AI Module, 500). include

유저 인터페이스(100)는 네트워크(도시하지 않음)를 통하여 사용자(1)로부터 발언을 수신하고 사용자(1)에게 발언을 제공한다. 유저 인터페이스(100)는 사용자(1)가 사용하는 단말기 등을 통하여 대화 시스템(10)에 엑세스하기 위한 인터페이스를 제공할 수 있다. 사용자(1)(10)는 유저 인터페이스(100)를 통하여 사용자(1)(10)의 발언을 대화 시스템(10)에 전송할 수 있고, 유저 인터페이스(100)를 통하여 대화 시스템(10)으로부터 발언을 전달받을 수 있다. 발언(utterance)은 대화 과정에서 사용자(1) 또는 대화 시스템(10)이 상대에게 전달하고자 하는 문장이다. The user interface 100 receives a utterance from the user 1 through a network (not shown) and provides the utterance to the user 1 . The user interface 100 may provide an interface for accessing the chat system 10 through a terminal used by the user 1 . The user 1 (10) may transmit the user 1 (10) utterance to the conversation system 10 through the user interface 100, and the user 1 (10) can transmit the utterance from the conversation system 10 through the user interface 100. can be delivered An utterance is a sentence that the user 1 or the conversation system 10 intends to convey to the other party in the course of a conversation.

네트워크는 통신 방식은 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등), WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), Wi-Fi(Wireless Fidelity) Direct, DLNA(Digital Living Network Alliance), WiBro(Wireless Broadband), WiMAX(World Interoperability for Microwave Access)에 따라 구축된 네트워크를 이용할 수 있으나, 이에 한정하는 것은 아니며 향후 개발될 모든 전송 방식 표준을 포함할 수 있다. 유/무선을 통하여 데이터를 주고받을 수 있는 것을 모두 포함할 수 있다. The communication method of the network is GSM (Global System for Mobile communication), CDMA (Code Division Multi Access), HSDPA (High Speed Downlink Packet Access), HSUPA (High Speed Uplink Packet Access), LTE (Long Term Evolution), LTE-A (Long Term Evolution-Advanced, etc.), WLAN (Wireless LAN), Wi-Fi (Wireless-Fidelity), Wi-Fi (Wireless Fidelity) Direct, DLNA (Digital Living Network Alliance), WiBro (Wireless Broadband), WiMAX ( A network constructed according to World Interoperability for Microwave Access) may be used, but the present invention is not limited thereto and may include all transmission method standards to be developed in the future. It may include anything that can send and receive data through wired/wireless.

자연어 처리기(200)는 사용자(1)의 발언에 대한 자연어 처리를 하도록 구성된다. 자연어 처리기(200)는 후술하는 것과 같이, 인공 신경망(Artificial Neural Network, ANN)을 포함하는 학습 모델을 학습시킨 언어 모델일 수 있다. 예를 들어, 자연어 처리기(200)는 구글의 BERT ((Bidirectional Encoder Representation from Transformers), 및 이를 응용한 모델), GPT((Generative Pre-Training), 및 이를 응용한 모델), XLNET, RoBERTa, ALBERT 등을 포함할 수 있다. The natural language processor 200 is configured to perform natural language processing on the user's 1 utterance. As will be described later, the natural language processor 200 may be a language model obtained by learning a learning model including an artificial neural network (ANN). For example, the natural language processor 200 is Google's BERT ((Bidirectional Encoder Representation from Transformers), and a model applying it), GPT ((Generative Pre-Training), and a model applying it), XLNET, RoBERTa, ALBERT and the like.

자연어 처리기(200)는 형태소 분석, 개체명 인식, 구문 분석, 감성 분석, 시멘틱 분석, 의도 분석, 어휘 의미 분석, 의미역 분석, 화용 분석, 정보 검색, 문장 의미 분석, 등을 수행할 수 있다. The natural language processor 200 may perform morpheme analysis, entity name recognition, syntax analysis, sentiment analysis, semantic analysis, intention analysis, lexical semantic analysis, semantic translation analysis, pragmatic analysis, information search, sentence semantic analysis, and the like.

일 예로, 자연어 처리는 대상 어절을 최소의 의미 단위인 형태소로 분석하는 형태소 분석 과정, 이렇게 분석된 형태소 결과 중 가장 적합한 형태의 품사를 선택하는 과정으로서 문맥 좌우에 위치한 중의성 해소의 힌트가 되는 정보를 이용해서 적합한 분석 결과를 선택하는 품사 부착 과정, 명사구, 동사구, 부사구 등의 덩어리를 분석하는 구 단위 분석 과정, 중문, 복문 등의 문장을 단문 단위로 분해하는 절 단위 분석 과정, 및 문장을 이루고 있는 구성 성분 간 위계 관계를 분석하여 문장의 구조를 결정하는 구문 분석 과정을 포함할 수 있다.For example, natural language processing is a morpheme analysis process that analyzes a target word into a morpheme that is the smallest unit of meaning, and a process of selecting the most suitable form of speech among the results of the morpheme analyzed in this way. Information serving as a hint for disambiguation located on the left and right of the context A part-of-speech attachment process that selects an appropriate analysis result using , a phrase-based analysis process that analyzes lumps such as noun phrases, verb phrases, and adverb phrases, a clause-unit analysis process that decomposes sentences such as Chinese and complex sentences into short sentences, and It may include a syntax analysis process of determining the structure of the sentence by analyzing the hierarchical relationship between the constituent elements.

상술한 언어 모델을 사용하면 자연어를 분류하고 특징을 추출하여 벡터화 하는 것이 가능하다. 간단히 설명하면, 자연어는 사람이 일상에서 사용하는 언어이다. 대화 시스템(10)은 기계이므로 자연어 처리기(200)는 대화 시스템(10)이 자연어를 해독하고 의미를 해석할 수 있도록 변환하도록 구성된다. 일 실시예에서, 자연어 처리기(200)는 사람의 발언을 데이터화 하여 분류한다. 즉, 자연어 처리기(200)는 사용자(1)가 입력한 문장 또는 단어를 임베딩하여 n차원의 벡터 형식으로 나타나는 데이터(사용자 발언 데이터)로 변환할 수 있다. 이하에서 임베딩된 사용자(1)가 입력한 문장 또는 단어를 사용자 발언 벡터 또는 사용자 발언 데이터라고 칭한다. 자연어 처리는 본 개시에 선행 문헌으로 기재된 문헌을 참조하여 당 기술 분야에서 통상의 지식을 가진 사람이 용이하게 실시 가능하므로 자세한 설명은 생략한다. 그렇다고, 본 개시에서 자연어 처리를 선행 문헌의 내용으로 한정하는 것은 아니며, 당 기술 분야에서 통상의 지식을 가진 사람이 실시할 수 있는 범위는 본 개시에 포함된다.Using the above-described language model, it is possible to classify natural languages, extract features, and vectorize them. Simply put, natural language is a language that people use in their daily life. Since the dialog system 10 is a machine, the natural language processor 200 is configured to transform the dialog system 10 so that it can decode the natural language and interpret its meaning. In an embodiment, the natural language processor 200 categorizes human speech into data. That is, the natural language processor 200 may embed the sentence or word input by the user 1 and convert it into data (user speech data) expressed in an n-dimensional vector format. Hereinafter, the embedded sentence or word input by the user 1 is referred to as a user speech vector or user speech data. Natural language processing can be easily performed by a person of ordinary skill in the art with reference to a document described as a prior document in the present disclosure, and thus a detailed description thereof will be omitted. However, in the present disclosure, natural language processing is not limited to the contents of prior documents, and a range that can be implemented by a person of ordinary skill in the art is included in the present disclosure.

프로세서(300)는 대화 시스템(10)의 구성 요소를 관리하고 제어하여 사용자(1)와 대화 시스템(10)의 대화를 진행하도록 구성된다. 예를 들어, 프로세서(300)는 ASICs(application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세서(microprocessors), 기타 기능 수행을 위한 임의의 형태의 프로세서 또는 컨트롤러일 수 있다.The processor 300 is configured to manage and control components of the conversation system 10 to conduct a conversation between the user 1 and the conversation system 10 . For example, the processor 300 is ASICs (application specific integrated circuits), DSPs (digital signal processors), DSPDs (digital signal processing devices), PLDs (programmable logic devices), FPGAs (field programmable gate arrays), controllers (controllers) ), micro-controllers, microprocessors, or any other type of processor or controller for performing other functions.

데이터베이스(400)는 대화 시스템(10)의 동작을 위한 정보를 저장하도록 구성된다. 데이터베이스(400)는 대화 시스템(10)에서 구동되는 다수의 응용 프로그램(application program) 또는 애플리케이션(application) 대화 시스템(10)의 프로세서(140)가 읽어들일 수 있는 데이터들, 명령어들을 저장할 수 있다. 예를 들어, 대화 시스템(10)는 HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, EPROM, 플래시 드라이브, 하드 드라이브, 네트워크를 이용한 클라우드 등과 같은 다양한 저장 공간을 포함할 수 있다. Database 400 is configured to store information for operation of dialog system 10 . The database 400 may store a plurality of application programs driven in the dialog system 10 or data and instructions that can be read by the processor 140 of the application dialog system 10 . For example, the dialogue system 10 may be configured in various ways such as a hard disk drive (HDD), a solid state disk (SSD), a silicon disk drive (SDD), ROM, RAM, EPROM, flash drive, hard drive, cloud using a network, and the like. It may include storage space.

일 실시예에서, 데이터베이스(400)는 복수의 대화 도메인, 대화 생성을 위한 데이터 등을 포함할 수 있다. 복수의 대화 도메인은 대화 상황에 맞게 구성된 대화 모델일 수 있다. 복수의 대화 도메인은 각각 최종 목표에 해당하는 대화 모델 일 수 있다. 데이터베이스(400)의 대화 도메인은 복수의 문장 또는 복수의 문장의 각각에 해당하는 n차원 벡터 형식의 데이터(이하, 시스템 발언 벡터 또는 시스템 발언 데이터)를 포함할 수 있다. 시스템 발언 벡터는 데이터베이스(400)의 대화 도메인이 포함하는 복수의 문장 또는 복수의 문장의 각각에 해당하는 n차원 벡터 형식의 데이터로 설명하였으나, 인공 지능 모듈(500)이 자연어 처리기(200)와 함께 동작하여 생성하거나 생성할 것으로 예측되는 자연어를 n차원 벡터 형식의 데이터로 변환한 데이터를 포함할 수 있다. In one embodiment, the database 400 may include a plurality of conversation domains, data for creating conversations, and the like. The plurality of conversation domains may be a conversation model configured to fit a conversation situation. Each of the plurality of conversation domains may be a conversation model corresponding to a final goal. The dialogue domain of the database 400 may include a plurality of sentences or data in an n-dimensional vector format (hereinafter, system speech vector or system speech data) corresponding to each of the plurality of sentences. The system speech vector has been described as n-dimensional vector format data corresponding to a plurality of sentences or each of the plurality of sentences included in the dialogue domain of the database 400 , but the artificial intelligence module 500 works with the natural language processor 200 . It may include data obtained by converting a natural language generated by operation or predicted to be generated into data in an n-dimensional vector format.

인공 지능 모듈(500)은 사용자(1)의 발언에 대응하여 대화를 수행하도록 학습되고 구성된 인공 지능 모델을 포함한다. 인공 지능 모델이란, 본 개시에서, 대량의 학습 데이터를 통해 인공 신경망(Artificial Neural Network, ANN)을 포함하는 학습 모델을 학습시켜 인공 신경망 내부의 파라미터를 최적화하고, 학습된 학습 모델을 이용하여 대화 시스템(10)의 동작에 관여하는 모델을 의미할 수 있다. 일 실시예에서 인공 지능 모듈(500)은 MRC(Machine Reading Comprehension)를 통해 학습될 수 있다. 일 실시예에서, 인공 지능 모듈(500)에 사용되는 인공 신경망 모델은 합성곱 신경망(Convolutional Neural Network, CNN), 심층 신경망(Deep Neural Network, DNN), 순환 신경망(Recurrent Neural Network, RNN), 제한적 볼츠만 머신(Restricted Boltzmann Machine, RBM), 심층 신뢰 신경망(Deep Belief Network, DBN), 양방향 순환 신경망(Bidirectional Recurrent Deep Neural Network, BRDNN) 또는 심층 Q-네트워크(Deep Q-Networks) 등 중 적어도 어느 하나 또는 이들의 조합이 있으나, 전술한 예에 한정되지 않는다.The artificial intelligence module 500 includes an artificial intelligence model trained and configured to perform a conversation in response to the user 1's utterance. An artificial intelligence model is, in the present disclosure, by learning a learning model including an artificial neural network (ANN) through a large amount of learning data to optimize parameters inside the artificial neural network, and a conversation system using the learned learning model It may mean a model involved in the operation of (10). In an embodiment, the artificial intelligence module 500 may be learned through Machine Reading Comprehension (MRC). In one embodiment, the artificial neural network model used in the artificial intelligence module 500 is a convolutional neural network (CNN), a deep neural network (DNN), a recurrent neural network (RNN), limited At least one of a Restricted Boltzmann Machine (RBM), a Deep Belief Network (DBN), a Bidirectional Recurrent Deep Neural Network (BRDNN), or Deep Q-Networks, or There are combinations of these, but it is not limited to the above-described examples.

인공 지능 모듈(500)은 문맥 유지, 질의 판단, 최적 정답 생성, 정답 후보 추론, 정답 후보 근거 추론, 정답 후보 생성, 정단 신뢰도 추론, 정답 유형 분석, 정답 제약 인식, 질문 정답 지식 학습을 수행할 수 있다. 인공 지능 모듈(500)은 대화 시스템(10)의 대화를 관리하고, 문장 관계를 분석하여 피드백을 통해 학습을 수행할 수 있다. The artificial intelligence module 500 may perform context maintenance, query determination, optimal correct answer generation, correct answer candidate inference, correct correct candidate based inference, correct correct candidate generation, apex reliability inference, correct answer type analysis, correct answer constraint recognition, and question answer knowledge learning. have. The artificial intelligence module 500 may manage the dialogue of the dialogue system 10 , analyze a sentence relationship, and perform learning through feedback.

인공 지능 모듈(500)은 대화 시스템(10)의 발언을 자연어 처리기(200) 및/또는 데이터베이스(400)를 참조하여 자연어로 생성할 수 있으며, 자연어로 생성된 대화 시스템(10)의 발언은 프로세서(300)에 의하여 유저 인터페이스(100)를 통하여 사용자(1)에게 전달될 수 있다. 대화 시스템(10)이 발언을 생성하는 것은 본 개시에 선행 문헌으로 기재된 문헌을 참조하여 당 기술 분야에서 통상의 지식을 가진 사람이 용이하게 실시 가능하므로 자세한 설명은 생략한다. 그렇다고, 본 개시에서 발언의 생성을 선행 문헌의 내용으로 한정하는 것은 아니며, 당 기술 분야에서 통상의 지식을 가진 사람이 실시할 수 있는 범위는 본 개시에 포함된다.The artificial intelligence module 500 may generate the utterance of the dialog system 10 in natural language with reference to the natural language processor 200 and/or the database 400, and the utterance of the dialog system 10 generated in the natural language is processed by the processor. It may be transmitted to the user 1 through the user interface 100 by means of 300 . Since the dialogue system 10 generates a utterance can be easily performed by a person skilled in the art with reference to a document described as a prior document in the present disclosure, a detailed description thereof will be omitted. However, the generation of utterances in the present disclosure is not limited to the contents of prior documents, and a range that can be implemented by a person of ordinary skill in the art is included in the present disclosure.

일 실시예에서, 인공 지능 모듈(500)은 사용자 발언 벡터와 시스템 발언 벡터의 유사도를 비교하고, 그 결과를 이용하여 대화 시스템(10)의 발언을 생성하거나 선택할 수 있다. 인공 지능 모듈(500)은 데이터베이스(400)에 저장된 적어도 하나의 대화 도메인을 선택하고, 이를 이용하여 대화 시스템(10)의 발언을 생성할 수 있다. 인공 지능 모듈(500)은 최종 목표에 기초하여 적어도 하나의 대화 도메인을 선택할 수 있다.In an embodiment, the artificial intelligence module 500 may compare the similarity between the user speech vector and the system speech vector, and use the result to generate or select the speech of the dialog system 10 . The artificial intelligence module 500 may select at least one conversation domain stored in the database 400 and generate a utterance of the conversation system 10 using the selection. The artificial intelligence module 500 may select at least one conversation domain based on the final goal.

도 1은 예시적으로 설명을 위해 대화 시스템(10)의 구성을 분리한 것으로, 각 구성 요소는 조합/통합되거나 다른 구성 요소를 사용하여 위에서 설명한 기능을 수행할 수 있고, 각 구성에 대한 설명이 다른 구성에 적용될 수 있다. 예를 들어, 자연어 처리기(200)가 인공 지능 모듈(500)과 조합되거나, 통합되거나, 인공 지능 모듈(500)을 이용할 수 있다. 인공 지능 모듈(500)이 데이터베이스(400) 및/또는 자연어 처리기(200)를 이용할 수 있다. 프로세서(300)가 자연어 처리기(200)가 인공 지능 모듈(500)과 조합되거나, 통합되거나, 인공 지능 모듈(500)을 이용할 수 있다.1 is an example in which the configuration of the dialog system 10 is separated for explanation, each component can perform the functions described above using a combination/integration or other components, and a description of each component is provided. It can be applied to other configurations. For example, the natural language processor 200 may be combined with or integrated with the artificial intelligence module 500 , or may use the artificial intelligence module 500 . The artificial intelligence module 500 may use the database 400 and/or the natural language processor 200 . The processor 300 may use the natural language processor 200 in combination with the artificial intelligence module 500 , or may be integrated with the artificial intelligence module 500 .

대화 시스템의 학습Learning the Conversational System

대화 시스템(10)의 학습을 위한 학습 데이터 수집은 1) 금융사의 기존 챗봇 또는 상담사 채팅 대화 수집, 2) 전화 상담 내역(음성 녹음 포함) 수집, 3) 대화용 댓글 수집, 4) 영업 사원(상담사)와 피상담자(사용자(1))와의 상담 내용 수집, 5) 가상 상담 내용 수집 등을 포함할 수 있다. The learning data collection for learning of the conversation system 10 is 1) collecting existing chatbot or agent chat conversations of financial companies, 2) collecting phone consultation history (including voice recording), 3) collecting comments for conversations, 4) salespersons (agents) ) and the interviewee (user (1)) collection of consultation contents, 5) virtual consultation contents collection, and the like.

수집한 데이터를 정제/가공하여 학습데이터를 만든다. 음성 데이터의 경우 음성 인식을 통해 데이터를 변환한다. 동의어, 신조어, 대용어 등을 정리하여 대화의 문맥에 따라 데이터를 분류하고 가공한다. The collected data is refined/processed to make learning data. In the case of voice data, the data is converted through voice recognition. Synonyms, neologisms, and substitutes are organized to classify and process data according to the context of the conversation.

자연어 처리기(100) 및/또는 인공 지능 모듈(500)를 학습 데이터를 이용하여 학습시킨다. 이에 따라, 대화 사례에 관한 데이터베이스(400)를 구축한다. 학습한 자연어 처리기(100) 및/또는 인공 지능 모듈(500)을 대화 피드백 기반으로 재학습시킨다. The natural language processor 100 and/or the artificial intelligence module 500 is trained using the learning data. Accordingly, a database 400 related to conversation cases is built. The learned natural language processor 100 and/or artificial intelligence module 500 is re-learned based on conversational feedback.

학습에 의해, 대화 시스템(10)의 자연어 처리기(100) 및/또는 인공 지능 모듈(500)은 사용자(1)의 발언에 대응하여 발언을 생성하고 사용자(1)에게 제공할 수 있다. By learning, the natural language processor 100 and/or the artificial intelligence module 500 of the conversation system 10 may generate a utterance in response to the utterance of the user 1 and provide it to the user 1 .

대화 시스템의 동작Behavior of the dialogue system

기본적으로 대화 시스템(10)은 사용자(1)의 발언에 대응하여 응답을 제공하도록 구성된다. 대화 시스템(10)은 보다 자세히, 사용자(1)가 대화 시스템(10) 또는 대화 시스템(10)의 사용자(1)가 의도한 목표를 발언하도록 구성된다. Basically, the dialog system 10 is configured to provide a response in response to a utterance of the user 1 . The dialog system 10 is configured, in more detail, such that the user 1 utters the dialog system 10 or a goal intended by the user 1 of the dialog system 10 .

예를 들어, 대화 시스템(10)은 사용자(1)가 “투자를 하고 싶어요”라는 말을 하도록 유도하는 것을 목표로 할 수 있다. 이를 위해, 대화 시스템(10)은 마치 사용자(1)가 사람과 대화를 주고받는 것과 같이 자연스럽게 “투자를 하고 싶어요”라는 말을 하도록 유도할 수 있다. For example, the dialog system 10 may aim to induce the user 1 to say “I want to invest”. To this end, the conversation system 10 may induce the user 1 to naturally say “I want to invest” as if in a conversation with a person.

피상담자(사용자)와 상담사(사람)이 대화를 하는 경우, 대화 시작과 동시에 또는 대화를 시작하고 나서 바로 목표를 유도하는 발언(예를 들어, 투자를 하시겠어요?와 같은 질문)을 상담사가 사용자(1)에게 발언하는 경우는 드물다. 대화 시작과 동시에 또는 대화를 시작하고 나서 바로 목표를 유도하는 발언을 하는 경우, 사용자(1)는 불쾌감을 느낄 수 있기 때문이다. In the case of a conversation between the interviewee (user) and the agent (person), at the beginning of the conversation, or immediately after starting the conversation, goal-directing remarks (for example, a question like Do you want to invest?) are sent by the agent to the user (1 ) is rarely spoken. This is because the user 1 may feel unpleasant when a target-inducing remark is made at the same time as starting a conversation or immediately after starting a conversation.

따라서, 일반적으로 상담사는 최종 목표 발언을 유도하기 전에 사용자(1)와 일상 대화를 나누거나, 주변 이야기를 통하여 친밀감을 형성한 다음, 다음 화제로 대화의 방향을 변경하고, 이러한 대화 방향의 변경을 적어도 한 단계 수행한 다음 최종 목표 발언을 유도할 수 있다. 예를 들어, 상담사와 사용자(1)가 전혀 모르는 사이라면 인사 이후, 일반적인 사회, 날씨, 연예, 스포츠, 세계, 과학 등 목표와 관련 없는 화제로 이야기를 시작할 수 있다. 그 다음, 상담사는 투자 또는 경제와 관계 있는 이슈, 예를 들어 사회적으로 알려진 경제적인 이슈(예를 들어, 연예인, 스포츠 선수의 연봉 이야기)등으로 화제를 전환하고, 이로부터 사용자(1)의 관심을 경제적인 이슈로 전환할 수 있다. 그 다음, 상담사는 경제적인 이슈로 이야기를 시작하여 사용자(1) 관련 정보(투자 성향, 자산 규모, 경제 지식, 사용자(1)의 니즈 등)를 추출하는 대화를 시도하고 그 다음 화제로 전환을 준비할 수 있다. 예를 들어, 그 다음 화제는 여러가지 투자의 예시, 현재 인기 있는 투자 정보 등을 포함할 수 있다. Therefore, in general, the counselor has a daily conversation with the user 1 before inducing the final target statement, or forms intimacy through surrounding stories, then changes the direction of the conversation to the next topic, and changes the direction of the conversation. You can take at least one step and then lead to the final target statement. For example, if the counselor and the user 1 do not know anything at all, after greetings, they can start a conversation with topics unrelated to their goals, such as general society, weather, entertainment, sports, the world, and science. Then, the counselor changes the topic to an issue related to investment or economy, for example, a socially known economic issue (for example, the salary story of a celebrity or sports player), and from this, the user's (1) interest can be turned into an economic issue. Then, the counselor starts a conversation with an economic issue, tries to have a conversation to extract information related to the user (1) (investment propensity, asset size, economic knowledge, needs of the user (1), etc.), and then switches to the next topic. can be prepared For example, the next topic may include examples of various investments, information on currently popular investments, and the like.

도 2는 “투자를 하고 싶어요”라는 말을 유도하기 위해 본 개시에 따른 대화 시스템(10)이 제공하는 대화의 일 실시예이다. 2 is an embodiment of a dialogue provided by the dialogue system 10 according to the present disclosure to induce the word “I want to invest”.

도 2를 참조하면, 사람인 상담사가 사용자(1)에게 투자하고 싶다는 발언을 유도하는 것과 같이, 대화 시스템(10)은 대화의 방향을 변경하기 위한 적어도 하나의 화제 전환 단계를 제공할 수 있다. 화제 전환 단계는 대화의 시작과 최종 목표(즉, 투자를 하고 싶다는 의사 표시)사이에 제공되는 단계이다. 화제 전환 단계는 각 서브 목표(G1, G2, G3)를 포함한다. 서브 목표(G1, G2, G3)는 화제 전환 단계의 목표이다. 즉, 대화 시스템(10)은 사용자(1)가 각 서브 목표(G1, G2, G3)를 발언하도록 유도하고 최종적으로 최종 목표를 발언하도록 유도할 수 있다. Referring to FIG. 2 , as a human counselor induces a statement that he wants to invest in the user 1 , the conversation system 10 may provide at least one topic switching step for changing the direction of the conversation. The topic shift phase is the phase provided between the beginning of a conversation and the final goal (ie, an indication of a desire to make an investment). The topic switching phase includes each sub-goal G1, G2, G3. The sub-goals G1, G2, and G3 are the goals of the topic change phase. That is, the conversation system 10 may induce the user 1 to speak each sub-goal G1 , G2 , and G3 , and finally to speak the final target.

일상 대화 단계에서, 대화 시스템(10)은, 예를 들어, GPT-3을 기반으로 구현된 대화 생성 모델을 포함할 수 있다. 일상 대화 단계는 사용자(1)의 발언에 대응하여 인사, 최근의 사회, 생활, 문화, 세계, 정치, 과학, 경제 등의 주제를 사용자(1)에게 제공하는 단계를 포함할 수 있다. In the daily conversation phase, the dialogue system 10 may include, for example, a dialogue generation model implemented based on GPT-3. The daily conversation step may include a step of providing the user 1 with topics such as greetings, recent society, life, culture, world, politics, science, and economy in response to the user 1 's remarks.

일상 대화 단계에서 복수의 대화를 주고받은 이후 대화 시스템(10)은 화제를 전환하는 대화를 시작할 수 있다. After exchanging a plurality of conversations in the daily conversation phase, the conversation system 10 may start a conversation to change the topic.

일 실시예에 있어서, 화제 전환 단계에서 사용자(1)의 발언 또는 대화 시스템(10)의 발언과 최종 목표와의 유사도는 일상 대화 단계에서 사용자(1)의 발언 또는 대화 시스템(10)의 발언과 최종 목표와의 유사도보다 크다. 또한, 화제 전환 단계 2에서 사용자(1)의 발언 또는 대화 시스템(10)의 발언과 최종 목표와의 유사도는 화제 전환 단계 1에서 사용자(1)의 발언 또는 대화 시스템(10)의 발언과 최종 목표와의 유사도보다 크다. 이에 따라, 일상 대화 단계에서, 화제 전환 단계 1, 2, 3 등 최종 목표에 가까워질수록 사용자(1)의 발언 또는 대화 시스템(10)의 발언과 최종 목표와의 유사도는 증가할 수 있다.In one embodiment, the degree of similarity between the user 1's remarks or the dialogue system 10's remarks and the final goal in the topic switching phase is the same as the user 1's remarks or the dialogue system 10's remarks in the daily conversation phase. greater than the similarity to the final goal. In addition, the degree of similarity between the user 1's remarks or the remarks of the conversation system 10 and the final goal in the topic switching step 2 is the user 1's remarks or the remarks of the dialogue system 10 and the final goal in the topic switching step 1 greater than the similarity to Accordingly, in the daily conversation phase, as the final goal such as the topic switching steps 1, 2, and 3 is approached, the similarity between the user 1's statement or the conversation system 10's statement and the final goal may increase.

일 실시예에 있어서, 화제 전환 단계에서 서브 목표와 최종 목표와의 유사도는 일상 대화 단계에서 화제 전환 단계에서 사용자(1)의 발언 또는 대화 시스템(10)의 발언과 최종 목표와의 유사도보다 크다. 화제 전환 단계 2의 서브 목표(G2)와 최종 목표와의 유사도는 화제 전환 단계 1의 서브 목표(G1)와 최종 목표와의 유사도보다 크다. 화제 전환 단계 3의 서브 목표(G3)와 최종 목표와의 유사도는 화제 전환 단계 2의 서브 목표(G2)와 최종 목표와의 유사도보다 크다. 이와 같이 일상 대화 단계에서, 화제 전환 단계 1, 2, 3 등 최종 목표에 가까워질수록 서브 목표와 최종 목표와의 유사도는 증가할 수 있다. In one embodiment, the degree of similarity between the sub-goal and the final goal in the step of switching the topic is greater than the degree of similarity between the speech of the user 1 or the speech of the conversation system 10 and the final goal in the step of switching the topic in the daily conversation step. The similarity between the sub-goal G2 and the final goal in the topic change step 2 is greater than the similarity between the sub-goal G1 and the final goal in the topic change step 1 . The similarity between the sub-goal G3 and the final goal in the topic change step 3 is greater than the similarity between the sub-goal G2 and the final goal in the topic change step 2 . As described above, in the daily conversation stage, the similarity between the sub-goal and the final goal may increase as the final goal, such as the topic switching steps 1, 2, and 3, approaches.

도 3은 본 개시에 따른 화제 전환 방법을 설명하기 위한 개념도이다.3 is a conceptual diagram for explaining a topic switching method according to the present disclosure.

도 3을 참조하면, “G”는 화제 전환 단계의 목표(최종 목표, 예를 들어, '투자를 하고 싶다'를 유도하기 위한 중간 단계의 서브 목표, 이하 서브 목표)이고, “H”는 사람의 발언, “C”는 대화 시스템(10)의 발언이며 “H”및 “C”의 옆의 숫자는 발언의 순서를 나타낸다. 예를 들어, H0은 사용자(1)가 대화 시스템(10)을 처음으로 이용하는 경우 대화 시스템(10)에 제공되는 발언이고, C1은 대화 시스템(10)의 첫 발언이고, H1은 C1에 대응하는 사용자(1)의 발언이다. 즉, Hn은 Cn에 대응하는 발언일 수 있다(n은 양의 정수). Referring to FIG. 3 , “G” is the goal of the topic conversion stage (the final goal, for example, the sub-goal of the intermediate stage for inducing ‘I want to invest’, hereinafter the sub-goal), and “H” is the person The utterance of “C” is the utterance of the dialogue system 10, and the numbers next to “H” and “C” indicate the order of the utterances. For example, H 0 is the utterance provided to the conversation system 10 when the user 1 uses the conversation system 10 for the first time, C 1 is the first utterance of the conversation system 10, and H 1 is C It is the remark of the user 1 corresponding to 1. That is, H n may be a statement corresponding to C n (n is a positive integer).

화제 전환 단계는 서브 목표를 사용자(1)로부터 유도하기 위한 단계이다. 따라서, 화제 전환 단계에서 대화 시스템(10)은 서브 목표를 고려하여 혹은 서브 목표에 기초하여 어떠한 발언을 제공할지 판정하도록 구성된다. The topic switching step is a step for inducing a sub-goal from the user 1 . Accordingly, in the topic switching phase, the dialogue system 10 is configured to determine which utterance to provide in consideration of the sub-goal or based on the sub-goal.

일 실시예에서, 대화 시스템(10)은 서브 목표(G)와 사용자(1)에게 제공하는 발언의 유사도 및/또는 서브 목표(G)와 사용자(1)의 발언의 유사도를 고려하여 발언을 생성하여 제공할 수 있다. 예를 들어, 대화 시스템(10)이 i번째 발언을 제공하는 경우 대화 시스템(10)은 서브 목표(G)와 사용자(1)에게 제공하는 발언 중 적어도 어느 하나 또는 서브 목표(G)와 사용자(1)의 발언 중 적어도 어느 하나의 유사도를 고려하여 발언을 생성하여 제공할 수 있다. In one embodiment, the conversation system 10 generates a utterance in consideration of a similarity between the sub-goal G and the utterance provided to the user 1 and/or the similarity between the sub-goal G and the user 1 utterance. can be provided. For example, when the dialog system 10 provides the i-th utterance, the dialog system 10 provides at least one of the sub-target G and the utterance provided to the user 1 or the sub-goal G and the user ( A statement may be generated and provided in consideration of the degree of similarity of at least one of the statements of 1).

일 실시예에서, 대화 시스템(10)이 i번째 발언을 제공하는 경우 대화 시스템(10)은 대화 시스템(10)의 발언과 이에 대응하여 사용자(1)가 발언할 것으로 예상되는 발언의 유사도를 고려하여 발언을 생성하여 제공할 수 있다. In one embodiment, when the dialog system 10 provides the i-th utterance, the dialog system 10 considers the similarity of the utterance of the dialog system 10 to the utterance that the user 1 is expected to utter in response thereto. You can create a statement and provide it.

일 실시예에서, 대화 시스템(10)이 i번째 발언을 제공하는 경우 대화 시스템(10)은 i번째 발언 이전의 대화 시스템(10)의 발언과 서브 목표(G)의 유사도, 서브 목표(G)와 i번째 발언에 대응하여 사용자(1)가 발언할 것으로 예상되는 발언의 유사도를 고려하여 발언을 생성하여 제공할 수 있다. In one embodiment, when the dialog system 10 provides the ith utterance, the dialog system 10 determines the similarity between the utterance of the dialog system 10 before the ith utterance and the sub-goal G, the sub-goal G It is possible to generate and provide a remark in consideration of the similarity of remarks expected to be remarked by the user 1 in response to and i-th remarks.

일 실시예에서, 유사도는 코사인 유사도를 포함할 수 있다. In an embodiment, the similarity may include a cosine similarity.

예를 들어, 대화 시스템(10)은 복수의 대화를 주고받은 후 i번째 발언을 복수의 대화와 서브 목표(G)의 유사도에 기초하여 결정할 수 있다. 예를 들어, 대화 시스템(10)은 다음의 공식 1을 이용하여 i번째 발언을 결정할 수 있다. For example, the conversation system 10 may determine the i-th remark after exchanging a plurality of conversations based on the similarity between the plurality of conversations and the sub-goal G. For example, the dialogue system 10 may determine the ith utterance using Equation 1 below.

Figure 112021023846976-pat00001
Figure 112021023846976-pat00001

여기서, k 및 l은 대화 시스템(10)이 고려하는 발언의 개수(1이상의 정수), i는 발언의 회차이다. 따라서, 대화 시스템(10)은 사용자(1)와 대화 시스템(10)이 i-1회 이상 대화를 수행하였는지 카운트하도록 구성된다. 대화 시스템(10)은 사용자(1)와 대화 시스템(10)이 복수 회 이상 대화를 수행한 이 후 공식 1을 적용하여 대화를 수행할 수 있다. 공식 1에 따르면, 대화 시스템(10)의 i 번째 발언(Ci)에 대해 예상되는 사용자 발언(Hi)과 서브 목표의 유사도 및 i 번째 발언(Ci)전의 복수 개(예를 들어 상기의 예에선 k)의 사용자 발언과 서브 목표의 유사도의 평균값이 i번째 발언 이전의 복수 개(예를 들어, 상기의 예에서는 l)의 사용자의 발언과 서브 목표의 유사도의 평균값보다 크거나 같도록 i번째의 발언이 선택된다. k 및 l은 설정 가능하다. 예를 들어, 5개의 발언을 고려한다고 가정하면(k=l=5) 공식 1은 다음의 공식 2가된다. Here, k and l are the number of utterances (an integer greater than or equal to 1) considered by the dialogue system 10, and i is the number of utterances. Accordingly, the conversation system 10 is configured to count whether the conversation system 10 and the user 1 have performed the conversation i-1 or more times. After the user 1 and the dialog system 10 have a conversation multiple times or more, the conversation system 10 may apply Formula 1 to perform the conversation. According to Equation 1, the dialogue system (10) i-th speech (C i) on the expected user speech (H i) and the similarity of the sub-target and the i-th speech plurality before (C i) one (for example, above about In the example k), the average value of the similarity between the user's statement and the sub-goal is greater than or equal to the average value of the similarity between the user's statements and the sub-goal of a plurality of users before the i-th statement (for example, l in the example above). The second utterance is selected. k and l are configurable. For example, if we consider 5 utterances (k=l=5), Equation 1 becomes the following Equation 2.

Figure 112021023846976-pat00002
Figure 112021023846976-pat00002

대화 시스템의 10번째 발언(i=10)을 5개의 사용자 발언을 고려하여 구한다고 가정하면 위의 공식은 다음과 같은 공식 3이 된다. Assuming that the 10th utterance (i=10) of the dialogue system is obtained by considering 5 user utterances, the above formula becomes the following formula 3.

Figure 112021023846976-pat00003
Figure 112021023846976-pat00003

즉, 사용자(1)의 4번째부터 9번째 발언 각각과 서브 목표와의 유사도의 평균값보다 사용자(1)의 5번째부터 9번째 발언 각각과 서브 목표와의 유사도 및 대화 시스템(10)의 10번째 발언에 대해 예상되는 사용자의 10번째 발언과 서브 목표의 유사도의 합의 평균이 같거나 크도록 대화 시스템(10)의 10번째 발언이 선택된다. That is, the similarity between each of the 5th to 9th remarks of the user 1 and the sub-goal and the 10th of the dialogue system 10 is higher than the average value of the similarity between each of the user 1's 4th to 9th remarks and the sub-goal. The tenth utterance of the dialog system 10 is selected such that the average of the sum of the degree of similarity between the user's tenth utterance and the sub-goal expected for the utterance is equal to or greater than the average.

(predicted Hn

Figure 112021023846976-pat00004
recommended Cn)은, 챗봇의 발언에 대해 예상되는 사람의 발언의 임베딩 값(벡터값)이다. 상술한 것과 같이 학습된 대화 시스템(10)은 사용자(1)에 대해 발언을 생성할 수 있다. 일 실시예에서, 사용자(10)의 발언에 대응한 대화 시스템(10)의 발언의 후보는 복수 개가 있을 수 있다. 또한, 대화 시스템(10)의 발언의 후보에 대해 예상되는 사용자(10)의 발언의 후보는 복수 개가 있을 수 있다. 이러한 다양한 가능성을 서브 목표와의 유사도를 계산하여 상기 공식에 맞추어 대화 시스템(10)의 i번째 발언이 선택될 수 있다. (predicted Hn
Figure 112021023846976-pat00004
recommended Cn) is an embedding value (vector value) of a person's speech expected for the chatbot's speech. As described above, the learned conversation system 10 may generate a utterance for the user 1 . In an embodiment, there may be a plurality of candidates for the speech of the conversation system 10 corresponding to the speech of the user 10 . In addition, there may be a plurality of candidates for the speech of the user 10 expected for the candidates for the speech of the conversation system 10 . The i-th utterance of the dialogue system 10 may be selected according to the above formula by calculating the degree of similarity to the sub-goal for these various possibilities.

일 실시예에서, 대화 시스템(10)은 화제 전환 단계에서 서브 목표(G)를 유도하기 위해, 사용자의 i번째 발언을 예측하여 발언을 선택한다. 보다 자세히, 대화 시스템(10)은 사용자의 i번째 발언을 유도하기 위해, i번째 발언 전의 사용자 발언의 적어도 하나와 서브 목표(G)의 유사도와 대화 시스템(10)의 i번째 발언에 대응하는 사용자의 i번째 발언과 서브 목표(G)의 유사도를 고려하여 대화 시스템(10)의 i번째 발언을 선택할 수 있다.In one embodiment, the dialog system 10 predicts the user's i-th utterance and selects the utterance in order to induce the sub-goal G in the topic switching step. In more detail, the dialog system 10 is configured to induce the user's i-th utterance, and the similarity between at least one of the user's utterances before the i-th utterance and the sub-goal G and the user corresponding to the i-th utterance of the dialog system 10 . The i-th remark of the dialogue system 10 may be selected in consideration of the similarity between the i-th remark of and the sub-target G.

이러한 대화 시스템(10)의 방식은 다양하게 변형될 수 있다. (이하 수식의 좌측을 변형한 변형예입니다.)일 실시예에서, 대화 시스템(10)의 방식은 다음의 공식들 중 적어도 하나를 이용하여 i번째 대화를 선택할 수 있다. The method of the dialogue system 10 may be variously modified. (The following is a modified example of the left side of the equation.) In an embodiment, the method of the dialogue system 10 may select the i-th dialogue using at least one of the following formulas.

Figure 112021023846976-pat00005
Figure 112021023846976-pat00005

Figure 112021023846976-pat00006
Figure 112021023846976-pat00006

Figure 112021023846976-pat00007
Figure 112021023846976-pat00007

여기서, j, i, k, l은 0이상의 정수 또는 1이상의 정수, i는 발언의 회차이다.Here, j, i, k, and l are an integer greater than or equal to 0 or an integer greater than or equal to 1, and i is the number of utterances.

공식의 오른편은 사용자(1)의 i번째 발언(Hi) 전의 발언과 서브 목표(G)의 유사도 또는 i번째 발언(Hi) 전의 발언(H1 ... H1-i) 중 적어도 일부의 각각과 서브 목표(G)의 유사도의 평균을 나타낸다. On the right side of the formula, the similarity between the user 1's utterance before the i-th utterance (H i ) and the sub-goal (G) or at least a portion of the utterances (H 1 ... H 1-i ) before the ith utterance (H i ) represents the average of the degree of similarity between each of the sub-objectives (G).

공식의 왼편은 사용자(1)의 i번째 발언(Hi)과 서브 목표(G)의 유사도를 포함하고, 이와 i번째 발언(Hi) 전의 발언(H1 ...H1-i) 또는 i번째 발언(Hi) 이후의 예측되는 발언과 서브 목표(G)의 유사도를 고려하여 산출되는 값이다. 또는, 공식의 왼편은 사용자(1)의 발언을 전체적으로 예측하여 각각을 서브 목표와의 유사도를 구하고 이들의 평균값을 구한 값일 수 있다. The left side of the formula contains the similarity between the i-th utterance (H i ) of the user 1 and the sub-goal (G), and the utterances before the i-th utterance (H i ) (H 1 ...H 1-i ) or This is a value calculated in consideration of the similarity between the predicted utterance after the i-th utterance (H i ) and the sub-goal (G). Alternatively, the left side of the formula may be a value obtained by estimating the user 1's speech as a whole, obtaining a similarity to each sub-target, and obtaining an average value thereof.

일 실시예에서 j, i, k, l은 대화 시스템(10)에 의해 카운트될 수 있다. 상기 공식들은 j, i, k, l이상의 대화가 수행된 이후 적용이 가능하므로, 대화 시스템(10)은 사용자(1)와 대화 시스템(10)이 복수 회의 대화를 수행한 다음, 상기 j, i, k, l의 회수가 만족되었는지 판단한 다음 상기 공식을 적용하여 사용자(1)가 서브 목표에 도달하도록 유도할 수 있다. In one embodiment j, i, k, l may be counted by the dialog system 10 . Since the above formulas can be applied after more than j, i, k, l or more conversations have been performed, the conversation system 10 performs a plurality of conversations between the user 1 and the conversation system 10, and then the j, i After determining whether the number of times , k, and l is satisfied, the above formula may be applied to induce the user 1 to reach the sub-goal.

위의 공식은 다양한 변형예 중 하나이고, 본 개시와 같이 사용자(1)의 i번째 발언을 유도하여 서브 목표를 유도하기 위해서 서브 목표와 사용자(1) 및/또는 대화 시스템(10)의 i번째 이전의 발언과 서브 목표와의 유사도를 이용하여 상기 공식들은 다양하게 변형될 수 있다. 예를 들어, 대화 시스템(10)은 i번째 발언을 생성하기 위해, 대화 시스템(10) 및/또는 사용자(1)의 i+1, i+2, ..., i+p (p는 1이상의 자연수) 발언을 예측하고, 예측한 발언과 서브 목표와의 유사도를 계산하여 이에 기초하여 i번째 발언을 생성할 수 있다. The above formula is one of various modifications, and in order to induce the sub-goal by inducing the i-th remark of the user 1 as in the present disclosure, the sub-goal and the i-th of the user 1 and/or the dialog system 10 Using the similarity between the previous statement and the sub-goal, the above formulas can be variously modified. For example, the dialog system 10 may use i+1, i+2, ..., i+p (p is 1) of the dialog system 10 and/or user 1 to generate an i-th utterance. more than a natural number), a utterance may be predicted, a degree of similarity between the predicted utterance and the sub-goal may be calculated, and an i-th utterance may be generated based thereon.

일 실시예에서, 대화 시스템(10)이 사용자 발언과 서브 목표(G)의 유사도를 체크하기 때문에 대화 시스템(10)은 사용자의 발언이 서브 목표(G)에 가까워지고 있는지를 확인할 수 있고, 이를 이용하여 대화 시스템(10)의 발언을 선택할 수 있다. 대화 시스템(10)은 사용자의 i번째 발언(Hi)을 유도하기 위해, 사용자의 i번째 발언(Hi)과 서브 목표(G)의 유사도가 사용자의 i번째 발언(Hi) 전의 발언(H1,...H1-i)과 서브 목표(G)의 유사도 또는 사용자의 i번째 발언(Hi) 전의 발언(Hk,...H1-i)과 서브 목표(G)의 유사도의 평균과 같거나 크도록 i번째 발언(Ci)를 선택할 수 있다. In one embodiment, since the dialog system 10 checks the similarity between the user's utterance and the sub-goal G, the dialog system 10 can determine whether the user's utterance is approaching the sub-goal G, and can be used to select utterances of the dialogue system 10 . Dialog system 10 is to induce a user in the i-th speech (H i), the user of the i-th speech (H i) and the i-th speech of the degree of similarity is the user of the sub-goals (G) speech before (H i) ( H 1 ,...H 1-i ) and the sub-goal (G) or the user's i-th utterance (H i ) before the utterance (H k ,...H 1-i ) and the sub-goal (G) The i-th utterance (C i ) may be selected to be equal to or greater than the average of the similarity.

도 2 및 3을 참조하여 설명한 것과 같이, 대화 시스템(10)은 화제 전환 단계에서 대화 시스템(10)이 원하는 발언을 사용자가 하도록 유도하여 대화의 방향을 전환할 수 있다. 이에 따라, 대화 시스템(10)은 사용자가 화제 전환 단계의 서브 목표를 발언하도록 유도할 수 있다.As described with reference to FIGS. 2 and 3 , the conversation system 10 may change the direction of the conversation by inducing the user to make a desired remark by the conversation system 10 in the step of switching the topic. Accordingly, the conversation system 10 may induce the user to speak a sub-goal of the topic change step.

도 4 및 5는 본 개시의 일 실시예에 따른 대화 시스템(10)과 사용자(1)의 대화의 일 예이다. 도 4 및 5는 가상의 실시예로 본 개시의 대화 시스템(10)의 실시예를 보여주기 위한 것일 뿐 본 개시의 대화 시스템(10)은 이에 한정되지 않는다.4 and 5 are an example of a conversation between the conversation system 10 and the user 1 according to an embodiment of the present disclosure. 4 and 5 are only for showing an embodiment of the dialog system 10 of the present disclosure in a virtual embodiment, and the conversation system 10 of the present disclosure is not limited thereto.

도 3을 참조하여 설명한 대화 시스템(10)의 화제 전환 단계에서 서브 목표를 유도하기 위해 대화 시스템의 i번째 발언을 선택하는 방법은 도2의 최종 목표를 선택하는 방법에 적용될 수 있다. 예를 들어, 화제 전환 단계의 서브 목표가 최종 목표와 동일할 수 있다. 이 경우, 대화 시스템(10)은 복수의 대화를 수행하고 i번째, i+1번째, i+2번째의 발언을 유도하여 사용자(1)가 최종 목표를 발언하도록 유도할 수 있다. The method of selecting the i-th utterance of the dialogue system to induce a sub-goal in the topic switching step of the dialogue system 10 described with reference to FIG. 3 may be applied to the method of selecting the final target of FIG. 2 . For example, the sub-goal of the topic change step may be the same as the final goal. In this case, the conversation system 10 may induce the user 1 to speak the final goal by conducting a plurality of conversations and inducing i-th, i+1-th, and i+2-th utterances.

목표와 사용자(1)의 발언 또는 대화 시스템(10)의 발언과의 유사도를 고려하여 대화 시스템(10)이 발언을 선택하는 방법은 다양하게 응용이 가능하다. A method of selecting a speech by the dialogue system 10 in consideration of a similarity between the target and the remarks of the user 1 or the remarks of the dialogue system 10 can be variously applied.

도 6은 본 개시의 일 실시예에 따른 최종 목표를 유도하는 방법을 설명하는 순서도이다. 6 is a flowchart illustrating a method of deriving a final goal according to an embodiment of the present disclosure.

일 실시예에서, 화제 전환 단계 또는 화제 전환 단계의 서브 목표를 결정하기 위해 도 3을 참조하여 설명한 방법 및 상술한 공식들을 적용할 수 있다. 즉, 최종 목표와 서브 목표의 유사도에 기초하여 화제 전환 단계를 설정하여 최종 목표를 유도하는 시나리오를 작성할 수 있다. 그 다음, 각 화제 전환 단계의 서브 목표를 유도하기 위해 본 개시의 설명 및 공식들을 이용하여 사용자(1)의 발언을 유도할 수 있는 발언을 선택한다. In one embodiment, the method described with reference to FIG. 3 and the above-described formulas may be applied to determine the topic change step or the sub-goal of the topic change step. That is, it is possible to create a scenario in which the final goal is derived by setting the topic switching step based on the degree of similarity between the final goal and the sub-goal. Then, a utterance that can induce a utterance of the user 1 is selected using the description and formulas of the present disclosure to derive a sub-goal of each topic change step.

도 6을 참조하면, 대화 시스템(10)은 최종 목표를 획득한다(S605). 최종 목표를 획득한다는 것은 대화 시스템(10)의 사용자가 대화 시스템(10)에 최종 목표를 입력하여 대화 시스템(10)이 최종 목표를 수신하는 것, 대화 시스템(10)이 저장된 최종 목표 중 어느 하나를 선택하는 것, 사용자(1)가 대화 시스템(10)에 접속하여 최종 목표 관련 문장이나 단어를 입력하여 그로부터 대화 시스템(10)이 최종 목표를 추론하는 것, 사용자(1)가 대화 시스템(10)에 접속하여 최종 목표 관련 문장이나 단어를 입력하기 이전에 미리 설정되는 것 등을 포함할 수 있다. Referring to FIG. 6 , the dialogue system 10 obtains a final goal ( S605 ). Achieving the final goal means that the user of the conversation system 10 inputs the final goal into the conversation system 10 so that the conversation system 10 receives the final goal, any one of the final goal stored in the conversation system 10 the user 1 accesses the dialogue system 10 and inputs a sentence or word related to the end goal so that the dialogue system 10 infers the end goal therefrom; ) and entering the final target related sentences or words, it may include things that are set in advance.

대화 시스템(10)은 최종 목표에 기초하여 대화 시나리오를 설정한다(S610). 대화 시스템(10)은 적어도 하나의 화제 전환 단계를 포함하는 대화 시나리오를 설정할 수 있다. 화제 전환 단계는 서브 목표를 포함한다. 서브 목표는 대화 시스템(10)이 사용자(1)로 하여금 발언하도록 유도하려는 발언이다. 일 실시예에서, 화제 전환 단계가 복수인 경우, 최종 목표에 상대적으로 가까운 화제 전환 단계의 서브 목표와 최종 목표의 유사도는, 최종 목표에 상대적으로 먼 화제 전화 단계의 서브 목표와 최종 목표의 유사도와 같거나 크도록 대화 시나리오가 설정될 수 있다. The dialogue system 10 sets a dialogue scenario based on the final goal (S610). The dialogue system 10 may set up a dialogue scenario including at least one topic switching step. The topic shift phase includes sub-goals. The sub-goal is a speech that the dialog system 10 intends to induce the user 1 to speak. In one embodiment, when there are a plurality of topic conversion steps, the degree of similarity between the final target and the sub-goal of the topic switching step relatively close to the final goal is similar to the similarity between the sub-goal and the final goal of the topic conversion step relatively far from the final goal. Conversation scenarios may be set to be equal or greater.

대화 시스템(10)은 설정된 시나리오에 따라 대화를 수행한다(S615). 도 2 및 3을 참조하여 설명한 사용자(1)의 발언을 유도하는 모델이 대화 시나리오에 적용될 수 있다.The dialogue system 10 performs dialogue according to the set scenario (S615). The model for inducing the user 1's speech described with reference to FIGS. 2 and 3 may be applied to the conversation scenario.

일 실시예에서, 상술한 최종 목표인 “투자를 하고싶어요”는 예시에 불과하며 최종 목표는 다른 주제를 포함하거나 변형될 수 있다. 예를 들어, 최종 목표는 “보험을 들고 싶어요,” “상품을 사고 싶어요,” “서비스에 가입하고 싶어요”와 같이 대화 시스템(10)을 사용하는 사용자(1)가 설정하거나, 대화 시스템(10)에 기 저장된 여러가지 목표 중 적어도 하나일 수 있다. In one embodiment, the above-described final goal “I want to invest” is only an example, and the final goal may include other topics or be modified. For example, the end goal is set by the user 1 using the conversation system 10, such as “I want to buy insurance,” “I want to buy a product,” “I want to subscribe to a service,” or the conversation system 10 ) may be at least one of a number of pre-stored goals.

일 실시예에서, 상술한 서브 목표를 유도하기 위해 서브 목표와의 유사도를 이용하여 발언을 예측하고 유도하는 방식은 최종 목표를 유도하기 위해 사용될 수 있다. 또한, i번째 발언을 유도하기 위해 r번째 발언(r은 i보다 큰 자연수)과의 유사도를 이용하여 사용자(1)의 발언을 예측하고 유도할 수 있다. 이 경우, r번째 발언이 서브 목표를 대체하는 것으로 볼 수 있다. In an embodiment, the method of predicting and inducing a speech using a similarity with the sub-goal to derive the above-described sub-goal may be used to derive the final goal. In addition, in order to induce the i-th remark, the user 1's remark may be predicted and induced by using the similarity with the r-th remark (r is a natural number greater than i). In this case, it can be seen that the r-th remark replaces the sub-goal.

일 실시예에서, 상술한 공식들의 부등호는 같다(=)를 포함하도록 표시되었으나, 유사도가 같은 경우만 반복되는 경우 목표를 유도하기 어려우므로, 부등호에서 같다는 삭제될 수 있다. In an embodiment, the inequality sign of the above-mentioned formulas is indicated to include the same (=), but since it is difficult to derive a target when the similarity is repeated only when the same degree of similarity is repeated, the inequality sign may be deleted from the inequality sign.

본 개시에서, 최종 목표, 서브 목표, 목표 등은 예시적인 것으로 본 개시는 특정한 목표를 유도하기 위한 대화 방법으로 해석될 수 있다. In the present disclosure, an end goal, a sub-goal, a goal, and the like are exemplary, and the present disclosure may be interpreted as a dialogue method for inducing a specific goal.

이상에서 설명된 장치 및 방법은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 컨트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령 (instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus and method described above may be implemented as a hardware component, a software component, and/or a combination of the hardware component and the software component. For example, devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA), It may be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록매체에 저장될 수 있다.The software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems, and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

본 개시의 설명된 실시예들은 또한 어떤 태스크들이 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘 다에 위치할 수 있다.The described embodiments of the present disclosure may also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 해당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to a person skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. -magneto-optical media, and specially configured to store and carry out program instructions such as ROM, RAM, flash memory, etc.

하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Hardware devices are included. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

컴퓨팅 장치는 유선 및/또는 무선 통신을 통한 원격 컴퓨터(들) 등의 하나 이상의 원격 컴퓨터로의 논리적 연결을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(들)는 워크스테이션, 서버컴퓨터, 라우터, 퍼스널 컴퓨터, 휴대용 컴퓨터, 마이크로프로세서-기반 오락 기기, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있으며, 일반적으로 컴퓨팅 장치에 대해 기술된 구성요소들 중 다수 또는 그 전부를 포함한다. 논리적 연결은 근거리 통신망(LAN) 및/또는 더 큰 네트워크, 예를 들어, 원거리 통신망(WAN)에의 유선/무선 연결을 포함한다. 이러한 LAN 및 WAN 네트워킹 환경은 사무실 및 회사에서 일반적인 것이며, 인트라넷 등의 전사적 컴퓨터 네트워크(enterprise-wide computer network)를 용이하게 해주며, 이들 모두는 전세계 컴퓨터 네트워크, 예를 들어, 인터넷에 연결될 수 있다.A computing device may operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s), via wired and/or wireless communications. The remote computer(s) may be workstations, server computers, routers, personal computers, portable computers, microprocessor-based entertainment devices, peer devices, or other common network nodes, generally comprising the components described for the computing device. includes many or all of Logical connections include wired/wireless connections to local area networks (LANs) and/or larger networks, eg, wide area networks (WANs). Such LAN and WAN networking environments are common in offices and companies, and facilitate enterprise-wide computer networks, such as intranets, all of which can be connected to a worldwide computer network, for example, the Internet.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited drawings, those skilled in the art may apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order than the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다. Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

1: 사용자 10: 대화 시스템
100: 유저 인터페이스 200: 자연어 처리기
300: 프로세서 400: 데이터베이스
500: 인공지능 모듈
1: User 10: Conversation System
100: user interface 200: natural language processor
300: processor 400: database
500: artificial intelligence module

Claims (10)

대화 시스템의 사용자로부터 발언을 수신하고 상기 대화 시스템의 발언을 상기 사용자에게 제공하도록 구성된 유저 인터페이스;
상기 사용자의 발언을 처리하여 상기 대화 시스템이 해석 가능한 사용자 발언 데이터로 변환하도록 구성된 자연어 처리기;
적어도 하나의 대화 도메인을 저장하도록 구성된 데이터베이스 - 상기 대화 도메인은 시스템 발언 데이터를 포함 -;
상기 사용자로부터 발언을 수신하는 것에 응답하여 상기 자연어 처리기 및 상기 데이터베이스를 참조하여 상기 대화 시스템의 발언을 생성하도록 구성된 인공 지능 모듈을 포함하는 대화 시스템으로,
상기 대화 시스템은 상기 사용자로 하여금 특정 목표를 발언하도록 유도하며,
상기 인공 지능 모듈은 상기 사용자로 하여금 상기 특정 목표를 발언하도록 유도하기 이전에, 상기 사용자로 하여금 복수의 서브 목표를 발언하도록 유도하며,
상기 인공 지능 모듈은 상기 특정 목표에 상대적으로 가까운 서브 목표와 상기 특정 목표의 유사도가 상기 특정 목표에 상대적으로 먼 서브 목표와 상기 특정 목표의 유사도보다 크거나 같도록 설정하도록 구성된, 대화 시스템.
a user interface configured to receive a utterance from a user of the conversation system and to provide the utterance of the conversation system to the user;
a natural language processor configured to process the user's speech and convert it into user speech data that the dialog system can interpret;
a database configured to store at least one conversation domain, the conversation domain including system speech data;
a dialog system comprising an artificial intelligence module configured to generate a utterance of the dialog system with reference to the natural language processor and the database in response to receiving a utterance from the user;
the dialog system induces the user to speak a specific goal,
The artificial intelligence module induces the user to speak a plurality of sub-goals before inducing the user to speak the specific target,
and the artificial intelligence module is configured to set a degree of similarity between a sub-goal relatively close to the specific target and the specific target to be greater than or equal to a similarity between a sub-target relatively distant to the specific target and the specific target.
제1항에 있어서,
상기 인공 지능 모듈은 상기 사용자의 i-1번째의 발언에 대응하여 상기 대화 시스템의 i번째의 발언을 생성하여 제공하되,
상기 사용자의 i 번째 발언 전의 발언 중 하나 이상의 발언 각각과 상기 특정 목표와의 유사도, 및 상기 대화 시스템의 i번째 발언에 대응하여 상기 사용자가 발언할 것으로 예상되는 i번째 발언과 상기 특정 목표와의 유사도에 기초하여 상기 대화 시스템의 i번째의 발언을 생성하도록 구성된, 대화 시스템.
According to claim 1,
The artificial intelligence module generates and provides the i-th utterance of the dialog system in response to the i-1 th utterance of the user,
A degree of similarity between each of one or more utterances of the user's utterances before the i-th utterance and the specific target, and a degree of similarity between the i-th utterance that the user is expected to make in response to the i-th utterance of the conversation system and the specific target and generate an i-th utterance of the conversation system based on
제2항에 있어서,
상기 인공 지능 모듈은
상기 대화 시스템의 i번째 발언에 대응하여 상기 사용자가 발언할 것으로 예상되는 상기 사용자의 i번째 발언과 상기 특정 목표의 유사도 및 상기 사용자의 k번째 발언부터 i-1번째 발언 각각과 상기 특정 목표의 유사도의 합의 평균값이 상기 사용자의 l번째 발언부터 i-1번째 발언 각각과 상기 특정 목표의 유사도의 평균값과 같거나 크도록 상기 i번째 발언을 생성하도록 구성된 - 상기 k 및 l은 i-1보다 작고 1보다 큰 자연수 -, 대화 시스템.
3. The method of claim 2,
The artificial intelligence module is
A degree of similarity between the user's i-th remark, which is expected to be spoken by the user in response to the i-th remark of the dialog system, and the specific target, and a degree of similarity between each of the user's k-th remarks to the i-1 th remarks and the specific target configured to generate the i-th utterance such that an average value of the sum of the user's l-th utterances to i-1 th utterances is equal to or greater than an average value of the similarity of the specific target to each of the user's l-th utterances - wherein k and l are less than i-1 and 1 Greater than natural numbers -, dialogue system.
제2항에 있어서,
상기 대화 시스템은 상기 i-1번의 대화를 카운트하고, 상기 i-1번을 카운트한 이후에 상기 사용자의 i-1번의 발언에 대응하여 i번의 발언을 생성하여 제공하도록 구성된, 대화 시스템.
3. The method of claim 2,
and the conversation system is configured to count the conversation i-1, and after counting the i-1 time, generate and provide the utterance i in response to the utterance i-1 of the user.
제1항에 있어서,
상기 데이터베이스는 복수의 대화 도메인을 저장하도록 구성되고, 상기 복수의 대화 도메인 각각은 서로 다른 특정 목표를 유도하도록 구성된 대화 도메인이고,
상기 대화 시스템은 상기 복수의 대화 도메인 중 어느 하나를 선택하도록 구성된, 대화 시스템.
According to claim 1,
the database is configured to store a plurality of conversation domains, each of the plurality of conversation domains being a conversation domain configured to derive a different specific goal,
and the dialog system is configured to select any one of the plurality of dialog domains.
사용자로 하여금 특정 목표를 발언하도록 유도하는 대화 시스템의 대화 방법에 있어서,
상기 대화 시스템은
대화 시스템의 사용자로부터 발언을 수신하고 상기 대화 시스템의 발언을 상기 사용자에게 제공하도록 구성된 유저 인터페이스;
상기 사용자의 발언을 처리하여 상기 대화 시스템이 해석 가능한 사용자 발언 데이터로 변환하도록 구성된 자연어 처리기;
적어도 하나의 대화 도메인을 저장하도록 구성된 데이터베이스 - 상기 대화 도메인은 시스템 발언 데이터를 포함 -;
상기 사용자로부터 발언을 수신하는 것에 응답하여 상기 자연어 처리기 및 상기 데이터베이스를 참조하여 상기 대화 시스템의 발언을 생성하도록 구성된 인공 지능 모듈을 포함하고, 상기 대화 방법은
상기 사용자로 하여금 상기 특정 목표를 발언하도록 유도하는 단계 이전에, 상기 사용자로 하여금 제1 서브 목표를 발언하도록 유도하는 단계;
상기 제1 서브 목표를 발언하도록 유도하는 단계 이후 및 상기 사용자로 하여금 상기 특정 목표를 발언하도록 유도하는 단계 이전에 제2 서브 목표를 발언하도록 유도하는 단계; 및
상기 특정 목표를 발언하도록 유도하는 단계를 포함하되,
상기 제2 서브 목표와 상기 특정 목표와의 유사도는 상기 제1 서브 목표와 상기 특정 목표의 유사도와 같거나 큰, 대화 방법,
In a conversation method of a conversation system that induces a user to speak a specific goal,
The dialogue system is
a user interface configured to receive a utterance from a user of the conversation system and to provide the utterance of the conversation system to the user;
a natural language processor configured to process the user's speech and convert it into user speech data that the dialog system can interpret;
a database configured to store at least one conversation domain, the conversation domain including system speech data;
an artificial intelligence module configured to generate a utterance of the dialog system with reference to the natural language processor and the database in response to receiving a utterance from the user, the conversation method comprising:
before inducing the user to speak the specific target, inducing the user to speak a first sub-goal;
inducing the user to speak a second sub-goal after inducing the user to speak the first sub-goal and before inducing the user to speak the specific target; and
Inducing the specific target to be spoken,
a degree of similarity between the second sub-goal and the specific target is equal to or greater than the degree of similarity between the first sub-goal and the specific target;
제6항에 있어서,
상기 인공 지능 모듈은 상기 사용자의 i-1번째의 발언에 대응하여 상기 대화 시스템의 i번째의 발언을 생성하여 제공하는 단계를 더 포함하되,
상기 대화 시스템의 i번째의 발언을 생성하여 제공하는 단계는
상기 사용자의 i 번째 발언 전의 발언 중 하나 이상의 발언 각각과 상기 특정 목표와의 유사도, 및 상기 대화 시스템의 i번째 발언에 대응하여 상기 사용자가 발언할 것으로 예상되는 i번째 발언과 상기 특정 목표와의 유사도에 기초하여 상기 대화 시스템의 i번째의 발언을 생성하는 단계를 포함하는, 대화 방법.
7. The method of claim 6,
The artificial intelligence module further comprises the step of generating and providing the i-th utterance of the dialog system in response to the i-1 th utterance of the user,
The step of generating and providing the i-th utterance of the dialogue system includes:
A degree of similarity between each of one or more utterances of the user's utterances before the i-th utterance and the specific target, and a degree of similarity between the i-th utterance that the user is expected to make in response to the i-th utterance of the conversation system and the specific target and generating an i-th utterance of the conversation system based on
제7항에 있어서,
상기 대화 시스템의 i번째의 발언을 생성하여 제공하는 단계는
상기 대화 시스템의 i번째 발언에 대응하여 상기 사용자가 발언할 것으로 예상되는 상기 사용자의 i번째 발언과 상기 특정 목표의 유사도 및 상기 사용자의 k번째 발언부터 i-1번째 발언 각각과 상기 특정 목표의 유사도의 합의 평균값인 제1 평균값을 계산하는 단계;
상기 사용자의 l번째 발언부터 i-1번째 발언 각각과 상기 특정 목표의 유사도의 평균값인 제2 평균값을 계산하는 단계; 및
상기 제1 평균값이 상기 제2 평균값과 같거나 크도록 상기 i번째 발언을 생성하는 단계를 포함하는 - 상기 k 및 l은 i-1보다 작고 1보다 큰 자연수 -, 대화 방법.
8. The method of claim 7,
The step of generating and providing the i-th utterance of the dialogue system includes:
A degree of similarity between the user's i-th remark, which is expected to be spoken by the user in response to the i-th remark of the dialog system, and the specific target, and a degree of similarity between each of the user's k-th remarks to the i-1 th remarks and the specific target calculating a first average value that is an average value of the sum of ;
calculating a second average value that is an average value of the similarity between each of the i-1 th utterances from the 1 th utterance of the user and the specific target; and
generating the i-th utterance such that the first average value is equal to or greater than the second average value, wherein k and l are natural numbers less than i-1 and greater than 1;
제7항에 있어서,
상기 대화 시스템은 상기 i-1번의 대화를 카운트하는 단계, 및 상기 i-1번을 카운트한 이후에 상기 사용자의 i-1번의 발언에 대응하여 i번의 발언을 생성하는 단계를 더 포함하는, 대화 방법.
8. The method of claim 7,
Conversation, the dialog system further comprising: counting the conversation i-1 times; and generating the utterance i times in response to the user's utterance i-1 times after counting the i-1 times. Way.
제6항에 있어서,
상기 데이터베이스는 복수의 대화 도메인을 저장하도록 구성되고, 상기 복수의 대화 도메인 각각은 서로 다른 특정 목표를 유도하도록 구성된 대화 도메인이고,
상기 대화 방법은 상기 제1 서브 목표를 발언하도록 유도하는 단계 이전에 상기 복수의 대화 도메인 중 어느 하나를 선택하는 단계를 더 포함하는, 대화 방법.
7. The method of claim 6,
the database is configured to store a plurality of conversation domains, each of the plurality of conversation domains being a conversation domain configured to derive a different specific goal,
The conversation method further comprises the step of selecting any one of the plurality of conversation domains before the step of inducing the first sub-goal to speak.
KR1020210026815A 2021-02-26 2021-02-26 Communication system for inducing response and communication method for inducing response KR102263656B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210026815A KR102263656B1 (en) 2021-02-26 2021-02-26 Communication system for inducing response and communication method for inducing response
KR1020210072845A KR102324635B1 (en) 2021-02-26 2021-06-04 Communication system for inducing response and communication method for inducing response

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210026815A KR102263656B1 (en) 2021-02-26 2021-02-26 Communication system for inducing response and communication method for inducing response

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210072845A Division KR102324635B1 (en) 2021-02-26 2021-06-04 Communication system for inducing response and communication method for inducing response

Publications (1)

Publication Number Publication Date
KR102263656B1 true KR102263656B1 (en) 2021-06-11

Family

ID=76376387

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020210026815A KR102263656B1 (en) 2021-02-26 2021-02-26 Communication system for inducing response and communication method for inducing response
KR1020210072845A KR102324635B1 (en) 2021-02-26 2021-06-04 Communication system for inducing response and communication method for inducing response

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020210072845A KR102324635B1 (en) 2021-02-26 2021-06-04 Communication system for inducing response and communication method for inducing response

Country Status (1)

Country Link
KR (2) KR102263656B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102408172B1 (en) * 2021-10-15 2022-06-13 주식회사 파이오링크 Method and device of providing a solution for network interruption by remote automatic network analysis under network interruption
CN115186147A (en) * 2022-05-31 2022-10-14 华院计算技术(上海)股份有限公司 Method and device for generating conversation content, storage medium and terminal
KR20230050673A (en) 2021-10-08 2023-04-17 주식회사 리니토 Twofold semi-automatic symbolic propagation method of training data for natural language understanding model, and device therefor

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102638316B1 (en) * 2022-02-26 2024-02-20 이병수 Method for Translating User Setting Foreign Language

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120136417A (en) * 2010-01-18 2012-12-18 애플 인크. Intelligent automated assistant
KR102008169B1 (en) 2017-12-26 2019-10-21 삼성생명보험주식회사 Computer program stored on computer-readable medium, method and server for responding to a customer inquiry
JP2020087352A (en) * 2018-11-30 2020-06-04 富士通株式会社 Dialogue control method, dialogue control program, dialogue control device, information presentation method, and information presentation device
KR102198295B1 (en) 2018-12-27 2021-01-05 주식회사 솔트룩스 Dialogue system having multiple dialogue domains

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120136417A (en) * 2010-01-18 2012-12-18 애플 인크. Intelligent automated assistant
KR102008169B1 (en) 2017-12-26 2019-10-21 삼성생명보험주식회사 Computer program stored on computer-readable medium, method and server for responding to a customer inquiry
JP2020087352A (en) * 2018-11-30 2020-06-04 富士通株式会社 Dialogue control method, dialogue control program, dialogue control device, information presentation method, and information presentation device
KR102198295B1 (en) 2018-12-27 2021-01-05 주식회사 솔트룩스 Dialogue system having multiple dialogue domains

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Representing long texts for NLU, CS224U Stanford University

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230050673A (en) 2021-10-08 2023-04-17 주식회사 리니토 Twofold semi-automatic symbolic propagation method of training data for natural language understanding model, and device therefor
KR102408172B1 (en) * 2021-10-15 2022-06-13 주식회사 파이오링크 Method and device of providing a solution for network interruption by remote automatic network analysis under network interruption
CN115186147A (en) * 2022-05-31 2022-10-14 华院计算技术(上海)股份有限公司 Method and device for generating conversation content, storage medium and terminal
CN115186147B (en) * 2022-05-31 2023-08-25 华院计算技术(上海)股份有限公司 Dialogue content generation method and device, storage medium and terminal

Also Published As

Publication number Publication date
KR102324635B1 (en) 2021-11-11

Similar Documents

Publication Publication Date Title
KR102263656B1 (en) Communication system for inducing response and communication method for inducing response
US11503155B2 (en) Interactive voice-control method and apparatus, device and medium
Serban et al. A deep reinforcement learning chatbot
JP7149560B2 (en) Request translation system, training method for request translation model and request judgment model, and dialogue system
EP2157570B1 (en) Automatic conversation system and conversation scenario editing device
JP6819990B2 (en) Dialogue system and computer programs for it
Mairesse et al. Stochastic language generation in dialogue using factored language models
US11636272B2 (en) Hybrid natural language understanding
CN114596844B (en) Training method of acoustic model, voice recognition method and related equipment
KR102215286B1 (en) Method and apparatus for providing sentence generation chatbot service based on document understanding
Chi et al. Speaker role contextual modeling for language understanding and dialogue policy learning
US11132994B1 (en) Multi-domain dialog state tracking
CN114911932A (en) Heterogeneous graph structure multi-conversation person emotion analysis method based on theme semantic enhancement
CN113360610A (en) Dialog generation method and system based on Transformer model
Razavi et al. Managing casual spoken dialogue using flexible schemas, pattern transduction trees, and gist clauses
CN115600582A (en) Controllable text generation method based on pre-training language model
Wang et al. Data augmentation for internet of things dialog system
CN116842150A (en) Variation self-encoder reply generation method based on contrast learning
Debatin et al. Offline Speech Recognition Development
CN116978367A (en) Speech recognition method, device, electronic equipment and storage medium
Mezza et al. A multi-dimensional, cross-domain and hierarchy-aware neural architecture for iso-standard dialogue act tagging
CN115346520A (en) Method, apparatus, electronic device and medium for speech recognition
CN114333790A (en) Data processing method, device, equipment, storage medium and program product
Cui et al. MSAM: A multi-layer bi-LSTM based speech to vector model with residual attention mechanism
Griol et al. Modeling users emotional state for an enhanced human-machine interaction

Legal Events

Date Code Title Description
A107 Divisional application of patent
GRNT Written decision to grant