KR102458830B1 - 사용자 중심의 음성 대화 시스템 - Google Patents

사용자 중심의 음성 대화 시스템 Download PDF

Info

Publication number
KR102458830B1
KR102458830B1 KR1020200153087A KR20200153087A KR102458830B1 KR 102458830 B1 KR102458830 B1 KR 102458830B1 KR 1020200153087 A KR1020200153087 A KR 1020200153087A KR 20200153087 A KR20200153087 A KR 20200153087A KR 102458830 B1 KR102458830 B1 KR 102458830B1
Authority
KR
South Korea
Prior art keywords
voice
input
output
input voice
conversation
Prior art date
Application number
KR1020200153087A
Other languages
English (en)
Other versions
KR20220066735A (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 KR1020200153087A priority Critical patent/KR102458830B1/ko
Publication of KR20220066735A publication Critical patent/KR20220066735A/ko
Application granted granted Critical
Publication of KR102458830B1 publication Critical patent/KR102458830B1/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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • 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/1822Parsing for meaning understanding
    • 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/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/06Decision making techniques; Pattern matching strategies
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/22Interactive procedures; Man-machine interfaces
    • G10L17/24Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Game Theory and Decision Science (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Machine Translation (AREA)

Abstract

음성 대화 시스템이 제공된다. 이 음성 대화 시스템은 입력 음성을 입력 받도록 구성된 입력 장치, 상기 입력 음성이 호출 명령어를 포함하는 경우 상기 입력 음성을 처리하여 출력 음성을 생성하도록 구성된 정상 대화 처리부, 상기 출력 음성을 출력하도록 구성된 출력 장치, 및 상기 입력 음성이 대화를 정정하려는 의사를 포함하는지 여부를 검출하도록 구성된 정정 의사 검출부, 및 상기 입력 음성이 대화를 정정하려는 의도를 포함하는 경우 상기 입력 음성이 호출 명령어를 포함하지 않더라도 상기 정상 대화 처리부가 상기 입력 음성을 처리하도록 상기 정상 대화 처리부를 제어하도록 구성된 대화 처리 제어부를 포함하는 대화 강제 처리부를 포함할 수 있다.

Description

사용자 중심의 음성 대화 시스템{User-oriented voice dialogue system}
본 개시는 사용자와 대화가 가능한 대화 시스템에 관한 것이다. 보다 구체적으로 음성을 통해 사용자와 대화가 가능한 음성 대화 시스템에 관한 것이다.
본 발명은 과학기술정보통신부 혁신성장동력프로젝트(과기정통부)-인공지능사업의 일환으로 한국전자통신연구원에서 주관하고 (주) 솔트룩스에서 연구하여 수행된 연구로부터 도출된 것이다. [연구기간: 2020.01.01~2020.12.31, 연구관리 전문기관: 정보통신기술진흥센터, 연구과제명: 다중 화자간 대화 음성인식 기술개발, 과제 고유번호: 1711102796, 세부과제번호: 2019-0-01376-002]
인공 지능 기술의 발전에 따라 음성을 통해 인간과 대화가 가능한 음성 대화 시스템이 개발되었다. 기존의 음성 대화 시스템에서 사용자는 항상 호출 명령어를 먼저 발언하고 이후 원하는 발언을 해야한다. 사용자가 발언을 한 후 자신의 발언을 정정하고자 하는 경우 사용자는 음성 대화 시스템이 이전 발언에 대한 응답을 제공할 때까지 기다린 후 다시 호출 명령어를 말한 후 원하는 발언을 할 수 있다. 또한, 음성 대화 시스템이 사용자의 발언에 어울리지 않는 응답을 시작해서 사용자가 다시 발언을 하려는 경우 사용자는 음성 대화 시스템의 응답이 끝날 때까지 기다린 후 다시 호출 명령어를 발언한 후 다시 발언 해야한다. 이러한 대화 흐름은 상대방의 응답을 기다리지 않고 즉시 발화를 정정할 수 있고 상대방의 말을 끊고 즉시 다시 발언을 할 수 있는 인간의 대화 흐름과 다르다. 따라서 사용자는 음성 대화 시스템과의 대화에서 부자연스러움을 느낄 수 있다. 또한 이러한 대화 흐름에서 대화의 주도권을 인공지능이 갖고 있기 때문에 사용자는 불편할 수 있다. 또한 이러한 대화 흐름은 시간 낭비 및/또는 자원 낭비를 야기하므로 효율적이지 못하다.
본 개시가 해결하고자 하는 과제는 자연스러운 대화 흐름을 가지고, 편리하고, 효율적인 음성 대화 시스템을 제공하는 것이다.
본 개시의 실시예들에 따르면, 입력 음성을 입력 받도록 구성된 입력 장치, 상기 입력 음성이 호출 명령어를 포함하는 경우 상기 입력 음성을 처리하여 출력 음성을 생성하도록 구성된 정상 대화 처리부, 상기 출력 음성을 출력하도록 구성된 출력 장치, 및 상기 입력 음성이 대화를 정정하려는 의사를 포함하는지 여부를 검출하도록 구성된 정정 의사 검출부, 및 상기 입력 음성이 대화를 정정하려는 의도를 포함하는 경우 상기 입력 음성이 호출 명령어를 포함하지 않더라도 상기 정상 대화 처리부가 상기 입력 음성을 처리하도록 상기 정상 대화 처리부를 제어하도록 구성된 대화 처리 제어부를 포함하는 대화 강제 처리부를 포함할 수 있다.
본 개시에 따르면, 사용자가 발언을 한 후 자신의 발언을 정정하고자 하는 경우 사용자는 음성 대화 시스템이 이전 발언에 대한 응답을 제공할 때까지 기다릴 필요 없이 즉시 호출 명령어 없이 자신의 발언을 정정할 수 있다. 또한, 본 개시에 따르면, 음성 대화 시스템이 사용자의 발언에 어울리지 않는 응답을 제공해서 사용자가 다시 발언을 하려는 경우 사용자는 음성 대화 시스템의 응답이 끝날 때까지 기다릴 필요 없이 즉시 호출 명령어 없이 다시 발언할 수 있다. 따라서 대화 흐름이 더 자연스러워질 수 있다. 또한 사용자 중심의 대화 흐름으로 인해 사용자는 더 편리하게 음성 대화 시스템과 대화할 수 있다. 또한 불필요한 대화를 중단시킴으로써 음성 대화 시스템이 보다 효율적으로 동작할 수 있다.
도 1은 본 개시의 실시예들에 따른 음성 대화 시스템을 나타낸 블록도이다.
도 2는 본 개시의 실시예들에 따른 음성 대화 시스템에 포함되는 정상 대화 처리부의 동작을 설명하기 위한 흐름도이다.
도 3은 본 개시의 실시예들에 따른 음성 대화 시스템에 포함되는 정상 대화 처리부의 동작을 설명하기 위한 흐름도이다.
도 4는 본 개시의 실시예들에 따른 음성 대화 시스템에 포함되는 정상 대화 처리부의 동작을 설명하기 위한 흐름도이다.
도 5는 본 개시의 실시예들에 따른 음성 대화 방법을 나타낸 흐름도이다.
도 6은 본 개시의 실시예들에 따른 음성 대화 방법을 나타낸 흐름도이다.
도 7은 본 개시의 실시예들에 따른 음성 대화 시스템을 나타낸 블록도이다.
이하에서 첨부된 도면을 참조하여 본 개시의 실시예들이 상세히 설명될 것이다. 그러나, 본 개시의 실시예들은 여러 가지 다른 형태로 변형 또는 수정될 수 있으므로, 본 발명의 범위가 아래의 실시예들에 의해 한정되는 것으로 해석되어서는 안 된다. 본 개시의 실시예들은 당 업계의 통상의 기술자에게 본 발명을 보다 상세히 설명하기 위해서 제공되는 것으로 해석되어야 한다. 도면들에 걸쳐 동일한 부호는 동일하거나 유사한 요소를 나타낼 수 있다. 방법 청구항이 방법 청구항을 구성하는 단계들이 따라야할 순서를 명시적으로 개시하지 않는한, 단계들의 순서는 방법 청구항의 범위를 제한하지 않는다.
또한, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 제1, 제2 등의 용어들에 의해 한정되어서는 안 된다. 상기 제1, 제2 등의 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 벗어나지 않으면서, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
도 1은 본 개시의 실시예들에 따른 음성 대화 시스템(1000)을 나타낸 블록도이다.
도 1을 참조하면, 음성 대화 시스템(1000)은 입력 장치(1500), 출력 장치(1600), 정상 대화 처리부(1100), 대화 데이터베이스(1300), 및 대화 강제 처리부(1210)를 포함할 수 있다. 일부 실시예에서, 음성 대화 시스템(1000)은 정정 대화 데이터베이스(1400)를 더 포함할 수 있다.
입력 장치(1500)는 사용자로부터 입력 음성을 입력 받고 입력 음성을 정상 대화 처리부(1100)의 음성 입출력 관리부(1110) 및 대화 강제 처리부(1200)로 전달할 수 있다. 입력 장치(1500)는 음파 형태의 음성을 전기적 형태의 음성으로 변환하는 마이크 또는 유선 또는 무선 통신을 통해 전기적 형태의 음성을 수신하는 인터페이스일 수 있다.
출력 장치(1600)는 정상 대화 처리부(1100)의 음성 입출력 관리부(1100) 또는 음성 합성부(1160)로부터 출력 음성을 수신하여 사용자에게 출력 음성을 출력할 수 있다. 출력 장치(1600)는 전기적 형태의 음성을 음파 형태의 음성으로 변환하는 스피커 또는 유선 또는 무선 통신을 통해 전기적 형태의 음성을 출력하는 인터페이스일 수 있다.
정상 대화 처리부(1100)는 입력 음성이 호출 명령어를 포함하는 경우 입력 음성을 처리하여 출력 음성을 생성하도록 구성될 수 있다. 일부 실시예에서, 정상 대화 처리부(1100)는 정상 대화 처리부(1100)가 이전 입력 음성을 처리하는 중이 아니고 출력 장치(1600)가 이전 출력 음성을 출력 중이 아닌 경우에 입력 음성을 수신하도록 구성될 수 있다.
정상 대화 처리부(1100)는 음성 입출력 관리부(1110), 음성 인식부(1120), 자연어 이해부(1130), 대화 관리부(1140), 자연어 생성부(1150), 및 음성 합성부(1160)를 포함할 수 있다.
음성 입출력 관리부(1110)는 입력 음성과 출력 음성을 제어할 수 있다. 일부 실시예에서, 음성 입출력 관리부(1100)는 입력 장치(1500)로부터 입력 음성을 음성 인식부(1120)에 전달할 수 있다. 또한, 음성 입출력 관리부(1110)는 음성 합성부(1160)로부터 출력 장치(1600)에 출력 음성을 전달할 수 있다. 일부 실시예에서, 음성 입출력 관리부(1110)는 입력 장치(1500) 및 출력 장치(1600)를 제어할 수 있다. 일부 실시예에서, 정상 대화 처리부(1100)가 이전 입력 음성을 처리하는 중이거나 출력 장치(1600)가 이전 입력 음성을 처리한 결과인 이전 출력 음성을 출력 중인 경우에 음성 입출력 관리부(1110)는 입력 장치(1500)로부터 입력 음성을 수신하지 않을 수 있다.
음성 인식부(1120)는 입력 음성으로부터 호출 명령어를 검출할 수 있으며, 입력 음성을 입력 텍스트로 변환할 수 있다. 일부 실시예들에서, 음성 인식부(1120)는 음성 전처리부(1121), 음성-텍스트 변환부(1123), 텍스트 후처리부(1124), 및 호출 명령어 검출부(1122)를 포함할 수 있다.
음성 전처리부(1121)는 입력 음성으로부터 특징(feature)을 추출할 수 있다. 예컨대 MFCC(Mel-Frequency Cepstral Coefficient), 캡스트럼(cepstrum), LPC(Linear Predictive Coding), PLP(Perceptual Linear Predictive analysis), 또는 필터 뱅크 에너지(filter bank energy)와 같은 특징이 추출될 수 있다.
음성-텍스트 변환부(1123)는 음성 전처리부(1121)에 의해 추출된 특징으로부터 음소, 음절, 및 단어를 인식할 수 있다. 이를 위해 예컨대 동적 시간 워핑(Dynamic Time Warping, DTW), 지식 베이스(knowledge base), 은닉 마르코브 모델(HMM), 완전 연결 심층 신경망(fully connected deep neural network), 또는 장단기 기억(Long Short-Term Memory, LSTM)과 같은 음성 모델이 사용될 수 있다. 장단기 기억 기술이 사용되는 경우 기존의 다른 접근법들보다 향상된 음성인식 성능을 제공할 수 있다.
텍스트 후처리부(1124)는 음성-텍스트 변환부(1123)에 의해 추출된 음소, 음절, 단어를 재구성해 문장을 복원하여 입력 텍스트를 생성한다. 문장을 형성하기 위해 구문 규칙(syntactic) 모델, 통계적 모델, N-gram 모델, 또는 심층 신경망(deep neural network, DNN) 모델이 사용될 수 있다.
호출 명령어 검출부(1122)는 입력 음성이 호출 명령어를 포함하는지 여부를 판별한다. 입력 음성이 호출 명령어를 포함하는 경우 입력 음성은 정상 대화 처리부(1100)에 의해 처리되고 출력 음성이 생성된다. 입력 음성이 호출 명령어를 포함하지 않는 경우 입력 음성은 정상 대화 처리부(1100)에 의해 더 이상 처리되지 않고 출력 음성이 생성되지 않는다. 그러나 나중에 보다 상세히 설명될 바와 같이 입력 음성이 호출 명령어를 포함하지 않더라도 소정의 경우에 대화 처리 제어부(1230)는 정상 대화 처리부(1100)가 강제적으로 입력 음성을 처리하도록 정상 대화 처리부(1100)를 제어할 수 있다.
일부 실시예에서, 호출 명령어 검출부(1122)는 음성-텍스트 변환부(1123)에 의해 검출된 음소, 또는 단어를 통해 호출 명령어를 검출할 수 있다. 일부 실시예에서, 호출 명령어 검출부(1122)는 음성 전처리부(1121)에 의해 추출된 특징으로부터 음향 모델을 사용하여 호출 명령어를 검출할 수 있다. 다른 실시예에서, 호출 명령어 검출부(1122)는 별도의 음성 전처리부를 포함하고 별도의 음성 전처리부에 의해 추출된 특징으로부터 별도의 음향 모델을 사용하여 호출 명령어를 검출할 수 있다. 상기 음향 모델은 예컨대 은닉 마르코프 모델(HMM), 가우시안 혼합 모델(Gaussian mixture model, GMM), 또는 심층 신경망(deep neural network, DNN)일 수 있다.
자연어 이해부(1130)는 입력 텍스트로부터 입력 의미(semantics)를 추출할 수 있다. 예를 들어, 자연어 이해부(1130)는 형태소 분석기(1131), 구문 분석기(1132), 의미 분석기(1133), 사용자 의도 분석기(1134), 감성 추출기(1135), 및 개체명 인식기(1136) 중 적어도 하나를 포함할 수 있다.
형태소 분석기(1131)는 입력 텍스트를 형태소들로 분리한다. 형태소는 의미를 갖는 최소 단위로서 정의된다. 형태소 분석기(1131)에는 예를 들어 SSVM(Structural Supporting Vector Machine)과 BERT(Bidirectional Encoder Representations from Transformers) 기반의 기계학습이 사용될 수 있다.
구문 분석기(1132)는 입력 텍스트를 단어, 구, 또는 절과 같은 구성 요소로 분해하고 이러한 구성 요소들의 관계를 분석하여 입력 텍스트의 문법적 구조를 분석할 수 있다. 구문 분석기(1132)의 결과는 이러한 구성 요소들의 계층적 구조의 형태로 표현될 수 있다. 구문 분석기(1132)는 구구조 구문 분석(phrase structure parsing) 및 의존 분석(dependency parsing) 중 적어도 하나를 수행할 수 있다.
구구조 구문 분석은 구구조 문법(phrase structure grammar)을 사용하는 규칙 기반 방법, 확률적 구구조 문법을 사용하는 통계 기반 방법, 또는 전이 기반 파싱(transition-based parsing)을 사용하는 딥러닝 기반 방법으로 수행될 수 있다. 구구조 문법은 자연어 문장을 하위 구성소(constituency)로 나눔으로써 문장 구조를 나타내는 문법이다. 확률적 구구조 문법에서는 각 규칙에 대한 조건부 확률이 정의된다. 전이 기반 파싱은 자연어 문장을 한 단어씩 읽으면서 현재 단계에서 수행할 액션을 선택하는 방식으로 문장 전체의 구구조 구문 분석을 수행하는 방법이다.
의존 분석은 입력 텍스트로부터 단어간의 의존 관계를 분석함으로써 입력 텍스트의 의존 구조를 분석하는 것이다. 의존 분석은 의존 문법을 사용하는 규칙 기반 방법, 의존 규칙의 조건부 확률을 사용하는 통계 기반 방법, 또는 전이 기반 파싱 또는 그래프 기반 파싱(graph based parsing)을 사용하는 딥러닝 기반 방법으로 수행될 수 있다. 의존 문법은 단어간의 의존 관계를 표현하는 문법이다. 전이 기반 파싱은 단어들을 하나씩 의존 분석 트리에 추가하는 의존 분석 방법이다. 그래프 기반 파싱은 단어들 사이의 가능한 모든 의존 관계에 대한 점수를 계산하고, 가장 높은 점수를 갖는 의존 분석 트리를 선택하는 의존 분석 방법이다.
의미 분석기(1133)는 입력 텍스트의 의미를 분석할 수 있다. 의미 분석기(1133)는 의미역(semantic role) 분석 및 단어 중의성 해소(word sense disambiguation) 중 적어도 하나를 수행할 수 있다. 의미역 분석에는 예를 들어 CRF(conditional random field), SVM(support vector machine)와 같은 기계학습 방법이 사용될 수 있다.
단어 중의성 해소는 복수의 의미를 가지는 단어를 복수의 의미들 중 하나와 매칭시킴으로써 중의성을 해소하는 것이다. 단어 중의성 해소에는 지식 기반 방법 또는 기계학습 방법이 사용될 수 있다. 지식 기반 방법은 사전에 정의된 단어 지식을 활용하는 방법이다. 지식 기반 방법은 사전 정의 기반 방법과 그래프 기반 방법을 포함할 수 있다. 사전 정의 기반 방법은 사전에 정의된 뜻풀이(gloss)를 기반으로 의미를 추론하는 방법이고, 그래프 기반 방법은 wordnet과 같이 단어의 의미 관계 정보를 분석하여 의미를 추론하는 방법이다.
사전 정의기반 방법은 예를 들어 레스크(lesk) 알고리즘을 사용할 수 있다. 사전 정의기반 방법은 분석 대상 단어의 사전 뜻풀이에 포함된 단어들과 분석 대상 단어 주변의 단어의 사전 뜻풀이에 쓰인 단어들의 문맥 패턴이나 중복된 단어의 수에 따라 분석 대상 단어의 의미를 결정하는 방법이다. 그래프 기반 방법은 의미 관계 정보로부터 중의적인 단어들의 모든 의미들 사이의 그래프를 추출하고, 의미 그래프로부터 중의적인 단어들 사이의 그래프를 구축하고, 이 그래프에서 가장 연결이 많이 된 의미를 선택하는 방법이다.
단어 중의성 해소를 위한 기계학습 방법은 예를 들어 나이브 베이즈 분류기(Na
Figure 112020122673243-pat00001
ve Bayes Classifier, NB), kNN(k-Nearest Neighbor Classifier), SVM 또는 심층 학습(deep learning)을 사용할 수 있다.
사용자 의도 분석기(1134)는 입력 텍스트로부터 사용자의 의도를 추출할 수 있다. 사용자 의도 분석기(1134)에는 TF-IDF(Term Frequency-Inverse Document Frequency) 기반의 분류 모델, BERT(Bidirectional encoder Representations from Transformers) 기반의 분류 모델, 및 Sent2Vec 기반의 분류 모델 중 적어도 하나가 사용될 수 있다.
감성 추출기(1135)는 입력 텍스트로부터 어떤 주제에 대한 주관적인 인상, 감정, 태도, 또는 의견을 추출할 수 있다. 감성 추출기(1135)는 예를 들어 입력 텍스트를 긍정, 부정, 또는 중립으로 분류할 수 있다. 감성 추출기(1135)는 입력 텍스트를 분류하기 위해 사건 기반 방법, 기계 학습 방법, 또는 이들의 조합이 사용될 수 있다. 사전 기반 방법은 각각의 단어에 긍정/부정 값이 정의된 사전을 사용하는 방법이다. 기계 학습 방법은 예를 들어 나이브 베이즈(Naive Bayes), 서포트 벡터 머신, 또는 심층 신경망을 사용할 수 있다. 입력 텍스트를 분류하기 위한 상기 심층 신경망은 예를 들어 합성곱 신경망(Convolutional Neural Network, CNN), 장단기 기억(LSTM) 신경망을 포함할 수 있다.
개체명 인식기(1136)는 사람의 명칭, 기관의 명칭, 장소의 명칭, 날짜, 또는 시간과 같은 개체를 입력 텍스트로부터 인식할 수 있다. 개체명 인식기는 사전 기반 방법, 기계학습 방법, 또는 이들의 조합을 사용할 수 있다. 기계학습 방법은 은닉 마르코프 모델, SSVM, 조건부 무작위장(conditional random fields, CRF), BERT, 의사 결정 트리, 또는 이들의 조합을 사용할 수 있다.
대화 관리부(1140)는 입력 의미로부터 대화의 상황과 흐름을 고려해 출력 의미를 생성할 수 있다. 대화 관리에는 규칙 기반 방법, 문장 매칭 방법 또는 기계 학습 방법이 사용될 수 있다. 규칙 기반방법에는 예를 들어 FSA(Finite State Automata) 또는 프레임 기반 방법이 사용될 수 있다. 기계 학습 방법에는 예를 들어 강화 학습(reinforcement learning), 또는 심층 학습을 사용하여 학습된 대화 모델이 사용될 수 있다. 추가적으로, 대화 모델의 학습에 전이 학습(transfer learning)이 사용될 수 있다. 또한, 대화 관리부(1140)의 학습에 지식그래프, 선호추천, 추론, 및 사용자 모델 중 적어도 하나가 반영될 수 있다. 또한 대화 모델에 의한 관리가 어려운 경우 질의 응답 시스템이 사용될 수 있다. 질의응답 시스템은 지식베이스 기반 방법, 정보 검색(information retrieval) 기반 방법, 기계 독해 기반 방법, 및 대화 학습(dialog learning) 기반 방법 중 적어도 하나를 사용할 수 있다.
자연어 생성부(1150)는 출력 의미로부터 출력 텍스트를 생성할 수 있다. 자연어 생성에는 N-gram 언어 모델 또는 인공 신경망 언어 모델(neural network language model, NNLM)이 사용될 수 있다. 인공 신경망 언어 모델은 지도 학습(supervised learning) 모델, 강화 학습 모델, 또는 적대 학습(adversarial learning) 모델을 포함할 수 있다. 지도 학습 모델은 순환 신경망(recurrent neural network) 모델, 또는 트랜스포머 모델을 포함할 수 있다. 적대 학습 모델은 예컨대 SeqGAN(sequence generative adversarial network, GAN) 모델, MaliGaN 모델, RankGaN 모델, 또는 LeakGAN 모델을 포함할 수 있다.
음성 합성부(1160)는 출력 텍스트로부터 출력 음성을 생성할 수 있다. 음성 합성을 위해 조음 합성(articulatory synthesis), 포먼트 합성(Formant synthesis), 연결 합성(Concatenative synthesis), 통계기반 파라미터 합성(statistical parametric speech synthesis), 또는 심층 학습 모델이 사용될 수 있다. 연결 합성은 USS(Unit selection synthesis)라고 불리기도 한다. 연결 합성은 녹음 데이터를 잘게 나눈 유닛들 중 가장 적합한 유닛을 선택하고, 선택된 유닛들을 서로 연결함으로써 음성을 합성한다. 통계기반 파라미터 합성은 HMM과 같은 모델로부터 파라미터를 생성하고, 파라미터로부터 신호 처리를 통해 음성을 합성한다. 심층 학습 모델은 음성 합성을 위해 사전 학습된 심층 신경망을 사용한다. 심층 학습 모델은 예를 들어 WaveNet, tacotron, 또는 tacotron2를 사용할 수 있다.
대화 데이터베이스(1300)에는 정상 대화 처리부(1100)에 의해 처리된 대화 데이터가 저장된다. 이러한 대화 데이터는 입력 음성과 출력 음성의 쌍, 입력 텍스트와 출력 텍스트의 쌍, 및 입력 의미와 출력 의미의 쌍 중 적어도 하나를 포함한다.
대화 강제 처리부(1200)는 정상 대화 처리부(1100)가 이전 입력 음성을 처리중인지 여부 및 출력 장치(1600)가 이전 출력 음성을 출력 중인지 여부에 무관하게 입력 음성을 입력 장치(1500)로부터 수신할 수 있다. 대화 강제 처리부(1200)는 정정 의사 검출부(1220) 및 대화 처리 제어부(1230)를 포함할 수 있다. 일부 실시예에서, 대화 강제 처리부(1200)는 화자 비교부(1210)를 더 포함할 수 있다.
화자 비교부(1210)는 입력 음성을 이전 입력 음성과 비교함으로써 입력 음성의 화자와 이전 입력 음성의 화자가 동일인인지 여부를 판단할 수 있다. 입력 음성의 화자와 이전 입력 음성의 화자가 동일인인 경우 입력 음성이 대화를 정정하려는 의사를 포함하는지 여부를 검출하도록 정정 의사 검출부(1220)가 작동될 수 있다. 입력 음성의 화자와 이전 입력 음성의 화자가 동일인이 아닌 경우 대화 강제 처리부(1200)는 더 이상 입력 음성을 처리하지 않을 수 있다.
화자 비교부(1210)는 텍스트 독립 방식을 사용할 수 있다. 화자 비교부는 음성으로부터 특징을 추출하고, GMM-UBM(Gaussian mixture model-universal background model), 또는 GMM-SVM(Gaussian mixture model-support vector machine), 결합 요인 분석(Joint Factor Analysis), 또는 i-벡터 방법과 같은 화자 모델을 사용하여 추출된 특징을 모델링하고, 모델에 기초하여 이전 입력 음성과 입력 음성 사이의 유사도를 측정한다.
정정 의사 검출부(1220)는 입력 음성이 대화를 정정하려는 의사를 포함하는지 여부를 검출할 수 있다. 정정 의사 검출부(1220)는 입력 음성의 화자와 이전 입력 음성의 화자가 동일인인 경우 작동될 수 있다. 대화를 정정하려는 의사는 이전 입력 음성을 정정하려는 의사 및 이전 입력 음성을 처리한 결과인 이전 출력 음성을 정정하려는 의사를 포함할 수 있다. 입력 음성을 정정하려는 의사는 사용자가 발언을 하였으나 그 발언을 취소하고 다른 발언을 하려는 의사를 말한다. 이전 출력 음성을 정정하려는 의사는 이전 출력 음성이 사용자가 기대했던 것이 아니어서 다시 발언을 하려는 의사를 말한다.
정정 의사 검출부(1220)는 사전 기반 방법 또는 기계 학습 방법을 사용하여 정정 의사를 검출할 수 있다. 사전 기반 방법은 예컨대, "아니" 또는 "그게 아니라"와 같이 정정 의사를 나타내는 적어도 하나의 단어를 설정하고 입력 음성에 이러한 단어가 출현하는지 여부를 검출함으로써 수행될 수 있다. 기계 학습 방법에서 예를 들어 정정 의사를 포함하는 다양한 음성들을 모델이 학습하고, 이러한 모델을 사용하여 입력 음성으로부터 정정 의사를 검출할 수 있다.
대화 처리 제어부(1230)는 정상 대화 처리부(1100)를 제어할 수 있다. 대화 처리 제어부(1230)는 입력 음성이 대화를 정정하려는 의도를 포함하는 경우 입력 음성이 호출 명령어를 포함하지 않더라도 정상 대화 처리부(1100)가 입력 음성을 처리하도록 정상 대화 처리부(1100)를 제어할 수 있다.
일부 실시예에서, 대화 처리 제어부(1230)는 입력 음성이 대화를 정정하려는 의도를 포함하고 정상 대화 처리부가 이전 입력 음성을 처리 중인 경우, 정상 대화 처리부(1100)가 이전 입력 음성을 처리하는 것을 중단한 후 입력 음성을 처리하도록 정상 대화 처리부(1100)를 제어할 수 있다. 일부 실시예에서, 대화 처리 제어부(1230)는 입력 음성이 대화를 정정하려는 의도를 포함하고 출력 장치(1600)가 이전 입력 음성의 처리의 결과인 이전 출력 음성을 출력 중인 경우, 출력 장치(1600)가 이전 출력 음성을 출력하는 것을 중단한 후 정상 대화 처리부(1100)가 상기 입력 음성을 처리하도록 정상 대화 처리부(1100)를 제어하도록 구성될 수 있다. 일부 실시예에서, 대화 처리 제어부(1230)는 출력 음성의 출력을 중단시키기 위해 음성 입출력 관리부(1110)가 출력 음성을 출력 장치(1600)로 전달하는 것을 중단하게 할 수 있다. 대안적으로, 대화 처리 제어부(1230)는 출력 장치(1600)가 출력 음성을 출력하는 것을 중단시키기 위하여 음성 입출력 관리부(1110)가 출력 장치(1600)를 제어하도록 음성 입출력 관리부(110)를 제어하도록 구성될 수 있다. 대안적으로, 대화 처리 제어부(1230)는 출력 장치(1600)가 출력 음성을 출력하는 것을 중단시키기 위하여 출력 장치(1600)를 직접 제어할 수 있다.
대화 처리 제어부(1230)는 입력 장치(1500)를 통해 사용자가 발언을 한 후 자신의 발언을 정정하고자 하는 경우 사용자가 정상 대화 처리부(1100)가 이전 발언을 처리하여 출력 음성을 제공할 때까지 기다릴 필요 없이 즉시 호출 명령어 없이 자신의 발언을 정정할 수 있게 할 수 있다. 또한, 대화 처리 제어부(1230)는 음성 대화 시스템(1000)이 사용자의 이전 입력 음성에 어울리지 않는 이전 출력을 제공해서 사용자가 다시 발언을 하려는 경우 사용자가 이전 출력이 끝날 때까지 기다릴 필요 없이 즉시 호출 명령어 없이 다시 음성을 입력할 수 있다. 따라서 대화 흐름이 더 자연스러워질 수 있다. 또한 사용자 중심의 대화 흐름으로 인해 사용자는 더 편리하게 음성 대화 시스템과 대화할 수 있다. 또한 불필요한 대화를 중단시킴으로써 음성 대화 시스템이 보다 효율적으로 동작할 수 있다.
일부 실시예에서, 대화 처리 제어부(1230)는 입력 음성이 대화를 정정하려는 의도를 포함하고 입력 음성의 입력과 이전 입력 음성의 입력 사이에 출력 장치(1600)가 이전 출력 음성을 적어도 부분적으로 출력했던 경우, 이전 출력 음성과 출력 음성이 동일하지 않도록 정상 대화 처리부(1100)를 제어하도록 구성될 수 있다. 사용자가 이전 출력 음성에 대한 정정 의사를 가지므로 이전 출력 음성과 다른 음성을 출력하기 위함이다.
일부 실시예들에서, 대화 처리 제어부(1230)는 입력 음성이 대화를 정정하려는 의도를 포함하고, 입력 음성의 입력과 이전 입력 음성의 입력 사이에 출력 장치(1600)가 이전 출력 음성을 적어도 부분적으로 출력했었고, 출력 음성을 적어도 부분적으로 출력한 후 입력된 새로운 입력 음성의 화자가 입력 음성의 화자와 동일하고, 새로운 입력 음성이 출력 음성을 정정할 의사를 포함하지 않는 경우, 정상 대화 처리부(1100)가 정정 대화 데이터를 정정 대화 데이터 베이스(1400)에 저장하도록 정상 대화 처리부(1100)를 제어하도록 구성될 수 있다. 정정 데이터는 입력 음성과 출력 음성의 쌍, 이전 입력 음성과 이전 출력 음성의 쌍, 입력 텍스트와 출력 텍스트의 쌍, 이전 입력 텍스트와 이전 출력 텍스트의 쌍, 입력 의미와 출력 의미의 쌍, 및 이전 입력 의미와 이전 출력 의미의 쌍 중 적어도 하나를 포함할 수 있다.
정정 대화 데이터베이스(1400)는 정정 대화 데이터를 포함할 수 있다. 정정 대화 데이터 베이스(1400)는 정상 대화 처리부(1100)가 알맞게 처리하기 어려운 입력과 알맞지 않은 출력의 쌍, 및 정정된 입력과 정정된 출력의 쌍 중 적어도 하나에 대한 정보를 포함한다. 따라서 정정 대화 데이터 베이스(1400)는 정상 대화 처리부(1100)의 취약점을 분석하고 정상 대화 처리부(1100)를 개선하기 위해 사용될 수 있다. 예를 들어, 정정 대화 데이터 베이스(1400)는 정상 대화 처리부(1100) 내의 여러 기계 학습 모델의 학습에 사용될 수 있다.
도 2는 본 개시의 실시예들에 따른 음성 대화 시스템(1000, 도 1 참조)에 포함되는 정상 대화 처리부(1100, 도 1 참조)의 동작을 설명하기 위한 흐름도이다.
도 1과 도 2를 참조하면, 음성 입출력 관리부(1110)는 이전 출력 음성이 출력 중인지 판단(S2010)하고 이전 입력 음성을 처리 중인지 판단할 수 있다(S2020). 이전 출력 음성이 출력 중이거나 이전 입력 음성을 처리 중인 경우 입력 음성을 수신하지 않을 수 있다. 이전 출력 음성이 출력 중이 아니고, 이전 입력 음성 처리 중이 아닌 경우, 음성 입출력 관리부(1110)는 입력 장치(1500)로부터 입력 음성을 수신(S2030)할 수 있다.
다음으로, 호출 명령어 검출부(1122)는 입력 음성이 호출 명령어를 포함하는지 여부를 판단할 수 있다(S2040). 입력 음성이 호출 명령어를 포함하지 않는 경우 입력 음성이 더 이상 처리되지 않을 수 있다. 입력 음성이 호출 명령어를 포함하는 경우 음성 인식부(1120)가 입력 음성을 입력 텍스트로 변환할 수 있다(S2050).
다음으로, 자연어 이해부(1130)는 입력 텍스트를 입력 의미로 변환할 수 있다(S2060). 다음으로, 대화 관리부(1140)는 입력 의미로부터 출력 의미를 생성할 수 있다(S2070). 다음으로, 자연어 생성부(1150)는 출력 의미로부터 출력 텍스트를 생성할 수 있다(S2080) 다음으로, 음성 합성부(1160)는 출력 텍스트를 출력 음성으로 변환 할 수 있다(S2090) 다음으로, 음성 입출력 관리부(1110)는 출력 장치(1600)로 출력 음성을 출력(S2100)할 수 있다. 다음으로, 정상 대화 처리부(1100)는 대화 데이터를 대화 데이터 베이스(1300)에 저장할 수 있다(S2110)
도 3은 본 개시의 실시예들에 따른 음성 대화 시스템(1000, 도 1 참조)에 포함되는 정상 대화 처리부(1100, 도 1 참조)의 동작을 설명하기 위한 흐름도이다. 이하에서는 도 2에 도시된 동작과 도 3에 도시된 동작 사이의 차이점이 설명된다.
도 1 및 도 3을 참조하면, 입력 음성이 대화를 정정하려는 의도를 포함하고 출력 장치(1600)가 이전 출력 음성이 출력 중인 경우 출력 음성의 출력을 중단하도록 정상 대화 처리부(1100)가 대화 처리 제어부(1230)에 의해 제어될 수 있다. 또한, 입력 음성이 대화를 정정하려는 의도를 포함하고 정상 대화 처리부(1100)가 이전 입력 음성을 처리 중인 경우, 정상 대화 처리부(1100)는 이전 입력 음성의 처리를 중단하도록 대화 처리 제어부(1230)에 의해 제어될 수 있다(S2025).
입력 음성이 대화를 정정하려는 의도를 포함하는 경우 입력 음성이 호출 명령어를 포함하지 않더라도 정상 대화 처리부(1100)가 입력 음성을 처리하도록 정상 대화 처리부(1100)는 대화 처리 제어부(1230)에 의해 제어될 수 있다. 따라서 입력 음성이 대화를 정정하려는 의도를 포함하는 경우 입력 음성이 호출 명령어를 포함하지 않더라도 입력 음성을 입력 텍스트로 변환하는 단계(S2050)가 수행될 수 있다.
도 4는 본 개시의 실시예들에 따른 음성 대화 시스템(1000, 도 1 참조)에 포함되는 정상 대화 처리부(1100, 도 1 참조)의 동작을 설명하기 위한 흐름도이다. 이하에서는 도 3에 도시된 동작과 도 4에 도시된 동작 사이의 차이점이 설명된다.
도 1 및 도 4를 참조하면, 입력 음성이 대화를 정정하려는 의도를 포함하고 입력 음성의 입력과 이전 입력 음성의 입력 사이에 출력 장치(1600)가 이전 출력 음성을 적어도 부분적으로 출력했던 경우 이전 출력 음성과 출력 음성이 동일하지 않도록 정상 대화 처리부(1100)는 대화 처리 제어부(1230)에 의해 제어될 수 있다(S2105).
정정 대화 데이터를 정정 대화 데이터 베이스(1400)에 저장하는 단계(S2120)가 더 수행될 수 있다. 입력 음성이 대화를 정정하려는 의도를 포함하고, 입력 음성의 입력과 이전 입력 음성의 입력 사이에 출력 장치(1600)가 이전 출력 음성을 적어도 부분적으로 출력했었고, 출력 음성을 적어도 부분적으로 출력한 후 입력된 새로운 입력 음성의 화자가 입력 음성의 화자와 동일하고, 새로운 입력 음성이 출력 음성을 정정할 의사를 포함하지 않는 경우, 정상 대화 처리부(1100)는 정정 대화 데이터를 정정 대화 데이터 베이스(1400)에 저장하도록 대화 처리 제어부(1230)에 의해 제어될 수 있다(S2120).
도 5는 본 개시의 실시예들에 따른 음성 대화 방법(3000)을 나타낸 흐름도이다.
도 1 및 도 5를 참조하면, 먼저 입력 장치(1500)는 제1 입력 음성을 수신할 수 있다(S3010). 정상 대화 처리부(1100)는 제1 입력 음성을 처리하기 시작할 수 있다(S3015). 정상 대화 처리부(1100)가 제1 입력 음성을 처리하는 중에 입력 장치(1500)는 제2 입력 음성을 수신할 수 있다(S3020).
이후, 화자 비교부(1210)는 제1 입력 음성의 화자와 제2 입력 음성의 화자가 동일한지 여부를 판단할 수 있다(S3030). 제1 입력 음성의 화자와 제2 입력 음성의 화자가 동일하지 않는 경우 정상 대화 처리부(1100)는 제2 입력 음성의 처리를 개시하지 않으며 정상 대화 처리부(1100)는 제1 입력 음성의 처리를 완료하고(S3065) 출력 장치(1600)는 제1 출력 음성을 출력할 수 있다(S3075). 제1 입력 음성의 화자와 제2 입력 음성의 화자가 동일한 경우, 정정 의사 검출부(1220)는 제2 입력 음성이 제1 입력 음성을 정정하려는 의사를 포함하는지 여부를 판단할 수 있다(S3040).
제2 입력 음성이 제1 입력 음성을 정정하려는 의사를 포함하지 않는 경우, 정상 대화 처리부(1100)는 제2 입력 음성의 처리를 개시하지 않으며 정상 대화 처리부(1100)는 제1 입력 음성의 처리를 완료하고(S3065) 출력 장치(1600)는 제1 출력 음성을 출력할 수 있다. 제2 입력 음성이 제1 입력 음성을 정정하려는 의사를 포함하는 경우, 대화 처리 제어부(1230)는 정상 대화 처리부(1100)가 제1 입력 음성을 처리하는 것을 중단하도록 정상 대화 처리부(1100)를 제어할 수 있다.
제1 입력 음성의 처리가 중단(S3050)된 후, 대화 처리 제어부(1230)는 제2 입력 음성이 호출 명령어를 포함하지 않더라도 정상 대화 처리부(1100)가 제2 입력 음성을 처리하도록 정상 대화 처리부(1100)를 제어할 수 있다(S3060). 정상 대화 처리부(1100)는 제2 입력 음성을 처리한 결과인 제2 출력 음성을 생성할 수 있고, 출력 장치(1600)는 제2 출력 음성을 출력할 수 있다(S3070).
도 6은 본 개시의 실시예들에 따른 음성 대화 방법(3000A)을 나타낸 흐름도이다.
도 1 및 도 6을 참조하면, 입력 장치(1500)는 사용자로부터 제1 입력 음성을 수신할 수 있다(S3010). 다음으로, 정상 대화 처리부(1100)는 제1 입력 음성을 처리하여 제1 출력 음성을 생성할 수 있다. 다음으로, 출력 장치(1600)는 제1 출력 음성을 사용자에게 출력하기 시작할 수 있다(S3080). 출력 장치(1600)가 제1 출력 음성을 출력하는 중에, 입력 장치(1500)는 사용자로부터 제2 입력 음성을 수신할 수 있다(S3020).
화자 비교부(1210)는 제1 입력 음성의 화자와 제2 입력 음성의 화자가 동일한지 여부를 판단할 수 있다(S3030). 제1 입력 음성의 화자와 제2 입력 음성의 화자가 동일하지 않은 경우 출력 장치(1600)는 제1 출력 음성의 출력을 완료할 수 있다(S3105). 제1 입력 음성의 화자와 제2 입력 음성의 화자가 동일한 경우, 정정 의사 검출부(1220)는 제2 입력 음성이 제1 출력 음성을 정정하려는 의사를 포함하는지 여부를 판단할 수 있다(S3040).
제2 입력 음성이 제1 입력 음성을 정정하려는 의사를 포함하지 않는 경우, 출력 장치(1600)는 제1 출력 음성의 출력을 완료할 수 있다(S3105). 제2 입력 음성이 제1 입력 음성을 정정하려는 의사를 포함하는 경우, 대화 처리 제어부(1230)는 출력 장치(1600)가 제1 출력 음성을 출력하는 것을 중단하도록 정상 대화 처리부(1100)를 제어할 수 있다(S3100).
출력 장치(1600)가 제1 출력 음성을 출력하는 것을 중단시킨(S3100) 후, 대화 처리 제어부(1230)는 정상 대화 처리부(1100)가 제2 입력 음성이 호출 명령어를 포함하지 않더라도 제2 입력 음성을 처리하도록 정상 대화 처리부(1100)를 제어할 수 있다(S3060). 대화 처리 제어부(1230)는 제2 입력 음성의 처리의 결과인 제2 출력 음성이 제1 출력 음성과 다르도록 정상 대화 처리부(1100)를 제어할 수 있다. 출력 장치(1600)는 제2 출력 음성을 사용자에게 출력할 수 있다(S3110).
제2 출력 음성을 출력 중 또는 제2 출력 음성이 출력된 후에 입력 장치(1500)는 제3 입력 음성을 수신할 수 있다(S3120). 다음으로, 화자 비교부(1210)는 제2 입력 음성의 화자와 제3 입력 음성의 화자가 동일한지 여부를 판단할 수 있다(S3130). 제2 입력 음성의 화자와 제3 입력 음성의 화자가 동일하지 않은 경우 대화 강제 처리부(1200)는 더 이상 제3 입력 음성을 처리하지 않을 수 있다. 제2 입력 음성의 화자와 제3 입력 음성의 화자가 동일한 경우, 정정 의사 검출부(1220)는 제3 입력 음성이 제2 출력 음성을 정정하려는 의사를 포함하는지 여부를 판단할 수 있다(S3140).
제3 입력 음성이 제2 출력 음성을 정정하려는 의사를 포함하지 않는 경우, 대화 처리 제어부(1230)는 정상 대화 처리부(1100)가 정정 대화 데이터를 대화 데이터베이스에 저장하도록 정상 대화 처리부(1100)를 제어할 수 있다(S3150). 이 때 정정 데이터는 제1 입력 음성와 제1 출력 음성의 쌍, 및 제2 입력 음성과 제2 출력 음성의 쌍 중 적어도 하나와 관련된 데이터일 수 있다.
제3 입력 음성이 제2 출력 음성을 정정할 의사를 포함하는 경우, 정정 의사를 포함하지 않는 새로운 입력 음성이 입력될 때까지 입력 음성을 처리하여 이전 출력 음성과 다른 출력 음성을 출력하고 새로운 입력 음성을 수신하는 단계가 반복될 수 있다.
도 7은 본 개시의 실시예들에 따른 음성 대화 시스템(4000)을 나타낸 블록도이다.
도 7을 참조하면, 음성 대화 시스템(4000)은 연산 장치(4200) 및 저장 장치(4300)를 포함할 수 있다. 일부 실시예에서, 음성 대화 시스템(4000)은 마이크(4100) 및 스피커(4400)를 더 포함할 수 있다. 음성 대화 시스템(4000)은 예를 들어, 컴퓨터, 노트북, 서버, 자동차, 스마트 스피커, 스마트 시계, 키오스크, 로봇, 또는 이들의 조합일 수 있다.
일부 실시예에서, 음성 대화 시스템(4000)은 서비스 서버와 클라이언트로 구성될 수 있다. 클라이언트는 마이크(4100) 및 스피커(4400)를 포함할 수 있다. 서비스 서버는 연산 장치(4200) 및 저장 장치(4300)를 포함할 수 있다. 다른 실시예에서, 클라이언트는 연산 장치(4200)의 일부 및 저장 장치(4300)의 일부를 더 포함할 수 있다.
마이크(4100) 및 스피커(4400)는 유무선 통신을 통해 연산 장치(4200)에 연결될 수 있다. 연산 장치(4200)와 저장 장치(4300)는 유무선 통신을 통해 서로 연결될 수 있다.
연산 장치(4200)는 산술 연산 및 논리 연산을 수행할 수 있다. 연산 장치(4200)는 예를 들어 중앙 처리 장치(Central Processing Unit, CPU), 그래픽 처리 장치(Graphics Processing Unit, GPU), 어플리케이션 프로세서(Application Processor, AP), 또는 이들의 조합을 포함할 수 있다. 연산 장치(4200)는 예를 들어 도 1에 도시된 정상 대화 처리부(1100) 및 대화 강제 처리부(1200)를 구현할 수 있다. 일부 실시예에서, 연산 장치(4200)는 도 1에 도시된 입력 장치(1500) 및 출력 장치(1600)를 더 구현할 수 있다. 이 경우, 연산 장치(4200)는 마이크(4100) 및 스피커(4400)와 유선 또는 무선으로 통신할 수 있다.
저장 장치(4300)는 하드 디스크 드라이브(HDD), 플래시 메모리, SSD(Solid State Disk), CD-ROM(Compact Disc-Read Only Memory), 또는 이들의 조합을 포함할 수 있다. 저장 장치(4300)는 대화 데이터 베이스(1300) 및 정정 대화 데이터 베이스(1400)를 구현할 수 있다.
본 개시에 개시된 실시예들은 본 개시의 기술적 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 개시의 기술 사상의 범위가 한정되는 것은 아니다. 본 개시의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술적 사상은 본 개시의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
1000, 4000: 음성 대화 시스템, 1100: 정상 대화 처리부, 1110: 음성 입출력 관리부, 1120: 음성 인식부, 1130: 자연어 이해부, 1140: 대화 관리부, 1150: 자연어 생성부, 1160: 음성 합성부, 1200: 대화 강제 처리부, 1210: 화자 비교부, 1220: 정정 의사 검출부, 1230: 대화 처리 제어부, 1300: 대화 데이터 베이스, 1400: 정정 대화 데이터 베이스, 1500: 입력 장치, 1600: 출력 장치, 3000, 3000A: 음성 대화 방법, 4100: 마이크, 4400: 스피커, 4200: 연산 장치, 4300: 저장 장치

Claims (10)

  1. 입력 음성을 입력 받도록 구성된 입력 장치;
    상기 입력 음성이 호출 명령어를 포함하는 경우 상기 입력 음성을 처리하여 출력 음성을 생성하도록 구성된 정상 대화 처리부;
    상기 출력 음성을 출력하도록 구성된 출력 장치; 및
    상기 입력 음성이 대화를 정정하려는 의사를 포함하는지 여부를 검출하도록 구성된 정정 의사 검출부, 및 상기 입력 음성이 대화를 정정하려는 의도를 포함하는 경우 상기 입력 음성이 호출 명령어를 포함하지 않더라도 상기 정상 대화 처리부가 상기 입력 음성을 처리하도록 상기 정상 대화 처리부를 제어하도록 구성된 대화 처리 제어부를 포함하는 대화 강제 처리부; 및
    정정 대화 데이터 베이스를 포함하고,
    상기 정상 대화 처리부는 상기 입력 음성과 상기 출력 음성을 제어하도록 구성된 음성 입출력 관리부, 상기 입력 음성을 입력 텍스트로 변환하도록 구성된 음성 인식부, 상기 입력 텍스트로부터 입력 의미를 추출하도록 구성된 자연어 이해부, 상기 입력 의미로부터 출력 의미를 생성하도록 구성된 대화 관리부, 상기 출력 의미로부터 출력 텍스트를 생성하도록 구성된 자연어 생성부, 및 상기 출력 텍스트로부터 출력 음성을 생성하도록 구성된 음성 합성부를 포함하고,
    상기 대화 처리 제어부는 입력 음성이 대화를 정정하려는 의도를 포함하고, 상기 입력 음성의 입력과 이전 입력 음성의 입력 사이에 상기 출력 장치가 이전 출력 음성을 적어도 부분적으로 출력했었고, 상기 출력 음성을 적어도 부분적으로 출력한 후 입력된 새로운 입력 음성의 화자가 상기 입력 음성의 화자와 동일하고, 상기 새로운 입력 음성이 상기 출력 음성을 정정할 의사를 포함하지 않는 경우, 상기 정상 대화 처리부가 정정 대화 데이터를 상기 정정 대화 데이터 베이스에 저장하도록 상기 정상 대화 처리부를 제어하도록 더 구성되고,
    상기 정정 대화 데이터는 상기 입력 음성과 상기 출력 음성의 쌍, 상기 이전 입력 음성과 상기 이전 출력 음성의 쌍, 상기 입력 텍스트와 상기 출력 텍스트의 쌍, 이전 입력 텍스트와 이전 출력 텍스트의 쌍, 상기 입력 의미와 상기 출력 의미의 쌍, 및 이전 입력 의미와 이전 출력 의미의 쌍 중 적어도 하나를 포함하는 것을 특징으로 하는 음성 대화 시스템.
  2. 제1 항에 있어서,
    상기 대화 강제 처리부는 상기 입력 음성을 이전 입력 음성과 비교함으로써 상기 입력 음성의 화자와 상기 이전 입력 음성의 화자가 동일인인지 여부를 판단하는 화자 비교부를 더 포함하고,
    상기 정정 의사 검출부는 상기 입력 음성의 화자와 상기 이전 입력 음성의 화자가 동일인일 경우 상기 입력 음성이 대화를 정정하려는 의사를 포함하는지 여부를 검출하도록 구성되는 것을 특징으로 하는 음성 대화 시스템.
  3. 제1 항에 있어서,
    상기 대화 처리 제어부는 상기 입력 음성이 대화를 정정하려는 의도를 포함하고 상기 정상 대화 처리부가 이전 입력 음성을 처리 중인 경우, 상기 정상 대화 처리부가 상기 이전 입력 음성을 처리하는 것을 중단한 후 상기 입력 음성을 처리하도록 상기 정상 대화 처리부를 제어하도록 더 구성되는 것을 특징으로 하는 음성 대화 시스템.
  4. 제1 항에 있어서,
    상기 대화 처리 제어부는 상기 입력 음성이 대화를 정정하려는 의도를 포함하고 상기 출력 장치가 이전 입력 음성의 처리의 결과인 이전 출력 음성을 출력 중인 경우, 상기 출력 장치가 상기 이전 출력 음성을 출력하는 것을 중단한 후 상기 정상 대화 처리부가 상기 입력 음성을 처리하도록 상기 정상 대화 처리부를 제어하도록 더 구성되는 것을 특징으로 하는 음성 대화 시스템.
  5. 제1 항에 있어서,
    상기 정상 대화 처리부는 이전 입력 음성을 처리하는 중에 상기 입력 음성을 상기 입력 장치로부터 수신하지 않도록 더 구성되는 반면,
    상기 대화 강제 처리부는 상기 정상 대화 처리부가 상기 이전 입력 음성을 처리 중인지 여부에 무관하게 상기 입력 음성을 상기 입력 장치로부터 수신하도록 더 구성되는 것을 특징으로 하는 음성 대화 시스템.
  6. 제1 항에 있어서,
    상기 정상 대화 처리부는 상기 출력 장치가 이전 입력 음성의 결과인 이전 출력 음성을 출력하는 중에 상기 입력 음성을 상기 입력 장치로부터 수신하지 않도록 더 구성되는 반면,
    상기 대화 강제 처리부는 상기 출력 장치가 상기 이전 입력 음성의 결과인 이전 출력 음성을 출력 중인지 여부에 무관하게 상기 입력 음성을 상기 입력 장치로부터 수신하도록 더 구성되는 것을 특징으로 하는 음성 대화 시스템.
  7. 제1 항에 있어서,
    상기 대화 처리 제어부는 상기 입력 음성이 대화를 정정하려는 의도를 포함하고 상기 입력 음성의 입력과 이전 입력 음성의 입력 사이에 상기 출력 장치가 이전 출력 음성을 적어도 부분적으로 출력했던 경우 상기 이전 출력 음성과 상기 출력 음성이 동일하지 않도록 상기 정상 대화 처리부를 제어하도록 더 구성되는 것을 특징으로 하는 음성 대화 시스템.
  8. 삭제
  9. 삭제
  10. 삭제
KR1020200153087A 2020-11-16 2020-11-16 사용자 중심의 음성 대화 시스템 KR102458830B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200153087A KR102458830B1 (ko) 2020-11-16 2020-11-16 사용자 중심의 음성 대화 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200153087A KR102458830B1 (ko) 2020-11-16 2020-11-16 사용자 중심의 음성 대화 시스템

Publications (2)

Publication Number Publication Date
KR20220066735A KR20220066735A (ko) 2022-05-24
KR102458830B1 true KR102458830B1 (ko) 2022-10-26

Family

ID=81805701

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200153087A KR102458830B1 (ko) 2020-11-16 2020-11-16 사용자 중심의 음성 대화 시스템

Country Status (1)

Country Link
KR (1) KR102458830B1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018217194A1 (en) * 2017-05-24 2018-11-29 Rovi Guides, Inc. Methods and systems for correcting, based on speech, input generated using automatic speech recognition
KR102429498B1 (ko) * 2017-11-01 2022-08-05 현대자동차주식회사 차량의 음성인식 장치 및 방법

Also Published As

Publication number Publication date
KR20220066735A (ko) 2022-05-24

Similar Documents

Publication Publication Date Title
US10027662B1 (en) Dynamic user authentication
Li et al. Spoken language recognition: from fundamentals to practice
KR101229034B1 (ko) 디바이스 인터페이싱을 위한 다중모드 조음 통합
US20180137109A1 (en) Methodology for automatic multilingual speech recognition
JP2019514045A (ja) 話者照合方法及びシステム
JPH09500223A (ja) 多言語音声認識システム
JP2001215993A (ja) 対話処理装置および対話処理方法、並びに記録媒体
CN111243599A (zh) 语音识别模型构建方法、装置、介质及电子设备
US20220180864A1 (en) Dialogue system, dialogue processing method, translating apparatus, and method of translation
KR20210034276A (ko) 대화 시스템, 대화 처리 방법 및 전자 장치
Kumar et al. Machine learning based speech emotions recognition system
Bachate et al. Automatic speech recognition systems for regional languages in India
Shah et al. Controlling email system using audio with speech recognition and text to speech
JP2001188779A (ja) 情報処理装置および方法、並びに記録媒体
Nedjah et al. Automatic speech recognition of Portuguese phonemes using neural networks ensemble
US20040006469A1 (en) Apparatus and method for updating lexicon
JP6712754B2 (ja) 談話機能推定装置及びそのためのコンピュータプログラム
JP2000172294A (ja) 音声認識方法、その装置及びプログラム記録媒体
KR102458830B1 (ko) 사용자 중심의 음성 대화 시스템
US11887583B1 (en) Updating models with trained model update objects
Kurian et al. Connected digit speech recognition system for Malayalam language
Tsunematsu et al. Neural Speech Completion.
JPH11143493A (ja) 音声言語理解装置及び音声言語理解システム
Gorniak et al. Augmenting user interfaces with adaptive speech commands
Abudubiyaz et al. The acoustical and language modeling issues on Uyghur speech recognition

Legal Events

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