KR101054699B1 - 지원 디바이스, 프로그램 및 지원 방법 - Google Patents

지원 디바이스, 프로그램 및 지원 방법 Download PDF

Info

Publication number
KR101054699B1
KR101054699B1 KR1020090035109A KR20090035109A KR101054699B1 KR 101054699 B1 KR101054699 B1 KR 101054699B1 KR 1020090035109 A KR1020090035109 A KR 1020090035109A KR 20090035109 A KR20090035109 A KR 20090035109A KR 101054699 B1 KR101054699 B1 KR 101054699B1
Authority
KR
South Korea
Prior art keywords
confirmed
speech
text
unidentified
candidate
Prior art date
Application number
KR1020090035109A
Other languages
English (en)
Other versions
KR20090112581A (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 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20090112581A publication Critical patent/KR20090112581A/ko
Application granted granted Critical
Publication of KR101054699B1 publication Critical patent/KR101054699B1/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/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
    • 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • 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
    • 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/28Constructional details of speech recognition systems

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)
  • Artificial Intelligence (AREA)
  • Machine Translation (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 발명은 음성 데이터로부터의 텍스트의 생성을 지원하기 위한 지원 디바이스를 제공하고자 한다. 지원 디바이스는 확인된 속도 계산기, 후보 획득 유닛 및 선택기를 포함한다. 확인된 속도 계산기는 음성 데이터 내의 이미 확인된 텍스트를 갖는 확인된 부분의 발성 속도인 확인된 발성 속도를 계산한다. 후보 획득 유닛은 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분의 음성 인식으로부터의 결과인 복수의 후보 문자 열을 획득한다. 선택기는, 복수의 후보 문자 열들 중에서, 확인된 발성 속도로 후보 문자 열을 발성하는데 소모되는 발성 시간이 음성 데이터의 미확인된 부분의 발성 시간에 가장 가까운 것인 후보 문자 열을 우선적으로 선택한다.

Description

지원 디바이스, 프로그램 및 지원 방법{SUPPORT DEVICE, PROGRAM AND SUPPORT METHOD}
본 발명은 지원 디바이스(support device), 프로그램 및 지원 방법에 관한 것이다. 구체적으로, 본 발명은 음성 데이터(speech data)로부터의 텍스트의 생성을 지원하기 위한 지원 디바이스, 프로그램 및 지원 방법에 관한 것이다.
최근에, 청각 장애자, 노인 등을 위한 접근성(accessibility)을 향상시키도록 무슨 말을 하고 있는지 나타내는 텍스트를 포함하는 콘텐츠(content)가 제공되어 왔다. 무슨 말을 하고 있는지 나타내는 텍스트는 예를 들어 음성 데이터로부터 텍스트를 자동으로 생성하는 음성 인식 디바이스(speech recognition device)의 사용에 의해 생성된다(예를 들어, 비특허 문헌 1 내지 3 참조).
[특허 문헌 1] 일본 특허 출원 공보 제2000-324395호
[특허 문헌 2] 일본 특허 출원 공보 제2003-46861호
[특허 문헌 3] 일본 특허 출원 공보 제2006-227319호
[비특허 문헌 1]
다츠야 아카가와(Tatsuya Akagawa), 코지 이와노(Koji Iwano), 및 사다오키 후루이(Sadaoki Furui)의 "HMM을 사용한 대화 언어 텍스트-음성에 대한 모델 구성 및 합성 음성에 대한 영향(Model construction for spoken language text-to-speech using HMM, and the influence on the synthesized speech)", The Journal of The Acoustic Society of Japan, 2007 March, p. 201-202
[비특허 문헌 2]
요시유키 야마다(Yoshiyuki Yamada), 미야지마 치요미(Miyajima Chiyomi), 이토우 가츠노부(Itou Katsunobu), 및 다케다 가즈야(Takeda Kazuya)의 "음소 길이를 조정함에 의한 자발 음성 인식 방법(A spontaneous speech recognition method by adjusting phoneme lengths)", Information Processing Society of Japan, IPSJ SIG Notes Vol. 2005, No. 103(20051021), p. 1-6
[비특허 문헌 3]
아키라 바바(Akira Baba)의 "음성 인식을 위한 노인용 음향 모델의 평가 방법(Evaluation Method of Acoustic Models for the Elderly in Speech Recognition)", Technical report of Matsushita Electric Works. Ltd, Special Issue on "Analysis and Evaluation Technology for Creating Customer Value", 2002 November, p. 20-26
현 상황에서의 음성 인식 디바이스를 이용하면, 음성 데이터로부터 100% 신뢰성있는 텍스트를 생성하는 것이 어렵다. 즉, 현 상황에서의 음성 인식 디바이스에 의해 음성 데이터로부터 생성된 텍스트는 상대적으로 신뢰성이 낮은 확인되지 않은(unconfirmed) 부분을 포함한다.
음성 인식 디바이스에 의해 음성 데이터로부터 생성된 텍스트의 상대적으로 낮은 신뢰성을 갖는 미확인된(unconfirmed) 부분에 대하여, 조작자는 문자 열(character string)을 수동으로 입력함으로써 텍스트를 교정(correct)하여야 한다. 그러나, 이러한 교정은 긴 작업 시간을 요한다.
음성으로부터 텍스트를 생성하는 프로세스에 있어서, 음성 인식 디바이스는, 음성을 분할(segment)하고, 각각의 분할된 부분에 대하여 복수의 후보 문자 열을 생성하고, 복수의 후보들 중에서 문자 열을 선택하기 위한 처리를 수행한다. 따라서, 조작자는 복수의 후보 문자 열이 표시되게 하고 이들 후보들 중에서 적합한 문자 열을 수동으로 선택함으로써, 상대적으로 낮은 신뢰성을 갖는 미확인된 부분을 교정할 수 있다. 그러나, 음성 인식 디바이스는 방대한 수의 후보 문자 열들을 생성하기 때문에, 후보들 중에서의 단일 문자 열의 선택도 또한 긴 작업 시간을 요한다.
또한, 조작자는, 예를 들어 시작에서부터 특정 분할 단위로(예를 들어, 매 수 문자마다) 순차적으로, 미확인된 부분의 이러한 교정을 수행한다. 이 경우에, 지원 디바이스는, 텍스트 교정에 의해 콘텐츠가 확인된(confirmed) 것인 문자 열에 대응하는 음성 데이터의 범위를 자동으로 지정한 다음, 텍스트 교정을 받을 다음 음성 데이터의 상위 부분을 자동으로 찾을 수 있는, 적격자이다. 이러한 지원 디바이스를 채용함으로써, 조작자가 텍스트 확인을 받아야 할 다음 음성 데이터의 상위 부분을 찾으려고 음성 데이터를 듣지 않아도 되기 때문에 조작이 용이해질 수 있다.
음성 데이터에서 텍스트가 확인된 부분을 자동으로 지정하기 위하여, 컴퓨터의 사용에 의해 음성 데이터에 대한 음향 분석이 수행되어야 한다. 그러나, 현재 상황에서, 이러한 방법의 사용은 음성 데이터에서 텍스트가 확인된 부분을 정확하게 지정하기에 불충분하다.
특허 문헌 1 내지 3은 음성 데이터의 시간 범위를 지정하기 위한 기술을 개시한다. 특허 문헌 1은, 서브타이틀(subtitle)이 기초하는 서브타이틀 텍스트를 분할한 다음, 기준 타이밍 정보 및 문자 정보에 따라 각각의 분할된 부분에 타이밍 정보를 할당하는 기술을 개시한다. 여기에서, 문자 정보는 문자의 유형, 문자의 수, 및 음성 기호(phonetic sign)의 열을 포함한다. 특허 문헌 2는, 서브타이틀이 모니터 상에 표시되는 동안 키 입력이 이루어지면, 키의 유형 및 조작 타이밍이 기록되는 기술을 개시한다. 특허 문헌 3은, 음소(phoneme) 또는 음절(syllable)과 같은 성분의 지속 길이의 확률 분포, 및 발성 속도(utterance rate)의 확률 분포를 추정하는 기술을 개시한다.
그러나, 특허 문헌 1 내지 3에 개시된 기술을 이용하더라도 음성 데이터 내 의 텍스트가 확인된 부분이 정확하게 지정될 수 없다. 따라서, 현 상황에 따르면, 조작자는 텍스트가 확인된 문자 열에 대응하는 음성 데이터의 부분을 지정하기 위하여 음성 데이터를 들어야 한다.
그러므로, 본 발명의 목적은 상기 문제점을 해결할 수 있는 지원 디바이스, 프로그램 및 지원 방법을 제공하는 것이다. 이 목적은 청구 범위에서 독립 청구항들에 기재된 특징들의 조합에 의해 달성된다. 또한, 종속 청구항들은 본 발명의 부가의 이로운 예들을 정의한다.
상기 문제점을 해결하기 위하여, 본 발명의 제1 양상은 음성 데이터로부터의 텍스트의 생성을 지원하기 위한 지원 디바이스를 제공한다. 지원 디바이스는 확인된 속도 계산기, 후보 획득 유닛 및 선택기를 포함한다. 확인된 속도 계산기는 음성 데이터 내의 이미 확인된 텍스트를 갖는 확인된 부분의 발성 속도인 확인된 발성 속도를 계산한다. 후보 획득 유닛은 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분의 음성 인식 결과인 복수의 후보 문자 열을 획득한다. 선택기는, 복수의 후보 문자 열들 중에서, 확인된 발성 속도로 후보 문자 열을 발성하는데 소모되는 발성 시간이 음성 데이터의 미확인된 부분의 발성 시간에 가장 가까운 것인 후보 문자 열을 우선적으로 선택한다. 본 발명은 또한 컴퓨터로 하여금 상기 지원 디바이스로서 기능하도록 하는 프로그램, 및 상기 지원 디바이스를 채용하는 지원 방법을 제공한다.
본 발명의 제2 양상은 말하는 사람(speaker)이 제스처(gesture)에 의해 문장 을 표현하는 동영상 데이터로부터의 텍스트의 생성을 지원하기 위한 지원 디바이스를 제공한다. 지원 디바이스는 확인된 표현 속도 계산기, 후보 획득 유닛 및 선택기를 포함한다. 확인된 표현 속도 계산기는 동영상 데이터 내의 이미 확인된 텍스트를 갖는 확인된 부분의 표현 속도인 확인된 표현 속도를 계산한다. 후보 획득 유닛은 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분의 영상 인식 결과인 복수의 후보 문자 열을 획득한다. 선택기는, 복수의 후보 문자 열들 중에서, 확인된 표현 속도로 후보 문자 열을 표현하는데 소모되는 표현 시간이 동영상 데이터의 미확인된 부분의 표현 시간에 가장 가까운 것인 후보 문자 열을 우선적으로 선택한다. 본 발명은 또한 컴퓨터로 하여금 상기 지원 디바이스로서 기능하도록 하는 프로그램, 및 상기 지원 디바이스를 채용하는 지원 방법을 제공한다.
본 발명의 개요는 본 발명의 모든 필요한 특징들을 포함하는 것은 아니며, 이들 특징 그룹 중 일부 조합도 또한 본 발명에 포함될 수 있음을 유의하자.
본 발명에 따르면, 음성 데이터로부터의 텍스트의 생성을 지원하기 위한 지원 디바이스, 프로그램 및 지원 방법을 제공할 수 있다.
이하, 본 발명의 실시예의 사용에 의해 본 발명이 설명될 것이다. 그러나, 실시예가 청구 범위에 따른 본 발명을 한정하는 것은 아니고, 실시예에 기재된 특징들의 조합 전부가 본 발명의 해결 수단을 위해 반드시 필수적인 것은 아니다.
도 1은 본 실시예에 따른 음성 인식 시스템(10)의 구조를 도시한다. 음성 인 식 시스템(10)은 음성 데이터에 포함된 음성의 콘텐츠를 나타내는 텍스트(즉, 문자 열)를 생성한다.
음성 인식 시스템(10)은 음성 데이터베이스(12), 음성 인식 디바이스(14), 확인 데이터베이스(16), 후보 데이터베이스(18), 지원 디바이스(20), 및 사용자 인터페이스(22)를 포함한다. 음성 데이터베이스(12)는 텍스트를 생성하기 위한 대상(subject) 음성 데이터를 저장한다.
음성 인식 디바이스(14)는 대상 음성 데이터에 대한 음성 인식을 수행한다. 음성 인식 디바이스(14)는, 예를 들어 음성 인식 프로그램을 실행하는 컴퓨터에 의해 구현될 수 있다. 음성 인식 디바이스(14)는 예시적인 음성 인식 프로그램인 IBM ViaVoice(등록 상표)를 실행하는 컴퓨터에 의해 구현될 수 있다.
확인 데이터베이스(16)는 음성 인식 디바이스(14)에 의해 음성 데이터에 대하여 수행된 음성 인식의 결과로서 획득된 텍스트 및 형태소 열(morpheme string)을 저장한다. 텍스트는 음성 데이터에 포함된 음성의 콘텐츠를 나타내는 문자 열을 칭한다. 형태소 열은 음성 데이터에 포함된 음성의 사운드(sound)를 나타내는 음소 열을 각각 의미를 갖는 단어(word)의 최소 단위로 분할함으로써 획득되는 정보이다. 음소가 출력될 때를 표시하는 타임스탬프는, 예를 들어 형태소 열에 포함된 각각의 음소와 연관될 수 있다.
또한, 확인 데이터베이스(16)는, 텍스트 내의 각각의 문자와 연관하여, 예를 들어 그의 음성 인식 결과가 확인되었는지 아니면 확인되지 않았는지를 나타내는 문자 속성을 저장할 수 있다. 음성 인식이 확인된 부분은, 예를 들어 문자의 가능 성(likelihood)이 기준값 이상인 부분을 칭할 수 있다. 한편, 음성 인식이 확인되지 않은 부분은, 예를 들어 문자의 가능성이 기준값보다 적은 부분을 칭할 수 있다.
후보 데이터베이스(18)는 음성 인식 디바이스(14)에 의해 음성 데이터에 대하여 수행되는 음성 인식의 결과로서 획득된 복수의 후보 문자 열을 저장한다. 음성 데이터로부터 텍스트를 생성하는 프로세스에 있어서, 음성 인식 디바이스(14)는, 음성을 분할하고 각각의 분할된 부분에 대하여 복수의 후보 문자 열을 생성하고 복수의 후보들 중에서 문자 열을 선택하는 처리를 수행한다. 후보 데이터베이스(18)는 확인 데이터베이스(16)에 저장된 텍스트에 포함되어 있는 복수의 문자 열 각각과 연관하여 이러한 후보 문자 열을 저장한다.
지원 디바이스(20)는 음성 데이터로부터의 텍스트의 생성을 지원한다. 구체적으로 말하자면, 지원 디바이스(20)는 음성 인식 디바이스(10)의 사용자인 조작자에 의한 교정 동작을 지원한다. 조작자는 음성 인식이 확인되지 않은 텍스트의 부분에 대하여 올바른 문자 열을 입력한다. 이 미확인된 부분은 확인 데이터베이스(16)에 저장된 텍스트에 포함되며, 이는 음성 인식 디바이스(14)에 의해 음성 데이터에 대하여 수행된 음성 인식의 결과로서 획득되는 것이다. 이러한 지원 디바이스(20)는, 예를 들어 지원 프로그램을 실행하는 컴퓨터에 의해 구현될 수 있다.
사용자 인터페이스(22)는 조작자에게 그리고 조작자로부터 정보를 출력하고 수신한다. 사용자 인터페이스(22)는, 예를 들어 키보드, 마우스, 모니터 및 스피커일 수 있다.
상기 언급한 구조를 갖는 음성 인식 시스템(10)에 있어서, 제1 단계에서, 음성 인식 디바이스(14)는 대상 음성 데이터에 대하여 음성 인식을 수행한다. 이어서, 제2 단계에서, 조작자는 각각의 특정 부분에 대하여 음성 인식 디바이스(14)의 음성 인식 결과가 확인되지 않은 텍스트를 순차적으로 교정한다. 조작자는 지원 디바이스(20)의 사용에 의해 올바른 문자 열을 입력함으로써 교정을 수행한다.
또한, 음성 인식 시스템(10)의 구조는 음성 데이터베이스(12) 및 음성 인식 디바이스(14)를 반드시 포함해야 하는 것은 아니다. 이 경우, 음성 인식 시스템(10)은 외부로부터 음성 인식의 결과를 수신하고, 수신된 음성 인식 결과를 확인 데이터베이스(16) 및 후보 데이터베이스(18)에 저장한다.
도 2는 확인 데이터베이스(16) 및 후보 데이터베이스(18)를 함께 갖는 본 실시예에 따른 지원 디바이스(20)의 구조를 도시한다. 지원 디바이스(20)는 입력 유닛(32), 후보 획득 유닛(34), 확인된 속도 계산기(36), 후보 시간 계산기(38), 미확인된 발성 시간 계산기(40), 선택기(42), 프리젠테이션(presentation) 유닛(44), 확인 유닛(46), 확인된 시간 계산기(48), 지정(specification) 유닛(50), 및 상위 위치(top position) 설정 유닛(52)을 포함한다. 입력 유닛(32)은 사용자 인터페이스(22)를 통하여 조작자에 의해 입력된 정보를 수신한다.
후보 획득 유닛(34)은 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분의 상위 위치를 지정하는 포커스(focus)를 수신한다. 포커스는, 예를 들어 텍스트가 확인되지 않은 미확인된 부분의 상위에 있는 음소를 지정하는 정보일 수 있다. 이러한 포커스를 사용함으로써, 지원 디바이스(20)는 확인될 다음 문자 열을 포함하는 음성 데이터의 범위를 지정할 수 있으며, 이러한 포커스를 사용함으로써 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분의 상위 위치를 지정할 수 있다.
후보 획득 유닛(34)은 상위 위치 설정 유닛(52)으로부터 포커스를 수신한다. 조작의 시작시, 음성 데이터 내의 조작자의 선택적 위치를 지정하는 포커스는, 예를 들어 사용자 인터페이스(22)를 통하여 조작자에 의해 후보 획득 유닛(34)에 주어질 수 있다.
또한, 후보 획득 유닛(34)은, 후보 데이터베이스(18)로부터, 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분에 대해 수행된 음성 인식의 결과인 복수의 후보 문자 열을 획득한다. 후보 획득 유닛(34)은, 예를 들어 포커스에 의해 지정된 위치로부터 미리 결정된 범위 내의(예를 들어, 특정 수의 문자, 특정 수의 음소 또는 특정 수의 형태소 내의) 텍스트를 생성하는데 사용되는 복수의 후보 문자 열을, 후보 데이터베이스(18)로부터 획득할 수 있다.
확인된 속도 계산기(36)는 음성 데이터 내의 이미 확인된 텍스트를 갖는 확인된 부분의 발성 속도인 확인된 발성 속도를 계산한다. 예를 들어, 확인된 속도 계산기(36)는, 확인된 발성 속도로서, 음성 데이터 내의 이미 확인된 텍스트를 갖는 확인된 부분에서 단위 시간 당 발성되는 음절 또는 모라(mora)의 수를 계산할 수 있다. 따라서, 확인된 속도 계산기(36)는 대상 음성 데이터에서 말하고 있는 대상인 말하는 사람에 특정한 발성 속도를 계산할 수 있다.
후보 시간 계산기(38)는 후보 획득 유닛(34)에 의해 획득된 복수의 후보 문 자 열을 수신한다. 그 다음, 후보 시간 계산기(38)는, 수신된 복수의 후보 문자 열 각각에 대하여, 확인된 발성 속도로 후보 문자 열이 발성될 때 소모되는 발성 시간을 계산한다. 이 계산은 후보 문자 열 내의 음절 또는 모라의 수와, 확인된 발성 속도에 기초하여 이루어진다. 따라서, 후보 시간 계산기(38)는 대상인 말하는 사람이 복수의 후보 문자 열 각각을 발성할 때 소모되는 추정된 발성 시간을 계산할 수 있다.
미확인된 발성 시간 계산기(40)는 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분에 대하여 소모되는 발성 시간을 계산한다. 예를 들어, 미확인된 발성 시간 계산기(40)는, 음성의 미확인된 부분에 대하여 소모되는 발성 시간으로서, 포커스에 의해 지정된 위치와, 포커스에 의해 지정된 위치 후의 첫 번째 무음(silent) 부분 직전의 위치와의 사이의 시간 범위를 계산할 수 있다. 따라서, 미확인된 발성 시간 계산기(40)는, 텍스트가 확인되지 않은 미확인된 부분에서 문자 열 교정을 받아야 할 부분에 대하여, 실제 음성의 발성 시간을 계산할 수 있다.
확인된 발성 속도로 각각의 후보 문자 열을 발성하는데 소모되는 발성 시간에 따라, 선택기(42)는 후보 획득 유닛(34)에 의해 획득된 복수의 후보 문자 열로부터 후보 문자 열을 우선적으로 선택한다. 여기서, 선택된 후보 문자 열은, 미확인된 발성 시간 계산기(40)에 의해 계산된 음성 데이터 내의 미확인된 부분의 발성 시간에 가장 가까운 발성 시간을 갖는 것이다. 선택기(42)는, 예를 들어, 음성 데이터의 미확인된 부분의 실제 음성의 발성 시간과, 확인된 발성 속도로 복수의 후보 문자 열 각각을 발성하는데 소모되는 추정된 발성 시간 간의 차이 또는 비율을 계산함으로써, 비교할 수 있다. 여기서, 선택기(42)는 가장 작은 차이를 갖거나 1에 가장 가까운 비율을 갖는 하나 또는 복수의 후보 문자 열을 선택할 수 있다. 따라서, 선택기(42)는 대상인 말하는 사람에 의한 발성의 추정된 시간이 음성 데이터 내의 실제 음성의 발성 시간에 가장 가까운 것인 후보 문자 열을 선택할 수 있다. 즉, 선택기(42)는 후보 데이터베이스(18)로부터 수신된 복수의 후보 문자 열들 중에서 가장 가능성 있는 후보 문자 열을 선택할 수 있다.
프리젠테이션 유닛(44)은 선택기(42)에 의해 선택된 하나 또는 복수의 후보 문자 열을 사용자 인터페이스(22)를 통하여 제시한다. 프리젠테이션 유닛(44)은, 예를 들어 가능성이 더 많은 후보 문자 열이 가능성이 더 적은 후보 문자 열보다 높은 위치에 위치되는 순서로 선택기(42)에 의해 선택된 하나 또는 복수의 후보 문자 열을 모니터 상에 표시할 수 있다. 따라서, 프리젠테이션 유닛(44)은 먼저 가장 가능성 있는 문자 열을 표시하고, 그리하여 조작자는 음성 인식 결과가 확인되지 않은 부분에 대하여 올바른 문자 열을 입력함으로써 텍스트를 교정할 수 있다.
확인 유닛(46)은, 확인된 문자 열로서, 이를 이용하여 조작자가 음성 인식 결과가 확인되지 않은 텍스트의 부분을 교정하는 것인 문자 열을 수신한다. 교정은 사용자 인터페이스(22)를 통하여 이루어진다. 예를 들어, 확인 유닛(46)은, 확인된 문자 열로서, 포커스에 의해 지정된 위치로부터 미리 결정된 범위 내의 텍스트를 교정하는데 사용되는 문자 열을 수신할 수 있다. 확인 유닛(46)은 수신되는 확인된 문자 열을 확인 데이터베이스(16)에 기록한다. 그 다음, 확인 유닛(46)은 문자 열이 확인된 것임을 표시하는 값을 갖도록 확인된 문자 열에 대응하는 문자 속성을 재기록한다. 따라서, 확인 유닛(46)은 음성 인식 디바이스(14)의 음성 인식 결과가 확인되지 않은 텍스트의 부분에 대하여 올바른 문자 열을 확인할 수 있다.
확인된 시간 계산기(48)는 확인된 문자 열이 확인된 발성 속도로 발성될 때 소모되는 발성 시간을 계산한다. 계산은 확인 유닛(46)에 의해 확인되는 확인된 문자 열 내의 음절 또는 모라의 수와, 확인된 속도 계산기(36)에 의해 계산되는 확인된 발성 속도에 기초하여 이루어진다. 상기 구성을 갖는 확인된 시간 계산기(48)는 대상인 말하는 사람이 확인 유닛(46)에 의해 확인되는 확인된 문자 열을 발성할 때 소모되는 발성 시간을 계산할 수 있다.
지정 유닛(50)은 확인 유닛(46)에 의해 확인되는 확인된 문자 열에 대응하는 음성 데이터의 범위를 지정한다. 보다 정확하게 말하자면, 지정 유닛(50)은, 확인된 범위로서, 확인 전의 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분의 일부분을 지정하며, 그 부분은 그의 상위 위치에서, 확인된 발성 속도로 확인된 문자 열을 발성하는데 소모되는 시간만큼 상기 상위 위치로부터 전진한 위치까지의 범위이다.
예를 들어, 지정 유닛(50)은, 확인된 범위로서, 확인 전의 포커스에 의해 지정된 위치로부터, 확인된 발성 속도로 확인된 문자 열을 발성하는데 소모되는 발성 시간만큼 상위 위치로부터 전진한 음성 데이터 내의 위치까지 범위의 부분을 지정할 수 있다. 즉, 지정 유닛(50)은 확인된 범위로서, 예를 들어 확인 전의 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분의 일부분을 지정할 수 있으며, 그 부분은 확인된 문자 열이 확인된 속도로 발성될 때 발성 시간 내에 발성되는 첫 번째 음소에서 마지막 음소까지의 범위이다.
텍스트의 부분이 확인된 문자 열로 확인되는 경우, 상위 위치 설정 유닛(52)은 다음 방식으로 포커스에 의해 지정되는 위치를 변경한다. 구체적으로, 상위 위치 설정 유닛(52)은 포커스에 의해 지정되는 위치를, 확인 전에 포커스가 미리 지정한 위치로부터, 지정 유닛(50)에 의해 지정되는 확인된 범위 다음의 위치로 변경한다. 즉, 텍스트의 부분이 확인된 문자 열로 확인되면, 상위 위치 설정 유닛(52)은 다음 방식으로 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분의 상위 위치를 변경한다. 구체적으로, 상위 위치 설정 유닛(52)은 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분의 상위 위치를, 확인 전의 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분의 상위 위치로부터, 확인된 발성 속도로 확인된 문자 열을 발성하는데 소모되는 발성 시간만큼 상기 상위 위치로부터 전진한 음성 데이터 내의 위치로 변경한다.
예를 들어, 포커스가 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분의 첫 번째 음소를 지정하는 경우에, 상위 위치 설정 유닛(52)은 다음 방식으로 포커스에 의해 지정될 음소를 변경할 수 있다. 구체적으로, 상위 위치 설정 유닛(52)은 포커스에 의해 지정되는 음소를, 확인 전에 포커스가 지정하였던 음소로부터, 지정 유닛(50)에 의해 지정되는 확인된 범위 내의 마지막 음소 뒤의 음소로 변경할 수 있다. 즉, 텍스트의 부분이 확인된 문자 열로 확인되면, 예를 들어 상위 위치 설정 유닛(52)은 다음 방식으로 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분에서의 첫 번째 음소를 변경할 수 있다. 구체적으로, 상위 위치 설정 유닛(52)은 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분에서의 첫 번째 음소를, 확인 전의 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분에서의 첫 번째 음소로부터, 확인된 발성 속도로 확인된 문자 열을 발성하는데 소모되는 시간에 발성되는 마지막 음소 뒤의 음소로 변경할 수 있다. 따라서, 상위 위치 설정 유닛(52)은, 확인된 문자 열에 이어서 다음 문자 열을 교정하도록 조작자에게 프롬프트할 때, 텍스트가 확인되어야 할 음성 데이터 내의 다음 부분을 자동으로 지정할 수 있다.
도 3은 본 실시예에 따른 지원 디바이스(20)의 처리 흐름을 도시한다. 조작자로부터 시작 명령을 수신하면, 예를 들어, 지원 디바이스(20)는 도 3에 도시된 단계 S11 내지 S18의 처리를 수행한다.
먼저, 단계 S11에서, 후보 획득 유닛(34)은 포커스를 수신한다. 후보 획득 유닛(34)은, 예를 들어 조작자에 의해 입력되는 위치를 지정하는 포커스를 수신한다.
그 다음, 단계 S12에서, 확인 유닛(46)은 미리 결정된 범위 내에서(예를 들어, 특정 수의 문자, 특정 수의 음소 또는 특정 수의 형태소 내에서) 포커스에 의해 지정된 위치 다음의 텍스트가 확인되는지 여부를 판정한다. 확인 유닛(46)은, 예를 들어 포커스에 의해 지정된 위치 다음의 미리 결정된 범위의 문자 속성이 그 범위가 확인됨을 표시하는 값으로 설정되어 있는지 여부를 판정할 수 있다. 확인 유닛(46)은 텍스트가 확인되는 경우 프로세스가 단계 S13으로 진행하도록 하고, 그렇지 않은 경우 단계 S14로 진행하도록 한다.
단계 S12에서 텍스트가 확인된 것으로 판정되는 경우, 단계 S13에서, 지정 유닛(50)은 미리 결정된 범위 내에서 포커스에 의해 지정된 위치 다음의 문자 열(즉, 확인된 문자 열)에 대응하는 음성 데이터의 범위(즉, 확인된 범위)를 지정한다. 예를 들어, 지정 유닛(50)은, 확인된 범위로서, 확인된 문자 열에 대응하는 음소 열 내의 첫 번째에서 마지막 음소까지의 일부분을 지정할 수 있다. 확인된 범위를 지정한 후에, 지정 유닛(50)은 프로세스가 단계 S17로 진행하도록 한다.
단계 S12에서 텍스트가 확인되지 않는 것으로 판정되는 경우, 단계 S14에서, 지원 디바이스(20)는 조작자에게 하나 또는 복수의 후보 문자 열을 표시한다. 단계 S14에서의 처리의 상세한 설명은 도 4를 참조하여 설명될 것이다.
이어서, 단계 S15에서, 확인 유닛(46)은 미리 결정된 범위 내에서 포커스에 의해 지정된 위치 다음의 텍스트를 교정하도록 조작자에게 프롬프트한다. 그 다음, 지정 유닛(46)은 확인된 문자 열로서 조작자에 의해 교정된 문자 열을 수신하고, 수신되는 확인된 문자 열을 확인 데이터베이스(16)에 기록한다. 또한, 확인 유닛(46)은, 문자 열이 확인됨을 표시하는 값을 갖도록, 확인된 문자 열에 대응하는 문자 속성을 재기록한다.
그 후에, 단계 S16에서, 지정 유닛(50)은 단계 S15에서 확인되는 확인된 문자 열에 대응하는 음성 데이터의 확인된 범위를 지정한다. 단계 S16에서의 처리의 상세한 설명은 도 6과 관련하여 설명될 것이다.
그 다음, 단계 S17에서, 상위 위치 설정 유닛(52)은 포커스에 의해 지정되는 위치를, 확인 전의 포커스에 의해 지정된 위치로부터, 단계 S13 또는 S16에서 지정 되는 확인된 범위 다음의 위치로 변경한다.
그 다음, 단계 S18에서, 상위 위치 설정 유닛(52)은 포커스에 의해 지정된 위치가 음성 데이터의 끝에 이르는지 여부를 판정한다. 포커스에 의해 지정된 위치가 음성 데이터의 끝에 이르지 않은 경우, 상위 위치 설정 유닛(52)은 프로세스가 단계 S12로 진행하도록 한다. 포커스에 의해 지정된 위치가 음성 데이터의 끝에 이르는 경우, 상위 위치 설정 유닛(52)은 흐름을 종료한다.
도 4는 도 3에 도시된 처리 흐름에서의 단계 S14의 예시적인 처리 흐름을 도시한다. 도 3에서의 처리 흐름의 단계 S14에서, 지원 디바이스(20)는 예를 들어 도 4에 도시된 단계 S21 내지 S29의 처리를 수행할 수 있다.
먼저 단계 S21에서, 확인된 속도 계산기(36)는 음성 데이터 내의 이미 확인된 데이터를 갖는 확인된 부분의 발성 속도인 확인된 발성 속도를 계산한다. 예를 들어, 확인된 속도 계산기(36)는, 확인된 발성 속도로서, 음성 데이터 내의 미리 확인된 텍스트를 갖는 확인된 부분에서 단위 시간 당 발성되는 음절 또는 모라의 수를 계산할 수 있다.
확인된 속도 계산기(36)는 확인 데이터베이스(16)로부터, 예를 들어 텍스트가 이미 확인된 곳인 확인된 부분의 일부분에 대한 음성 인식 결과를 획득한다. 확인된 부분의 이 일부분에서는, 음성이 연속적으로 이루어진다(즉, 이 부분은 발성이 중단되는 구간을 포함하지 않음). 그 후에, 확인된 속도 계산기(36)는, 예를 들어 확인된 부분의 발성 시간과, 확인된 부분의 문자 열이 발성되는 기간에 포함된 음절 또는 모라의 수를 계산한다. 계산은 획득된 음성 인식 결과에 기초하여 이루 어진다. 확인된 속도 계산기(36)는 예를 들어, 확인된 부분의 발성 시간으로서, 확인된 부분의 첫 번째 음소와 마지막 음소의 타임스탬프 간의 차이를 계산할 수 있다. 한편, 확인된 속도 계산기(36)는 예를 들어, 음소 열과 음절 또는 모라의 수가 서로 연관되어 있는 표 등을 참조함으로써, 확인된 부분의 문자 열이 발성되는 기간에 포함된 음절 또는 모라의 수를 계산할 수 있다.
확인된 속도 계산기(36)는, 확인된 발성 속도로서, 예를 들어 확인된 부분의 문자 열의 발성에 포함된 음절 또는 모라의 수를, 확인된 부분의 발성 시간으로 나눈 결과를 계산할 수 있다. 예를 들어, 확인된 부분의 문자 열이 strD로 표기되고, 소정의 문자 열로부터의 음절 또는 모라의 수를 계산하기 위한 함수가 mora()로 표기되고, 확인된 부분의 발성 시간이 timeDA11로 표기된다고 가정하자. 여기에서, 확인된 속도 계산기(36)는 예를 들어 다음 식 (1)을 계산함으로써 확인된 발성 속도(식 (1)의 speedA)를 계산할 수 있다.
speedA = mora(strD)/timeDA11 ...(1)
따라서, 확인된 속도 계산기(36)는 대상인 말하는 사람에 특정한 발성 속도를 나타내는 확인된 발성 속도를 계산할 수 있다.
그 다음, 단계 S22에서, 미확인된 발성 시간 계산기(40)는, 포커스에 의해 지정된 위치와, 포커스에 의해 지정된 위치 후의 첫 번째 무음 부분 직전의 위치와의 사이의 시간 범위를 계산한다. 따라서, 미확인된 발성 시간 계산기(40)는, 포커스에 의해 지정된 위치 다음의, 텍스트가 확인되지 않은 곳인 미확인된 부분의 실제 음성의 발성 시간을 계산할 수 있다.
예를 들어, 미확인된 발성 시간 계산기(40)는, 텍스트가 확인되지 않은 미확인된 부분의 음성의 발성 시간으로서, 포커스에 의해 지정된 음소와, 포커스에 의해 지정된 음소 후의 첫 번째 무음 부분 직전의 음소와의 사이의 시간 범위를 계산할 수 있다. 예를 들어, 음성 "고맙습니다(Thank you)"가 이루어지는 경우, 음성 전후의 부분은 종종 무음 부분이다. 따라서, 미확인된 발성 시간 계산기(40)는 무음 부분 직전의 음소를 검출함으로써 발성된 음성의 끝 위치를 검출할 수 있다.
또한, 포커스는 예를 들어 텍스트가 확인되지 않은 미확인된 부분의 첫 번째 음소를 지정한다. 따라서, 미확인된 발성 시간 계산기(40)는, 포커스에 의해 지정된 음소를 획득함으로써, 텍스트가 확인되지 않은 미확인된 부분의 음성의 상위 위치를 검출할 수 있다. 그러므로, 미확인된 발성 시간 계산기(40)는, 포커스에 의해 지정된 위치로부터 무음 부분 직전의 위치까지 이르는 범위의 시간을 검출함으로써, 텍스트가 확인되지 않은 미확인된 부분의 음성의 발성 시간을 계산할 수 있다.
또한, 미확인된 발성 시간 계산기(40)는, 예를 들어 확인 데이터베이스(16)에 저장된 각각의 음소의 타임스탬프의 간격을 검출할 수 있다. 그 다음, 미확인된 발성 시간 계산기(40)는 미리 결정된 시간 또는 더 긴 시간의 간격이 무음 부분이라고 판정할 수 있다. 대신에, 미확인된 발성 시간 계산기(40)는 음성 데이터베이스(12)에 저장된 음성 데이터의 진폭을 검출할 수 있고, 미리 결정된 진폭 또는 더 작은 진폭을 갖는 부분이 무음 부분이라고 판정할 수 있다.
그 후에, 단계 S23에서, 후보 획득 유닛(34)은, 후보 데이터베이스(18)로부터, 포커스에 의해 지정된 위치 다음 부분의 음성 인식 결과인 복수의 후보 문자 열을 획득한다. 후보 획득 유닛(34)은, 후보 데이터베이스(18)로부터, 예를 들어 포커스에 의해 지정된 위치 다음의 미리 결정된 범위 내의 텍스트를 생성하기 위한 프로세스에서 사용되는 복수의 후보 문자 열을 획득할 수 있다.
추가적으로, 단계 S23에서, 입력 유닛(32)은 예를 들어, 조작자로부터 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분에 대응하는 문자 열의 적어도 일부(예를 들어, 처음 특정 수의 문자)의 입력을 수신할 수 있다. 이 경우에, 후보 획득 유닛(34)은, 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분의 음성 인식 결과로부터, 예를 들어 그의 상위 부분에 사용자에 의해 입력된 문자 열을 각각 포함하는 복수의 후보 문자 열을 획득할 수 있다. 따라서, 입력 유닛(32)은 후보 데이터베이스(18)에 저장된 복수의 후보 문자 열들 중에서 보다 정확한 후보 문자 열을 추출할 수 있다.
그 다음, 후보 시간 계산기(38) 및 선택기(42)는 단계 S23에서 획득된 복수의 후보 문자 열 각각에 대하여 단계 S25 및 S26의 처리를 수행한다(S24 내지 S27). 단계 S25에서, 후보 시간 계산기(38)는 각각의 후보 문자 열이 확인된 발성 속도로 발성될 때 소모되는 발성 시간을 계산한다. 계산은 후보 문자 열 내의 음절 또는 모라의 수와, 단계 S21에서 계산되는 확인된 발성 속도에 기초하여 이루어진다.
따라서, 후보 시간 계산기(38)는 대상인 말하는 사람이 복수의 후보 문자 열 각각을 발성할 때 소모되는 추정된 발성 시간을 계산할 수 있다. 이러한 처리를 수행하는 후보 시간 계산기(38)의 예시적인 구조의 상세한 설명은 도 5와 관련하여 설명될 것이다.
그 후에 단계 S26에서, 선택기(42)는, 단계 S22에서 계산되는 음성의 실제 발성 시간과, 후보 문자 열이 확인된 발성 속도로 발성될 때 소모될 단계 S25에서 계산되는 추정된 발성 시간 간의 차이의 절대값을 계산한다. 따라서, 선택기(42)는 비교값을 계산할 수 있다. 비교값이 더 작을수록, 후보 문자 열을 발성하는데 추정된 발성 시간이 음성 데이터 내의 음성의 실제 발성 시간에 더 가까운 것을 나타낸다.
후보 문자 열 전부에 대하여 단계 S25 및 S26의 처리의 완료시, 후보 시간 계산기(38) 및 선택기(42)는 프로세스가 단계 S28로 진행하도록 한다. 그 다음, 단계 S28에서, 선택기(42)는, 단계 S23에서 획득된 복수의 후보 문자 열들 중에서, 확인된 발성 속도로 선택된 후보 문자 열을 발성하는데 소모되는 발성 시간이 음성 데이터 내의 미확인된 부분의 음성의 실제 발성 시간에 가장 가까운 것인 후보 문자 열을 우선적으로 선택한다.
선택기(42)는, 예를 들어 단계 S26에서 계산되는 비교값이 미리 결정된 값보다 작은 것인 하나 또는 복수의 후보 문자 열을 선택할 수 있다. 또한, 선택기(42)는, 예를 들어 단계 S26에서 계산되는 그의 비교값의 오름차순에서 미리 결정된 수의 복수의 후보 문자 열을 선택할 수 있다. 따라서, 선택기(42)는 가장 가능성 있는 하나 또는 복수의 후보 문자 열을 우선적으로 선택할 수 있다.
이후, 단계 S29에서, 프리젠테이션 유닛(44)은 단계 S28에서 우선적으로 선택되는 하나 또는 복수의 후보 문자 열을, 사용자 인터페이스(22)를 통하여 조작자 에게 제시한다. 프리젠테이션 유닛(44)은, 예를 들어 단계 S26에서 계산되는 그의 비교값의 오름차순으로, 선택된 복수의 후보 문자 열을 모니터 상에 표시할 수 있다.
설명한 바와 같이, 지원 디바이스(20)는 대상인 말하는 사람에 의해 후보 문자 열을 발성하는데 소모되는 추정된 발성 시간이 음성의 실제 발성 시간에 가장 가까운 것인 후보 문자 열을 조작자에게 제시할 수 있다. 따라서, 지원 디바이스(20)는, 음성 데이터로부터 텍스트를 생성하는 프로세스에 있어서, 음성 인식 디바이스(14)에 의해 생성된 복수의 후보 문자 열들 중에서 가장 가능성 있는 후보 문자 열을 조작자에게 제시할 수 있다. 따라서, 지원 디바이스(20)를 채용함으로써, 텍스트가 확인되지 않은 미확인된 부분 내의 문자 열을 조작자에 의해 교정하기 위한 처리가 단순화될 수 있다. 따라서, 조작자는 지원 디바이스(20)를 채용함으로써 감소된 부담을 가지고 미확인된 텍스트를 갖는 미확인된 부분에서만 문자 열을 교정할 수 있다.
도 5는 본 실시예에 따른 후보 시간 계산기(38)의 예시적인 구조를 도시한다. 후보 시간 계산기(38)는 예를 들어, 음소 열 생성 유닛(62), 모라의 수 계산기(64), 교정 계수(correction factor) 계산기(66), 및 발성 시간 계산기(68)를 포함할 수 있다.
음소 열 생성 유닛(62)은 후보 데이터베이스(18)로부터 후보 문자 열을 수신한다. 음소 열 생성 유닛(62)은 수신된 후보 문자 열의 음소 열을 생성한다. 음소 열 생성 유닛(62)은, 예를 들어 문자와 음소가 서로 연관되어 있는 표를 참조함으 로써, 후보 문자 열에 대응하는 음소 열을 생성할 수 있다.
모라의 수 계산기(64)는 후보 문자 열 내의 모라의 수를 계산한다. 모라의 수 계산기(64)는, 예를 들어 음소 열과 모라의 수가 서로 연관되어 있는 표 등을 참조함으로써, 후보 문자 열이 발성될 때 포함되는 모라의 수를 계산할 수 있다.
교정 계수 계산기(66)는 후보 문자 열의 음소 열에 기초하여 교정 계수를 계산한다. 교정 계수 계산기(66)는 예를 들어, 음소의 표준 시간 길이와, 후보 문자 열의 음소 열에 포함된 복수의 음소 각각의 시간 길이와의 사이의 비율의 평균값을 나타내는 교정 계수를 계산한다. 구체적으로 말하자면, 교정 계수 계산기(66)는, 예를 들어 미리 생성된 표 등으로부터, 후보 문자 열의 음소 열에 포함된 복수의 음소 각각의 표준 시간 길이와 개별 시간 길이와의 사이의 비율을 판독한다. 그 다음, 교정 계수 계산기(66)는, 예를 들어 판독된 복수의 비율의 평균값을 교정 계수로서 출력할 수 있다.
발성 시간 계산기(68)는 먼저 모라의 수 계산기(64)에 의해 계산되는 후보 문자 열 내의 모라의 수에, 교정 계수 계산기(66)에 의해 계산되는 교정 계수를 곱함으로써 첫 번째 값을 획득한다. 그 다음, 발성 시간 계산기(68)는 획득된 첫 번째 값을, 확인된 속도 계산기(36)에 의해 계산되는 확인된 발성 속도로 나눈다. 따라서, 발성 시간 계산기(68)는 이 나누어진 값을 후보 문자 열이 확인된 발성 속도로 발성될 때 소모되는 발성 시간으로서 출력한다.
예를 들어, n 번째(n은 임의의 자연수임) 후보 문자 열이 strC[n]으로 표기되고, 소정의 문자 열 내의 모라의 수를 계산하기 위한 함수가 mora()로 표기되고, 소정의 문자 열에 포함된 음소 열을 계산하기 위한 함수가 phoneme()로 표기되고, 소정의 음소 열의 교정 계수를 계산하기 위한 함수가 vp()로 표기되고, 확인된 발성 속도가 speedA로 표기된다고 가정하자. 여기에서, 발성 시간 계산기(68)는, 예를 들어, 다음 식 (2)을 계산함으로써, 후보 문자 열이 발성될 때 소모되는 발성 시간(식 (2)에서의 time(strC[n]))을 계산할 수 있다.
time(strC[n]) =
{vp(phoneme(strC[n])) × mora(strC[n])}/speedA ...(2)
문자 열을 발성하는데 소모되는 발성 시간은 문자 열에 포함된 음소의 유형에 따라 다양하다. 따라서, 그에 따라 구성되는 후보 시간 계산기(38)는, 후보 문자 열에 포함된 음소의 유형에 관계없이, 후보 문자 열이 확인된 발성 속도로 발성될 때 소모되는 발성 시간을 정확하게 계산할 수 있다.
도 6은 단계 S17과 함께 도 3에 도시된 처리 흐름에서의 단계 S16의 처리 흐름의 예를 도시한다. 지정 유닛(50)은 도 3에 도시된 처리 흐름에서의 단계 S16에서 다음 단계 S41 내지 S46의 처리를 수행한다.
먼저, 단계 S41에서, 지정 유닛(50)은 확인된 문자 열 또는 확인된 문자 열의 음소 열과, 음성 데이터의 미확인된 부분의 상위 위치에서의 음성 인식 결과의 문자 열 또는 음소 열 사이의 일치(coincidence)의 정도를 계산한다. 즉, 지정 유닛(50)은, 확인 유닛(46)에 의해 확인되는 확인된 문자 열이, 음성 인식 디바이스(14)에 의한 음성 인식 결과로서 확인 데이터베이스(16)에 저장된 텍스트 중에서의 특정 문자 열과 어느 정도 부합(match)하는지를 나타내는 일치 정도를 계산한 다. 여기에서, 특정 문자 열은 확인된 문자 열에 대응하는 부분에서 포커스에 의해 지정된 위치 뒤에 위치되어 있다. 대안으로서, 지정 유닛(50)은, 확인 유닛(46)에 의해 확인되는 확인된 문자 열의 음소 열이, 음성 인식 디바이스(14)에 의한 음성 인식 결과로서 확인 데이터베이스(16)에 저장된 음소 열들 중에서의 특정 음소 열과 어느 정도 부합하는지를 나타내는 일치 값을 계산할 수 있다. 여기에서, 특정 음소 열은 확인된 문자 열에 대응하는 부분에서 포커스에 의해 지정된 위치 뒤에 위치되어 있다. 예를 들어, 지정 유닛(50)은, 일치 정도로서, 전체 확인된 문자 열 내의 문자 또는 음소의 수 대 일치하는 문자 또는 음소의 수의 비율을 계산할 수 있다.
이어서 단계 S42에서, 지정 유닛(50)은 단계 S41에서 계산되는 일치 정도가 기준 일치 정도보다 높은지 여부를 판정한다. 일치 정도가 기준 일치 정도보다 높다는 조건 하에, 지정 유닛(50)은 프로세스가 단계 S43으로 진행하도록 한다. 한편, 일치 정도가 기준 일치 정도와 같거나 이보다 작다는 조건 시에는, 지정 유닛(50)은 프로세스가 단계 S44로 진행하도록 한다.
단계 S41에서 계산되는 일치 정도가 기준 일치 정도보다 높은 경우, 지정 유닛(50)은 단계 S43에서 확인된 문자 열에 대응하는 음성 데이터의 범위(즉, 확인된 범위)를 지정한다. 구체적으로 말하자면, 지정 유닛(50)은, 음성 인식 결과의 문자 열 또는 음소 열과, 확인된 문자 열 또는 확인된 문자 열의 음소 열 사이의 매칭(matching)을 수행한다. 그 다음, 지정 유닛(50)은 부합된 음소의 첫 번째 음소에서부터 마지막 음소까지 확인된 범위로서 지정한다.
보다 구체적으로, 단계 S43에서의 예시적인 처리로서, 지정 유닛(50)은 예를 들어, 확인된 문자 열을 포커스에 의해 지정된 위치 다음의 문자 열과 문자 별로 연관시키거나, 또는 확인된 문자 열에 대응하는 음소 열을, 포커스에 의해 지정된 위치 다음의 문자 열에 대응하는 음소 열과 음소 별로 연관시킨다. 그 다음, 지정 유닛(50)은, 확인된 범위의 상위 위치로서, 포커스에 의해 지정된 위치 다음이며 확인된 문자 열의 첫 번째 문자 또는 음소와 연관되는 문자 또는 음소를 지정한다. 또한, 지정 유닛(50)은, 확인된 범위의 끝으로서, 포커스에 의해 지정된 위치 다음이며 확인된 문자 열의 마지막 문자 또는 음소와 연관되는 문자 또는 음소를 지정한다.
따라서, 지정 유닛(50)은 음성 인식 결과 내의 문자 열 또는 문자 열의 음소 열과, 확인된 문자 열 또는 확인된 문자 열의 음소 열 사이의 매칭을 수행함으로써, 확인된 범위를 계산할 수 있다. S43에서의 처리의 완료시, 지정 유닛(50)은 프로세스가 단계 S17로 진행하도록 한다.
단계 S41에서 계산되는 일치 정도가 기준 일치 정도와 같거나 이보다 낮은 경우, 지정 유닛(50)은 단계 S44에서 음성 데이터 내의 이미 확인된 텍스트를 갖는 확인된 부분의 발성 속도인 확인된 발성 속도를 계산한다. 지정 유닛(50)은, 예를 들어 확인된 속도 계산기(36)에 의해 계산되는 확인된 발성 속도를 획득할 수 있다. 대신에, 지정 유닛(50)은 확인된 속도 계산기(36)와 동일한 처리를 수행할 수 있다.
이후, 단계 S45에서, 지정 유닛(50)은 확인된 문자 열이 확인된 발성 속도로 발성될 때 소모되는 발성 시간을 계산한다. 따라서, 지정 유닛(50)은 대상인 말하는 사람이 확인된 문자 열을 발성할 때 소모되는 추정된 발성 시간을 계산할 수 있다.
지정 유닛(50)은, 예를 들어, 확인된 문자 열 내의 음절 또는 모라의 수와, 단계 S44에서 계산되는 확인된 발성 속도에 기초하여, 확인된 문자 열이 확인된 발성 속도로 발성될 때 소모되는 발성 시간을 계산한다. 지정 유닛(50)은, 예를 들어 도 5에 도시된 후보 시간 계산기(38)와 동일한 구조를 가질 수 있고, 후보 문자 열 대신에 확인된 문자 열을 처리함으로써 확인된 문자 열의 발성 시간을 계산할 수 있다. 따라서, 지정 유닛(50)은 확인된 문자 열이 확인된 발성 속도로 발성될 때 소모되는 발성 시간을 정확하게 계산할 수 있다.
이어서, 단계 S46에서, 지정 유닛(50)은 확인된 문자 열에 대응하는 음성 데이터의 범위(즉, 확인된 범위)를 지정한다. 보다 구체적으로, 단계 S46에서, 지정 유닛(50)은, 확인된 범위로서, 확인 전의 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분의 일부분을 지정하며, 이 일부분은 그의 상위 위치로부터, 확인된 발성 속도로 확인된 문자 열을 발성하는데 소모되는 시간만큼 상기 상위 위치에서 전진한 위치까지의 범위이다. 따라서, 지정 유닛(50)은, 조작자로 하여금 확인된 문자 열 다음의 문자 열을 확인하도록 할 때, 문자 열 확인을 받아야 할 음성 데이터 내의 다음 부분을 자동으로 지정할 수 있다.
예를 들어, 지정 유닛(50)은, 확인된 범위로서, 확인 전의 포커스에 의해 지정된 위치로부터, 확인된 발성 속도로 확인된 문자 열을 발성하는데 소모되는 발성 시간만큼 상기 상위 위치로부터 전진한 음성 데이터 내의 위치까지 이르는 범위인 부분을 지정할 수 있다. 즉, 지정 유닛(50)은, 예를 들어 확인 전의 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분의 일부분을 확인된 범위로서 지정할 수 있으며, 그 일부분은 확인된 문자 열이 확인된 속도로 발성될 때의 발성 시간 내에 발성되는 첫 번째 음소에서부터 마지막 음소까지 이르는 범위이다.
지정 유닛(50)은 상기 처리를 수행함으로서 확인된 문자 열에 대응하는 음성 데이터의 범위(즉, 확인된 범위)를 지정할 수 있다. 그 다음, 단계 S41 내지 S46의 처리의 완료시, 지정 유닛(50)은 프로세스가 단계 S17로 진행하도록 한다. 덧붙이자면, 지정 유닛(50)은 예를 들어 단계 S41 내지 S43에서의 처리를 스킵할 수 있다.
도 7은 상위 위치 설정 유닛(52)에 의해 포커스가 변경되는 예를 도시한다. 단계 S17에서, 상위 위치 설정 유닛(52)은 포커스를 변경한다. 즉, 텍스트의 부분이 확인된 문자 열로 확인되는 경우, 상위 위치 설정 유닛(52)은 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분의 상위 위치를 변경한다.
보다 구체적으로, 상위 위치 설정 유닛(52)은 포커스에 의해 지정되는 위치를, 확인 전의 포커스에 의해 지정된 위치로부터, 지정 유닛(50)에 의해 지정되는 확인된 범위 다음의 위치로, 변경한다. 예를 들어, 포커스가 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분의 첫 번째 음소를 지정하는 경우를 가정하자. 여기에서, 상위 위치 설정 유닛(52)은, 포커스에 의해 지정될 음소를, 지정 유닛(50)에 의해 지정되는 확인된 범위 내의 마지막 음소 다음의 음소로 변경한다.
예를 들어, 상위로부터 한 번에 특정 수의 문자를 순차적으로 교정함으로써 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분에 대한 교정을 수행하는 경우에, 상기 언급한 지원 디바이스(20)는, 텍스트의 부분이 확인된 문자 열로서 확인되면, 텍스트 확인을 받아야 할 음성 데이터 내의 다음 미확인된 부분의 상위 위치를 자동으로 지정할 수 있다. 따라서, 본 실시예의 지원 디바이스(20)의 사용에 의해 조작자에게 드는 부담이 감소될 수 있다.
도 8은 본 실시예의 제1 수정예에 따른 지원 디바이스(20)를 도시한다. 제1 수정예의 지원 디바이스(20)는 도 2에서 동일한 번호가 할당된 구성 요소와 실질적으로 동일한 구조 및 기능을 채용하며, 그에 따라 그의 다른 점만 설명될 것이다.
제1 수정예의 지원 디바이스(20)는 교체 유닛(replacement unit)(80)을 더 포함한다. 음성 데이터 내의 확인된 문자 열에 대응하는 확인된 부분에서의 음성을 교체하라는 명령에 응답하여, 교체 유닛(80)은, 확인된 문자 열에 대응하는 부분의 음성 데이터를, 확인된 문자 열이 음독되는 음성 데이터의 또 다른 조각으로 교체한다.
일부 경우에, 대상인 말하는 사람에 의한 잘못된 발음(pronunciation)으로 인해 음성 지원 디바이스(14)에 의한 인식 오류를 야기할 수 있다. 말하는 사람에 의한 잘못된 발음을 포함하는 이러한 부분에 대하여, 제1 수정예의 지원 디바이스(20)는, 원래 음성 데이터를, 올바른 음성을 포함하는 또 다른 음성 데이터로 교체할 수 있다.
또한, 제1 수정예의 지원 디바이스(20)에 있어서, 선택기(42)는, 복수의 후 보 문자 열들 중에서, 텍스트가 이미 확인된 부분에 포함된 후보 문자 열을 우선적으로 선택하는 기능을 더 포함할 수 있다. 음성 인식 디바이스(14)는 기술 용어와 같은 특정 단어를 올바르게 인식할 수 없을 가능성이 높다. 또한, 음성 인식 디바이스(14)는 말하는 사람의 습관적인 말버릇, 말씨 등을 포함하는 말하는 사람에 특정한 음성을 제대로 인식할 수 없을 가능성도 또한 높다. 또한 많은 경우에, 동일한 말하는 사람에 의한 음성에서 동일한 단어가 빈번하게 사용된다.
제1 수정예의 선택기(42)는 텍스트가 이미 확인된 후보 문자 열을 우선적으로 선택하므로, 상기 언급한 단어가 다른 단어보다 높은 우선순위를 가지고 선택될 수 있다. 따라서, 제1 수정예의 지원 디바이스(20)를 사용함으로서, 음성 인식 디바이스(14)가 말하는 사람에 특정한 음성 또는 특정 단어의 빈번한 출현으로 인해 틀린 인식을 수행할 때에도 조작자는 문자 열을 쉽게 교정할 수 있다.
도 9는 본 실시예의 제2 수정예에 따른 지원 디바이스(20)를 도시한다. 제2 수정예의 지원 디바이스(20)는 도 2에서 동일한 번호가 할당된 구성 요소와 실질적으로 동일한 구조 및 기능을 채용하며, 그에 따라 그의 다른 점만 설명될 것이다.
제2 수정예의 지원 디바이스(20)는 말하는 사람이 제스처에 의해 문장을 표현하는 동영상 데이터로부터의 텍스트의 생성을 지원한다. 예를 들어, 제2 수정예의 지원 디바이스(20)는 수화(sign language)로 표현되는 동영상 데이터로부터의 텍스트의 생성을 지원한다.
제2 수정예의 지원 디바이스(20)는 확인된 속도 계산기(36) 대신에 확인된 표현 속도(expression rate) 계산기(82)를 포함한다. 또한, 제2 수정예의 지원 디 바이스(20)는 미확인된 발성 시간 계산기(40) 대신에 미확인된 표현 시간 계산기(84)를 포함한다.
확인된 표현 속도 계산기(82)는 동영상 데이터 내의 이미 확인된 텍스트를 갖는 확인된 부분의 표현 속도인 확인된 표현 속도를 계산한다. 미확인된 표현 시간 계산기(84)는 동영상 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분에서의 표현의 표현 시간을 계산한다.
또한, 음성 데이터가 음성 인식을 받는 음성 인식 결과 대신에, 제2 수정예의 각각의 구성요소는 수화 등으로 표현되는 동영상 데이터가 인식되는 동영상 인식 결과를 다룬다. 또한, 후보 획득 유닛(34)은 동영상 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분의 동영상 인식 결과인 복수의 후보 문자 열을 획득한다. 선택기(42)는, 복수의 후보 문자 열들 중에서, 확인된 표현 속도로 후보 문자 열을 표현하는데 소모되는 표현 시간이 동영상 데이터의 미확인된 부분의 표현 시간에 가장 가까운 것인 후보 문자 열을 우선적으로 선택한다.
상기 언급한 구조를 갖는 지원 디바이스(20)는 조작자가 동영상 인식 결과를 교정할 때 가장 가능성 있는 후보 문자 열을 제시할 수 있다. 따라서, 조작자는 지원 디바이스(20)를 채용함으로써 감소된 부담을 가지고 미확인된 텍스트를 갖는 미확인된 부분에서만 문자 열을 교정할 수 있다.
또한, 도 9에 도시된 제2 수정예의 지원 디바이스(20)는 음악 데이터로부터의 악보(score)의 생성을 지원하는데 사용될 수 있다. 이 경우, 음성 데이터가 음성 인식을 받는 음성 인식 결과 대신에, 지원 디바이스(20)의 각각의 구성 요소는 음악 데이터 내의 음(note)이 자동 인식을 받는 자동 표기(automatic transcription) 결과를 다룬다.
또한, 확인된 표현 속도 계산기(82)는 음이 확인되는 음악 데이터의 확인된 부분의 표현 속도(예를 들어, 템포)인 확인된 표현 속도를 계산한다. 미확인된 표현 시간 계산기(84)는 음악 데이터 내의 미확인된 음을 갖는 미확인된 부분에서의 표현의 표현 시간을 계산한다.
그 다음, 후보 획득 유닛(34)은 음악 데이터 내의 미확인된 음을 갖는 미확인된 부분의 자동 표기 결과인 복수의 후보 음 열(note string)을 획득한다. 선택기(42)는, 복수의 후보 음 열들 중에서, 확인된 표현 속도로 후보 음을 표현하는데 소모되는 표현 시간이 음악 데이터의 미확인된 부분의 표현 시간에 가장 가까운 것인 후보 음 열을 우선적으로 선택한다.
상기 언급한 구조를 갖는 지원 디바이스(20)는 조작자가 자동 표기 결과를 교정할 때 가장 가능성 있는 후보 음 열을 제시할 수 있다. 따라서, 조작자는 지원 디바이스(20)를 채용함으로써 감소된 부담을 가지고 미확인된 음을 갖는 미확인된 부분에서의 음 열을 교정할 수 있다.
도 10은 실시예에 따른 컴퓨터(1900)의 하드웨어 구성의 예를 도시한다. 실시예의 컴퓨터(1900)는 CPU 주변 유닛, 입력/출력 유닛 및 레가시(legacy) 입력/출력 유닛으로 구성된다. CPU 주변 유닛은 호스트 컨트롤러(2082)에 의해 상호 접속되어 있는 CPU(2000), RAM(2020), 그래픽 컨트롤러(2075), 및 디스플레이(2080)를 포함한다. 입력/출력 유닛은 입력/출력 컨트롤러(2084)에 의해 호스트 컨트롤 러(2082)에 접속되어 있는 통신 인터페이스(2030), 하드 디스크 드라이브(2040) 및 CD-ROM 드라이브(2060)를 포함한다. 레가시 입력/출력 유닛은 입력/출력 컨트롤러(2084)에 접속되어 있는 ROM(2010), 플렉서블 디스크 드라이브(2050), 및 입력/출력 칩(2070)을 포함한다.
호스트 컨트롤러(2082)는 RAM(2020)과 CPU(2000)와 그래픽 컨트롤러(2075)를 접속시키며, 이들 중 둘은 높은 전송률로 RAM(2020)에 액세스한다. CPU(2000)는 ROM(2010) 및 RAM(2020)에 저장된 프로그램에 기초하여 동작하며, 컴포넌트 각각을 제어한다. 그래픽 컨트롤러(2075)는 CPU(2000) 등이 RAM(2020)에 제공된 프레임 버퍼 상에서 생성하는 영상 데이터를 획득하고, 디스플레이(2080) 상에 영상을 표시한다. 대안으로서, 그래픽 컨트롤러(2075)는 CPU(2000) 등에 의해 생성된 영상 데이터를 저장하는 프레임 버퍼를 포함할 수 있다.
입력/출력 컨트롤러(2084)는 호스트 컨트롤러(2082)와, 통신 인터페이스(2030), 하드 디스크 드라이브(2040), 및 CD-ROM 드라이브(2060)인 상대적으로 높은 속도의 입력/출력 디바이스를 접속시킨다. 통신 인터페이스(2030)는 네트워크를 통하여 외부 디바이스와 통신한다. 하드 디스크 드라이브(2040)는 컴퓨터(1900)에서 CPU(2000)에 의해 사용되는 프로그램 및 데이터를 저장한다. CD-ROM 드라이브(2060)는 CD-ROM(2095)으로부터 프로그램 또는 데이터를 읽어들이고, RAM(2020)을 통하여 하드 디스크 드라이브(2040)에 프로그램 또는 데이터를 제공한다.
또한, ROM(2010), 플렉서블 디스크 드라이브(2050) 및 입력/출력 칩(2070)과 같은 상대적으로 낮은 속도의 입력/출력 디바이스가 입력/출력 컨트롤러(2084)에 접속되어 있다. ROM(2010)은 컴퓨터(1900)의 시작시 실행될 부트 프로그램 및/또는 컴퓨터(1900)의 하드웨어에 따라 좌우되는 컴퓨터(1900)의 프로그램을 저장한다. 플렉서블 디스크 드라이브(2050)는 플렉서블 디스크(2090)로부터 프로그램 또는 데이터를 읽어들이고, RAM(2020)을 통하여 하드 디스크 드라이브(2040)에 프로그램 또는 데이터를 제공한다. 플렉서블 디스크 드라이브(2050)에 더하여, 입력/출력 칩(2070)은 예를 들어 병렬 포트, 직렬 포트, 키보드 포트, 마우스 포트 등을 통하여 다양한 입력/출력 디바이스를 입력/출력 컨트롤러(2084)에 접속시킨다.
RAM(2020)을 통하여 하드 디스크 드라이브(2040)에 제공될 프로그램은 플렉서블 디스크(2090), CD-ROM(2095), IC 카드 등과 같은 기록 매체에 저장되고, 하드 디스크 드라이브(2040)에 사용자에 의해 제공된다. 프로그램은 기록 매체로부터 판독되며, RAM(2020)을 통하여 컴퓨터(1900) 내의 하드 디스크 드라이브(2040)에 설치되어 CPU(2000)에 의해 실행된다.
컴퓨터(1900)로 하여금 도 2에 도시된 지원 디바이스(20)로서 기능하도록 하기 위해 컴퓨터(1900) 상에 설치된 프로그램은, 입력 모듈, 후보 획득 모듈, 확인된 속도 계산 모듈, 후보 시간 계산 모듈, 미확인된 발성 시간 계산 모듈, 선택 모듈, 프리젠테이션 모듈, 확인 모듈, 확인된 시간 계산 모듈, 지정 모듈, 및 상위 위치 설정 모듈을 포함한다. 프로그램 또는 모듈은 CPU(2000) 등과 함께 동작하여 컴퓨터(1900)로 하여금 입력 유닛(32), 후보 획득 유닛(34), 확인된 속도 계산기(36), 후보 시간 계산기(38), 미확인된 발성 시간 계산기(40), 선택기(42), 프리젠테이션 유닛(44), 확인 유닛(46), 확인된 시간 계산기(48), 지정 유닛(50), 및 상위 위치 설정 유닛(52)으로 기능하도록 한다.
컴퓨터(1900)로 하여금 도 8에 도시된 지원 디바이스(20)로서 기능하도록 하기 위해 컴퓨터(1900) 상에 설치된 프로그램은 교체 모듈을 더 포함한다. 프로그램 또는 모듈은 CPU(2000) 등과 함께 동작하여 컴퓨터(1900)로 하여금 교체 유닛(80)으로서 또한 기능하도록 한다.
컴퓨터(1900)로 하여금 도 9의 지원 디바이스(20)로서 기능하도록 하기 위해 컴퓨터(1900) 상에 설치된 프로그램은 확인된 표현 속도 계산 모듈 및 미확인된 표현 시간 계산 모듈을 더 포함한다. 프로그램 또는 모듈은 CPU(2000) 등과 함께 동작하여 컴퓨터(1900)로 하여금 확인된 표현 속도 계산기(82) 및 미확인된 표현 시간 계산기(84)로서 또한 기능하도록 한다.
이들 프로그램에 기록된 정보 처리는 컴퓨터(1900)로 읽어들임으로써, 컴퓨터(1900)로 하여금 입력 유닛(32), 후보 획득 유닛(34), 확인된 속도 계산기(36), 후보 시간 계산기(38), 미확인된 발성 시간 계산기(40), 선택기(42), 프리젠테이션 유닛(44), 확인 유닛(46), 확인된 시간 계산기(48), 지정 유닛(50), 상위 위치 설정 유닛(52), 교체 유닛(80), 확인된 표현 속도 계산기(82), 및 미확인된 표현 시간 계산기(84)로서 기능하도록 한다. 이들 유닛은 소프트웨어와 상술한 다양한 하드웨어 리소스의 협력에 의해 구현된 구체적 수단들이다. 본 실시예의 컴퓨터(1900)의 애플리케이션에 따라 정보를 계산하거나 처리하도록 이들 구체적 수단을 사용함으로써 애플리케이션에 특정한 지원 디바이스(20)가 구성될 수 있다.
예를 들어, 컴퓨터(1900)와 외부 디바이스 등 사이의 통신을 수행하기 위하 여, CPU(2000)는 RAM(2020)에 로딩된 통신 프로그램을 실행하고, 통신 프로그램에 기록된 처리 콘텐츠에 따라 통신 처리를 수행하도록 통신 인터페이스(2030)에 지시한다. CPU(2000)에 의해 제어되면, 통신 인터페이스(2030)는 RAM(2020), 하드 디스크 드라이브(2040), 플렉서블 디스크(2090) 또는 CD-ROM(2095) 등과 같은 저장 디바이스에서 제공되는 전송 버퍼 영역 등에 저장된 전송 데이터를 읽어들이고, 데이터를 네트워크에 전송한다. 다른 경우에, 통신 인터페이스(2030)는 네트워크로부터 수신된 수신 데이터를 저장 디바이스에서 제공되는 수신 버퍼 영역 등에 기록한다. 따라서, 통신 인터페이스(2030)는 직접 메모리 액세스(DMA) 방법에 의해 자기와 저장 디바이스 사이에 전송/수신 데이터를 전달할 수 있다. 대안으로서, CPU(2000)는 데이터 전달 소스의 통신 인터페이스(2030) 또는 저장 디바이스로부터 데이터를 읽어들인 다음, 데이터 전달 목적지의 저장 디바이스 또는 통신 인터페이스(2030)에 데이터를 기록함으로써, 전송/수신 데이터를 전달할 수 있다.
또한, CPU(2000)는 DMA 전달 등에 의해 RAM(2020) 상에 하드 디스크 드라이브(2040), CD-ROM 드라이브(2060)(CD-ROM(2095)), 또는 플렉서블 디스크 드라이브(2050)(플렉서블 디스크(2090))와 같은 외부 저장 디바이스에 저장되어 있는 데이터베이스 또는 파일의 전부 또는 필요한 부분을 로딩한다. 그 다음, CPU(2000)는 RAM(2020) 내의 데이터에 대한 다양한 처리를 수행한다. CPU(2000)는 DMA 전달 등에 의해 외부 저장 디바이스로 처리를 행한 데이터를 다시 재기록한다. 이러한 처리에 있어서 RAM(2020)은 외부 저장 디바이스의 콘텐츠를 임시 저장하는 것으로 간주될 수 있으므로, 본 실시예에서 RAM(2020), 외부 저장 디바이스 등은 메모리, 저 장 유닛, 저장 디바이스 등으로 총칭하여 불린다. 본 실시예의 다양한 프로그램, 데이터, 표, 데이터베이스 등 내의 다양한 종류의 정보는 이러한 저장 디바이스에 저장되고 정보 처리를 받게 된다. CPU(2000)는 캐시 메모리에 RAM(2020)의 일부를 보유할 수 있고 캐시 메모리 상에서 판독 및 기록을 수행할 수 있다는 것을 유의하자. 캐시 메모리는 이 형태에서도 여전히 RAM(2020)의 기능의 일부로서 지원하기 때문에, 달리 포함되지 않는다고 지정되지 않는 한, 캐시 메모리는 본 실시예에서의 RAM(2020), 메모리 및/또는 저장 디바이스 중 적어도 하나에 포함되는 것으로 간주된다.
CPU(2020)는 또한 본 실시예에서 기재된 다양한 처리를 수행하며, 이는 RAM(2020)으로부터 읽어들인 데이터에 대하여 프로그램의 명령 시퀀스에 의해 지정되는 것이다. 여기에서, 처리는 다양한 계산, 정보 처리, 조건의 판정, 및 정보의 검색 및 교체를 포함한다. 그 다음, CPU(2000)는 RAM(2020)으로 데이터를 다시 재기록한다. 예를 들어, 조건의 판정을 수행하는 경우를 가정하자. CPU(2000)는 먼저 실시예에서 나타난 변수 각각이 또 다른 변수 또는 상수에 비교하여 더 큰지, 더 작은지, 그 이상인지, 그 이하인지, 또는 같은지와 같은 조건을 충족하는지 여부를 판정한다. 그 다음, 조건이 충족되면(또는 충족되지 않으면), CPU(2000)는 프로세스가 상이한 명령 시퀀스로 파생(branch)하도록 하거나, 서브루틴(sub-routine)을 호출한다.
CPU(2000)는 또한 저장 디바이스 내의 파일, 데이터베이스 등에 저장된 정보를 검색할 수 있다. 예를 들어, 복수의 엔트리가 저장 디바이스에 저장되어 있고 각각의 엔트리에 대하여 제2 속성의 속성값이 제1 속성의 대응하는 속성값과 연관되어 있는 경우를 가정하자. 제2 속성의 속성값은 제1 속성의 속성값과 각각 연관된다. 여기에서, CPU(2000)는, 저장 디바이스에 저장된 복수의 엔트리들 중에서, 제1 속성값이 제1 속성값을 지정하는 조건을 충족하는 것인 엔트리를 찾도록 저장 디바이스를 검색한 다음, 동일한 엔트리에 저장된 제2 속성의 속성값을 판독할 수 있다. 따라서, CPU(2000)는 미리 결정된 조건을 충족하는 제1 속성과 연관된 제2 속성의 속성값을 획득할 수 있다.
상기 설명한 프로그램 또는 모듈은 외부 기록 매체에 저장될 수 있다. 플렉서블 디스크(2090) 및 CD-ROM(2095) 이외에, 기록 매체는 DVD 또는 CD와 같은 광 기록 매체, MO와 같은 자기 광학 기록 매체, 테이프 매체, 및 IC 카드와 같은 반도체 메모리를 포함한다. 다른 경우에, 프로그램은 전용 통신 네트워크 또는 인터넷에 접속되어 있는 서버 시스템에서 제공되는 하드 디스크 또는 RAM과 같은 저장 디바이스를 기록 매체로서 사용함으로써 네트워크를 통하여 컴퓨터(1900)에 제공될 수 있다.
상기에서는 본 발명이 실시예에 의해 설명되었다. 그러나, 본 발명의 기술적 범위는 상기 실시예의 범위에 한정되지 않는다. 다양한 수정 및 개량이 상기 실시예에 추가될 수 있다는 것이 당해 기술 분야에서의 숙련자에게 명백하다. 이러한 수정되거나 개선된 실시예는 본 발명의 기술적 범위 내에 포함될 수 있다는 것이 청구 범위로부터 명백하다.
도 1은 실시예에 따른 음성 인식 시스템(10)의 구조를 도시한다.
도 2는 확인 데이터베이스(16) 및 후보 데이터베이스(18)를 함께 갖는 실시예의 지원 디바이스(20)의 구조를 도시한다.
도 3은 실시예의 지원 디바이스(20)의 처리 흐름을 도시한다.
도 4는 도 3에서의 처리 흐름의 단계 S14의 예시적인 처리 흐름을 도시한다.
도 5는 실시예의 후보 시간 계산기(38)의 예시적인 구조를 도시한다.
도 6은 단계 S17을 함께 갖는, 도 3에서의 처리 흐름의 단계 S16의 예시적인 처리 흐름을 도시한다.
도 7은 포커스가 상위 위치 설정 유닛(52)에 의해 변경되는 예를 도시한다.
도 8은 실시예의 제1 수정예에 따른 지원 디바이스(20)를 도시한다.
도 9는 실시예의 제2 수정예에 따른 지원 디바이스(20)를 도시한다.
도 10은 실시예에 따른 컴퓨터(1900)의 하드웨어 구성의 예를 도시한다.
<도면 부호의 설명>
10 음성 인식 시스템
12 음성 데이터베이스
14 음성 인식 디바이스
16 확인 데이터베이스
18 후보 데이터베이스
20 지원 디바이스
22 사용자 인터페이스
32 입력 유닛
34 후보 획득 유닛
36 확인된 속도 계산기
38 후보 시간 계산기
40 미확인된 발성 시간 계산기
42 선택기
44 프리젠테이션 유닛
46 확인 유닛
48 확인된 시간 계산기
50 지정 유닛
52 상위 위치 설정 유닛
62 음소 열 생성 유닛
64 모라의 수 계산기
66 교정 계수 계산기
68 발성 시간 계산기
80 교체 유닛
82 확인된 표현 속도 계산기
84 미확인된 표현 시간 계산기
1900 컴퓨터
2000 CPU
2010 ROM
2020 RAM
2030 통신 인터페이스
2040 하드 디스크 드라이브
2050 플렉서블 디스크 드라이브
2060 CD-ROM 드라이브
2070 입력/출력 칩
2075 그래픽 컨트롤러
2080 디스플레이
2082 호스트 컨트롤러
2084 입력/출력 컨트롤러
2090 플렉서블 디스크
2095 CD-ROM

Claims (10)

  1. 음성 데이터(speech data)로부터의 텍스트의 생성을 지원하기 위한 지원 디바이스로서,
    음성 데이터 내의 이미 확인된(confirmed) 텍스트를 갖는 확인된 부분의 발성 속도(utterance rate)인 확인된 발성 속도를 계산하기 위한 확인된 속도 계산기;
    음성 데이터 내의 미확인된(unconfirmed) 텍스트를 갖는 미확인된 부분에 대한 음성 인식으로부터의 결과인 복수의 후보 문자 열을 획득하기 위한 후보 획득 유닛; 및
    상기 확인된 발성 속도로 상기 후보 문자 열 각각을 발성하는데 소모되는 발성 시간에 따라 상기 음성 데이터 내의 미확인된 부분의 발성 시간에 가장 가까운 발성 시간을 갖는 상기 복수의 후보 문자 열들 중 하나를 우선적으로 선택하기 위한 선택기를 포함하는, 지원 디바이스.
  2. 청구항 1에 있어서,
    상기 확인된 속도 계산기는, 상기 확인된 발성 속도로서, 상기 음성 데이터 내의 이미 확인된 텍스트를 갖는 확인된 부분에서 단위 시간 당 발성되는 음절(syllable) 또는 모라(mora)의 수를 계산하고,
    상기 지원 디바이스는, 상기 복수의 후보 문자 열 각각에 대하여, 상기 후보 문자 열 내의 음절 또는 모라의 수와 상기 확인된 발성 속도에 기초하여, 상기 확인된 발성 속도로 상기 후보 문자 열을 발성하는데 소모되는 발성 시간을 계산하기 위한 후보 시간 계산기를 더 포함하고,
    상기 선택기는 상기 후보 시간 계산기에 의해 계산된 상기 발성 시간에 따라 상기 음성 데이터 내의 미확인된 부분의 발성 시간에 가장 가까운 발성 시간을 갖는 상기 복수의 후보 문자 열들 중 하나를 우선적으로 선택하는 것인, 지원 디바이스.
  3. 청구항 1에 있어서,
    텍스트의 일부가 확인된 문자 열로서 확인되는 경우, 상기 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분의 상위 위치(top position)를, 확인 전의 상기 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분의 상위 위치로부터, 상기 확인된 발성 속도로 상기 확인된 문자 열을 발성하는데 소모되는 발성 시간만큼 상기 상위 위치로부터 전진한 위치로, 변경하기 위한 상위 위치 설정 유닛을 더 포함하는, 지원 디바이스.
  4. 청구항 1에 있어서,
    상기 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분에 대응하는 문자 열의 적어도 일부를 사용자로부터 수신하기 위한 입력 유닛을 더 포함하고,
    상기 후보 획득 유닛은 상기 음성 데이터 내의 미확인된 텍스트를 갖는 미확 인된 부분의 음성 인식 결과 중에서 사용자에 의해 입력된 문자 열을 포함하는 상기 복수의 후보 문자 열을 획득하는 것인, 지원 디바이스.
  5. 청구항 1에 있어서,
    상기 선택기는 상기 복수의 후보 문자 열로부터 텍스트가 이미 확인된 부분에 포함된 후보 문자 열을 우선적으로 선택하는 것인, 지원 디바이스.
  6. 말하는 사람(speaker)이 제스처에 의해 문장을 표현하는 동영상 데이터로부터의 텍스트의 생성을 지원하기 위한 지원 디바이스로서,
    동영상 데이터 내의 이미 확인된 텍스트를 갖는 확인된 부분의 표현 속도(expression rate)인 확인된 표현 속도를 계산하기 위한 확인된 표현 속도 계산기;
    동영상 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분의 영상 인식으로부터의 결과인 복수의 후보 문자 열을 획득하기 위한 후보 획득 유닛; 및
    상기 복수의 후보 문자 열들 중에서, 상기 확인된 표현 속도로 상기 후보 문자 열을 표현하는데 소모되는 표현 시간이 상기 동영상 데이터의 미확인된 부분의 표현 시간에 가장 가까운 것인 후보 문자 열을 우선적으로 선택하기 위한 선택기를 포함하는, 지원 디바이스.
  7. 컴퓨터로 하여금 음성 데이터로부터의 텍스트의 생성을 지원하기 위한 지원 디바이스로서 기능하도록 하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체로서, 상기 프로그램은 상기 컴퓨터로 하여금,
    음성 데이터 내의 이미 확인된 텍스트를 갖는 확인된 부분의 발성 속도인 확인된 발성 속도를 계산하기 위한 확인된 속도 계산기;
    음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분에 대한 음성 인식으로부터의 결과인 복수의 후보 문자 열을 획득하기 위한 후보 획득 유닛; 및
    상기 확인된 발성 속도로 상기 후보 문자 열 각각을 발성하는데 소모되는 발성 시간에 따라 상기 음성 데이터 내의 미확인된 부분의 발성 시간에 가장 가까운 발성 시간을 갖는 상기 복수의 후보 문자 열들 중 하나를 우선적으로 선택하기 위한 선택기
    로서 기능하도록 하는 것인, 컴퓨터 판독가능한 기록매체.
  8. 컴퓨터로 하여금 말하는 사람이 제스처에 의해 문장을 표현하는 동영상 데이터로부터의 텍스트의 생성을 지원하기 위한 지원 디바이스로서 기능하도록 하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체로서, 상기 프로그램은 상기 컴퓨터로 하여금,
    동영상 데이터 내의 이미 확인된 텍스트를 갖는 확인된 부분의 표현 속도인 확인된 표현 속도를 계산하기 위한 확인된 표현 속도 계산기;
    동영상 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분의 영상 인식 결과인 복수의 후보 문자 열을 획득하기 위한 후보 획득 유닛; 및
    상기 확인된 표현 속도로 상기 후보 문자 열 각각을 표현하는데 소모되는 표현 시간에 따라 상기 동영상 데이터 내의 미확인된 부분의 표현 시간에 가장 가까운 표현 시간을 갖는 상기 복수의 후보 문자 열들 중 하나를 우선적으로 선택하기 위한 선택기
    로 기능하도록 하는 것인, 컴퓨터 판독가능한 기록매체.
  9. 음성 데이터로부터의 텍스트의 생성을 지원하기 위한 지원 방법으로서,
    음성 데이터 내의 이미 확인된 텍스트를 갖는 확인된 부분의 발성 속도인 확인된 발성 속도를 계산하는 확인된 속도 계산 단계;
    상기 음성 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분에 대한 음성 인식 결과인 복수의 후보 문자 열을 획득하는 후보 획득 단계; 및
    상기 확인된 발성 속도로 상기 후보 문자 열 각각을 발성하는데 소모되는 발성 시간에 따라 상기 음성 데이터 내의 미확인된 부분의 발성 시간에 가장 가까운 발성 시간을 갖는 상기 복수의 후보 문자 열들 중 하나를 우선적으로 선택하는 선택 단계를 포함하는, 지원 방법.
  10. 말하는 사람이 제스처에 의해 문장을 표현하는 동영상 데이터로부터의 텍스트의 생성을 지원하기 위한 지원 방법으로서,
    동영상 데이터 내의 이미 확인된 텍스트를 갖는 확인된 부분의 표현 속도인 확인된 표현 속도를 계산하는 확인된 표현 속도 계산 단계;
    상기 동영상 데이터 내의 미확인된 텍스트를 갖는 미확인된 부분의 영상 인 식 결과인 복수의 후보 문자 열을 획득하는 후보 획득 단계; 및
    상기 확인된 표현 속도로 상기 후보 문자 열 각각을 표현하는데 소모되는 표현 시간에 따라 상기 동영상 데이터 내의 미확인된 부분의 표현 시간에 가장 가까운 표현 시간을 갖는 상기 복수의 후보 문자 열들 중 하나를 우선적으로 선택하는 선택 단계를 포함하는, 지원 방법.
KR1020090035109A 2008-04-23 2009-04-22 지원 디바이스, 프로그램 및 지원 방법 KR101054699B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008113190A JP5451982B2 (ja) 2008-04-23 2008-04-23 支援装置、プログラムおよび支援方法
JPJP-P-2008-113190 2008-04-23

Publications (2)

Publication Number Publication Date
KR20090112581A KR20090112581A (ko) 2009-10-28
KR101054699B1 true KR101054699B1 (ko) 2011-08-08

Family

ID=41215879

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090035109A KR101054699B1 (ko) 2008-04-23 2009-04-22 지원 디바이스, 프로그램 및 지원 방법

Country Status (3)

Country Link
US (1) US8275614B2 (ko)
JP (1) JP5451982B2 (ko)
KR (1) KR101054699B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110010939A (ko) * 2009-07-27 2011-02-08 삼성전자주식회사 휴대용 단말기에서 음성 인식 성능을 향상시키기 위한 장치 및 방법
CN102541965B (zh) * 2010-12-30 2015-05-20 国际商业机器公司 自动获得音乐文件中的特征片断的方法和***
KR20140008835A (ko) * 2012-07-12 2014-01-22 삼성전자주식회사 음성 인식 오류 수정 방법 및 이를 적용한 방송 수신 장치
JP6155821B2 (ja) * 2013-05-08 2017-07-05 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US10403273B2 (en) * 2016-09-09 2019-09-03 Oath Inc. Method and system for facilitating a guided dialog between a user and a conversational agent
US10950235B2 (en) * 2016-09-29 2021-03-16 Nec Corporation Information processing device, information processing method and program recording medium
JP2023067353A (ja) * 2021-11-01 2023-05-16 株式会社東芝 字幕生成装置、方法及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006227319A (ja) * 2005-02-17 2006-08-31 Nec Corp 発話様式推定装置、発話様式推定方法及び発話様式推定プログラム
KR100655491B1 (ko) * 2004-12-21 2006-12-11 한국전자통신연구원 음성인식 시스템에서의 2단계 발화 검증 방법 및 장치

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02254500A (ja) * 1989-03-29 1990-10-15 Sharp Corp 発声速度推定装置
JPH02297598A (ja) * 1989-05-12 1990-12-10 Sharp Corp 音声認識装置
JP3114389B2 (ja) * 1991-10-02 2000-12-04 松下電器産業株式会社 音声認識装置
JPH06282293A (ja) * 1993-03-29 1994-10-07 Sony Corp 音声認識装置
JPH11184491A (ja) * 1997-12-18 1999-07-09 Ricoh Co Ltd 音声認識装置
JP3795692B2 (ja) * 1999-02-12 2006-07-12 マイクロソフト コーポレーション 文字処理装置および方法
JP3623394B2 (ja) * 1999-03-30 2005-02-23 株式会社日立製作所 手話認識装置および該装置を実現させるためのプログラムを記録した記録媒体
JP4140745B2 (ja) 1999-05-14 2008-08-27 独立行政法人情報通信研究機構 字幕へのタイミング情報付与方法
WO2001084535A2 (en) * 2000-05-02 2001-11-08 Dragon Systems, Inc. Error correction in speech recognition
US6785650B2 (en) * 2001-03-16 2004-08-31 International Business Machines Corporation Hierarchical transcription and display of input speech
JP2003046861A (ja) 2001-07-27 2003-02-14 Telecommunication Advancement Organization Of Japan 字幕番組制作における試写・修正支援システム
JP3997459B2 (ja) * 2001-10-02 2007-10-24 株式会社日立製作所 音声入力システムおよび音声ポータルサーバおよび音声入力端末
US7069213B2 (en) * 2001-11-09 2006-06-27 Netbytel, Inc. Influencing a voice recognition matching operation with user barge-in time
JP3986009B2 (ja) * 2002-11-01 2007-10-03 日本放送協会 文字データ修正装置、その方法及びそのプログラム、並びに、字幕の生成方法
JP2005010691A (ja) * 2003-06-20 2005-01-13 P To Pa:Kk 音声認識装置、音声認識方法、会話制御装置、会話制御方法及びこれらのためのプログラム
JP4189336B2 (ja) * 2004-02-25 2008-12-03 株式会社東芝 音声情報処理システム、音声情報処理方法及びプログラム
JP2007057844A (ja) * 2005-08-24 2007-03-08 Fujitsu Ltd 音声認識システムおよび音声処理システム
JP4087400B2 (ja) * 2005-09-15 2008-05-21 株式会社東芝 音声対話翻訳装置、音声対話翻訳方法および音声対話翻訳プログラム
JP4158937B2 (ja) * 2006-03-24 2008-10-01 インターナショナル・ビジネス・マシーンズ・コーポレーション 字幕修正装置
KR100834679B1 (ko) * 2006-10-31 2008-06-02 삼성전자주식회사 음성 인식 오류 통보 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100655491B1 (ko) * 2004-12-21 2006-12-11 한국전자통신연구원 음성인식 시스템에서의 2단계 발화 검증 방법 및 장치
JP2006227319A (ja) * 2005-02-17 2006-08-31 Nec Corp 発話様式推定装置、発話様式推定方法及び発話様式推定プログラム

Also Published As

Publication number Publication date
JP5451982B2 (ja) 2014-03-26
KR20090112581A (ko) 2009-10-28
US8275614B2 (en) 2012-09-25
US20090271193A1 (en) 2009-10-29
JP2009265276A (ja) 2009-11-12

Similar Documents

Publication Publication Date Title
US8015011B2 (en) Generating objectively evaluated sufficiently natural synthetic speech from text by using selective paraphrases
US9424833B2 (en) Method and apparatus for providing speech output for speech-enabled applications
KR101054699B1 (ko) 지원 디바이스, 프로그램 및 지원 방법
Braunschweiler et al. Lightly supervised recognition for automatic alignment of large coherent speech recordings.
US8275621B2 (en) Determining text to speech pronunciation based on an utterance from a user
US8825486B2 (en) Method and apparatus for generating synthetic speech with contrastive stress
US7010489B1 (en) Method for guiding text-to-speech output timing using speech recognition markers
JP4129989B2 (ja) テキスト音声合成を支援するシステム
JP2001296880A (ja) 固有名の複数のもっともらしい発音を生成する方法および装置
US20050114131A1 (en) Apparatus and method for voice-tagging lexicon
US9460718B2 (en) Text generator, text generating method, and computer program product
JP6028556B2 (ja) 対話制御方法及び対話制御用コンピュータプログラム
JP2007155833A (ja) 音響モデル開発装置及びコンピュータプログラム
US20040006469A1 (en) Apparatus and method for updating lexicon
JP5079718B2 (ja) 外国語学習支援システム、及びプログラム
JP2002229585A (ja) 音声認識文章入力装置
JP5334716B2 (ja) 文字情報提示制御装置及びプログラム
KR20130043817A (ko) 어학 학습 장치 및 어학 학습 방법
JP2013061591A (ja) 音声合成装置、音声合成方法およびプログラム
JP2008026721A (ja) 音声認識装置、音声認識方法、および音声認識用プログラム
JP2005031150A (ja) 音声処理装置および方法
WO2022196087A1 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
JP6340839B2 (ja) 音声合成装置、合成音声編集方法及び合成音声編集用コンピュータプログラム
JP3958908B2 (ja) 書き起こしテキスト自動生成装置、音声認識装置および記録媒体
CN110136720B (zh) 编辑支援装置、编辑支援方法以及程序

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
FPAY Annual fee payment

Payment date: 20140722

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150630

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee