KR20180038707A - Method for recogniting speech using dynamic weight and topic information - Google Patents

Method for recogniting speech using dynamic weight and topic information Download PDF

Info

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
Application number
KR1020160129670A
Other languages
Korean (ko)
Inventor
김동현
김상훈
김승희
박준
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020160129670A priority Critical patent/KR20180038707A/en
Publication of KR20180038707A publication Critical patent/KR20180038707A/en

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
    • G10L17/00Speaker identification or verification techniques
    • G10L17/06Decision making techniques; Pattern matching strategies
    • G10L17/12Score normalisation
    • 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/083Recognition networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • G10L17/02Preprocessing operations, e.g. segment selection; Pattern representation or modelling, e.g. based on linear discriminant analysis [LDA] or principal components; Feature selection or extraction
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech 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/04Speech 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/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • G10L19/07Line spectrum pair [LSP] vocoders
    • 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/0635Training 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

Disclosed is a method for variably applying a combination weighted value (or a dynamic weighted value) of a sound model score and a language model score in network decoding for conducting voice recognition by considering a sound environment or difficulty of a sentence domain for vocalization. The method improves performance of voice recognition by raising the weighted value of the language model score in a worse sound environment and raising the weighted value of the sound model score in a higher degree of a difficulty of the sentence domain for vocalization. Additionally, the method stores a vocalization sentence history of a user, and has a structure for reflecting a topic word occurrence probability to the network decoding by the topic score to clearly recognize words related to the topic when speaking several times with a similar topic of the same language domain. The method allows the voice recognition score consisting of the sound model score, the language model score, and the topic score to be influenced by the combination weighted value (or the dynamic weighted value) which varies according to hourly situations, and overcomes the limitation of conventional voice recognition using a weighted value assigned by a fixed value.

Description

동적 가중치 값과 토픽 정보를 이용하는 음성인식 방법{METHOD FOR RECOGNITING SPEECH USING DYNAMIC WEIGHT AND TOPIC INFORMATION}METHOD FOR RECOGNITION SPEECH USING DYNAMIC WEIGHT AND TOPIC INFORMATION [0002]

