KR102300303B1 - 발음 변이를 적용시킨 음성 인식 방법 - Google Patents

발음 변이를 적용시킨 음성 인식 방법 Download PDF

Info

Publication number
KR102300303B1
KR102300303B1 KR1020200129151A KR20200129151A KR102300303B1 KR 102300303 B1 KR102300303 B1 KR 102300303B1 KR 1020200129151 A KR1020200129151 A KR 1020200129151A KR 20200129151 A KR20200129151 A KR 20200129151A KR 102300303 B1 KR102300303 B1 KR 102300303B1
Authority
KR
South Korea
Prior art keywords
pronunciation
module
phoneme
language learning
speech recognition
Prior art date
Application number
KR1020200129151A
Other languages
English (en)
Other versions
KR20200121260A (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
Priority claimed from KR1020140163513A external-priority patent/KR102167157B1/ko
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to KR1020200129151A priority Critical patent/KR102300303B1/ko
Publication of KR20200121260A publication Critical patent/KR20200121260A/ko
Application granted granted Critical
Publication of KR102300303B1 publication Critical patent/KR102300303B1/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
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/187Phonemic context, e.g. pronunciation rules, phonotactical constraints or phoneme n-grams
    • 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/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/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • 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
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • 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
    • G10L2015/025Phonemes, fenemes or fenones being the recognition units
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Machine Translation (AREA)

Abstract

본 실시예는 발음 변이를 적용시킨 음성 인식 방법에 관한 것이다.
음성 인식 방법에 있어서, 마이크로폰에서 자연어 음성 신호를 입력 받은 후 전기 신호로 변환하고, 전처리 모듈에서 상기 전기 신호를 디지털 신호로 변환하는 음성 입력 과정; 음성 인식 모듈에서 상기 디지털 신호를 음향모델 DB를 이용하여 음소(phoneme)열로 변환하는 음소 인식 과정; 상기 음성 인식 모듈에서 상기 음소열을 발음사전 DB와 언어모델 DB를 이용하여 단어들로 변환하여 단어열을 생성하는 단어열 생성 과정; 상기 음성 인식 모듈에서 상기 단어열을 출력하는 단어열 출력 과정을 포함하는 것을 특징으로 하는 발음 변이를 적용시킨 음성 인식 방법을 제공한다.

Description

발음 변이를 적용시킨 음성 인식 방법{VOICE RECOGNITION CONSIDERING UTTERANCE VARIATION}
본 실시예는 발음 변이를 적용시킨 음성 인식 방법에 관한 것이다.
음성인식은 일반적으로 임의의 단위인 토큰으로 이루어진다. 토큰은 음절, 어절(단어), 형태소, 의사 형태소 등으로 구성될 수 있으며, 토큰에 따라서 단어사전과 언어모델이 결정된다.
언어모델 학습을 위한 텍스트 데이터의 크기와 종류에 따라서 음절, 어절, 형태소, 의사 형태소 등은 각기 다른 음성 인식 성능을 보일 수 있으며 음성 인식의 성능을 높일 수 있는 토큰을 결정하는 것은 매우 중요하다. 한국어 음성인식에서는 형태소의 단위를 많이 사용하였으며 최근에는 이와 유사하지만 임의의 단위인 의사 형태소의 단위를 많이 사용한다.
의사 형태소 토큰 분리에는 Morfessor tool이 많이 사용되고 있으며 이 방식에서는 최대우도추정(Maximum Likelihood; ML) 방식과 최소 서술 길이(Minimum Description Length; MDL) 알고리즘을 기반으로 비감독(Unsupervised) 자동 형태소 분석을 구현한다.
그러나 이는 고도 굴절어(Finnish, Turkish, Estonia)와 결합어(German, Swedish, Greek)를 위해서 고안되었기 때문에 한국어 음성 인식을 위해서 한국어의 특성을 반영하지 않아 일부 적합하지 않은 부분이 있다.
특히 한국어에서는 앞음절에 따라 뒷음절의 발성이 달라지는 현상이 빈번하게 발생하고, 발음의 변이를 고려하지 않고 토큰을 분리할 경우에 특정 발음의 손실로 인해 음성 인식이 되지 않는 문제가 자주 발생한다.
예컨대, '학생이 교실을' 텍스트를 '학생이 교실 을'로 토큰 분리했을 때 토큰에 대한 발음이 "학쌩이 교실 을"이 되므로, "교시를"이라는 발음이 손실되어 "교시를"이 인식이 되지 않는다.
본 실시예는 음성 인식 방법에서 대상 언어의 텍스트를 최소 서술 길이(Minimum Description Length; MDL) 알고리즘을 이용하여 규칙성에 대한 정보를 찾아서 토큰을 분리하고, 최대우도추정(Maximum Likelihood; ML) 방식을 기반으로 코스트를 계산하는 기존의 방식에 더하여, 앞음절에 따라서 뒷음절의 발성이 달라지는 발음 변이 현상을 적용해서 발음 손실을 고려한 코스트 계산 방식을 사용하며, 이를 바탕으로 분리된 토큰에 의하여 발음사전과 언어모델을 구축하고 음성을 인식하는 발음 변이를 적용시킨 음성 인식 방법을 제공하는데 주된 목적이 있다.
본 실시예의 일 측면에 의하면, 입력된 디지털 신호를 음성 인식 모듈에서 음향모델 DB를 이용하여 음소(phoneme)열로 변환하는 음소 인식 과정; 상기 음성 인식 모듈에서 상기 음소열을 발음사전 DB와 언어모델 DB를 이용하여 단어들로 변환하여 단어열을 생성하되, 상기 음소열을 한국어의 음절을 단위로 한 조합으로 분리한 다수의 토큰의 집합으로 구성된 분리가능 세트를 생성 가능한 경우의 수만큼 생성하고, 상기 분리가능 세트 각각에 대한 코스트를 계산하여 계산된 코스트가 가장 작은 분리가능 세트를 입력 신호에서 변환된 단어열로서 확정하는 단어열 생성 과정; 및 상기 음성 인식 모듈에서 상기 단어열을 출력하는 단어열 출력 과정을 포함하는 것을 특징으로 하는 발음 변이를 적용시킨 음성 인식 방법을 제공한다.
또한, 본 실시예의 다른 측면에 의하면, 컴퓨터 데이터 처리 기기에, 입력된 디지털 신호를 음성 인식 모듈에서 음향모델 DB를 이용하여 음소(phoneme)열로 변환하는 음소 인식 과정; 상기 음성 인식 모듈에서 상기 음소열을 발음사전 DB와 언어모델 DB를 이용하여 단어들로 변환하여 단어열을 생성하되, 상기 음소열을 한국어의 음절을 단위로 한 조합으로 분리한 다수의 토큰의 집합으로 구성된 분리가능 세트를 생성 가능한 경우의 수만큼 생성하고, 상기 분리가능 세트 각각에 대한 코스트를 계산하여 계산된 코스트가 가장 작은 분리가능 세트를 입력 신호에서 변환된 단어열로서 확정하는 단어열 생성 과정; 및 상기 음성 인식 모듈에서 상기 단어열을 출력하는 단어열 출력 과정을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
또한, 본 실시예의 다른 측면에 의하면, 입력된 디지털 신호를 후술하는 데이터베이스 모듈을 참조하여 음소열로 변환시키고, 다시 상기 데이터베이스 모듈을 참조하여 상기 음소열을 단어들로 변환하여 단어열을 생성하여 출력하는 음성 인식 모듈; 다수의 어절로 이루어진 자연어 텍스트를 입력 받아 자연어 학습 과정을 거쳐서 생성된 데이터를 이용해 상기 데이터베이스를 구축하는 언어 학습 모듈; 및 상기 음성 인식 모듈이 자연어 음성 신호를 음소로 변환시키는데 필요한 데이터 및 상기 음성 인식 모듈이 음소열을 단어열로 변환시키는데 필요한 데이터를 저장하며, 상기 언어 학습 모듈에 의하여 업데이트되는 데이터베이스 모듈을 포함하되, 상기 단어열의 생성은, 상기 음성 인식 모듈에서 상기 음소열을 한국어의 음절을 단위로 한 조합으로 분리한 다수의 토큰의 집합으로 구성된 분리가능 세트를 생성 가능한 경우의 수만큼 생성하고, 상기 분리가능 세트 각각에 대한 코스트를 계산하여 계산된 코스트가 가장 작은 분리가능 세트를 입력 신호에서 변환된 단어열로서 확정하는 것을 특징으로 하는 발음 변이를 적용시킨 음성 인식 장치를 제공한다.
이상에서 설명한 바와 같이 본 실시예에 의하면, 최소 서술 길이(Minimum Description Length; MDL)와 최대우도추정(Maximum Likelihood; ML) 방식 기반의 토큰 분리 기법에 발음의 손실 코스트를 반영하여 엔트로피 기반의 토큰 분리의 약점을 보강하여 음성인식기를 위한 토크 분리가 가능한 효과가 있다.
따라서 본 실시예의 의하면, 발음의 손실을 방지하여 토크를 분리하므로 음성 인식 성능을 향상시킬 수 있는 효과가 있다.
도 1은 본 실시예에 따른 발음 변이를 적용시킨 음성 인식 장치를 개략적으로 나타낸 블록 구성도,
도 2는 본 실시예에 따른 음성 인식 모듈을 개략적으로 나타낸 도면,
도 3은 본 실시예에 따른 언어 학습 모듈을 개략적으로 나타낸 도면,
도 4는 본 실시예에 따른 데이터베이스와 그 저장 방식을 나타낸 예시도,
도 5는 본 실시예에 따른 발음 변이를 적용시킨 음성 인식 방법을 나타낸 순서도,
도 6은 본 실시예에 따른 발음 변이를 적용시킨 언어 학습 방법을 나타낸 순서도,
도 7은 본 실시예에 따른 언어 학습 방법을 설명하기 위한 예시도이다.
이하, 본 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 실시예에 따른 발음 변이를 적용시킨 음성 인식 장치를 개략적으로 나타낸 블록 구성도이다.
도 1을 참조하면, 본 실시예에 따른 발음 변이를 적용시킨 음성 인식 장치는 음성 인식 모듈(200), 언어 학습 모듈(300) 및 데이터베이스(400) 모듈을 포함한다.
음성 인식 모듈(200)은 본 실시예에 따른 발음 변이를 적용시킨 음성 인식이 이루어지는 장치로서 음성 신호를 입력 받아 최종적으로 단어열을 출력한다.
음성 인식 모듈(200)은 마이크로폰(10)으로 입력 받고 전처리 모듈(20)에서 디지털 신호로 변환된 음성 신호를 데이터베이스(400) 모듈을 참조하여 단어열로 변환하고 출력한다.
데이터베이스 모듈(400)은 음성 인식 모듈(200)이 음성 인식을 할 때 참조하는 데이터베이스 장치로서 언어 학습 모듈(300)에 의하여 구축되고 갱신되어야 한다.
언어 학습 모듈(300)은 음성 인식 모듈(200)이 음성 인식을 하기 전에 데이터베이스 모듈(400)을 구축하는 장치이다.
도 2는 본 실시예에 따른 음성 인식 모듈을 개략적으로 나타낸 도면이다.
도 2를 참조하면, 음성 인식 모듈(200)은 음소인식부(210)와 음성인식부(220)를 포함한다.
음소인식부(210)는 먼저 마이크로폰(10)으로 입력 받고 전처리 모듈(20)에서 디지털 신호로 변환된 음성 신호를 의미를 구별짓는 최소의 단위인 음소(예: ㄱ, ㄹ, ㅓ, ㅕ, ㅁ)들의 집합으로 변환하는 기능을 한다.
음성인식부(220)는 인식된 음소들의 집합을 이용하여 의미를 가진 단어열로 된 문장을 구성하는 기능을 한다.
도 3은 본 실시예에 따른 언어 학습 모듈을 개략적으로 나타낸 도면이다.
도 3을 참조하면, 언어 학습 모듈(300)은 다시 토큰분리부(310), 음소변환부(320), 코스트계산부(330), 및 DB저장부(340)를 포함한다.
토큰분리부(310)는 자연어 학습용 텍스트를 입력 받아 텍스트를 다수의 어절로 이루어진 토큰으로 분리한다. 학습 자료를 최소 서술 길이 (Minimum Description Length; MDL) 알고리즘을 사용, 자연어를 형성하고 있는 단어들의 규칙성에 대한 정보를 찾아 토큰으로 분리하여 비감독(Unsupervised) 자동 형태소 분석을 하여 분리가능 세트를 가능한 경우의 수만큼 생성한다.
음소변환부(320)는 분리가능 세트 생성과정에서 분리된 토큰들 각각을 발음 변이 법칙에 따라 실제로 발성되는 소리를 표기한 다수의 음소로 변환한다. 예컨대, '학생이 교실을' 이라는 텍스트를 음소로 변환할 때 "학쌩이 교시를"이 된다. 마찬가지로 '학생 이 교실 을'은 "학쌩 이 교실 을", '학생이 교실 을'은 "학쌩이 교실 을"로, '학생 이 교실을' 은 "학쌩 이 교시를"로 된다.
코스트 계산부(330)는 변환된 음소들에 대하여 발음 손실이 발생하였는지를 검사하여 발음 손실 여부를 반영한 코스트를 계산한다. 코스트를 계산할 때는 공지된 방법으로 기존 코스트(이하, 컨벤션 코스트)를 계산하고, 발음 손실 여부를 반영한 코스트를 계산한 발음 손실 코스트를 함께 계산하여 합산하는 방식을 사용한다.
DB 저장부(340)는 토큰분리부가 생성한 분리가능 세트 중에서 계산된 토탈 코스트가 가장 작은 분리가능 세트를 선택하여 이에 관한 정보를 데이터베이스 모듈(400)에 저장한다.
도 4는 본 실시예에 따른 데이터베이스와 그 저장 방식을 나타낸 예시도이다.
도 1 및 도 4를 참조하면, 데이터베이스 모듈(400)은 음성 인식 모듈(200)이 음성을 인식하기 위해 언어 학습 모듈(400)에 의하여 사전에 구축되며, 음향모델 DB(410), 발음사전 DB(420), 언어모델 DB(430), 및 텍스트 DB(440)를 포함한다.
데이터베이스 모듈(400)에는 DB 저장부(340)에 의하여, 전술한 토큰분리부(310), 음소변환부(320) 및 코스트 계산부(330)가 생성한 토탈 코스트가 가장 작은 분리가능 세트에 관한 정보가 저장된다.
예를 들면, '교실에서'로 분리된 토큰이 가장 코스트가 작은 분리가능 세트로 선정되었다고 했을 때, 이 토큰에 대응되는 음소는 "교시레서"가 되므로 '교실에서'-"교시레서"의 쌍은 발음사전 DB(420)에 저장된다. 또한, '교실에서' 토큰에 대한 적용된 언어모델에서 필요한 정보(예컨대 이 정보는 가장 단순하게는 텍스트에서 본 단어가 출현되는 빈도일 수 있다)는 언어모델 DB(430)에 저장된다(도 4 참조).
음향모델 DB(410)는 전술한 음소인식부(210)가 수신된 디지털 음성 신호를 음소(phoneme)열로 변환할 때 이용되는 것으로서 미리 다수의 화자 발성 데이터를 토대로 만들어져 있으며, 음성 특징 데이터(예: 특징 벡터)와 이에 대응되는 음소가 저장되어 있다. 이는 공지된 기술로서 본 발명에서 새로 개시하는 기술이 아니므로 여기에서는 설명을 생략하기로 한다.
텍스트 DB(440)는 언어 학습 모듈(300) 자연어 학습을 위해 사용하는 다수의 어절로 이루어진 자연어 학습용 텍스트를 미리 저장하고 있는 데이터베이스로서, 본 발명에서 새로 개시하는 기술이 아니므로 여기에서는 설명을 생략하기로 한다.
이하, 도 5를 참조하여 본 실시예에 따른 음성 인식 방법을 상세하게 설명한다.
먼저, 마이크로폰(10)에서는 인식하고자 하는 음성 신호를 입력 받아 전기 신호로 변환되고, 전처리 모듈(20)에서 다시 디지털 신호로 변환된 음성 신호를 음성 인식 모듈(200)이 수신한다(S510).
음성 인식 모듈(200) 내의 음소인식부(210)는 수신된 디지털 음성 신호를 음향모델 DB(410)를 이용하여 음소(phoneme)열로 변환하여야 한다. 따라서 먼저 디지털 음성 신호로부터 음성 특징 정보를 추출하여 음성 특징 데이터(예: 특징 벡터)를 생성(S520)한 후에, 음성 특징 데이터를 음향모델 DB(410)로부터 검색하여 이에 대응되는 음소들로 각각 변환하여 음소열을 생성한다(S530). 이를 위해 음향모델 DB(410)가 미리 다수의 화자 발성 데이터를 토대로 만들어지며, 이는 공지된 기술로서 여기에서는 설명을 생략하기로 한다.
다수의 음성 특징 데이터는 마찬가지로 다수의 음소열을 생성하므로, 다수의 음소열을 다시 단어열로 변환하여야 하는데, 그 과정은 다음과 같다.
먼저, 음소열을 임의로 분리한 다수의 토큰들로 구성된 분리가능 세트를 얻어야 한다(S540). 다음으로 이 토큰들을 발음사전 DB(420)로부터 검색하여 토큰들에 대응하는 단어를 추출해 낸다(S550). 또한 단어를 언어모델 DB(430)로부터 검색하여 단어들에 대한 정보를 추출해내야 한다(S560). 예컨대 흔하게 사용되는 언어모델에서 단어 정보로 사용되는 것으로는 통계적으로 입력된 학습용 데이터에서 단어들 사이의 관계, 또는 해당 단어가 자주 출현되는 정도를 나타낸 빈도수와 같은 파라미터가 있다(도 4의 언어모델 DB 참조). 전술한 단어들과 이에 대응되는 정보를 검색한 다음에는 이를 바탕으로 코스트, 혹은 방금 추출한 단어열이 원음이 의도한 문장과 일치할 확률을 계산해낸다(S570). 이때 코스트의 값은 낮을수록 의도된 문장과 일치할 확률이 높음을 나타내므로, 전술한 분리가능 세트들 중에서 코스트가 가장 작은 분리가능 세트를 의도된 문장으로 확정하고 이를 출력함으로써 음성 인식 과정이 종료된다(S580).
위와 같은 음성 인식 과정은 전술한 과정을 위한 데이터베이스 모듈(400)이 미리 구축되어 있음을 전제로 한다. 따라서 본 실시예는 음성 인식 과정 전에 위 데이터베이스 모듈(400)을 구성하는 발음사전 DB와 언어모델 DB를 구축하는 자연어 학습 과정을 포함한다.
이하, 도 6을 참조하여 본 실시예에 따른 언어 학습 방법을 상세하게 설명한다.
먼저, 언어 학습 모듈(300)에서 자연어 학습을 위해 텍스트 DB(440)로부터 다수의 어절로 이루어진 자연어 학습용 텍스트를 입력 받는다(S410).
토큰분리부(310)는 이 텍스트를 학습을 위한 토큰으로 분리하여야 하는데 Morfessor 프로그램은 일반적으로 많이 사용된다. 학습 자료를 최소 서술 길이 (Minimum Description Length; MDL) 알고리즘을 사용, 자연어를 형성하고 있는 단어들의 규칙성에 대한 정보를 찾아 토큰으로 분리하여 비감독(Unsupervised) 자동 형태소 분석을 하여 분리가능 세트를 가능한 경우의 수만큼 생성한다(S420).
코스트 계산부(330)가 코스트를 계산할 때는 공지된 방법으로 기존 코스트(이하, 컨벤션 코스트)를 계산하고(S430), 발음 손실 여부를 반영한 코스트를 계산한 발음 손실 코스트를 함께 계산하여 합산하는 방식을 사용한다.
음소 변환부(320)는 분리가능 세트 생성과정에서 분리된 토큰들 각각을 발음 변이 법칙에 따라 실제로 발성되는 소리를 표기한 다수의 음소로 변환한다(S440). 예컨대, '학생이 교실을' 이라는 텍스트를 음소로 변환할 때 "학쌩이 교시를"이 된다. 마찬가지로 '학생 이 교실 을'은 "학쌩 이 교실 을", '학생이 교실 을'은 "학쌩이 교실 을"로, '학생 이 교실을' 은 "학쌩 이 교시를"로 된다.
그 다음, 코스트 계산부(330)는 변환된 음소들에 대하여 발음 손실이 발생하였는지를 검사하여 발음 손실 여부를 반영한 코스트를 계산한다(S450).
발음 손실 여부를 반영하기 위해서는, 변환된 음소를 조합하였을 때 분리되기 이전의 토큰에서 생성된 음소와 비교하여 동일한 경우 0으로 계산하고, 동일하지 않은 경우 0 이상의 값으로 계산한다. 예를 들면, '학 교'로 분리된 토큰에서 변환된 음소 "학 교"를 조합하면("학교"), 분리되기 이전의 토큰('학교')에서 생성된 음소 "학꾜"와 동일하지 않다. 따라서 이 경우에는 발음 손실 코스트가 0 이상의 값을 가지게 된다. 코스트가 0 이상의 값을 가진다는 것은 그만큼 이 토큰으로 분리될 확률이 낮다는 것을 뜻한다.
또한, 발음 손실 여부를 반영하기 위해서는, 변환된 음소가 이미 발음사전 DB에 생성되어 있는지를 검사하여, 생성되어 있는 경우 0 이상으로 계산하고, 생성되어 있지 않은 경우 0으로 계산한다. 예를 들자면, '교실 에서'로 분리된 토큰에서 변환된 음소 "교실"과 "에서"는 대개의 경우에는 발음사전 DB에 이미 생성되어 있을 것이다. 따라서 코스트는 0 이상이 되고, '교실에서' 로 분리된 토큰에서 변환된 음소 "교시레서"는 발음사전 DB에 생성되어 있지 않을 것이다. 따라서 이 경우에는 코스트가 0이 되어 후술하는 단계 S470에서 발음사전 DB에 등록된다.
전술한 단계 S430과 S450에서 계산한 컨벤션 코스트와 발음 손실 코스트는 다음의 수학식 1과 같이 합산되어 토탈 코스트로 계산된다(S460).
Figure 112020105807276-pat00001
마지막으로, DB 저장부(340)는 전술한 단계 S420에서 생성된 분리가능 세트 중에서 계산된 토탈 코스트가 가장 작은 분리가능 세트를 선택하여 이에 관한 정보를 데이터베이스 모듈(400)에 저장한다.
예를 들자면, '교실에서'로 분리된 토큰이 가장 코스트가 작은 분리가능 세트로 선정되었다고 했을 때, 이 토큰에 대응되는 음소는 "교시레서"가 되므로 '교실에서'-"교시레서"의 쌍을 발음사전 DB(420)에 저장한다. 또한, '교실에서' 토큰에 대한 적용된 언어모델에서 필요한 정보(예컨대 이 정보는 가장 단순하게는 텍스트에서 본 단어가 출현되는 빈도일 수 있다)를 언어모델 DB(430)에 저장한다(도 4 참조).
도 7은 본 실시예에 따른 언어 학습 방법을 설명하기 위한 예시도이다.
도 7은 위의 과정과 동일하게 텍스트가 토큰으로 분리되고 발음사전 DB(420)에 등록되는 과정을 다시 한번 보여준다.
도 5 및 도 6에서는 과정 S510 내지 과정 S580, 과정 S410 내지 과정 S470을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 발명의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것이다. 다시 말해, 본 발명의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 5 및 도6에 기재된 순서를 변경하여 실행하거나 과정 S510 내지 과정 S580, 과정 S410 내지 과정 S470 중 하나 이상의 과정을 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 5 및 도 6은 시계열적인 순서로 한정되는 것은 아니다.
본 발명의 실시예에 따른 발음 변이를 적용시킨 음성 인식 장치는 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 단말기 등의 통신 장치, 프로그램을 실행하기 위한 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미할 수 있다. 적어도 일 실시예에 따르면, 메모리는 램(Random Access Memory: RAM), 롬(Read Only Memory: ROM), 플래시 메모리, 광 디스크, 자기 디스크, 솔리드 스테이트 디스크(Solid State Disk: SSD) 등의 컴퓨터로 판독 가능한 기록/저장매체일 수 있다. 적어도 일 실시예에 따르면, 마이크로프로세서는 명세서에 기재된 동작과 기능을 하나 이상 선택적으로 수행하도록 프로그램될 수 있다. 적어도 일 실시예에 따르면, 마이크로프로세서는 전체 또는 부분적으로 특정한 구성의 주문형반도체(Application Specific Integrated Circuit: ASIC) 등의 하드웨어로써 구현될 수 있다.
전술한 바와 같이, 도 5에 기재된 발음 변이를 적용시킨 음성 인식 방법은 프로그램으로 구현되고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 공간질의 방법을 구현하기 위한 프로그램이 기록되고 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 이러한 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 또한, 본 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드 및 코드 세그먼트들은 본 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
200: 음성 인식 모듈 210: 음소인식부
220: 음성인식부 300: 언어 학습 모듈
310: 토큰분리부 320: 음소변환부
330: 코스트계산부 340: DB 저장부
400: 데이터베이스 모듈 410: 음향모델 DB
420: 발음사전 DB 430: 언어모델 DB
440: 텍스트 DB

Claims (13)

  1. 음성 인식 방법에 있어서,
    입력된 디지털 신호를 음성 인식 모듈에서 음향모델 DB를 이용하여 음소(phoneme)열로 변환하는 음소 인식 과정;
    상기 음성 인식 모듈에서 상기 음소열을 발음사전 DB와 언어모델 DB를 이용하여 단어들로 변환하여 단어열을 생성하되, 상기 음소열을 한국어의 음절을 단위로 한 조합으로 분리한 다수의 토큰의 집합으로 구성된 분리가능 세트를 생성 가능한 경우의 수만큼 생성하고, 상기 분리가능 세트 각각에 대한 코스트를 계산하여 계산된 코스트가 가장 작은 분리가능 세트를 입력 신호에서 변환된 단어열로서 확정하는 단어열 생성 과정; 및
    상기 음성 인식 모듈에서 상기 단어열을 출력하는 단어열 출력 과정
    을 포함하는 것을 특징으로 하는 발음 변이를 적용시킨 음성 인식 방법.
  2. 제 1항에 있어서,
    상기 음소 인식 과정은,
    상기 음성 인식 모듈에서 상기 디지털 신호로부터 음성 특징 정보를 추출하여 음성 특징 데이터를 생성하는 음성 특징 추출 과정; 및
    상기 음성 인식 모듈에서 상기 음성 특징 데이터를 음향모델 DB로부터 검색하여 상기 음성 특징 데이터에 대응되는 음소들로 변환하여 상기 음소열을 생성하는 음소 결정 과정
    을 포함하는 것을 특징으로 하는 발음 변이를 적용시킨 음성 인식 방법.
  3. 제 1항에 있어서,
    상기 단어열 생성 과정은,
    상기 음성 인식 모듈에서 상기 음소열을 임의로 분리한 다수의 토큰의 집합으로 구성된 분리가능 세트를 생성 가능한 경우의 수만큼 생성하는 분리가능 세트 생성 과정;
    상기 음성 인식 모듈에서 상기 토큰들을 상기 발음사전 DB로부터 검색하여 상기 발음사전 DB 내 존재하는 상기 토큰들에 대응하는 상기 단어를 추출하는 단어 검색 과정;
    상기 음성 인식 모듈에서 상기 토큰들을 상기 언어모델 DB로부터 검색하여 상기 언어모델 DB 내 존재하는 상기 토큰들에 대응하는 토큰 정보를 찾는 언어모델 검색 과정;
    상기 음성 인식 모듈에서 상기 단어 및 상기 토큰 정보를 이용하여 상기 분리가능 세트 각각에 대한 코스트를 계산하는 코스트 계산 과정; 및
    상기 음성 인식 모듈에서 상기 분리가능 세트들 중에서 상기 코스트가 가장 작은 분리가능 세트를 입력 신호에서 변환된 단어열로서 확정하는 단어열 결정 과정
    을 포함하는 것을 특징으로 하는 발음 변이를 적용시킨 음성 인식 방법.
  4. 제 1항에 있어서,
    상기 음소 인식 과정 전에,
    언어 학습 모듈에서 상기 단어열을 생성하기 위하여 참조하기 위한 상기 발음사전 DB 및 상기 언어모델 DB를 구축하는 자연어 학습 과정
    을 추가로 포함하는 것을 특징으로 하는 발음 변이를 적용시킨 음성 인식 방법.
  5. 제 4항에 있어서,
    상기 자연어 학습 과정은,
    언어 학습 모듈에서 자연어 학습을 위해 텍스트 DB로부터 다수의 어절로 이루어진 자연어 학습용 텍스트를 입력 받는 학습용 텍스트 입력 과정;
    상기 언어 학습 모듈에서 상기 텍스트를 임의로 분리한 다수의 토큰의 집합으로 구성된 분리가능 세트를 생성 가능한 경우의 수만큼 생성하는 분리가능 세트 생성 과정;
    상기 언어 학습 모듈에서 상기 분리가능 세트의 분리 여부를 결정하는 토탈 코스트를 계산하되, 최대우도추정(Maximum Likelihood; ML) 방식을 기반으로 계산된 컨벤션 코스트와 함께, 발음 손실을 방지하기 위하여 발음 변이 법칙을 적용해서 계산된 발음 손실 코스트를 합하여 토탈 코스트를 계산하는 토탈 코스트 계산 과정; 및
    상기 언어 학습 모듈에서 상기 토탈 코스트가 가장 작은 경우의 상기 분리가능 세트를 선택하여 이에 포함되는 토큰들과 토큰 각각에 대응되는 음소의 쌍들을 발음사전 DB에 저장하고, 상기 토큰들 각각의 정보를 언어모델 DB에 저장하는 것을 특징으로 하는 DB 구축 과정
    을 포함하는 것을 특징으로 하는 발음 변이를 적용시킨 음성 인식 방법.
  6. 제 5항에 있어서,
    상기 토탈 코스트 계산 과정은,
    상기 언어 학습 모듈에서 상기 분리가능 세트 생성 과정에서 최소 서술 길이(Minimum Description Length; MDL) 알고리즘을 이용하여 규칙성에 대한 정보를 찾아서 분리한 토큰에 대하여 최대우도추정(Maximum Likelihood; ML) 방식을 기반으로 계산하는 컨벤션 코스트 계산 과정;
    상기 언어 학습 모듈에서 상기 분리가능 세트 생성 과정에서 분리된 토큰들 각각을 발음 변이 법칙에 따라 실제로 발성되는 소리를 표기한 다수의 음소로 변환하는 음소 변환 과정;
    상기 언어 학습 모듈에서 상기 음소 변환 과정에서 생성된 음소들에 대하여 발음 손실이 발생하였는지를 검사하여 발음 손실 여부를 반영한 코스트를 계산하는 발음 손실 코스트 계산 과정; 및
    상기 언어 학습 모듈에서 기존 코스트와 발음 손실 코스트의 합에 의하여 토탈 코스트를 계산하는 코스트 합산 과정
    을 포함하는 것을 특징으로 하는 발음 변이를 적용시킨 음성 인식 방법.
  7. 제 6항에 있어서,
    상기 발음 손실 코스트 계산 과정은,
    상기 언어 학습 모듈에서 상기 음소들을 조합하였을 때 상기 음소로 분리되기 이전의 토큰에서 생성된 음소와 비교하여 동일한 경우 0으로 계산하고, 동일하지 않은 경우 0 이상의 값으로 계산하는 것을 특징으로 하는 발음 변이를 적용시킨 음성 인식 방법.
  8. 제 6항에 있어서,
    상기 발음 손실 코스트 계산 과정은,
    상기 언어 학습 모듈에서 상기 음소가 이미 발음사전 DB에 생성되어 있는지를 검사하여, 생성되어 있는 경우 0 이상으로 계산하고, 생성되어 있지 않은 경우 0으로 계산하는 것을 특징으로 하는 발음 변이를 적용시킨 음성 인식 방법.
  9. 컴퓨터 데이터 처리 기기에,
    입력된 디지털 신호를 음성 인식 모듈에서 음향모델 DB를 이용하여 음소(phoneme)열로 변환하는 음소 인식 과정;
    상기 음성 인식 모듈에서 상기 음소열을 발음사전 DB와 언어모델 DB를 이용하여 단어들로 변환하여 단어열을 생성하되, 상기 음소열을 한국어의 음절을 단위로 한 조합으로 분리한 다수의 토큰의 집합으로 구성된 분리가능 세트를 생성 가능한 경우의 수만큼 생성하고, 상기 분리가능 세트 각각에 대한 코스트를 계산하여 계산된 코스트가 가장 작은 분리가능 세트를 입력 신호에서 변환된 단어열로서 확정하는 단어열 생성 과정; 및
    상기 음성 인식 모듈에서 상기 단어열을 출력하는 단어열 출력 과정을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  10. 음성 인식 장치에 있어서,
    입력된 디지털 신호를 후술하는 데이터베이스 모듈을 참조하여 음소열로 변환시키고, 다시 상기 데이터베이스 모듈을 참조하여 상기 음소열을 단어들로 변환하여 단어열을 생성하여 출력하는 음성 인식 모듈;
    다수의 어절로 이루어진 자연어 텍스트를 입력 받아 자연어 학습 과정을 거쳐서 생성된 데이터를 이용해 상기 데이터베이스를 구축하는 언어 학습 모듈; 및
    상기 음성 인식 모듈이 자연어 음성 신호를 음소로 변환시키는데 필요한 데이터 및 상기 음성 인식 모듈이 음소열을 단어열로 변환시키는데 필요한 데이터를 저장하며, 상기 언어 학습 모듈에 의하여 업데이트되는 데이터베이스 모듈을 포함하되,
    상기 단어열의 생성은, 상기 음성 인식 모듈에서 상기 음소열을 한국어의 음절을 단위로 한 조합으로 분리한 다수의 토큰의 집합으로 구성된 분리가능 세트를 생성 가능한 경우의 수만큼 생성하고, 상기 분리가능 세트 각각에 대한 코스트를 계산하여 계산된 코스트가 가장 작은 분리가능 세트를 입력 신호에서 변환된 단어열로서 확정하는 것을 특징으로 하는 발음 변이를 적용시킨 음성 인식 장치.
  11. 제 10항에 있어서,
    상기 음성 인식 모듈은,
    상기 음성 신호를 상기 데이터베이스 모듈을 참조하여 음소열로 변환시키는 음소인식부; 및
    상기 음소열을 상기 데이터베이스 모듈을 참조하여 단어들로 변환하여 단어열을 생성하는 음성인식부;
    를 포함하는 것을 특징으로 하는 발음 변이를 적용시킨 음성 인식 장치.
  12. 제 11항에 있어서,
    상기 데이터베이스 모듈은,
    다량의 음성 신호에서 추출하여 통계적으로 구축된 음성 특징 데이터, 및 상기 데이터에 대응하는 음소의 쌍들을 저장하고 있으며, 상기 음소인식부가 상기 음성 신호를 상기 음소로 변환할 때 참조하는 음향모델 DB;
    자연어 학습을 위해서 다수의 어절로 이루어진 텍스트를 저장하고 있는 텍스트 DB;
    상기 언어 학습 모듈이 학습한 단어들과, 각 단어가 실제로 발성되는 소리를 표기한 음소의 쌍을 저장하고 있으며, 상기 언어 학습 모듈에 의해 구축되는 발음사전 DB; 및
    상기 언어 학습 모듈이 학습한 단어들과, 상기 각 단어의 정보 데이터의 쌍을 저장하고 있으며, 상기 언어 학습 모듈에 의해 구축되는 언어모델 DB
    를 포함하는 것을 특징으로 하는 발음 변이를 적용시킨 음성 인식 장치.
  13. 제 12항에 있어서,
    상기 언어 학습 모듈은,
    상기 텍스트 DB로부터 입력 받은 텍스트를 임의로 분리한 다수의 토큰의 집합으로 구성된 분리가능 세트를 생성 가능한 경우의 수만큼 생성하는 토큰분리부;
    상기 토큰들 각각을 발음 변이 법칙에 따라 실제로 발성되는 소리를 표기한 다수의 음소로 변환하는 음소변환부;
    상기 분리가능 세트의 분리 여부를 결정하는 토탈 코스트를 계산하는 코스트계산부; 및
    상기 토탈 코스트가 가장 작은 경우의 상기 분리가능 세트를 선택하여 이에 포함되는 토큰들과 상기 토큰들 각각에 대응되는 음소의 쌍들을 발음사전 DB에 저장하고, 상기 토큰들 각각의 정보를 언어모델 DB에 저장하는 DB저장부;
    를 포함하는 것을 특징으로 하는 발음 변이를 적용시킨 음성 인식 장치.
KR1020200129151A 2014-11-21 2020-10-07 발음 변이를 적용시킨 음성 인식 방법 KR102300303B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200129151A KR102300303B1 (ko) 2014-11-21 2020-10-07 발음 변이를 적용시킨 음성 인식 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020140163513A KR102167157B1 (ko) 2014-11-21 2014-11-21 발음 변이를 적용시킨 음성 인식 방법
KR1020200129151A KR102300303B1 (ko) 2014-11-21 2020-10-07 발음 변이를 적용시킨 음성 인식 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020140163513A Division KR102167157B1 (ko) 2014-11-21 2014-11-21 발음 변이를 적용시킨 음성 인식 방법

Publications (2)

Publication Number Publication Date
KR20200121260A KR20200121260A (ko) 2020-10-23
KR102300303B1 true KR102300303B1 (ko) 2021-09-08

Family

ID=73039383

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200129151A KR102300303B1 (ko) 2014-11-21 2020-10-07 발음 변이를 적용시킨 음성 인식 방법

Country Status (1)

Country Link
KR (1) KR102300303B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004021207A (ja) 2002-06-20 2004-01-22 Nippon Hoso Kyokai <Nhk> 音素認識方法、音素認識装置および音素認識プログラム
JP2008275731A (ja) 2007-04-26 2008-11-13 Asahi Kasei Corp テキスト発音記号変換辞書作成装置、認識語彙辞書作成装置、及び音声認識装置
JP2012068354A (ja) 2010-09-22 2012-04-05 National Institute Of Information & Communication Technology 音声認識装置、音声認識方法、及びプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100486733B1 (ko) * 2003-02-24 2005-05-03 삼성전자주식회사 음소 결합정보를 이용한 연속 음성인식방법 및 장치
KR101394253B1 (ko) * 2012-05-16 2014-05-13 광주과학기술원 음성 인식 오류 보정 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004021207A (ja) 2002-06-20 2004-01-22 Nippon Hoso Kyokai <Nhk> 音素認識方法、音素認識装置および音素認識プログラム
JP2008275731A (ja) 2007-04-26 2008-11-13 Asahi Kasei Corp テキスト発音記号変換辞書作成装置、認識語彙辞書作成装置、及び音声認識装置
JP2012068354A (ja) 2010-09-22 2012-04-05 National Institute Of Information & Communication Technology 音声認識装置、音声認識方法、及びプログラム

Also Published As

Publication number Publication date
KR20200121260A (ko) 2020-10-23

Similar Documents

Publication Publication Date Title
CN113439301B (zh) 用于机器学习的方法和系统
KR102167719B1 (ko) 언어 모델 학습 방법 및 장치, 음성 인식 방법 및 장치
KR102386854B1 (ko) 통합 모델 기반의 음성 인식 장치 및 방법
US20180137109A1 (en) Methodology for automatic multilingual speech recognition
JP5327054B2 (ja) 発音変動規則抽出装置、発音変動規則抽出方法、および発音変動規則抽出用プログラム
KR100755677B1 (ko) 주제 영역 검출을 이용한 대화체 음성 인식 장치 및 방법
US9558741B2 (en) Systems and methods for speech recognition
CA3114572A1 (en) Conversational agent pipeline trained on synthetic data
EP2685452A1 (en) Method of recognizing speech and electronic device thereof
US8849668B2 (en) Speech recognition apparatus and method
JP7051919B2 (ja) ストリーミングアテンションモデルに基づく音声認識復号化方法、装置、機器及びコンピュータ可読記憶媒体
US9984689B1 (en) Apparatus and method for correcting pronunciation by contextual recognition
KR102167157B1 (ko) 발음 변이를 적용시킨 음성 인식 방법
CN104899192B (zh) 用于自动通译的设备和方法
JP2020042257A (ja) 音声認識方法及び装置
US20160232892A1 (en) Method and apparatus of expanding speech recognition database
KR100573870B1 (ko) 대화체 연속음성인식을 위한 의사형태소 기반다중발음사전 구축 방법 및 그 시스템과 이를 이용한대화체 음성인식 방법
KR20180033875A (ko) 음성 신호를 번역하는 방법 및 그에 따른 전자 디바이스
KR102300303B1 (ko) 발음 변이를 적용시킨 음성 인식 방법
KR102299269B1 (ko) 음성 및 스크립트를 정렬하여 음성 데이터베이스를 구축하는 방법 및 장치
KR102292921B1 (ko) 언어 모델 학습 방법 및 장치, 음성 인식 방법 및 장치
JP2008293098A (ja) 応答スコア情報生成装置、対話処理装置
Wang et al. Generating TTS Based Adversarial Samples for Training Wake-Up Word Detection Systems Against Confusing Words.
Wang et al. Generating Adversarial Samples For Training Wake-up Word Detection Systems Against Confusing Words
KR102392992B1 (ko) 음성 인식 기능을 활성화시키는 호출 명령어 설정에 관한 사용자 인터페이싱 장치 및 방법

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant