KR102446294B1 - Utterance manipulation apparatus for retrieval-based response selection and method thereof - Google Patents

Utterance manipulation apparatus for retrieval-based response selection and method thereof Download PDF

Info

Publication number
KR102446294B1
KR102446294B1 KR1020200157789A KR20200157789A KR102446294B1 KR 102446294 B1 KR102446294 B1 KR 102446294B1 KR 1020200157789 A KR1020200157789 A KR 1020200157789A KR 20200157789 A KR20200157789 A KR 20200157789A KR 102446294 B1 KR102446294 B1 KR 102446294B1
Authority
KR
South Korea
Prior art keywords
utterance
token
search
original
dialogue
Prior art date
Application number
KR1020200157789A
Other languages
Korean (ko)
Other versions
KR20220070826A (en
Inventor
황태선
이동엽
이새벽
Original Assignee
주식회사 와이즈넛
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 와이즈넛 filed Critical 주식회사 와이즈넛
Priority to KR1020200157789A priority Critical patent/KR102446294B1/en
Publication of KR20220070826A publication Critical patent/KR20220070826A/en
Application granted granted Critical
Publication of KR102446294B1 publication Critical patent/KR102446294B1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/081Search algorithms, e.g. Baum-Welch or Viterbi

Abstract

본 발명은 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치 및 그 방법에 관한 것으로, 외부로부터 입력된 원본 대화에서 임의의 한 발화를 추출하고, 추출된 각 발화를 해당 원본 대화와 분리된 형태로 해당 원본 대화를 제1 재구성하며, 해당 원본 대화의 일관성을 학습할 수 있도록 제1 재구성된 원본 대화의 각 발화의 앞과 마지막 발화의 뒤에 특정의 삽입토큰을 추가하는 발화삽입모듈과, 해당 원본 대화가 아닌 임의의 다른 대화에서 랜덤으로 어느 한 의미가 다른 발화를 추출하고, 추출된 의미가 다른 발화를 해당 원본 대화 중 어느 한 발화의 전/후에 끼워 넣은 형태로 해당 원본 대화를 제2 재구성하며, 해당 원본 대화 내 발화 간의 일관성을 학습할 수 있도록 제2 재구성된 원본 대화의 각 발화의 앞에 특정의 삭제토큰을 추가하는 발화삭제모듈과, 해당 원본 대화에서 임의의 마지막 발화를 추출한 후, 추출된 임의의 마지막 발화를 해당 원본 대화와 분리된 형태로 제3 재구성하고, 해당 원본 대화 내 발화 간의 순서 정보를 학습할 수 있도록 제3 재구성된 원본 대화의 각 발화의 앞에 특정의 검색토큰을 추가하는 발화검색모듈과, 발화삽입모듈로부터 추가된 특정의 삽입토큰, 발화삭제모듈로부터 추가된 특정의 삭제토큰, 및 발화검색모듈로부터 추가된 특정의 검색토큰을 출력 자질로 적용하여, 기 설정된 비지도 학습(Unsupervised Learning) 방법을 기반으로 해당 특정의 삭제토큰, 검색토큰, 및 검색토큰의 위치가 실제 삽입, 삭제, 및 검색되는 위치인지 학습하는 언어학습모델을 포함함으로써, 언어 모델을 기반으로 하는 발화 예측 모델을 설계함에 있어, 특정의 토큰(Special Token)을 이용하여 자기 지도 학습(Self Supervised Learning) 방식을 통해 데이터 증강 효과를 낼 수 있으며, 또한 자기 지도 학습 방식이기 때문에 별도로 사람이 데이터를 구축할 필요가 없는 효과가 있다.The present invention relates to an utterance manipulation apparatus and method for selecting a response of a next utterance in a search-based dialog system. An utterance insertion module that first reconstructs the corresponding original dialogue in a separate form, and adds a specific insertion token before and after each utterance of the first reconstructed original dialogue so that the consistency of the original dialogue can be learned; , utterances with different meanings are randomly extracted from other dialogues other than the corresponding original dialogues, and the corresponding original dialogues are produced in the form of inserting the extracted utterances with different meanings before/after any one of the corresponding original dialogues. 2 After reconstructing, a utterance deletion module that adds a specific deletion token in front of each utterance of the second reconstructed original dialog so that consistency between utterances in the corresponding original dialog can be learned, and after extracting a random last utterance from the original dialog , a specific search token is provided in front of each utterance of the third reconstructed original dialogue so that the extracted last utterance is third reconstructed in a form separated from the corresponding original dialogue, and sequence information between utterances in the corresponding original dialogue can be learned. A preset business by applying a utterance search module to be added, a specific insertion token added from the utterance insertion module, a specific deletion token added from the utterance deletion module, and a specific search token added from the utterance search module as output features Based on the unsupervised learning method, by including a language learning model that learns whether the location of the specific deletion token, search token, and search token is the actual insertion, deletion, and search location based on the language model In designing the utterance prediction model, data augmentation effects can be achieved through the self-supervised learning method using a special token, and since it is a self-supervised learning method, a person constructs data separately It has an effect that you don't need to do.

Description

검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치 및 그 방법{UTTERANCE MANIPULATION APPARATUS FOR RETRIEVAL-BASED RESPONSE SELECTION AND METHOD THEREOF}An utterance manipulation apparatus and method for selecting a response of the next utterance in a search-based dialog system

본 발명은 검색 기반(Retrieval-based)의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치 및 그 방법에 관한 것이다.The present invention relates to an utterance manipulation apparatus and method for selecting a response of a next utterance in a retrieval-based dialog system.

오늘날 데이터 활용 가치의 상승과 더불어 언어처리 기술의 발전으로 딥러닝(Deep Learning), 자연어처리 등 인공지능 기반 기술을 활용한 다양한 융합 기술 및 서비스 시장이 활성화되고 있다.Today, with the rise in the value of data utilization and the development of language processing technology, various convergence technologies and service markets using artificial intelligence-based technologies such as deep learning and natural language processing are being activated.

이와 같이 지능화 정보사회가 도래하고 있는 가운데 모바일 메신저(Mobile Messenger) 등의 모바일 중심 대화형 인터페이스가 대중화됨에 따라 인공지능 생태계를 사용자가 가장 체감할 수 있는 인공지능 기반 서비스인 챗봇(Chatbot)은 공공/민간 전 산업 분야에 걸쳐 확산되고 성장 중이다.In the midst of the advent of the intelligent information society, as mobile-oriented interactive interfaces such as mobile messengers are popularized, chatbots, which are artificial intelligence-based services that allow users to feel the artificial intelligence ecosystem the most, are available for public/ It is spreading and growing across all sectors of private industry.

전 산업에 걸친 챗봇 열풍으로 자연어처리, 딥러닝, 머신러닝(Machine Learning) 등의 인공지능 기반 기술의 발전이 가속화되면서 챗봇 서비스 수준이 패턴매칭(Pattern Matching), 키워드 중심의 텍스트 처리 기반 챗봇에서 딥러닝, 자연어처리, 머신러닝 기술 등을 이용한 지능형 챗봇으로 발전되고 있으며, 앞으로 기술 성숙에 따라 인간의 감성/감정까지도 교류할 수 있는 개인 맞춤형 감성 챗봇으로 발전을 기대하고 있다.As the development of artificial intelligence-based technologies such as natural language processing, deep learning, and machine learning accelerated due to the chatbot craze across all industries, the level of chatbot service has changed from pattern matching and keyword-oriented text processing-based chatbots It is developing into an intelligent chatbot using learning, natural language processing, and machine learning technology, and is expected to develop into a personalized emotional chatbot that can exchange even human emotions/emotions as the technology matures.

이렇게 인공 지능과 딥러닝의 시대가 도래하면서 컴퓨터-사람 간의 챗봇 시스템도 많은 발전이 이루어 졌다. 챗봇 시스템은 사용자와의 대화를 자연스럽고 일관되게 이어나가는 것을 지향하고 있다.With the advent of artificial intelligence and deep learning, computer-human chatbot systems have also developed a lot. The chatbot system aims to keep conversations with users natural and consistent.

이러한 챗봇을 만드는 방법에는 검색 기반(Retrieval-based) 방식과 생성 기반(Generative-based) 방식 두 가지가 존재하는데 본 발명에서는 검색 기반 방식 챗봇 시스템에 관한 것이다.There are two methods for creating such a chatbot: a search-based method and a generative-based method. The present invention relates to a search-based chatbot system.

기존의 검색 기반 대화 시스템은 순환 신경망(Recurrent Neural Network) 또는 주의집중 메커니즘(Attention Mechanism)을 기반으로 한 대화-응답 일치 방식을 사용하고 있다.The existing search-based dialog system uses a dialog-response matching method based on a recurrent neural network or an attention mechanism.

최근, 선행 학습 기반인 BERT, ALBERT, RoBERTa, ELECTRA 등 다양한 언어모델들이 제안되었으며, 검색, 질의응답, 챗봇 등 다양한 자연언어와 관련된 서비스 또는 어플리케이션에서 매우 좋은 성능을 보여주고 있다.Recently, various language models such as BERT, ALBERT, RoBERTa, and ELECTRA, which are based on prior learning, have been proposed, and they show very good performance in various natural language related services or applications such as search, Q&A, and chatbot.

기존의 검색 기반의 방식들은 대부분 대화와 응답 간의 의미적 일치 기반의 방식으로 모델을 설계하고 학습하고 있다. 하지만, 이렇게 학습할 경우 다음 응답을 결정하는데 영향을 미칠 발화뿐만 아니라 방해가 되는 발화들의 정보들도 함께 섞여 들어갈 수 있다.Most of the existing search-based methods design and train models in a method based on semantic matching between dialogue and response. However, when learning in this way, not only the utterances that will influence the decision of the next response, but also information on the utterances that interfere with the decision may be mixed together.

따라서, 다음 발화의 예측이 단순 대화 전체와의 의미적 유사성에 기반하여 진행되는 문제가 발생한다.Accordingly, there arises a problem in that the prediction of the next utterance proceeds based on the semantic similarity with the entire simple conversation.

국내 등록특허 제10-2119468호(2020.06.05. 공고)Domestic Registered Patent No. 10-2119468 (2020.06.05. Announcement)

본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 언어 모델을 기반으로 하는 발화 예측 모델을 설계함에 있어, 특정의 토큰(Special Token)을 이용하여 자기 지도 학습(Self Supervised Learning) 방식을 통해 데이터 증강 효과를 낼 수 있도록 한 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치 및 그 방법을 제공하는데 있다.The present invention has been devised to solve the above problems, and an object of the present invention is to design a speech prediction model based on a language model, using a specific token (Self Supervised Learning) ) method to provide a utterance manipulation device and method for selecting a response of a next utterance in a search-based dialog system capable of generating a data augmentation effect.

전술한 목적을 달성하기 위하여 본 발명의 제1 측면은, 외부로부터 입력된 원본 대화에서 임의의 한 발화를 추출하고, 상기 추출된 각 발화를 해당 원본 대화와 분리된 형태로 해당 원본 대화를 제1 재구성하며, 해당 원본 대화의 일관성을 학습할 수 있도록 상기 제1 재구성된 원본 대화의 각 발화의 앞과 마지막 발화의 뒤에 특정의 삽입토큰을 추가하는 발화삽입모듈; 해당 원본 대화가 아닌 임의의 다른 대화에서 랜덤으로 어느 한 의미가 다른 발화를 추출하고, 상기 추출된 의미가 다른 발화를 해당 원본 대화 중 어느 한 발화의 전/후에 끼워 넣은 형태로 해당 원본 대화를 제2 재구성하며, 해당 원본 대화 내 발화 간의 일관성을 학습할 수 있도록 상기 제2 재구성된 원본 대화의 각 발화의 앞에 특정의 삭제토큰을 추가하는 발화삭제모듈; 해당 원본 대화에서 임의의 마지막 발화를 추출한 후, 상기 추출된 임의의 마지막 발화를 해당 원본 대화와 분리된 형태로 제3 재구성하고, 해당 원본 대화 내 발화 간의 순서 정보를 학습할 수 있도록 상기 제3 재구성된 원본 대화의 각 발화의 앞에 특정의 검색토큰을 추가하는 발화검색모듈; 및 상기 발화삽입모듈로부터 추가된 특정의 삽입토큰, 상기 발화삭제모듈로부터 추가된 특정의 삭제토큰, 및 상기 발화검색모듈로부터 추가된 특정의 검색토큰을 출력 자질로 적용하여, 기 설정된 비지도 학습(Unsupervised Learning) 방법을 기반으로 해당 특정의 삭제토큰, 검색토큰, 및 검색토큰의 위치가 실제 삽입, 삭제, 및 검색되는 위치인지 학습하는 언어학습모델을 포함하는 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치를 제공하는 것이다.In order to achieve the above object, a first aspect of the present invention is to extract an arbitrary utterance from an original dialogue input from the outside, and separate the extracted utterances from the corresponding original dialogue in a first manner. a speech insertion module for reconstructing and adding specific insertion tokens before and after each utterance of the first reconstructed original dialogue so that consistency of the corresponding original dialogue can be learned; An utterance with a different meaning is randomly extracted from any other dialogue other than the corresponding original dialogue, and the corresponding original dialogue is produced in a form in which the extracted utterance with a different meaning is inserted before/after any one of the corresponding original dialogues. 2 a speech deletion module for reconstructing and adding a specific deletion token in front of each utterance of the second reconstructed original conversation so that consistency between utterances in the corresponding original conversation can be learned; After extracting any last utterance from the corresponding original conversation, the extracted last utterance is third reconstructed in a form separated from the corresponding original dialogue, and the third reconstruction is performed to learn sequence information between utterances in the corresponding original dialogue. an utterance search module for adding a specific search token in front of each utterance of the original conversation; and a predetermined unsupervised learning ( The response of the next utterance in a search-based dialog system including a language learning model that learns whether the specific deletion token, search token, and the location of the search token are actually inserted, deleted, and searched locations based on the Unsupervised Learning) method An object of the present invention is to provide an ignition manipulation device for selection.