본 발명은 음향 환경 또는 발성문장 도메인의 난이도를 고려한 음성인식에 관한 것이다.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 speech recognition system 100 according to an embodiment of the present invention includes a feature extraction unit 110, a speech recognition processing unit 120, an acoustic model (AM) database 130, (LM) database 140, a pronunciation dictionary database 150, a weight model database 160, and a topic score generation unit 170. [

특징 추출부(110)The feature extraction unit 110 extracts,

상기 특징 추출부(110)는 프레임 단위로 입력되는 음성 신호로부터 음성인식에 유용한 특징 벡터(feature vector) 정보(FV, 이하, 특징 벡터라 함)와 음향학적 정보(acoustic information: AI)를 추출한다. The feature extraction unit 110 extracts feature vector information (hereinafter, referred to as a feature vector) and acoustic information (AI) useful for speech recognition from a speech signal input on a frame-by-frame basis .

상기 특징 벡터(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 recognition processing unit 120 receives the weight W provided by the acoustic model database 130, the language model database 140, the pronunciation dictionary database 150, the weight model database 160, For each frame using the topic score (T score ) provided by the score generation unit 170. [ A speech recognition score (SR score ) indicating a similarity degree between the feature vector and a word corresponding to the recognition target is calculated, a word string having the highest speech recognition score is generated, Create a sentence. Here, the speech recognition score (SR score ) is not a fixed constant value but per frame. It is a score that can be changed in real time. In this respect, it may be referred to as an 'on-line score'.

구체적으로, 상기 음성인식 처리부(120)는, 도 1에 도시된 바와 같이, 음향모델 연산부(122) 및 디코더(124)를 포함할 수 있다.Specifically, the speech recognition processor 120 may include an acoustic model calculator 122 and a decoder 124, as shown in FIG.

상기 음향모델 연산부(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 acoustic model calculator 122 calculates the acoustic model score (AM score ) by referring to the acoustic model database 130. Specifically, the acoustic model computing unit 122 acoustically compares the feature vectors FV extracted from the feature extracting unit 110 with the acoustic models constructed in the acoustic model database 130, (AM score ) corresponding to the acoustic model score. For example, the acoustic model is statistically combined with an artificial neural network (ANN) algorithm and a hidden Markov model (HMM) algorithm composed of an input layer, a hidden layer and an output layer (Hereinafter, referred to as an 'output state probability value') and a degree of scattering of the output state probability value in a process of comparing the feature vector FV with the acoustic model, (E) is calculated. The output state probability value is calculated as the acoustic model score (A score ), and the entropy (E) of the output state probability value is provided to the weight model database 160. As a method of calculating the output state probability value, a forward algorithm, a backward algorithm, a viterbi algorithm, a Baum-Welch re-estimation algorithm, etc. may be used.

상기 디코더(124)는 상기 음향모델 연산부(122)에서 제공하는 상기 음향모델 스코어(AMscore), 상기 언어모델 데이터베이스(140), 상기 발음사전 데이터베이스(150), 상기 가중치모델 데이터베이스(160)에서 제공하는 가중치(W) 및 상기 토픽 스코어 생성부(170)에서 제공하는 토픽 스코어(Tscore)를 참조하여(이용하여) 상기 특징 벡터와 인식 대상에 해당하는 단어 간의 유사 정도를 나타내는 음성인식 스코어(SRscore)를 매 프레임 마다 계산하고, 단어 네트워크에서 상기 계산된 음성인식 스코어(SRscore)가 가장 높은 단어열을 생성하고, 생성된 단어열을 포함하는 문장을 음성 인식 결과로 출력한다. 여기서, 상기 가중치(W)는 매 프레임 마다 가변되는 것으로, 상기 음향모델 스코어(Ascore)과 상기 언어모델 스코어(LMscore) 간의 결합 정도를 결정하는 인자이고, 상기 토픽 스코어(Tscore)는 특정 토픽(topic, 주제)과 관련된 단어의 발생 확률값(발생빈도)과 상기 특정 토픽과 관련된 단어의 발생 주기(또는 발생 시간)에 따라 부여되는 가중치를 나타내는 인자이다. 이러한 가중치(W)와 토픽 스코어(Tscore)에 대해서는 아래에서 상세히 기술한다.The decoder 124 is provided from the acoustic model score (AM score ) provided by the acoustic model operation unit 122, the language model database 140, the pronunciation dictionary database 150, and the weight model database 160 And a speech recognition score (SR) indicating a degree of similarity between the feature vector and a word corresponding to the recognition target by referring to (using) a weight W to be provided by the topic score generation unit 170 and a topic score (T score ) score ) for each frame, generates a word string having the highest calculated speech recognition score (SR score ) in the word network, and outputs a sentence including the generated word string as a speech recognition result. Here, the weight W is variable for every frame, and is a factor for determining the degree of coupling between the acoustic model score (A score ) and the language model score (LM score ), and the topic score (T score ) (Occurrence frequency) of a word related to a topic (topic, topic) and a periodic weight (or occurrence time) of a word related to the specific topic. The weight (W) and the topic score (T score ) will be described in detail below.

상기 음성인식 스코어(SRscore)를 계산하기 위해, 상기 디코더(124)는 상기 언어모델 데이터베이스(130)를 참조하여 상기 언어모델 스코어(LMscore)를 계산한다. 상기 언어모델 데이터베이스(130)는 사전에 학습된 문장들에서의 단어열에 대한 발생빈도를 이용하여 단어열들의 바이그램 또는 트라이그램 발생확률값을 저장한 데이터베이스로서, 상기 언어모델 데이터베이스(130)에 저장된 단어열들의 바이그램 또는 트라이그램 발생확률값을 참조하여, 상기 특징 벡터(FV)와 상기 음향모델 간의 비교 결과에 대응하는 단어열들의 N-그램 발생확률값을 상기 언어모델 스코어(LMscore)로서 계산한다. 여기서, 상기 N-그램은 바이그램(bigram) 또는 트라이그램(trigram)일 수 있다.In order to calculate the speech recognition score (SR score ), the decoder 124 refers to the language model database 130 to calculate the language model score (LM score ). The language model database 130 stores a bi-gram or trigram generation probability value of word strings using the occurrence frequency of word strings in previously learned sentences. (LM score ) of a word sequence corresponding to a comparison result between the feature vector (FV) and the acoustic model, with reference to the Biagram or Trigram occurrence probability value of the language model score (FV). Here, the N-gram may be a bigram or a trigram.

상기 언어모델 스코어(LMscore)의 계산이 완료되면, 상기 디코더(124)는 상기 음향모델 연산부(122)로부터 제공된 음향모델 스코어(AMscore), 상기 가중치모델 데이터베이스(160)로부터 제공된 가중치(W), 상기 토픽 스코어 생성부(170)로부터 제공된 토픽 스코어(Tscore) 및 자체적으로 계산한 상기 언어모델 스코어(LMscore)를 이용하여 상기 음성인식 스코어(SRscore)를 계산한다. When the calculation of the language model score (LM score ) is completed, the decoder 124 calculates an acoustic model score (AM score ) provided from the acoustic model operation unit 122, a weight W provided from the weight model database 160, , Calculates the speech recognition score (SR score ) using the topic score (T score ) provided from the topic score generator (170) and the language model score (LM score ) calculated by itself.

상기 음성인식 스코어(SRscore)를 계산하는 계산 로직(124A)의 일 예가 도 2에 도시된다. 상기 계산 로직(124A)은, 도 2에 도시된 바와 같이, 제1 연산 로직(124A-1), 제2 연산 로직(124A-3) 및 제3 연산 로직(124A-5)을 포함할 수 있다. An example of the calculation logic 124A for calculating the speech recognition score (SR score ) is shown in FIG. The computation logic 124A may include a first computational logic 124A-1, a second computational logic 124A-3, and a third computational logic 124A-5, as shown in FIG. 2 .

상기 제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 arithmetic logic 124A-3 is logic for calculating the first arithmetic result of the first arithmetic logic 124A-1 and the weight W, and outputs the first arithmetic result and the weight W And may be logic that performs multiplication operations.

상기 제3 연산 로직(124A-5)은 상기 제2 연산 로직(124A-3)의 제2 연산 결과와 상기 음향모델 스코어(AMscore)를 연산하는 로직으로, 상기 제2 연산 결과와 상기 음향모델 스코어(AMscore)를 덧셈 연산하는 로직일 수 있다.The third arithmetic logic 124A-5 is logic for calculating the second arithmetic result of the second arithmetic logic 124A-3 and the acoustic model score (AM score ), and the second arithmetic logic 124A- And may be logic to add a score (AM score ).

상기 제1 내지 제3 연산 로직들에서 수행하는 연산과정을 수식으로 나타내면, 아래의 수학식 1과 같다.The operation process performed by the first to third operation logic can be expressed by the following equation (1).

Figure pat00001
Figure pat00001

여기서,

Figure pat00002
는 특정 토픽과 관련된 단어의 발생 확률값과 상기 특정 토픽과 관련된 단어의 발생 주기에 따른 토픽 가중치의 곱이다.here,
Figure pat00002
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 decoder 124 searches for a word string having the highest speech recognition score (SR score ) in the word network, As a speech recognition result. At this time, a sentence output as a speech recognition result is provided to the topic score generation unit 170, and the topic score generation unit 170 is used for an operation for generating the topic score (T score ) every frame.

또한, 상기 디코더(124)는 상기 음성인식 스코어(SRscore)가 적용되기 전의 단어 네트워크에서 상기 후보 단어들을 연결하는 모든 경로의 수를 나타내는 토큰(token) 개수를 계산하고, 계산한 토큰 개수를 상기 가중치모델 데이터베이스(160)로 제공하여, 상기 가중치모델 데이터베이스(160)에서 상기 가중치(W)를 계산하는 데 이용된다.In addition, the decoder 124 calculates the number of tokens indicating the number of all paths connecting the candidate words in the word network before the speech recognition score (SR score ) is applied, and outputs the calculated number of tokens To the weight model database 160 and used to calculate the weights W in the weight model database 160. [

가중치모델 데이터베이스(160) The weight model database 160,

상기 가중치모델 데이터베이스(160)는 상기 디코더(124)에게 상기 음향모델 스코어(AMscore)와 상기 언어모델 스코어(LMscore)의 결합 정도를 나타내는 상기 가중치(W)를 제공하는 구성으로, 매 프레임 마다 실시간으로 학습되는(또는 업데이트 되는) 다수의 가중치가 구비(저장)된다. The weight model database 160 is configured to provide the weight (W) represents the combined amount of the acoustic model score (AM score) and the language model score (LM score) to the decoder 124, for each frame (Stored) a plurality of weights that are learned (or updated) in real time.

상기 가중치모델 데이터베이스(160)는 매 프레임 마다 실시간으로 학습되는 상기 다수의 가중치 중에서, 상기 특징 추출부(110)로부터 입력되는 상기 음향학적 정보(AI), 상기 음향 모델 연산부(122)로부터 입력되는 상기 출력 상태 확률값(또는 음향모델 스코어)의 엔트로피(E) 및 상기 디코더(124)로부터 입력되는 상기 토큰 개수에 매핑되는 가중치(W)를 상기 디코더(124)(또는 상기 디코더 내의 계산로직(124A))에 제공한다. The weight model database 160 stores the acoustic information AI input from the feature extraction unit 110 and the acoustic model information AI input from the acoustic model operation unit 122, The decoder 124 (or the computation logic 124A in the decoder) supplies an entropy E of the output state probability value (or acoustic model score) and a weight W that is mapped to the number of tokens input from the decoder 124. [ .

상기 가중치모델 데이터베이스(160)로부터 제공되는 가중치(W)는 음향 환경(상기 음향학적 정보(AI)) 또는 발성 문장 도메인의 난이도(상기 토큰 개수)를 고려하여 상기 음성인식 스코어(SEscore)에 가변적으로 적용된다. 이러한 음향 환경(상기 음향학적 정보(AI)) 또는 발성 문장 도메인의 난이도(상기 토큰 개수)는 매 프레임 마다 변동할 수 있는 요소이다. 따라서, 이러한 요소가 반영되는 가중치(W)는 고정된 상수가 아니라 매 프레임 마다 적응적으로 변경될 수 있는 값이다. 예를 들어, 상기 음향 환경이 나쁠 수록 상기 음성인식 스코어(SRscore) 내에서 언어모델 스코어(LMscore)가 차지하는 비율을 높이고, 발성 문장 도메인 난이도(상기 토큰 개수)가 높을수록 상기 음성인식 스코어(SRscore) 내에서 음향모델 스코어가 차지하는 비율을 높이는 방향으로 상기 가중치(W)가 매 프레임마다 변경될 수 있다. 여기서, 토큰 개수의 증가는 단어 네트워크 내에서 후보 단어들을 연결하는 경로의 수가 증가를 의미하고, 후보 단어들을 연결하는 경로의 수 증가는 그 만큼 음성인식의 어려움, 즉, 사용자의 발성 문장 도메인 난이도가 높음을 의미한다. The weight W provided from the weight model database 160 is variable in the speech recognition score (SE score ) in consideration of the acoustic environment (the acoustic information AI) or the difficulty of the speech sentence domain (the number of tokens) . The difficulty (the number of tokens) of the acoustic environment (the acoustic information AI) or the utterance sentence domain is an element that can change every frame. Therefore, the weight W that reflects these factors is not a fixed constant but a value that can be adaptively changed every frame. For example, the worse the acoustic environment, the higher the ratio of the language model score (LM score ) within the SR score , and the higher the speech sentence domain difficulty (the number of tokens) The weight W can be changed every frame in the direction of increasing the ratio of the acoustic model score within the SR score . Here, the increase in the number of tokens means that the number of paths connecting the candidate words in the word network increases, and the increase in the number of paths connecting the candidate words increases the difficulty of speech recognition, that is, Means high.

상기 디코더(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 decoder 124, (W), it is possible to increase the discriminative power of the candidate word string search.

그러하기 위해서는 잡음이나 불확실한 발성에 의해 음향학적 변별력이 낮은 상황에서는 음성인식에 기여하는 언어모델 스코어(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 weight model database 160 requests acoustic information including the background noise level such as a signal-to-noise ratio (SNR) or environmental information that can be distinguished by quantifying the acoustic effect as an input value. In other words, it is necessary to model the low discriminative power through the acoustic model.

또한, 상기 가중치모델 데이터베이스(160)는 음향모델 출력확률의 평균 엔트로피에 대한 정보를 입력값으로 요구한다. 주변 환경에 의해 발성의 명확성이 떨어지는 음향학적 상황과 발성 자체의 부정확한 발음에 의해 명확성이 떨어지는 음향학적 상황 모두에 대해 음향모델이 변별력이 낮은 상황을 모델링 할 수 있다. 음향학적 명확성이 높으면, 상기 음향모델 연산부(122)에서 제공하는 출력 상태 확률값들이 높아지기 때문에 엔트로피가 낮아지지만, 반대로 음향학적 명확성이 낮으며, 출력 상태 확률값들 간의 차이가 적어져 엔트로피가 증가하게 된다. Also, the weight model database 160 requests information on the average entropy of the acoustic model output probability as an input value. An acoustic model can model a situation in which the discriminative power is low for both an acoustical situation in which the vocal clearance is deteriorated due to the surrounding environment and an acoustical condition in which the inaccurate pronunciation of the vocal self is unclear. If the acoustical clarity is high, the entropy is low because the output state probability values provided by the acoustic model calculator 122 are high. On the other hand, the acoustical clarity is low and the entropy is increased because the difference between the output state probability values is small.

또한, 상기 가중치모델 데이터베이스(160)는 상기 디코더(124)에서 매 프레임 마다 살아 있는 후보 단어열의 경우 수를 나타내는 평균 토큰(token) 개수가 입력으로 요구된다. 이러한 토큰 개수는 음향학적 상황과 더불어 언어학적 상황까지 고려하는 변수로서, 언어적으로 연결이 가능한 후보 단어열의 개수에 대한 정보를 제공한다. 즉, 토큰의 개수가 많아지면, 언어학적으로 후보 단어열의 개수가 증가하여 음향모델과 언어모델에 의한 변별력이 모두 떨어지고 있는 상황이 되는데, 다른 음향학적 정보를 함께 고려하면, 언어학적 변별력의 경향을 모델링 할 수 있다. In addition, the weight model database 160 is required to input the number of average tokens indicating the number of candidate word strings that are alive every frame in the decoder 124. [ The number of tokens is a parameter that considers the linguistic situation in addition to the acoustical situation, and provides information on the number of candidate word strings that can be verbally linked. In other words, if the number of tokens increases, the number of candidate word sequences increases linguistically and the discrimination power by the acoustic model and the language model is lowered. Considering other acoustic information, the tendency of linguistic discrimination Can be modeled.

매 프레임마다 입력되는 위와 같은 정보들을 이용하여 가중치모델 데이터베이스(160)를 생성할 수 있다. 일 예로, 입력 노드를 위와 같은 정보들로 구성하고, 출력 노드를 가중치가 허용하는 일정 범위의 값들로 나열하면, 여러 층의 hidden 노드를 가지는 DBN (deep belief network), DNN (deep neural network), 또는 RNN (recurrent neural network)등의 심화학습(deep learning)을 할 수 있다. The weight model database 160 can be generated using the above information input every frame. For example, if the input node is composed of the above information and the output node is listed in a range of values allowed by the weight, the DBN (deep belief network), DNN (deep neural network) Or deep learning such as an RNN (recurrent neural network).

이와 같은 심화학습을 위해서는 매 프레임 정답인 출력 노드를 정해야 하는데, 각 입력 데이터의 변화에 따른 매 프레임 마다 출력 노드의 분포와 출력 노드 값의 변화에 따른 음성인식률의 변화 등을 면밀히 실험하여 정할 수도 있고, 또는 입력 데이터에 따라 결정된 출력 노드가 그 다음 프레임의 평균 토크 개수를 가장 적게 만들거나 평균 온라인 스코어를 가장 좋게 만드는 출력 노드를 정답으로 정하여 학습을 할 수도 있다.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 generation unit 170

상기 토픽 스코어 생성부(170)는 상기 디코더(124)로부터 피드백된 문장들을 기반으로 상기 토픽 스코어(Tscore)를 생성하여 상기 디코더(124)에게 제공한다.The topic score generator 170 generates the topic score (T score ) based on sentences fed back from the decoder 124 and provides the generated score to the decoder 124.

상기 토픽 스코어(Tscore)를 생성하기 위해, 도 3에 도시된 바와 같이, 상기 토픽 스코어 생성부(170)는 저장부(171), 단어 추출부(173), 테이블(175), 토픽 스코어 계산부(177) 및 연관 단어 트리부(179)를 포함한다.To generate the topic scores (T score), with the topic score generator 170 as shown in FIG. 3, the storage unit 171, the word extraction section 173, a table 175, a topic calculated score A portion 177 and an associated word tree 179. [

상기 저장부(171)는 상기 디코더(128)에서 인식한 문장들을 프레임 단위로 수집하여 저장한다. The storage unit 171 collects and stores sentences recognized by the decoder 128 on a frame-by-frame basis.

상기 단어 추출부(173)는 상기 저장부(172)에 저장된 문장을 매 프레임 마다 전달받아서, 전달받은 문장에서 보조어(예를 들면, 관계사 등)를 제거하여 상기 문장으로부터 단어들을 추출한다.The word extracting unit 173 receives a sentence stored in the storage unit 172 for each frame and extracts words from the sentence by removing an auxiliary word (for example, a related company) from the received sentence.

상기 테이블 생성부(175)는 상기 추출된 단어들 각각의 발생 확률값을 계산하여, 발생 확률값 리스트로 이루어진 발생확률 테이블로 생성한다. 여기서, 상기 발생 확률값은 특정 토픽과 연관된 단어들의 발생빈도를 수치화한 값으로, 추출된 전체 단어들에서 특정 토픽과 연관된 단어들이 차지하는 비율로 계산될 수 있다. 또한, 상기 발생확률 테이블은 상기 발생 확률값 외에 상기 특정 토픽과 연관된 단어들(토픽 단어들)의 발생 주기(또는 발생 시간)에 따른 가중치를 설정하고, 설정된 가중치가 추가 리스트로 더 구성될 수 있다. 즉, 상기 발생확률 테이블에서 특정 토픽으로 연속 음성인식이 이뤄지는 경우를 고려하여 짧은 시간 히스토리(Short-term History: SH)에 해당하는 단어들과 긴 시간 히스토리(Long-term History: LH)에 해당하는 단어들의 토픽 가중치를 구별한다. 발생 주기를 기준으로 나눠진 짧은 시간 히스토리 단어들과 긴 시간 히스토리 단어들은 발생빈도에 따라 테이블 내에서 위치는 지속적으로 변경될 수 있다. The table generation unit 175 calculates the occurrence probability value of each of the extracted words and generates the occurrence probability table of the occurrence probability value list. Here, the occurrence probability value is a value obtained by quantifying the frequency of occurrences of words associated with a specific topic, and may be calculated as a ratio occupied by words related to a specific topic in all the extracted words. Also, the occurrence probability table may be configured to set a weight according to an occurrence period (or occurrence time) of words (topic words) associated with the specific topic in addition to the occurrence probability value, and the set weight may be further comprised of a supplementary list. That is, considering the case where consecutive speech recognition is performed on a specific topic in the occurrence probability table, words corresponding to short-term history (SH) and long-term history (LH) It distinguishes the topic weights of words. The short-time history words and the long-time history words divided on the basis of the generation cycle can be continuously changed in the table according to the occurrence frequency.

상기 토픽 스코어 계산부(177)는 상기 테이블 생성부(175)에서 발생 확률 테이블의 생성하는 과정에서 발생하는 상기 발생 확률값과 토픽 가중치를 곱셈 연산하여 상기 토픽 스코어(Tscore)를 계산하고, 상기 계산한 토픽 스코어(Tscore)를 상기 디코더(124)로 제공한다. 이러한 토픽 스코어(Tscore)는 상기 언어모델 스코어(LMscore)를 확장시키는 역할을 한다.The topic score calculation unit 177 calculates the topic score (T score ) by multiplying the occurrence probability value generated in the process of generating the occurrence probability table in the table generation unit 175 by the topic weight, And provides a topic score (T score ) to the decoder 124. Such a topic score (T score ) serves to expand the language model score (LM score ).

한편, 상기 테이블 생성부(175)에 의해 상기 발생 확률값과 상기 토픽 가중치가 부여된 토픽 단어들은 상기 연관단어 트리부(179)로 제공되고, 상기 연관단어 트리부(179)는 단어 관련성 우선 순위로 만든 트리를 검색하여 상기 토픽 단어들과 연관된 단어들을 생성하고, 생성된 단어들의 조합으로 이루어진 연관 문장 코퍼스를 구성한 후, 이를 상기 저장부(171)에 전달하여, 사용자의 토픽 단어를 다양하게 확장한다. Meanwhile, the topic generating unit 175 generates topic words to which the occurrence probability value and the topic weight are assigned, to the related word tree unit 179, and the related word tree unit 179 has a word relevance priority order Searches the created tree to generate words associated with the topic words, constructs an association sentence corpus composed of the generated words, and transmits the generated association sentence corpus to the storage unit 171 to variously expand the topic words of the user .

도 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.
KR1020160129670A 2016-10-07 2016-10-07 Method for recogniting speech using dynamic weight and topic information KR20180038707A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (12)

* Cited by examiner, † Cited by third party
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