KR101122591B1 - Apparatus and method for speech recognition by keyword recognition - Google Patents

Apparatus and method for speech recognition by keyword recognition Download PDF

Info

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
Application number
KR1020110075990A
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 KR1020110075990A priority Critical patent/KR101122591B1/en
Application granted granted Critical
Publication of KR101122591B1 publication Critical patent/KR101122591B1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/225Feedback of the input speech

Abstract

PURPOSE: A voice recognition apparatus and a method thereof are provided to analyze each section by detecting a keyword part, above-mentioned, and a later-mentioned part from voice data. CONSTITUTION: A keyword extraction unit(110) determines keyword recognition parts from voice data. A keyword recognition unit(120) outputs a keyword recognition result. A compensation section decision unit(130) determines an above-mentioned part and a later-mentioned part from the keyword recognition part. A recognition compensation unit(140) outputs an addition recognition result by comparison between stored data on the above-mentioned part and data on the later-mentioned part. A voice recognition unit(150) outputs the voice recognition result.

Description

핵심어 인식에 의한 음성 인식 장치 및 방법{Apparatus and method for speech recognition by keyword recognition}Apparatus and method for speech recognition by keyword recognition

본 발명은 핵심어 인식에 의한 음성 인식 장치 및 방법에 관한 것으로, 보다 상세하게는, 입력받은 음성 데이터로부터 추출한 핵심어를 분석하여 화자의 의도를 파악하는 장치 및 방법에 관한 것이다.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 keyword extractor 110, the keyword recognizer 120, the supplementary section determiner 130, the recognition complementer 140, and the speech recognizer 150 are provided. And a voice processing unit 160.

본 발명에 따른 음성 인식 장치는 앞에서 설명한 자동 응답 서비스에 적용되어 사용자가 입력한 음성에 따라 그에 대응하는 처리를 수행하는 데 사용될 수도 있으나, 이에 한정하지 않고 음성 인식 기술을 필요로 하는 모든 분야에 적용 가능하다.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 keyword extracting unit 110 determines a plurality of keyword recognition sections that are data of minimum length for extracting keywords from the voice data input from the user.

이때 키워드 인식 구간은 음성 데이터를 문장의 띄어쓰기 단위에 대응하는 복수의 어절 데이터로 분할한 결과 및 각각의 어절 데이터를 단어의 최소 단위에 대응하는 복수의 음절 데이터로 분할한 결과를 기초로 결정될 수 있다. 어절 데이터 및 음절 데이터의 분할 방법에 대하여는 뒤에서 상세히 설명한다.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 Equation 1 below, the start point of the n + 1th frame may be determined as a word end point candidate.

Figure 112011058985966-pat00001
Figure 112011058985966-pat00001

여기서, 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 keyword extractor 110 may extract the voice data based on the information of the last word data and the final syllable data. It is divided into a plurality of keyword recognition sections, which are data lengths.

이때 키워드 인식 구간으로 분할하기 위한 음성 데이터는 최초 음성 데이터에 대하여 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 keyword extractor 110 determines that the final word data as one keyword recognition section when the number of the final syllable data divided from each last word data is equal to or less than a second preset reference number. In addition, when the number of the final syllable data divided from each last word data is larger than the second reference number, the adjacent syllable data is merged while the final syllable data is scanned to determine one keyword recognition section.

예를 들면, 최종 어절 데이터가 '올림픽공원'에 대응하는 데이터이고 키워드 인식 구간의 길이가 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 keyword extractor 110 scans the final word data from the first syllable data by three syllables. Determine the recognition section. In other words, three keyword recognition sections of 'Olympic', 'Lympic Ball' and 'Pick Park' are determined from the final word data of 'Olympic Park'. Here, the scan unit of the syllable data and the length of the keyword recognition section may be determined as an appropriate value in consideration of characteristics of a system to which the speech recognition apparatus according to the present invention is applied and length information of frequently input keywords.

또한 하나의 최종 어절 데이터에 포함된 최종 음절 데이터의 개수가 사전에 설정된 제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 keyword extractor 110 or a separately provided control module (not shown) outputs an error message and inputs a new voice message from the user. I can receive it.

