KR20200015100A - 대어휘 연속 음성 인식 방법 및 그 장치 - Google Patents

대어휘 연속 음성 인식 방법 및 그 장치 Download PDF

Info

Publication number
KR20200015100A
KR20200015100A KR1020180090447A KR20180090447A KR20200015100A KR 20200015100 A KR20200015100 A KR 20200015100A KR 1020180090447 A KR1020180090447 A KR 1020180090447A KR 20180090447 A KR20180090447 A KR 20180090447A KR 20200015100 A KR20200015100 A KR 20200015100A
Authority
KR
South Korea
Prior art keywords
user
speech recognition
pronunciation
pronunciation string
partial
Prior art date
Application number
KR1020180090447A
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 KR1020180090447A priority Critical patent/KR20200015100A/ko
Publication of KR20200015100A publication Critical patent/KR20200015100A/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/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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • G10L2015/0631Creating reference templates; Clustering
    • G10L2015/0633Creating reference templates; Clustering using lexical or orthographic knowledge sources
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/081Search algorithms, e.g. Baum-Welch or Viterbi
    • 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)
  • Artificial Intelligence (AREA)
  • Machine Translation (AREA)

Abstract

음성 인식 방법이 개시된다. 상기 음성 인식 방법은, 음성 인식을 수행하고자 하는 음성 데이터의 도메인에 속한 사용자 정의 단어구를 사용자 정의 발음열로 변환하는 단계; 상기 음성 데이터의 음성 인식 결과를 발음열로 변환하고, 상기 발음열을 정해진 길이에 따라 다수의 부분 발음열로 변환하는 단계; 상기 다수의 부분 발음열 중에서 사용자 정의 발음열과 유사도가 가장 높은 부분 발음열을 탐색하여, 상기 탐색된 부분 발음열에 대응하는 단어구를 상기 사용자 정의 발음열에 대응하는 상기 사용자 정의 단어구로 치환하는 단계를 포함한다.

Description

