KR101122590B1 - 음성 데이터 분할에 의한 음성 인식 장치 및 방법 - Google Patents

음성 데이터 분할에 의한 음성 인식 장치 및 방법 Download PDF

Info

Publication number
KR101122590B1
KR101122590B1 KR1020110060779A KR20110060779A KR101122590B1 KR 101122590 B1 KR101122590 B1 KR 101122590B1 KR 1020110060779 A KR1020110060779 A KR 1020110060779A KR 20110060779 A KR20110060779 A KR 20110060779A KR 101122590 B1 KR101122590 B1 KR 101122590B1
Authority
KR
South Korea
Prior art keywords
data
keyword
word
syllable
recognition
Prior art date
Application number
KR1020110060779A
Other languages
English (en)
Inventor
하동경
정성일
김동헌
양선희
Original Assignee
(주)지앤넷
(주)트란소노
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)지앤넷, (주)트란소노 filed Critical (주)지앤넷
Priority to KR1020110060779A priority Critical patent/KR101122590B1/ko
Application granted granted Critical
Publication of KR101122590B1 publication Critical patent/KR101122590B1/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/02Feature extraction for speech recognition; Selection of recognition unit
    • 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
    • G10L15/05Word 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
    • 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
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting

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)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Machine Translation (AREA)

Abstract

음성 데이터 분할에 의한 음성 인식 장치 및 방법이 개시된다. 어절 분할부는 사용자로부터 입력받은 음성 데이터를 복수의 어절 데이터로 분할하고, 음절 분할부는 각각의 어절 데이터를 최소 단위인 복수의 음절 데이터로 분할한다. 키워드 추출부는 어절 데이터 및 음절 데이터의 정보를 기초로 음성 데이터로부터 키워드 추출에 사용될 수 있는 데이터 길이인 키워드 인식 구간을 결정한다. 키워드 인식부는 각각의 키워드 인식 구간에 대응하는 음성 데이터를 데이터베이스에 저장된 키워드 데이터와 대비하여 키워드 인식 결과를 출력한다. 본 발명에 따르면, 음성 데이터를 어절 단위 및 음절 단위로 분할하여 키워드를 추출함으로써 사용자가 문법에 맞지 않거나 길이가 긴 문장을 발화한 경우에도 음성 인식의 정확도를 높일 수 있다.

Description

