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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000004044 response Effects 0.000 title claims description 31
- 230000001939 inductive effect Effects 0.000 title claims description 28
- 238000004891 communication Methods 0.000 title abstract description 13
- 238000013473 artificial intelligence Methods 0.000 claims abstract description 38
- 230000008569 process Effects 0.000 claims abstract description 13
- 238000004458 analytical method Methods 0.000 description 15
- 230000008859 change Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 12
- 238000013528 artificial neural network Methods 0.000 description 9
- 230000014509 gene expression Effects 0.000 description 5
- 238000003058 natural language processing Methods 0.000 description 5
- 239000003795 chemical substances by application Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 206010028916 Neologism Diseases 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G06Q50/30—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/40—Business processes related to the transportation industry
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech 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
Description
본 개시는 대화 시스템에 관한 것으로, 자세하게는 원하는 답변을 유도하는 대화 시스템에 관한 것이다.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.
본 개시는 질의와 응답을 통해 대화의 맥락을 이해하여 대화를 수행하는 대화 시스템을 제공한다. 이에 따라, 대화 시스템은 사용자가 진짜 사람과 대화를 하는 것처럼 느낄 수 있는 대화를 제공하고 또한 원하는 답변을 유도할 수 있다.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
유저 인터페이스(100)는 네트워크(도시하지 않음)를 통하여 사용자(1)로부터 발언을 수신하고 사용자(1)에게 발언을 제공한다. 유저 인터페이스(100)는 사용자(1)가 사용하는 단말기 등을 통하여 대화 시스템(10)에 엑세스하기 위한 인터페이스를 제공할 수 있다. 사용자(1)(10)는 유저 인터페이스(100)를 통하여 사용자(1)(10)의 발언을 대화 시스템(10)에 전송할 수 있고, 유저 인터페이스(100)를 통하여 대화 시스템(10)으로부터 발언을 전달받을 수 있다. 발언(utterance)은 대화 과정에서 사용자(1) 또는 대화 시스템(10)이 상대에게 전달하고자 하는 문장이다. The
네트워크는 통신 방식은 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
자연어 처리기(200)는 형태소 분석, 개체명 인식, 구문 분석, 감성 분석, 시멘틱 분석, 의도 분석, 어휘 의미 분석, 의미역 분석, 화용 분석, 정보 검색, 문장 의미 분석, 등을 수행할 수 있다. The
일 예로, 자연어 처리는 대상 어절을 최소의 의미 단위인 형태소로 분석하는 형태소 분석 과정, 이렇게 분석된 형태소 결과 중 가장 적합한 형태의 품사를 선택하는 과정으로서 문맥 좌우에 위치한 중의성 해소의 힌트가 되는 정보를 이용해서 적합한 분석 결과를 선택하는 품사 부착 과정, 명사구, 동사구, 부사구 등의 덩어리를 분석하는 구 단위 분석 과정, 중문, 복문 등의 문장을 단문 단위로 분해하는 절 단위 분석 과정, 및 문장을 이루고 있는 구성 성분 간 위계 관계를 분석하여 문장의 구조를 결정하는 구문 분석 과정을 포함할 수 있다.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
프로세서(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
데이터베이스(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, 플래시 드라이브, 하드 드라이브, 네트워크를 이용한 클라우드 등과 같은 다양한 저장 공간을 포함할 수 있다.
일 실시예에서, 데이터베이스(400)는 복수의 대화 도메인, 대화 생성을 위한 데이터 등을 포함할 수 있다. 복수의 대화 도메인은 대화 상황에 맞게 구성된 대화 모델일 수 있다. 복수의 대화 도메인은 각각 최종 목표에 해당하는 대화 모델 일 수 있다. 데이터베이스(400)의 대화 도메인은 복수의 문장 또는 복수의 문장의 각각에 해당하는 n차원 벡터 형식의 데이터(이하, 시스템 발언 벡터 또는 시스템 발언 데이터)를 포함할 수 있다. 시스템 발언 벡터는 데이터베이스(400)의 대화 도메인이 포함하는 복수의 문장 또는 복수의 문장의 각각에 해당하는 n차원 벡터 형식의 데이터로 설명하였으나, 인공 지능 모듈(500)이 자연어 처리기(200)와 함께 동작하여 생성하거나 생성할 것으로 예측되는 자연어를 n차원 벡터 형식의 데이터로 변환한 데이터를 포함할 수 있다. In one embodiment, the
인공 지능 모듈(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
인공 지능 모듈(500)은 문맥 유지, 질의 판단, 최적 정답 생성, 정답 후보 추론, 정답 후보 근거 추론, 정답 후보 생성, 정단 신뢰도 추론, 정답 유형 분석, 정답 제약 인식, 질문 정답 지식 학습을 수행할 수 있다. 인공 지능 모듈(500)은 대화 시스템(10)의 대화를 관리하고, 문장 관계를 분석하여 피드백을 통해 학습을 수행할 수 있다. The
인공 지능 모듈(500)은 대화 시스템(10)의 발언을 자연어 처리기(200) 및/또는 데이터베이스(400)를 참조하여 자연어로 생성할 수 있으며, 자연어로 생성된 대화 시스템(10)의 발언은 프로세서(300)에 의하여 유저 인터페이스(100)를 통하여 사용자(1)에게 전달될 수 있다. 대화 시스템(10)이 발언을 생성하는 것은 본 개시에 선행 문헌으로 기재된 문헌을 참조하여 당 기술 분야에서 통상의 지식을 가진 사람이 용이하게 실시 가능하므로 자세한 설명은 생략한다. 그렇다고, 본 개시에서 발언의 생성을 선행 문헌의 내용으로 한정하는 것은 아니며, 당 기술 분야에서 통상의 지식을 가진 사람이 실시할 수 있는 범위는 본 개시에 포함된다.The
일 실시예에서, 인공 지능 모듈(500)은 사용자 발언 벡터와 시스템 발언 벡터의 유사도를 비교하고, 그 결과를 이용하여 대화 시스템(10)의 발언을 생성하거나 선택할 수 있다. 인공 지능 모듈(500)은 데이터베이스(400)에 저장된 적어도 하나의 대화 도메인을 선택하고, 이를 이용하여 대화 시스템(10)의 발언을 생성할 수 있다. 인공 지능 모듈(500)은 최종 목표에 기초하여 적어도 하나의 대화 도메인을 선택할 수 있다.In an embodiment, the
도 1은 예시적으로 설명을 위해 대화 시스템(10)의 구성을 분리한 것으로, 각 구성 요소는 조합/통합되거나 다른 구성 요소를 사용하여 위에서 설명한 기능을 수행할 수 있고, 각 구성에 대한 설명이 다른 구성에 적용될 수 있다. 예를 들어, 자연어 처리기(200)가 인공 지능 모듈(500)과 조합되거나, 통합되거나, 인공 지능 모듈(500)을 이용할 수 있다. 인공 지능 모듈(500)이 데이터베이스(400) 및/또는 자연어 처리기(200)를 이용할 수 있다. 프로세서(300)가 자연어 처리기(200)가 인공 지능 모듈(500)과 조합되거나, 통합되거나, 인공 지능 모듈(500)을 이용할 수 있다.1 is an example in which the configuration of the
대화 시스템의 학습Learning the Conversational System
대화 시스템(10)의 학습을 위한 학습 데이터 수집은 1) 금융사의 기존 챗봇 또는 상담사 채팅 대화 수집, 2) 전화 상담 내역(음성 녹음 포함) 수집, 3) 대화용 댓글 수집, 4) 영업 사원(상담사)와 피상담자(사용자(1))와의 상담 내용 수집, 5) 가상 상담 내용 수집 등을 포함할 수 있다. The learning data collection for learning of the
수집한 데이터를 정제/가공하여 학습데이터를 만든다. 음성 데이터의 경우 음성 인식을 통해 데이터를 변환한다. 동의어, 신조어, 대용어 등을 정리하여 대화의 문맥에 따라 데이터를 분류하고 가공한다. 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
학습에 의해, 대화 시스템(10)의 자연어 처리기(100) 및/또는 인공 지능 모듈(500)은 사용자(1)의 발언에 대응하여 발언을 생성하고 사용자(1)에게 제공할 수 있다. By learning, the
대화 시스템의 동작Behavior of the dialogue system
기본적으로 대화 시스템(10)은 사용자(1)의 발언에 대응하여 응답을 제공하도록 구성된다. 대화 시스템(10)은 보다 자세히, 사용자(1)가 대화 시스템(10) 또는 대화 시스템(10)의 사용자(1)가 의도한 목표를 발언하도록 구성된다. Basically, the
예를 들어, 대화 시스템(10)은 사용자(1)가 “투자를 하고 싶어요”라는 말을 하도록 유도하는 것을 목표로 할 수 있다. 이를 위해, 대화 시스템(10)은 마치 사용자(1)가 사람과 대화를 주고받는 것과 같이 자연스럽게 “투자를 하고 싶어요”라는 말을 하도록 유도할 수 있다. For example, the
피상담자(사용자)와 상담사(사람)이 대화를 하는 경우, 대화 시작과 동시에 또는 대화를 시작하고 나서 바로 목표를 유도하는 발언(예를 들어, 투자를 하시겠어요?와 같은 질문)을 상담사가 사용자(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
따라서, 일반적으로 상담사는 최종 목표 발언을 유도하기 전에 사용자(1)와 일상 대화를 나누거나, 주변 이야기를 통하여 친밀감을 형성한 다음, 다음 화제로 대화의 방향을 변경하고, 이러한 대화 방향의 변경을 적어도 한 단계 수행한 다음 최종 목표 발언을 유도할 수 있다. 예를 들어, 상담사와 사용자(1)가 전혀 모르는 사이라면 인사 이후, 일반적인 사회, 날씨, 연예, 스포츠, 세계, 과학 등 목표와 관련 없는 화제로 이야기를 시작할 수 있다. 그 다음, 상담사는 투자 또는 경제와 관계 있는 이슈, 예를 들어 사회적으로 알려진 경제적인 이슈(예를 들어, 연예인, 스포츠 선수의 연봉 이야기)등으로 화제를 전환하고, 이로부터 사용자(1)의 관심을 경제적인 이슈로 전환할 수 있다. 그 다음, 상담사는 경제적인 이슈로 이야기를 시작하여 사용자(1) 관련 정보(투자 성향, 자산 규모, 경제 지식, 사용자(1)의 니즈 등)를 추출하는 대화를 시도하고 그 다음 화제로 전환을 준비할 수 있다. 예를 들어, 그 다음 화제는 여러가지 투자의 예시, 현재 인기 있는 투자 정보 등을 포함할 수 있다. Therefore, in general, the counselor has a daily conversation with the
도 2는 “투자를 하고 싶어요”라는 말을 유도하기 위해 본 개시에 따른 대화 시스템(10)이 제공하는 대화의 일 실시예이다. 2 is an embodiment of a dialogue provided by the
도 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
일상 대화 단계에서, 대화 시스템(10)은, 예를 들어, GPT-3을 기반으로 구현된 대화 생성 모델을 포함할 수 있다. 일상 대화 단계는 사용자(1)의 발언에 대응하여 인사, 최근의 사회, 생활, 문화, 세계, 정치, 과학, 경제 등의 주제를 사용자(1)에게 제공하는 단계를 포함할 수 있다. In the daily conversation phase, the
일상 대화 단계에서 복수의 대화를 주고받은 이후 대화 시스템(10)은 화제를 전환하는 대화를 시작할 수 있다. After exchanging a plurality of conversations in the daily conversation phase, the
일 실시예에 있어서, 화제 전환 단계에서 사용자(1)의 발언 또는 대화 시스템(10)의 발언과 최종 목표와의 유사도는 일상 대화 단계에서 사용자(1)의 발언 또는 대화 시스템(10)의 발언과 최종 목표와의 유사도보다 크다. 또한, 화제 전환 단계 2에서 사용자(1)의 발언 또는 대화 시스템(10)의 발언과 최종 목표와의 유사도는 화제 전환 단계 1에서 사용자(1)의 발언 또는 대화 시스템(10)의 발언과 최종 목표와의 유사도보다 크다. 이에 따라, 일상 대화 단계에서, 화제 전환 단계 1, 2, 3 등 최종 목표에 가까워질수록 사용자(1)의 발언 또는 대화 시스템(10)의 발언과 최종 목표와의 유사도는 증가할 수 있다.In one embodiment, the degree of similarity between the
일 실시예에 있어서, 화제 전환 단계에서 서브 목표와 최종 목표와의 유사도는 일상 대화 단계에서 화제 전환 단계에서 사용자(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
도 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
화제 전환 단계는 서브 목표를 사용자(1)로부터 유도하기 위한 단계이다. 따라서, 화제 전환 단계에서 대화 시스템(10)은 서브 목표를 고려하여 혹은 서브 목표에 기초하여 어떠한 발언을 제공할지 판정하도록 구성된다. The topic switching step is a step for inducing a sub-goal from the
일 실시예에서, 대화 시스템(10)은 서브 목표(G)와 사용자(1)에게 제공하는 발언의 유사도 및/또는 서브 목표(G)와 사용자(1)의 발언의 유사도를 고려하여 발언을 생성하여 제공할 수 있다. 예를 들어, 대화 시스템(10)이 i번째 발언을 제공하는 경우 대화 시스템(10)은 서브 목표(G)와 사용자(1)에게 제공하는 발언 중 적어도 어느 하나 또는 서브 목표(G)와 사용자(1)의 발언 중 적어도 어느 하나의 유사도를 고려하여 발언을 생성하여 제공할 수 있다. In one embodiment, the
일 실시예에서, 대화 시스템(10)이 i번째 발언을 제공하는 경우 대화 시스템(10)은 대화 시스템(10)의 발언과 이에 대응하여 사용자(1)가 발언할 것으로 예상되는 발언의 유사도를 고려하여 발언을 생성하여 제공할 수 있다. In one embodiment, when the
일 실시예에서, 대화 시스템(10)이 i번째 발언을 제공하는 경우 대화 시스템(10)은 i번째 발언 이전의 대화 시스템(10)의 발언과 서브 목표(G)의 유사도, 서브 목표(G)와 i번째 발언에 대응하여 사용자(1)가 발언할 것으로 예상되는 발언의 유사도를 고려하여 발언을 생성하여 제공할 수 있다. In one embodiment, when the
일 실시예에서, 유사도는 코사인 유사도를 포함할 수 있다. In an embodiment, the similarity may include a cosine similarity.
예를 들어, 대화 시스템(10)은 복수의 대화를 주고받은 후 i번째 발언을 복수의 대화와 서브 목표(G)의 유사도에 기초하여 결정할 수 있다. 예를 들어, 대화 시스템(10)은 다음의 공식 1을 이용하여 i번째 발언을 결정할 수 있다. For example, the
여기서, 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
대화 시스템의 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.
즉, 사용자(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
(predicted Hnrecommended Cn)은, 챗봇의 발언에 대해 예상되는 사람의 발언의 임베딩 값(벡터값)이다. 상술한 것과 같이 학습된 대화 시스템(10)은 사용자(1)에 대해 발언을 생성할 수 있다. 일 실시예에서, 사용자(10)의 발언에 대응한 대화 시스템(10)의 발언의 후보는 복수 개가 있을 수 있다. 또한, 대화 시스템(10)의 발언의 후보에 대해 예상되는 사용자(10)의 발언의 후보는 복수 개가 있을 수 있다. 이러한 다양한 가능성을 서브 목표와의 유사도를 계산하여 상기 공식에 맞추어 대화 시스템(10)의 i번째 발언이 선택될 수 있다. (predicted Hn recommended Cn) is an embedding value (vector value) of a person's speech expected for the chatbot's speech. As described above, the learned
일 실시예에서, 대화 시스템(10)은 화제 전환 단계에서 서브 목표(G)를 유도하기 위해, 사용자의 i번째 발언을 예측하여 발언을 선택한다. 보다 자세히, 대화 시스템(10)은 사용자의 i번째 발언을 유도하기 위해, i번째 발언 전의 사용자 발언의 적어도 하나와 서브 목표(G)의 유사도와 대화 시스템(10)의 i번째 발언에 대응하는 사용자의 i번째 발언과 서브 목표(G)의 유사도를 고려하여 대화 시스템(10)의 i번째 발언을 선택할 수 있다.In one embodiment, the
이러한 대화 시스템(10)의 방식은 다양하게 변형될 수 있다. (이하 수식의 좌측을 변형한 변형예입니다.)일 실시예에서, 대화 시스템(10)의 방식은 다음의 공식들 중 적어도 하나를 이용하여 i번째 대화를 선택할 수 있다. The method of the
여기서, 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
일 실시예에서 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
위의 공식은 다양한 변형예 중 하나이고, 본 개시와 같이 사용자(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
일 실시예에서, 대화 시스템(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
도 2 및 3을 참조하여 설명한 것과 같이, 대화 시스템(10)은 화제 전환 단계에서 대화 시스템(10)이 원하는 발언을 사용자가 하도록 유도하여 대화의 방향을 전환할 수 있다. 이에 따라, 대화 시스템(10)은 사용자가 화제 전환 단계의 서브 목표를 발언하도록 유도할 수 있다.As described with reference to FIGS. 2 and 3 , the
도 4 및 5는 본 개시의 일 실시예에 따른 대화 시스템(10)과 사용자(1)의 대화의 일 예이다. 도 4 및 5는 가상의 실시예로 본 개시의 대화 시스템(10)의 실시예를 보여주기 위한 것일 뿐 본 개시의 대화 시스템(10)은 이에 한정되지 않는다.4 and 5 are an example of a conversation between the
도 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
목표와 사용자(1)의 발언 또는 대화 시스템(10)의 발언과의 유사도를 고려하여 대화 시스템(10)이 발언을 선택하는 방법은 다양하게 응용이 가능하다. A method of selecting a speech by the
도 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
도 6을 참조하면, 대화 시스템(10)은 최종 목표를 획득한다(S605). 최종 목표를 획득한다는 것은 대화 시스템(10)의 사용자가 대화 시스템(10)에 최종 목표를 입력하여 대화 시스템(10)이 최종 목표를 수신하는 것, 대화 시스템(10)이 저장된 최종 목표 중 어느 하나를 선택하는 것, 사용자(1)가 대화 시스템(10)에 접속하여 최종 목표 관련 문장이나 단어를 입력하여 그로부터 대화 시스템(10)이 최종 목표를 추론하는 것, 사용자(1)가 대화 시스템(10)에 접속하여 최종 목표 관련 문장이나 단어를 입력하기 이전에 미리 설정되는 것 등을 포함할 수 있다. Referring to FIG. 6 , the
대화 시스템(10)은 최종 목표에 기초하여 대화 시나리오를 설정한다(S610). 대화 시스템(10)은 적어도 하나의 화제 전환 단계를 포함하는 대화 시나리오를 설정할 수 있다. 화제 전환 단계는 서브 목표를 포함한다. 서브 목표는 대화 시스템(10)이 사용자(1)로 하여금 발언하도록 유도하려는 발언이다. 일 실시예에서, 화제 전환 단계가 복수인 경우, 최종 목표에 상대적으로 가까운 화제 전환 단계의 서브 목표와 최종 목표의 유사도는, 최종 목표에 상대적으로 먼 화제 전화 단계의 서브 목표와 최종 목표의 유사도와 같거나 크도록 대화 시나리오가 설정될 수 있다. The
대화 시스템(10)은 설정된 시나리오에 따라 대화를 수행한다(S615). 도 2 및 3을 참조하여 설명한 사용자(1)의 발언을 유도하는 모델이 대화 시나리오에 적용될 수 있다.The
일 실시예에서, 상술한 최종 목표인 “투자를 하고싶어요”는 예시에 불과하며 최종 목표는 다른 주제를 포함하거나 변형될 수 있다. 예를 들어, 최종 목표는 “보험을 들고 싶어요,” “상품을 사고 싶어요,” “서비스에 가입하고 싶어요”와 같이 대화 시스템(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
일 실시예에서, 상술한 서브 목표를 유도하기 위해 서브 목표와의 유사도를 이용하여 발언을 예측하고 유도하는 방식은 최종 목표를 유도하기 위해 사용될 수 있다. 또한, 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
일 실시예에서, 상술한 공식들의 부등호는 같다(=)를 포함하도록 표시되었으나, 유사도가 같은 경우만 반복되는 경우 목표를 유도하기 어려우므로, 부등호에서 같다는 삭제될 수 있다. 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.
상기 인공 지능 모듈은 상기 사용자의 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
상기 인공 지능 모듈은
상기 대화 시스템의 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.
상기 대화 시스템은 상기 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.
상기 데이터베이스는 복수의 대화 도메인을 저장하도록 구성되고, 상기 복수의 대화 도메인 각각은 서로 다른 특정 목표를 유도하도록 구성된 대화 도메인이고,
상기 대화 시스템은 상기 복수의 대화 도메인 중 어느 하나를 선택하도록 구성된, 대화 시스템.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;
상기 인공 지능 모듈은 상기 사용자의 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
상기 대화 시스템의 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;
상기 대화 시스템은 상기 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.
상기 데이터베이스는 복수의 대화 도메인을 저장하도록 구성되고, 상기 복수의 대화 도메인 각각은 서로 다른 특정 목표를 유도하도록 구성된 대화 도메인이고,
상기 대화 방법은 상기 제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.
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)
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)
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)
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 |
-
2021
- 2021-02-26 KR KR1020210026815A patent/KR102263656B1/en active IP Right Grant
- 2021-06-04 KR KR1020210072845A patent/KR102324635B1/en active IP Right Grant
Patent Citations (4)
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)
Title |
---|
Representing long texts for NLU, CS224U Stanford University |
Cited By (4)
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 |