대어휘 연속 음성 인식 방법 및 그 장치{APPARATUS AND METHOD FOR LARGE VOCABULARY CONTINUOUS SPEECH RECOGNITION}
본 발명은 대어휘 연속 음성 인식 기술에 관한 것이다.
최근, 방송, 연설, 회의 또는 콜센터 전화 내용을 녹음하여 이를 텍스트로 변환하는 목적으로 음성 인식 기술이 널리 사용되고 있는데, 대용량의 음성 데이터를 음성 인식하는 과정에서는 음성 인식 오류는 빈번하게 발생하고 있으며 이러한 오류는 음성 인식 시스템의 훈련 과정에서는 나타나지 않았던 단어 또는 단어 배열에 대해서 특히 자주 발생하게 된다.
이러한 문제를 해결하기 위해서 종래의 음성 인식 기술은 인식하고자 하는 도메인 데이터를 추가로 수집하여 새로운 단어 및 단어 배열에 대한 통계적 정보를 다시 학습한 이후에 음성 인식을 수행하는 방법을 적용하고 있는 것이 보통의 방법이다.
이러한 방법의 경우 추가적인 학습을 위해서는 도메인에 맞는 텍스트 데이터가 충분히 있어야 하며, 또한 이를 이용하여 새롭게 훈련하는 데에 추가적인 시간과 비용이 발생한다.
따라서, 본 발명의 목적은, 추가적인 학습 없이, 음성 인식 시스템의 훈련 과정에서는 나타나지 않았던 단어 또는 단어 배열에 대해서도 음성 인식 결과의 정확도를 높일 수 있는 대어휘 연속 음성 인식 방법 및 그 장치를 제공하는 데 있다.
상술한 목적을 달성하기 위한 본 발명의 일면에 따른 음성 인식 방법은, 음성 인식을 수행하고자 하는 음성 데이터의 도멘인에 속한 사용자 정의 단어구를 사용자 정의 발음열로 변환하는 단계; 상기 음성 데이터의 음성 인식 결과를 발음열로 변환하고, 상기 발음열을 정해진 길이에 따라 다수의 부분 발음열로 변환하는 단계; 상기 다수의 부분 발음열 중에서 사용자 정의 발음열과 유사도가 가장 높은 부분 발음열을 탐색하여, 상기 탐색된 부분 발음열에 대응하는 단어구를 상기 사용자 정의 발음열에 대응하는 상기 사용자 정의 단어구로 치환하는 단계를 포함한다.
본 발명에 따르면, 사용자가 사전에 음성 인식 대상의 도메인에서 빈번히 출현하는 단어 또는 단어구에 대한 정보를 제공하는 경우에 이를 활용하여 인식 오류를 수정하는 방법에 관한 것이다. 제안된 방법을 이용하여 사용자가 제시한 정보를 활용하여 음성 인식 오류를 수정할 수 있으며 이를 위하여 별도의 훈련이나 훈련 데이터 없이 음성 인식 성능을 개선할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 음성 인식 방법의 흐름도이다.
도 2는 본 발명의 일 실시 예에 따른 음성 인식 장치의 블록도이다.
도 3은 도 2에 도시한 프로세서의 내부 구성을 나타내는 블록도이다.
이하, 본 발명의 다양한 실시예가 첨부된 도면과 연관되어 기재된다. 본 발명의 다양한 실시예는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나, 이는 본 발명의 다양한 실시예를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 다양한 실시예의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용되었다.
본 발명의 다양한 실시예에서 사용될 수 있는 "포함한다" 또는 "포함할 수 있다" 등의 표현은 개시(disclosure)된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 발명의 다양한 실시예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명의 다양한 실시예에서 "또는" 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한 다. 예를 들어, "A 또는 B"는, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.
본 발명의 실시예에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명의 실시 예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 다양한 실시 예에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명은 특정 도메인(특정 분야, 특정 주제 또는 특정 카테고리)의 음성 데이터에 대해 음성 인식을 수행하는 음성 인식 방법을 제공한다.
본 발명의 음성 인식 방법은, 사용자의 경험 또는 예측에 따라 상기 특정 도메인에서 음성 인식 오류가 빈번하게 발생할 것으로 예상되는 단어 또는 단어구에 대한 데이터(이하, '사용자 정의 단어구'라 함.)를 사전에 정의하고, 상기 사용자 정의 단어구와 상기 음성 데이터를 입력으로 수신하고, 상기 사용자 정의 단어구를 이용하여 상기 음성 데이터의 음성 인식 오류를 수정한다.
이와 같이, 본 발명의 음성 인식 방법은 사용자가 특정 도메인에서 음성 인식 오류가 빈번하게 발생할 것으로 예상되는 사용자 정의 단어구를 힌트로 활용하여 상기 특정 도메인의 음성 데이터에 대한 음성 인식 오류를 수정함으로써, 음성 인식 오류를 줄이기 위한 별도의 훈련용 데이터 및 이에 대한 복잡한 훈련과정 없이, 음성 인식 성능을 개선할 수 있다.
이하, 도면을 참조하여, 본 발명의 음성 인식 방법에 대한 실시 예에 대해 상세히 기술한다.
도 1은 본 발명의 일 실시 예에 따른 음성 인식 방법의 흐름도이다.
도 1을 참조하면, 먼저, 단계 S110에서, 음성 인식을 수행하고 하는 음성 데이터의 도메인(특정 분야, 특정 주제, 인명과 같은 고유명사)에 속한 사용자 정의 단어구를 생성하는 과정이 수행된다. 사용자 정의 단어구는 음성 데이터의 음성 인식 결과에서 음성 인식 오류를 수정하기 위한 데이터로 활용된다. 즉, 사용자 정의 단어구는 사용자가 특정 도메인에서 음성 인식 오류가 빈번하게 발생할 것으로 예상되는 단어 또는 단어구에 대한 텍스트 형식의 데이터일 수 있다. 이러한 사용자 정의 단어구는 사용자 입력에 응답하여 임의의 입력 인터페이스에서 생성될 수 있다.
이어, 단계 S120에서, 상기 생성된 사용자 정의 단어구를 발음열로 변환하는 과정이 수행된다. 발음열이란 소리를 구분하는 가장 작은 단위에 대응하는 발음을 나타내는 기호를 나열한 열을 의미한다. 사전에 학습된 변환 규칙은 소리를 구분하는 가장 작은 단위(예를 들면, 음소)와 발음 기호 간의 맵핑 관계를 나타내는 규칙일 수 있다. 이러한 변환 규칙은 본 발명의 일 실시 예에 따른 음성 인식 방법을 실행하는 음성 인식기의 훈련에 사용될 수 있는 규칙과 동일한 것일 수 있다. 한편, 사용자가 사용자 정의 단어구 외에 발음열을 나타내는 사용자 입력을 입력 인터페이스에 입력하는 경우, 이는 사용자가 사용자 정의 단어구에 대한 발음열을 제공하는 것이므로, 굳이 상기 단계 S110의 사용자 정의 단어구를 발음열로 변환하는 과정의 수행은 요구되지 않는다. 즉, 상기 단계 S110는 생략될 수도 있다.
이어, 단계 S130에서, 사용자 정의 단어구와 발음열이 생성되면, 음성 인식을 수행하고자 하는 음성 데이터에 대해 음성 인식 과정이 수행된다. 여기서, 음성 인식 과정이 사용자 정의 단어구와 발음열의 생성 이후에 수행되는 것으로 한정하는 것은 아니며, 사용자 정의 단어구와 발음열의 생성 이전 또는 동시에 수행될 수도 있다. 음성 인식 과정을 수행하기 위해, 다양한 음성 인식 알고리즘이 활용될 수 있다. 음성 인식 알고리즘으로, 음성의 디지털 샘플링(digital sampling)과 관련된 알고리즘, LPC analysis (Linear Predictive Coding), MFCC (Mel Frequency Cepstral Coefficients), cochlea modelling, 음소의 인식(recognition of phonemes)과 관련된 알고리즘, DTW (Dynamic Time Warping), HMM (hidden Markov modelling), 신경망(Neural Networks) 및 이들 중 적어도 2개가 혼합된 알고리즘 등이 사용될 수 있다. 예를 들면, HMM은 이중 통계적 모델로서, 기본이 되는 음소열의 생성과 프레임 단위의 표면적 음향학적인 표현을 Markov 과정과 같이 확률로서 나타낼 수 있다. 프레임 단위의 점수를 예측하는데 신경망(Neural network)이 사용될 수 있으며, HMM 시스템과 결합되어 혼합 모델로서 사용되기도 한다. 그 밖에, 음성 인식 알고리즘으로, 발음 방식(고립단어 인식(isolated word recognition), 연속 음성 인식(continuous speech recognition), 낭독체, 대화체(자연음성)), 화자(화자 종속(speaker-dependent), 화자 독립(speaker-independent), 화자 적응(speaker adaptation)), 단어의 수(소(1~99), 중(100~999), 대( 1000)), 언어 모델(유한 상태 네트워크(finite-state network), 문맥 의존(context-sensitive grammar)), 단어 혼잡도(낮음( <10), 높음( >100) : 단어의 애매성과 음향학적 혼동성 (ambiguity  and confusability)), SNR(잡음비: 높음( >30dB), 낮음( <10dB)  : signal noise ratio 주변 환경에 따른 소음 정도) 등과 같은 변수들을 고려한 모든 종류의 알고리즘이 활용될 수 있다. 본 발명은 이러한 음성 인식 알고리즘 자체를 한정하는 데 특징이 있는 것이 아니므로, 이에 대한 설명은 공지의 기술로 대신한다.
이어, 단계 S140에서, 음성 데이터의 음성 인식 결과를 발음열로 변환하는 과정이 수행된다. 음성 데이터에 대해 음성 인식을 수행하는 음성 인식기가 연속어 음성 인식기인 경우, 음성 인식 결과는 1개 이상의 단어 또는 형태소의 열일 수 있다. 음성 인식 결과는 전술한 단계 S120과 동일한 방법으로 발음열로 변환될 수 있다.
이어, 단계 S150에서, 음성 인식 결과의 발음열을 정해진 길이에 따라 다수의 부분 발음열로 분할하는 과정이 수행된다. 분할의 단위는 음소, 형태소, 단어, 문장 등이 될 수 있으며 더 작은 단위로 분할할수록 세밀한 단위에서의 치환이 가능해지는 반면 계산량이 많아지고, 큰 단위에서 분할할수록 계산량을 줄 일 수 있지만, 세밀한 단위에서의 치환이 어려우므로, 정밀도가 떨어진다. 이들의 트레이드오프를 고려하여, 분할의 단위를 절절하게 결정하는 것이 바람직하다.
이어, 단계 S160에서, 다수의 부분 발음열 중에서 사용자 정의 발음열(사용자 정의 단어구로부터 변환된 발음열)과 유사도가 가장 높은 부분 발음열을 탐색하는 과정이 수행된다.
일 예로, 유사도 탐색 과정은 S=1, L=1부터 시작된다. S는 다수의 부분 발음열 중에서 시작점에 대응하는 발음열을 나타내는 변수이고, L은 끝점에 대응하는 발음열의 길이를 나타내는 변수이다. 즉, 사용자 정의 발음열에 대해 음성 인식 결과의 S번째 단어를 시작점으로 하는 부분 발음열과 S+L 번째 단어의 발음열을 끝점으로 하는 부분 발음열까지의 유사도를 각각 측정한다
발음열 간의 유사도를 측정할 때는 sequence간의 거리를 측정하는 다양한 방법이 이용될 수 있으며, 예를 들면, 개별 발음 기호 간의 거리는 음운학적 특성 및 음성인식기의 실험적 특성을 반영한 혼돈 행렬(confusion matrix)을 기반으로 계산될 수 있다.
L=1부터 마지막 단어 또는 형태소까지, 즉 L=N-S까지 차례대로 증가시키면서 유사도를 계산하여 유사도가 가장 높은 하나의 L값과 그때의 유사도를 저장한다. 여기서, N은 음성 인식 결과에 포함된 단어 또는 형태소의 개수이다. S=1부터 N까지 차례로 증가시키면서 유사도가 가장 높은 S 값과 그때의 L값 및 유사도 값을 저장한다.
한편, 사용자 정의 단어구가 복수인 경우, 단계 S160의 탐색 과정은 사용자 정의 단어구의 개수만큼 반복적으로 수행될 수 있다.
이어, 단계 S170에서, 다수의 부분 발음열 중에서 사용자 정의 발음열과 유사도가 가장 높은 것으로 탐색된 부분 발음열에 대응하는 단어구는 사용자 정의 발음열에 대응하는 사용자 정의 단어구로 치환한다.
이와 같이, 부분 발음열에 대응하는 단어구(형태소 또는 단어)가 사용자의 경험 및 예측에 따라 음성 인식 오류가 발생할 것을 대비하여 사전에 입력한 사용자 정의 단어구로 치환됨으로써, 음성 인식 결과의 인식 오류를 수정할 수 있게 된다.
한편, 다수의 부분 발음열과 사용자 정의 발음열 간의 유사도 계산량을 줄이기 위해, 일 예로, 사용자 정의 단어구의 길이에 따라 일부 발음 기호에 대해서만 유사도를 계산할 수도 있다. 다른 예로, 유사도의 정확한 계산을 위해, 전술한 단계 S150의 음성 인식 결과의 발음열을 다수의 부분 발음열로 분할하는 과정에서 정해진 길이를 다양하게 조정할 수 있다. 예를 들면, 사용자의 경험 또는 예측에 따라, 음성 인식 오류가 발생할 확률이 높은 사용자 정의 단어구의 경우, 상기 정해진 길이를 해당 사용자 정의 단어구의 발음열 길이(사용자 정의 발음열 길이)와 동일한 길이로 설정하여, 유사도를 계산하는 과정에서 사용자 정의 발음열의 기호와 부분 발음열의 기호가 1:1 방식으로 유사도를 계산하게 함으로써, 보다 정확한 유사도 계산을 수행하도록 한다. 반대로, 사용자의 경험 또는 예측에 따라, 음성 인식 오류가 발생할 확률이 낮은 사용자 정의 단어구의 경우, 상기 정해진 길이를 해당 사용자 정의 단어구의 발음열 길이보다 큰 길이로 설정하여 사용자 정의 발음열과 비교되도록 분할되는 부분 발음열의 개수를 줄임으로써, 유사도 계산 시간을 줄일 수 있다. 이 경우, 사용자 정의 발음열의 기호 전체와 부분 발음열의 기호 전체를 1:1 방식으로 유사도를 계산하는 것이 아니라 사용자 정의 발음열의 일부 기호와 부분 발음열의 일부 기호에 대해서만 1:1 방식으로 유사도를 계산할 수 있다.
음성 인식 결과의 발음열을 다수의 부분 발음열로 분할하기 위해, 설정되는 정해진 길이는 사용자 입력에 따라 결정될 수 있다.
이어, 단계 S180에서, 사용자 정의 단어구로 치환됨으로써, 수정된 음성 인식 결과를 표시화면을 통해 출력하는 과정이 수행된다.
한편, 사용자 정의 단어구가 복수이고, 복수의 정의 단어구로부터 각각 변환된 사용자 정의 발음열 모두가 하나의 부분 발음열에 대해 동일한 가장 높은 유사도로 계산된 경우(또는 계산된 유사도들이 사전에 설정된 허용 오차범위 내에 있는 경우,), 각 사용자 정의 발음열에 대응하는 사용자 정의 단어구로 치환된 모든 음성 인식 결과를 출력함으로써, 사용자로 하여금 적절한 음성 인식 결과를 직접 선택할 수 있도록 할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 음성 인식 장치의 블록도이고, 도 3은 도 2에 도시한 프로세서의 내부 구성을 처리단위로 구분한 블록도이다.
도 2를 참조하면, 본 발명의 일 실시 예에 따른 음성 인식 장치(200)는 통신 기능을 구비한 전자 장치일 수 있다. 이러한 전자 장치는, 사용자 단말로 지칭될 수 있다. 전자 장치는, 예를 들면, 스마트 폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 비디오 전화기, 전자북 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device)(예: 전자 안경과 같은 head-mounted-device(HMD), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 또는 스마트 와치(smart watch))중 적어도 하나를 포함할 수 있다.
본 발명의 일 실시예에 따른 음성 인식 장치(200)는 기본적으로, 입력부(210), 저장유닛(220), 통신모듈(230), 프로세서(240) 및 출력부(250)를 포함하며, 이들을 상호 연결하는 시스템 버스(260)를 포함할 수 있다.
입력부(210)는 사용자 입력에 응답하여, 사용자 정의 단어구와 관련된 데이터, 음성 인식 결과의 발음열을 다수의 부분 발음열로 분할하기 위한 분할 구간의 길이를 설정하는 길이 값을 생성하는 것으로, 키보드, 마우스, 키패스, 터치 패드 등과 같은 입력 장치일 수 있다. 또한, 입력부(210)는 음성 데이터를 생성하기 위해 음성을 수집하는 마이크 등을 포함할 수 있다.
저장 유닛(220)는 프로세서(240)에 실행되는 다수의 알고리즘, 프로세서(240)에 의해 생성되는 중간 데이터 및 최종 데이터(음성 인식 결과 및 수정된 음성 인식 결과)를 저장하는 것으로, 메모리, 하드 디스크 등으로 구현될 수 있다. 메모리는 휘발성 및 비휘발성 메모리를 포함한다. 저장 유닛에 저장되는 알고리즘은, 음성 인식 알고리즘, 음소열을 발음열로 변환하는 변환 규칙, 발음열 간의 유사도 계산과 관련된 알고리즘 등을 저장할 수 있다.
통신부(230)는 음성 인식 장치(200)에서 생성되는 중간 데이터 및 최종 데이터를 다른 장치로 송신하거나, 다른 장치로부터 데이터를 수신하는 통신 기능을 갖는 것으로, 통신 기능은 유선 통신 기능 및 무선 통신 기능(근거리 무선 통신, 이동통신, 3G, LTE 통신, 5G)을 포함할 수 있다.
프로세서(240)는 도 1의 단계들(S110 ~ S180)의 실행하기 위해, 각 단계와 관련된 알고리즘 또는 명령어 등을 상기 저장 유닛(220)으로부터 읽어와 실행하는 것으로, 적어도 하나의 범용 마이크로프로세서로 구현될 수 있다. 또한, 프로세서(240)는 다른 구성들(210, 220, 230 및 250)의 동작을 제어 및 관리할 수 있다. 이에 대한 상세 설명은 아래에서 상세히 기술한다.
출력부(250)는 프로세서(240)에서 생성되는 중간 데이터, 최종 데이터 및 중간 과정 등을 사용자에게 제공하는 것으로, 표시모듈, 스피커 등으로 구현될 수 있다.
이하, 프로세서(240)에 대해 상세히 기술한다.
프로세서(240)는 발음열 변환기(241), 음성 인식기(243), 유사도 계산부(245) 및 치환부(247)를 포함할 수 있다. 이에 한정하지 않고, 발음열 변환기(241), 유사도 계산부(245) 및 치환부(247)는 음성 인식기(243) 내부에 포함하도록 구성될 수 있다.
발음열 변환기(241)은 입력부(도 2의 210)에서 생성한 사용자 정의 단어구를 사용자 정의 발음열로 변환하는 프로세스를 수행한다. 예를 들면, 발음열 변환기(241)는 사용자 정의 단어구에서 소리를 구분하는 가장 작은 단위(phoneme)로 쪼개어 나열한 열을 생성하고, 사전에 학습된 변환 규칙에 따라 나열된 각 단위(phoneme)를 발음열로 변환한다. 또한, 발음열 변환기(241)는 음성 인식기(243)의 음성 인식 결과를 사용자 정의 단어구를 사용자 정의 발음열을 변환하는 과정과 동일한 방법으로 변환하는 프로세스를 수행한다. 또한, 발음열 변환기(241)은 사용자 입력에 따라 입력부(도 2의 210)에서 생성한 길이값에 따라 음성 인식 결과의 발음열을 다수의 부분 발음열로 분할하는 프로세스를 수행한다.
음성 인식기(243)는 저장 유닛(220)에 저장된 음성 인식 알고리즘을 실행하여, 상기 입력부(도 2의 210)에서 생성된 음성 데이터에 대해 음성 인식을 수행하여 음성 인식 결과를 생성한다. 생성된 음성 인식 결과는 상기 발음열 변환기(241)로 입력되어, 발음열로 변환하는 프로세스를 수행한다.
유사도 계산부(245)는 상기 발음열 변환기(241)로부터 입력되는 다수의 부분 발음열과 사용자 정의 발음열 간의 유사도를 계산하여 상기 다수의 부분 발음열 중에서 사용자 정의 발음열과 유사도가 가장 높은 부분 발음열을 탐색하는 프로세스를 수행한다. 유사도 계산 방법으로, 음운학적 특성 및 음성 인식기(243)의 실험적 특성을 반영한 발음 기호 간의 거리(유사도)를 나타내는 혼돈 행렬(confusion matrix)을 기반으로 계산될 수 있다.
치환부(247)는 유사도 계산부(245)의 계산 결과에 따라, 다수의 부분 발음열 중에서 사용자 정의 발음열과 유사도가 가장 높은 것으로 탐색된 부분 발음열에 대응하는 단어구를 해당 사용자 정의 발음열에 대응하는 사용자 정의 단어구로 치환하는 프로세스를 수행한다. 이렇게 함으로써, 부분 발음열에 대응하는 단어구(형태소 또는 단어)에서 사용자의 경험 및 예측에 따라 음성 인식 오류가 발생할 것을 대비하여 사전에 준비한 사용자 정의 단어구로 치환함으로써, 음성 인식 결과의 인식 오류를 수정할 수 있게 된다.
치환부(247)에 의해 사용자 정의 단어구로 치환된 음성 인식 결과(수정된 음성 인식 결과)는 출력부(도 2의 250)를 통해 사용자에게 제공될 수 있다.
이와 같이, 사용자가 사전에 음성 인식 대상의 도메인에서 빈번히 출현하는 단어 또는 단어구에 대한 정보를 제공하는 경우에 이를 활용하여 인식 오류를 수정하는 방법에 관한 것이다. 제안된 방법을 이용하여 사용자가 제시한 정보를 활용하여 음성 인식 오류를 수정할 수 있으며 이를 위하여 별도의 훈련이나 훈련 데이터 없이 음성 인식 성능을 개선할 수 있다.
이상에서 본 발명에 대하여 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 본 발명의 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (1)

  1. 음성 인식을 수행하고자 하는 음성 데이터의 도메인에 속한 사용자 정의 단어구를 사용자 정의 발음열로 변환하는 단계;
    상기 음성 데이터의 음성 인식 결과를 발음열로 변환하고, 상기 발음열을 정해진 길이에 따라 다수의 부분 발음열로 변환하는 단계; 및
    상기 다수의 부분 발음열 중에서 사용자 정의 발음열과 유사도가 가장 높은 부분 발음열을 탐색하여, 상기 탐색된 부분 발음열에 대응하는 단어구를 사용자 정의 발음열에 대응하는 사용자 정의 단어구로 치환하는 단계
    를 포함하는 음성 인식 방법.
KR1020180090447A 2018-08-02 2018-08-02 대어휘 연속 음성 인식 방법 및 그 장치 KR20200015100A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180090447A KR20200015100A (ko) 2018-08-02 2018-08-02 대어휘 연속 음성 인식 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180090447A KR20200015100A (ko) 2018-08-02 2018-08-02 대어휘 연속 음성 인식 방법 및 그 장치

Publications (1)

Publication Number Publication Date
KR20200015100A true KR20200015100A (ko) 2020-02-12

Family

ID=69569600

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180090447A KR20200015100A (ko) 2018-08-02 2018-08-02 대어휘 연속 음성 인식 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR20200015100A (ko)

Similar Documents

Publication Publication Date Title
JP7280382B2 (ja) 数字列のエンドツーエンド自動音声認識
US11450313B2 (en) Determining phonetic relationships
EP3114679B1 (en) Predicting pronunciation in speech recognition
US9640175B2 (en) Pronunciation learning from user correction
US8996366B2 (en) Multi-stage speaker adaptation
US8805684B1 (en) Distributed speaker adaptation
US20150112685A1 (en) Speech recognition method and electronic apparatus using the method
JP4129989B2 (ja) テキスト音声合成を支援するシステム
JP6284462B2 (ja) 音声認識方法、及び音声認識装置
CN110675866B (zh) 用于改进至少一个语义单元集合的方法、设备及计算机可读记录介质
JP2015187684A (ja) N−gram言語モデルの教師無し学習方法、学習装置、および学習プログラム
JP2013125144A (ja) 音声認識装置およびそのプログラム
Kayte et al. Implementation of Marathi Language Speech Databases for Large Dictionary
US20040006469A1 (en) Apparatus and method for updating lexicon
Kurian et al. Connected digit speech recognition system for Malayalam language
JP6786065B2 (ja) 音声評定装置、音声評定方法、教師変化情報の生産方法、およびプログラム
JP2008026721A (ja) 音声認識装置、音声認識方法、および音声認識用プログラム
EP3718107B1 (en) Speech signal processing and evaluation
KR20130043817A (ko) 어학 학습 장치 및 어학 학습 방법
KR20200015100A (ko) 대어휘 연속 음성 인식 방법 및 그 장치
JP5772219B2 (ja) 音響モデル生成装置、音響モデル生成方法及び音響モデル生成用コンピュータプログラム
Eljagmani Arabic Speech Recognition Systems
Huang et al. Speech-Based Interface for Embedded Systems
Lu et al. Improving Speech Enhancement Performance by Leveraging Contextual Broad Phonetic Class Information
Alhonen et al. Mandarin short message dictation on symbian series 60 mobile phones

Legal Events

Date Code Title Description
E902 Notification of reason for refusal