음성 데이터 분할에 의한 음성 인식 장치 및 방법{Apparatus and method for speech recognition by dividing speech data}
본 발명은 음성 데이터 분할에 의한 음성 인식 장치 및 방법에 관한 것으로, 보다 상세하게는, 입력받은 음성 데이터를 분석하여 화자의 의도를 파악하는 장치 및 방법에 관한 것이다.
음성 인식 기술을 이용한 자동 응답 서비스(ARS)는 제시되는 안내 멘트에 따라 사용자가 응답하고, 사용자의 응답을 분석하여 처리하는 서비스로서, 현재 다양한 분야에서 광범위하게 사용되고 있다.
그런데 기존의 음성 인식 기술은 데이터베이스에 등록되어 있는 정확한 용어를 입력하는 경우에만 음성 인식이 성공적으로 수행되며, 사용자가 문법에 맞지 않는 음성 신호를 입력한 경우에는 인식률이 저하된다는 문제가 있다. 또한 사용자가 입력한 긴 음성 데이터를 적절하게 분할하여 분석하기 어려우므로 사용자가 긴 문장을 입력하면 사용자의 의도를 정확하게 파악할 수 없다.
이상의 단점들을 보완할 수 있도록, 사용자로부터 문법에 맞지 않는 긴 음성 신호가 입력되는 경우에 키워드를 정확하게 추출하여 사용자의 의도에 따라 처리할 수 있는 방법이 필요하다.
본 발명이 이루고자 하는 기술적 과제는, 사용자로부터 입력된 음성 데이터를 처리하는 음성 인식을 수행할 때 문법에 맞지 않고 길이가 긴 음성 데이터로부터 키워드를 정확하게 추출할 수 있는 음성 데이터 분할에 의한 음성 인식 장치 및 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는, 사용자로부터 입력된 음성 데이터를 처리하는 음성 인식을 수행할 때 문법에 맞지 않고 길이가 긴 음성 데이터로부터 키워드를 정확하게 추출할 수 있는 음성 데이터 분할에 의한 음성 인식 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 음성 데이터 분할에 의한 음성 인식 장치는, 사용자로부터 입력받은 음성 데이터를 복수의 어절 데이터로 분할하는 어절 분할부; 상기 각각의 어절 데이터를 최소 단위인 복수의 음절 데이터로 분할하는 음절 분할부; 상기 어절 데이터 및 상기 음절 데이터의 정보를 기초로 상기 음성 데이터로부터 키워드를 추출하기 위한 최소 길이의 데이터인 복수의 키워드 인식 구간을 결정하는 키워드 추출부; 및 상기 각각의 키워드 인식 구간에 대응하는 상기 음성 데이터를 데이터베이스에 사전에 저장된 키워드 데이터와 대비하여 키워드 인식 결과를 출력하는 키워드 인식부;를 구비한다.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 음성 데이터 분할에 의한 음성 인식 방법은, (a) 사용자로부터 입력받은 음성 데이터를 복수의 어절 데이터로 분할하는 단계; (b) 상기 각각의 어절 데이터를 최소 단위인 복수의 음절 데이터로 분할하는 단계; (c) 상기 어절 데이터 및 상기 음절 데이터의 정보를 기초로 상기 음성 데이터로부터 키워드를 추출하기 위한 최소 길이의 데이터인 복수의 키워드 인식 구간을 결정하는 단계; 및 (d) 상기 각각의 키워드 인식 구간에 대응하는 상기 음성 데이터를 데이터베이스에 사전에 저장된 키워드 데이터와 대비하여 키워드 인식 결과를 출력하는 단계;를 갖는다.
본 발명에 따른 음성 데이터 분할에 의한 음성 인식 장치 및 방법에 의하면, 음성 데이터를 어절 단위 및 음절 단위로 분할하여 키워드를 추출함으로써 사용자가 문법에 맞지 않거나 길이가 긴 문장을 발화한 경우에도 음성 인식의 정확도를 높일 수 있다.
도 1은 본 발명에 따른 음성 데이터 분할에 의한 음성 인식 장치에 대한 바람직한 실시예의 구성을 도시한 블록도,
도 2는 자동 이득 조절을 수행하기 위한 음성 데이터의 시간에 따른 크기를 나타낸 도면,
도 3은 음절 데이터 사이의 시작점, 종료점 및 구분점을 도시한 도면,
도 4는 잡음이 포함된 음성 데이터를 분할하는 과정을 설명하기 위한 도면,
도 5는 본 발명의 일 실시예로서, 사용자가 '여보세요, 김동헌사장님 부탁합니다'라는 문장을 발화하여 입력된 음성 데이터의 형태를 도시한 도면, 그리고,
도 6은 본 발명에 따른 음성 데이터 분할에 의한 음성 인식 방법에 대한 바람직한 실시예의 수행과정을 도시한 흐름도이다.
이하에서 첨부된 도면들을 참조하여 본 발명에 따른 음성 데이터 분할에 의한 음성 인식 장치 및 방법의 바람직한 실시예에 대해 상세하게 설명한다.
도 1은 본 발명에 따른 음성 데이터 분할에 의한 음성 인식 장치에 대한 바람직한 실시예의 구성을 도시한 블록도이다.
도 1을 참조하면, 본 발명에 따른 음성 인식 장치는, 음성 개선부(110), 어절 분할부(120), 음절 분할부(130), 키워드 추출부(140), 키워드 인식부(150) 및 데이터베이스(160)를 구비한다.
본 발명에 따른 음성 인식 장치는 앞에서 설명한 자동 응답 서비스에 적용되어 사용자가 입력한 음성에 따라 그에 대응하는 처리를 수행하는 데 사용될 수도 있으나, 이에 한정하지 않고 음성 인식 기술을 필요로 하는 모든 분야에 적용 가능하다.
먼저 사용자가 마이크로폰을 통해 아날로그 신호 형태의 음성 신호를 입력하면, 입력된 음성 신호는 아날로그-디지털 변환기에 의해 디지털 신호로 변환된다.이때 아날로그-디지털 변환 과정에서 샘플링 주파수는 8kHz 또는 16kHz가 사용되며, 디지털 신호로 변환된 샘플의 해상도는 16비트(bit)로 할 수 있다. 다음으로 디지털 신호에 대한 부호화 과정을 통해 디지털 데이터 형태의 음성 데이터가 얻어진다. 이러한 과정은 사용자가 한 번의 발화에 의해 입력한 음성 신호에 대하여 이루어지는 것이며, 이하에서 설명하는 '음성 데이터'는 이상의 과정이 수행된 '디지털 데이터'를 의미한다.
음성 개선부(110)는 디지털 데이터 형태의 음성 데이터의 크기를 변환하여 사전에 설정된 크기 범위 내에 속하도록 처리한다. 또한 정확한 음성 인식을 위해 음성 데이터에 포함된 노이즈를 제거한다.
마이크로폰을 통해 입력되는 음성 신호는 시스템 특성 및 음성 신호 입력에 사용된 기기 및 사용법에 따라 다양한 크기를 가진다. 이와 같이 음성 신호가 입력될 때마다 다른 크기를 가지게 되면 정확한 음성 인식이 어려울 수 있다.
음성 개선부(110)는 이러한 문제를 개선하기 위하여 먼저 음성 데이터의 이득을 자동으로 조절함으로써 음성 인식에 가장 적합한 수준의 디지털 데이터로 변환한다. 이러한 과정을 자동 이득 조절(Automatic Gain Control : AGC)이라 한다.
도 2는 자동 이득 조절을 수행하기 위한 음성 데이터의 시간에 따른 크기를 나타낸 도면이다. 도 2에서 ③으로 표시된 점선은 음성 인식에 적합하도록 사전에 설정된 음성 데이터의 크기 범위 중 상한값(compression threshold)을 나타내는 선으로, 음성 데이터의 크기가 상한값보다 커지면 이를 감쇠시켜 크기 범위 내에 속하도록 한다. 이를 위해 걸리는 시간이 ①로 표시된 구간(attack time)이다. 또한 ②로 표시된 구간은 상한값보다 크게 입력된 음성 데이터가 감쇠된 후 원래의 크기로 복원되는 데 걸리는 시간(release time)을 나타낸다. 또한 상한값보다 큰 음성 데이터를 감쇠시키는 비율(compression slope)은 사전에 설정될 수 있다.
도 2에는 음성 데이터의 크기가 크기 범위의 상한값보다 큰 경우만을 도시하였으나, 음성 데이터의 크기가 지나치게 작아져 크기 범위의 하한값(expander threshold)보다 작은 경우에는 음성 개선부(110)에 의해 증폭된다. 신호의 증폭 비율(expander slope) 역시 사전에 설정될 수 있다.
결과적으로, 음성 개선부(110)에 의해 크기 범위 내의 값으로 조절된 음성 데이터는 마이크로폰, 시스템 또는 사용자 환경에 따른 영향이 배제되므로 음성의 오인식을 방지할 수 있다.
다음으로 음성 개선부(110)는 AGC가 수행된 음성 데이터로부터 잡음, 즉 노이즈 성분을 제거한다. 음성 데이터에 포함된 노이즈 성분은 음성 인식의 성공률을 저하시키는 원인이 될 수 있으므로, 음성 개선부(110)에 의한 노이즈 제거 과정이 수행된다. 노이즈 제거는 기존의 노이즈 제거 알고리즘들을 사용하여 수행될 수 있으며, 일 예로서 이하의 방법을 사용할 수 있다.
음성 개선부(110)는 음성 데이터를 사전에 설정된 분할 간격으로 동일하게 분할한 후 주파수 영역으로 변환하여 특징을 추출한다. 분할 간격은 5~20 msec 중 하나의 값으로 설정될 수 있다. 다음으로 음성 개선부(110)는 추출된 특징을 사용하여 전방향 탐색 기법에 의해 음성 성분이 주가 되는 영역 및 잡음 성분이 주가 되는 영역을 판별한다. 각 영역의 판별이 완료되면 심리 음향에 기반한 적응적인 망각계수를 사용하여 제거할 잡음 성분을 추정한다.
음성 개선부(110)는 추정된 잡음 성분을 제거하기 위해 개선된 차분 스펙트럼 차감법을 사용하고, 결과적으로 잡음이 제거된 주파수 영역의 음성 성분이 얻어진다. 마지막으로 음성 개선부(110)는 주파수 영역의 음성 성분을 시간 영역으로 변환한다.
이상에서 설명한 이득 조절 및 노이즈 제거 과정에 의해 얻어진 개선된 음성 데이터는 이후 과정에서 순차적으로 처리되어 음성 데이터로부터 사용자의 의도를 나타내는 핵심 단어인 키워드를 추출하는 데 사용된다.
어절 분할부(120)는 개선된 음성 데이터를 어절 단위로 분할하여 복수의 어절 데이터를 생성한다. '어절'이란 문장을 구성하는 각각의 마디를 의미하는 것으로, 띄어쓰기의 단위와 일치한다. 예를 들면, '이번 달 요금은 얼마입니까'라는 문장은 '이번', '달', '요금은', '얼마입니까'의 네 개의 어절로 이루어져 있다. 어절 분할부(120)는 개선된 음성 데이터를 이와 같이 띄어쓰기 단위로 분할하여 복수의 어절 데이터를 생성한다.
어절 단위의 분할은 먼저 개선된 음성 데이터를 동일한 크기의 복수의 프레임으로 분할함으로써 개시된다. 프레임의 분할은 앞에서 설명한 분할 간격과 동일한 간격으로 수행될 수도 있으며, 5~20 msec 범위에서 선택된 어느 하나의 값에 의해 음성 데이터를 분할할 수도 있다.
어절 분할부(120)는 각각의 프레임으로부터 특징 벡터(feature vector)를 추출하고, 추출된 특징 벡터를 이용하여 어절 데이터를 생성한다. 특징 벡터로는 음성 데이터의 시간 또는 주파수 영역에서의 파워(power) 또는 에너지(energy), 포먼트(formant) 정보 또는 LPC(linear predictive coding) 계수 등이 사용될 수 있다.
어절 분할부(120)는 어절 데이터의 생성에 특징 벡터를 적용하기 이전에 각각의 프레임에 대응하는 특징 벡터 및 인접한 프레임의 특징 벡터들의 평균을 산출함으로써 각각의 프레임에 대응하는 특징 벡터를 평활화한다. 이하에서 설명하는 어절 데이터의 생성에 사용되는 '특징 벡터'는 '평활화된 특징 벡터'를 의미한다.
어절 분할부(120)는 복수의 프레임을 순차적으로 검사하면서 각 프레임의 시작점이 어절의 시작점 또는 종료점에 해당하는지 여부를 결정한다. 이를 위해 각 프레임의 특징 벡터의 값과 비교 대상이 되는 문턱값이 사전에 설정된다. 문턱값은 적용되는 프레임에 따라 복수 개가 설정될 수 있다.
예를 들면, n번째 프레임에 대하여 n-1번째 프레임의 특징 벡터의 크기가 제1문턱값 이하이고, n번째, n+1번째 및 n+3번째 프레임의 특징 벡터의 크기가 각각 제2문턱값, 제3문턱값 및 제4문턱값 이상이면, 어절 분할부(120)는 n번째 프레임의 시작 지점을 어절 시작점 후보로 결정한다. 즉, n번째 프레임이 음성 데이터로부터 얻어지는 복수의 어절 데이터 중 하나의 어절 데이터의 첫 번째 프레임이 되는 것이다. 이때 제1문턱값 내지 제4문턱값의 크기는 경험적으로 설정될 수 있다.
어절 분할부(120)는 어절 시작점 후보가 결정되면 어절 종료점 후보를 결정하기 위해 이후의 프레임을 순차적으로 검사한다. 예를 들면, n+1번째 프레임의 특징 벡터의 크기가 제5문턱값 이하이면 n+1번째 프레임의 시작점을 어절 종료점 후보로 결정한다. 앞에서 n번째 프레임의 시작점을 어절 시작점 후보로 결정하였으므로, n번째 프레임과 n+1번째 프레임이 하나의 어절 데이터를 구성하게 된다.
또는 n+1번째 프레임이 다음의 수학식 1을 만족하는 경우에도 n+1번째 프레임의 시작점을 어절 종료점 후보로 결정할 수 있다.
Figure 112011047593408-pat00001
여기서, Esmt()는 프레임의 특징 벡터의 크기를 나타내며, i의 값은 0 및 1이다.
이상에서 설명한 과정이 음성 데이터의 전체 프레임에 대하여 수행되면 어절 시작점 후보로부터 어절 종료점 후보까지의 어절 데이터 후보가 얻어진다. 이를 1차 어절 데이터 후보라 한다. 1차 어절 데이터 후보는 하나의 음성 데이터로부터 복수 개가 얻어질 수 있다. 즉, 음성 데이터의 프레임들에 대하여 순차적으로 제1 어절 시작점 후보 - 제1 어절 종료점 후보 - 제2 어절 시작점 후보 - 제2 어절 종료점 후보와 같이 결정되었다면 1차 어절 데이터 후보는 두 개가 얻어지게 된다.
어절 분할부(120)는 1차 어절 데이터 후보들이 결정되면 1차 어절 데이터 후보들 중에서 길이가 지나치게 짧아 의미를 가진 문구인 것으로 생각할 수 없는 후보를 제거한다. 즉, 어절 분할부(120)는 사전에 설정된 제1기준길이 이상인 1차 어절 데이터 후보만을 선택하여 2차 어절 데이터 후보로 결정하고, 그 외의 1차 어절 데이터 후보는 키워드 추출 대상으로부터 제거한다. 여기서 제1기준길이는 150~170 msec의 범위 내에서 설정될 수 있다.
2차 어절 데이터 후보가 결정된 후, 어절 분할부(120)는 2차 어절 데이터 후보 중에서 서로 인접한 2차 어절 데이터 후보 사이의 길이가 사전에 설정된 제2기준길이보다 작으면 인접한 두 개의 2차 어절 데이터 후보를 병합한다. 예를 들면, k번째 2차 어절 데이터 후보의 종료점과 k+1번째 2차 어절 데이터 후보의 시작점 사이의 길이가 제2기준길이보다 작으면 k번째 2차 어절 데이터 후보와 k+1번째 2차 어절 데이터 후보로 이루어진 하나의 2차 어절 데이터 후보가 결정된다. 이때 제2기준길이는 200~250 msec 범위 내의 값으로 설정될 수 있다.
복수의 2차 어절 데이터 후보를 순차적으로 스캔하여 앞에서 설명한 병합 과정이 모두 종료되면 병합되지 않은 2차 어절 데이터 후보 및 병합된 2차 어절 데이터 후보들 중에서 사전에 설정된 제3기준길이 이상인 2차 어절 데이터 후보를 3차 어절 데이터 후보로 결정한다. 여기서 제3기준길이는 400msec로 설정될 수 있다.
마지막으로 어절 분할부(120)는 3차 어절 데이터 후보 중에서 최종 어절 데이터를 결정하기 위해 2차 어절 데이터 후보의 특징 벡터의 크기를 고려한다.
먼저 어절 분할부(120)는 각각의 2차 어절 데이터 후보에 대하여 2차 어절 데이터 후보에 포함된 프레임들의 특징 벡터의 평균 크기를 산출하고, 산출된 평균 크기들 중에서 최대값인 최대 평균 크기를 산출한다. 다음으로 어절 분할부(120)는 각각의 2차 어절 데이터 후보를 스캔하면서 최종 어절 데이터로 결정될 수 있는지 여부를 결정한다.
구체적으로, 2차 어절 데이터 후보의 특징 벡터의 평균 크기보다 최대 평균 크기가 사전에 설정된 기준배수 이상이고, 해당 2차 어절 데이터 후보가 앞에서 결정된 3차 어절 데이터 후보에 해당하거나 3차 어절 데이터 후보에 포함된다면 어절 분할부(120)는 해당 2차 어절 데이터 후보가 포함된 3차 어절 데이터 후보를 최종 어절 데이터로 결정한다. 기준배수의 크기는 실험에 의해 사전에 설정되며, 2.5~4 사이의 값으로 설정될 수 있다.
정리하면, 어절 분할부(120)는 음성 데이터를 동일한 크기의 프레임으로 분할한 후 각 프레임의 특징 벡터의 크기를 기초로 1차 어절 데이터 후보를 결정하고, 1차 어절 데이터 후보 중에서 길이가 지나치게 짧은 후보를 제거하여 2차 어절 데이터 후보를 결정한다. 다음으로 2차 어절 데이터 후보 중에서 사이의 공백이 짧은 후보들을 서로 병합하고, 일정 길이 이상의 2차 어절 데이터 후보를 3차 어절 데이터 후보로 결정한다. 마지막으로 2차 어절 데이터 후보를 구성하는 프레임들의 특징 벡터의 크기를 고려하여 3차 어절 데이터 후보 중에서 최종 어절 데이터를 결정한다.
음절 분할부(130)는 어절 분할부(120)에 의해 결정된 최종 어절 데이터들 각각을 분할하여 복수의 음절 데이터를 생성한다. '음절(syllable)'이란 직관적으로 인지되는 단어나 말의 기본 음성 단위로서, 모음만 있을 수도 있고 모음의 앞뒤에 1개 이상의 자음이 있을 수도 있다. 예를 들면, 앞에서 설명한 예에서 '요금은'이라는 어절은 '요', '금', '은'의 세 개의 음절로 이루어진다. 음절 분할부(130)는 '요금은'과 같은 하나의 어절 데이터를 '요', '금', '은'에 각각 대응하는 세 개의 음절 데이터로 분할할 수 있다.
음절 데이터의 분할을 위해서는 최종 어절 데이터의 정보, 각각의 최종 어절 데이터를 구성하는 프레임의 평활화된 특징 벡터 및 프레임이 분할된 서브밴드별 평활화된 특징 벡터의 정보가 사용될 수 있다. 또한 최종 어절 데이터가 복수 개이면 각각의 최종 어절 데이터를 음절 데이터로 분할하는 과정은 병렬적으로 수행될 수 있다. 따라서 음절 분할부(130)는 복수의 음절 분할 모듈로 구성될 수 있다. 이하에서는 하나의 최종 어절 데이터를 복수의 음절 데이터로 분할하는 과정에 대하여 상세하게 설명한다.
최종 어절 데이터에 대한 분할이 수행될 때 최종 어절 데이터의 시작점은 해당 최종 어절 데이터의 첫 번째 음절 데이터 후보의 시작점이며, 최종 어절 데이터의 종료점은 해당 최종 어절 데이터의 마지막 음절 데이터 후보의 종료점으로 설정된다.
다음으로 음절 분할부(130)는 최종 어절 데이터에 포함된 프레임들에 대하여 N-포인터 이산 푸리에 변환(Discrete Fourier Transform : DFT)을 수행하여 주파수 영역에서 각 DFT-포인터별로 파워(power)를 산출하고, 이를 다시 L개의 서브밴드로 그루핑(grouping)함으로써 각 서브밴드별 특징 벡터를 산출한다.
이후 음절 분할부(130)는 최종 어절 데이터의 각 프레임을 순차적으로 스캔하여 음절 데이터의 시작점 및 종료점 후보를 결정한다. 나아가 서로 다른 음절 데이터에 해당하지만 구분이 명확하지 않은 경우의 음절 데이터 사이의 지점인 구분점 후보도 결정할 수 있다.
도 3은 음절 데이터 사이의 시작점, 종료점 및 구분점을 도시한 도면이다. 도 3을 참조하면, 시작점과 종료점은 한 음절의 발화가 시작되거나 마무리되는 시점으로 구분이 용이하다. 복수 개의 음절이 연속하여 나타나는 경우에 음절 사이에서는 이전 음절의 종료점과 다음 음절의 시작점이 중첩될 수 있으며, 이러한 경우에는 음절 데이터의 시작점 후보로 결정된다. 구분점의 경우는 도 3에 도시된 바와 같이 음절의 발성시에 유성음이 연속되어 음절의 시작점과 종료점에 비해 찾아내기가 어렵고, 분할시에 불연속점이 발생하게 된다.
음절 분할부(130)는 최종 어절 데이터의 k-1번째 프레임과 k번째 프레임을 대비하여 k-1번째 프레임의 l번째 서브밴드의 특징 벡터의 크기가 0이 아니며 k번째 프레임의 l번째 서브밴드의 특징 벡터의 크기가 0인 횟수를 계수(counting)하고, 그 횟수가 사전에 설정된 기준횟수보다 크면 k번째 프레임의 시작점을 특정 음절 데이터의 종료점 후보로 결정한다. 이때 각 프레임으로부터 얻어지는 서브밴드의 개수는 로그 스케일(log scale)로 6으로 결정될 수 있고, 기준횟수의 값은 2 또는 3으로 설정될 수 있다.
또한 음절 분할부(130)는 최종 어절 데이터의 각 프레임으로부터 얻어진 L개의 서브밴드 각각의 평활화된 특징 벡터의 크기를 비교하여 서브밴드들을 내림차순으로 정렬한다. 그 결과 k-1번째 프레임의 서브밴드들의 정렬 순서와 k번째 프레임의 서브밴드들의 정렬 순서를 대비하였을 때 순서가 바뀐 서브밴드의 개수가 사전에 설정된 제1기준개수보다 크면 k번째 프레임의 시작점을 음절 데이터가 변경되는 구분점 후보로 결정한다. 여기서 제1기준개수는 4 또는 5로 설정될 수 있다.
음절 데이터를 분할하는 또 다른 방법으로, 음절 분할부(130)는 최종 어절 데이터의 각 프레임별 평활화된 특징 벡터의 크기 변화율(증가 또는 감소)을 추출하고 이하의 서로 다른 네 가지 경우에 따라 처리한다.
첫 번째 경우로서, k번째 프레임의 크기 변화율이 0보다 크고 k-1번째 프레임의 평활화된 특징 벡터의 크기가 k번째 프레임의 평활화된 특징 벡터의 크기보다 크면, 음절 분할부(130)는 k번째 프레임의 시작점을 음절 데이터의 종료점 후보로 결정하고, k번째 프레임의 크기 변화율을 -1로 설정한다.
두 번째 경우로서, k번째 프레임의 크기 변화율이 0보다 작고 k-1번째 프레임의 평활화된 특징 벡터의 크기가 k번째 프레임의 평활화된 특징 벡터의 크기보다 작으면서 k번째 프레임의 평활화된 특징 벡터의 크기가 사전에 설정된 제6문턱값보다 크면 k번째 프레임의 시작점을 음절 데이터의 시작점 후보로 결정하고, k번째 프레임의 크기 변화율을 1로 설정한다. 제6문턱값은 전체 프레임의 특징 벡터들의 평균을 구하고, 프레임들 중에서 특징 벡터의 크기가 평균보다 작은 프레임들을 추출하여 이들의 평균 특징벡터를 산출한 다음 산출된 값의 1.3~1.7배의 범위 내에서 설정될 수 있다.
세 번째 경우로서, k번째 프레임의 크기 변화율이 0이고 k번째 프레임의 평활화된 특징 벡터의 크기가 제6문턱값보다 크면 k번째 프레임의 시작점을 음절 데이터의 시작점 후보로 결정하고, k번째 프레임의 크기 변화율을 1로 설정한다.
네 번째 경우로서, k번째 프레임의 크기 변화율이 0이 아니고 k번째 프레임의 평활화된 특징 벡터의 크기가 0이면 k번째 프레임의 시작점을 음절 데이터의 종료점 후보로 결정하고, k번째 프레임의 크기 변화율을 0으로 설정한다.
음절 분할부(130)는 이상에서 설명한 과정에 의해 결정된 음절 시작점 후보, 종료점 후보 및 구분점 후보들을 순차적으로 스캔하면서 최종 음절 데이터를 결정한다. 구체적으로, 각각의 종료점 후보의 전후로 사전에 설정된 제1기준거리 이내에서 결정된 구분점 후보들은 제거되며, 각각의 시작점 후보의 전후로 사전에 설정된 제2기준거리 이내에서 결정된 구분점 후보들 역시 제거된다. 여기서 제1기준거리 및 제2기준거리는 각각 80~120 msec 및 160~200 msec의 범위 내에서 설정될 수 있다.
이상의 과정에 의해 불필요한 구분점 후보들이 제거되면 음절 분할부(130)는 음절 시작점 후보로부터 음절 종료점 후보 사이의 데이터를 최종 음절 데이터로 결정한다. 이러한 최종 음절 데이터는 하나의 최종 어절 데이터로부터 복수 개가 얻어진다. 또한 앞에서 언급한 바와 같이 복수의 최종 어절 데이터에 대하여 병렬적으로 분할 과정이 수행되므로 처리에 소요되는 시간을 단축시킬 수 있다.
도 4는 잡음이 포함된 음성 데이터를 분할하는 과정을 설명하기 위한 도면이다. 도 4의 (a)는 사용자로부터 최초로 입력된 음성 데이터의 형태로서, 잡음이 많이 포함되어 있다. 이러한 음성 데이터에 대하여 AGC 및 잡음 제거 과정이 수행되어 (b)와 같은 형태의 음성 데이터가 얻어지고, 이를 분할함으로써 (c)와 같은 형태의 데이터가 얻어지게 된다. 최종 어절 데이터 및 최종 음절 데이터가 생성되는 상세한 과정은 도 4에서는 생략하였다.
키워드 추출부(140)는 최종 어절 데이터 및 최종 음절 데이터의 정보를 기초로 음성 데이터를 키워드 추출이 가능한 데이터 길이인 복수의 키워드 인식 구간으로 분할한다. 이때 키워드 인식 구간으로 분할하기 위한 음성 데이터는 최초 음성 데이터에 대하여 AGC만 수행된 음성 데이터일 수 있으며, 잡음으로 인해 키워드 인식률이 저하되는 것을 보완하기 위해 노이즈 제거 과정까지 수행된 음성 데이터가 보조적인 수단으로 사용될 수 있다.
먼저 키워드 추출부(140)는 각각의 최종 어절 데이터로부터 분할된 최종 음절 데이터의 개수가 사전에 설정된 제2기준개수 이하이면 해당 최종 어절 데이터를 하나의 키워드 인식 구간으로 결정한다. 또한 각각의 최종 어절 데이터로부터 분할된 최종 음절 데이터의 개수가 제2기준개수보다 크면 최종 음절 데이터들을 스캔하면서 인접한 최종 음절 데이터들을 병합하여 하나의 키워드 인식 구간으로 결정한다.
예를 들면, 최종 어절 데이터가 '올림픽공원'에 대응하는 데이터이고 키워드 인식 구간의 길이가 3음절이라면, 키워드 추출부(140)는 해당 최종 어절 데이터를 첫 번째 음절 데이터로부터 3음절씩 스캔하면서 키워드 인식 구간을 결정한다. 즉, '올림픽공원'이라는 최종 어절 데이터로부터 '올림픽', '림픽공' 및 '픽공원'이라는 세 가지의 키워드 인식 구간이 결정된다. 여기서 음절 데이터들의 스캔 단위 및 키워드 인식 구간의 길이는 본 발명에 따른 음성 인식 장치가 적용되는 시스템의 특성 및 자주 입력되는 키워드의 길이 정보를 고려하여 적절한 값으로 결정될 수 있다.
또한 하나의 최종 어절 데이터에 포함된 최종 음절 데이터의 개수가 사전에 설정된 제3기준개수보다 많으면 해당 최종 어절 데이터로부터 제3기준개수와 동일한 순번으로 결정되는 키워드 인식 구간에는 다른 키워드 인식 구간에 포함되지 않은 나머지 최종 음절 데이터들을 모두 포함시킨다.
이상과 같이 키워드 인식 구간들이 결정되면, 키워드의 인식률을 향상시키기 위해 각각의 키워드 인식 구간의 전후에 일정 길이의 묵음구간 데이터를 추가함으로써 구간의 중간 지점으로부터 키워드가 추출될 수 있도록 한다. 묵음구간의 길이는 100~500 msec 사이의 값으로 사전에 설정될 수 있다. 또한 묵음구간으로 사용되는 데이터로는 실제 음성 데이터에 포함된 묵음구간의 데이터를 사용할 수 있다.
한편, 키워드 인식 구간의 시작점 및 종료점이 음절 데이터의 시작점 및 종료점이 아닌 음절 데이터의 구분점인 경우, 신호의 불연속점이 발생함에 따라 특징 벡터가 왜곡되는 문제가 발생할 수 있다.이를 해결하기 위해 음절 데이터의 구분점에 해당하는 구간에는 해닝창(hanning window)을 적용하여 신호의 불연속점을 제거할 수 있다.
키워드 인식부(150)는 키워드 추출부(140)에 의해 결정된 각각의 키워드 인식 구간에 대응하는 음성 데이터를 데이터베이스(160)에 저장된 키워드 정보와 비교하여 키워드 인식 결과를 출력한다. 이때 키워드 인식에 사용되는 음성 데이터는 AGC만 수행된 음성 데이터이며, 인식 결과가 좋지 않은 경우를 대비하여 잡음이 제거된 음성 데이터가 보조적인 수단으로 사용될 수 있다.
키워드 인식에 사용되는 데이터베이스(160)에는 사전에 본 발명에 따른 음성 인식 장치가 적용되는 시스템의 특성 및 사용자에 의해 주로 입력되는 키워드의 종류에 따라 결정된 다양한 키워드가 저장되어 있다. 또한 키워드 인식의 성공률을 향상시키기 위해 배커스 나우어 형식(Backus-Naur Form : BNF)의 문법으로 작성된 키워드들이 데이터베이스(160)에 저장될 수 있다.
각각의 최종 어절 데이터를 복수의 최종 음절 데이터로 분할하는 경우와 마찬가지로 각각의 키워드 인식 구간에 대한 키워드 인식 과정 역시 병렬적으로 수행될 수 있다. 키워드 인식부(150)가 복수의 키워드 인식 모듈로 구성되어 복수의 키워드 인식 구간에 대한 키워드 인식을 병렬적으로 수행하는 경우, 각각의 키워드 인식 모듈은 동일한 데이터베이스(160)를 참조할 수 있다. 이하에서는 하나의 키워드 인식 구간에 포함된 키워드를 인식하는 경우를 일 실시예로서 설명한다.
키워드 인식부(150)는 키워드 인식 구간에 해당하는 음성 데이터를 데이터베이스(160)에 저장된 키워드 데이터들과 비교하여 복수의 키워드 후보를 결정하고, 키워드 후보들 중에서 하나를 최종 인식 결과로 결정한다.
구체적으로, 복수의 키워드 후보들 중에서 신뢰도가 가장 높은 키워드 후보의 신뢰도 값이 사전에 설정된 제7문턱값 이상이면 키워드 인식부(150)는 해당 키워드 후보를 최종 인식 결과로 결정한다. 또한 신뢰도가 가장 높은 키워드 후보의 신뢰도 값이 제7문턱값보다 작으면, 신뢰도 값이 사전에 설정된 제8문턱값보다 큰 키워드 후보들을 사용자에게 제시하여 최종 인식 결과를 사용자가 직접 선택할 수 있도록 한다.
신뢰도가 가장 높은 키워드 후보의 신뢰도 값이 제8문턱값보다 작으면 잡음 성분에 의해 특징 벡터가 영향을 받은 것으로 가정하여 잡음이 제거된 음성 데이터에서 키워드 인식 구간에 대응하는 데이터를 데이터베이스(160)에 저장된 키워드 데이터와 대비하여 인식 결과를 출력한다.
만약 잡음이 제거된 음성 데이터를 사용한 결과 얻어진 키워드 후보들 중 신뢰도가 가장 높은 키워드 후보의 신뢰도 값이 제8문턱값보다 작다면 키워드 인식이 실패한 것으로 결정한다.
제7문턱값 및 제8문턱값은 실험을 통해 결정될 수 있으며, 바람직하게는, 제7문턱값은 47~60%, 그리고 제8문턱값은 40~47%로 결정될 수 있다. 또한 하나의 키워드 인식 구간에 대하여 결정될 수 있는 키워드 후보의 개수는 3 또는 4로 결정될 수 있다.
도 5는 본 발명의 일 실시예로서, 사용자가 '여보세요, 김동헌사장님 부탁합니다'라는 문장을 발화하여 입력된 음성 데이터의 형태를 도시한 도면이다.
도 5의 음성 데이터로부터 얻어지는 최종 어절 데이터는 '여보세요', '김동헌사장님' 및 '부탁합니다'의 세 개이다. 또한 각각의 최종 어절 데이터로부터 얻어지는 최종 음절 데이터의 개수는 각각 4개, 6개 및 5개이다. 키워드 인식 구간을 결정하기 위해 설정된 제2기준개수의 값이 4이고, 하나의 최종 어절 데이터에 포함된 최종 음절 데이터의 개수가 제2기준개수 이하인 경우에 키워드 인식 구간을 결정하기 위한 최종 음절 데이터의 스캔 단위가 1음절, 그리고 키워드 인식 구간의 크기가 3음절로 설정되었다고 가정한다.
첫 번째 최종 어절 데이터인 '여보세요'는 4음절이므로 제2기준개수 이하에 해당되어 그대로 키워드 인식 구간으로 결정될 수 있다. 그러나 '김동헌사장님' 및 '부탁합니다'는 그 길이가 4음절보다 크므로 첫 번째 최종 음절 데이터부터 1음절씩 순차적으로 스캔하면서 3음절씩의 키워드 인식 구간을 결정하게 된다. 즉, '김동헌사장님'이라는 최종 어절 데이터로부터는 '김동헌', '동헌사', '헌사장' 및 '사장님'이라는 4개의 키워드 인식 구간이 결정되고, '부탁합니다'라는 최종 어절 데이터로부터는 '부탁합', '탁합니' 및 '합니다'의 3개의 키워드 인식 구간이 결정된다.
키워드 인식부(150)는 이상에서 결정된 8개의 키워드 인식 구간을 각각 데이터베이스(160)에 저장된 키워드 데이터와 대비함으로써 키워드 인식을 수행한다. 키워드 인식부(150)가 복수의 키워드 인식 모듈로 구성되어 있는 경우에는 각각의 키워드 인식 모듈이 키워드 인식 구간들 각각에 대하여 동시에 키워드 인식을 수행할 수 있다.
이상에서 키워드 인식 구간의 결정 및 키워드 인식은 AGC가 수행된 음성 데이터를 사용하여 수행되며, 노이즈 제거가 수행된 음성 데이터는 보조적인 수단으로 사용된다는 점을 기초로 설명하였으나, 인식률 및 인식 속도를 향상시키기 위해 AGC가 수행된 음성 데이터와 노이즈 제거까지 수행된 음성 데이터로부터 결정된 키워드 인식 구간들을 모두 복수의 키워드 인식 모듈에 입력하여 병렬적으로 처리할 수도 있다.
키워드 인식부(150)는 최종적으로 얻어진 키워드 인식 결과를 사용자에게 처리하고, 사용자는 음성 인식 결과에 따라 추가적인 음성 입력 또는 다른 처리를 수행할 수 있다.
도 6은 본 발명에 따른 음성 데이터 분할에 의한 음성 인식 방법에 대한 바람직한 실시예의 수행과정을 도시한 흐름도이다.
도 6을 참조하면, 음성 개선부(110)는 사용자로부터 입력받은 음성 데이터의 이득을 조절하고(S1010) 노이즈를 제거하여(S1020) 개선된 음성 데이터를 출력한다. 다음으로 어절 분할부(120)는 개선된 음성 데이터로부터 복수의 최종 어절 데이터를 결정하고(S1030), 음절 분할부(130)는 각각의 최종 어절 데이터를 복수의 최종 음절 데이터로 분할한다(S1040). 어절 분할부(120)와 음절 분할부(130)의 구체적인 동작은 앞에서 설명한 바 있으므로 상세한 설명은 생략한다.
키워드 추출부(140)는 최종 어절 데이터 및 최종 음절 데이터의 정보를 기초로, AGC가 수행된 음성 데이터 및/또는 노이즈 제거가 수행된 음성 데이터로부터 키워드 인식 구간을 결정하고(S1050), 키워드 인식부(150)는 데이터베이스(160)에 저장된 키워드 데이터를 기초로 각각의 키워드 인식 구간에 대하여 키워드 인식을 수행한다(S1060).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.
110 - 음성 개선부
120 - 어절 분할부
130 - 음절 분할부
140 - 키워드 추출부
150 - 키워드 인식부
160 - 데이터베이스

Claims (27)

  1. 사용자로부터 입력받은 음성 데이터를 문장의 띄어쓰기 단위에 대응하는 복수의 어절 데이터로 분할하는 어절 분할부;
    상기 각각의 어절 데이터를 단어의 최소 단위에 대응하는 복수의 음절 데이터로 분할하는 음절 분할부;
    상기 어절 데이터 및 상기 음절 데이터의 시작점 및 종료점 정보를 기초로 상기 음성 데이터로부터 키워드를 추출하기 위한 최소 길이의 데이터인 복수의 키워드 인식 구간을 결정하는 키워드 추출부; 및
    상기 각각의 키워드 인식 구간에 대응하는 상기 음성 데이터를 데이터베이스에 사전에 저장된 키워드 데이터와 대비하여 키워드 인식 결과를 출력하는 키워드 인식부;를 포함하는 것을 특징으로 하는 음성 인식 장치.
  2. 제 1항에 있어서,
    상기 음성 데이터의 크기가 사전에 설정된 크기 범위 내에 포함되도록 상기 음성 데이터의 이득을 조절하고, 이득이 조절된 상기 음성 데이터에 포함된 노이즈를 제거하여 상기 어절 분할부로 출력하는 음성 개선부를 더 포함하는 것을 특징으로 하는 음성 인식 장치.
  3. 제 2항에 있어서,
    상기 음성 개선부는 상기 음성 데이터를 사전에 설정된 분할 간격으로 분할한 후 주파수 영역으로 변환하여 추출된 특징에 의해 잡음 성분을 추정한 후, 추정된 잡음 성분을 상기 음성 데이터로부터 제거하는 것을 특징으로 하는 음성 인식 장치.
  4. 제 2항 또는 제 3항에 있어서,
    상기 키워드 추출부는 이득이 조절된 상기 음성 데이터로부터 상기 키워드 인식 구간을 결정하고,
    상기 키워드 인식부는 이득이 조절된 상기 음성 데이터에 대응하는 키워드 데이터가 검색되지 않으면 이득이 조절된 후 노이즈가 제거된 상기 음성 데이터를 기초로 얻어진 키워드 인식 결과를 출력하는 것을 특징으로 하는 음성 인식 장치.
  5. 제 1항 내지 제 3항 중 어느 한 항에 있어서,
    상기 어절 분할부는 상기 음성 데이터를 복수의 프레임으로 분할하고, 상기 각각의 프레임으로부터 추출된 특징 벡터의 크기를 사전에 설정된 문턱값과 대비하여 상기 각각의 프레임의 시작점이 상기 어절 데이터의 시작점 또는 종료점에 해당하는지 여부를 결정하는 것을 특징으로 하는 음성 인식 장치.
  6. 제 5항에 있어서,
    상기 어절 분할부는 상기 어절 데이터의 시작점 또는 종료점이 결정되어 얻어진 복수의 1차 어절 데이터 후보 중에서 길이가 사전에 설정된 제1기준길이 이상인 복수의 2차 어절 데이터 후보를 결정하고, 상기 2차 어절 데이터 후보들 각각을 구성하는 프레임들의 특징 벡터의 평균 크기를 산출하여 산출된 평균 크기들 중 최대값과의 크기차가 사전에 설정된 기준배수 이상이며 길이가 사전에 설정된 제3기준길이 이상인 2차 어절 데이터 후보를 최종적인 어절 데이터로 결정하는 것을 특징으로 하는 음성 인식 장치.
  7. 제 6항에 있어서,
    상기 어절 분할부는 상기 2차 어절 데이터 후보들 중에서 서로 인접한 2차 어절 데이터 후보 사이의 공백구간의 길이가 사전에 설정된 제2기준길이보다 작으면 상기 인접한 2차 어절 데이터 후보를 하나의 2차 어절 데이터 후보로 병합한 후 상기 최종적인 어절 데이터를 결정하는 것을 특징으로 하는 음성 인식 장치.
  8. 제 1항 내지 제 3항 중 어느 한 항에 있어서,
    상기 음절 분할부는 상기 각각의 어절 데이터를 구성하는 복수의 프레임을 각각 주파수 변환하여 얻어진 복수의 서브밴드의 특징 벡터의 크기를 기초로 상기 각각의 프레임의 시작점이 상기 음절 데이터의 시작점 또는 종료점 후보에 해당하는지 여부를 결정하는 것을 특징으로 하는 음성 인식 장치.
  9. 제 8항에 있어서,
    상기 음절 분할부는 상기 각각의 프레임으로부터 얻어진 서브밴드들을 특징 벡터의 크기에 따라 내림차순으로 정렬하고, 이전 프레임의 서브밴드들의 정렬 순서와 달라진 서브밴드의 개수가 사전에 설정된 제1기준개수보다 큰 프레임의 시작점을 인접한 음절 데이터 사이의 구분점으로 결정하는 것을 특징으로 하는 음성 인식 장치.
  10. 제 1항 내지 제 3항 중 어느 한 항에 있어서,
    상기 키워드 추출부는 상기 어절 데이터 중에서 사전에 설정된 제2기준개수 이하의 상기 음절 데이터를 포함하는 어절 데이터를 하나의 키워드 인식 구간으로 결정하고, 상기 제2기준개수보다 많은 상기 음절 데이터를 포함하는 어절 데이터에 대하여는 상기 음절 데이터를 순차적으로 스캔하면서 상기 제2기준개수만큼의 음절 데이터를 병합하여 하나의 키워드 인식 구간으로 결정하는 것을 특징으로 하는 음성 인식 장치.
  11. 제 1항 내지 제 3항 중 어느 한 항에 있어서,
    상기 키워드 인식부는 상기 각각의 키워드 인식 구간에 대응하는 상기 음성 데이터를 상기 키워드 데이터와 대비하여 복수의 키워드 후보를 결정하고, 신뢰도가 가장 높은 키워드 후보를 상기 키워드 인식 결과로 결정하는 것을 특징으로 하는 음성 인식 장치.
  12. 제 1항 내지 제 3항 중 어느 한 항에 있어서,
    상기 키워드 인식부는 상기 각각의 키워드 인식 구간에 대응하는 상기 음성 데이터를 상기 키워드 데이터와 대비하여 복수의 키워드 후보를 결정하고, 신뢰도가 가장 높은 키워드 후보의 신뢰도가 사전에 설정된 기준 범위에 속하면 상기 기준 범위 내에 포함되는 신뢰도의 키워드 후보들을 상기 키워드 인식 결과로서 출력하여 사용자에게 제공하는 것을 특징으로 하는 음성 인식 장치.
  13. 제 1항 내지 제 3항 중 어느 한 항에 있어서,
    상기 음절 분할부는 상기 복수의 어절 데이터 각각에 대응하는 복수의 음절 분할 모듈에 의하여 상기 복수의 어절 데이터를 동시에 분할하며,
    상기 키워드 인식부는 상기 복수의 키워드 인식 구간 각각에 대응하는 복수의 키워드 인식 모듈에 의하여 상기 복수의 키워드 인식 구간에 대한 키워드 인식을 동시에 수행하는 것을 특징으로 하는 음성 인식 장치.
  14. (a) 사용자로부터 입력받은 음성 데이터를 문장의 띄어쓰기 단위에 대응하는 복수의 어절 데이터로 분할하는 단계;
    (b) 상기 각각의 어절 데이터를 단어의 최소 단위에 대응하는 복수의 음절 데이터로 분할하는 단계;
    (c) 상기 어절 데이터 및 상기 음절 데이터의 시작점 및 종료점 정보를 기초로 상기 음성 데이터로부터 키워드를 추출하기 위한 최소 길이의 데이터인 복수의 키워드 인식 구간을 결정하는 단계; 및
    (d) 상기 각각의 키워드 인식 구간에 대응하는 상기 음성 데이터를 데이터베이스에 사전에 저장된 키워드 데이터와 대비하여 키워드 인식 결과를 출력하는 단계;를 포함하는 것을 특징으로 하는 음성 인식 방법.
  15. 제 14항에 있어서,
    상기 (a) 단계 이전에,
    (e) 상기 음성 데이터의 크기가 사전에 설정된 크기 범위 내에 포함되도록 상기 음성 데이터의 이득을 조절하고, 이득이 조절된 상기 음성 데이터에 포함된 노이즈를 제거하여 출력하는 단계를 더 포함하는 것을 특징으로 하는 음성 인식 방법.
  16. 제 15항에 있어서,
    상기 (e) 단계에서, 상기 음성 데이터를 사전에 설정된 분할 간격으로 분할한 후 주파수 영역으로 변환하여 추출된 특징에 의해 잡음 성분을 추정한 후, 추정된 잡음 성분을 상기 음성 데이터로부터 제거하는 것을 특징으로 하는 음성 인식 방법.
  17. 제 15항 또는 제 16항에 있어서,
    상기 (c) 단계에서, 이득이 조절된 상기 음성 데이터로부터 상기 키워드 인식 구간을 결정하고,
    상기 (d) 단계에서, 이득이 조절된 상기 음성 데이터에 대응하는 키워드 데이터가 검색되지 않으면 이득이 조절된 후 노이즈가 제거된 상기 음성 데이터를 기초로 얻어진 키워드 인식 결과를 출력하는 것을 특징으로 하는 음성 인식 방법.
  18. 제 14항 내지 제 16항 중 어느 한 항에 있어서,
    상기 (a) 단계에서, 상기 음성 데이터를 복수의 프레임으로 분할하고, 상기 각각의 프레임으로부터 추출된 특징 벡터의 크기를 사전에 설정된 문턱값과 대비하여 상기 각각의 프레임의 시작점이 상기 어절 데이터의 시작점 또는 종료점에 해당하는지 여부를 결정하는 것을 특징으로 하는 음성 인식 방법.
  19. 제 18항에 있어서,
    상기 (a) 단계에서, 상기 어절 데이터의 시작점 또는 종료점이 결정되어 얻어진 복수의 1차 어절 데이터 후보 중에서 길이가 사전에 설정된 제1기준길이 이상인 복수의 2차 어절 데이터 후보를 결정하고, 상기 2차 어절 데이터 후보들 각각을 구성하는 프레임들의 특징 벡터의 평균 크기를 산출하여 산출된 평균 크기들 중 최대값과의 크기차가 사전에 설정된 기준배수 이상이며 길이가 사전에 설정된 제3기준길이 이상인 2차 어절 데이터 후보를 최종적인 어절 데이터로 결정하는 것을 특징으로 하는 음성 인식 방법.
  20. 제 19항에 있어서,
    상기 (a) 단계에서, 상기 2차 어절 데이터 후보들 중에서 서로 인접한 2차 어절 데이터 후보 사이의 공백구간의 길이가 사전에 설정된 제2기준길이보다 작으면 상기 인접한 2차 어절 데이터 후보를 하나의 2차 어절 데이터 후보로 병합한 후 상기 최종적인 어절 데이터를 결정하는 것을 특징으로 하는 음성 인식 방법.
  21. 제 14항 내지 제 16항 중 어느 한 항에 있어서,
    상기 (b) 단계에서, 상기 각각의 어절 데이터를 구성하는 복수의 프레임을 각각 주파수 변환하여 얻어진 복수의 서브밴드의 특징 벡터의 크기를 기초로 상기 각각의 프레임의 시작점이 상기 음절 데이터의 시작점 또는 종료점 후보에 해당하는지 여부를 결정하는 것을 특징으로 하는 음성 인식 방법.
  22. 제 21항에 있어서,
    상기 (b) 단계에서, 상기 각각의 프레임으로부터 얻어진 서브밴드들을 특징 벡터의 크기에 따라 내림차순으로 정렬하고, 이전 프레임의 서브밴드들의 정렬 순서와 달라진 서브밴드의 개수가 사전에 설정된 제1기준개수보다 큰 프레임의 시작점을 인접한 음절 데이터 사이의 구분점으로 결정하는 것을 특징으로 하는 음성 인식 방법.
  23. 제 14항 내지 제 16항 중 어느 한 항에 있어서,
    상기 (c) 단계에서, 상기 어절 데이터 중에서 사전에 설정된 제2기준개수 이하의 상기 음절 데이터를 포함하는 어절 데이터를 하나의 키워드 인식 구간으로 결정하고, 상기 제2기준개수보다 많은 상기 음절 데이터를 포함하는 어절 데이터에 대하여는 상기 음절 데이터를 순차적으로 스캔하면서 상기 제2기준개수만큼의 음절 데이터를 병합하여 하나의 키워드 인식 구간으로 결정하는 것을 특징으로 하는 음성 인식 방법.
  24. 제 14항 내지 제 16항 중 어느 한 항에 있어서,
    상기 (d) 단계에서, 상기 각각의 키워드 인식 구간에 대응하는 상기 음성 데이터를 상기 키워드 데이터와 대비하여 복수의 키워드 후보를 결정하고, 신뢰도가 가장 높은 키워드 후보를 상기 키워드 인식 결과로 결정하는 것을 특징으로 하는 음성 인식 방법.
  25. 제 14항 내지 제 16항 중 어느 한 항에 있어서,
    상기 (d) 단계에서, 상기 각각의 키워드 인식 구간에 대응하는 상기 음성 데이터를 상기 키워드 데이터와 대비하여 복수의 키워드 후보를 결정하고, 신뢰도가 가장 높은 키워드 후보의 신뢰도가 사전에 설정된 기준 범위에 속하면 상기 기준 범위 내에 포함되는 신뢰도의 키워드 후보들을 상기 키워드 인식 결과로서 출력하여 사용자에게 제공하는 것을 특징으로 하는 음성 인식 방법.
  26. 제 14항 내지 제 16항 중 어느 한 항에 있어서,
    상기 (b) 단계에서, 상기 복수의 어절 데이터 각각에 대응하는 복수의 음절 분할 모듈에 의하여 상기 복수의 어절 데이터를 동시에 분할하며,
    상기 (d) 단계에서, 상기 복수의 키워드 인식 구간 각각에 대응하는 복수의 키워드 인식 모듈에 의하여 상기 복수의 키워드 인식 구간에 대한 키워드 인식을 동시에 수행하는 것을 특징으로 하는 음성 인식 방법.
  27. 제 14항 내지 제 16항 중 어느 한 항에 기재된 음성 인식 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020110060779A 2011-06-22 2011-06-22 음성 데이터 분할에 의한 음성 인식 장치 및 방법 KR101122590B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110060779A KR101122590B1 (ko) 2011-06-22 2011-06-22 음성 데이터 분할에 의한 음성 인식 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110060779A KR101122590B1 (ko) 2011-06-22 2011-06-22 음성 데이터 분할에 의한 음성 인식 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101122590B1 true KR101122590B1 (ko) 2012-03-16