음성 데이터로부터 최대 개수 이상의 키워드 인식 구간이 결정되는 경우는 사용자가 자신의 의도를 명확히 나타내는 문장을 입력하지 못한 경우에 해당한다. 예를 들면, 감탄사와 같은 무의미한 문구가 문장에 많이 포함되어 있으면 키워드 인식 구간의 개수가 많아져 연산량이 많아지게 되고 음성 인식에 소요되는 처리 시간이 길어지게 된다.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 keyword extractor 110 outputs an error message to the user when the keyword recognition interval of the maximum number or more is determined from the voice data so that the user inputs a simple sentence including the correct keyword portion.

다음으로 키워드 인식부(120)는 키워드 추출부(110)에 의해 결정된 각각의 키워드 인식 구간에 대응하는 음성 데이터를 키워드 데이터베이스(170)에 사전에 저장된 키워드 정보와 비교하여 키워드 인식 결과를 출력한다. 이때 키워드 인식에 사용되는 음성 데이터는 AGC만 수행된 음성 데이터이며, 인식 결과가 좋지 않은 경우를 대비하여 잡음이 제거된 음성 데이터가 보조적인 수단으로 사용될 수 있다.Next, the keyword recognition unit 120 compares the voice data corresponding to each keyword recognition section determined by the keyword extraction unit 110 with keyword information previously stored in the keyword database 170 and outputs a keyword recognition result. In this case, the voice data used for keyword recognition is voice data performed only by AGC, and the voice data from which the noise is removed may be used as an auxiliary means in case the recognition result is not good.

키워드 인식에 사용되는 키워드 데이터베이스(170)에는 사전에 본 발명에 따른 음성 인식 장치가 적용되는 시스템의 특성 및 사용자에 의해 주로 입력되는 키워드의 종류에 따라 결정된 다양한 키워드가 저장되어 있다. 또한 키워드 인식의 성공률을 향상시키기 위해 배커스 나우어 형식(Backus-Naur Form : BNF)의 문법으로 작성된 키워드들이 키워드 데이터베이스(170)에 저장될 수 있다.The keyword database 170 used for keyword recognition stores various keywords determined according to characteristics of a system to which the speech recognition apparatus according to the present invention is applied and types of keywords mainly input by a user. In addition, in order to improve the success rate of keyword recognition, keywords written in a grammar of a Backus-Naur Form (BNF) may be stored in the keyword database 170.

