KR20220070826A - 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치 및 그 방법 - Google Patents

검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치 및 그 방법 Download PDF

Info

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

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/081Search algorithms, e.g. Baum-Welch or Viterbi

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치 및 그 방법에 관한 것으로, 외부로부터 입력된 원본 대화에서 임의의 한 발화를 추출하고, 추출된 각 발화를 해당 원본 대화와 분리된 형태로 해당 원본 대화를 제1 재구성하며, 해당 원본 대화의 일관성을 학습할 수 있도록 제1 재구성된 원본 대화의 각 발화의 앞과 마지막 발화의 뒤에 특정의 삽입토큰을 추가하는 발화삽입모듈과, 해당 원본 대화가 아닌 임의의 다른 대화에서 랜덤으로 어느 한 의미가 다른 발화를 추출하고, 추출된 의미가 다른 발화를 해당 원본 대화 중 어느 한 발화의 전/후에 끼워 넣은 형태로 해당 원본 대화를 제2 재구성하며, 해당 원본 대화 내 발화 간의 일관성을 학습할 수 있도록 제2 재구성된 원본 대화의 각 발화의 앞에 특정의 삭제토큰을 추가하는 발화삭제모듈과, 해당 원본 대화에서 임의의 마지막 발화를 추출한 후, 추출된 임의의 마지막 발화를 해당 원본 대화와 분리된 형태로 제3 재구성하고, 해당 원본 대화 내 발화 간의 순서 정보를 학습할 수 있도록 제3 재구성된 원본 대화의 각 발화의 앞에 특정의 검색토큰을 추가하는 발화검색모듈과, 발화삽입모듈로부터 추가된 특정의 삽입토큰, 발화삭제모듈로부터 추가된 특정의 삭제토큰, 및 발화검색모듈로부터 추가된 특정의 검색토큰을 출력 자질로 적용하여, 기 설정된 비지도 학습(Unsupervised Learning) 방법을 기반으로 해당 특정의 삭제토큰, 검색토큰, 및 검색토큰의 위치가 실제 삽입, 삭제, 및 검색되는 위치인지 학습하는 언어학습모델을 포함함으로써, 언어 모델을 기반으로 하는 발화 예측 모델을 설계함에 있어, 특정의 토큰(Special Token)을 이용하여 자기 지도 학습(Self Supervised Learning) 방식을 통해 데이터 증강 효과를 낼 수 있으며, 또한 자기 지도 학습 방식이기 때문에 별도로 사람이 데이터를 구축할 필요가 없는 효과가 있다.

Description

검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치 및 그 방법{UTTERANCE MANIPULATION APPARATUS FOR RETRIEVAL-BASED RESPONSE SELECTION AND METHOD THEREOF}
본 발명은 검색 기반(Retrieval-based)의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치 및 그 방법에 관한 것이다.
오늘날 데이터 활용 가치의 상승과 더불어 언어처리 기술의 발전으로 딥러닝(Deep Learning), 자연어처리 등 인공지능 기반 기술을 활용한 다양한 융합 기술 및 서비스 시장이 활성화되고 있다.
이와 같이 지능화 정보사회가 도래하고 있는 가운데 모바일 메신저(Mobile Messenger) 등의 모바일 중심 대화형 인터페이스가 대중화됨에 따라 인공지능 생태계를 사용자가 가장 체감할 수 있는 인공지능 기반 서비스인 챗봇(Chatbot)은 공공/민간 전 산업 분야에 걸쳐 확산되고 성장 중이다.
전 산업에 걸친 챗봇 열풍으로 자연어처리, 딥러닝, 머신러닝(Machine Learning) 등의 인공지능 기반 기술의 발전이 가속화되면서 챗봇 서비스 수준이 패턴매칭(Pattern Matching), 키워드 중심의 텍스트 처리 기반 챗봇에서 딥러닝, 자연어처리, 머신러닝 기술 등을 이용한 지능형 챗봇으로 발전되고 있으며, 앞으로 기술 성숙에 따라 인간의 감성/감정까지도 교류할 수 있는 개인 맞춤형 감성 챗봇으로 발전을 기대하고 있다.
이렇게 인공 지능과 딥러닝의 시대가 도래하면서 컴퓨터-사람 간의 챗봇 시스템도 많은 발전이 이루어 졌다. 챗봇 시스템은 사용자와의 대화를 자연스럽고 일관되게 이어나가는 것을 지향하고 있다.
이러한 챗봇을 만드는 방법에는 검색 기반(Retrieval-based) 방식과 생성 기반(Generative-based) 방식 두 가지가 존재하는데 본 발명에서는 검색 기반 방식 챗봇 시스템에 관한 것이다.
기존의 검색 기반 대화 시스템은 순환 신경망(Recurrent Neural Network) 또는 주의집중 메커니즘(Attention Mechanism)을 기반으로 한 대화-응답 일치 방식을 사용하고 있다.
최근, 선행 학습 기반인 BERT, ALBERT, RoBERTa, ELECTRA 등 다양한 언어모델들이 제안되었으며, 검색, 질의응답, 챗봇 등 다양한 자연언어와 관련된 서비스 또는 어플리케이션에서 매우 좋은 성능을 보여주고 있다.
기존의 검색 기반의 방식들은 대부분 대화와 응답 간의 의미적 일치 기반의 방식으로 모델을 설계하고 학습하고 있다. 하지만, 이렇게 학습할 경우 다음 응답을 결정하는데 영향을 미칠 발화뿐만 아니라 방해가 되는 발화들의 정보들도 함께 섞여 들어갈 수 있다.
따라서, 다음 발화의 예측이 단순 대화 전체와의 의미적 유사성에 기반하여 진행되는 문제가 발생한다.
국내 등록특허 제10-2119468호(2020.06.05. 공고)
본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 언어 모델을 기반으로 하는 발화 예측 모델을 설계함에 있어, 특정의 토큰(Special Token)을 이용하여 자기 지도 학습(Self Supervised Learning) 방식을 통해 데이터 증강 효과를 낼 수 있도록 한 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치 및 그 방법을 제공하는데 있다.
전술한 목적을 달성하기 위하여 본 발명의 제1 측면은, 외부로부터 입력된 원본 대화에서 임의의 한 발화를 추출하고, 상기 추출된 각 발화를 해당 원본 대화와 분리된 형태로 해당 원본 대화를 제1 재구성하며, 해당 원본 대화의 일관성을 학습할 수 있도록 상기 제1 재구성된 원본 대화의 각 발화의 앞과 마지막 발화의 뒤에 특정의 삽입토큰을 추가하는 발화삽입모듈; 해당 원본 대화가 아닌 임의의 다른 대화에서 랜덤으로 어느 한 의미가 다른 발화를 추출하고, 상기 추출된 의미가 다른 발화를 해당 원본 대화 중 어느 한 발화의 전/후에 끼워 넣은 형태로 해당 원본 대화를 제2 재구성하며, 해당 원본 대화 내 발화 간의 일관성을 학습할 수 있도록 상기 제2 재구성된 원본 대화의 각 발화의 앞에 특정의 삭제토큰을 추가하는 발화삭제모듈; 해당 원본 대화에서 임의의 마지막 발화를 추출한 후, 상기 추출된 임의의 마지막 발화를 해당 원본 대화와 분리된 형태로 제3 재구성하고, 해당 원본 대화 내 발화 간의 순서 정보를 학습할 수 있도록 상기 제3 재구성된 원본 대화의 각 발화의 앞에 특정의 검색토큰을 추가하는 발화검색모듈; 및 상기 발화삽입모듈로부터 추가된 특정의 삽입토큰, 상기 발화삭제모듈로부터 추가된 특정의 삭제토큰, 및 상기 발화검색모듈로부터 추가된 특정의 검색토큰을 출력 자질로 적용하여, 기 설정된 비지도 학습(Unsupervised Learning) 방법을 기반으로 해당 특정의 삭제토큰, 검색토큰, 및 검색토큰의 위치가 실제 삽입, 삭제, 및 검색되는 위치인지 학습하는 언어학습모델을 포함하는 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치를 제공하는 것이다.
본 발명의 제2 측면은, 검색 기반(Retrieval-based)의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법으로서, (a) 발화삽입모듈을 통해 외부로부터 입력된 원본 대화에서 임의의 한 발화를 추출한 후, 상기 추출된 각 발화를 해당 원본 대화와 분리된 형태로 구성하는 단계; (b) 상기 발화삽입모듈을 통해 해당 원본 대화의 일관성을 학습할 수 있도록 상기 단계(a)에서 구성된 원본 대화의 각 발화의 앞과 마지막 발화의 뒤에 특정의 삽입토큰을 추가하는 단계; (c) 발화삭제모듈을 통해 해당 원본 대화가 아닌 임의의 다른 대화에서 랜덤으로 어느 한 의미가 다른 발화를 추출한 후, 상기 추출된 의미가 다른 발화를 해당 원본 대화 중 어느 한 발화의 전/후에 끼워 넣은 형태로 구성하는 단계; (d) 상기 발화삭제모듈을 통해 해당 원본 대화 내 발화 간의 일관성을 학습할 수 있도록 상기 단계(c)에서 구성된 원본 대화의 각 발화의 앞에 특정의 삭제토큰을 추가하는 단계; (e) 발화검색모듈을 통해 해당 원본 대화에서 임의의 마지막 발화를 추출한 후, 상기 추출된 임의의 마지막 발화를 해당 원본 대화와 분리된 형태로 구성하는 단계; (f) 상기 발화검색모듈을 통해 해당 원본 대화 내 발화 간의 순서 정보를 학습할 수 있도록 상기 단계(e)에서 구성된 원본 대화의 각 발화의 앞에 특정의 검색토큰을 추가하는 단계; 및 (g) 언어학습모델을 통해 상기 단계(b)에서 추가된 특정의 삽입토큰, 상기 단계(d)에서 추가된 특정의 삭제토큰, 및 상기 단계(f)에서 추가된 특정의 검색토큰을 출력 자질로 적용하여, 기 설정된 비지도 학습(Unsupervised Learning) 방법을 기반으로 해당 특정의 삭제토큰, 검색토큰, 및 검색토큰의 위치가 실제 삽입, 삭제, 및 검색되는 위치인지 학습하는 단계를 포함하는 것을 특징으로 하는 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법을 제공하는 것이다.
본 발명의 제3 측면은, 상술한 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
본 발명에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법은 컴퓨터로 판독할 수 있는 기록매체에 컴퓨터로 판독할 수 있는 코드로 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체에는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
예컨대, 컴퓨터가 읽을 수 있는 기록매체로는 롬(ROM), 램(RAM), 시디-롬(CD-ROM), 자기 테이프, 하드디스크, 플로피 디스크, 이동식 저장장치, 비휘발성 메모리(Flash Memory), 광 데이터 저장장치 등이 있다.
이상에서 설명한 바와 같은 본 발명의 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치 및 그 방법에 따르면, 언어 모델을 기반으로 하는 발화 예측 모델을 설계함에 있어, 특정의 토큰(Special Token)을 이용하여 자기 지도 학습(Self Supervised Learning) 방식을 통해 데이터 증강 효과를 낼 수 있으며, 또한 자기 지도 학습 방식이기 때문에 별도로 사람이 데이터를 구축할 필요가 없는 이점이 있다.
또한, 본 발명에 따르면, 검색 기반(Retrieval-based) 대화 시스템에서의 다음 발화 예측을 위한 기술들에 적용할 수 있을 뿐만 아니라 대용량 코퍼스(Corpus)를 기반으로 비지도 학습(Unsupervised Learning)을 진행한 언어 모델을 대화 시스템에 적용할 수 있는 이점이 있다.
또한, 본 발명에 따르면, 모든 언어 모델에 적용 가능하며, 기존에 존재하는 발화 예측 모델에도 적용이 가능한 이점이 있다.
또한, 본 발명에 따르면, 하나의 언어에 국한되는 것이 아닌 각 언어의 언어 모델(예컨대, BERT, ELECTRA 등)이 존재한다면 쉽게 적용이 가능한 이점이 있다.
또한, 본 발명에 따르면, 기존 오픈 도메인 대화 시스템의 경우 각 대화에 대한 데이터를 수집하는 데에 많은 어려움이 존재하지만, 대용량 코퍼스로 미리 학습한 언어 모델을 활용함으로써, 적은 양의 대화 데이터로도 따로 모델을 설계하여 학습을 진행하는 것보다 좋은 성능을 낼 수 있는 이점이 있다.
도 1은 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치를 설명하기 위한 전체적인 블록 구성도이다.
도 2 및 도 3은 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법을 설명하기 위한 전체적인 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법을 설명하기 위한 일 예의 구조도이다.
전술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되며, 이에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 상세한 설명을 생략한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. 그러나, 다음에 예시하는 본 발명의 실시예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시예에 한정되는 것은 아니다. 본 발명의 실시예는 당업계에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되어지는 것이다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들(실행 엔진)에 의해 수행될 수도 있으며, 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.
그리고, 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명되는 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능들을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있으며, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하며, 또한 그 블록들 또는 단계들이 필요에 따라 해당하는 기능의 역순으로 수행되는 것도 가능하다.
도 1은 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치를 설명하기 위한 전체적인 블록 구성도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치는, 크게 발화삽입모듈(100), 발화삭제모듈(200), 발화검색모듈(300), 및 언어학습모델(400) 등을 포함하여 이루어진다. 한편, 도 1에 도시된 구성요소들이 필수적인 것은 아니어서, 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치는 그보다 많은 구성요소들을 갖거나 그보다 적은 구성요소들을 가질 수도 있다.
이하, 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치의 구성요소들에 대해 구체적으로 살펴보면 다음과 같다.
발화삽입모듈(100)은 외부로부터 입력된 원본 대화에서 임의의 한 발화를 추출하고, 상기 추출된 각 발화를 해당 원본 대화와 분리된 형태로 해당 원본 대화를 제1 재구성하는 기능을 수행한다.
또한, 발화삽입모듈(100)은 해당 원본 대화의 일관성을 학습할 수 있도록 상기 제1 재구성된 원본 대화의 각 발화의 앞과 마지막 발화의 뒤에 특정의 삽입토큰을 추가하는 기능을 수행한다.
발화삭제모듈(200)은 해당 원본 대화가 아닌 임의의 다른 대화에서 랜덤(Random)으로 어느 한 의미가 다른 발화를 추출하고, 상기 추출된 의미가 다른 발화를 해당 원본 대화 중 어느 한 발화의 전 및/또는 후에 끼워 넣은 형태로 해당 원본 대화를 제2 재구성하는 기능을 수행한다.
또한, 발화삭제모듈(200)은 해당 원본 대화 내 발화 간의 일관성을 학습할 수 있도록 상기 제2 재구성된 원본 대화의 각 발화의 앞에 특정의 삭제토큰을 추가하는 기능을 수행한다.
발화검색모듈(300)은 해당 원본 대화에서 임의의 마지막 발화를 추출한 후, 상기 추출된 임의의 마지막 발화를 해당 원본 대화와 분리된 형태로 제3 재구성하는 기능을 수행한다.
또한, 발화검색모듈(300)은 해당 원본 대화 내 발화 간의 순서 정보를 학습할 수 있도록 상기 제3 재구성된 원본 대화의 각 발화의 앞에 특정의 검색토큰을 추가하는 기능을 수행한다.
그리고, 언어학습모델(400)은 발화삽입모듈(100)로부터 추가된 특정의 삽입토큰, 발화삭제모듈(200)로부터 추가된 특정의 삭제토큰, 및 발화검색모듈(300)로부터 추가된 특정의 검색토큰을 출력 자질로 적용하여, 기 설정된 비지도 학습(Unsupervised Learning) 방법을 기반으로 해당 특정의 삭제토큰, 검색토큰, 및 검색토큰의 위치가 실제 삽입, 삭제, 및 검색되는 위치인지 학습하는 기능을 수행한다.
이하에는 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법을 구체적으로 설명하기로 한다.
도 2 및 도 3은 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법을 설명하기 위한 전체적인 흐름도이고, 도 4는 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법을 설명하기 위한 일 예의 구조도이다.
도 1 내지 도 4를 참조하면, 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법은, 먼저, 발화삽입모듈(100)을 통해 외부로부터 입력된 원본 대화에서 임의의 한 발화를 추출한 후, 상기 추출된 각 발화를 해당 원본 대화와 분리된 형태로 구성한다(S100).
이후에, 발화삽입모듈(100)을 통해 해당 원본 대화의 일관성을 학습할 수 있도록 상기 단계S100에서 구성된 원본 대화의 각 발화의 앞과 마지막 발화의 뒤에 특정의 삽입토큰을 추가한다(S200).
이때, 발화삽입모듈(100)을 통한 발화 조작 과정(XINS)은 하기의 식 1에 의해 수행될 수 있으며, 임의로 추출한 발화가 원본 대화 내 어디에 삽입되어야 하는지를 학습하는 과정으로 대화의 일관성을 학습할 수 있게 한다.
(식 1)
Figure pat00001
여기서, 특정의 삽입토큰([INS])이 각 발화 앞에 추가되며, 마지막 발화에는 뒤에도 추가된다.
Figure pat00002
는 삽입의 대상이 되는 발화이고, 각 삽입토큰([INS])의 위치는 삽입이 될 수 있는 위치이다. [CLS]는 분류를 위한 단어 단위 토큰이고, [SEP]는 문장 단위 구분을 위한 토큰이다.
그런 다음, 발화삭제모듈(200)을 통해 해당 원본 대화가 아닌 임의의 다른 대화에서 랜덤으로 어느 한 의미가 다른 발화를 추출한 후, 상기 추출된 의미가 다른 발화를 해당 원본 대화 중 어느 한 발화의 전 및/또는 후에 끼워 넣은 형태로 구성한다(S300).
다음으로, 발화삭제모듈(200)을 통해 해당 원본 대화 내 발화 간의 일관성을 학습할 수 있도록 상기 단계S300에서 구성된 원본 대화의 각 발화의 앞에 특정의 삭제토큰을 추가한다(S400).
이때, 발화삭제모듈(200)을 통한 발화 조작 과정(XDEL)은 하기의 식 2에 의해 수행될 수 있으며, 다른 대화에 있는 의미가 다른 발화가 원본 대화 내 어디에 위치해 있는지, 삭제되어야 하는지를 학습하는 과정으로 대화 내 발화 간의 일관성을 학습할 수 있게 한다.
(식 2)
Figure pat00003
여기서,
Figure pat00004
은 임의의 대화에서 추출한 발화이며 원본 대화 내에 임의로 삽입된 형태이다. 특정의 삽입토큰([DEL])이 각 발화 앞에 추가되며, 각 특정의 삽입토큰([DEL])의 위치는 삭제될 수 있는 위치이다.
이후에, 발화검색모듈(300)을 통해 해당 원본 대화에서 임의의 마지막 발화를 추출한 후, 상기 추출된 임의의 마지막 발화를 해당 원본 대화와 분리된 형태로 구성한다(S500).
그런 다음, 발화검색모듈(300)을 통해 해당 원본 대화 내 발화 간의 순서 정보를 학습할 수 있도록 상기 단계S500에서 구성된 원본 대화의 각 발화의 앞에 특정의 검색토큰을 추가한다(S600).
이때, 발화검색모듈(300)을 통한 발화 조작 과정(XSRCH)은 하기의 식 3에 의해 수행될 수 있으며, 원본 대화를 임의로 섞은 후 분리된 마지막 발화 바로 이전의 대화가 어디에 위치해 있는지 찾도록 하는 과정으로 발화 간의 순서 정보를 학습이 가능하도록 할 수 있으며, 다음 응답을 예측하는 데에 보조를 할 수 있는 과정으로 적용될 수 있다.
(식 3)
Figure pat00005
여기서,
Figure pat00006
는 추출된 마지막 발화이며,
Figure pat00007
발화들은 순서가 섞인 발화들로
Figure pat00008
Figure pat00009
의 바로 이전 발화가 된다. 그리고, 특정의 검색토큰([SRCH])은 각 발화 앞에 추가되며, 특정의 검색토큰([SRCH])의 위치는 바로 이전의 발화가 될 수 있는 위치이다.
마지막으로, 언어학습모델(400)을 통해 상기 단계S200에서 추가된 특정의 삽입토큰, 상기 단계S400에서 추가된 특정의 삭제토큰, 및 상기 단계S600에서 추가된 특정의 검색토큰을 출력 자질로 적용하여, 기 설정된 비지도 학습(Unsupervised Learning) 방법을 기반으로 해당 특정의 삭제토큰, 검색토큰, 및 검색토큰의 위치가 실제 삽입, 삭제, 및 검색되는 위치인지 학습한다(S700).
전술한 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법은 미리 학습된 언어 모델을 활용한 발화 예측 방법과 함께 학습이 진행되는 멀티 태스크 학습 구조를 가질 수 있다.
이때, 상기 미리 학습된 언어 모델에 완전연결층을 추가하여 하기의 식 4와 같이 대화 내용과 다음 발화의 일치 여부를 점수로 환산할 수 있다.
(식 4)
Figure pat00010
여기서, XTASK는 전술한 발화 조작 과정들에서 제안된 특정의 토큰들(즉, 삽입토큰([INS]), 삭제토큰([DEL]), 검색토큰([SRCH])은 언어 모델을 통해 출력 자질로 표현되며 이는 각 위치가 실제 삽입, 삭제, 및 검색되는 위치인지 학습하는 데에 사용되는 자질이다.
전술한 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법에는, 각 발화 조작 과정(즉, 삽입, 삭제, 및 검색)에 알맞은 특정의 토큰(Special Token)(즉, 삽입토큰, 삭제토큰, 및 검색토큰)이 새로 추가되며, 이러한 특정의 토큰들은 언어 모델의 입력으로 들어가는 발화들의 표현들을 의미 정보를 유지할 수 있도록 도움을 줄 수 있다.
한편, 본 발명의 일 실시예에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현되는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
예컨대, 컴퓨터가 읽을 수 있는 기록매체로는 롬(ROM), 램(RAM), 시디-롬(CD-ROM), 자기 테이프, 하드디스크, 플로피디스크, 이동식 저장장치, 비휘발성 메모리(Flash Memory), 광 데이터 저장장치 등이 있다.
또한, 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터 통신망으로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 읽을 수 있는 코드로서 저장되고 실행될 수 있다.
전술한 본 발명에 따른 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치 및 그 방법에 대한 바람직한 실시예에 대하여 설명하였지만, 본 발명은 이에 한정되는 것이 아니고 특허청구범위와 발명의 상세한 설명 및 첨부한 도면의 범위 안에서 여러 가지로 변형하여 실시하는 것이 가능하고 이 또한 본 발명에 속한다.
100 : 발화삽입모듈,
200 : 발화삭제모듈,
300 : 발화검색모듈,
400 : 언어학습모델

Claims (3)

  1. 외부로부터 입력된 원본 대화에서 임의의 한 발화를 추출하고, 상기 추출된 각 발화를 해당 원본 대화와 분리된 형태로 해당 원본 대화를 제1 재구성하며, 해당 원본 대화의 일관성을 학습할 수 있도록 상기 제1 재구성된 원본 대화의 각 발화의 앞과 마지막 발화의 뒤에 특정의 삽입토큰을 추가하는 발화삽입모듈;
    해당 원본 대화가 아닌 임의의 다른 대화에서 랜덤으로 어느 한 의미가 다른 발화를 추출하고, 상기 추출된 의미가 다른 발화를 해당 원본 대화 중 어느 한 발화의 전/후에 끼워 넣은 형태로 해당 원본 대화를 제2 재구성하며, 해당 원본 대화 내 발화 간의 일관성을 학습할 수 있도록 상기 제2 재구성된 원본 대화의 각 발화의 앞에 특정의 삭제토큰을 추가하는 발화삭제모듈;
    해당 원본 대화에서 임의의 마지막 발화를 추출한 후, 상기 추출된 임의의 마지막 발화를 해당 원본 대화와 분리된 형태로 제3 재구성하고, 해당 원본 대화 내 발화 간의 순서 정보를 학습할 수 있도록 상기 제3 재구성된 원본 대화의 각 발화의 앞에 특정의 검색토큰을 추가하는 발화검색모듈; 및
    상기 발화삽입모듈로부터 추가된 특정의 삽입토큰, 상기 발화삭제모듈로부터 추가된 특정의 삭제토큰, 및 상기 발화검색모듈로부터 추가된 특정의 검색토큰을 출력 자질로 적용하여, 기 설정된 비지도 학습(Unsupervised Learning) 방법을 기반으로 해당 특정의 삭제토큰, 검색토큰, 및 검색토큰의 위치가 실제 삽입, 삭제, 및 검색되는 위치인지 학습하는 언어학습모델을 포함하는 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치.
  2. 검색 기반(Retrieval-based)의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법으로서,
    (a) 발화삽입모듈을 통해 외부로부터 입력된 원본 대화에서 임의의 한 발화를 추출한 후, 상기 추출된 각 발화를 해당 원본 대화와 분리된 형태로 구성하는 단계;
    (b) 상기 발화삽입모듈을 통해 해당 원본 대화의 일관성을 학습할 수 있도록 상기 단계(a)에서 구성된 원본 대화의 각 발화의 앞과 마지막 발화의 뒤에 특정의 삽입토큰을 추가하는 단계;
    (c) 발화삭제모듈을 통해 해당 원본 대화가 아닌 임의의 다른 대화에서 랜덤으로 어느 한 의미가 다른 발화를 추출한 후, 상기 추출된 의미가 다른 발화를 해당 원본 대화 중 어느 한 발화의 전/후에 끼워 넣은 형태로 구성하는 단계;
    (d) 상기 발화삭제모듈을 통해 해당 원본 대화 내 발화 간의 일관성을 학습할 수 있도록 상기 단계(c)에서 구성된 원본 대화의 각 발화의 앞에 특정의 삭제토큰을 추가하는 단계;
    (e) 발화검색모듈을 통해 해당 원본 대화에서 임의의 마지막 발화를 추출한 후, 상기 추출된 임의의 마지막 발화를 해당 원본 대화와 분리된 형태로 구성하는 단계;
    (f) 상기 발화검색모듈을 통해 해당 원본 대화 내 발화 간의 순서 정보를 학습할 수 있도록 상기 단계(e)에서 구성된 원본 대화의 각 발화의 앞에 특정의 검색토큰을 추가하는 단계; 및
    (g) 언어학습모델을 통해 상기 단계(b)에서 추가된 특정의 삽입토큰, 상기 단계(d)에서 추가된 특정의 삭제토큰, 및 상기 단계(f)에서 추가된 특정의 검색토큰을 출력 자질로 적용하여, 기 설정된 비지도 학습(Unsupervised Learning) 방법을 기반으로 해당 특정의 삭제토큰, 검색토큰, 및 검색토큰의 위치가 실제 삽입, 삭제, 및 검색되는 위치인지 학습하는 단계를 포함하는 것을 특징으로 하는 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 방법.
  3. 제2 항의 방법을 컴퓨터로 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020200157789A 2020-11-23 2020-11-23 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치 및 그 방법 KR102446294B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200157789A KR102446294B1 (ko) 2020-11-23 2020-11-23 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200157789A KR102446294B1 (ko) 2020-11-23 2020-11-23 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치 및 그 방법

Publications (2)

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

Family

ID=81780395

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200157789A KR102446294B1 (ko) 2020-11-23 2020-11-23 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR102446294B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230169680A (ko) 2022-06-09 2023-12-18 주식회사 스캐터랩 인공지능을 이용하여 어뷰징을 감지할 수 있는 모델을 구성하는 방법 및 장치
KR20230169681A (ko) 2022-06-09 2023-12-18 주식회사 스캐터랩 인공지능과의 관계를 반영하여 사용자에 특화된 응답을 출력하는 방법 및 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102041621B1 (ko) * 2019-02-25 2019-11-06 (주)미디어코퍼스 인공지능 음성인식 기반 기계학습의 대규모 말뭉치 구축을 위한 대화형 말뭉치 분석 서비스 제공 시스템 및 구축 방법
KR102119468B1 (ko) 2018-08-20 2020-06-05 주식회사 부뜰정보시스템 상담원의 상담내용을 기반으로 상담 챗봇을 학습하는 시스템 및 방법
KR20200106126A (ko) * 2019-02-28 2020-09-11 네이버 주식회사 대화 시스템에서의 의도 불분명 질의를 처리하는 방법 및 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102119468B1 (ko) 2018-08-20 2020-06-05 주식회사 부뜰정보시스템 상담원의 상담내용을 기반으로 상담 챗봇을 학습하는 시스템 및 방법
KR102041621B1 (ko) * 2019-02-25 2019-11-06 (주)미디어코퍼스 인공지능 음성인식 기반 기계학습의 대규모 말뭉치 구축을 위한 대화형 말뭉치 분석 서비스 제공 시스템 및 구축 방법
KR20200106126A (ko) * 2019-02-28 2020-09-11 네이버 주식회사 대화 시스템에서의 의도 불분명 질의를 처리하는 방법 및 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230169680A (ko) 2022-06-09 2023-12-18 주식회사 스캐터랩 인공지능을 이용하여 어뷰징을 감지할 수 있는 모델을 구성하는 방법 및 장치
KR20230169681A (ko) 2022-06-09 2023-12-18 주식회사 스캐터랩 인공지능과의 관계를 반영하여 사용자에 특화된 응답을 출력하는 방법 및 장치

Also Published As

Publication number Publication date
KR102446294B1 (ko) 2022-09-22

Similar Documents

Publication Publication Date Title
Pietquin et al. A probabilistic framework for dialog simulation and optimal strategy learning
US20140358537A1 (en) System and Method for Combining Speech Recognition Outputs From a Plurality of Domain-Specific Speech Recognizers Via Machine Learning
CN106688034A (zh) 具有情感内容的文字至语音转换
KR102446294B1 (ko) 검색 기반의 대화 시스템에서 다음 발화의 응답 선택을 위한 발화 조작 장치 및 그 방법
CN104157285A (zh) 语音识别方法、装置及电子设备
Wang et al. Comic-guided speech synthesis
KR102324635B1 (ko) 답변을 유도하는 대화 시스템 및 대화 방법
CN114911932A (zh) 基于主题语义增强的异构图结构多会话者情感分析方法
CN113178200A (zh) 语音转换方法、装置、服务器及存储介质
CN117216234A (zh) 基于人工智能的话术改写方法、装置、设备及存储介质
CN113761268A (zh) 音频节目内容的播放控制方法、装置、设备和存储介质
CN116312471A (zh) 语音迁移、语音交互方法、装置、电子设备及存储介质
KR101905827B1 (ko) 연속어 음성 인식 장치 및 방법
CN117173497B (zh) 一种图像生成方法、装置、电子设备及存储介质
CN112863476B (zh) 个性化语音合成模型构建、语音合成和测试方法及装置
CN116978381A (zh) 音频数据处理方法、装置、计算机设备和存储介质
CN116434731A (zh) 语音编辑方法、装置、存储介质及电子装置
Röpke et al. Training a Speech-to-Text Model for Dutch on the Corpus Gesproken Nederlands.
Santos et al. CORAA NURC-SP Minimal Corpus: a manually annotated corpus of Brazilian Portuguese spontaneous speech
CN115081459B (zh) 口语文本生成方法、装置、设备及存储介质
CN115457931B (zh) 一种语音的合成方法、装置、设备及存储介质
US20230410787A1 (en) Speech processing system with encoder-decoder model and corresponding methods for synthesizing speech containing desired speaker identity and emotional style
KR102426020B1 (ko) 한 화자의 적은 음성 데이터로 감정 운율을 담은 음성 합성 방법 및 장치
Setlur et al. Towards using heterogeneous relation graphs for end-to-end tts
Staš et al. Semantically similar document retrieval framework for language model speaker adaptation

Legal Events

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