본 발명의 제2 측면은, 검색 기반(Retrieval-based)의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법으로서, (a) 발화삽입모듈을 통해 외부로부터 입력된 원본 대화에서 임의의 한 발화를 추출한 후, 상기 추출된 각 발화를 해당 원본 대화와 분리된 형태로 구성하는 단계; (b) 상기 발화삽입모듈을 통해 해당 원본 대화의 일관성을 학습할 수 있도록 상기 단계(a)에서 구성된 원본 대화의 각 발화의 앞과 마지막 발화의 뒤에 특정의 삽입토큰을 추가하는 단계; (c) 발화삭제모듈을 통해 해당 원본 대화가 아닌 임의의 다른 대화에서 랜덤으로 어느 한 의미가 다른 발화를 추출한 후, 상기 추출된 의미가 다른 발화를 해당 원본 대화 중 어느 한 발화의 전/후에 끼워 넣은 형태로 구성하는 단계; (d) 상기 발화삭제모듈을 통해 해당 원본 대화 내 발화 간의 일관성을 학습할 수 있도록 상기 단계(c)에서 구성된 원본 대화의 각 발화의 앞에 특정의 삭제토큰을 추가하는 단계; (e) 발화검색모듈을 통해 해당 원본 대화에서 임의의 마지막 발화를 추출한 후, 상기 추출된 임의의 마지막 발화를 해당 원본 대화와 분리된 형태로 구성하는 단계; (f) 상기 발화검색모듈을 통해 해당 원본 대화 내 발화 간의 순서 정보를 학습할 수 있도록 상기 단계(e)에서 구성된 원본 대화의 각 발화의 앞에 특정의 검색토큰을 추가하는 단계; 및 (g) 언어학습모델을 통해 상기 단계(b)에서 추가된 특정의 삽입토큰, 상기 단계(d)에서 추가된 특정의 삭제토큰, 및 상기 단계(f)에서 추가된 특정의 검색토큰을 출력 자질로 적용하여, 기 설정된 비지도 학습(Unsupervised Learning) 방법을 기반으로 해당 특정의 삭제토큰, 검색토큰, 및 검색토큰의 위치가 실제 삽입, 삭제, 및 검색되는 위치인지 학습하는 단계를 포함하는 것을 특징으로 하는 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법을 제공하는 것이다.A second aspect of the present invention provides an utterance manipulation method for selecting a response of a next utterance in a retrieval-based dialog system, wherein (a) an arbitrary utterance in an original conversation inputted from the outside through an utterance insertion module after extracting, configuring each of the extracted utterances in a form separated from the corresponding original dialogue; (b) adding a specific insertion token before each utterance and after the last utterance of the original dialogue configured in step (a) so that the consistency of the corresponding original dialogue can be learned through the utterance insertion module; (c) After randomly extracting utterances with different meanings from other conversations other than the corresponding original conversations through the utterance deletion module, the extracted utterances with different meanings are inserted before/after any one of the original conversations. Constructing in a put form; (d) adding a specific deletion token in front of each utterance of the original conversation configured in step (c) so that consistency between utterances in the corresponding original conversation can be learned through the utterance deletion module; (e) extracting a last utterance from the corresponding original conversation through the utterance search module, and then configuring the extracted last utterance in a form separated from the original conversation; (f) adding a specific search token in front of each utterance of the original conversation configured in step (e) so that order information between utterances in the corresponding original conversation can be learned through the utterance search module; and (g) outputting a specific insertion token added in step (b), a specific deletion token added in step (d), and a specific search token added in step (f) through the language learning model Applied as a feature, based on a preset unsupervised learning method, the specific deletion token, the search token, and the location of the search token include the step of learning whether the location is actually inserted, deleted, and searched. An object of the present invention is to provide an utterance manipulation method for selecting a response of a next utterance in a search-based dialog system characterized by the present invention.

본 발명의 제3 측면은, 상술한 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.A third aspect of the present invention provides a computer-readable recording medium in which a program capable of executing a utterance manipulation method for selecting a response of a next utterance in the above-described search-based conversation system is recorded.

본 발명에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법은 컴퓨터로 판독할 수 있는 기록매체에 컴퓨터로 판독할 수 있는 코드로 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체에는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.The utterance manipulation method for selecting a response of the next utterance in the search-based dialog system according to the present invention may be implemented as computer-readable codes on a computer-readable recording medium. The computer-readable recording medium includes all types of recording devices in which data readable by a computer system is stored.

예컨대, 컴퓨터가 읽을 수 있는 기록매체로는 롬(ROM), 램(RAM), 시디-롬(CD-ROM), 자기 테이프, 하드디스크, 플로피 디스크, 이동식 저장장치, 비휘발성 메모리(Flash Memory), 광 데이터 저장장치 등이 있다.For example, computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, hard disk, floppy disk, removable storage device, and non-volatile memory (Flash Memory). , and optical data storage devices.

이상에서 설명한 바와 같은 본 발명의 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치 및 그 방법에 따르면, 언어 모델을 기반으로 하는 발화 예측 모델을 설계함에 있어, 특정의 토큰(Special Token)을 이용하여 자기 지도 학습(Self Supervised Learning) 방식을 통해 데이터 증강 효과를 낼 수 있으며, 또한 자기 지도 학습 방식이기 때문에 별도로 사람이 데이터를 구축할 필요가 없는 이점이 있다.According to the speech manipulation apparatus and method for selecting the response of the next speech in the search-based dialogue system of the present invention as described above, when designing a speech prediction model based on a language model, a specific token (Special Token) ) can produce data augmentation effect through the self-supervised learning method using the

또한, 본 발명에 따르면, 검색 기반(Retrieval-based) 대화 시스템에서의 다음 발화 예측을 위한 기술들에 적용할 수 있을 뿐만 아니라 대용량 코퍼스(Corpus)를 기반으로 비지도 학습(Unsupervised Learning)을 진행한 언어 모델을 대화 시스템에 적용할 수 있는 이점이 있다.In addition, according to the present invention, it can be applied to techniques for predicting the next utterance in a retrieval-based dialog system, as well as unsupervised learning based on a large-capacity corpus. It has the advantage of being able to apply a language model to a conversational system.

또한, 본 발명에 따르면, 모든 언어 모델에 적용 가능하며, 기존에 존재하는 발화 예측 모델에도 적용이 가능한 이점이 있다.In addition, according to the present invention, there is an advantage that can be applied to all language models and can also be applied to existing speech prediction models.

또한, 본 발명에 따르면, 하나의 언어에 국한되는 것이 아닌 각 언어의 언어 모델(예컨대, BERT, ELECTRA 등)이 존재한다면 쉽게 적용이 가능한 이점이 있다.In addition, according to the present invention, if there is a language model (eg, BERT, ELECTRA, etc.) of each language that is not limited to one language, there is an advantage that can be easily applied.

또한, 본 발명에 따르면, 기존 오픈 도메인 대화 시스템의 경우 각 대화에 대한 데이터를 수집하는 데에 많은 어려움이 존재하지만, 대용량 코퍼스로 미리 학습한 언어 모델을 활용함으로써, 적은 양의 대화 데이터로도 따로 모델을 설계하여 학습을 진행하는 것보다 좋은 성능을 낼 수 있는 이점이 있다.In addition, according to the present invention, in the case of the existing open domain dialog system, there are many difficulties in collecting data on each dialog, but by using a language model learned in advance with a large corpus, even with a small amount of dialog data, it is It has the advantage of better performance than designing a model and proceeding with training.

도 1은 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치를 설명하기 위한 전체적인 블록 구성도이다.
도 2 및 도 3은 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법을 설명하기 위한 전체적인 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법을 설명하기 위한 일 예의 구조도이다.
1 is an overall block diagram illustrating a speech manipulation apparatus for selecting a response of a next utterance in a search-based conversation system according to an embodiment of the present invention.
2 and 3 are overall flowcharts for explaining a utterance manipulation method for selecting a response of a next utterance in a search-based conversation system according to an embodiment of the present invention.
4 is a structural diagram illustrating an example of an utterance manipulation method for selecting a response of a next utterance in a search-based conversation system according to an embodiment of the present invention.

전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다.The above-described objects, features and advantages will be described below in detail with reference to the accompanying drawings, and accordingly, those skilled in the art to which the present invention pertains will be able to easily implement the technical idea of the present invention. In describing the present invention, if it is determined that a detailed description of a known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description will be omitted.

제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.Terms including ordinal numbers such as first, second, etc. may be used to describe various elements, but the elements are not limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise.

본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.The terms used in the present invention have been selected as currently widely used general terms as possible while considering the functions in the present invention, but these may vary depending on the intention or precedent of a person skilled in the art, the emergence of new technology, and the like. In addition, in a specific case, there is a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the corresponding invention. Therefore, the term used in the present invention should be defined based on the meaning of the term and the overall content of the present invention, rather than the name of a simple term.

명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.In the entire specification, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated. In addition, terms such as "...unit" and "module" described in the specification mean a unit that processes at least one function or operation, which may be implemented as hardware or software, or a combination of hardware and software. .

이하, 첨부 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. 그러나, 다음에 예시하는 본 발명의 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시예에 한정되는 것은 아니다. 본 발명의 실시예는 당업계에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되어지는 것이다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the embodiments of the present invention illustrated below may be modified in various other forms, and the scope of the present invention is not limited to the embodiments described below. The embodiments of the present invention are provided to more completely explain the present invention to those of ordinary skill in the art.

첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들(실행 엔진)에 의해 수행될 수도 있으며, 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.Each block in the accompanying block diagram and combinations of steps in the flowchart may be executed by computer program instructions (execution engine), which computer program instructions may be executed by a processor of a general-purpose computer, special-purpose computer, or other programmable data processing equipment. It may be mounted so that its instructions, which are executed by the processor of a computer or other programmable data processing equipment, create means for performing the functions described in each block of the block diagram or in each step of the flowchart. These computer program instructions may also be stored in a computer-usable or computer-readable memory, which may direct a computer or other programmable data processing equipment to implement a function in a particular manner, the computer-usable or computer-readable memory. It is also possible for the instructions stored in the block diagram to produce an article of manufacture containing instruction means for performing a function described in each block of the block diagram or each step of the flowchart.

그리고, 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명되는 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.And, since the computer program instructions may be mounted on a computer or other programmable data processing equipment, a series of operating steps are performed on the computer or other programmable data processing equipment to create a computer-executed process to create a computer or other program It is also possible that instructions for performing the possible data processing equipment provide steps for carrying out the functions described in each block of the block diagram and each step of the flowchart.

또한, 각 블록 또는 각 단계는 특정된 논리적 기능들을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있으며, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하며, 또한 그 블록들 또는 단계들이 필요에 따라 해당하는 기능의 역순으로 수행되는 것도 가능하다.Additionally, each block or step may represent a module, segment, or portion of code comprising one or more executable instructions for executing specified logical functions, and in some alternative embodiments the blocks or steps referred to in the block or step. It should be noted that it is also possible for functions to occur out of sequence. For example, it is possible that two blocks or steps shown one after another may be performed substantially simultaneously, and also the blocks or steps may be performed in the reverse order of the corresponding functions, if necessary.

도 1은 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치를 설명하기 위한 전체적인 블록 구성도이다.1 is an overall block diagram illustrating a speech manipulation apparatus for selecting a response of a next utterance in a search-based conversation system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치는, 크게 발화삽입모듈(100), 발화삭제모듈(200), 발화검색모듈(300), 및 언어학습모델(400) 등을 포함하여 이루어진다. 한편, 도 1에 도시된 구성요소들이 필수적인 것은 아니어서, 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치는 그보다 많은 구성요소들을 갖거나 그보다 적은 구성요소들을 가질 수도 있다.Referring to FIG. 1 , the utterance manipulation device for selecting a response of the next utterance in the search-based dialog system according to an embodiment of the present invention is largely a utterance insertion module 100 , a utterance deletion module 200 , and a utterance search module. 300 , and a language learning model 400 . Meanwhile, since the components shown in FIG. 1 are not essential, the speech manipulation apparatus for selecting a response of the next speech in the search-based conversation system according to an embodiment of the present invention has more components or fewer components. It may have elements.

이하, 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치의 구성요소들에 대해 구체적으로 살펴보면 다음과 같다.Hereinafter, components of a speech manipulation apparatus for selecting a response of a next speech in a search-based dialogue system according to an embodiment of the present invention will be described in detail as follows.

발화삽입모듈(100)은 외부로부터 입력된 원본 대화에서 임의의 한 발화를 추출하고, 상기 추출된 각 발화를 해당 원본 대화와 분리된 형태로 해당 원본 대화를 제1 재구성하는 기능을 수행한다.The utterance insertion module 100 extracts an arbitrary utterance from an original dialogue input from the outside, and performs a function of first reconstructing the corresponding original dialogue in a form separated from the corresponding original dialogue by extracting each extracted utterance.

또한, 발화삽입모듈(100)은 해당 원본 대화의 일관성을 학습할 수 있도록 상기 제1 재구성된 원본 대화의 각 발화의 앞과 마지막 발화의 뒤에 특정의 삽입토큰을 추가하는 기능을 수행한다.In addition, the utterance insertion module 100 performs a function of adding a specific insertion token before each utterance and after the last utterance of the first reconstructed original dialogue to learn the consistency of the corresponding original dialogue.

