KR102170155B1 - 발화 정지 시점을 고려한 발화 제어 방법 및 이를 위한 장치 - Google Patents

발화 정지 시점을 고려한 발화 제어 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR102170155B1
KR102170155B1 KR1020170172908A KR20170172908A KR102170155B1 KR 102170155 B1 KR102170155 B1 KR 102170155B1 KR 1020170172908 A KR1020170172908 A KR 1020170172908A KR 20170172908 A KR20170172908 A KR 20170172908A KR 102170155 B1 KR102170155 B1 KR 102170155B1
Authority
KR
South Korea
Prior art keywords
speech
words
sentence
word
time
Prior art date
Application number
KR1020170172908A
Other languages
English (en)
Other versions
KR20190071953A (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 KR1020170172908A priority Critical patent/KR102170155B1/ko
Publication of KR20190071953A publication Critical patent/KR20190071953A/ko
Application granted granted Critical
Publication of KR102170155B1 publication Critical patent/KR102170155B1/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
    • 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
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Machine Translation (AREA)
  • Manipulator (AREA)

Abstract

발화 정지 시점을 고려한 발화 제어 방법 및 이를 위한 장치가 개시된다. 본 발명의 일실시예에 따른 발화 방법은 발화 문장에 상응하는 음성 데이터의 재생 시간을 기준으로 발화 문장을 구성하는 복수개의 어절들이 각각 음성 데이터 중 어느 구간에 위치하는지 분석하고, 발화 시작, 일시 정지, 발화 중단 및 발화 재개 중 적어도 하나의 제어 명령을 기반으로 음성 데이터의 출력을 제어하고, 일시 정지가 입력된 경우, 음성 데이터의 정지 시점과 복수개의 어절들 각각에 대한 구간 정보를 고려하여 복수개의 어절들 중 어느 하나의 시작 어절을 결정하고, 발화 재개가 입력된 경우, 시작 어절부터 음성 데이터를 출력한다.

Description

발화 정지 시점을 고려한 발화 제어 방법 및 이를 위한 장치 {METHOD FOR CONTROLLING UTTERANCE CONSIDERING STOP POINT OF UTTERANCE AND APPARATUS USING THE SAME}
본 발명은 로봇이나 기계가 사람에게 음성으로 발화하기 위한 기술에 관한 것으로, 특히 로봇과 사람이 음성 대화를 할 경우에 상황에 따라서 로봇이 말을 잠시 멈추었다가 다시 이어나갈 수 있도록 하여 상호간에 보다 자연스러운 상호작용이 가능하도록 하는 발화 정지 시점을 고려한 발화 제어 방법 및 이를 위한 장치 기술에 관한 것이다.
로봇을 통해 음성으로 발화하는 방법은, 일반적으로 도 1에 도시된 것과 같이 발화 문장(110)을 변환한 음성 데이터(130)를 스피커(150)로 출력하는 과정으로 이루어진다. 예를 들어, 로봇을 통해 발화할 발화 문장(110)이 결정되면, 발화 문장(110)을 문자열 형식으로 음성 합성 엔진(120)에 입력함으로써 발화 문장(110)에 해당하는 음성 데이터(130)를 획득할 수 있다. 이렇게 획득한 음성 데이터(130)는 사운드 재생 프로그램(140)과 스피커(150)를 통해 실제 소리로 재생될 수 있다.
따라서, 로봇에는 발화 문장(110)을 음성 데이터(130)로 변환하는 음성 합성 엔진(130)이 내장되어 있을 수 있고, 또는 온라인 서비스를 통해 변환을 수행할 수도 있다.
그러나, 도 1에 도시된 사운드 재생 프로그램(140)은 입력된 음성 데이터를 재생하는 기능뿐이므로 도 1과 같은 방식에서는 로봇이 현재 발화 문장(110) 중 어느 지점을 말하고 있는지 알 수 없다. 만약, 로봇이 다양한 상황 인지 기능을 보유하고 있고, 로봇과 대화하던 상대방이 로봇의 말을 듣지 않고 다른 곳을 바라보는 상황이 발생하여 로봇이 문장을 발화하는 중간에 멈추었다고 가정할 수 있다. 이 때, 사용자가 다시 로봇에 집중하게 되면 로봇은 하던 말을 이어가야 하지만, 도 1과 같은 방식에서는 로봇의 말이 발화 문장의 어느 시점에서 멈췄는지 알 수 없기 때문에 발화하던 문장을 처음부터 다시 발화한다. 즉, 발화하던 문장의 음성 데이터를 반복 재생한다.
이와 같이, 일시적으로 중단한 발화 문장을 처음부터 다시 재생하는 상황은 로봇이 단순 반복하는 기계처럼 보이게 만들어 상호작용의 몰입도를 저하시킬 뿐 아니라 했던 말을 다시 전체적으로 반복하므로 상호작용의 효율성도 감소시킨다.
한국 공개 특허 제10-2016-0086534호, 2016년 12월 28일 공개(명칭: 대화 상황 및 주제에 따른 대화 순서 관리 장치 및 방법)
본 발명의 목적은 로봇이 발화를 중단한 뒤 다시 말할 때 발화를 멈춘 지점을 기준으로 말을 이어갈 수 있도록 하는 방법을 제공하는 것이다.
또한, 본 발명의 목적은 로봇과 사람 간에 보다 자연스럽고 효율적인 음성 기반 소통을 가능하게 하는 것이다.
또한, 본 발명의 목적은 음성기반 챗봇, 스마트 스피커, 서비스 로봇 등 대화를 기반으로 작동하는 다양한 서비스 기기에 효율적인 발화 제어 기술을 적용하여 사용자 경험을 개선하는데 기여하는 것이다.
상기한 목적을 달성하기 위한 본 발명에 따른 발화 제어 방법은 발화 문장에 상응하는 음성 데이터의 재생 시간을 기준으로 상기 발화 문장을 구성하는 복수개의 어절들이 각각 상기 음성 데이터 중 어느 구간에 위치하는지 분석하는 단계; 발화 시작, 일시 정지, 발화 중단 및 발화 재개 중 적어도 하나의 제어 명령을 기반으로 상기 음성 데이터의 출력을 제어하는 단계; 상기 일시 정지가 입력된 경우, 상기 음성 데이터의 정지 시점과 상기 복수개의 어절들 각각에 대한 구간 정보를 고려하여 상기 복수개의 어절들 중 어느 하나의 시작 어절을 결정하는 단계; 및 상기 발화 재개가 입력된 경우, 상기 시작 어절부터 상기 음성 데이터를 출력하는 단계를 포함한다.
이 때, 분석하는 단계는 상기 음성 데이터의 재생 시작 시간부터 재생 종료 시간에 상응하는 재생 구간 상에 상기 복수개의 어절들을 시간 순서대로 정렬하고, 상기 정렬된 복수개의 어절들 각각에 대한 시작 시간과 종료 시간을 포함하는 음성 문장 정렬 정보를 생성
이 때, 결정하는 단계는 상기 음성 문장 정렬 정보를 참조하여 상기 정지 시점이 상기 복수개의 어절들 중 어느 하나의 어절에 대한 시작 시간과 종료 시간의 사이에 위치하는 경우, 상기 어느 하나의 어절을 상기 시작 어절로 결정할 수 있다.
이 때, 결정하는 단계는 상기 음성 문자 정렬 정보를 참조하여 상기 정지 시점이 상기 복수개의 어절들 중 순차적인 어느 두 개의 어절들 사이에 위치하는 경우, 상기 어느 두 개의 어절들 중 상기 정지 시점의 이후에 위치하는 어절을 상기 시작 어절로 결정할 수 있다.
이 때, 결정하는 단계는 상기 발화 문장이 적어도 두 개의 문장들로 구성된 경우, 상기 적어도 두 개의 문장들 중 상기 정지 시점을 포함하는 어느 하나의 문장을 구성하는 첫 번째 어절을 상기 시작 어절로 결정할 수 있다.
이 때, 발화 제어 방법은 상기 발화 재개가 입력된 경우, 상기 시작 어절의 이전에 부가 어절을 추가하는 단계를 더 포함할 수 있다.
이 때, 추가하는 단계는 복수개의 부가 어절들과 상기 복수개의 부가 어절들 각각에 매칭된 음성 데이터를 포함하는 부가 어절 사전을 기반으로 상기 부가 어절을 추가할 수 있다.
이 때, 발화 제어 방법은 상기 발화 중단이 입력된 경우에 상기 발화 문장과 상기 음성 데이터를 삭제하고, 새로운 발화 문장이 입력될 때까지 대기하는 단계를 더 포함할 수 있다.
이 때, 제어하는 단계는 상기 음성 데이터가 출력되는 동안에 상기 재생 시간을 지속적으로 모니터링 할 수 있다.
또한, 본 발명의 일실시예에 따른 발화 제어 장치는, 발화 문장에 상응하는 음성 데이터의 재생 시간을 기준으로 상기 발화 문장을 구성하는 복수개의 어절들이 각각 상기 음성 데이터 중 어느 구간에 위치하는지 분석하고, 발화 시작, 일시 정지, 발화 중단 및 발화 재개 중 적어도 하나의 제어 명령을 기반으로 상기 음성 데이터의 출력을 제어하고, 상기 일시 정지가 입력된 경우에는 상기 음성 데이터의 정지 시점과 상기 복수개의 어절들 각각에 대한 구간 정보를 고려하여 상기 복수개의 어절들 중 어느 하나의 시작 어절을 결정하고, 상기 발화 재개가 입력된 경우, 상기 시작 어절부터 상기 음성 데이터를 출력하는 프로세서; 및 상기 발화 문장, 상기 음성 데이터 및 상기 복수개의 어절들 각각에 대한 구간 정보 중 적어도 하나를 저장하는 메모리를 포함한다.
본 발명에 따르면, 로봇이 발화를 중단한 뒤 다시 말할 때 발화를 멈춘 지점을 기준으로 말을 이어갈 수 있도록 하는 방법을 제공할 수 있다.
또한, 본 발명은 로봇과 사람 간에 보다 자연스럽고 효율적인 음성 기반 소통을 가능하게 할 수 있다.
또한, 본 발명은 음성기반 챗봇, 스마트 스피커, 서비스 로봇 등 대화를 기반으로 작동하는 다양한 서비스 기기에 효율적인 발화 제어 기술을 적용하여 사용자 경험을 개선하는데 기여할 수 있다.
도 1은 일반적인 발화 시스템의 일 예를 나타낸 도면이다.
도 2는 본 발명의 일실시예에 따른 발화 제어 시스템을 나타낸 도면이다.
도 3은 본 발명의 일실시예에 따른 발화 제어 방법을 나타낸 동작흐름도이다.
도 4는 본 발명에 따른 발화 문장과 음성 데이터를 정렬하는 과정의 일 예를 나타낸 도면이다.
도 5는 본 발명에 따른 음성 문장 정렬 정보의 일 예를 나타낸 도면이다.
도 6은 본 발명에 따른 발화 상태 천이 구조의 일 예를 나타낸 도면이다.
도 7는 본 발명의 일실시예에 따른 발화 제어 장치를 나타낸 블록도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 2는 본 발명의 일실시예에 따른 발화 제어 시스템을 나타낸 도면이다.
도 2를 참조하면, 본 발명의 일실시예에 따른 발화 제어 시스템은 발화 제어 장치(200), 발화 문장(210), 음성 합성 엔진(220), 음성 데이터(230), 사운드 재생 프로그램(240) 및 스피커(250)를 포함한다.
발화 제어 장치(200)는 도 2에 도시된 것과 같이 발화 문장(210)과 음성 데이터(230)를 입력으로 받고, 사운드 재생 프로그램(240)과 스피커(250)를 통해 음성 데이터(230)를 재생할 수 있다. 이 때, 본 발명의 일실시예에 따라서, 발화 제어 장치(200)는 발화 문장(210) 중 어느 지점까지 재생되었는지에 관한 상태를 관리할 수 있다.
발화 제어 장치(100)는 발화 문장에 상응하는 음성 데이터의 재생 시간을 기준으로 발화 문장을 구성하는 복수개의 어절들이 각각 음성 데이터 중 어느 구간에 위치하는지 분석한다.
이 때, 음성 데이터의 재생 시작 시간부터 재생 종료 시간에 상응하는 재생 구간 상에 복수개의 어절들을 시간 순서대로 정렬하고, 정렬된 복수개의 어절들 각각에 대한 시작 시간과 종료 시간을 포함하는 음성 문장 정렬 정보를 생성할 수 있다.
또한, 발화 제어 장치(100)는 발화 시작, 일시 정지, 발화 중단 및 발화 재개 중 적어도 하나의 제어 명령을 기반으로 음성 데이터의 출력을 제어한다.
이 때, 음성 데이터가 출력되는 동안에 재생 시간을 지속적으로 모니터링 할 수 있다.
또한, 발화 제어 장치(100)는 일시 정지가 입력된 경우, 음성 데이터의 정지 시점과 복수개의 어절들 각각에 대한 구간 정보를 고려하여 복수개의 어절들 중 어느 하나의 시작 어절을 결정한다.
이 때, 음성 문장 정렬 정보를 참조하여 정지 시점이 복수개의 어절들 중 어느 하나의 어절에 대한 시작 시간과 종료 시간의 사이에 위치하는 경우, 어느 하나의 어절을 시작 어절로 결정할 수 있다.
이 때, 음성 문자 정렬 정보를 참조하여 정지 시점이 복수개의 어절들 중 순차적인 어느 두 개의 어절들 사이에 위치하는 경우, 어느 두 개의 어절들 중 정지 시점의 이후에 위치하는 어절을 시작 어절로 결정할 수 있다.
이 때, 발화 문장이 적어도 두 개의 문장들로 구성된 경우, 적어도 두 개의 문장들 중 정지 시점을 포함하는 어느 하나의 문장을 구성하는 첫 번째 어절을 시작 어절로 결정할 수 있다.
또한, 발화 제어 장치(100)는 발화 재개가 입력된 경우, 시작 어절부터 음성 데이터를 출력한다.
또한, 발화 제어 장치(100)는 발화 재개가 입력된 경우, 시작 어절의 이전에 부가 어절을 추가한다.
이 때, 복수개의 부가 어절들과 복수개의 부가 어절들 각각에 매칭된 음성 데이터를 포함하는 부가 어절 사전을 기반으로 부가 어절을 추가할 수 있다.
또한, 발화 제어 장치(100)는 발화 중단이 입력된 경우에 발화 문장과 음성 데이터를 삭제하고, 새로운 발화 문장이 입력될 때까지 대기한다.
음성 합성 엔진(220)은 발화 문장(210)을 입력으로 받아 음성 데이터(230)를 생성한다.
사운드 재생 프로그램(240)은 음성 데이터(230)와 재생 시작 시간을 입력 받고, 재생 시작 시간으로 지정된 시점부터 스피커(250)를 통해 음성 데이터(230)를 재생한다. 예를 들어, 음성 데이터(230)의 길이가 총 3초 분량이고, 재생 시작 시간이 1초라고 가정하면, 음성 데이터(230)가 1초 경과한 시점부터 종료 시점까지 총 2초 분량의 음성 데이터(230)를 재생할 수 있다.
이와 같은 발화 제어 시스템은 사람과 음성 대화를 수행하기 위한 로봇 내부에 구비될 수 있으며, 음성 대화를 자연스럽게 수행하기 위해 로봇 내부에 구비되는 다른 모듈들과 연동되어 동작할 수도 있다. 예를 들어, 상황을 인지하기 위한 다양한 센서들과 연동되어 발화 제어를 위한 제어 명령이 발생하도록 동작할 수도 있다.
도 3은 본 발명의 일실시예에 따른 발화 제어 방법을 나타낸 동작흐름도이다.
도 3을 참조하면, 본 발명의 일실시예에 따른 발화 제어 방법은 발화 문장에 상응하는 음성 데이터의 재생 시간을 기준으로 발화 문장을 구성하는 복수개의 어절들이 각각 음성 데이터 중 어느 구간에 위치하는지 분석한다(S310).
즉, 발화 문장과 음성 데이터가 입력되면, 발화 문장을 구성하는 복수개의 어절들이 각각 음성 데이터의 어느 시간대에 존재하는지를 분석할 수 있다.
이 때, 음성 데이터의 재생 시작 시간부터 재생 종료 시간에 상응하는 재생 구간 상에 복수개의 어절들을 시간 순서대로 정렬하고, 정렬된 복수개의 어절들 각각에 대한 시작 시간과 종료 시간을 포함하는 음성 문장 정렬 정보를 생성할 수 있다.
예를 들어, 도 4에 도시된 발화 문장(410)인 '정말 이제라도 내게로 와 주었으면 해요'에 포함된 각각의 어절을 음성 데이터(420) 중 해당 어절이 발화되는 구간에 정렬하여 정렬 결과(430)처럼 나타낼 수 있다.
이 때, 도 4에 도시된 분석 모듈(400)은 발화 문장(410)과 음성 데이터(420)를 입력으로 받아 시간 동기화를 수행함으로써 정렬 결과(430)를 생성할 수 있다. 이러한 분석 모듈(400)은 본 발명의 일실시예에 따른 발화 제어 장치에 포함되거나 또는 발화 제어 장치의 프로세서의 일부 기능으로써 존재할 수도 있다.
이 때, 본 발명의 일실시예에 따른 발화 제어 방법에서는 음성 처리 기술 중 하나인 강제 정렬(Forced Alignment) 기법을 활용하여 복수개의 어절들을 정렬할 수 있다. 강제 정렬 기법은 동적정합(Dynamic Time Warping, DTW) 알고리즘 또는 은닉 마르코프 모델(Hidden Markov Model, HMM) 등의 다양한 계산 모델을 이용하여 구현될 수 있다.
또한, 도 5에 도시된 것과 같이 본 발명의 일실시예에 따른 음성 문장 정렬 정보(500)는 복수개의 어절들 각각에 대한 시작 시간과 종료 시간에 대한 정보를 포함할 수 있다. 즉, 음성 문장 정렬 정보는 발화 문장과 음성 데이터 간의 시간 동기화 분석을 통해 산출된 어절 단위의 시간표에 해당할 수 있다.
따라서, 도 5와 같은 음성 문장 정렬 정보(500)를 통해 각 어절에 해당하는 음성이 음성 데이터의 어느 시점부터 시작해서 어느 시점에 끝나는지 알 수 있다.
또한, 본 발명의 일실시예에 따른 발화 제어 방법은 발화 시작, 일시 정지, 발화 중단 및 발화 재개 중 적어도 하나의 제어 명령을 기반으로 음성 데이터의 출력을 제어한다(S320).
이 때, 발화 시작 명령이 입력되면, 사운드 재생 프로그램과 스피커를 통해 발화 문장에 해당하는 음성 데이터의 재생을 시작할 수 있다.
이 때, 음성 데이터가 재생되고 있는 도중에 일시 정지 명령이 입력되면, 사운드 재생 프로그램과 스피커에 의한 음성 데이터의 재생을 정지한 뒤 음성 데이터가 어느 시점에서 멈추었는지 기록할 수 있다.
이 때, 음성 데이터가 재생되고 있거나 또는 음성 데이터가 일시 정지된 상태에서 발화 중단 명령이 입력되면, 현재 재생 중이었던 발화 문장과 음성 데이터를 삭제하고 초기 상태로 회귀할 수 있다.
이 때, 음성 데이터가 일시 정지된 상태에서 발화 재개 명령이 입력되면, 일시 정지 명령이 입력되었을 때 기록된 정지 시점을 기준으로 재생을 시작할 시점을 결정하여 음성 데이터를 다시 재생할 수 있다.
이 때, 음성 데이터가 출력되는 동안에 재생 시간을 지속적으로 모니터링 할 수 있다. 예를 들어, 도 2에 도시된 것과 같은 사운드 재생 프로그램을 통해 음성 데이터를 재생하는 동안에 재생 시간을 지속적으로 모니터링하여 관리할 수 있다.
또한, 본 발명의 일실시예에 따른 발화 제어 방법은 일시 정지가 입력된 경우, 음성 데이터의 정지 시점과 복수개의 어절들 각각에 대한 구간 정보를 고려하여 복수개의 어절들 중 어느 하나의 시작 어절을 결정한다(S330).
이 때, 일시 정지에 상응하는 제어 명령이 입력되면 사운드 재생 프로그램과 스피커를 통한 음성 데이터의 재생을 정지시키고, 음성 데이터의 재생 시간 중 정지된 시점에 상응하는 정지 시점을 기록할 수 있다.
이 때, 복수개의 어절들 각각에 대한 구간 정보는 음성 문장 정렬 정보를 통해 획득할 수 있다. 즉, 음성 문장 정렬 정보에 포함된 발화 문장과 음성 데이터 간의 시간적 상관관계 정보를 기반으로 하여 어느 하나의 시작 어절을 결정할 수 있다.
이 때, 음성 문장 정렬 정보를 참조하여 정지 시점이 복수개의 어절들 중 어느 하나의 어절에 대한 시작 시간과 종료 시간의 사이에 위치하는 경우, 어느 하나의 어절을 시작 어절로 결정할 수 있다.
예를 들어, 음성 문장 정렬 정보가 도 5에 도시된 것에 상응하고, 정지 시점이 3500ms라고 가정한다면, '이제라도'에 해당하는 어절이 재생되는 동안에 일시 정지 명령이 입력된 것으로 판단할 수 있다. 이러한 경우에는 '이제라도'에 해당하는 어절을 시작 어절로 결정할 수 있다. 따라서, 발화 재개 명령이 입력되는 경우, 시작 어절의 시작 시점인 2550ms에서부터 음성 데이터가 재생될 수 있다.
이 때, 음성 문자 정렬 정보를 참조하여 정지 시점이 복수개의 어절들 중 순차적인 어느 두 개의 어절들 사이에 위치하는 경우, 어느 두 개의 어절들 중 정지 시점의 이후에 위치하는 어절을 시작 어절로 결정할 수 있다.
예를 들어, 음성 문장 정렬 정보가 도 5에 도시된 것에 상응하고, 정지 시점이 6780ms라고 가정한다면, '정말 이제라도 내게'까지 재생되고 '와'가 재생되기 직전에 일시 정지 명령이 입력된 것으로 판단할 수 있다. 이러한 경우에는 '와'에 해당하는 어절을 시작 어절로 결정할 수 있다. 따라서, 발화 재개 명령이 입력되는 경우, 시작 어절의 시작 지점인 7000ms에서부터 음성 데이터가 재생될 수 있다.
이 때, 발화 문장이 적어도 두 개의 문장들로 구성된 경우, 적어도 두 개의 문장들 중 정지 시점을 포함하는 어느 하나의 문장을 구성하는 첫 번째 어절을 시작 어절로 결정할 수 있다.
예를 들어, 발화 문장이 '정말 이제라도 내게 와 주었으면 해요', '나는 언제까지나 당신을 기다리고 있어요'라는 두 개의 문장들로 구성되어 있고, 두 번째 문장에 해당하는 '나는 언제까지나 당신을 기다리고 있어요'라는 문장의 음성 데이터가 재생되는 동안에 일시 정지 명령이 입력되었다고 가정할 수 있다. 이러한 경우에는 두 번째 문장을 구성하는 첫 번째 어절인 '나는'을 시작 어절로 결정할 수 있다. 이와 같이, 발화 문장이 여러 문장을 포함하는 긴 내용일 경우에는 문장 단위로 반복하는 것이 정보 전달 측면에 있어서 효과적일 수 있다.
이 때, 쉼표나 마침표를 기준으로 문장의 분리 지점을 결정하여 발화 문장을 구성하는 적어도 두 개의 문장들을 구분할 수 있다.
또한, 본 발명의 일실시예에 따른 발화 제어 방법은 발화 재개가 입력된 경우, 시작 어절부터 음성 데이터를 출력한다(S340).
이와 같이, 재생이 중단된 시점을 기준으로 결정된 시작 어절부터 음성 데이터의 재생을 시작함으로써 로봇과 사람 간에 보다 자연스럽고 효율적인 소통이 가능하도록 할 수 있다.
또한, 도 3에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 발화 제어 방법은 발화 재개가 입력된 경우, 시작 어절의 이전에 부가 어절을 추가할 수 있다.
예를 들어, '그러니까', '그래서', '음..'과 같이 중단된 발화를 자연스럽게 재개하기 위한 부가 어절을 시작 어절의 앞에 추가하여 음성 데이터를 재생할 수 있다. 만약, '정말 이제라도 내게 와 주었으면 해요'라는 발화 문장에 대해 '정말 이제라도 내게'까지 발화하다 일시 정지 명령이 입력되었다고 가정할 수 있다. 이후, 발화 재개 명령이 입력되면, '내게 와 주었으면 해요'를 재생하는 대신에 '그러니까 내게 와 주었으면 해요'라고 음성 데이터를 재생할 수 있다.
이 때, 복수개의 부가 어절들과 복수개의 부가 어절들 각각에 매칭된 음성 데이터를 포함하는 부가 어절 사전을 기반으로 부가 어절을 추가할 수 있다.
이 때, 부가 어절 사전에 저장되는 복수개의 부가 어절들은 본 발명의 일실시예에 따른 발화 제어 시스템의 개발자가 선정한 임의의 부가 어절에 해당할 수 있다.
이 때, 부가 어절은 해당하는 부가 어절의 음성 데이터와 매칭되어 저장됨으로써 부가 어절이 추가되기로 결정되는 경우, 추가되는 부가 어절의 음성 데이터가 사운드 재생 프로그램으로 전달될 수도 있다.
또한, 도 3에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 발화 제어 방법은 발화 중단이 입력된 경우에 발화 문장과 음성 데이터를 삭제하고, 새로운 발화 문장이 입력될 때까지 대기할 수 있다. 즉, 발화 중단 명령이 입력된 경우, 새로운 발화 문장과 음성 데이터에 의해 발화 시작 명령이 입력되기 전까지는 초기 상태에서 대기할 수 있다.
또한, 도 3에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 발화 제어 방법은 상술한 발화 제어 과정에서 발생하는 다양한 정보를 별도의 저장 모듈에 저장할 수 있다.
이와 같은 발화 제어 방법을 이용함으로써, 로봇이 발화를 중단한 뒤 다시 말할 때 발화를 멈춘 지점을 기준으로 말을 이어갈 수 있도록 하는 방법을 제공할 수 있다.
또한, 로봇과 사람 간에 보다 자연스럽고 효율적인 음성 기반 소통을 가능하게 할 수 있으며, 음성기반 챗봇, 스마트 스피커, 서비스 로봇 등 대화를 기반으로 작동하는 다양한 서비스 기기에 효율적인 발화 제어 기술을 적용하여 사용자 경험을 개선하는데 기여할 수도 있다.
도 6은 본 발명에 따른 발화 상태 천이 구조의 일 예를 나타낸 도면이다.
도 6을 참조하면, 본 발명의 일실시예에 따른 발화 상태는 음성 데이터가 재생되고 있는 재생 상태(610), 음성 데이터의 재생이 정지된 정지 상태(620) 및 음성 데이터의 입력을 대기하고 있는 대기 상태(630) 중 어느 하나에 상응할 수 있다.
재생 상태(610)는 입력된 음성 데이터에 대한 발화가 완료되는 경우 및 발화 중단에 상응하는 제어 명령이 입력되는 경우 중 어느 하나의 상황일 때에 대기 상태(630)로 천이될 수 있다. 이 때, 발화 중단 명령이 입력되는 경우에는 입력된 음성 데이터와 음성 데이터에 해당하는 발화 문장을 삭제함으로써 대기 상태(630)로 천이될 수 있다.
또한, 재생 상태(610)는 일시 정지에 상응하는 제어 명령이 입력되는 경우에 정지 상태(620)로 천이될 수 있다. 이 때, 정지 상태(620)는 입력된 재생 데이터가 삭제되지 않은 상태에서 잠시 재생만 정지된 상태에 해당할 수 있다.
정지 상태(620)는 발화 재개에 상응하는 제어 명령이 입력되는 경우에 재생 상태(610)로 천이될 수 있다. 또한, 정지 상태(630)는 발화 중단에 상응하는 제어 명령이 입력되는 경우에 대기 상태(630)로 천이될 수도 있다.
대기 상태(630)는 발화 문장과 음성 데이터가 입력되어 발화 시작에 상응하는 제어 명령이 입력되는 경우에 재생 상태(610)로 천이될 수 있다.
이 때, 대기 상태(630)에서는 현재 재생중인 음성 데이터가 없기 때문에 정지 상태(620)로 천이될 수는 없다.
도 7는 본 발명의 일실시예에 따른 발화 제어 장치를 나타낸 블록도이다.
도 7을 참조하면, 본 발명의 일실시예에 따른 발화 제어 장치는 통신부(710), 프로세서(720) 및 메모리(730)를 포함한다.
통신부(710)는 네트워크와 같은 통신망을 통해 발화 제어와 관련된 정보를 송수신하는 역할을 한다. 특히, 본 발명의 일실시예에 따른 통신부(710)는 발화 문장과 발화 문장에 상응하는 음성 데이터를 수신하고, 음성 데이터의 출력을 제어하기 위한 정보를 음성 데이터를 재생하기 위한 모듈로 제공할 수 있다.
프로세서(720)는 발화 문장에 상응하는 음성 데이터의 재생 시간을 기준으로 발화 문장을 구성하는 복수개의 어절들이 각각 음성 데이터 중 어느 구간에 위치하는지 분석한다.
즉, 발화 문장과 음성 데이터가 입력되면, 발화 문장을 구성하는 복수개의 어절들이 각각 음성 데이터의 어느 시간대에 존재하는지를 분석할 수 있다.
이 때, 음성 데이터의 재생 시작 시간부터 재생 종료 시간에 상응하는 재생 구간 상에 복수개의 어절들을 시간 순서대로 정렬하고, 정렬된 복수개의 어절들 각각에 대한 시작 시간과 종료 시간을 포함하는 음성 문장 정렬 정보를 생성할 수 있다.
예를 들어, 도 4에 도시된 발화 문장(410)인 '정말 이제라도 내게로 와 주었으면 해요'에 포함된 각각의 어절을 음성 데이터(420) 중 해당 어절이 발화되는 구간에 정렬하여 정렬 결과(430)처럼 나타낼 수 있다.
이 때, 도 4에 도시된 분석 모듈(400)은 발화 문장(410)과 음성 데이터(420)를 입력으로 받아 시간 동기화를 수행함으로써 정렬 결과(430)를 생성할 수 있다. 이러한 분석 모듈(400)은 본 발명의 일실시예에 따른 발화 제어 장치에 포함되거나 또는 발화 제어 장치의 프로세서의 일부 기능으로써 존재할 수도 있다.
이 때, 프로세서(720)는 음성 처리 기술 중 하나인 강제 정렬(Forced Alignment) 기법을 활용하여 복수개의 어절들을 정렬할 수 있다. 강제 정렬 기법은 동적정합(Dynamic Time Warping, DTW) 알고리즘 또는 은닉 마르코프 모델(Hidden Markov Model, HMM) 등의 다양한 계산 모델을 이용하여 구현될 수 있다.
또한, 도 5에 도시된 것과 같이 본 발명의 일실시예에 따른 음성 문장 정렬 정보(500)는 복수개의 어절들 각각에 대한 시작 시간과 종료 시간에 대한 정보를 포함할 수 있다. 즉, 음성 문장 정렬 정보는 발화 문장과 음성 데이터 간의 시간 동기화 분석을 통해 산출된 어절 단위의 시간표에 해당할 수 있다.
따라서, 도 5와 같은 음성 문장 정렬 정보(500)를 통해 각 어절에 해당하는 음성이 음성 데이터의 어느 시점부터 시작해서 어느 시점에 끝나는지 알 수 있다.
또한, 프로세서(720)는 발화 시작, 일시 정지, 발화 중단 및 발화 재개 중 적어도 하나의 제어 명령을 기반으로 음성 데이터의 출력을 제어한다.
이 때, 발화 시작 명령이 입력되면, 사운드 재생 프로그램과 스피커를 통해 발화 문장에 해당하는 음성 데이터의 재생을 시작할 수 있다.
이 때, 음성 데이터가 재생되고 있는 도중에 일시 정지 명령이 입력되면, 사운드 재생 프로그램과 스피커에 의한 음성 데이터의 재생을 정지한 뒤 음성 데이터가 어느 시점에서 멈추었는지 기록할 수 있다.
이 때, 음성 데이터가 재생되고 있거나 또는 음성 데이터가 일시 정지된 상태에서 발화 중단 명령이 입력되면, 현재 재생 중이었던 발화 문장과 음성 데이터를 삭제하고 초기 상태로 회귀할 수 있다.
이 때, 음성 데이터가 일시 정지된 상태에서 발화 재개 명령이 입력되면, 일시 정지 명령이 입력되었을 때 기록된 정지 시점을 기준으로 재생을 시작할 시점을 결정하여 음성 데이터를 다시 재생할 수 있다.
이 때, 음성 데이터가 출력되는 동안에 재생 시간을 지속적으로 모니터링 할 수 있다. 예를 들어, 도 2에 도시된 것과 같은 사운드 재생 프로그램을 통해 음성 데이터를 재생하는 동안에 재생 시간을 지속적으로 모니터링하여 관리할 수 있다.
또한, 프로세서(720)는 일시 정지가 입력된 경우, 음성 데이터의 정지 시점과 복수개의 어절들 각각에 대한 구간 정보를 고려하여 복수개의 어절들 중 어느 하나의 시작 어절을 결정한다.
이 때, 일시 정지에 상응하는 제어 명령이 입력되면 사운드 재생 프로그램과 스피커를 통한 음성 데이터의 재생을 정지시키고, 음성 데이터의 재생 시간 중 정지된 시점에 상응하는 정지 시점을 기록할 수 있다.
이 때, 복수개의 어절들 각각에 대한 구간 정보는 음성 문장 정렬 정보를 통해 획득할 수 있다. 즉, 음성 문장 정렬 정보에 포함된 발화 문장과 음성 데이터 간의 시간적 상관관계 정보를 기반으로 하여 어느 하나의 시작 어절을 결정할 수 있다.
이 때, 음성 문장 정렬 정보를 참조하여 정지 시점이 복수개의 어절들 중 어느 하나의 어절에 대한 시작 시간과 종료 시간의 사이에 위치하는 경우, 어느 하나의 어절을 시작 어절로 결정할 수 있다.
예를 들어, 음성 문장 정렬 정보가 도 5에 도시된 것에 상응하고, 정지 시점이 3500ms라고 가정한다면, '이제라도'에 해당하는 어절이 재생되는 동안에 일시 정지 명령이 입력된 것으로 판단할 수 있다. 이러한 경우에는 '이제라도'에 해당하는 어절을 시작 어절로 결정할 수 있다. 따라서, 발화 재개 명령이 입력되는 경우, 시작 어절의 시작 시점인 2550ms에서부터 음성 데이터가 재생될 수 있다.
이 때, 음성 문자 정렬 정보를 참조하여 정지 시점이 복수개의 어절들 중 순차적인 어느 두 개의 어절들 사이에 위치하는 경우, 어느 두 개의 어절들 중 정지 시점의 이후에 위치하는 어절을 시작 어절로 결정할 수 있다.
예를 들어, 음성 문장 정렬 정보가 도 5에 도시된 것에 상응하고, 정지 시점이 6780ms라고 가정한다면, '정말 이제라도 내게'까지 재생되고 '와'가 재생되기 직전에 일시 정지 명령이 입력된 것으로 판단할 수 있다. 이러한 경우에는 '와'에 해당하는 어절을 시작 어절로 결정할 수 있다. 따라서, 발화 재개 명령이 입력되는 경우, 시작 어절의 시작 지점인 7000ms에서부터 음성 데이터가 재생될 수 있다.
이 때, 발화 문장이 적어도 두 개의 문장들로 구성된 경우, 적어도 두 개의 문장들 중 정지 시점을 포함하는 어느 하나의 문장을 구성하는 첫 번째 어절을 시작 어절로 결정할 수 있다.
예를 들어, 발화 문장이 '정말 이제라도 내게 와 주었으면 해요', '나는 언제까지나 당신을 기다리고 있어요'라는 두 개의 문장들로 구성되어 있고, 두 번째 문장에 해당하는 '나는 언제까지나 당신을 기다리고 있어요'라는 문장의 음성 데이터가 재생되는 동안에 일시 정지 명령이 입력되었다고 가정할 수 있다. 이러한 경우에는 두 번째 문장을 구성하는 첫 번째 어절인 '나는'을 시작 어절로 결정할 수 있다. 이와 같이, 발화 문장이 여러 문장을 포함하는 긴 내용일 경우에는 문장 단위로 반복하는 것이 정보 전달 측면에 있어서 효과적일 수 있다.
이 때, 쉼표나 마침표를 기준으로 문장의 분리 지점을 결정하여 발화 문장을 구성하는 적어도 두 개의 문장들을 구분할 수 있다.
또한, 프로세서(720)는 발화 재개가 입력된 경우, 시작 어절부터 음성 데이터를 출력한다.
이와 같이, 재생이 중단된 시점을 기준으로 결정된 시작 어절부터 음성 데이터의 재생을 시작함으로써 로봇과 사람 간에 보다 자연스럽고 효율적인 소통이 가능하도록 할 수 있다.
또한, 프로세서(720)는 발화 재개가 입력된 경우, 시작 어절의 이전에 부가 어절을 추가할 수 있다.
예를 들어, '그러니까', '그래서', '음..'과 같이 중단된 발화를 자연스럽게 재개하기 위한 부가 어절을 시작 어절의 앞에 추가하여 음성 데이터를 재생할 수 있다. 만약, '정말 이제라도 내게 와 주었으면 해요'라는 발화 문장에 대해 '정말 이제라도 내게'까지 발화하다 일시 정지 명령이 입력되었다고 가정할 수 있다. 이후, 발화 재개 명령이 입력되면, '내게 와 주었으면 해요'를 재생하는 대신에 '그러니까 내게 와 주었으면 해요'라고 음성 데이터를 재생할 수 있다.
이 때, 복수개의 부가 어절들과 복수개의 부가 어절들 각각에 매칭된 음성 데이터를 포함하는 부가 어절 사전을 기반으로 부가 어절을 추가할 수 있다.
이 때, 부가 어절 사전에 저장되는 복수개의 부가 어절들은 본 발명의 일실시예에 따른 발화 제어 시스템의 개발자가 선정한 임의의 부가 어절에 해당할 수 있다.
이 때, 부가 어절은 해당하는 부가 어절의 음성 데이터와 매칭되어 저장됨으로써 부가 어절이 추가되기로 결정되는 경우, 추가되는 부가 어절의 음성 데이터가 사운드 재생 프로그램으로 전달될 수도 있다.
또한, 프로세서(720)는 발화 중단이 입력된 경우에 발화 문장과 음성 데이터를 삭제하고, 새로운 발화 문장이 입력될 때까지 대기할 수 있다. 즉, 발화 중단 명령이 입력된 경우, 새로운 발화 문장과 음성 데이터에 의해 발화 시작 명령이 입력되기 전까지는 초기 상태에서 대기할 수 있다.
메모리(730)는 발화 문장, 음성 데이터 및 복수개의 어절들 각각에 대한 구간 정보 중 적어도 하나를 저장한다.
또한, 메모리(730)는 상술한 바와 같이 본 발명의 일실시예에 따른 발화 제어 과정에서 발생되는 다양한 정보를 저장한다.
실시예에 따라, 메모리(730)는 발화 제어 장치와 독립적으로 구성되어 발화 제어를 위한 기능을 지원할 수 있다. 이 때, 메모리(730)는 별도의 대용량 스토리지로 동작할 수 있고, 동작 수행을 위한 제어 기능을 포함할 수 있다.
한편, 발화 제어 장치는 메모리가 탑재되어 그 장치 내에서 정보를 저장할 수 있다. 일 구현예의 경우, 메모리는 컴퓨터로 판독 가능한 매체이다. 일 구현 예에서, 메모리는 휘발성 메모리 유닛일 수 있으며, 다른 구현예의 경우, 메모리는 비휘발성 메모리 유닛일 수도 있다. 일 구현예의 경우, 저장장치는 컴퓨터로 판독 가능한 매체이다. 다양한 서로 다른 구현 예에서, 저장장치는 예컨대 하드디스크 장치, 광학디스크 장치, 혹은 어떤 다른 대용량 저장장치를 포함할 수도 있다.
이와 같은 발화 제어 장치를 통해, 로봇이 발화를 중단한 뒤 다시 말할 때 발화를 멈춘 지점을 기준으로 말을 이어갈 수 있도록 하는 방법을 제공할 수 있다.
또한, 로봇과 사람 간에 보다 자연스럽고 효율적인 음성 기반 소통을 가능하게 할 수 있으며, 음성기반 챗봇, 스마트 스피커, 서비스 로봇 등 대화를 기반으로 작동하는 다양한 서비스 기기에 효율적인 발화 제어 기술을 적용하여 사용자 경험을 개선하는데 기여할 수도 있다.
이상에서와 같이 본 발명에 따른 발화 정지 시점을 고려한 발화 제어 방법 및 이를 위한 장치는 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
110, 210, 410: 발화문장 120, 220: 음성 합성 엔진
130, 230, 420: 음성 데이터 140, 240: 사운드 재생 프로그램
150, 250: 스피커 200: 발화 제어 장치
400: 분석 모듈 430: 정렬 결과
500: 음성 문장 정렬 정보 610: 재생 상태
620: 정지 상태 630: 대기 상태
710: 통신부 720: 프로세서
730: 메모리

Claims (10)

  1. 발화 제어 장치를 통한 발화 제어 방법에 있어서,
    발화 문장에 상응하는 음성 데이터의 재생 시간을 기준으로 상기 발화 문장을 구성하는 복수개의 어절들이 각각 상기 음성 데이터 중 어느 구간에 위치하는지 분석하는 단계;
    발화 시작, 일시 정지, 발화 중단 및 발화 재개 중 적어도 하나의 제어 명령을 기반으로 상기 음성 데이터의 출력을 제어하는 단계;
    상기 일시 정지가 입력된 경우, 상기 음성 데이터의 정지 시점과 상기 복수개의 어절들 각각에 대한 구간 정보를 고려하여 상기 복수개의 어절들 중 어느 하나의 시작 어절을 결정하는 단계;
    상기 발화 재개가 입력된 경우, 복수개의 부가 어절들과 상기 복수개의 부가 어절들 각각에 매칭된 음성 데이터를 포함하는 부가 어절 사전을 기반으로 부가 어절을 상기 시작 어절의 이전에 추가하는 단계; 및
    상기 부가 어절을 포함한 상기 시작 어절부터 상기 음성 데이터를 출력하는 단계; 를 포함하되,
    상기 분석하는 단계는,
    상기 음성 데이터의 재생 시작 시간부터 재생 종료 시간에 상응하는 재생 구간 상에 상기 복수개의 어절들을 동적정합(Dynamic Time Warping, DTW) 및 은닉 마르코프 모델(Hidden Markov Model, HMM) 중 적어도 하나 이상의 모델을 포함한 강제 정렬(Forced Alignment) 기법을 통하여 시간 순서대로 정렬하고, 상기 정렬된 복수개의 어절들 각각에 대한 시작 시간과 종료 시간을 포함하는 음성 문장 정렬 정보를 생성하는 것을 특징으로 하는 발화 제어 방법.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 결정하는 단계는
    상기 음성 문장 정렬 정보를 참조하여 상기 정지 시점이 상기 복수개의 어절들 중 어느 하나의 어절에 대한 시작 시간과 종료 시간의 사이에 위치하는 경우, 상기 어느 하나의 어절을 시작 어절로 결정하는 것을 특징으로 하는 발화 제어 방법.
  4. 청구항 1에 있어서,
    상기 결정하는 단계는
    상기 음성 문장 정렬 정보를 참조하여 상기 정지 시점이 상기 복수개의 어절들 중 순차적인 어느 두 개의 어절들 사이에 위치하는 경우, 상기 어느 두 개의 어절들 중 상기 정지 시점의 이후에 위치하는 어절을 상기 시작 어절로 결정하는 것을 특징으로 하는 발화 제어 방법.
  5. 청구항 1에 있어서,
    상기 결정하는 단계는
    상기 발화 문장이 적어도 두 개의 문장들로 구성된 경우, 상기 적어도 두 개의 문장들 중 상기 정지 시점을 포함하는 어느 하나의 문장을 구성하는 첫 번째 어절을 상기 시작 어절로 결정하는 것을 특징으로 하는 발화 제어 방법.
  6. 삭제
  7. 삭제
  8. 청구항 1에 있어서,
    상기 발화 제어 방법은
    상기 발화 중단이 입력된 경우에 상기 발화 문장과 상기 음성 데이터를 삭제하고, 새로운 발화 문장이 입력될 때까지 대기하는 단계를 더 포함하는 것을 특징으로 하는 발화 제어 방법.
  9. 청구항 1에 있어서,
    상기 제어하는 단계는
    상기 음성 데이터가 출력되는 동안에 상기 재생 시간을 지속적으로 모니터링하는 것을 특징으로 하는 발화 제어 방법.
  10. 발화 문장에 상응하는 음성 데이터의 재생 시간을 기준으로 상기 발화 문장을 구성하는 복수개의 어절들이 각각 상기 음성 데이터 중 어느 구간에 위치하는지 분석하되, 상기 음성 데이터의 재생 시작 시간부터 재생 종료 시간에 상응하는 재생 구간 상에 상기 복수개의 어절들을 동적정합(Dynamic Time Warping, DTW) 및 은닉 마르코프 모델(Hidden Markov Model, HMM) 중 적어도 하나 이상의 모델을 포함한 강제 정렬(Forced Alignment) 기법을 통하여 시간 순서대로 정렬하고, 상기 정렬된 복수개의 어절들 각각에 대한 시작 시간과 종료 시간을 포함하는 음성 문장 정렬 정보를 생성하고, 발화 시작, 일시 정지, 발화 중단 및 발화 재개 중 적어도 하나의 제어 명령을 기반으로 상기 음성 데이터의 출력을 제어하고, 상기 일시 정지가 입력된 경우에는 상기 음성 데이터의 정지 시점과 상기 복수개의 어절들 각각에 대한 구간 정보를 고려하여 상기 복수개의 어절들 중 어느 하나의 시작 어절을 결정하고, 상기 발화 재개가 입력된 경우, 복수개의 부가 어절들과 상기 복수개의 부가 어절들 각각에 매칭된 음성 데이터를 포함하는 부가 어절 사전을 기반으로 부가 어절을 상기 시작 어절의 이전에 추가하고, 상기 부가 어절을 포함한 상기 시작 어절부터 상기 음성 데이터를 출력하는 프로세서; 및
    상기 발화 문장, 상기 음성 데이터 및 상기 복수개의 어절들 각각에 대한 구간 정보 중 적어도 하나를 저장하는 메모리
    를 포함하는 것을 특징으로 하는 발화 제어 장치.
KR1020170172908A 2017-12-15 2017-12-15 발화 정지 시점을 고려한 발화 제어 방법 및 이를 위한 장치 KR102170155B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170172908A KR102170155B1 (ko) 2017-12-15 2017-12-15 발화 정지 시점을 고려한 발화 제어 방법 및 이를 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170172908A KR102170155B1 (ko) 2017-12-15 2017-12-15 발화 정지 시점을 고려한 발화 제어 방법 및 이를 위한 장치

Publications (2)

Publication Number Publication Date
KR20190071953A KR20190071953A (ko) 2019-06-25
KR102170155B1 true KR102170155B1 (ko) 2020-10-28

Family

ID=67065300

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170172908A KR102170155B1 (ko) 2017-12-15 2017-12-15 발화 정지 시점을 고려한 발화 제어 방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR102170155B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004325848A (ja) 2003-04-25 2004-11-18 Nippon Telegr & Teleph Corp <Ntt> 音声対話制御方法、音声対話制御装置、音声対話制御プログラム
JP2005250379A (ja) 2004-03-08 2005-09-15 Mitsubishi Electric Corp 音声対話システム
JP2011227236A (ja) * 2010-04-19 2011-11-10 Honda Motor Co Ltd 音声対話装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3682562B2 (ja) * 1996-10-09 2005-08-10 日本電信電話株式会社 出力制御可能型言語生成方法及び装置
KR20160086534A (ko) 2015-01-10 2016-07-20 이윤택 무촉매 기판 성장 그래핀의 제조방법 및 무촉매 기판 성장 그래핀

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004325848A (ja) 2003-04-25 2004-11-18 Nippon Telegr & Teleph Corp <Ntt> 音声対話制御方法、音声対話制御装置、音声対話制御プログラム
JP2005250379A (ja) 2004-03-08 2005-09-15 Mitsubishi Electric Corp 音声対話システム
JP2011227236A (ja) * 2010-04-19 2011-11-10 Honda Motor Co Ltd 音声対話装置

Also Published As

Publication number Publication date
KR20190071953A (ko) 2019-06-25

Similar Documents

Publication Publication Date Title
US10600414B1 (en) Voice control of remote device
JP5381988B2 (ja) 対話音声認識システム、対話音声認識方法および対話音声認識用プログラム
KR101818980B1 (ko) 다중 화자 음성 인식 수정 시스템
KR102596430B1 (ko) 화자 인식에 기초한 음성 인식 방법 및 장치
JP5750380B2 (ja) 音声翻訳装置、音声翻訳方法および音声翻訳プログラム
US20190318758A1 (en) Adjusting speed of human speech playback
JP2006201749A5 (ko)
KR20200052638A (ko) 전자 장치 및 전자 장치의 음성 인식 방법
JP2006251545A (ja) 音声対話システム及びコンピュータプログラム
CA2590739A1 (en) Method and apparatus for voice message editing
JP2012163692A (ja) 音声信号処理システム、音声信号処理方法および音声信号処理方法プログラム
JP2007072331A (ja) 音声対話方法および音声対話システム
KR102170155B1 (ko) 발화 정지 시점을 고려한 발화 제어 방법 및 이를 위한 장치
JP3553828B2 (ja) 音声蓄積再生方法および音声蓄積再生装置
US11699438B2 (en) Open smart speaker
JP2016186646A (ja) 音声翻訳装置、音声翻訳方法および音声翻訳プログラム
KR102181583B1 (ko) 음성인식 교감형 로봇, 교감형 로봇 음성인식 시스템 및 그 방법
JP2015187738A (ja) 音声翻訳装置、音声翻訳方法および音声翻訳プログラム
JP4972660B2 (ja) 音声学習装置及びプログラム
JP5495612B2 (ja) カメラ制御装置及び方法
KR102632806B1 (ko) Stt결과 조기 확정을 위한 음성 인식 방법 및 장치
JP6251219B2 (ja) 合成辞書作成装置、合成辞書作成方法および合成辞書作成プログラム
JP7179216B1 (ja) 声質変換装置、声質変換方法、声質変換ニューラルネットワーク、プログラム、および記録媒体
Martens et al. Word Segmentation in the Spoken Dutch Corpus.
US11501752B2 (en) Enhanced reproduction of speech on a computing system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant