KR20180038707A - Method for recogniting speech using dynamic weight and topic information - Google Patents
Method for recogniting speech using dynamic weight and topic information Download PDFInfo
- Publication number
- KR20180038707A KR20180038707A KR1020160129670A KR20160129670A KR20180038707A KR 20180038707 A KR20180038707 A KR 20180038707A KR 1020160129670 A KR1020160129670 A KR 1020160129670A KR 20160129670 A KR20160129670 A KR 20160129670A KR 20180038707 A KR20180038707 A KR 20180038707A
- Authority
- KR
- South Korea
- Prior art keywords
- score
- topic
- acoustic
- speech recognition
- language model
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 239000013598 vector Substances 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 7
- 230000008878 coupling Effects 0.000 claims description 6
- 238000010168 coupling process Methods 0.000 claims description 6
- 238000005859 coupling reaction Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 description 8
- 230000006978 adaptation Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000001755 vocal effect Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000010420 art technique Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/06—Decision making techniques; Pattern matching strategies
- G10L17/12—Score normalisation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/083—Recognition networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/02—Preprocessing operations, e.g. segment selection; Pattern representation or modelling, e.g. based on linear discriminant analysis [LDA] or principal components; Feature selection or extraction
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/06—Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
- G10L19/07—Line spectrum pair [LSP] vocoders
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
- G10L2015/0635—Training updating or merging of old and new templates; Mean values; Weighting
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Signal Processing (AREA)
- Machine Translation (AREA)
Abstract
Description
본 발명은 음향 환경 또는 발성문장 도메인의 난이도를 고려한 음성인식에 관한 것이다.The present invention relates to speech recognition in consideration of the difficulty of an acoustic environment or a speech sentence domain.
현재 다양한 분야에서 음성인식에 기반한 응용들이 사용되고 있는데, 음성인식은 사용자가 정확한 발음으로 발성하더라도 주변 잡음 등과 같은 환경적인 요인으로 인해 그 인식률에는 한계가 있다. 이러한 인식률을 개선하기 위해, 다양한 적응 방법이 연구되고 있고, 언어모델 적응 방법이 그 중에 하나이다.Currently, applications based on speech recognition are used in various fields. Even though the user pronounces with correct pronunciation, the recognition rate is limited due to environmental factors such as ambient noise. In order to improve the recognition rate, various adaptation methods are being studied, and a language model adaptation method is one of them.
언어모델 적응 방법은, 사용자가 자주 발성하는 언어 도메인에 대한 영향력을 높이기 위해, 기존 언어모델의 n-gram에 사용자의 데이터로 형성된 n-gram을 결합하거나 기존 언어모델의 n-gram을 사용자의 데이터로 형성된 n-gram으로 변환하는 방식으로 언어모델을 적응적으로 바꾸는 것이다. The language model adaptation method includes combining an n-gram formed by user data into an n-gram of an existing language model or combining an n-gram of an existing language model with user data And the language model is adaptively changed in such a manner that it is converted into an n-gram formed of " n "
이러한 종래의 언어모델 적응방법을 기반으로 하는 음성인식은 음향모델을 고려하지 않고, 오직 언어모델에 대한 가중치 변화만으로 음성인식 향상을 도모하기 때문에, 음성인식의 향상에 한계가 있다.Speech recognition based on the conventional language model adaptation method has a limitation in improvement of speech recognition because it improves speech recognition only by changing a weight value of a language model without considering an acoustic model.
본 발명에서 해결하고자 하는 주된 기술적 과제는 음성인식 방법을 제공하는 것으로, 구체적으로, 첫째, 매 프레임 음향모델 스코어와 언어모델 스코어의 비중을 조절하도록 음향모델 스코어와 언어모델 스코어 간의 결합 정도를 결정하는 가중치을 생성하는 가중치모델을 제공하는 것이다. 이 가중치모델은 음향학적 변별력이 떨어지는 것을 감지하도록 음향학적 정보를 입력으로 받고, 언어학적으로 문장 변별력이 낮아지는 것을 감지하도록 후보 단어열들에 대한 정보를 받아서, 현재 발성하고 있는 문장에서 적합한 가중치를 찾도록 하는 방법이다. 둘째, 사용자가 자주 발성하는 주제와 관련된 단어들을 좀 명확하게 인식할 수 있도록 사용자 발성 도메인의 어휘에 대한 영향력을 키우는 것이다. 그러기 위해서는 발성된 단어에 대한 히스토리를 저장하고 최근에 발성된 단어와 그와 연관된 단어들에 대해 발생확률을 측정하여, 네트워크 디코더의 기존 언어모델에 가중된 값으로 자주 발성한 단어 또는 주제와 관련된 단어들의 가중치를 높이는 방법이다. The main object of the present invention is to provide a speech recognition method. Specifically, first, a degree of coupling between an acoustic model score and a language model score is determined so as to adjust the weight of each frame acoustic model score and language model score And a weight model for generating a weight. This weighting model receives the acoustic information to detect the loss of acoustical discrimination power, receives information about the candidate word sequences so as to detect the linguistic decrease in sentence discrimination power, and obtains a suitable weight in the present utterance sentence It is a way to find out. Second, the influence of the vocabulary of the user spoken domain is raised so that the user can clearly recognize the words related to the frequently-spoken topic. To do this, we store a history of spoken words and measure the probability of occurrence for recently spoken words and their associated words, To increase the weight of the images.
본 발명에서 해결하고자 하는 과제는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 해결과제들은 아래의 기재로부터 당해 기술분야에 있어서의 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to those mentioned above, and other solutions not mentioned can be clearly understood by those skilled in the art from the following description.
상술한 과제를 달성하기 위한 본 발명의 일면에 따른 음성인식 방법은 음성 신호로부터 특징 벡터 정보와 음향학적 정보를 프레임 단위로 추출하는 단계; 음향모델 데이터베이스과 상기 특징 벡터 정보를 비교하는 과정에서 상기 음향모델 데이터베이스에 구축된 음향모델에서 관측된 상태가 출력될 확률값(이하, 출력 상태 확률값)을 음향모델 스코어로 계산하는 단계; 언어모델 데이터베이스를 참조하여, 상기 특징 벡터 정보에 대응하는 후보 단어들의 N-그램 발생확률값을 언어모델 스코어로 계산하는 단계; 상기 음향학적 정보, 상기 출력 상태 확률값의 엔트로피, 의미적 관계에 있는 상기 후보 단어들을 연결한 단어 네트워크에서 상기 후보 단어들을 연결하는 모든 경로의 수를 나타내는 토큰(token) 개수를 이용하여 상기 음향모델 스코어와 상기 언어모델 스코어 간의 결합 정도를 결정하는 결합 가중치(또는 동적 가중치)를 매 프레임 마다 계산하는 단계; 특정 토픽과 관련된 단어의 발생 확률값과 상기 특정 토픽과 관련된 단어의 발생 주기에 따른 토픽 가중치를 이용하여 토픽 스코어를 매 프레임 마다 계산하는 단계; 상기 음향모델 스코어, 상기 언어모델 스코어, 상기 결합 가중 및 상기 토픽 스코어를 이용하여 음성인식 스코어를 매 프레임 마다 계산하는 단계; 및 상기 단어 네트워크에서 상기 음성인식 스코어가 가장 높은 단어열을 탐색하고, 탐색된 단어열을 포함하는 문장을 음성 인식 결과로 출력하는 단계를 포함한다.According to an aspect of the present invention, there is provided a speech recognition method including extracting feature vector information and acoustic information from a speech signal on a frame basis; Calculating a probability value (hereinafter referred to as an output state probability value) to be output from a state observed in the acoustic model built in the acoustic model database in the process of comparing the acoustic model database with the feature vector information, using an acoustic model score; Calculating a N-gram occurrence probability value of candidate words corresponding to the feature vector information by using a language model score with reference to a language model database; The number of tokens representing the number of all paths connecting the candidate words in the word network connecting the acoustic words, the entropy of the output status probability value, and the candidate words in the semantic relation, (Or a dynamic weight value) for each frame to determine a degree of coupling between the language model score and the language model score; Calculating a topic score every frame using a probability value of a word related to a specific topic and a topic weight according to a generation period of a word related to the specific topic; Calculating a speech recognition score for each frame using the acoustic model score, the language model score, the combined weight, and the topic score; And searching for a word sequence having the highest speech recognition score in the word network and outputting a sentence including the searched word sequence as a speech recognition result.
본 발명에 따르면, 첫째, 잡음이 많은 음향 환경에서 언어모델의 영향력을 키워 강인한 음성인식이 되도록 한다. 둘째, 발성 도메인이 어휘적으로 저 빈도 단어가 많은 경우 음향모델의 영향력을 키워 음향적으로 가장 가까운 단어열을 인식하도록 한다. 예를 들어, 고유명사인 경우 음절을 단어로 취급하여 나열하는 방법이다. 셋째, 사용자가 발성했던 히스토리를 저장하고, 최근에 발성된 문장 도메인과 관련 단어들의 발생확률을 높여, 사용자가 자주 발성하는 단어 또는 주제와 관련된 단어들에 대해 인식 성능을 개선할 수 있다. 이와 같은 방법은 음향 환경에 대해 적응과 사용자 발성 언어 도메인에 대한 적응 효과를 볼 수 있다.According to the present invention, first, the influence of the language model is enhanced in a noisy speech environment so that robust speech recognition is achieved. Second, if the vocal domain is lexical and there are many low frequency words, the influence of the acoustic model is increased to recognize the nearest word sequence acoustically. For example, in the case of proper nouns, syllables are treated as words and listed. Third, it is possible to save the history that the user has uttered, to increase the probability of occurrence of the recently spoken sentence domain and related words, and to improve the recognition performance of the words related to the frequently uttered words or subjects. This method can show adaptation to acoustic environment and adaptation effect to user - spoken language domain.
본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당해 기술분야에 있어서의 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to those mentioned above, and other effects not mentioned may be clearly understood by those skilled in the art from the following description.
도 1은 본 발명의 일 실시 예에 따른 음성인식 시스템을 개략적으로 도시한 기능 블록도이다.
도 2는 도 1에 도시한 음성인식 처리부에 구비된 계산 로직을 도시한 로직 구성도이다.
도 3은 도 1에 도시한 토픽 스코어 생성의 기능 블록도이다.
도 4는 본 발명의 일 실시 예에 따른 음성인식 방법을 절차를 나타내는 흐름도이다.1 is a functional block diagram schematically illustrating a speech recognition system according to an embodiment of the present invention.
FIG. 2 is a logic configuration diagram showing calculation logic included in the speech recognition processing unit shown in FIG. 1. FIG.
3 is a functional block diagram of the topic score generation shown in Fig.
4 is a flowchart illustrating a procedure of a speech recognition method according to an embodiment of the present invention.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된다. 이러한 기술적 용어가 본 발명을 한정하고자 하는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 한다. 즉, 본 명세서에서 사용되는 기술적 용어를 과도하게 포괄적인 의미로 해석하거나, 과도하게 좁은 의미로 해석하지 말아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.The technical terms used herein are used only to describe specific embodiments. It should be noted that these technical terms are not intended to limit the invention. In addition, the technical terms used herein should be interpreted in a sense generally understood by a person having ordinary skill in the art to which the present invention belongs, unless otherwise defined in this specification. That is, the technical terms used herein should not be construed in an overly broad sense, nor should they be interpreted in an overly narrow sense. Further, when a technical term used herein is an erroneous technical term that does not accurately express the spirit of the present invention, it should be understood that technical terms that can be understood by a person skilled in the art are replaced. In addition, the general terms used in the present invention should be interpreted according to a predefined or prior context, and should not be construed as being excessively reduced.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "포함한다" 등의 용어는 명세서상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.Also, the singular forms "as used herein include plural referents unless the context clearly dictates otherwise. In the present application, the term "comprising" or "comprising" or the like should not be construed as necessarily including the various elements or steps described in the specification, Or may be further comprised of additional components or steps.
도 1은 본 발명의 일 실시 예에 따른 음성인식 시스템을 개략적으로 도시한 기능 블록도이다.1 is a functional block diagram schematically illustrating a speech recognition system according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일 실시 예에 따른 음성인식 시스템(100)은 특징 추출부(110), 음성인식 처리부(120), 음향모델(Acoustic Model: AM) 데이터베이스(130), 언어모델(Language Model: LM) 데이터베이스(140), 발음사전 데이터베이스(150), 가중치모델 데이터베이스(160) 및 토픽 스코어 생성부(170)를 포함할 수 있다.Referring to FIG. 1, a
특징 추출부(110)The
상기 특징 추출부(110)는 프레임 단위로 입력되는 음성 신호로부터 음성인식에 유용한 특징 벡터(feature vector) 정보(FV, 이하, 특징 벡터라 함)와 음향학적 정보(acoustic information: AI)를 추출한다. The
상기 특징 벡터(FV)를 추출하는 방법으로, 선형 예측 계수(Linear Predictive Coefficient) 기반의 추출 방법, 켑스트럼(Cepstrum) 기반의 추출 방법, 멜 프리퀀시 켑스트럼(Mel Frequency Cepstral Coefficient, MFCC) 기반의 추출 방법, 주파수 대역별 에너지(Filter Bank Energy) 기반의 추출 방법 등을 예로 들 수 있다. The method of extracting the feature vector FV is based on a linear predictive coefficient based extraction method, a Cepstrum based extraction method, and a Mel Frequency Cepstral Coefficient And an extraction method based on energy of each frequency band (Filter Bank Energy).
상기 음향학적 정보(AI)는 상기 음성 신호에 포함된 잡음 정도를 나타내는 정보로서, 예를 들면, 신호대 잡음비(signal to noise: SNR) 또는 음성의 세기, 환경 정보 등을 포함할 수 있다.The acoustic information AI is information indicating the degree of noise included in the voice signal, and may include, for example, signal to noise (SNR), voice strength, environment information, and the like.
음성인식 처리부(120)The speech recognition processing unit (120)
상기 음성인식 처리부(120)는, 상기 음향모델 데이터베이스(130), 상기 언어모델 데이터베이스(140), 상기 발음사전 데이터베이스(150), 상기 가중치모델 데이터베이스(160)에서 제공하는 가중치(W) 및 상기 토픽 스코어 생성부(170)에서 제공하는 토픽 스코어(Tscore)를 이용하여 프레임마다. 상기 특징 벡터와 인식 대상에 해당하는 단어 간의 유사 정도를 나타내는 음성인식 스코어(Speech Recognition score: SRscore)를 계산하고, 계산된 음성인식 스코어가 가장 높은 단어열을 생성하고, 생성된 단어열을 조합한 문장을 생성한다. 여기서, 상기 음성인식 스코어(SRscore)는, 고정된 상수값이 아니라 프레임마다. 실시간으로 변경될 수 있는 스코어이며, 이러한 점에서 '온라인(on-line) 스코어'로 지칭할 수 도 있다.The speech
구체적으로, 상기 음성인식 처리부(120)는, 도 1에 도시된 바와 같이, 음향모델 연산부(122) 및 디코더(124)를 포함할 수 있다.Specifically, the
상기 음향모델 연산부(122)는 상기 음향모델 데이터베이스(130)를 참조하여 상기 음향모델 스코어(AMscore)를 계산한다. 구체적으로, 상기 음향모델 연산부(122)는 상기 특징 추출부(110)로부터 추출된 특징 벡터(FV)를 상기 음향모델 데이터베이스(130)에 구축된 음향모델들과 음향적으로 비교하여, 그 비교 결과에 대응하는 상기 음향모델 스코어(AMscore)를 계산한다. 예를 들면, 상기 음향모델이 입력층(input layer), 은닉층(hidden layer) 및 출력층(output layer)으로 구성된 인공신경망(artificial neural networks, ANN) 알고리즘과 은닉 마르코프 모델(HMM) 알고리즘이 결합된 통계적 방법으로 구축된 경우, 상기 특징 벡터(FV)와 상기 음향모델을 비교하는 과정에서 상기 음향모델에서 관측된 상태가 출력될 확률값(이하, '출력 상태 확률 값')과 상기 출력 상태 확률값의 흩어진 정도를 나타내는 엔트로피(E)가 계산된다. 이 중에서 상기 출력 상태 확률값이 상기 음향모델 스코어(Ascore)로서 계산되고, 상기 출력 상태 확률값의 엔트로피(E)는 상기 가중치모델 데이터베이스(160)로 제공된다. 상기 출력 상태 확률값을 계산하는 방법으로, 포워드(forward) 알고리즘, 백워드(backward) 알고리즘, 비터비(viterbi) 알고리즘, 바움-웰치 재추정 알고리즘 등이 이용될 수 있다. The
상기 디코더(124)는 상기 음향모델 연산부(122)에서 제공하는 상기 음향모델 스코어(AMscore), 상기 언어모델 데이터베이스(140), 상기 발음사전 데이터베이스(150), 상기 가중치모델 데이터베이스(160)에서 제공하는 가중치(W) 및 상기 토픽 스코어 생성부(170)에서 제공하는 토픽 스코어(Tscore)를 참조하여(이용하여) 상기 특징 벡터와 인식 대상에 해당하는 단어 간의 유사 정도를 나타내는 음성인식 스코어(SRscore)를 매 프레임 마다 계산하고, 단어 네트워크에서 상기 계산된 음성인식 스코어(SRscore)가 가장 높은 단어열을 생성하고, 생성된 단어열을 포함하는 문장을 음성 인식 결과로 출력한다. 여기서, 상기 가중치(W)는 매 프레임 마다 가변되는 것으로, 상기 음향모델 스코어(Ascore)과 상기 언어모델 스코어(LMscore) 간의 결합 정도를 결정하는 인자이고, 상기 토픽 스코어(Tscore)는 특정 토픽(topic, 주제)과 관련된 단어의 발생 확률값(발생빈도)과 상기 특정 토픽과 관련된 단어의 발생 주기(또는 발생 시간)에 따라 부여되는 가중치를 나타내는 인자이다. 이러한 가중치(W)와 토픽 스코어(Tscore)에 대해서는 아래에서 상세히 기술한다.The
상기 음성인식 스코어(SRscore)를 계산하기 위해, 상기 디코더(124)는 상기 언어모델 데이터베이스(130)를 참조하여 상기 언어모델 스코어(LMscore)를 계산한다. 상기 언어모델 데이터베이스(130)는 사전에 학습된 문장들에서의 단어열에 대한 발생빈도를 이용하여 단어열들의 바이그램 또는 트라이그램 발생확률값을 저장한 데이터베이스로서, 상기 언어모델 데이터베이스(130)에 저장된 단어열들의 바이그램 또는 트라이그램 발생확률값을 참조하여, 상기 특징 벡터(FV)와 상기 음향모델 간의 비교 결과에 대응하는 단어열들의 N-그램 발생확률값을 상기 언어모델 스코어(LMscore)로서 계산한다. 여기서, 상기 N-그램은 바이그램(bigram) 또는 트라이그램(trigram)일 수 있다.In order to calculate the speech recognition score (SR score ), the
상기 언어모델 스코어(LMscore)의 계산이 완료되면, 상기 디코더(124)는 상기 음향모델 연산부(122)로부터 제공된 음향모델 스코어(AMscore), 상기 가중치모델 데이터베이스(160)로부터 제공된 가중치(W), 상기 토픽 스코어 생성부(170)로부터 제공된 토픽 스코어(Tscore) 및 자체적으로 계산한 상기 언어모델 스코어(LMscore)를 이용하여 상기 음성인식 스코어(SRscore)를 계산한다. When the calculation of the language model score (LM score ) is completed, the
상기 음성인식 스코어(SRscore)를 계산하는 계산 로직(124A)의 일 예가 도 2에 도시된다. 상기 계산 로직(124A)은, 도 2에 도시된 바와 같이, 제1 연산 로직(124A-1), 제2 연산 로직(124A-3) 및 제3 연산 로직(124A-5)을 포함할 수 있다. An example of the
상기 제1 연산 로직(124A-1)은 상기 언어모델 스코어(LMscore)와 상기 토픽 스코어(Tscore)를 연산하는 로직으로, 상기 언어모델 스코어(LMscore)와 상기 토픽 스코어(Tscore)를 덧셈 연산하는 로직일 수 있다. The first calculation logic (124A-1) is the language model score (LM score) with the topic scores (T score) by the operation logic, the language model score (LM score) with the topic scores (T score) It may be the logic to add.
상기 제2 연산 로직(124A-3)은 상기 제1 연산 로직(124A-1)의 제1 연산 결과와 상기 가중치(W)를 연산하는 로직으로, 상기 제1 연산 결과와 상기 가중치(W)를 곱셈 연산하는 로직일 수 있다.The second
상기 제3 연산 로직(124A-5)은 상기 제2 연산 로직(124A-3)의 제2 연산 결과와 상기 음향모델 스코어(AMscore)를 연산하는 로직으로, 상기 제2 연산 결과와 상기 음향모델 스코어(AMscore)를 덧셈 연산하는 로직일 수 있다.The third
상기 제1 내지 제3 연산 로직들에서 수행하는 연산과정을 수식으로 나타내면, 아래의 수학식 1과 같다.The operation process performed by the first to third operation logic can be expressed by the following equation (1).
여기서, 는 특정 토픽과 관련된 단어의 발생 확률값과 상기 특정 토픽과 관련된 단어의 발생 주기에 따른 토픽 가중치의 곱이다.here, Is the product of the probability of occurrence of a word associated with a particular topic and the topic weight according to the occurrence frequency of the word associated with the particular topic.
상기 음성인식 스코어(SRscore)의 계산이 완료되면, 상기 디코더(124)는 단어 네트워크에서 상기 계산된 음성인식 스코어(SRscore)가 가장 높은 단어열을 탐색하고, 탐색된 단어열을 포함하는 문장을 음성 인식 결과로 출력한다. 이때, 음성 인식 결과로 출력된 문장은 상기 토픽 스코어 생성부(170)로 제공되어, 상기 토픽 스코어 생성부(170)에서 매 프레임 마다 상기 토픽 스코어(Tscore)를 생성하기 위한 연산에 이용된다. When the calculation of the speech recognition score (SR score ) is completed, the
또한, 상기 디코더(124)는 상기 음성인식 스코어(SRscore)가 적용되기 전의 단어 네트워크에서 상기 후보 단어들을 연결하는 모든 경로의 수를 나타내는 토큰(token) 개수를 계산하고, 계산한 토큰 개수를 상기 가중치모델 데이터베이스(160)로 제공하여, 상기 가중치모델 데이터베이스(160)에서 상기 가중치(W)를 계산하는 데 이용된다.In addition, the
가중치모델 데이터베이스(160) The
상기 가중치모델 데이터베이스(160)는 상기 디코더(124)에게 상기 음향모델 스코어(AMscore)와 상기 언어모델 스코어(LMscore)의 결합 정도를 나타내는 상기 가중치(W)를 제공하는 구성으로, 매 프레임 마다 실시간으로 학습되는(또는 업데이트 되는) 다수의 가중치가 구비(저장)된다. The
상기 가중치모델 데이터베이스(160)는 매 프레임 마다 실시간으로 학습되는 상기 다수의 가중치 중에서, 상기 특징 추출부(110)로부터 입력되는 상기 음향학적 정보(AI), 상기 음향 모델 연산부(122)로부터 입력되는 상기 출력 상태 확률값(또는 음향모델 스코어)의 엔트로피(E) 및 상기 디코더(124)로부터 입력되는 상기 토큰 개수에 매핑되는 가중치(W)를 상기 디코더(124)(또는 상기 디코더 내의 계산로직(124A))에 제공한다.
The
상기 가중치모델 데이터베이스(160)로부터 제공되는 가중치(W)는 음향 환경(상기 음향학적 정보(AI)) 또는 발성 문장 도메인의 난이도(상기 토큰 개수)를 고려하여 상기 음성인식 스코어(SEscore)에 가변적으로 적용된다. 이러한 음향 환경(상기 음향학적 정보(AI)) 또는 발성 문장 도메인의 난이도(상기 토큰 개수)는 매 프레임 마다 변동할 수 있는 요소이다. 따라서, 이러한 요소가 반영되는 가중치(W)는 고정된 상수가 아니라 매 프레임 마다 적응적으로 변경될 수 있는 값이다. 예를 들어, 상기 음향 환경이 나쁠 수록 상기 음성인식 스코어(SRscore) 내에서 언어모델 스코어(LMscore)가 차지하는 비율을 높이고, 발성 문장 도메인 난이도(상기 토큰 개수)가 높을수록 상기 음성인식 스코어(SRscore) 내에서 음향모델 스코어가 차지하는 비율을 높이는 방향으로 상기 가중치(W)가 매 프레임마다 변경될 수 있다. 여기서, 토큰 개수의 증가는 단어 네트워크 내에서 후보 단어들을 연결하는 경로의 수가 증가를 의미하고, 후보 단어들을 연결하는 경로의 수 증가는 그 만큼 음성인식의 어려움, 즉, 사용자의 발성 문장 도메인 난이도가 높음을 의미한다.
The weight W provided from the
상기 디코더(124)에서 상기 음향모델 스코어(AMscore)와 상기 언어모델 스코어(LMscore)로만 이루어진 고정된 가중치를 후보 단어열 탐색에 적용하는 것보다는 음향학적 상황과 언어적 상황에 따라 변동되는 가중치(W)를 적용하는 것이 후보 단어열 탐색의 변별력을 높일 수 있다. The fixed weight made up of only the acoustic model score (AM score ) and the language model score (LM score ) is applied to the candidate word sequence search in the
그러하기 위해서는 잡음이나 불확실한 발성에 의해 음향학적 변별력이 낮은 상황에서는 음성인식에 기여하는 언어모델 스코어(LMscore)의 기여도를 높이고, 낮은 발생빈도의 단어들이 연결되거나 고유명사나 외래어가 적용되는 상황과 같이 언어모델을 통한 언어학적 변별력이 낮은 상황에서는 음성인식에 기여하는 상기 음향모델 스코어(AMscore)의 기여도를 높일 수 있는 가중치 모델이 필요하다.In order to do so, it is necessary to increase the contribution of the language model score (LM score ) contributing to speech recognition in situations where acoustic discrimination is low due to noise or uncertain speech, In a situation where linguistic discrimination power is low through the model, a weight model that can contribute to the acoustic score (AM score ) contributing to speech recognition is needed.
이러한 이유에서, 가중치모델 데이터베이스(160)는 신호대 잡음비(SNR)와 같은 배경 잡음 정도 또는 음향학적 영향을 수치화하여 구별할 수 있는 환경정보 등을 포함하는 음향학적 정보를 입력값으로 요구한다. 즉, 음향모델을 통한 변별력이 낮은 경향을 모델링 하기 위해서 필요하다. For this reason, the
또한, 상기 가중치모델 데이터베이스(160)는 음향모델 출력확률의 평균 엔트로피에 대한 정보를 입력값으로 요구한다. 주변 환경에 의해 발성의 명확성이 떨어지는 음향학적 상황과 발성 자체의 부정확한 발음에 의해 명확성이 떨어지는 음향학적 상황 모두에 대해 음향모델이 변별력이 낮은 상황을 모델링 할 수 있다. 음향학적 명확성이 높으면, 상기 음향모델 연산부(122)에서 제공하는 출력 상태 확률값들이 높아지기 때문에 엔트로피가 낮아지지만, 반대로 음향학적 명확성이 낮으며, 출력 상태 확률값들 간의 차이가 적어져 엔트로피가 증가하게 된다. Also, the
또한, 상기 가중치모델 데이터베이스(160)는 상기 디코더(124)에서 매 프레임 마다 살아 있는 후보 단어열의 경우 수를 나타내는 평균 토큰(token) 개수가 입력으로 요구된다. 이러한 토큰 개수는 음향학적 상황과 더불어 언어학적 상황까지 고려하는 변수로서, 언어적으로 연결이 가능한 후보 단어열의 개수에 대한 정보를 제공한다. 즉, 토큰의 개수가 많아지면, 언어학적으로 후보 단어열의 개수가 증가하여 음향모델과 언어모델에 의한 변별력이 모두 떨어지고 있는 상황이 되는데, 다른 음향학적 정보를 함께 고려하면, 언어학적 변별력의 경향을 모델링 할 수 있다. In addition, the
매 프레임마다 입력되는 위와 같은 정보들을 이용하여 가중치모델 데이터베이스(160)를 생성할 수 있다. 일 예로, 입력 노드를 위와 같은 정보들로 구성하고, 출력 노드를 가중치가 허용하는 일정 범위의 값들로 나열하면, 여러 층의 hidden 노드를 가지는 DBN (deep belief network), DNN (deep neural network), 또는 RNN (recurrent neural network)등의 심화학습(deep learning)을 할 수 있다. The
이와 같은 심화학습을 위해서는 매 프레임 정답인 출력 노드를 정해야 하는데, 각 입력 데이터의 변화에 따른 매 프레임 마다 출력 노드의 분포와 출력 노드 값의 변화에 따른 음성인식률의 변화 등을 면밀히 실험하여 정할 수도 있고, 또는 입력 데이터에 따라 결정된 출력 노드가 그 다음 프레임의 평균 토크 개수를 가장 적게 만들거나 평균 온라인 스코어를 가장 좋게 만드는 출력 노드를 정답으로 정하여 학습을 할 수도 있다.In order to study such learning, it is necessary to determine an output node which is a correct answer of each frame. The distribution of the output node and the change of the voice recognition rate according to the change of the output node value may be experimentally determined every frame according to the change of each input data , Or an output node determined according to the input data may set the output node to be the correct answer by making the average number of torque of the next frame the least or making the average online score the best.
토픽 스코어 생성부(170)The topic score
상기 토픽 스코어 생성부(170)는 상기 디코더(124)로부터 피드백된 문장들을 기반으로 상기 토픽 스코어(Tscore)를 생성하여 상기 디코더(124)에게 제공한다.The
상기 토픽 스코어(Tscore)를 생성하기 위해, 도 3에 도시된 바와 같이, 상기 토픽 스코어 생성부(170)는 저장부(171), 단어 추출부(173), 테이블(175), 토픽 스코어 계산부(177) 및 연관 단어 트리부(179)를 포함한다.To generate the topic scores (T score), with the
상기 저장부(171)는 상기 디코더(128)에서 인식한 문장들을 프레임 단위로 수집하여 저장한다. The
상기 단어 추출부(173)는 상기 저장부(172)에 저장된 문장을 매 프레임 마다 전달받아서, 전달받은 문장에서 보조어(예를 들면, 관계사 등)를 제거하여 상기 문장으로부터 단어들을 추출한다.The
상기 테이블 생성부(175)는 상기 추출된 단어들 각각의 발생 확률값을 계산하여, 발생 확률값 리스트로 이루어진 발생확률 테이블로 생성한다. 여기서, 상기 발생 확률값은 특정 토픽과 연관된 단어들의 발생빈도를 수치화한 값으로, 추출된 전체 단어들에서 특정 토픽과 연관된 단어들이 차지하는 비율로 계산될 수 있다. 또한, 상기 발생확률 테이블은 상기 발생 확률값 외에 상기 특정 토픽과 연관된 단어들(토픽 단어들)의 발생 주기(또는 발생 시간)에 따른 가중치를 설정하고, 설정된 가중치가 추가 리스트로 더 구성될 수 있다. 즉, 상기 발생확률 테이블에서 특정 토픽으로 연속 음성인식이 이뤄지는 경우를 고려하여 짧은 시간 히스토리(Short-term History: SH)에 해당하는 단어들과 긴 시간 히스토리(Long-term History: LH)에 해당하는 단어들의 토픽 가중치를 구별한다. 발생 주기를 기준으로 나눠진 짧은 시간 히스토리 단어들과 긴 시간 히스토리 단어들은 발생빈도에 따라 테이블 내에서 위치는 지속적으로 변경될 수 있다. The
상기 토픽 스코어 계산부(177)는 상기 테이블 생성부(175)에서 발생 확률 테이블의 생성하는 과정에서 발생하는 상기 발생 확률값과 토픽 가중치를 곱셈 연산하여 상기 토픽 스코어(Tscore)를 계산하고, 상기 계산한 토픽 스코어(Tscore)를 상기 디코더(124)로 제공한다. 이러한 토픽 스코어(Tscore)는 상기 언어모델 스코어(LMscore)를 확장시키는 역할을 한다.The topic
한편, 상기 테이블 생성부(175)에 의해 상기 발생 확률값과 상기 토픽 가중치가 부여된 토픽 단어들은 상기 연관단어 트리부(179)로 제공되고, 상기 연관단어 트리부(179)는 단어 관련성 우선 순위로 만든 트리를 검색하여 상기 토픽 단어들과 연관된 단어들을 생성하고, 생성된 단어들의 조합으로 이루어진 연관 문장 코퍼스를 구성한 후, 이를 상기 저장부(171)에 전달하여, 사용자의 토픽 단어를 다양하게 확장한다. Meanwhile, the
도 4는 본 발명의 일 실시 예에 따른 음성인식 방법을 절차를 나타내는 흐름도로서, 도 1 내디 도 3을 참조한 설명과 중복되는 설명은 생략하거나 개략적으로 설명하기로 한다.FIG. 4 is a flowchart illustrating a procedure of a speech recognition method according to an embodiment of the present invention, and a description overlapping with the description with reference to FIG. 1, FIG. 1, will be omitted or schematically described.
도 4를 참조하면, 먼저, 단계 S410에서, 음성 신호로부터 특징 벡터 정보(FV)와 음향학적 정보(AI)를 프레임 단위로 추출한다. Referring to FIG. 4, in step S410, feature vector information (FV) and acoustic information (AI) are extracted on a frame-by-frame basis from a speech signal.
이어, 단계 S420에서, 음향모델 데이터베이스와 상기 특징 벡터 정보를 비교하는 과정에서 상기 음향모델 데이터베이스에 구축된 음향모델에서 관측된 상태가 출력될 확률값(이하, 출력 상태 확률값)을 음향모델 스코어(AMscore)로 계산한다. Then, in step S420, a probability value (hereinafter referred to as an output state probability value) for outputting a state observed in the acoustic model built in the acoustic model database in the process of comparing the acoustic model database with the feature vector information is referred to as an acoustic model score ).
이어, 단계 S430에서, 언어모델 데이터베이스를 참조하여, 상기 특징 벡터 정보에 대응하는 후보 단어들의 N-그램 발생확률값을 언어모델 스코어로 계산한다.Next, in step S430, referring to the language model database, an N-gram occurrence probability value of candidate words corresponding to the feature vector information is calculated as a language model score.
이어, 단계 S440에서, 상기 음향학적 정보, 상기 출력 상태 확률값의 엔트로피, 의미적 관계에 있는 상기 후보 단어들을 연결한 단어 네트워크에서 상기 후보 단어들을 연결하는 모든 경로의 수를 나타내는 토큰(token) 개수를 이용하여 상기 음향모델 스코어(AMscore)와 상기 언어모델 스코어(LMscore) 간의 결합 정도를 결정하는 결합 가중치(또는 동적 가중치)(W)를 매 프레임 마다 계산한다.Next, in step S440, the number of tokens indicating the number of all paths connecting the candidate words in the word network connecting the acoustic information, the entropy of the output status probability value, used to calculate the score for each of the acoustic model (AM score) and the combined weight (or dynamic weight) for every frame (W) to determine the degree of coupling between the language model score (LM score).
이어, 단계 S450에서, 특정 토픽과 관련된 단어의 발생 확률값과 상기 특정 토픽과 관련된 단어의 발생 주기에 따른 토픽 가중치를 이용하여 토픽 스코어(Tscore)를 매 프레임 마다 계산한다.Next, in step S450, a topic score (T score ) is calculated for each frame using the occurrence probability value of the word related to the specific topic and the topic weight according to the occurrence period of the word related to the specific topic.
이어, 단계 S460에서, 상기 음향모델 스코어, 상기 언어모델 스코어, 상기 결합 가중 및 상기 토픽 스코어를 이용하여 음성인식 스코어를 매 프레임 마다 계산한다. Next, in step S460, the speech recognition score is calculated every frame using the acoustic model score, the language model score, the combined weight, and the topic score.
이어, 단계 S470에서, 상기 단어 네트워크에서 상기 음성인식 스코어가 가장 높은 단어열을 탐색하고, 탐색된 단어열을 포함하는 문장을 음성 인식 결과로 출력한다.Then, in step S470, the word string having the highest speech recognition score is searched in the word network, and a sentence including the searched word string is output as a speech recognition result.
이상 설명한 바와 같이, 본 발명은 변경되지 않은 고정된 값으로 계산되는 음향모델 스코어와 언어모델 스코어 외에 추가로 음향모델 스코어와 언어모델 스코어 간의 결합 정도를 결정하는 가중치(W) 및 기존 단어 네트워크에서 사용자가 자주 발성하는 토픽 단어들의 발생확률과 토픽 단어들의 발생주기에 따른 가중치가 반영된 토픽 스코어를 이용하여 음성인식을 위한 음성인식 스코어를 계산하고, 단어 네트워크에서 상기 음성인식 스코어가 가장 높은 단어열을 탐색한 후, 탐색된 단어열을 포함하는 문장을 음성인식 결과로 출력한다.As described above, in the present invention, in addition to the acoustic model score and the language model score calculated as fixed values that are not changed, a weight (W) for determining the degree of coupling between the acoustic model score and the language model score, Calculates a speech recognition score for speech recognition using a topic score in which the occurrence probability of the topic words frequently spoken and the weight of the topic words in the occurrence period are reflected, And outputs a sentence containing the searched word string as a speech recognition result.
이러한 본 발명과 관련된 다른 종래 기술에서도 언어모델의 가중치를 적응하는 방법이 있는데, 이 종래기술은 한 언어의 문장을 다른 언어의 문장으로 바꾸는 기계번역에서 어떤 단어의 번역이 여러 가지로 바뀔 수 있는 부분에 대해 사용자의 데이터에 의존하여 번역 언어모델 가중치를 다르게 적용하여 성능을 올리는 방법이다. 이 방법은 가중치를 변화하여 성능향상을 꾀하는 점은 유사하나, 언어모델에 대해서만 적용되고 가중치 변화를 오프라인에서 적용하는 점에서 음향모델과 언어모델의 결합 가중치(또는 동적 가중치)를 조절하여 양쪽에서 얻는 이점을 최대화하는 본 발명과 분명하게 차별화된다.Another prior art related to the present invention is a method of adapting the weight of a language model. In this conventional technique, in a machine translation in which a sentence of one language is translated into a sentence of another language, Is a method for increasing the performance by applying the translation language model weights differently depending on the user's data. This method is similar to that of improving the performance by changing the weight, but it is applied only to the language model and the weighting (or dynamic weighting) of the acoustic model and the language model is adjusted Which clearly differentiates from the present invention which maximizes the advantage.
또 다른 종래 기술에서는, 디코딩할 때 동적으로 어휘를 예측하는 방법이 있는데, 이 다른 종래 기술은 디코딩할 때 신뢰도 있는 후보군을 선정하고, 이 후보군 내의 후보 단어들 각각에 대해 다음 단어로 자주 나오는 단어를 포함하는 언어 네트워크를 결정하는 방법으로 과거의 단어와 연결된 현재 단어를 결정하는 n-gram과 다르게 미래에 연결될 수 있는 단어가 포함된 네트워크를 고려한 방법이다. 즉, 상기 다른 종래 기술은 높은 발성빈도에 의해 단어들을 연결하는 단어 네트워크에 가중치가 더해지는 유사점이 있지만, 앞으로 연결될 수 있는 단어가 포함된 미리 연산된 신뢰성 있는 단어 네트워크를 한다는 점에서 사용자가 주기적으로 발성한 단어의 발생빈도를 고려하여 현재의 단어를 예측하는 본 발명과는 분명하게 차별화된다. Another conventional technique is to dynamically predict vocabulary at the time of decoding. In this prior art technique, a reliable candidate group is selected at the time of decoding, and for each of the candidate words in the candidate group, It is a method to determine the language network to be included, considering a network that includes words that can be connected in the future differently from the n-gram that determines the current word associated with the past word. That is, although the above-mentioned other prior art has a similarity in which a weight is added to a word network connecting words due to a high utterance frequency, since a pre-computed reliable word network including words that can be connected in the future is used, The present invention differs from the present invention in predicting the current word in consideration of the occurrence frequency of one word.
한편, 본 발명의 일 실시 예에 따른 음성인식 시스템를 나타내는 도 1 내지 3의 블록도는 본 발명의 원리를 기능적 관점에서 구체화한 것으로 이해해야 한다. 이와 유사하게, 도 4의 순서도는 컴퓨터가 판독 가능한 매체에 프로그램 형태로 저장될 수 있고, 도면에 컴퓨터 또는 프로세서가 명백히 도시되었는지와 관계없이, 컴퓨터 또는 프로세서에 의해 수행되는 다양한 프로세스를 나타내는 것으로 이해되어야 한다.It should be understood, on the other hand, that the block diagrams of Figures 1 to 3 illustrating the speech recognition system in accordance with one embodiment of the present invention embody the principles of the present invention from a functional point of view. Similarly, the flowchart of FIG. 4 may be stored in a form of a program on a computer-readable medium and is understood to represent various processes performed by a computer or processor, regardless of whether the computer or processor is explicitly shown in the drawings do.
도 1내지 3의 블록들과 도 4의 순서도기 프로세서에 의해 구현될 때, 도 1 내지 3에 도시된 블록들의 기능은 단일 전용 프로세서, 단일 공유 프로세서 또는 복수의 개별적 프로세서에 의해 제공될 수 있고, 이들 중 일부는 공유될 수 있다. When implemented by the blocks of FIGS. 1-3 and the sequence diagram processor of FIG. 4, the functionality of the blocks shown in FIGS. 1-3 may be provided by a single dedicated processor, a single shared processor, or a plurality of individual processors, Some of these can be shared.
또한, 프로세서, 제어 또는 이와 유사한 개념으로 제시되는 용어의 명확한 사용은 소프트웨어를 실행할 수 있는 하드웨어를 배타적으로 인용하여 해석되어서는 아니되고, 제한 없이 디지털 신호 프로세서(DSP) 하드웨어, 소프트웨어를 저장하기 위한 롬(ROM), 램(RAM) 및 비 휘발성 메모리를 암시적으로 포함하는 것으로 이해되어야 한다. 물론 주지관용의 다른 하드웨어도 포함될 수 있다.Also, the explicit use of terms that are presented in terms of processor, control, or similar concepts should not be interpreted exclusively as hardware capable of executing the software, but may include without limitation, digital signal processor (DSP) hardware, (ROM), random access memory (RAM), and non-volatile memory. Other hardware, of course, may also be included.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구 범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리 범위에 포함되는 것으로 해석되어야 할 것이다.It will be apparent to those skilled in the art that various modifications, substitutions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims. will be. Therefore, the embodiments disclosed in the present invention and the accompanying drawings are intended to illustrate and not to limit the technical spirit of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments and the accompanying drawings . The scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of equivalents should be construed as falling within the scope of the present invention.
Claims (1)
음향모델 데이터베이스과 상기 특징 벡터 정보를 비교하는 과정에서 상기 음향모델 데이터베이스에 구축된 음향모델에서 관측된 상태가 출력될 확률값(이하, 출력 상태 확률값)을 음향모델 스코어로 계산하는 단계;
언어모델 데이터베이스를 참조하여, 상기 특징 벡터 정보에 대응하는 후보 단어들의 N-그램 발생확률값을 언어모델 스코어로 계산하는 단계;
상기 음향학적 정보, 상기 출력 상태 확률값의 엔트로피, 의미적 관계에 있는 상기 후보 단어들을 연결한 단어 네트워크에서 상기 후보 단어들을 연결하는 모든 경로의 수를 나타내는 토큰(token) 개수를 이용하여 상기 음향모델 스코어와 상기 언어모델 스코어 간의 결합 정도를 결정하는 결합 가중치(또는 동적 가중치)를 매 프레임 마다 계산하는 단계;
특정 토픽과 관련된 단어의 발생 확률값과 상기 특정 토픽과 관련된 단어의 발생 주기에 따른 토픽 가중치를 이용하여 토픽 스코어를 매 프레임 마다 계산하는 단계;
상기 음향모델 스코어, 상기 언어모델 스코어, 상기 결합 가중 및 상기 토픽 스코어를 이용하여 음성인식 스코어를 매 프레임 마다 계산하는 단계; 및
상기 단어 네트워크에서 상기 음성인식 스코어가 가장 높은 단어열을 탐색하고, 탐색된 단어열을 포함하는 문장을 음성 인식 결과로 출력하는 단계
를 포함하는 음성인식 방법.Extracting feature vector information and acoustic information from a speech signal on a frame basis;
Calculating a probability value (hereinafter referred to as an output state probability value) to be output from a state observed in the acoustic model built in the acoustic model database in the process of comparing the acoustic model database with the feature vector information, using an acoustic model score;
Calculating a N-gram occurrence probability value of candidate words corresponding to the feature vector information by using a language model score with reference to a language model database;
The number of tokens representing the number of all paths connecting the candidate words in the word network connecting the acoustic words, the entropy of the output status probability value, and the candidate words in the semantic relation, (Or a dynamic weight value) for each frame to determine a degree of coupling between the language model score and the language model score;
Calculating a topic score every frame using a probability value of a word related to a specific topic and a topic weight according to a generation period of a word related to the specific topic;
Calculating a speech recognition score for each frame using the acoustic model score, the language model score, the combined weight, and the topic score; And
Searching for a word string having the highest speech recognition score in the word network and outputting a sentence including the searched word string as a speech recognition result
And a speech recognition method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160129670A KR20180038707A (en) | 2016-10-07 | 2016-10-07 | Method for recogniting speech using dynamic weight and topic information |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160129670A KR20180038707A (en) | 2016-10-07 | 2016-10-07 | Method for recogniting speech using dynamic weight and topic information |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20180038707A true KR20180038707A (en) | 2018-04-17 |
Family
ID=62083323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160129670A KR20180038707A (en) | 2016-10-07 | 2016-10-07 | Method for recogniting speech using dynamic weight and topic information |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20180038707A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110705308A (en) * | 2019-09-18 | 2020-01-17 | 平安科技(深圳)有限公司 | Method and device for recognizing field of voice information, storage medium and electronic equipment |
CN111583906A (en) * | 2019-02-18 | 2020-08-25 | 中国移动通信有限公司研究院 | Role recognition method, device and terminal for voice conversation |
CN112349289A (en) * | 2020-09-28 | 2021-02-09 | 北京捷通华声科技股份有限公司 | Voice recognition method, device, equipment and storage medium |
US11100916B2 (en) | 2018-11-21 | 2021-08-24 | Samsung Electronics Co., Ltd. | Speech recognition method and apparatus |
CN113436614A (en) * | 2021-07-02 | 2021-09-24 | 科大讯飞股份有限公司 | Speech recognition method, apparatus, device, system and storage medium |
CN113763938A (en) * | 2021-10-27 | 2021-12-07 | 杭州网易智企科技有限公司 | Speech recognition method, medium, device and computing equipment |
US11557286B2 (en) | 2019-08-05 | 2023-01-17 | Samsung Electronics Co., Ltd. | Speech recognition method and apparatus |
-
2016
- 2016-10-07 KR KR1020160129670A patent/KR20180038707A/en unknown
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11100916B2 (en) | 2018-11-21 | 2021-08-24 | Samsung Electronics Co., Ltd. | Speech recognition method and apparatus |
US11935516B2 (en) | 2018-11-21 | 2024-03-19 | Samsung Electronics Co., Ltd. | Speech recognition method and appratus using weighted scores |
CN111583906A (en) * | 2019-02-18 | 2020-08-25 | 中国移动通信有限公司研究院 | Role recognition method, device and terminal for voice conversation |
CN111583906B (en) * | 2019-02-18 | 2023-08-15 | 中国移动通信有限公司研究院 | Role recognition method, device and terminal for voice session |
US11557286B2 (en) | 2019-08-05 | 2023-01-17 | Samsung Electronics Co., Ltd. | Speech recognition method and apparatus |
US11955119B2 (en) | 2019-08-05 | 2024-04-09 | Samsung Electronics Co., Ltd. | Speech recognition method and apparatus |
CN110705308A (en) * | 2019-09-18 | 2020-01-17 | 平安科技(深圳)有限公司 | Method and device for recognizing field of voice information, storage medium and electronic equipment |
CN112349289A (en) * | 2020-09-28 | 2021-02-09 | 北京捷通华声科技股份有限公司 | Voice recognition method, device, equipment and storage medium |
CN112349289B (en) * | 2020-09-28 | 2023-12-29 | 北京捷通华声科技股份有限公司 | Voice recognition method, device, equipment and storage medium |
CN113436614A (en) * | 2021-07-02 | 2021-09-24 | 科大讯飞股份有限公司 | Speech recognition method, apparatus, device, system and storage medium |
CN113436614B (en) * | 2021-07-02 | 2024-02-13 | 中国科学技术大学 | Speech recognition method, device, equipment, system and storage medium |
CN113763938A (en) * | 2021-10-27 | 2021-12-07 | 杭州网易智企科技有限公司 | Speech recognition method, medium, device and computing equipment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10923111B1 (en) | Speech detection and speech recognition | |
US10943583B1 (en) | Creation of language models for speech recognition | |
EP3314606B1 (en) | Language model speech endpointing | |
US10121467B1 (en) | Automatic speech recognition incorporating word usage information | |
KR100755677B1 (en) | Apparatus and method for dialogue speech recognition using topic detection | |
JP4195428B2 (en) | Speech recognition using multiple speech features | |
US11043214B1 (en) | Speech recognition using dialog history | |
US7693713B2 (en) | Speech models generated using competitive training, asymmetric training, and data boosting | |
KR20180038707A (en) | Method for recogniting speech using dynamic weight and topic information | |
EP4018437B1 (en) | Optimizing a keyword spotting system | |
US11158307B1 (en) | Alternate utterance generation | |
US10199037B1 (en) | Adaptive beam pruning for automatic speech recognition | |
Lugosch et al. | DONUT: CTC-based query-by-example keyword spotting | |
WO2010100853A1 (en) | Language model adaptation device, speech recognition device, language model adaptation method, and computer-readable recording medium | |
JP4836076B2 (en) | Speech recognition system and computer program | |
JP2007240589A (en) | Speech recognition reliability estimating device, and method and program therefor | |
JP3660512B2 (en) | Voice recognition method, apparatus and program recording medium | |
Zhang et al. | Improved mandarin keyword spotting using confusion garbage model | |
US20040006469A1 (en) | Apparatus and method for updating lexicon | |
US11437026B1 (en) | Personalized alternate utterance generation | |
KR100480790B1 (en) | Method and apparatus for continous speech recognition using bi-directional n-gram language model | |
Tabibian | A survey on structured discriminative spoken keyword spotting | |
Bai et al. | Voice activity detection based on deep neural networks and Viterbi | |
JP4362054B2 (en) | Speech recognition apparatus and speech recognition program | |
Mary et al. | Modeling and fusion of prosody for speaker, language, emotion, and speech recognition |