각각의 최종 어절 데이터를 복수의 최종 음절 데이터로 분할하는 경우와 마찬가지로 각각의 키워드 인식 구간에 대한 키워드 인식 과정 역시 병렬적으로 수행될 수 있다. 키워드 인식부(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 keyword recognition unit 120 is configured with a plurality of speech recognition modules to perform keyword recognition for a plurality of keyword recognition sections in parallel, each speech recognition module may refer to the same keyword database 170. Hereinafter, a case of recognizing a keyword included in one keyword recognition section will be described.

키워드 인식부(120)는 키워드 인식 구간에 해당하는 음성 데이터를 키워드 데이터베이스(170)에 저장된 키워드 데이터들과 비교하여 복수의 키워드 후보를 결정하고, 키워드 후보들 중에서 하나를 최종 인식 결과로 결정한다.The keyword recognition unit 120 compares the voice data corresponding to the keyword recognition section with the keyword data stored in the keyword database 170 to determine a plurality of keyword candidates, and determines one of the keyword candidates as the final recognition result.

구체적으로, 복수의 키워드 후보들 중에서 신뢰도가 가장 높은 키워드 후보의 신뢰도 값이 사전에 설정된 제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 keyword recognition unit 120 determines the keyword candidate as the final recognition result. In addition, if the confidence value of the keyword candidate having the highest reliability is smaller than the seventh threshold value, the keyword candidates having the confidence value greater than the eighth threshold value set in advance are presented to the user so that the user can directly select the final recognition result.

신뢰도가 가장 높은 키워드 후보의 신뢰도 값이 제8문턱값보다 작으면 잡음 성분에 의해 특징 벡터가 영향을 받은 것으로 가정하여 잡음이 제거된 음성 데이터에서 키워드 인식 구간에 대응하는 데이터를 키워드 데이터베이스(170)에 저장된 키워드 데이터와 대비하여 인식 결과를 출력한다.If the reliability value of the keyword candidate having the highest reliability is smaller than the eighth threshold, the keyword database 170 is configured to display data corresponding to the keyword recognition interval in the speech data from which the noise is removed, assuming that the feature vector is affected by the noise component. The recognition result is output against the keyword data stored in 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 keyword recognition unit 120 performs keyword recognition by comparing the five keyword recognition sections determined above with keyword data stored in the keyword database 170, respectively. When the keyword recognition unit 120 includes a plurality of speech recognition modules, each of the speech recognition modules may simultaneously perform keyword recognition for each of the keyword recognition sections.

키워드 데이터베이스(170)에 저장된 키워드 데이터 중에서 '브런치' 및 '맛집'이 포함되어 있는 경우, 도 5의 음성 데이터로부터 결정된 5개의 키워드 인식 구간 중에서 '브런치' 및 '맛집'이 키워드 데이터베이스(170)에 저장된 키워드 데이터와 일치하므로 키워드 인식 결과로서 출력된다.If 'brunch' and 'delicious' are included in the keyword data stored in the keyword database 170, 'brunch' and 'delicious' are selected from the keyword database 170 among the five keyword recognition sections determined from the voice data of FIG. Since it matches the stored keyword data, it is output as a keyword recognition result.

이상에서 키워드 인식 구간의 결정 및 키워드 인식은 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 keyword recognizer 120, the supplemental section determiner 130 uses the keyword recognition section previously located in the keyword section, which is a keyword recognition section corresponding to the keyword recognition result, as the tactic unit. The keyword recognition section positioned after the keyword section is determined later.

기존의 음성 인식 방법에서는 사용자의 의도를 나타내는 핵심 단어인 키워드만을 인식하여 그에 따른 처리를 수행하였다. 따라서 음성 인식 결과가 사용자의 의도와는 다르게 얻어지는 경우가 발생할 수 있어 음성 인식의 정확도 개선이 요구되었다.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 supplementary section determiner 130 to supplement the keyword recognition result obtained by the keyword recognizer 120 to improve the accuracy of speech recognition. Decide In other words, the voice recognition is performed by further selecting a keyword recognition section corresponding to the keyword recognition result from the voice data, that is, a keyword recognition section located before the keyword section and a keyword recognition section located after the keyword section, thereby accurately determining the user's intention. To make it possible.

예를 들면, 도 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 section determination unit 130 determines the 'coex' and 'near', which are the keyword recognition sections previously located in the keyword section, as the tactic unit, and determine the 'find', which is a keyword recognition section located after the keyword section, as described later. .

이때 음성 데이터로부터 결정되는 전술부 및 후술부의 개수는 사전에 설정될 수 있으며, 키워드부의 앞뒤로 인접한 하나씩의 키워드 인식 구간만을 전술부 및 후술부로 각각 결정할 수도 있다. 또한 키워드부가 문장의 맨 앞 또는 맨 뒤에 위치하는 경우에는 전술부 또는 후술부가 결정되지 않을 수도 있다.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 recognition compensator 140 compares the voice data corresponding to the tactical part and the hereinafter part with the tactical part data and the later part data previously stored in the tactical part database 180 and the later part database 190 to obtain additional recognition results. Output If only one of the tactical part or the hereinafter part is determined in the voice data, only the speech recognition of the tactical part or the hereinafter part is performed by the recognition complementer 140.

전술부 데이터베이스(180) 및 후술부 데이터베이스(190)는 키워드 데이터베이스(170)와 별도로 구비되며, 데이터베이스의 구축 방법은 키워드 데이터베이스(170)와 동일하다. 즉, 문장의 앞부분에서 자주 사용될 수 있는 단어들은 전술부 데이터베이스(180)에 저장되며, 문장의 뒷부분에서 자주 사용될 수 있는 단어들은 후술부 데이터베이스(190)에 저장된다.The tactical database 180 and the hereinafter described database 190 are provided separately from the keyword database 170, and the method of constructing the database is the same as the keyword database 170. That is, words that can be frequently used at the front of the sentence are stored in the tactics database 180, and words that can be frequently used at the rear of the sentence are stored in the database 190 below.

이와 같이 전술부 데이터베이스(180)와 후술부 데이터베이스(190)를 분리함으로써 키워드 인식에 추가로 수행되는 음성 인식을 위한 시간을 단축시킬 수 있으므로, 음성 인식에 전술부와 후술부를 추가로 사용함에 따라 정확도가 향상되는 효과를 얻으면서도 음성 인식 시간이 지나치게 증가하는 것은 방지할 수 있다.Thus, by separating the tactics section database 180 and the following section database 190 can shorten the time for the speech recognition performed in addition to the keyword recognition, the accuracy by using additional tactics section and the later section for speech recognition The speech recognition time can be prevented from being excessively increased while obtaining the effect of improving.

인식 보완부(140)에 의한 전술부 인식 과정 및 후술부 인식 과정은 복수의 음성 인식 모듈에 의해 각각 병렬적으로 수행될 수 있다. 이때 전술부 인식 및 후술부 인식을 수행하는 음성 인식 모듈은 키워드 인식부(120)를 구성하는 복수의 음성 인식 모듈과 동일한 것일 수 있다. 즉, 본 발명에 따른 음성 인식 장치는 복수의 음성 인식 모듈을 구비하여 키워드 인식부(120) 또는 인식 보완부(140)의 기능을 적응적으로 수행하도록 할 수 있다.The tactical part recognition process and the later part recognition process by the recognition complementer 140 may be performed in parallel by a plurality of voice recognition modules, respectively. In this case, the voice recognition module for performing the tactical part recognition and the later part recognition may be the same as the plurality of voice recognition modules constituting the keyword recognizer 120. That is, the speech recognition apparatus according to the present invention may be provided with a plurality of speech recognition modules to adaptively perform the functions of the keyword recognition unit 120 or the recognition supplement unit 140.

따라서 각각의 음성 인식 모듈은 인식 대상인 키워드 인식 구간의 성격에 따라 적절한 데이터베이스를 선택하여 음성 인식을 수행하게 되며, 전술부 인식을 수행하는 경우에는 전술부 데이터베이스(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 tactical database 180 and refer to the later recognition. In the case of doing so, refer to the database 190 described later. Specific tactic part recognition and a later part recognition process are the same as the keyword recognition method by the keyword recognition unit 120, and thus a detailed description thereof will be omitted.

한편, 인식 보완부(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 recognition complementer 140 may be assisted if the tactical part data corresponding to the tactical part does not exist in the tactical part database 180. As a means, data corresponding to the tactical part can be retrieved from the hereinafter referred to database 190. Similarly, the below-described part recognition module that performs the below-described part recognition process may also search for the data corresponding to the later-described part from the above-described part database 180 if there is no later-described part data corresponding to the later-described part in the later-described part database 190. .

이와 같은 음성 인식 모듈의 동작은 모든 사용자가 입력하는 문장의 구조가 항상 일정한 것이 아니므로 일반적으로 문장의 앞부분에 사용되는 문구가 뒷부분에 포함될 수도 있고, 그 반대의 경우도 나타날 수 있기 때문이다. 예를 들면, 도 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 tactical part database 180, the recognition complementer 140 will be described later. The sub-data 190 may retrieve later-part data corresponding to "near".

이상과 같은 과정에 의해서도 전술부 데이터베이스(180) 및 후술부 데이터베이스(190) 모두에서 검색 결과가 얻어지지 않으면 해당 전술부 또는 후술부에 대한 추가 인식 결과는 출력되지 않는다.Even if the search results are not obtained in both the tactics database 180 and the later database 190 according to the above-described process, additional recognition results for the corresponding tactic or later section are not output.

음성 인식부(150)는 키워드 인식 결과 및 추가 인식 결과를 기초로 상기 사용자의 의도를 나타내는 최종 음성 인식 결과를 출력한다.The speech recognition unit 150 outputs a final speech recognition result indicating the user's intention based on the keyword recognition result and the additional recognition result.

예를 들면, 도 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 voice recognition unit 150 recognizes a keyword about 'Brunch'. The result is combined with the additional recognition result of 'COEX' and 'Find', and outputs a result such as 'Find Coex Brunch' as the final voice recognition result of the voice data input by the user.

본 발명에 따른 음성 인식 장치는 이와 같이 사용자가 입력한 음성 데이터에 대한 최종 음성 인식 결과를 출력하는 것에서 나아가 인식 결과로부터 사용자의 의도를 파악하여 그에 대응하는 동작을 수행할 수 있다.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 voice processor 160 performs a pre-stored operation in response to the keyword recognition result and the additional recognition result included in the final speech recognition result.

예를 들면, 도 5의 음성 데이터에 대하여 음성 인식부(150)로부터 출력된 최종 음성 인식 결과가 '코엑스 브런치 찾아줘'이므로, 음성 처리부(160)는 사용자의 명령에 따른 동작이 사전에 저장된 시나리오 데이터베이스(200)를 사용하여 최종 음성 인식 결과에 대응하는 동작을 검색한다. 검색 결과 시나리오 데이터베이스(200)로부터 최종 음성 인식 결과에 대응하는 동작이 '코엑스 근처 브런치 레스토랑 리스트의 출력'으로 검색되면, 음성 처리부(160)는 저장된 레스토랑 리스트 중에서 코엑스 근처에 위치하는 브런치 전문 레스토랑의 리스트를 사용자에게 출력한다.For example, since the final voice recognition result output from the voice recognition unit 150 with respect to the voice data of FIG. 5 is 'Find a COEX brunch,' the voice processing unit 160 may store an operation according to a user's command in advance. The database 200 searches for an operation corresponding to the final speech recognition result. When the operation corresponding to the final speech recognition result is searched as 'output of the brunch restaurant list near COEX' from the search result scenario database 200, the voice processing unit 160 lists the brunch specialty restaurants located near the COEX among the stored restaurant lists. To the user.

이때 사용자의 의도에 따른 동작을 신속하게 수행하기 위하여 시나리오 데이터베이스(200)에는 최종 음성 인식 결과 중에서 키워드 인식 결과, 전술부 인식 결과 및 후술부 인식 결과에 대응하는 동작들이 각각 별개로 저장되어 있을 수 있다. 따라서 음성 처리부(160)는 최종 음성 인식 결과가 얻어지면 그 중에서 키워드 인식 결과에 대응하는 시나리오와 전술부 및 후술부 인식 결과에 대응하는 시나리오를 각각 검색하여 얻어진 시나리오대로 동작할 수 있다.In this case, in order to quickly perform an operation according to a user's intention, the scenario database 200 may separately store operations corresponding to a keyword recognition result, a tactical part recognition result, and a later part recognition result among the final speech recognition results. . Therefore, when the final speech recognition result is obtained, the speech processing unit 160 may operate according to the scenario obtained by searching for the scenario corresponding to the keyword recognition result and the scenario corresponding to the tactic part and the later part recognition results, respectively.

도 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 keyword extractor 110 determines a plurality of keyword recognition sections that are data of minimum length for extracting a keyword from voice data input from a user (S1010), and the keyword recognizer 120 determines that The keyword recognition result is output by comparing the voice data corresponding to each keyword recognition section with the keyword data previously stored in the database, that is, the keyword database 170 (S1020).

키워드 인식 구간을 결정하기 이전에 음성 데이터에 대한 전처리 과정으로서 음성 데이터의 자동 이득 조절 및 노이즈 제거 과정이 수행될 수 있으며, 음성 데이터를 복수의 어절 데이터 및 음절 데이터로 분할하는 과정이 수행될 수 있다. 이를 위한 구체적인 처리 과정은 앞에서 설명한 바 있으므로 상세한 설명을 생략한다.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 section determination unit 130 determines the keyword recognition section located before the keyword section, which is a keyword recognition section corresponding to the keyword recognition result, as the tactic unit, and determines a keyword recognition section located after the keyword section to be described later (S1030). . The recognition complementer 140 further recognizes the voice data corresponding to the tactical part and the hereinafter part by comparing the tactical part data and the hereinafter part data respectively stored in the tactical part database 180 and the later part database 190 respectively. The result is output (S1040).

음성 인식부(150)는 키워드 인식 결과 및 추가 인식 결과를 조합하여 사용자의 의도를 나타내는 최종 음성 인식 결과를 출력한다(S1050).The speech recognizer 150 combines the keyword recognition result and the additional recognition result and outputs a final speech recognition result indicating the user's intention (S1050).

마지막으로 음성 처리부(160)는 최종 음성 인식 결과에 포함된 키워드 인식 결과 및 추가 인식 결과에 대응하여 시나리오 데이터베이스(200)에 사전에 저장된 동작을 수행한다(S1060).Finally, the voice processor 160 performs an operation previously stored in the scenario database 200 in response to the keyword recognition result and the additional recognition result included in the final speech recognition result (S1060).

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 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.
제 1항에 있어서,
상기 최종 음성 인식 결과에 포함된 상기 키워드 인식 결과 및 상기 추가 인식 결과에 대응하여 사전에 저장된 동작을 수행하는 음성 처리부를 더 포함하는 것을 특징으로 하는 음성 인식 장치.
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.
제 1항 또는 제 2항에 있어서,
상기 키워드 추출부는 상기 음성 데이터를 문장의 띄어쓰기 단위에 대응하는 복수의 어절 데이터로 분할한 결과 및 상기 각각의 어절 데이터를 단어의 최소 단위에 대응하는 복수의 음절 데이터로 분할한 결과를 기초로 상기 복수의 키워드 인식 구간을 결정하는 것을 특징으로 하는 음성 인식 장치.
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.
제 1항 또는 제 2항에 있어서,
상기 키워드 추출부는 상기 음성 데이터로부터 결정된 상기 키워드 인식 구간의 개수가 사전에 설정된 최대 개수 이상이면 상기 사용자에게 오류 메시지를 출력하여 상기 사용자로부터 새로운 음성 데이터를 입력받는 것을 특징으로 하는 음성 인식 장치.
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.
제 1항 또는 제 2항에 있어서,
상기 키워드 인식부는 상기 각각의 키워드 인식 구간에 대응하는 상기 음성 데이터를 상기 키워드 데이터와 대비하여 복수의 키워드 후보를 결정하고, 신뢰도가 가장 높은 키워드 후보를 상기 키워드 인식 결과로 결정하는 것을 특징으로 하는 음성 인식 장치.
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.
제 1항 또는 제 2항에 있어서,
상기 인식 보완부는 상기 전술부에 대응하는 상기 음성 데이터에 대한 추가 인식 결과가 상기 전술부 데이터베이스로부터 검색되지 않으면 상기 전술부에 대응하는 상기 음성 데이터와 상기 후술부 데이터를 대비하여 상기 추가 인식 결과를 출력하고, 상기 후술부에 대응하는 상기 음성 데이터에 대한 추가 인식 결과가 상기 후술부 데이터베이스로부터 검색되지 않으면 상기 후술부에 대응하는 상기 음성 데이터와 상기 전술부 데이터를 대비하여 상기 추가 인식 결과를 출력하는 것을 특징으로 하는 음성 인식 장치.
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.
제 1항 또는 제 2항에 있어서,
상기 인식 보완부는 상기 전술부 및 상기 후술부에 각각 대응하는 복수의 음성 인식 모듈에 의하여 상기 전술부 및 상기 후술부에 대한 음성 인식을 병렬적으로 수행하는 것을 특징으로 하는 음성 인식 장치.
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.
(a) 사용자로부터 입력받은 음성 데이터로부터 키워드를 추출하기 위한 최소 길이의 데이터인 복수의 키워드 인식 구간을 결정하는 단계;
(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.
제 8항에 있어서,
(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.
제 8항 또는 제 9항에 있어서,
상기 (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.
제 8항 또는 제 9항에 있어서,
상기 (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 .
제 8항 또는 제 9항에 있어서,
상기 (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.
제 8항 또는 제 9항에 있어서,
상기 (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.
제 8항 또는 제 9항에 있어서,
상기 (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.
제 8항 또는 제 9항에 기재된 음성 인식 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for executing the speech recognition method according to claim 8 or 9.
KR1020110075990A 2011-07-29 2011-07-29 Apparatus and method for speech recognition by keyword recognition KR101122591B1 (en)

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)

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

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

Patent Citations (4)

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

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