발화삭제모듈(200)은 해당 원본 대화가 아닌 임의의 다른 대화에서 랜덤(Random)으로 어느 한 의미가 다른 발화를 추출하고, 상기 추출된 의미가 다른 발화를 해당 원본 대화 중 어느 한 발화의 전 및/또는 후에 끼워 넣은 형태로 해당 원본 대화를 제2 재구성하는 기능을 수행한다.The utterance deletion module 200 randomly extracts utterances having different meanings from any other dialogue other than the corresponding original dialogue, and sets the extracted utterances with different meanings before and after any one of the original dialogues. / or performs a function of second reconstructing the corresponding original dialogue in the interleaved form.

또한, 발화삭제모듈(200)은 해당 원본 대화 내 발화 간의 일관성을 학습할 수 있도록 상기 제2 재구성된 원본 대화의 각 발화의 앞에 특정의 삭제토큰을 추가하는 기능을 수행한다.In addition, the utterance deletion module 200 performs a function of adding a specific deletion token in front of each utterance of the second reconstructed original conversation so that consistency between utterances in the corresponding original conversation can be learned.

발화검색모듈(300)은 해당 원본 대화에서 임의의 마지막 발화를 추출한 후, 상기 추출된 임의의 마지막 발화를 해당 원본 대화와 분리된 형태로 제3 재구성하는 기능을 수행한다.The utterance search module 300 extracts any last utterance from the corresponding original conversation, and then performs a function of reconstructing the extracted last arbitrary utterance in a form separate from the corresponding original conversation.

또한, 발화검색모듈(300)은 해당 원본 대화 내 발화 간의 순서 정보를 학습할 수 있도록 상기 제3 재구성된 원본 대화의 각 발화의 앞에 특정의 검색토큰을 추가하는 기능을 수행한다.In addition, the utterance search module 300 performs a function of adding a specific search token in front of each utterance of the third reconstructed original conversation so that order information between utterances in the corresponding original conversation can be learned.

그리고, 언어학습모델(400)은 발화삽입모듈(100)로부터 추가된 특정의 삽입토큰, 발화삭제모듈(200)로부터 추가된 특정의 삭제토큰, 및 발화검색모듈(300)로부터 추가된 특정의 검색토큰을 출력 자질로 적용하여, 기 설정된 비지도 학습(Unsupervised Learning) 방법을 기반으로 해당 특정의 삭제토큰, 검색토큰, 및 검색토큰의 위치가 실제 삽입, 삭제, 및 검색되는 위치인지 학습하는 기능을 수행한다.In addition, the language learning model 400 includes a specific insertion token added from the utterance insertion module 100 , a specific deletion token added from the utterance deletion module 200 , and a specific search added from the utterance search module 300 . By applying the token as an output feature, the function of learning whether the location of the specific deletion token, search token, and search token is actually inserted, deleted, or searched based on a preset unsupervised learning method carry out

이하에는 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법을 구체적으로 설명하기로 한다.Hereinafter, a utterance manipulation method for selecting a response of a next utterance in a search-based conversation system according to an embodiment of the present invention will be described in detail.

도 2 및 도 3은 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법을 설명하기 위한 전체적인 흐름도이고, 도 4는 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법을 설명하기 위한 일 예의 구조도이다.2 and 3 are overall flow charts for explaining a utterance manipulation method for selecting a response of a next utterance in a search-based conversation system according to an embodiment of the present invention, and FIG. 4 is a search according to an embodiment of the present invention. It is a structural diagram for explaining an utterance manipulation method for selecting a response of a next utterance in a conversation-based conversation system.

도 1 내지 도 4를 참조하면, 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법은, 먼저, 발화삽입모듈(100)을 통해 외부로부터 입력된 원본 대화에서 임의의 한 발화를 추출한 후, 상기 추출된 각 발화를 해당 원본 대화와 분리된 형태로 구성한다(S100).1 to 4 , the utterance manipulation method for selecting a response of the next utterance in a search-based dialog system according to an embodiment of the present invention includes, first, an original inputted from the outside through the utterance insertion module 100 . After extracting one utterance from the dialogue, each extracted utterance is configured in a form separated from the corresponding original dialogue (S100).

이후에, 발화삽입모듈(100)을 통해 해당 원본 대화의 일관성을 학습할 수 있도록 상기 단계S100에서 구성된 원본 대화의 각 발화의 앞과 마지막 발화의 뒤에 특정의 삽입토큰을 추가한다(S200).Thereafter, a specific insertion token is added before and after the last utterance of each utterance of the original conversation configured in step S100 so that the consistency of the corresponding original conversation can be learned through the utterance insertion module 100 ( S200 ).

이때, 발화삽입모듈(100)을 통한 발화 조작 과정(XINS)은 하기의 식 1에 의해 수행될 수 있으며, 임의로 추출한 발화가 원본 대화 내 어디에 삽입되어야 하는지를 학습하는 과정으로 대화의 일관성을 학습할 수 있게 한다.At this time, the utterance manipulation process (X INS ) through the utterance insertion module 100 can be performed by the following Equation 1, and it is a process of learning where an arbitrarily extracted utterance should be inserted in the original conversation. make it possible

(식 1)(Equation 1)

Figure 112020125683786-pat00001
Figure 112020125683786-pat00001

여기서, 특정의 삽입토큰([INS])이 각 발화 앞에 추가되며, 마지막 발화에는 뒤에도 추가된다.

Figure 112020125683786-pat00002
는 삽입의 대상이 되는 발화이고, 각 삽입토큰([INS])의 위치는 삽입이 될 수 있는 위치이다. [CLS]는 분류를 위한 단어 단위 토큰이고, [SEP]는 문장 단위 구분을 위한 토큰이다.Here, a specific insertion token ([INS]) is added before each utterance, and also added after the last utterance.
Figure 112020125683786-pat00002
is an utterance to be inserted, and the location of each insertion token ([INS]) is a location that can be inserted. [CLS] is a token for word unit classification, and [SEP] is a token for sentence unit classification.

그런 다음, 발화삭제모듈(200)을 통해 해당 원본 대화가 아닌 임의의 다른 대화에서 랜덤으로 어느 한 의미가 다른 발화를 추출한 후, 상기 추출된 의미가 다른 발화를 해당 원본 대화 중 어느 한 발화의 전 및/또는 후에 끼워 넣은 형태로 구성한다(S300).Then, after randomly extracting an utterance having a different meaning from any other conversation other than the corresponding original conversation through the utterance deletion module 200, the extracted utterance with a different meaning is used before any one of the original conversations. and/or configured to be inserted later (S300).

다음으로, 발화삭제모듈(200)을 통해 해당 원본 대화 내 발화 간의 일관성을 학습할 수 있도록 상기 단계S300에서 구성된 원본 대화의 각 발화의 앞에 특정의 삭제토큰을 추가한다(S400).Next, a specific deletion token is added in front of each utterance of the original conversation configured in step S300 so that consistency between utterances in the corresponding original conversation can be learned through the utterance deletion module 200 ( S400 ).

