KR101122591B1 - Apparatus and method for speech recognition by keyword recognition - Google Patents
Apparatus and method for speech recognition by keyword recognition Download PDFInfo
- Publication number
- KR101122591B1 KR101122591B1 KR1020110075990A KR20110075990A KR101122591B1 KR 101122591 B1 KR101122591 B1 KR 101122591B1 KR 1020110075990 A KR1020110075990 A KR 1020110075990A KR 20110075990 A KR20110075990 A KR 20110075990A KR 101122591 B1 KR101122591 B1 KR 101122591B1
- Authority
- KR
- South Korea
- Prior art keywords
- keyword
- recognition
- data
- section
- unit
- Prior art date
Links
- 238000000605 extraction Methods 0.000 claims abstract description 4
- 230000000875 corresponding Effects 0.000 claims description 64
- 230000000295 complement Effects 0.000 claims description 10
- 238000000034 method Methods 0.000 description 41
- 230000011218 segmentation Effects 0.000 description 19
- 235000021162 brunch Nutrition 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 239000000284 extract Substances 0.000 description 4
- 230000002238 attenuated Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 229910052737 gold Inorganic materials 0.000 description 2
- 239000010931 gold Substances 0.000 description 2
- 229910052709 silver Inorganic materials 0.000 description 2
- 239000004332 silver Substances 0.000 description 2
- 230000000576 supplementary Effects 0.000 description 2
- 230000003044 adaptive Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000004059 degradation Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006011 modification reaction Methods 0.000 description 1
- 230000003287 optical Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003595 spectral Effects 0.000 description 1
- 230000000153 supplemental Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/02—Feature extraction for speech recognition; Selection of recognition unit
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/04—Segmentation; Word boundary detection
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L2015/088—Word spotting
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/225—Feedback of the input speech
Abstract
Description
본 발명은 핵심어 인식에 의한 음성 인식 장치 및 방법에 관한 것으로, 보다 상세하게는, 입력받은 음성 데이터로부터 추출한 핵심어를 분석하여 화자의 의도를 파악하는 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for recognizing speech by keyword recognition, and more particularly, to an apparatus and method for determining a speaker's intention by analyzing a keyword extracted from input voice data.
음성 인식 기술을 이용한 자동 응답 서비스(ARS)는 제시되는 안내 멘트에 따라 사용자가 응답하고, 사용자의 응답을 분석하여 처리하는 서비스로서, 현재 다양한 분야에서 광범위하게 사용되고 있다.Automated Answering Service (ARS) using speech recognition technology is a service that responds to a user according to the presented announcement and analyzes and processes the user's response, and is currently widely used in various fields.
그런데 기존의 음성 인식 기술은 데이터베이스에 등록되어 있는 정확한 용어를 입력하는 경우에만 음성 인식이 성공적으로 수행되며, 사용자가 문법에 맞지 않는 음성 신호를 입력한 경우에는 인식률이 저하된다는 문제가 있다. 또한 사용자가 입력한 긴 음성 데이터를 적절하게 분할하여 분석하기 어려우므로 사용자가 긴 문장을 입력하면 사용자의 의도를 정확하게 파악할 수 없다.However, the conventional speech recognition technology has a problem that the speech recognition is successfully performed only when the correct term registered in the database is input, and the recognition rate decreases when the user inputs a speech signal that does not match the grammar. In addition, it is difficult to properly divide and analyze the long voice data input by the user, so that when the user inputs a long sentence, the user's intention cannot be accurately determined.
한국등록특허 제0933895호에는 입력된 음성 데이터를 다수 개로 분할하여 음성인식률을 향상시키고, 분할된 음성 데이터에 대해 병렬로 음성인식을 수행하는 구성이 기재되어 있다. 그러나 이러한 경우에도 음성 데이터의 길이가 긴 경우에는 키워드에 해당하는 부분 및 그 밖의 부분을 정확히 구분하기 어려워 사용자의 의도를 용이하게 파악할 수 없다는 문제가 있다.Korean Patent No. 0933895 describes a configuration in which the input speech data is divided into a plurality of pieces to improve the speech recognition rate, and the speech recognition is performed in parallel on the divided speech data. However, even in this case, when the length of the voice data is long, there is a problem that it is difficult to accurately distinguish the portion corresponding to the keyword and other portions, so that the user's intention cannot be easily understood.
또한 한국등록특허 제1021215호에는 음성 분할에 의한 병렬 음성인식 장치 및 방법에 관하여 기재되어 있으나, 이러한 방법 역시 음성 인식의 속도를 향상시키기 위하여 제안된 것일 뿐 음성 인식의 정확도를 향상시키기 위한 방법이라 할 수 없다. 따라서 여전히 사용자의 의도를 정확하게 파악하여 그에 따른 처리를 수행하여야 하는 문제점이 존재한다.In addition, Korean Patent No. 1021215 describes a parallel speech recognition apparatus and method by speech segmentation, but this method is also proposed to improve the speed of speech recognition and is a method for improving the accuracy of speech recognition. Can't. Therefore, there is still a problem in that it is necessary to accurately grasp the intention of the user and perform the corresponding process.
이상의 문제를 해결하기 위해, 사용자로부터 문법에 맞지 않는 긴 음성 신호가 입력되는 경우에도 키워드를 정확하게 추출하여 사용자의 의도에 따라 처리할 수 있는 방법이 필요하다.In order to solve the above problem, there is a need for a method capable of accurately extracting a keyword and processing it according to a user's intention even when a long voice signal that does not conform to a grammar is input from the user.
본 발명이 이루고자 하는 기술적 과제는, 사용자로부터 입력된 음성 데이터를 처리하는 음성 인식을 수행할 때 길이가 긴 음성 데이터로부터 키워드 구간 및 음성 인식을 보완하기 위한 추가적인 음성 구간을 추출하여 사용자의 의도를 파악할 수 있는 핵심어 인식에 의한 음성 인식 장치 및 방법을 제공하는 데 있다.The technical problem to be achieved by the present invention, when performing the speech recognition processing the speech data input from the user to extract the keyword section and the additional speech section to complement the speech recognition from the long speech data to determine the user's intention The present invention provides a speech recognition apparatus and method using keyword recognition.
본 발명이 이루고자 하는 다른 기술적 과제는, 사용자로부터 입력된 음성 데이터를 처리하는 음성 인식을 수행할 때 길이가 긴 음성 데이터로부터 키워드 구간 및 음성 인식을 보완하기 위한 추가적인 음성 구간을 추출하여 사용자의 의도를 파악할 수 있는 핵심어 인식에 의한 음성 인식 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는 데 있다.Another technical problem to be solved by the present invention is to extract the user's intention by extracting the keyword section and the additional speech section to complement the speech recognition from the long speech data when performing the speech recognition processing the speech data input from the user. The present invention provides a computer-readable recording medium having recorded thereon a program for executing a voice recognition method by recognizing a keyword.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 핵심어 인식에 의한 음성 인식 장치는, 사용자로부터 입력받은 음성 데이터로부터 키워드를 추출하기 위한 최소 길이의 데이터인 복수의 키워드 인식 구간을 결정하는 키워드 추출부; 상기 각각의 키워드 인식 구간에 대응하는 상기 음성 데이터를 데이터베이스에 사전에 저장된 키워드 데이터와 대비하여 키워드 인식 결과를 출력하는 키워드 인식부; 상기 키워드 인식 결과에 대응하는 키워드 인식 구간인 키워드부의 이전에 위치하는 키워드 인식 구간을 전술부로 결정하고, 상기 키워드부의 이후에 위치하는 키워드 인식 구간을 후술부로 결정하는 보완 구간 결정부; 상기 전술부 및 상기 후술부에 대응하는 상기 음성 데이터를 상기 데이터베이스에 사전에 저장된 전술부 데이터 및 후술부 데이터와 각각 대비하여 추가 인식 결과를 출력하는 인식 보완부; 및 상기 키워드 인식 결과 및 상기 추가 인식 결과를 조합하여 상기 사용자의 의도를 나타내는 최종 음성 인식 결과를 출력하는 음성 인식부;를 구비한다.In order to achieve the above technical problem, the apparatus for recognizing speech by keyword recognition according to the present invention includes a keyword extracting unit for determining a plurality of keyword recognition sections which are data of minimum length for extracting keywords from speech data input from a user. ; A keyword recognition unit for outputting a keyword recognition result by comparing the voice data corresponding to each keyword recognition section with keyword data previously stored in a database; A complementary section determination unit determining a keyword recognition section located before the keyword section, which is a keyword recognition section corresponding to the keyword recognition result, and a keyword recognition section located after the keyword section, as described later; A recognition complementary unit configured to output additional recognition results by comparing the voice data corresponding to the tactic unit and the following unit with the tactic unit data and the following unit data previously stored in the database; And a speech recognition unit for combining the keyword recognition result and the additional recognition result to output a final speech recognition result indicating the user's intention.
상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 핵심어 인식에 의한 음성 인식 방법은, (a) 사용자로부터 입력받은 음성 데이터로부터 키워드를 추출하기 위한 최소 길이의 데이터인 복수의 키워드 인식 구간을 결정하는 단계; (b) 상기 각각의 키워드 인식 구간에 대응하는 상기 음성 데이터를 데이터베이스에 사전에 저장된 키워드 데이터와 대비하여 키워드 인식 결과를 출력하는 단계; (c) 상기 키워드 인식 결과에 대응하는 키워드 인식 구간인 키워드부의 이전에 위치하는 키워드 인식 구간을 전술부로 결정하고, 상기 키워드부의 이후에 위치하는 키워드 인식 구간을 후술부로 결정하는 단계; (d) 상기 전술부 및 상기 후술부에 대응하는 상기 음성 데이터를 상기 데이터베이스에 사전에 저장된 전술부 데이터 및 후술부 데이터와 각각 대비하여 추가 인식 결과를 출력하는 단계; 및 (e) 상기 키워드 인식 결과 및 상기 추가 인식 결과를 조합하여 상기 사용자의 의도를 나타내는 최종 음성 인식 결과를 출력하는 단계;를 갖는다.In order to achieve the above technical problem, the method of speech recognition by keyword recognition according to the present invention comprises: (a) determining a plurality of keyword recognition sections which are data of minimum length for extracting keywords from speech data input from a user; step; (b) outputting a keyword recognition result by comparing the voice data corresponding to each keyword recognition section with keyword data previously stored in a database; (c) determining, by the tactic unit, a keyword recognition section located before the keyword section, which is a keyword recognition section corresponding to the keyword recognition result, and determining a keyword recognition section located after the keyword section, as described later; (d) outputting additional recognition results by comparing the voice data corresponding to the tactic unit and the below-described unit with the tactic unit data and the below-described section data previously stored in the database; And (e) combining the keyword recognition result and the additional recognition result to output a final speech recognition result indicating the user's intention.
본 발명에 따른 핵심어 인식에 의한 음성 인식 장치 및 방법에 의하면, 음성 데이터 분석하기 위하여 음성 데이터로부터 사용자의 의도가 가장 잘 나타난 키워드 구간뿐 아니라 음성 인식 과정에서 보조적으로 사용하기 위한 전술부 및 후술부 구간을 검출하여 각각의 구간을 분석함으로써 음성 인식의 정확도를 높여 사용자의 의도에 부합하는 동작을 수행할 수 있다.According to the apparatus and method for recognizing a speech by keyword recognition according to the present invention, a tactical section and a later section for assisting in a speech recognition process as well as a keyword section in which a user's intention is best expressed from the speech data for analyzing speech data. By detecting the and analyzing the respective sections it is possible to increase the accuracy of speech recognition to perform the operation in accordance with the user's intention.
도 1은 본 발명에 따른 핵심어 인식에 의한 음성 인식 장치에 대한 바람직한 실시예의 구성을 도시한 블록도,
도 2는 자동 이득 조절을 수행하기 위한 음성 데이터의 시간에 따른 크기를 나타낸 도면,
도 3은 음절 데이터 사이의 시작점, 종료점 및 구분점을 도시한 도면,
도 4는 잡음이 포함된 음성 데이터를 분할하는 과정을 설명하기 위한 도면,
도 5는 본 발명의 일 실시예로서, 사용자가 '음...코엑스 근처 브런치 맛집 찾아줘'라는 문장을 발화하여 입력된 음성 데이터의 형태를 도시한 도면, 그리고,
도 6은 본 발명에 따른 핵심어 인식에 의한 음성 인식 방법에 대한 바람직한 실시예의 수행과정을 도시한 흐름도이다.1 is a block diagram showing the configuration of a preferred embodiment of a speech recognition apparatus using keyword recognition according to the present invention;
2 is a diagram showing the size of voice data over time for performing automatic gain adjustment;
3 is a diagram illustrating a start point, an end point, and a break point between syllable data;
4 is a diagram for explaining a process of dividing speech data including noise;
FIG. 5 is a diagram illustrating a form of voice data input by a user uttering a sentence, 'Um ... find a brunch restaurant near COEX', and,
6 is a flowchart illustrating a process of performing a preferred embodiment of a speech recognition method using keyword recognition according to the present invention.
이하에서 첨부된 도면들을 참조하여 본 발명에 따른 핵심어 인식에 의한 음성 인식 장치 및 방법의 바람직한 실시예에 대해 상세하게 설명한다.Hereinafter, exemplary embodiments of a speech recognition apparatus and method using keyword recognition according to the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명에 따른 핵심어 인식에 의한 음성 인식 장치에 대한 바람직한 실시예의 구성을 도시한 블록도이다.1 is a block diagram showing a configuration of a preferred embodiment of a speech recognition apparatus using key word recognition according to the present invention.
도 1을 참조하면, 본 발명에 따른 음성 인식 장치는, 키워드 추출부(110), 키워드 인식부(120), 보완 구간 결정부(130), 인식 보완부(140), 음성 인식부(150) 및 음성 처리부(160)를 구비한다.Referring to FIG. 1, in the speech recognition apparatus according to the present invention, the
본 발명에 따른 음성 인식 장치는 앞에서 설명한 자동 응답 서비스에 적용되어 사용자가 입력한 음성에 따라 그에 대응하는 처리를 수행하는 데 사용될 수도 있으나, 이에 한정하지 않고 음성 인식 기술을 필요로 하는 모든 분야에 적용 가능하다.The speech recognition apparatus according to the present invention may be applied to the above-mentioned answering service and used to perform a corresponding process according to a voice input by a user, but is not limited thereto and is applicable to all fields requiring a speech recognition technology. It is possible.
먼저 사용자가 마이크로폰을 통해 아날로그 신호 형태의 음성 신호를 입력하면, 입력된 음성 신호는 아날로그-디지털 변환기에 의해 디지털 신호로 변환된다.이때 아날로그-디지털 변환 과정에서 샘플링 주파수는 8kHz 또는 16kHz가 사용되며, 디지털 신호로 변환된 샘플의 해상도는 16비트(bit)로 할 수 있다. 다음으로 디지털 신호에 대한 부호화 과정을 통해 디지털 데이터 형태의 음성 데이터가 얻어진다. 이러한 과정은 사용자가 한 번의 발화에 의해 입력한 음성 신호에 대하여 이루어지는 것이며, 이하에서 설명하는 '음성 데이터'는 이상의 과정이 수행된 '디지털 데이터'를 의미한다.First, when a user inputs a voice signal in the form of an analog signal through a microphone, the input voice signal is converted into a digital signal by an analog-to-digital converter, in which the sampling frequency is 8 kHz or 16 kHz. The resolution of the sample converted into the digital signal can be 16 bits. Next, voice data in the form of digital data is obtained through the encoding process for the digital signal. This process is performed on the voice signal inputted by the user by one utterance, and the 'voice data' described below means 'digital data' in which the above process is performed.
키워드 추출부(110)는 사용자로부터 입력받은 음성 데이터로부터 키워드를 추출하기 위한 최소 길이의 데이터인 복수의 키워드 인식 구간을 결정한다.The
이때 키워드 인식 구간은 음성 데이터를 문장의 띄어쓰기 단위에 대응하는 복수의 어절 데이터로 분할한 결과 및 각각의 어절 데이터를 단어의 최소 단위에 대응하는 복수의 음절 데이터로 분할한 결과를 기초로 결정될 수 있다. 어절 데이터 및 음절 데이터의 분할 방법에 대하여는 뒤에서 상세히 설명한다.In this case, the keyword recognition section may be determined based on a result of dividing the speech data into a plurality of word data corresponding to the spacing unit of the sentence and a result of dividing each word data into a plurality of syllable data corresponding to the minimum unit of the word. . The method of dividing the word data and the syllable data will be described later in detail.
음성 데이터를 어절 데이터 및 음절 데이터로 분할하기 이전에 디지털 데이터 형태의 음성 데이터의 크기를 변환하여 사전에 설정된 크기 범위 내에 속하도록 처리하는 과정이 수행될 수 있다. 또한 정확한 음성 인식을 위해 음성 데이터에 포함된 노이즈를 제거하는 과정이 수행될 수 있다. 이러한 과정은 본 발명에 따른 음성 인식 장치에 별도로 구비되는 음성 개선 모듈(미도시)에 의하여 수행될 수 있다.Before dividing the voice data into the word data and the syllable data, a process of converting the size of the voice data in the form of digital data to be within a preset size range may be performed. Also, a process of removing noise included in voice data may be performed for accurate voice recognition. This process may be performed by a speech enhancement module (not shown) separately provided in the speech recognition apparatus according to the present invention.
마이크로폰을 통해 입력되는 음성 신호는 시스템 특성 및 음성 신호 입력에 사용된 기기 및 사용법에 따라 다양한 크기를 가진다. 이와 같이 음성 신호가 입력될 때마다 다른 크기를 가지게 되면 정확한 음성 인식이 어려울 수 있다.The voice signal input through the microphone may vary in size depending on the system characteristics and the equipment and usage used for the voice signal input. As described above, if the voice signal has a different size every time the voice signal is input, accurate voice recognition may be difficult.
본 발명에 따른 음성 인식 장치는 이러한 문제를 개선하기 위하여 먼저 음성 데이터의 이득을 자동으로 조절함으로써 음성 인식에 가장 적합한 수준의 디지털 데이터로 변환한다. 이러한 과정을 자동 이득 조절(Automatic Gain Control : AGC)이라 한다.In order to solve this problem, the speech recognition apparatus according to the present invention first converts the gain of the speech data into digital data at the most suitable level for speech recognition. This process is called Automatic Gain Control (AGC).
도 2는 자동 이득 조절을 수행하기 위한 음성 데이터의 시간에 따른 크기를 나타낸 도면이다. 도 2에서 ③으로 표시된 점선은 음성 인식에 적합하도록 사전에 설정된 음성 데이터의 크기 범위 중 상한값(compression threshold)을 나타내는 선으로, 음성 데이터의 크기가 상한값보다 커지면 이를 감쇠시켜 크기 범위 내에 속하도록 한다. 이를 위해 걸리는 시간이 ①로 표시된 구간(attack time)이다. 또한 ②로 표시된 구간은 상한값보다 크게 입력된 음성 데이터가 감쇠된 후 원래의 크기로 복원되는 데 걸리는 시간(release time)을 나타낸다. 또한 상한값보다 큰 음성 데이터를 감쇠시키는 비율(compression slope)은 사전에 설정될 수 있다.2 is a diagram illustrating the size of voice data over time for performing automatic gain adjustment. In FIG. 2, a dotted line denoted by 3 is a line indicating a compression threshold value of the size range of the voice data which is preset for speech recognition. When the size of the voice data becomes larger than the upper limit value, it is attenuated so as to fall within the size range. The time taken for this is the attack time indicated by ①. In addition, the section denoted by (2) indicates a release time taken for the input audio data larger than the upper limit to be restored to its original size after being attenuated. Also, a compression slope that attenuates voice data larger than the upper limit may be set in advance.
도 2에는 음성 데이터의 크기가 크기 범위의 상한값보다 큰 경우만을 도시하였으나, 음성 데이터의 크기가 지나치게 작아져 크기 범위의 하한값(expander threshold)보다 작은 경우에는 증폭된다. 신호의 증폭 비율(expander slope) 역시 사전에 설정될 수 있다.In FIG. 2, only the case where the size of the voice data is larger than the upper limit of the size range is shown. However, when the size of the voice data becomes too small and smaller than the expander threshold of the size range, it is amplified. The expander slope of the signal may also be set in advance.
결과적으로, 본 발명에 따른 음성 인식 장치에 의해 크기 범위 내의 값으로 조절된 음성 데이터는 마이크로폰, 시스템 또는 사용자 환경에 따른 영향이 배제되므로 음성의 오인식을 방지할 수 있다.As a result, the speech data adjusted to a value within the size range by the speech recognition apparatus according to the present invention can prevent the recognition of the speech because the influence of the microphone, the system or the user environment is excluded.
다음으로 AGC가 수행된 음성 데이터로부터 잡음, 즉 노이즈 성분을 제거하는 과정이 수행된다. 음성 데이터에 포함된 노이즈 성분은 음성 인식의 성공률을 저하시키는 원인이 될 수 있으므로 음성 인식 과정 이전에 노이즈 성분을 제거할 필요성이 있다. 노이즈 제거는 기존의 노이즈 제거 알고리즘들을 사용하여 수행될 수 있으며, 일 예로서 이하의 방법이 사용될 수 있다.Next, a process of removing noise, that is, noise components, from the voice data on which AGC is performed is performed. Since the noise component included in the voice data may cause the success rate of the speech recognition to be reduced, it is necessary to remove the noise component before the speech recognition process. Noise reduction may be performed using existing noise reduction algorithms, and the following method may be used as an example.
본 발명에 따른 음성 인식 장치는 음성 데이터를 사전에 설정된 분할 간격으로 동일하게 분할한 후 주파수 영역으로 변환하여 특징을 추출한다. 분할 간격은 5~20 msec 중 하나의 값으로 설정될 수 있다. 다음으로 추출된 특징을 사용하여 전방향 탐색 기법에 의해 음성 성분이 주가 되는 영역 및 잡음 성분이 주가 되는 영역을 판별한다. 각 영역의 판별이 완료되면 심리 음향에 기반한 적응적인 망각계수를 사용하여 제거할 잡음 성분을 추정한다.The speech recognition apparatus according to the present invention extracts a feature by dividing the speech data equally at a predetermined division interval and converting the speech data into a frequency domain. The division interval may be set to one of 5 to 20 msec. Next, the extracted feature is used to determine the region where the speech component is the main region and the noise component the region by the omnidirectional search technique. After the determination of each region is completed, the noise component to be removed is estimated by using the adaptive forgetting coefficient based on psychoacoustic.
이후 본 발명에 따른 음성 인식 장치는 추정된 잡음 성분을 제거하기 위해 개선된 차분 스펙트럼 차감법을 사용하고, 결과적으로 잡음이 제거된 주파수 영역의 음성 성분이 얻어진다. 마지막으로 주파수 영역의 음성 성분을 시간 영역으로 변환함으로써 노이즈 성분이 제거된 음성 데이터가 얻어진다.The speech recognition apparatus according to the present invention then uses an improved differential spectral subtraction method to remove the estimated noise components, resulting in speech components in the frequency domain from which the noise is removed. Finally, speech data from which noise components are removed is obtained by converting speech components in the frequency domain into the time domain.
이상에서 설명한 이득 조절 및 노이즈 제거 과정에 의해 얻어진 개선된 음성 데이터는 이후 과정에서 순차적으로 처리되어 음성 데이터로부터 사용자의 의도를 나타내는 핵심 단어인 키워드를 추출하는 데 사용된다.The improved speech data obtained by the gain adjustment and noise removal process described above is processed sequentially in the subsequent process and used to extract keywords, which are key words representing the user's intention, from the speech data.
본 발명에 따른 음성 인식 장치에 구비되는 어절 분할 모듈(미도시)은 개선된 음성 데이터를 어절 단위로 분할하여 복수의 어절 데이터를 생성한다. '어절'이란 문장을 구성하는 각각의 마디를 의미하는 것으로, 띄어쓰기의 단위와 일치한다. 예를 들면, '이번 달 요금은 얼마입니까'라는 문장은 '이번', '달', '요금은', '얼마입니까'의 네 개의 어절로 이루어져 있다. 어절 분할 모듈은 개선된 음성 데이터를 이와 같이 띄어쓰기 단위로 분할하여 복수의 어절 데이터를 생성한다.The word division module (not shown) included in the speech recognition apparatus according to the present invention generates a plurality of word data by dividing the improved voice data into word units. The word "word" means each word that constitutes a sentence, which corresponds to the unit of spacing. For example, the sentence "How much is this month" consists of four words: "this time", "month", "price" and "how much". The word division module generates a plurality of word data by dividing the improved speech data into spaces.
어절 단위의 분할은 먼저 개선된 음성 데이터를 동일한 크기의 복수의 프레임으로 분할함으로써 개시된다. 프레임의 분할은 앞에서 설명한 분할 간격과 동일한 간격으로 수행될 수도 있으며, 5~20 msec 범위에서 선택된 어느 하나의 값에 의해 음성 데이터를 분할할 수도 있다.The division of word units is started by first dividing the improved speech data into a plurality of frames of the same size. The division of the frame may be performed at the same interval as the above-described division interval, or the voice data may be divided by any one value selected from a range of 5 to 20 msec.
어절 분할 모듈은 각각의 프레임으로부터 특징 벡터(feature vector)를 추출하고, 추출된 특징 벡터를 이용하여 어절 데이터를 생성한다. 특징 벡터로는 음성 데이터의 시간 또는 주파수 영역에서의 파워(power) 또는 에너지(energy), 포먼트(formant) 정보 또는 LPC(linear predictive coding) 계수 등이 사용될 수 있다.The word division module extracts a feature vector from each frame and generates word data using the extracted feature vector. As the feature vector, power or energy, formant information, or linear predictive coding (LPC) coefficient in the time or frequency domain of the voice data may be used.
어절 분할 모듈은 어절 데이터의 생성에 특징 벡터를 적용하기 이전에 각각의 프레임에 대응하는 특징 벡터 및 인접한 프레임의 특징 벡터들의 평균을 산출함으로써 각각의 프레임에 대응하는 특징 벡터를 평활화한다. 이하에서 설명하는 어절 데이터의 생성에 사용되는 '특징 벡터'는 '평활화된 특징 벡터'를 의미한다.The word segmentation module smoothes the feature vector corresponding to each frame by calculating an average of the feature vector corresponding to each frame and the feature vectors of the adjacent frame before applying the feature vector to the generation of the word data. A 'feature vector' used to generate word data described below means a 'smooth feature vector'.
어절 분할 모듈은 복수의 프레임을 순차적으로 검사하면서 각 프레임의 시작점이 어절의 시작점 또는 종료점에 해당하는지 여부를 결정한다. 이를 위해 각 프레임의 특징 벡터의 값과 비교 대상이 되는 문턱값이 사전에 설정된다. 문턱값은 적용되는 프레임에 따라 복수 개가 설정될 수 있다.The word segmentation module sequentially inspects a plurality of frames and determines whether a start point of each frame corresponds to a start point or end point of a word. To this end, a threshold value to be compared with a value of the feature vector of each frame is set in advance. A plurality of thresholds may be set according to the applied frame.
예를 들면, n번째 프레임에 대하여 n-1번째 프레임의 특징 벡터의 크기가 제1문턱값 이하이고, n번째, n+1번째 및 n+3번째 프레임의 특징 벡터의 크기가 각각 제2문턱값, 제3문턱값 및 제4문턱값 이상이면, 어절 분할 모듈은 n번째 프레임의 시작 지점을 어절 시작점 후보로 결정한다. 즉, n번째 프레임이 음성 데이터로부터 얻어지는 복수의 어절 데이터 중 하나의 어절 데이터의 첫 번째 프레임이 되는 것이다. 이때 제1문턱값 내지 제4문턱값의 크기는 경험적으로 설정될 수 있다.For example, with respect to the nth frame, the size of the feature vector of the n-1th frame is equal to or less than the first threshold, and the size of the feature vector of the nth, n + 1th, and n + 3th frames is the second threshold, respectively. If the value is greater than or equal to the third threshold value and the fourth threshold value, the word division module determines the start point of the nth frame as a word start point candidate. That is, the nth frame becomes the first frame of one word data among a plurality of word data obtained from the voice data. In this case, the magnitudes of the first to fourth threshold values may be empirically set.
어절 분할 모듈은 어절 시작점 후보가 결정되면 어절 종료점 후보를 결정하기 위해 이후의 프레임을 순차적으로 검사한다. 예를 들면, n+1번째 프레임의 특징 벡터의 크기가 제5문턱값 이하이면 n+1번째 프레임의 시작점을 어절 종료점 후보로 결정한다. 앞에서 n번째 프레임의 시작점을 어절 시작점 후보로 결정하였으므로, n번째 프레임과 n+1번째 프레임이 하나의 어절 데이터를 구성하게 된다.When the word start point candidate is determined, the word segmentation module sequentially checks subsequent frames to determine the word end point candidate. For example, when the size of the feature vector of the n + 1th frame is less than or equal to the fifth threshold, the start point of the n + 1th frame is determined as a word end point candidate. Since the start point of the nth frame is determined as a word start point candidate, the nth frame and the n + 1th frame constitute one word data.
또는 n+1번째 프레임이 다음의 수학식 1을 만족하는 경우에도 n+1번째 프레임의 시작점을 어절 종료점 후보로 결정할 수 있다.Alternatively, even when the n + 1th frame satisfies
여기서, Esmt()는 프레임의 특징 벡터의 크기를 나타내며, i의 값은 0 및 1이다.Here, E smt () represents the magnitude of the feature vector of the frame, and i values are 0 and 1.
이상에서 설명한 과정이 음성 데이터의 전체 프레임에 대하여 수행되면 어절 시작점 후보로부터 어절 종료점 후보까지의 어절 데이터 후보가 얻어진다. 이를 1차 어절 데이터 후보라 한다. 1차 어절 데이터 후보는 하나의 음성 데이터로부터 복수 개가 얻어질 수 있다. 즉, 음성 데이터의 프레임들에 대하여 순차적으로 제1 어절 시작점 후보 - 제1 어절 종료점 후보 - 제2 어절 시작점 후보 - 제2 어절 종료점 후보와 같이 결정되었다면 1차 어절 데이터 후보는 두 개가 얻어지게 된다.When the above-described process is performed for the entire frame of speech data, a word data candidate from a word start point candidate to a word end point candidate is obtained. This is called a primary word data candidate. A plurality of primary word data candidates can be obtained from one voice data. That is, if the first word start point candidate, the first word end point candidate, the second word start point candidate, and the second word end point candidate are sequentially determined for the frames of the voice data, two primary word data candidates are obtained.
어절 분할 모듈은 1차 어절 데이터 후보들이 결정되면 1차 어절 데이터 후보들 중에서 길이가 지나치게 짧아 의미를 가진 문구인 것으로 생각할 수 없는 후보를 제거한다. 즉, 어절 분할 모듈은 사전에 설정된 제1기준길이 이상인 1차 어절 데이터 후보만을 선택하여 2차 어절 데이터 후보로 결정하고, 그 외의 1차 어절 데이터 후보는 키워드 추출 대상으로부터 제거한다. 여기서 제1기준길이는 150~170 msec의 범위 내에서 설정될 수 있다.When the first word data candidates are determined, the word segmentation module removes candidates that cannot be considered to be meaningful phrases because the length is too short among the first word data candidates. That is, the word segmentation module selects only the first word data candidate having a predetermined first reference length or more to determine the second word data candidate, and removes the other first word data candidate from the keyword extraction target. The first reference length may be set within the range of 150 to 170 msec.
2차 어절 데이터 후보가 결정된 후, 어절 분할 모듈은 2차 어절 데이터 후보 중에서 서로 인접한 2차 어절 데이터 후보 사이의 길이가 사전에 설정된 제2기준길이보다 작으면 인접한 두 개의 2차 어절 데이터 후보를 병합한다. 예를 들면, k번째 2차 어절 데이터 후보의 종료점과 k+1번째 2차 어절 데이터 후보의 시작점 사이의 길이가 제2기준길이보다 작으면 k번째 2차 어절 데이터 후보와 k+1번째 2차 어절 데이터 후보로 이루어진 하나의 2차 어절 데이터 후보가 결정된다. 이때 제2기준길이는 200~250 msec 범위 내의 값으로 설정될 수 있다.After the second word data candidate is determined, the word segmentation module merges two adjacent second word data candidates if the length between adjacent second word data candidates among the second word data candidates is smaller than a preset second reference length. do. For example, if the length between the end point of the k th second word data candidate and the start point of the k + 1 th second word data candidate is less than the second reference length, the k th second word data candidate and the k + 1 th second One secondary word data candidate consisting of the word data candidates is determined. In this case, the second reference length may be set to a value within a range of 200 to 250 msec.
복수의 2차 어절 데이터 후보를 순차적으로 스캔하여 앞에서 설명한 병합 과정이 모두 종료되면 병합되지 않은 2차 어절 데이터 후보 및 병합된 2차 어절 데이터 후보들 중에서 사전에 설정된 제3기준길이 이상인 2차 어절 데이터 후보를 3차 어절 데이터 후보로 결정한다. 여기서 제3기준길이는 400msec로 설정될 수 있다.After the plurality of secondary word data candidates are sequentially scanned and the merge process described above is completed, secondary word data candidates having a predetermined third reference length or more among non-merged secondary word data candidates and merged secondary word data candidates are preset. Is determined as the third word data candidate. The third reference length may be set to 400 msec.
마지막으로 어절 분할 모듈은 3차 어절 데이터 후보 중에서 최종 어절 데이터를 결정하기 위해 2차 어절 데이터 후보의 특징 벡터의 크기를 고려한다.Finally, the word segmentation module considers the size of the feature vector of the second word data candidate to determine the final word data among the third word data candidates.
먼저 어절 분할 모듈은 각각의 2차 어절 데이터 후보에 대하여 2차 어절 데이터 후보에 포함된 프레임들의 특징 벡터의 평균 크기를 산출하고, 산출된 평균 크기들 중에서 최대값인 최대 평균 크기를 산출한다. 다음으로 어절 분할 모듈은 각각의 2차 어절 데이터 후보를 스캔하면서 최종 어절 데이터로 결정될 수 있는지 여부를 결정한다.First, the word segmentation module calculates an average size of a feature vector of frames included in the second word data candidate for each second word data candidate, and calculates a maximum average size among the calculated average sizes. The word division module then scans each secondary word data candidate and determines whether it can be determined as the final word data.
구체적으로, 2차 어절 데이터 후보의 특징 벡터의 평균 크기보다 최대 평균 크기가 사전에 설정된 기준배수 이상이고, 해당 2차 어절 데이터 후보가 앞에서 결정된 3차 어절 데이터 후보에 해당하거나 3차 어절 데이터 후보에 포함된다면 어절 분할 모듈은 해당 2차 어절 데이터 후보가 포함된 3차 어절 데이터 후보를 최종 어절 데이터로 결정한다. 기준배수의 크기는 실험에 의해 사전에 설정되며, 2.5~4 사이의 값으로 설정될 수 있다.Specifically, the maximum mean size is greater than or equal to a preset multiple of a preset multiple of a second word data candidate, and the corresponding second word data candidate corresponds to the third word data candidate or the third word data candidate. If included, the word division module determines the third word data candidate including the corresponding second word data candidate as the final word data. The size of the reference fold is set in advance by experiment, and may be set to a value between 2.5 and 4.
정리하면, 어절 분할 모듈은 음성 데이터를 동일한 크기의 프레임으로 분할한 후 각 프레임의 특징 벡터의 크기를 기초로 1차 어절 데이터 후보를 결정하고, 1차 어절 데이터 후보 중에서 길이가 지나치게 짧은 후보를 제거하여 2차 어절 데이터 후보를 결정한다. 다음으로 2차 어절 데이터 후보 중에서 사이의 공백이 짧은 후보들을 서로 병합하고, 일정 길이 이상의 2차 어절 데이터 후보를 3차 어절 데이터 후보로 결정한다. 마지막으로 2차 어절 데이터 후보를 구성하는 프레임들의 특징 벡터의 크기를 고려하여 3차 어절 데이터 후보 중에서 최종 어절 데이터를 결정한다.In summary, the word segmentation module divides the speech data into frames having the same size, determines the first word data candidates based on the size of the feature vector of each frame, and removes candidates having too short length from the first word data candidates. To determine the second word data candidate. Next, candidates having a short gap between the second word data candidates are merged with each other, and a second word data candidate having a predetermined length or more is determined as the third word data candidate. Finally, the final word data is determined among the third word data candidates by considering the size of the feature vector of the frames constituting the second word data candidate.
본 발명에 따른 음성 인식 장치는 이와 같이 얻어진 복수의 최종 어절 데이터를 각각 복수의 음절 데이터로 분할하며, 이러한 과정은 별도로 구비된 음절 분할 모듈(미도시)에 의하여 수행될 수 있다. '음절(syllable)'이란 직관적으로 인지되는 단어나 말의 기본 음성 단위로서, 모음만 있을 수도 있고 모음의 앞뒤에 1개 이상의 자음이 있을 수도 있다. 예를 들면, 앞에서 설명한 예에서 '요금은'이라는 어절은 '요', '금', '은'의 세 개의 음절로 이루어진다. 음절 분할 모듈은 '요금은'과 같은 하나의 어절 데이터를 '요', '금', '은'에 각각 대응하는 세 개의 음절 데이터로 분할할 수 있다.The speech recognition apparatus according to the present invention divides the plurality of final word data thus obtained into a plurality of syllable data, and this process may be performed by a syllable division module (not shown) separately provided. 'Syllable' is a basic phonetic unit of a word or word that is intuitively recognized. It can have only a vowel or one or more consonants before and after the vowel. For example, in the example described above, the word 'rate' consists of three syllables: 'yo', 'gold', and 'silver'. The syllable segmentation module may divide one word data such as 'rate' into three syllable data corresponding to 'yo', 'gold', and 'silver'.
음절 데이터의 분할을 위해서는 최종 어절 데이터의 정보, 각각의 최종 어절 데이터를 구성하는 프레임의 평활화된 특징 벡터 및 프레임이 분할된 서브밴드별 평활화된 특징 벡터의 정보가 사용될 수 있다. 또한 최종 어절 데이터가 복수 개이면 각각의 최종 어절 데이터를 음절 데이터로 분할하는 과정은 병렬적으로 수행될 수 있다. 따라서 음절 분할 모듈은 복수의 음절 분할 모듈로 구성될 수 있다. 이하에서는 하나의 최종 어절 데이터를 복수의 음절 데이터로 분할하는 과정에 대하여 상세하게 설명한다.In order to divide the syllable data, the information of the final word data, the smoothed feature vector of the frame constituting each final word data, and the information of the smoothed feature vector for each subband in which the frame is divided may be used. Also, when there are a plurality of final word data, the process of dividing each final word data into syllable data may be performed in parallel. Therefore, the syllable division module may be composed of a plurality of syllable division modules. Hereinafter, a process of dividing one final word data into a plurality of syllable data will be described in detail.
최종 어절 데이터에 대한 분할이 수행될 때 최종 어절 데이터의 시작점은 해당 최종 어절 데이터의 첫 번째 음절 데이터 후보의 시작점이며, 최종 어절 데이터의 종료점은 해당 최종 어절 데이터의 마지막 음절 데이터 후보의 종료점으로 설정된다.When splitting is performed on the last word data, the start point of the last word data is the start point of the first syllable data candidate of the last word data, and the end point of the last word data is set to the end point of the last syllable data candidate of the last word data. .
다음으로 음절 분할 모듈은 최종 어절 데이터에 포함된 프레임들에 대하여 N-포인터 이산 푸리에 변환(Discrete Fourier Transform : DFT)을 수행하여 주파수 영역에서 각 DFT-포인터별로 파워(power)를 산출하고, 이를 다시 L개의 서브밴드로 그루핑(grouping)함으로써 각 서브밴드별 특징 벡터를 산출한다.Next, the syllable segmentation module calculates power for each DFT-pointer in the frequency domain by performing an N-pointer Discrete Fourier Transform (DFT) on the frames included in the final word data. By grouping into L subbands, a feature vector for each subband is calculated.
이후 음절 분할 모듈은 최종 어절 데이터의 각 프레임을 순차적으로 스캔하여 음절 데이터의 시작점 및 종료점 후보를 결정한다. 나아가 서로 다른 음절 데이터에 해당하지만 구분이 명확하지 않은 경우의 음절 데이터 사이의 지점인 구분점 후보도 결정할 수 있다.Thereafter, the syllable segmentation module sequentially scans each frame of the final word data to determine a start point and an end point candidate of the syllable data. Furthermore, a candidate for a breakpoint, which is a point between syllable data corresponding to different syllable data but the distinction is not clear, may be determined.
도 3은 음절 데이터 사이의 시작점, 종료점 및 구분점을 도시한 도면이다. 도 3을 참조하면, 시작점과 종료점은 한 음절의 발화가 시작되거나 마무리되는 시점으로 구분이 용이하다. 복수 개의 음절이 연속하여 나타나는 경우에 음절 사이에서는 이전 음절의 종료점과 다음 음절의 시작점이 중첩될 수 있으며, 이러한 경우에는 음절 데이터의 시작점 후보로 결정된다. 구분점의 경우는 도 3에 도시된 바와 같이 음절의 발성시에 유성음이 연속되어 음절의 시작점과 종료점에 비해 찾아내기가 어렵고, 분할시에 불연속점이 발생하게 된다.3 is a diagram illustrating a start point, an end point, and a break point between syllable data. Referring to FIG. 3, the starting point and the ending point may be easily divided into a time point at which a syllable is started or finished. In the case where a plurality of syllables appear in succession, an end point of a previous syllable and a start point of a next syllable may overlap between syllables, and in this case, a start point candidate of the syllable data is determined. In the case of the division point, as shown in FIG. 3, the voiced sound is continuous when the syllable is uttered, and thus it is difficult to find the point compared with the beginning and end points of the syllable, and a discontinuity point occurs when the division is performed.
음절 분할 모듈은 최종 어절 데이터의 k-1번째 프레임과 k번째 프레임을 대비하여 k-1번째 프레임의 l번째 서브밴드의 특징 벡터의 크기가 0이 아니며 k번째 프레임의 l번째 서브밴드의 특징 벡터의 크기가 0인 횟수를 계수(counting)하고, 그 횟수가 사전에 설정된 기준횟수보다 크면 k번째 프레임의 시작점을 특정 음절 데이터의 종료점 후보로 결정한다. 이때 각 프레임으로부터 얻어지는 서브밴드의 개수는 로그 스케일(log scale)로 6으로 결정될 수 있고, 기준횟수의 값은 2 또는 3으로 설정될 수 있다.The syllable segmentation module compares the k-1th frame and the kth frame of the final word data with the feature vector of the lth subband of the k-1th frame not equal to 0 and the feature vector of the lth subband of the kth frame. Counting the number of times that the size of 0 is 0, and if the number is greater than the preset reference number of times, the start point of the k-th frame is determined as the end point candidate of the specific syllable data. In this case, the number of subbands obtained from each frame may be determined as 6 on a log scale, and the value of the reference frequency may be set to 2 or 3.
또한 음절 분할 모듈은 최종 어절 데이터의 각 프레임으로부터 얻어진 L개의 서브밴드 각각의 평활화된 특징 벡터의 크기를 비교하여 서브밴드들을 내림차순으로 정렬한다. 그 결과 k-1번째 프레임의 서브밴드들의 정렬 순서와 k번째 프레임의 서브밴드들의 정렬 순서를 대비하였을 때 순서가 바뀐 서브밴드의 개수가 사전에 설정된 제1기준개수보다 크면 k번째 프레임의 시작점을 음절 데이터가 변경되는 구분점 후보로 결정한다. 여기서 제1기준개수는 4 또는 5로 설정될 수 있다.The syllable segmentation module also sorts the subbands in descending order by comparing the magnitudes of the smoothed feature vectors of each of the L subbands obtained from each frame of the final word data. As a result, when the order of subbands of the k-1th frame and the order of subbands of the kth frame are compared, the starting point of the kth frame is determined if the number of subbands whose order is larger than the first reference number that is set in advance. The syllable data is determined as a candidate for breaking point. Here, the first reference number may be set to 4 or 5.
음절 데이터를 분할하는 또 다른 방법으로, 음절 분할 모듈은 최종 어절 데이터의 각 프레임별 평활화된 특징 벡터의 크기 변화율(증가 또는 감소)을 추출하고 이하의 서로 다른 네 가지 경우에 따라 처리한다.As another method of segmenting syllable data, the syllable segmentation module extracts the rate of change (increase or decrease) of the smoothed feature vector of each frame of the final syllable data and processes it according to the following four different cases.
첫 번째 경우로서, k번째 프레임의 크기 변화율이 0보다 크고 k-1번째 프레임의 평활화된 특징 벡터의 크기가 k번째 프레임의 평활화된 특징 벡터의 크기보다 크면, 음절 분할 모듈은 k번째 프레임의 시작점을 음절 데이터의 종료점 후보로 결정하고, k번째 프레임의 크기 변화율을 -1로 설정한다.In the first case, if the rate of change of the k-th frame is greater than 0 and the size of the smoothed feature vector of the k-1th frame is greater than the size of the smoothed feature vector of the kth frame, the syllable segmentation module starts the k-th frame. Is determined as an end point candidate of the syllable data, and the rate of change of the size of the k-th frame is set to -1.
두 번째 경우로서, k번째 프레임의 크기 변화율이 0보다 작고 k-1번째 프레임의 평활화된 특징 벡터의 크기가 k번째 프레임의 평활화된 특징 벡터의 크기보다 작으면서 k번째 프레임의 평활화된 특징 벡터의 크기가 사전에 설정된 제6문턱값보다 크면 k번째 프레임의 시작점을 음절 데이터의 시작점 후보로 결정하고, k번째 프레임의 크기 변화율을 1로 설정한다. 제6문턱값은 전체 프레임의 특징 벡터들의 평균을 구하고, 프레임들 중에서 특징 벡터의 크기가 평균보다 작은 프레임들을 추출하여 이들의 평균 특징벡터를 산출한 다음 산출된 값의 1.3~1.7배의 범위 내에서 설정될 수 있다.In the second case, the smoothed feature vector of the k-th frame is smaller than zero and the smoothed feature vector of the k-1th frame is smaller than the smoothed feature vector of the kth frame. If the size is larger than the sixth preset threshold, the start point of the k-th frame is determined as the start point candidate of the syllable data, and the rate of change of the k-th frame is set to one. The sixth threshold value is obtained by averaging the feature vectors of the entire frames, extracting frames having a smaller feature size than the average from the frames, calculating their average feature vectors, and then calculating the average feature vectors within the range of 1.3 to 1.7 times the calculated value. Can be set at
세 번째 경우로서, k번째 프레임의 크기 변화율이 0이고 k번째 프레임의 평활화된 특징 벡터의 크기가 제6문턱값보다 크면 k번째 프레임의 시작점을 음절 데이터의 시작점 후보로 결정하고, k번째 프레임의 크기 변화율을 1로 설정한다.In the third case, if the rate of change of the k-th frame is 0 and the size of the smoothed feature vector of the k-th frame is larger than the sixth threshold, the start point of the k-th frame is determined as a start point candidate of the syllable data. Set the rate of change of size to 1.
네 번째 경우로서, k번째 프레임의 크기 변화율이 0이 아니고 k번째 프레임의 평활화된 특징 벡터의 크기가 0이면 k번째 프레임의 시작점을 음절 데이터의 종료점 후보로 결정하고, k번째 프레임의 크기 변화율을 0으로 설정한다.In the fourth case, if the size change rate of the kth frame is not 0 and the size of the smoothed feature vector of the kth frame is 0, the start point of the kth frame is determined as a candidate for the end point of the syllable data, and the size change rate of the kth frame is determined. Set to zero.
음절 분할 모듈은 이상에서 설명한 과정에 의해 결정된 음절 시작점 후보, 종료점 후보 및 구분점 후보들을 순차적으로 스캔하면서 최종 음절 데이터를 결정한다. 구체적으로, 각각의 종료점 후보의 전후로 사전에 설정된 제1기준거리 이내에서 결정된 구분점 후보들은 제거되며, 각각의 시작점 후보의 전후로 사전에 설정된 제2기준거리 이내에서 결정된 구분점 후보들 역시 제거된다. 여기서 제1기준거리 및 제2기준거리는 각각 80~120 msec 및 160~200 msec의 범위 내에서 설정될 수 있다.The syllable segmentation module determines the final syllable data while sequentially scanning the syllable start point candidate, the end point candidate, and the break point candidate determined by the above-described process. Specifically, the breakpoint candidates determined within the first reference distance preset before and after each end point candidate are removed, and the breakpoint candidates determined within the second reference distance preset before and after each start point candidate are also removed. Here, the first reference distance and the second reference distance may be set within the range of 80 to 120 msec and 160 to 200 msec, respectively.
이상의 과정에 의해 불필요한 구분점 후보들이 제거되면 음절 분할 모듈은 음절 시작점 후보로부터 음절 종료점 후보 사이의 데이터를 최종 음절 데이터로 결정한다. 이러한 최종 음절 데이터는 하나의 최종 어절 데이터로부터 복수 개가 얻어진다. 또한 앞에서 언급한 바와 같이 복수의 최종 어절 데이터에 대하여 병렬적으로 분할 과정이 수행되므로 처리에 소요되는 시간을 단축시킬 수 있다.When unnecessary breakpoint candidates are removed by the above process, the syllable segmentation module determines the data between the syllable starting point candidates and the syllable ending point candidates as the final syllable data. A plurality of such final syllable data is obtained from one final word data. In addition, as described above, since the partitioning process is performed in parallel on the plurality of final word data, the processing time can be shortened.
도 4는 잡음이 포함된 음성 데이터를 분할하는 과정을 설명하기 위한 도면이다. 도 4의 (a)는 사용자로부터 최초로 입력된 음성 데이터의 형태로서, 잡음이 많이 포함되어 있다. 이러한 음성 데이터에 대하여 AGC 및 잡음 제거 과정이 수행되어 (b)와 같은 형태의 음성 데이터가 얻어지고, 이를 분할함으로써 (c)와 같은 형태의 데이터가 얻어지게 된다. 최종 어절 데이터 및 최종 음절 데이터가 생성되는 상세한 과정은 도 4에서는 생략하였다.4 is a diagram for describing a process of dividing speech data including noise. FIG. 4A is a form of voice data first input from a user, and includes a lot of noise. AGC and noise reduction are performed on the voice data to obtain voice data in the form of (b), and the data in the form of (c) is obtained by dividing the voice data. A detailed process of generating final word data and final syllable data is omitted in FIG. 4.
이상에서 설명한 바와 같이 음성 데이터로부터 복수의 최종 어절 데이터와 복수의 최종 음절 데이터가 각각 결정되면, 키워드 추출부(110)는 최종 어절 데이터 및 최종 음절 데이터의 정보를 기초로 음성 데이터를 키워드 추출이 가능한 데이터 길이인 복수의 키워드 인식 구간으로 분할한다.As described above, when a plurality of final word data and a plurality of final syllable data are determined from the voice data, the
이때 키워드 인식 구간으로 분할하기 위한 음성 데이터는 최초 음성 데이터에 대하여 AGC만 수행된 음성 데이터일 수 있으며, 잡음으로 인해 키워드 인식률이 저하되는 것을 보완하기 위해 노이즈 제거 과정까지 수행된 음성 데이터가 보조적인 수단으로 사용될 수 있다.In this case, the voice data to be divided into keyword recognition sections may be voice data performed only with AGC for the first voice data, and the voice data performed until the noise removal process is supplemented to compensate for the degradation of the keyword recognition rate due to noise. Can be used as
먼저 키워드 추출부(110)는 각각의 최종 어절 데이터로부터 분할된 최종 음절 데이터의 개수가 사전에 설정된 제2기준개수 이하이면 해당 최종 어절 데이터를 하나의 키워드 인식 구간으로 결정한다. 또한 각각의 최종 어절 데이터로부터 분할된 최종 음절 데이터의 개수가 제2기준개수보다 크면 최종 음절 데이터들을 스캔하면서 인접한 최종 음절 데이터들을 병합하여 하나의 키워드 인식 구간으로 결정한다.First, the
예를 들면, 최종 어절 데이터가 '올림픽공원'에 대응하는 데이터이고 키워드 인식 구간의 길이가 3음절이라면, 키워드 추출부(110)는 해당 최종 어절 데이터를 첫 번째 음절 데이터로부터 3음절씩 스캔하면서 키워드 인식 구간을 결정한다. 즉, '올림픽공원'이라는 최종 어절 데이터로부터 '올림픽', '림픽공' 및 '픽공원'이라는 세 가지의 키워드 인식 구간이 결정된다. 여기서 음절 데이터들의 스캔 단위 및 키워드 인식 구간의 길이는 본 발명에 따른 음성 인식 장치가 적용되는 시스템의 특성 및 자주 입력되는 키워드의 길이 정보를 고려하여 적절한 값으로 결정될 수 있다.For example, if the final word data is data corresponding to 'Olympic Park' and the length of the keyword recognition section is three syllables, the
또한 하나의 최종 어절 데이터에 포함된 최종 음절 데이터의 개수가 사전에 설정된 제3기준개수보다 많으면 해당 최종 어절 데이터로부터 제3기준개수와 동일한 순번으로 결정되는 키워드 인식 구간에는 다른 키워드 인식 구간에 포함되지 않은 나머지 최종 음절 데이터들을 모두 포함시킨다.Also, if the number of the final syllable data included in one final word data is greater than the preset third reference number, the keyword recognition section determined in the same order as the third reference number from the final word data is not included in the other keyword recognition section. Include all remaining final syllable data.
이상과 같이 키워드 인식 구간들이 결정되면, 키워드의 인식률을 향상시키기 위해 각각의 키워드 인식 구간의 전후에 일정 길이의 묵음구간 데이터를 추가함으로써 구간의 중간 지점으로부터 키워드가 추출될 수 있도록 한다. 묵음구간의 길이는 100~500 msec 사이의 값으로 사전에 설정될 수 있다. 또한 묵음구간으로 사용되는 데이터로는 실제 음성 데이터에 포함된 묵음구간의 데이터를 사용할 수 있다.When the keyword recognition sections are determined as described above, in order to improve the recognition rate of the keywords, the silent section data having a predetermined length is added before and after each keyword recognition section so that the keywords can be extracted from the middle point of the section. The length of the silence section may be set in advance to a value between 100 and 500 msec. In addition, as the data used as the silent section, data of the silent section included in the actual voice data may be used.
한편, 키워드 인식 구간의 시작점 및 종료점이 음절 데이터의 시작점 및 종료점이 아닌 음절 데이터의 구분점인 경우, 신호의 불연속점이 발생함에 따라 특징 벡터가 왜곡되는 문제가 발생할 수 있다.이를 해결하기 위해 음절 데이터의 구분점에 해당하는 구간에는 해닝창(hanning window)을 적용하여 신호의 불연속점을 제거할 수 있다.On the other hand, when the start point and the end point of the keyword recognition section are the break points of the syllable data rather than the start point and the end point of the syllable data, the discontinuity point of the signal may cause a problem that the feature vector is distorted. In the section corresponding to the division point of, a discontinuous point of the signal may be removed by applying a hanning window.
이상에서 설명한 과정에 의해 결정된 키워드 인식 구간의 개수가 사전에 설정된 최대 개수 이상인 경우, 키워드 추출부(110) 또는 별도로 구비된 제어 모듈(미도시)은 오류 메시지를 출력하여 사용자로부터 새로운 음성 메시지를 입력받을 수 있다.When the number of keyword recognition sections determined by the above-described process is equal to or greater than a preset maximum number, the
음성 데이터로부터 최대 개수 이상의 키워드 인식 구간이 결정되는 경우는 사용자가 자신의 의도를 명확히 나타내는 문장을 입력하지 못한 경우에 해당한다. 예를 들면, 감탄사와 같은 무의미한 문구가 문장에 많이 포함되어 있으면 키워드 인식 구간의 개수가 많아져 연산량이 많아지게 되고 음성 인식에 소요되는 처리 시간이 길어지게 된다.The case where the keyword recognition section of the maximum number or more is determined from the voice data corresponds to a case in which the user fails to input a sentence clearly indicating his or her intention. For example, if a lot of meaningless phrases such as interjection are included in a sentence, the number of keyword recognition sections is increased, resulting in a large amount of computation and a long processing time for speech recognition.
따라서 키워드 추출부(110)는 음성 데이터로부터 최대 개수 이상의 키워드 인식 구간이 결정되면 사용자에게 오류 메시지를 출력함으로써 사용자가 정확한 키워드 부분을 포함하는 간단한 문장을 입력하도록 한다.Therefore, the
다음으로 키워드 인식부(120)는 키워드 추출부(110)에 의해 결정된 각각의 키워드 인식 구간에 대응하는 음성 데이터를 키워드 데이터베이스(170)에 사전에 저장된 키워드 정보와 비교하여 키워드 인식 결과를 출력한다. 이때 키워드 인식에 사용되는 음성 데이터는 AGC만 수행된 음성 데이터이며, 인식 결과가 좋지 않은 경우를 대비하여 잡음이 제거된 음성 데이터가 보조적인 수단으로 사용될 수 있다.Next, the
키워드 인식에 사용되는 키워드 데이터베이스(170)에는 사전에 본 발명에 따른 음성 인식 장치가 적용되는 시스템의 특성 및 사용자에 의해 주로 입력되는 키워드의 종류에 따라 결정된 다양한 키워드가 저장되어 있다. 또한 키워드 인식의 성공률을 향상시키기 위해 배커스 나우어 형식(Backus-Naur Form : BNF)의 문법으로 작성된 키워드들이 키워드 데이터베이스(170)에 저장될 수 있다.The
각각의 최종 어절 데이터를 복수의 최종 음절 데이터로 분할하는 경우와 마찬가지로 각각의 키워드 인식 구간에 대한 키워드 인식 과정 역시 병렬적으로 수행될 수 있다. 키워드 인식부(120)가 복수의 음성 인식 모듈로 구성되어 복수의 키워드 인식 구간에 대한 키워드 인식을 병렬적으로 수행하는 경우, 각각의 음성 인식 모듈은 동일한 키워드 데이터베이스(170)를 참조할 수 있다. 이하에서는 하나의 키워드 인식 구간에 포함된 키워드를 인식하는 경우를 일 실시예로서 설명한다.As in the case of dividing each final word data into a plurality of final syllable data, a keyword recognition process for each keyword recognition section may be performed in parallel. When the
키워드 인식부(120)는 키워드 인식 구간에 해당하는 음성 데이터를 키워드 데이터베이스(170)에 저장된 키워드 데이터들과 비교하여 복수의 키워드 후보를 결정하고, 키워드 후보들 중에서 하나를 최종 인식 결과로 결정한다.The
구체적으로, 복수의 키워드 후보들 중에서 신뢰도가 가장 높은 키워드 후보의 신뢰도 값이 사전에 설정된 제7문턱값 이상이면 키워드 인식부(120)는 해당 키워드 후보를 최종 인식 결과로 결정한다. 또한 신뢰도가 가장 높은 키워드 후보의 신뢰도 값이 제7문턱값보다 작으면, 신뢰도 값이 사전에 설정된 제8문턱값보다 큰 키워드 후보들을 사용자에게 제시하여 최종 인식 결과를 사용자가 직접 선택할 수 있도록 한다.In detail, if the reliability value of the keyword candidate having the highest reliability among the plurality of keyword candidates is equal to or greater than a preset seventh threshold value, the
신뢰도가 가장 높은 키워드 후보의 신뢰도 값이 제8문턱값보다 작으면 잡음 성분에 의해 특징 벡터가 영향을 받은 것으로 가정하여 잡음이 제거된 음성 데이터에서 키워드 인식 구간에 대응하는 데이터를 키워드 데이터베이스(170)에 저장된 키워드 데이터와 대비하여 인식 결과를 출력한다.If the reliability value of the keyword candidate having the highest reliability is smaller than the eighth threshold, the
만약 잡음이 제거된 음성 데이터를 사용한 결과 얻어진 키워드 후보들 중 신뢰도가 가장 높은 키워드 후보의 신뢰도 값이 제8문턱값보다 작다면 키워드 인식이 실패한 것으로 결정한다.If the reliability value of the keyword candidate having the highest reliability among the keyword candidates obtained as a result of using the noise-free speech data is smaller than the eighth threshold, it is determined that keyword recognition has failed.
제7문턱값 및 제8문턱값은 실험을 통해 결정될 수 있으며, 바람직하게는, 제7문턱값은 47~60%, 그리고 제8문턱값은 40~47%로 결정될 수 있다. 또한 하나의 키워드 인식 구간에 대하여 결정될 수 있는 키워드 후보의 개수는 3 또는 4로 결정될 수 있다.The seventh and eighth threshold values may be determined through experiments. Preferably, the seventh threshold value may be determined to be 47 to 60%, and the eighth threshold value may be determined to be 40 to 47%. In addition, the number of keyword candidates that may be determined for one keyword recognition interval may be determined as 3 or 4.
도 5는 본 발명의 일 실시예로서, 사용자가 '음...코엑스 근처 브런치 맛집 찾아줘'라는 문장을 발화하여 입력된 음성 데이터의 형태를 도시한 도면이다.FIG. 5 is a diagram illustrating a form of voice data input by a user uttering a sentence, 'Um ... find a brunch restaurant near COEX'.
도 5의 음성 데이터에서 '음...' 부분은 길이가 짧으므로 어절 데이터의 분할 과정에서 제거된다. 따라서 도 5의 음성 데이터로부터 얻어지는 최종 어절 데이터는 '코엑스', '근처', '브런치', '맛집', '찾아줘'의 5개이다. 또한 각각의 최종 어절 데이터로부터 얻어지는 최종 음절 데이터의 개수는 3개 또는 2개이다.In the voice data of FIG. 5, since the “um ...” portion is short, it is removed in the process of dividing word data. Accordingly, the final word data obtained from the voice data of FIG. 5 is five of 'coex', 'nearby', 'brunch', 'restaurant', and 'find'. The number of final syllable data obtained from each final word data is three or two.
키워드 인식 구간을 결정하기 위해 설정된 제2기준개수의 값이 4이고, 하나의 최종 어절 데이터에 포함된 최종 음절 데이터의 개수가 제2기준개수 이하인 경우에 키워드 인식 구간을 결정하기 위한 최종 음절 데이터의 스캔 단위가 1음절, 그리고 키워드 인식 구간의 크기가 3음절로 설정되었다고 가정하는 경우, 도 5의 음성 데이터로부터 분할된 최종 어절 데이터는 모두 키워드 인식 구간으로 결정되기 위한 조건을 만족한다.When the value of the second reference number set to determine the keyword recognition section is 4 and the number of the final syllable data included in one final word data is less than or equal to the second reference number, the final syllable data of the final syllable data may be determined. When the scan unit is assumed to be one syllable and the size of the keyword recognition section is set to three syllables, the final word data divided from the speech data of FIG. 5 satisfies the condition for determining the keyword recognition section.
키워드 인식부(120)는 이상에서 결정된 5개의 키워드 인식 구간을 각각 키워드 데이터베이스(170)에 저장된 키워드 데이터와 대비함으로써 키워드 인식을 수행한다. 키워드 인식부(120)가 복수의 음성 인식 모듈로 구성되어 있는 경우에는 각각의 음성 인식 모듈이 키워드 인식 구간들 각각에 대하여 동시에 키워드 인식을 수행할 수 있다.The
키워드 데이터베이스(170)에 저장된 키워드 데이터 중에서 '브런치' 및 '맛집'이 포함되어 있는 경우, 도 5의 음성 데이터로부터 결정된 5개의 키워드 인식 구간 중에서 '브런치' 및 '맛집'이 키워드 데이터베이스(170)에 저장된 키워드 데이터와 일치하므로 키워드 인식 결과로서 출력된다.If 'brunch' and 'delicious' are included in the keyword data stored in the
이상에서 키워드 인식 구간의 결정 및 키워드 인식은 AGC가 수행된 음성 데이터를 사용하여 수행되며, 노이즈 제거가 수행된 음성 데이터는 보조적인 수단으로 사용된다는 점을 기초로 설명하였으나, 인식률 및 인식 속도를 향상시키기 위해 AGC가 수행된 음성 데이터와 노이즈 제거까지 수행된 음성 데이터로부터 결정된 키워드 인식 구간들을 모두 복수의 음성 인식 모듈에 입력하여 병렬적으로 처리할 수도 있다.In the above description, the determination of the keyword recognition section and the keyword recognition are performed using speech data on which AGC is performed, and the speech data on which noise removal is performed is used as an auxiliary means, but the recognition rate and recognition speed are improved. In order to achieve this, all of the keyword recognition sections determined from the speech data on which AGC has been performed and the speech data on which noise has been removed may be input to a plurality of speech recognition modules and processed in parallel.
키워드 인식부(120)에 의해 음성 데이터에서 키워드에 해당하는 부분이 결정되면, 보완 구간 결정부(130)는 키워드 인식 결과에 대응하는 키워드 인식 구간인 키워드부의 이전에 위치하는 키워드 인식 구간을 전술부로 결정하고, 키워드부의 이후에 위치하는 키워드 인식 구간을 후술부로 결정한다.When a portion corresponding to a keyword in the voice data is determined by the
기존의 음성 인식 방법에서는 사용자의 의도를 나타내는 핵심 단어인 키워드만을 인식하여 그에 따른 처리를 수행하였다. 따라서 음성 인식 결과가 사용자의 의도와는 다르게 얻어지는 경우가 발생할 수 있어 음성 인식의 정확도 개선이 요구되었다.In the conventional speech recognition method, only keywords, which are key words representing the user's intention, are recognized and processed accordingly. Therefore, the voice recognition result may be obtained differently from the user's intention, and thus the accuracy of the voice recognition is required.
본 발명에 따른 음성 인식 장치는 키워드 인식부(120)에 의해 얻어진 키워드 인식 결과를 보완하여 음성 인식의 정확도를 향상시키기 위해 보완 구간 결정부(130)를 구비하여 추가적인 음성 인식에 사용하기 위한 구간을 결정한다. 즉, 음성 데이터에서 키워드 인식 결과에 대응하는 키워드 인식 구간, 즉 키워드부 이전에 위치하는 키워드 인식 구간 및 키워드부 이후에 위치하는 키워드 인식 구간을 더 선택하여 음성 인식을 수행함으로써 사용자의 의도를 정확히 파악할 수 있도록 하였다.The speech recognition apparatus according to the present invention includes a
예를 들면, 도 5의 음성 데이터로부터 결정된 5개의 키워드 인식 구간 중에서 '브런치' 및 '맛집'에 대한 인식 결과가 키워드 인식 결과로서 출력되었으므로, '브런치' 및 '맛집'은 도 5의 음성 데이터에서 키워드부에 해당한다. 보완 구간 결정부(130)는 키워드부의 이전에 위치하는 키워드 인식 구간인 '코엑스' 및 '근처'를 전술부로 결정하고, 키워드부의 이후에 위치하는 키워드 인식 구간인 '찾아줘'를 후술부로 결정한다.For example, since the recognition result of 'brunch' and 'delicious' is output as the keyword recognition result among the five keyword recognition sections determined from the voice data of FIG. 5, 'brunch' and 'delicious' are not included in the voice data of FIG. 5. Corresponds to the keyword section. The complementary
이때 음성 데이터로부터 결정되는 전술부 및 후술부의 개수는 사전에 설정될 수 있으며, 키워드부의 앞뒤로 인접한 하나씩의 키워드 인식 구간만을 전술부 및 후술부로 각각 결정할 수도 있다. 또한 키워드부가 문장의 맨 앞 또는 맨 뒤에 위치하는 경우에는 전술부 또는 후술부가 결정되지 않을 수도 있다.In this case, the number of the tactical part and the hereinafter part determined from the voice data may be set in advance, and only the keyword recognition section adjacent to the front and back of the keyword part may be determined as the tactical part and the hereinafter. In addition, when the keyword portion is located at the beginning or the end of the sentence, the above-described portion or the later portion may not be determined.
인식 보완부(140)는 전술부 및 후술부에 대응하는 음성 데이터를 전술부 데이터베이스(180) 및 후술부 데이터베이스(190)에 사전에 저장된 전술부 데이터 및 후술부 데이터와 각각 대비하여 추가 인식 결과를 출력한다. 만약 음성 데이터에서 전술부 또는 후술부 중의 하나만 결정된 경우에는 해당 전술부 또는 후술부에 대한 음성 인식만 인식 보완부(140)에 의해 수행된다.The
전술부 데이터베이스(180) 및 후술부 데이터베이스(190)는 키워드 데이터베이스(170)와 별도로 구비되며, 데이터베이스의 구축 방법은 키워드 데이터베이스(170)와 동일하다. 즉, 문장의 앞부분에서 자주 사용될 수 있는 단어들은 전술부 데이터베이스(180)에 저장되며, 문장의 뒷부분에서 자주 사용될 수 있는 단어들은 후술부 데이터베이스(190)에 저장된다.The
이와 같이 전술부 데이터베이스(180)와 후술부 데이터베이스(190)를 분리함으로써 키워드 인식에 추가로 수행되는 음성 인식을 위한 시간을 단축시킬 수 있으므로, 음성 인식에 전술부와 후술부를 추가로 사용함에 따라 정확도가 향상되는 효과를 얻으면서도 음성 인식 시간이 지나치게 증가하는 것은 방지할 수 있다.Thus, by separating the
인식 보완부(140)에 의한 전술부 인식 과정 및 후술부 인식 과정은 복수의 음성 인식 모듈에 의해 각각 병렬적으로 수행될 수 있다. 이때 전술부 인식 및 후술부 인식을 수행하는 음성 인식 모듈은 키워드 인식부(120)를 구성하는 복수의 음성 인식 모듈과 동일한 것일 수 있다. 즉, 본 발명에 따른 음성 인식 장치는 복수의 음성 인식 모듈을 구비하여 키워드 인식부(120) 또는 인식 보완부(140)의 기능을 적응적으로 수행하도록 할 수 있다.The tactical part recognition process and the later part recognition process by the
따라서 각각의 음성 인식 모듈은 인식 대상인 키워드 인식 구간의 성격에 따라 적절한 데이터베이스를 선택하여 음성 인식을 수행하게 되며, 전술부 인식을 수행하는 경우에는 전술부 데이터베이스(180)를 참조하고, 후술부 인식을 수행하는 경우에는 후술부 데이터베이스(190)를 참고한다. 구체적인 전술부 인식 및 후술부 인식 과정은 키워드 인식부(120)에 의한 키워드 인식 방법과 동일하므로 상세한 설명은 생략한다.Accordingly, each voice recognition module selects an appropriate database according to the characteristics of the keyword recognition section, which is a recognition target, to perform voice recognition. In case of performing tactical recognition, refer to the
한편, 인식 보완부(140)로서 동작하는 복수의 음성 인식 모듈 중에서 전술부 인식 과정을 수행하는 전술부 인식 모듈은 전술부 데이터베이스(180)에 전술부와 일치하는 전술부 데이터가 존재하지 않으면 보조적인 수단으로서 후술부 데이터베이스(190)로부터 전술부에 대응하는 데이터를 검색할 수 있다. 마찬가지로 후술부 인식 과정을 수행하는 후술부 인식모듈 역시 후술부 데이터베이스(190)에 후술부와 일치하는 후술부 데이터가 존재하지 않으면 전술부 데이터베이스(180)로부터 후술부에 대응하는 데이터를 검색할 수 있다.Meanwhile, the tactical part recognition module that performs the tactical part recognition process among the plurality of speech recognition modules operating as the
이와 같은 음성 인식 모듈의 동작은 모든 사용자가 입력하는 문장의 구조가 항상 일정한 것이 아니므로 일반적으로 문장의 앞부분에 사용되는 문구가 뒷부분에 포함될 수도 있고, 그 반대의 경우도 나타날 수 있기 때문이다. 예를 들면, 도 5의 음성 데이터에서 전술부인 '코엑스', '근처' 중에서 '근처'에 대응하는 전술부 데이터가 전술부 데이터베이스(180)로부터 검색되지 않은 경우, 인식 보완부(140)는 후술부 데이터베이스(190)로부터 '근처'에 대응하는 후술부 데이터를 검색할 수 있다.The operation of the speech recognition module is because the structure of the sentences input by all users is not always constant, and the phrase used in the front of the sentence may generally be included in the back and vice versa. For example, in the voice data of FIG. 5, when the tactical part data corresponding to 'near' among 'coex' and 'near' of the tactical part is not retrieved from the
이상과 같은 과정에 의해서도 전술부 데이터베이스(180) 및 후술부 데이터베이스(190) 모두에서 검색 결과가 얻어지지 않으면 해당 전술부 또는 후술부에 대한 추가 인식 결과는 출력되지 않는다.Even if the search results are not obtained in both the
음성 인식부(150)는 키워드 인식 결과 및 추가 인식 결과를 기초로 상기 사용자의 의도를 나타내는 최종 음성 인식 결과를 출력한다.The
예를 들면, 도 5의 음성 데이터에서 키워드부인 '브런치', 전술부인 '코엑스' 및 후술부인 '찾아줘'에 대한 인식 결과만 얻어진 경우, 음성 인식부(150)는 '브런치'에 대한 키워드 인식 결과와 '코엑스' 및 '찾아줘'에 대한 추가 인식 결과를 조합하여 사용자가 입력한 음성 데이터의 최종 음성 인식 결과로서 '코엑스 브런치 찾아줘'와 같은 결과를 출력하게 된다.For example, when only the recognition result of 'Brunch', which is a keyword part, 'COEX', and 'Find', which is described later, is obtained from the voice data of FIG. 5, the
본 발명에 따른 음성 인식 장치는 이와 같이 사용자가 입력한 음성 데이터에 대한 최종 음성 인식 결과를 출력하는 것에서 나아가 인식 결과로부터 사용자의 의도를 파악하여 그에 대응하는 동작을 수행할 수 있다.The speech recognition apparatus according to the present invention may not only output the final speech recognition result for the voice data input by the user, but may also grasp the user's intention from the recognition result and perform an operation corresponding thereto.
음성 처리부(160)는 최종 음성 인식 결과에 포함된 키워드 인식 결과 및 추가 인식 결과에 대응하여 사전에 저장된 동작을 수행한다.The
예를 들면, 도 5의 음성 데이터에 대하여 음성 인식부(150)로부터 출력된 최종 음성 인식 결과가 '코엑스 브런치 찾아줘'이므로, 음성 처리부(160)는 사용자의 명령에 따른 동작이 사전에 저장된 시나리오 데이터베이스(200)를 사용하여 최종 음성 인식 결과에 대응하는 동작을 검색한다. 검색 결과 시나리오 데이터베이스(200)로부터 최종 음성 인식 결과에 대응하는 동작이 '코엑스 근처 브런치 레스토랑 리스트의 출력'으로 검색되면, 음성 처리부(160)는 저장된 레스토랑 리스트 중에서 코엑스 근처에 위치하는 브런치 전문 레스토랑의 리스트를 사용자에게 출력한다.For example, since the final voice recognition result output from the
이때 사용자의 의도에 따른 동작을 신속하게 수행하기 위하여 시나리오 데이터베이스(200)에는 최종 음성 인식 결과 중에서 키워드 인식 결과, 전술부 인식 결과 및 후술부 인식 결과에 대응하는 동작들이 각각 별개로 저장되어 있을 수 있다. 따라서 음성 처리부(160)는 최종 음성 인식 결과가 얻어지면 그 중에서 키워드 인식 결과에 대응하는 시나리오와 전술부 및 후술부 인식 결과에 대응하는 시나리오를 각각 검색하여 얻어진 시나리오대로 동작할 수 있다.In this case, in order to quickly perform an operation according to a user's intention, the
도 6은 본 발명에 따른 키워드 인식에 의한 음성 인식 방법에 대한 바람직한 실시예의 수행과정을 도시한 흐름도이다.6 is a flowchart illustrating a process of performing a preferred embodiment of a speech recognition method using keyword recognition according to the present invention.
도 6을 참조하면, 키워드 추출부(110)는 사용자로부터 입력받은 음성 데이터로부터 키워드를 추출하기 위한 최소 길이의 데이터인 복수의 키워드 인식 구간을 결정하고,(S1010), 키워드 인식부(120)는 각각의 키워드 인식 구간에 대응하는 음성 데이터를 데이터베이스, 즉 키워드 데이터베이스(170)에 사전에 저장된 키워드 데이터와 대비하여 키워드 인식 결과를 출력한다(S1020).Referring to FIG. 6, the
키워드 인식 구간을 결정하기 이전에 음성 데이터에 대한 전처리 과정으로서 음성 데이터의 자동 이득 조절 및 노이즈 제거 과정이 수행될 수 있으며, 음성 데이터를 복수의 어절 데이터 및 음절 데이터로 분할하는 과정이 수행될 수 있다. 이를 위한 구체적인 처리 과정은 앞에서 설명한 바 있으므로 상세한 설명을 생략한다.Before the keyword recognition section is determined, automatic gain adjustment and noise removal of the speech data may be performed as a preprocessing process for the speech data, and the speech data may be divided into a plurality of word data and syllable data. . Since the specific processing for this has been described above, a detailed description thereof will be omitted.
보완 구간 결정부(130)는 키워드 인식 결과에 대응하는 키워드 인식 구간인 키워드부의 이전에 위치하는 키워드 인식 구간을 전술부로 결정하고, 키워드부의 이후에 위치하는 키워드 인식 구간을 후술부로 결정한다(S1030). 이후 인식 보완부(140)는 전술부 및 후술부에 대응하는 음성 데이터를 전술부 데이터베이스(180) 및 후술부 데이터베이스(190)에 각각 사전에 저장된 전술부 데이터 및 후술부 데이터와 각각 대비하여 추가 인식 결과를 출력한다(S1040).The complementary
음성 인식부(150)는 키워드 인식 결과 및 추가 인식 결과를 조합하여 사용자의 의도를 나타내는 최종 음성 인식 결과를 출력한다(S1050).The
마지막으로 음성 처리부(160)는 최종 음성 인식 결과에 포함된 키워드 인식 결과 및 추가 인식 결과에 대응하여 시나리오 데이터베이스(200)에 사전에 저장된 동작을 수행한다(S1060).Finally, the
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can also be embodied as computer-readable codes on a computer-readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and may be implemented in the form of a carrier wave (for example, transmission via the Internet) . The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.Although the preferred embodiments of the present invention have been shown and described above, the present invention is not limited to the specific preferred embodiments described above, and the present invention belongs to the present invention without departing from the gist of the present invention as claimed in the claims. Various modifications can be made by those skilled in the art, and such changes are within the scope of the claims.
110 - 키워드 추출부
120 - 키워드 인식부
130 - 보완 구간 결정부
140 - 인식 보완부
150 - 음성 인식부
160 - 음성 처리부
170 - 키워드 데이터베이스
180 - 전술부 데이터베이스
190 - 후술부 데이터베이스
200 - 시나리오 데이터베이스110-Keyword Extractor
120-Keyword Recognition
130-complementary interval determination unit
140-Awareness Complement
150-Speech Recognition
160-voice processing unit
170-Keyword database
180-Tactical Database
190-Database below
200-scenario database
Claims (15)
상기 각각의 키워드 인식 구간에 대응하는 상기 음성 데이터를 데이터베이스에 사전에 저장된 키워드 데이터와 대비하여 키워드 인식 결과를 출력하는 키워드 인식부;
상기 키워드 인식 결과에 대응하는 키워드 인식 구간인 키워드부의 이전에 위치하는 키워드 인식 구간을 전술부로 결정하고, 상기 키워드부의 이후에 위치하는 키워드 인식 구간을 후술부로 결정하는 보완 구간 결정부;
상기 전술부 및 상기 후술부에 대응하는 상기 음성 데이터를 상기 데이터베이스에 사전에 저장된 전술부 데이터 및 후술부 데이터와 각각 대비하여 추가 인식 결과를 출력하는 인식 보완부; 및
상기 키워드 인식 결과 및 상기 추가 인식 결과를 조합하여 상기 사용자의 의도를 나타내는 최종 음성 인식 결과를 출력하는 음성 인식부;를 포함하는 것을 특징으로 하는 음성 인식 장치.A keyword extraction unit that determines a plurality of keyword recognition sections that are data of minimum length for extracting keywords from voice data received from a user;
A keyword recognition unit for outputting a keyword recognition result by comparing the voice data corresponding to each keyword recognition section with keyword data previously stored in a database;
A complementary section determination unit determining a keyword recognition section located before the keyword section, which is a keyword recognition section corresponding to the keyword recognition result, and a keyword recognition section located after the keyword section, as described later;
A recognition complementary unit configured to output additional recognition results by comparing the voice data corresponding to the tactic unit and the following unit with the tactic unit data and the following unit data previously stored in the database; And
And a speech recognition unit configured to combine the keyword recognition result and the additional recognition result to output a final speech recognition result indicating the user's intention.
상기 최종 음성 인식 결과에 포함된 상기 키워드 인식 결과 및 상기 추가 인식 결과에 대응하여 사전에 저장된 동작을 수행하는 음성 처리부를 더 포함하는 것을 특징으로 하는 음성 인식 장치.The method of claim 1,
And a speech processor configured to perform a pre-stored operation in response to the keyword recognition result and the additional recognition result included in the final speech recognition result.
상기 키워드 추출부는 상기 음성 데이터를 문장의 띄어쓰기 단위에 대응하는 복수의 어절 데이터로 분할한 결과 및 상기 각각의 어절 데이터를 단어의 최소 단위에 대응하는 복수의 음절 데이터로 분할한 결과를 기초로 상기 복수의 키워드 인식 구간을 결정하는 것을 특징으로 하는 음성 인식 장치.3. The method according to claim 1 or 2,
The keyword extractor is configured to divide the speech data into a plurality of word data corresponding to a spacing unit of a sentence and to divide the word data into a plurality of syllable data corresponding to a minimum unit of a word. And a keyword recognition section.
상기 키워드 추출부는 상기 음성 데이터로부터 결정된 상기 키워드 인식 구간의 개수가 사전에 설정된 최대 개수 이상이면 상기 사용자에게 오류 메시지를 출력하여 상기 사용자로부터 새로운 음성 데이터를 입력받는 것을 특징으로 하는 음성 인식 장치.3. The method according to claim 1 or 2,
And the keyword extracting unit outputs an error message to the user and receives new voice data from the user when the number of the keyword recognition sections determined from the voice data is greater than or equal to a preset maximum number.
상기 키워드 인식부는 상기 각각의 키워드 인식 구간에 대응하는 상기 음성 데이터를 상기 키워드 데이터와 대비하여 복수의 키워드 후보를 결정하고, 신뢰도가 가장 높은 키워드 후보를 상기 키워드 인식 결과로 결정하는 것을 특징으로 하는 음성 인식 장치.3. The method according to claim 1 or 2,
The keyword recognizer determines a plurality of keyword candidates by comparing the voice data corresponding to each keyword recognition section with the keyword data, and determines a keyword candidate having the highest reliability as the keyword recognition result. Recognition device.
상기 인식 보완부는 상기 전술부에 대응하는 상기 음성 데이터에 대한 추가 인식 결과가 상기 전술부 데이터베이스로부터 검색되지 않으면 상기 전술부에 대응하는 상기 음성 데이터와 상기 후술부 데이터를 대비하여 상기 추가 인식 결과를 출력하고, 상기 후술부에 대응하는 상기 음성 데이터에 대한 추가 인식 결과가 상기 후술부 데이터베이스로부터 검색되지 않으면 상기 후술부에 대응하는 상기 음성 데이터와 상기 전술부 데이터를 대비하여 상기 추가 인식 결과를 출력하는 것을 특징으로 하는 음성 인식 장치.3. The method according to claim 1 or 2,
The recognition compensator outputs the additional recognition result in comparison with the voice data corresponding to the tactic part and the later data if the additional recognition result for the voice data corresponding to the tactic part is not retrieved from the tactic part database. And outputting the additional recognition result in contrast to the voice data corresponding to the later-described part and the tactical-part data if the additional recognition result of the voice data corresponding to the later-described part is not retrieved from the later-described part database. Speech recognition device characterized in that.
상기 인식 보완부는 상기 전술부 및 상기 후술부에 각각 대응하는 복수의 음성 인식 모듈에 의하여 상기 전술부 및 상기 후술부에 대한 음성 인식을 병렬적으로 수행하는 것을 특징으로 하는 음성 인식 장치.3. The method according to claim 1 or 2,
And the recognition complementary unit performs speech recognition on the tactic unit and the following unit in parallel by a plurality of voice recognition modules corresponding to the tactic unit and the following unit, respectively.
(b) 상기 각각의 키워드 인식 구간에 대응하는 상기 음성 데이터를 데이터베이스에 사전에 저장된 키워드 데이터와 대비하여 키워드 인식 결과를 출력하는 단계;
(c) 상기 키워드 인식 결과에 대응하는 키워드 인식 구간인 키워드부의 이전에 위치하는 키워드 인식 구간을 전술부로 결정하고, 상기 키워드부의 이후에 위치하는 키워드 인식 구간을 후술부로 결정하는 단계;
(d) 상기 전술부 및 상기 후술부에 대응하는 상기 음성 데이터를 상기 데이터베이스에 사전에 저장된 전술부 데이터 및 후술부 데이터와 각각 대비하여 추가 인식 결과를 출력하는 단계; 및
(e) 상기 키워드 인식 결과 및 상기 추가 인식 결과를 조합하여 상기 사용자의 의도를 나타내는 최종 음성 인식 결과를 출력하는 단계;를 포함하는 것을 특징으로 하는 음성 인식 방법.(a) determining a plurality of keyword recognition sections, the minimum length of data for extracting keywords from voice data input from a user;
(b) outputting a keyword recognition result by comparing the voice data corresponding to each keyword recognition section with keyword data previously stored in a database;
(c) determining, by the tactic unit, a keyword recognition section located before the keyword section, which is a keyword recognition section corresponding to the keyword recognition result, and determining a keyword recognition section located after the keyword section, as described later;
(d) outputting additional recognition results by comparing the voice data corresponding to the tactic unit and the below-described unit with the tactic unit data and the below-described section data previously stored in the database; And
and (e) combining the keyword recognition result and the additional recognition result and outputting a final speech recognition result indicating the user's intention.
(f) 상기 최종 음성 인식 결과에 포함된 상기 키워드 인식 결과 및 상기 추가 인식 결과에 대응하여 사전에 저장된 동작을 수행하는 단계를 더 포함하는 것을 특징으로 하는 음성 인식 방법.The method of claim 8,
and performing a pre-stored operation in response to the keyword recognition result and the additional recognition result included in the final speech recognition result.
상기 (a) 단계에서, 상기 음성 데이터를 문장의 띄어쓰기 단위에 대응하는 복수의 어절 데이터로 분할한 결과 및 상기 각각의 어절 데이터를 단어의 최소 단위에 대응하는 복수의 음절 데이터로 분할한 결과를 기초로 상기 복수의 키워드 인식 구간을 결정하는 것을 특징으로 하는 음성 인식 방법.The method according to claim 8 or 9,
In the step (a), based on a result of dividing the speech data into a plurality of word data corresponding to the spacing unit of the sentence and a result of dividing each word data into a plurality of syllable data corresponding to the minimum unit of a word And a plurality of keyword recognition sections.
상기 (a) 단계에서, 상기 음성 데이터로부터 결정된 상기 키워드 인식 구간의 개수가 사전에 설정된 최대 개수 이상이면 상기 사용자에게 오류 메시지를 출력하여 상기 사용자로부터 새로운 음성 데이터를 입력받는 것을 특징으로 하는 음성 인식 방법.The method according to claim 8 or 9,
In the step (a), if the number of the keyword recognition interval determined from the voice data is greater than or equal to a preset maximum number of voice recognition method characterized in that for outputting an error message to the user to receive new voice data from the user .
상기 (b) 단계에서, 상기 각각의 키워드 인식 구간에 대응하는 상기 음성 데이터를 상기 키워드 데이터와 대비하여 복수의 키워드 후보를 결정하고, 신뢰도가 가장 높은 키워드 후보를 상기 키워드 인식 결과로 결정하는 것을 특징으로 하는 음성 인식 방법.The method according to claim 8 or 9,
In the step (b), a plurality of keyword candidates are determined by comparing the voice data corresponding to each keyword recognition section with the keyword data, and a keyword candidate having the highest reliability is determined as the keyword recognition result. Voice recognition method.
상기 (d) 단계에서, 상기 전술부에 대응하는 상기 음성 데이터에 대한 추가 인식 결과가 상기 전술부 데이터베이스로부터 검색되지 않으면 상기 전술부에 대응하는 상기 음성 데이터와 상기 후술부 데이터를 대비하여 상기 추가 인식 결과를 출력하고, 상기 후술부에 대응하는 상기 음성 데이터에 대한 추가 인식 결과가 상기 후술부 데이터베이스로부터 검색되지 않으면 상기 후술부에 대응하는 상기 음성 데이터와 상기 전술부 데이터를 대비하여 상기 추가 인식 결과를 출력하는 것을 특징으로 하는 음성 인식 방법.The method according to claim 8 or 9,
In the step (d), if the additional recognition result for the voice data corresponding to the tactic part is not retrieved from the tactic part database, the additional recognition is performed in comparison with the voice data corresponding to the tactic part and the data to be described later. Outputs a result, and if the additional recognition result of the voice data corresponding to the below-mentioned part is not retrieved from the below-described part database, the additional recognition result is compared with the voice data corresponding to the below-mentioned part and the tactical part data. Outputting the voice recognition method.
상기 (d) 단계에서, 상기 전술부 및 상기 후술부에 각각 대응하는 복수의 음성 인식 모듈에 의하여 상기 전술부 및 상기 후술부에 대한 음성 인식을 병렬적으로 수행하는 것을 특징으로 하는 음성 인식 방법.The method according to claim 8 or 9,
In the step (d), the voice recognition method for performing the voice recognition for the tactical section and the hereinafter described section in parallel by a plurality of speech recognition modules respectively corresponding to the tactical section and the hereinafter described section.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110075990A KR101122591B1 (en) | 2011-07-29 | 2011-07-29 | Apparatus and method for speech recognition by keyword recognition |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110075990A KR101122591B1 (en) | 2011-07-29 | 2011-07-29 | Apparatus and method for speech recognition by keyword recognition |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101122591B1 true KR101122591B1 (en) | 2012-03-16 |
Family
ID=46141750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110075990A KR101122591B1 (en) | 2011-07-29 | 2011-07-29 | Apparatus and method for speech recognition by keyword recognition |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101122591B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101242182B1 (en) * | 2012-11-21 | 2013-03-12 | (주)지앤넷 | Apparatus for voice recognition and method for the same |
KR20180130889A (en) * | 2017-05-30 | 2018-12-10 | 엘지전자 주식회사 | Method for operating voice recognition server system |
US20200243088A1 (en) * | 2019-01-28 | 2020-07-30 | Toyota Jidosha Kabushiki Kaisha | Interaction system, interaction method, and program |
US11508369B2 (en) | 2019-10-10 | 2022-11-22 | Samsung Electronics Co., Ltd. | Method and apparatus with speech processing |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001041125A1 (en) | 1999-12-02 | 2001-06-07 | Thomson Licensing S.A | Speech recognition with a complementary language model for typical mistakes in spoken dialogue |
US20080101556A1 (en) | 2006-10-31 | 2008-05-01 | Samsung Electronics Co., Ltd. | Apparatus and method for reporting speech recognition failures |
KR100848148B1 (en) | 2007-02-20 | 2008-07-28 | 고려대학교 산학협력단 | Apparatus and method for syllabled speech recognition and inputting characters using syllabled speech recognition and recording medium thereof |
KR20090004216A (en) * | 2007-07-06 | 2009-01-12 | 주식회사 예스피치 | System and method for classifying named entities from speech recongnition |
-
2011
- 2011-07-29 KR KR1020110075990A patent/KR101122591B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001041125A1 (en) | 1999-12-02 | 2001-06-07 | Thomson Licensing S.A | Speech recognition with a complementary language model for typical mistakes in spoken dialogue |
US20080101556A1 (en) | 2006-10-31 | 2008-05-01 | Samsung Electronics Co., Ltd. | Apparatus and method for reporting speech recognition failures |
KR100848148B1 (en) | 2007-02-20 | 2008-07-28 | 고려대학교 산학협력단 | Apparatus and method for syllabled speech recognition and inputting characters using syllabled speech recognition and recording medium thereof |
KR20090004216A (en) * | 2007-07-06 | 2009-01-12 | 주식회사 예스피치 | System and method for classifying named entities from speech recongnition |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101242182B1 (en) * | 2012-11-21 | 2013-03-12 | (주)지앤넷 | Apparatus for voice recognition and method for the same |
KR20180130889A (en) * | 2017-05-30 | 2018-12-10 | 엘지전자 주식회사 | Method for operating voice recognition server system |
KR101976427B1 (en) * | 2017-05-30 | 2019-05-09 | 엘지전자 주식회사 | Method for operating voice recognition server system |
US20200243088A1 (en) * | 2019-01-28 | 2020-07-30 | Toyota Jidosha Kabushiki Kaisha | Interaction system, interaction method, and program |
US11508369B2 (en) | 2019-10-10 | 2022-11-22 | Samsung Electronics Co., Ltd. | Method and apparatus with speech processing |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2849177B1 (en) | System and method of text zoning | |
US8532991B2 (en) | Speech models generated using competitive training, asymmetric training, and data boosting | |
EP1936606B1 (en) | Multi-stage speech recognition | |
US10923111B1 (en) | Speech detection and speech recognition | |
US20030216912A1 (en) | Speech recognition method and speech recognition apparatus | |
CN109410914B (en) | Method for identifying Jiangxi dialect speech and dialect point | |
JP6284462B2 (en) | Speech recognition method and speech recognition apparatus | |
US20130289987A1 (en) | Negative Example (Anti-Word) Based Performance Improvement For Speech Recognition | |
CN106847259B (en) | Method for screening and optimizing audio keyword template | |
US20070038453A1 (en) | Speech recognition system | |
CN111951796A (en) | Voice recognition method and device, electronic equipment and storage medium | |
KR101122591B1 (en) | Apparatus and method for speech recognition by keyword recognition | |
JP5183120B2 (en) | Speech recognition in statistical languages using square root counting. | |
Këpuska | Wake-up-word speech recognition | |
KR101122590B1 (en) | Apparatus and method for speech recognition by dividing speech data | |
CN107123419A (en) | The optimization method of background noise reduction in the identification of Sphinx word speeds | |
KR20130126570A (en) | Apparatus for discriminative training acoustic model considering error of phonemes in keyword and computer recordable medium storing the method thereof | |
WO2022079937A1 (en) | Long-context end-to-end speech recognition system | |
Savchenko et al. | Optimization of gain in symmetrized itakura-saito discrimination for pronunciation learning | |
Maison | Automatic baseform generation from acoustic data | |
JP2012053218A (en) | Sound processing apparatus and sound processing program | |
Chu et al. | Recent advances in the IBM GALE mandarin transcription system | |
JP2021009253A (en) | Program, information processing device, and information processing method | |
Li et al. | Automatic segmentation of Chinese Mandarin speech into syllable-like | |
Breslin et al. | Continuous asr for flexible incremental dialogue |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20150224 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160223 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170825 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20190226 Year of fee payment: 8 |