Family

ID=46141749

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110060779A KR101122590B1 (ko) 2011-06-22 2011-06-22 음성 데이터 분할에 의한 음성 인식 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101122590B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101242182B1 (ko) 2012-11-21 2013-03-12 (주)지앤넷 음성인식장치 및 음성인식방법
US10140974B2 (en) 2014-12-29 2018-11-27 Samsung Electronics Co., Ltd. Method and apparatus for speech recognition
CN113707156A (zh) * 2021-08-06 2021-11-26 武汉科技大学 一种用于车载的语音识别方法及系统
WO2022015010A1 (ko) * 2020-07-13 2022-01-20 다인기술 주식회사 음향 신호를 분석하여 기침을 계수하는 방법, 이를 수행하는 서버 및 비일시성의 컴퓨터 판독 가능 기록 매체
CN115132198A (zh) * 2022-05-27 2022-09-30 腾讯科技(深圳)有限公司 数据处理方法、装置、电子设备、程序产品及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980073343A (ko) * 1997-03-13 1998-11-05 김영환 음절 분할방법
WO2004015686A1 (en) 2002-08-01 2004-02-19 Telefonaktiebolaget Lm Ericsson (Publ) Method for automatic speech recognition
KR20040051426A (ko) * 2002-12-12 2004-06-18 한국전자통신연구원 키워드 기반 N-gram 언어모델 구축 방법
KR20090004216A (ko) * 2007-07-06 2009-01-12 주식회사 예스피치 음성 인식에 대한 통계적 의미 분류 시스템 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980073343A (ko) * 1997-03-13 1998-11-05 김영환 음절 분할방법
WO2004015686A1 (en) 2002-08-01 2004-02-19 Telefonaktiebolaget Lm Ericsson (Publ) Method for automatic speech recognition
KR20040051426A (ko) * 2002-12-12 2004-06-18 한국전자통신연구원 키워드 기반 N-gram 언어모델 구축 방법
KR20090004216A (ko) * 2007-07-06 2009-01-12 주식회사 예스피치 음성 인식에 대한 통계적 의미 분류 시스템 및 방법

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101242182B1 (ko) 2012-11-21 2013-03-12 (주)지앤넷 음성인식장치 및 음성인식방법
US10140974B2 (en) 2014-12-29 2018-11-27 Samsung Electronics Co., Ltd. Method and apparatus for speech recognition
WO2022015010A1 (ko) * 2020-07-13 2022-01-20 다인기술 주식회사 음향 신호를 분석하여 기침을 계수하는 방법, 이를 수행하는 서버 및 비일시성의 컴퓨터 판독 가능 기록 매체
US11877841B2 (en) 2020-07-13 2024-01-23 Dain Technology, Inc. Method for counting coughs by analyzing sound signal, server performing same, and non-transitory computer-readable recording medium
CN113707156A (zh) * 2021-08-06 2021-11-26 武汉科技大学 一种用于车载的语音识别方法及系统
CN113707156B (zh) * 2021-08-06 2024-04-05 武汉科技大学 一种用于车载的语音识别方法及系统
CN115132198A (zh) * 2022-05-27 2022-09-30 腾讯科技(深圳)有限公司 数据处理方法、装置、电子设备、程序产品及介质
CN115132198B (zh) * 2022-05-27 2024-03-15 腾讯科技(深圳)有限公司 数据处理方法、装置、电子设备、程序产品及介质

Similar Documents

Publication Publication Date Title
US9875739B2 (en) Speaker separation in diarization
EP2849177B1 (en) System and method of text zoning
US7693713B2 (en) Speech models generated using competitive training, asymmetric training, and data boosting
CN106847259B (zh) 一种音频关键词模板的筛选和优化方法
US7181395B1 (en) Methods and apparatus for automatic generation of multiple pronunciations from acoustic data
US20070038453A1 (en) Speech recognition system
KR101122590B1 (ko) 음성 데이터 분할에 의한 음성 인식 장치 및 방법
CN113192535B (zh) 一种语音关键词检索方法、系统和电子装置
CN111951796A (zh) 语音识别方法及装置、电子设备、存储介质
KR101122591B1 (ko) 핵심어 인식에 의한 음성 인식 장치 및 방법
JP5385876B2 (ja) 音声区間検出方法、音声認識方法、音声区間検出装置、音声認識装置、そのプログラム及び記録媒体
EP1887562B1 (en) Speech recognition by statistical language model using square-root smoothing
Këpuska Wake-up-word speech recognition
JP4791857B2 (ja) 発話区間検出装置及び発話区間検出プログラム
Unnibhavi et al. LPC based speech recognition for Kannada vowels
Singhal et al. Automatic speech recognition for connected words using DTW/HMM for English/Hindi languages
CN113327596B (zh) 语音识别模型的训练方法、语音识别方法和装置
JP2012053218A (ja) 音響処理装置および音響処理プログラム
JP6526602B2 (ja) 音声認識装置、その方法、及びプログラム
CN114203180A (zh) 会议纪要的生成方法、装置、电子设备及存储介质
Unnibhavi et al. A survey of speech recognition on south Indian Languages
Savchenko et al. Fuzzy Phonetic Encoding of Speech Signals in Voice Processing Systems
Sharma et al. Speech recognition of Punjabi numerals using synergic HMM and DTW approach
US8768695B2 (en) Channel normalization using recognition feedback
Breslin et al. Continuous asr for flexible incremental dialogue

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150224

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160223

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170825

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190226

Year of fee payment: 8