이때, 발화삭제모듈(200)을 통한 발화 조작 과정(XDEL)은 하기의 식 2에 의해 수행될 수 있으며, 다른 대화에 있는 의미가 다른 발화가 원본 대화 내 어디에 위치해 있는지, 삭제되어야 하는지를 학습하는 과정으로 대화 내 발화 간의 일관성을 학습할 수 있게 한다.At this time, the utterance manipulation process (X DEL ) through the utterance deletion module 200 can be performed by Equation 2 below, and learning where an utterance having a different meaning in another conversation is located in the original conversation and whether to be deleted The process enables learning of coherence between utterances within a conversation.

(식 2)(Equation 2)

Figure 112020125683786-pat00003
Figure 112020125683786-pat00003

여기서,

Figure 112020125683786-pat00004
은 임의의 대화에서 추출한 발화이며 원본 대화 내에 임의로 삽입된 형태이다. 특정의 삽입토큰([DEL])이 각 발화 앞에 추가되며, 각 특정의 삽입토큰([DEL])의 위치는 삭제될 수 있는 위치이다.here,
Figure 112020125683786-pat00004
is an utterance extracted from a random dialogue and is arbitrarily inserted into the original dialogue. A specific insertion token ([DEL]) is added before each utterance, and the position of each specific insertion token ([DEL]) is a position that can be deleted.

이후에, 발화검색모듈(300)을 통해 해당 원본 대화에서 임의의 마지막 발화를 추출한 후, 상기 추출된 임의의 마지막 발화를 해당 원본 대화와 분리된 형태로 구성한다(S500).Thereafter, after extracting any last utterance from the corresponding original conversation through the utterance search module 300, the extracted last utterance is configured in a form separated from the corresponding original conversation (S500).

그런 다음, 발화검색모듈(300)을 통해 해당 원본 대화 내 발화 간의 순서 정보를 학습할 수 있도록 상기 단계S500에서 구성된 원본 대화의 각 발화의 앞에 특정의 검색토큰을 추가한다(S600).Then, a specific search token is added in front of each utterance of the original conversation configured in step S500 so that order information between utterances in the corresponding original conversation can be learned through the utterance search module 300 ( S600 ).

이때, 발화검색모듈(300)을 통한 발화 조작 과정(XSRCH)은 하기의 식 3에 의해 수행될 수 있으며, 원본 대화를 임의로 섞은 후 분리된 마지막 발화 바로 이전의 대화가 어디에 위치해 있는지 찾도록 하는 과정으로 발화 간의 순서 정보를 학습이 가능하도록 할 수 있으며, 다음 응답을 예측하는 데에 보조를 할 수 있는 과정으로 적용될 수 있다.At this time, the utterance manipulation process (X SRCH ) through the utterance search module 300 may be performed by Equation 3 below, and after arbitrarily shuffling the original dialogue, it is possible to find where the dialogue just before the separated last utterance is located. As a process, order information between utterances can be learned, and it can be applied as a process that can assist in predicting the next response.

(식 3)(Equation 3)

Figure 112020125683786-pat00005
Figure 112020125683786-pat00005

여기서,

Figure 112020125683786-pat00006
는 추출된 마지막 발화이며,
Figure 112020125683786-pat00007
발화들은 순서가 섞인 발화들로
Figure 112020125683786-pat00008
Figure 112020125683786-pat00009
의 바로 이전 발화가 된다. 그리고, 특정의 검색토큰([SRCH])은 각 발화 앞에 추가되며, 특정의 검색토큰([SRCH])의 위치는 바로 이전의 발화가 될 수 있는 위치이다.here,
Figure 112020125683786-pat00006
is the last utterance extracted,
Figure 112020125683786-pat00007
The utterances are utterances in a mixed order.
Figure 112020125683786-pat00008
go
Figure 112020125683786-pat00009
is the immediately preceding utterance of In addition, a specific search token ([SRCH]) is added before each utterance, and the location of the specific search token ([SRCH]) is a position that can be the previous utterance.

마지막으로, 언어학습모델(400)을 통해 상기 단계S200에서 추가된 특정의 삽입토큰, 상기 단계S400에서 추가된 특정의 삭제토큰, 및 상기 단계S600에서 추가된 특정의 검색토큰을 출력 자질로 적용하여, 기 설정된 비지도 학습(Unsupervised Learning) 방법을 기반으로 해당 특정의 삭제토큰, 검색토큰, 및 검색토큰의 위치가 실제 삽입, 삭제, 및 검색되는 위치인지 학습한다(S700).Finally, through the language learning model 400, the specific insertion token added in step S200, the specific deletion token added in step S400, and the specific search token added in step S600 are applied as output features. , learns whether the positions of the specific deletion token, the search token, and the search token are actually inserted, deleted, and searched positions based on a preset unsupervised learning method (S700).

전술한 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법은 미리 학습된 언어 모델을 활용한 발화 예측 방법과 함께 학습이 진행되는 멀티 태스크 학습 구조를 가질 수 있다.The utterance manipulation method for selecting a response of the next utterance in the search-based dialog system according to an embodiment of the present invention described above has a multi-task learning structure in which learning is performed together with a utterance prediction method using a pre-learned language model. can

이때, 상기 미리 학습된 언어 모델에 완전연결층을 추가하여 하기의 식 4와 같이 대화 내용과 다음 발화의 일치 여부를 점수로 환산할 수 있다.In this case, by adding a fully connected layer to the pre-learned language model, the correspondence between the conversation content and the next utterance can be converted into a score as shown in Equation 4 below.

(식 4)(Equation 4)

Figure 112020125683786-pat00010
Figure 112020125683786-pat00010

여기서, XTASK는 전술한 발화 조작 과정들에서 제안된 특정의 토큰들(즉, 삽입토큰([INS]), 삭제토큰([DEL]), 검색토큰([SRCH])은 언어 모델을 통해 출력 자질로 표현되며 이는 각 위치가 실제 삽입, 삭제, 및 검색되는 위치인지 학습하는 데에 사용되는 자질이다.Here, X TASK is output of specific tokens (ie, insertion token ([INS]), deletion token ([DEL]), and search token ([SRCH]) proposed in the above-mentioned speech manipulation processes through the language model. Represented as a feature, it is a feature that is used to learn whether each location is actually a location to be inserted, deleted, and retrieved.

전술한 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법에는, 각 발화 조작 과정(즉, 삽입, 삭제, 및 검색)에 알맞은 특정의 토큰(Special Token)(즉, 삽입토큰, 삭제토큰, 및 검색토큰)이 새로 추가되며, 이러한 특정의 토큰들은 언어 모델의 입력으로 들어가는 발화들의 표현들을 의미 정보를 유지할 수 있도록 도움을 줄 수 있다.In the utterance manipulation method for selecting a response of the next utterance in the search-based conversation system according to the embodiment of the present invention described above, a special token suitable for each utterance manipulation process (ie, insertion, deletion, and search) ) (ie, insertion token, deletion token, and search token) are newly added, and these specific tokens can help to maintain semantic information of expressions of utterances entering the input of the language model.

한편, 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.Meanwhile, the utterance manipulation method for selecting a response of the next utterance in the search-based conversation system according to an embodiment of the present invention may also be implemented as computer-readable codes on a computer-readable recording medium. The computer-readable recording medium includes all types of recording devices in which data readable by a computer system is stored.

예컨대, 컴퓨터가 읽을 수 있는 기록매체로는 롬(ROM), 램(RAM), 시디-롬(CD-ROM), 자기 테이프, 하드디스크, 플로피디스크, 이동식 저장장치, 비휘발성 메모리(Flash Memory), 광 데이터 저장장치 등이 있다.For example, computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, hard disk, floppy disk, removable storage device, and non-volatile memory (Flash Memory). , and optical data storage devices.

또한, 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.In addition, the computer-readable recording medium may be distributed in computer systems connected through a computer communication network, and stored and executed as readable codes in a distributed manner.

전술한 본 발명에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치 및 그 방법에 대한 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 본 발명에 속한다.Although a preferred embodiment of an apparatus and method for utterance manipulation for selecting a response of a next utterance in the search-based conversation system according to the present invention has been described above, the present invention is not limited thereto, and the claims and detailed description of the invention It is possible to carry out various modifications within the scope of the description and the accompanying drawings, and this also belongs to the present invention.

100 : 발화삽입모듈,
200 : 발화삭제모듈,
300 : 발화검색모듈,
400 : 언어학습모델
100: speech insertion module,
200: utterance deletion module,
300: utterance search module,
400: language learning model

Claims (3)

외부로부터 입력된 원본 대화에서 임의의 한 발화를 추출하고, 상기 추출된 각 발화를 해당 원본 대화와 분리된 형태로 해당 원본 대화를 제1 재구성하며, 해당 임의로 추출한 발화가 해당 원본 대화 내 어디에 삽입되어야 하는지를 학습하는 발화 조작 과정으로 해당 원본 대화의 일관성을 학습할 수 있도록 상기 제1 재구성된 원본 대화의 각 발화의 앞과 마지막 발화의 뒤에 특정의 삽입토큰을 추가하는 발화삽입모듈;
해당 원본 대화가 아닌 임의의 다른 대화에서 랜덤으로 어느 한 의미가 다른 발화를 추출하고, 상기 추출된 의미가 다른 발화를 해당 원본 대화 중 어느 한 발화의 전/후에 끼워 넣은 형태로 해당 원본 대화를 제2 재구성하며, 해당 임의의 다른 대화에 있는 의미가 다른 발화가 해당 원본 대화 내 어디에 위치해 있는지를 학습하는 발화 조작 과정으로 해당 원본 대화 내 발화 간의 일관성을 학습할 수 있도록 상기 제2 재구성된 원본 대화의 각 발화의 앞에 특정의 삭제토큰을 추가하는 발화삭제모듈;
해당 원본 대화에서 임의의 마지막 발화를 추출한 후, 상기 추출된 임의의 마지막 발화를 해당 원본 대화와 분리된 형태로 제3 재구성하고, 해당 원본 대화를 임의로 섞은 후 분리된 마지막 발화 바로 이전의 대화가 어디에 위치해 있는지 찾도록 하는 발화 조작 과정으로 해당 원본 대화 내 발화 간의 순서 정보를 학습할 수 있도록 상기 제3 재구성된 원본 대화의 각 발화의 앞에 특정의 검색토큰을 추가하는 발화검색모듈; 및
상기 발화삽입모듈로부터 추가된 특정의 삽입토큰, 상기 발화삭제모듈로부터 추가된 특정의 삭제토큰, 및 상기 발화검색모듈로부터 추가된 특정의 검색토큰을 출력 자질로 적용하여, 기 설정된 비지도 학습(Unsupervised Learning) 방법을 기반으로 해당 특정의 삭제토큰, 검색토큰, 및 검색토큰의 위치가 실제 삽입, 삭제, 및 검색되는 위치인지 학습하는 언어학습모델을 포함하는 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치.
A random utterance is extracted from the original dialog input from the outside, and the extracted utterance is first reconstructed in a form separated from the original dialog, and the randomly extracted utterance should be inserted in the original dialog. an utterance insertion module for adding a specific insertion token before and after each utterance of the first reconstructed original conversation so as to learn the consistency of the corresponding original dialogue as an utterance manipulation process for learning whether to do so;
An utterance with a different meaning is randomly extracted from any other dialogue other than the corresponding original dialogue, and the corresponding original dialogue is produced in a form in which the extracted utterance with a different meaning is inserted before/after any one of the corresponding original dialogues. 2 It is a speech manipulation process that reconstructs and learns where utterances with different meanings in the corresponding random other dialogue are located in the corresponding original dialogue. a utterance deletion module for adding a specific deletion token in front of each utterance;
After extracting a last utterance from the original dialogue, the extracted last utterance is third reconstructed in a form separated from the original dialogue, and after randomly mixing the original dialogue, where is the dialogue immediately before the separated last utterance? a utterance search module for adding a specific search token in front of each utterance of the third reconstructed original dialog so that order information between utterances in the corresponding original dialog can be learned as an utterance manipulation process for finding the location; and
Pre-set unsupervised learning (Unsupervised) by applying the specific insertion token added from the utterance insertion module, the specific deletion token added from the utterance deletion module, and the specific search token added from the utterance search module as output features Learning) method to select the response of the next utterance in a search-based dialog system including a language learning model that learns whether the specific deletion token, search token, and the location of the search token are the actual insertion, deletion, and search locations fire control device for
검색 기반(Retrieval-based)의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법으로서,
(a) 발화삽입모듈을 통해 외부로부터 입력된 원본 대화에서 임의의 한 발화를 추출한 후, 상기 추출된 각 발화를 해당 원본 대화와 분리된 형태로 구성하는 단계;
(b) 상기 발화삽입모듈을 통해 해당 임의로 추출한 발화가 해당 원본 대화 내 어디에 삽입되어야 하는지를 학습하는 발화 조작 과정으로 해당 원본 대화의 일관성을 학습할 수 있도록 상기 단계(a)에서 구성된 원본 대화의 각 발화의 앞과 마지막 발화의 뒤에 특정의 삽입토큰을 추가하는 단계;
(c) 발화삭제모듈을 통해 해당 원본 대화가 아닌 임의의 다른 대화에서 랜덤으로 어느 한 의미가 다른 발화를 추출한 후, 상기 추출된 의미가 다른 발화를 해당 원본 대화 중 어느 한 발화의 전/후에 끼워 넣은 형태로 구성하는 단계;
(d) 상기 발화삭제모듈을 통해 해당 임의의 다른 대화에 있는 의미가 다른 발화가 해당 원본 대화 내 어디에 위치해 있는지를 학습하는 발화 조작 과정으로 해당 원본 대화 내 발화 간의 일관성을 학습할 수 있도록 상기 단계(c)에서 구성된 원본 대화의 각 발화의 앞에 특정의 삭제토큰을 추가하는 단계;
(e) 발화검색모듈을 통해 해당 원본 대화에서 임의의 마지막 발화를 추출한 후, 상기 추출된 임의의 마지막 발화를 해당 원본 대화와 분리된 형태로 구성하는 단계;
(f) 상기 발화검색모듈을 통해 해당 원본 대화를 임의로 섞은 후 분리된 마지막 발화 바로 이전의 대화가 어디에 위치해 있는지 찾도록 하는 발화 조작 과정으로 해당 원본 대화 내 발화 간의 순서 정보를 학습할 수 있도록 상기 단계(e)에서 구성된 원본 대화의 각 발화의 앞에 특정의 검색토큰을 추가하는 단계; 및
(g) 언어학습모델을 통해 상기 단계(b)에서 추가된 특정의 삽입토큰, 상기 단계(d)에서 추가된 특정의 삭제토큰, 및 상기 단계(f)에서 추가된 특정의 검색토큰을 출력 자질로 적용하여, 기 설정된 비지도 학습(Unsupervised Learning) 방법을 기반으로 해당 특정의 삭제토큰, 검색토큰, 및 검색토큰의 위치가 실제 삽입, 삭제, 및 검색되는 위치인지 학습하는 단계를 포함하는 것을 특징으로 하는 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법.
A utterance manipulation method for selecting a response of a next utterance in a retrieval-based dialog system, comprising:
(a) extracting an arbitrary utterance from an original dialog input from the outside through a utterance insertion module, and then configuring each extracted utterance in a form separate from the corresponding original dialog;
(b) each utterance of the original dialogue constructed in step (a) so as to learn the consistency of the corresponding original dialogue as a speech manipulation process for learning where the randomly extracted speech should be inserted in the corresponding original dialogue through the speech insertion module adding a specific insertion token before and after the last utterance of ;
(c) After randomly extracting utterances with different meanings from other conversations other than the corresponding original conversations through the utterance deletion module, the extracted utterances with different meanings are inserted before/after any one of the original conversations. Constructing in a put form;
(d) through the utterance deletion module, an utterance manipulation process of learning where utterances with different meanings in the corresponding arbitrary other dialogues are located in the corresponding original dialogue, the step ( adding a specific deletion token in front of each utterance of the original conversation constructed in c);
(e) extracting a last utterance from the corresponding original conversation through the utterance search module, and then configuring the extracted last utterance in a form separated from the original conversation;
(f) arbitrarily shuffle the original dialogue through the speech search module and then find the location of the dialogue just before the separated last utterance. adding a specific search token in front of each utterance of the original conversation constructed in (e); and
(g) output the specific insertion token added in step (b), the specific deletion token added in step (d), and the specific search token added in step (f) through the language learning model Applied to, based on a preset unsupervised learning method, the specific deletion token, the search token, and the search token location are actually inserted, deleted, and searched. A utterance manipulation method for selecting the response of the next utterance in a search-based dialog system.
제2 항의 방법을 컴퓨터로 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium in which a program capable of executing the method of claim 2 by a computer is recorded.
KR1020200157789A 2020-11-23 2020-11-23 Utterance manipulation apparatus for retrieval-based response selection and method thereof KR102446294B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200157789A KR102446294B1 (en) 2020-11-23 2020-11-23 Utterance manipulation apparatus for retrieval-based response selection and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200157789A KR102446294B1 (en) 2020-11-23 2020-11-23 Utterance manipulation apparatus for retrieval-based response selection and method thereof

Publications (2)

Publication Number Publication Date
KR20220070826A KR20220070826A (en) 2022-05-31
KR102446294B1 true KR102446294B1 (en) 2022-09-22

Family

ID=81780395

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200157789A KR102446294B1 (en) 2020-11-23 2020-11-23 Utterance manipulation apparatus for retrieval-based response selection and method thereof

Country Status (1)

Country Link
KR (1) KR102446294B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230169681A (en) 2022-06-09 2023-12-18 주식회사 스캐터랩 Method and apparatus for outputting user-specific responses by reflecting relationship with artificial intelligence
KR20230169680A (en) 2022-06-09 2023-12-18 주식회사 스캐터랩 Method and apparatus for constructing a model capable of detecting abusing using artificial intelligence

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102041621B1 (en) * 2019-02-25 2019-11-06 (주)미디어코퍼스 System for providing artificial intelligence based dialogue type corpus analyze service, and building method therefor

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102119468B1 (en) 2018-08-20 2020-06-05 주식회사 부뜰정보시스템 System and method for learning counseling chatter robot based on counceling contents of counselor
KR102204740B1 (en) * 2019-02-28 2021-01-19 네이버 주식회사 Method and system for processing unclear intention query in conversation system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102041621B1 (en) * 2019-02-25 2019-11-06 (주)미디어코퍼스 System for providing artificial intelligence based dialogue type corpus analyze service, and building method therefor

Also Published As

Publication number Publication date
KR20220070826A (en) 2022-05-31

Similar Documents

Publication Publication Date Title
Liu et al. Topic-aware pointer-generator networks for summarizing spoken conversations
US11586936B2 (en) Artificial intelligence script tool
Pietquin et al. A probabilistic framework for dialog simulation and optimal strategy learning
JP5149737B2 (en) Automatic conversation system and conversation scenario editing device
Tseng et al. Towards machine comprehension of spoken content: Initial toefl listening comprehension test by machine
Lee et al. Sound-guided semantic image manipulation
KR102446294B1 (en) Utterance manipulation apparatus for retrieval-based response selection and method thereof
CN112905735A (en) Method and apparatus for natural language processing
Chi et al. Speaker role contextual modeling for language understanding and dialogue policy learning
Wang et al. Comic-guided speech synthesis
CN115952272A (en) Method, device and equipment for generating dialogue information and readable storage medium
Van Dalen et al. Improving multiple-crowd-sourced transcriptions using a speech recogniser
CN114911932A (en) Heterogeneous graph structure multi-conversation person emotion analysis method based on theme semantic enhancement
CN117173497B (en) Image generation method and device, electronic equipment and storage medium
Wang et al. Evaluating sampling-based filler insertion with spontaneous tts
CN113178200A (en) Voice conversion method, device, server and storage medium
CN117216234A (en) Artificial intelligence-based speaking operation rewriting method, device, equipment and storage medium
CN116312471A (en) Voice migration and voice interaction method and device, electronic equipment and storage medium
Röpke et al. Training a Speech-to-Text Model for Dutch on the Corpus Gesproken Nederlands.
CN115081459B (en) Spoken language text generation method, device, equipment and storage medium
CN112863476A (en) Method and device for constructing personalized speech synthesis model, method and device for speech synthesis and testing
JP2020129051A (en) Paralanguage information estimation model learning device, paralanguage information estimation device and program
Meron et al. Improving the authoring of foreign language interactive lessons in the tactical language training system.
US20230410787A1 (en) Speech processing system with encoder-decoder model and corresponding methods for synthesizing speech containing desired speaker identity and emotional style
CN115457931B (en) Speech synthesis method, device, equipment and storage medium

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right