KR102324829B1 - Apparatus and Method for correcting error of speech recognition - Google Patents

Apparatus and Method for correcting error of speech recognition Download PDF

Info

Publication number
KR102324829B1
KR102324829B1 KR1020190158218A KR20190158218A KR102324829B1 KR 102324829 B1 KR102324829 B1 KR 102324829B1 KR 1020190158218 A KR1020190158218 A KR 1020190158218A KR 20190158218 A KR20190158218 A KR 20190158218A KR 102324829 B1 KR102324829 B1 KR 102324829B1
Authority
KR
South Korea
Prior art keywords
correct
token
utterance
tokens
error
Prior art date
Application number
KR1020190158218A
Other languages
Korean (ko)
Other versions
KR20210068776A (en
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 KR1020190158218A priority Critical patent/KR102324829B1/en
Publication of KR20210068776A publication Critical patent/KR20210068776A/en
Application granted granted Critical
Publication of KR102324829B1 publication Critical patent/KR102324829B1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/01Assessment or evaluation of speech recognition systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/10Speech classification or search using distance or distortion measures between unknown speech and reference templates

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Medical Informatics (AREA)
  • Machine Translation (AREA)

Abstract

본 발명의 예시적인 실시예는 음성 인식 오류를 자연어처리 이전에 검출하고 보정하여 다양한 서비스도메인에서 최적의 효율성으로 자연어처리의 의도분석 성공률을 높이기 위한 음성 인식 오류 보정 장치에 관한 것으로, 정답발화 토큰 및 해당 정답발화 토큰에 대응하는 하나 이상의 오류발화 토큰을 모두 유사한 벡터값을 가지는 정답 토큰별 밀집 벡터 공간안에 위치하도록 임베딩하기 위한 인코더; 상기 임베딩된 정답 토큰별 밀집 벡터 공간안의 정답발화 토큰을 기준으로 기 설정된 제1 맨하탄(Manhatan) 거리 내에 있는 하나 이상의 발화 토큰을 오류발화 토큰으로 검출하기 위한 오류검출기; 및 상기 임베딩된 정답 토큰별 밀집 벡터 공간 내에서 상기 검출된 오류발화 토큰으로부터 맨하탄 거리 기준으로 가장 가까이 있는 정답발화 토큰을 정답으로 추출하여 오류를 보정하기 위한 오류보정기를 포함할 수 있다.An exemplary embodiment of the present invention relates to a speech recognition error correction device for detecting and correcting speech recognition errors prior to natural language processing, thereby increasing the intention analysis success rate of natural language processing with optimal efficiency in various service domains, and an encoder for embedding one or more erroneous speech tokens corresponding to the corresponding correct speech token so as to be located in a dense vector space for each correct token having a similar vector value; an error detector for detecting one or more utterance tokens within a preset first Manhattan distance as erroneous utterance tokens based on the correct utterance tokens in the dense vector space for each embedded correct token; and an error corrector for correcting the error by extracting the correct correct utterance token closest to the Manhattan distance from the detected erroneous utterance token in the dense vector space for each embedded correct token as a correct answer.

Figure R1020190158218
Figure R1020190158218

Description

음성 인식 오류 보정 장치 및 방법{Apparatus and Method for correcting error of speech recognition}Apparatus and Method for correcting error of speech recognition

본 발명은 자연어처리 의도분석 오류 중 음성인식 오류로 인해 발생한 오류를 자연어처리 전에 검출하여 선 보정하는 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for detecting and correcting an error caused by a speech recognition error among natural language processing intention analysis errors before natural language processing.

일반적으로, 음성기반 서비스는 발화자의 음성을 입력으로 받아 자연어텍스트를 출력하는 음성인식 과정 및 출력된 자연어텍스트를 분석하여 발화자의 의도, 감성, 메타데이터 등을 뽑아내는 자연어처리 과정을 포함하여 이루어진다. 이 후 서비스에 따라 답변을 생성하여 텍스트로 제공하거나 음성합성을 거쳐 음성 답변을 제공한다. In general, a voice-based service includes a voice recognition process of receiving a speaker's voice as an input and outputting a natural language text, and a natural language processing process of extracting the speaker's intention, emotion, metadata, etc. by analyzing the output natural language text. After that, depending on the service, an answer is generated and provided as text or a voice answer is provided through speech synthesis.

음성인식 시스템은 음향 모델 및 언어 모델로 이루어져 있으며, 음향모델은 음성 신호의 특징을 분석하고, 언어모델은 인식된 음소 및 단어의 앞뒤 요소들간의 발생 확률을 통해 해당 단어 및 음소를 예측한다. The speech recognition system consists of an acoustic model and a language model. The acoustic model analyzes the characteristics of the speech signal, and the language model predicts the recognized phoneme and the corresponding word and phoneme through the occurrence probability between the preceding and following elements of the word.

음향모델과 언어모델은 음성인식 정확도를 높이기 위해 음성인식 시스템 내에서 지속적인 학습 및 유사발음사전 구축을 통한 성능 향상이 필요하다. 하지만 향상된 음성인식 성능에도 불구하고 발음변이 및 예외발음법칙 등에 의해 음성인식 오류는 지속적으로 발생한다. Acoustic models and language models need to improve their performance through continuous learning and construction of a similar pronunciation dictionary within the voice recognition system in order to increase the accuracy of speech recognition. However, despite the improved speech recognition performance, speech recognition errors continue to occur due to pronunciation variations and exception pronunciation rules.

음성인식 성능 보완을 위해 발음 사전을 구축하기도 하지만 지속적으로 생성되는 서비스용어, 신조어 및 구어체들을 계속 사전에 업데이트 하는 것은 한계가 있다.Although a pronunciation dictionary is built to supplement speech recognition performance, there is a limit to continuously updating the continuously generated service terms, neologisms and colloquial words in the dictionary.

즉, 음성인식은 자체 언어모델 및 음향모델을 통해 선별된 텍스트를 배출하지만, 그렇게 선별되어 배출한 텍스트 또한 오류가 발생한다. 이러한 음향 및 발음기반 음성인식(엔진)의 오류는 신조어 및 복합명사가 빈번한 상품명 및 서비스명 도메인에서 빈번하게 발생한다(ex. 알뜰팡팡무제한요금제). 이때마다 음성인식엔진의 음향모델 및 언어모델을 재학습 시키거나, 유사발음사전을 수작업으로 업데이트하여 보완하는 방법으로 서비스를 진행하고 있으나, 이는 인력 및 비용 측면에서 비효율적인 문제점이 있다.That is, although speech recognition outputs the selected text through its own language model and sound model, the selected and output text also has errors. This sound and pronunciation-based speech recognition (engine) error frequently occurs in the domain of product names and service names where new words and compound nouns are frequent (ex. Each time, the service is provided by re-learning the acoustic model and language model of the speech recognition engine or manually updating and supplementing the pronunciation dictionary, but this is inefficient in terms of manpower and cost.

공개특허공보 제10-2013-0128329호(2013.11.26.)Laid-Open Patent Publication No. 10-2013-0128329 (2013.11.26.)

본 발명은 전술한 종래의 문제점을 해결하기 위한 것으로, 그 목적은 음성 인식 오류를 자연어처리 이전에 검출하고 보정하여 다양한 서비스도메인에서 최적의 효율성으로 자연어처리의 의도분석 성공률을 높이기 위한, 음성 인식 오류 보정 장치 및 방법을 제공하는 것이다.The present invention is to solve the above-mentioned conventional problems, and the purpose is to detect and correct voice recognition errors prior to natural language processing to increase the success rate of intention analysis of natural language processing with optimal efficiency in various service domains. It is to provide a calibration apparatus and method.

전술한 목적을 달성하기 위하여 본 발명의 일 측면에 따른 음성 인식 오류 보정 장치는, 정답발화 토큰 및 해당 정답발화 토큰에 대응하는 하나 이상의 오류발화 토큰을 모두 유사한 벡터값을 가지는 정답 토큰별 밀집 벡터 공간안에 위치하도록 임베딩하기 위한 인코더; 상기 임베딩된 정답 토큰별 밀집 벡터 공간 안의 정답발화 토큰을 기준으로 기 설정된 제1 맨하탄(Manhatan) 거리 내에 있는 하나 이상의 발화 토큰을 오류발화 토큰으로 검출하기 위한 오류검출기; 및 상기 임베딩된 정답 토큰별 밀집 벡터 공간 내에서 상기 검출된 오류발화 토큰으로부터 맨하탄 거리 기준으로 가장 가까이 있는 정답발화 토큰을 정답으로 추출하여 오류를 보정하기 위한 오류보정기를 포함할 수 있다.In order to achieve the above object, an apparatus for correcting speech recognition errors according to an aspect of the present invention provides a dense vector space for each correct token having a vector value similar to a correct utterance token and one or more erroneous utterance tokens corresponding to the correct utterance token. an encoder for embedding to be positioned within; an error detector for detecting one or more utterance tokens within a preset first Manhattan distance as erroneous utterance tokens based on the correct utterance token in the dense vector space for each embedded correct token; and an error corrector for correcting the error by extracting the correct correct utterance token closest to the Manhattan distance from the detected erroneous utterance token in the dense vector space for each embedded correct token as a correct answer.

상기 오류보정기는 상기 임베딩된 정답 토큰별 밀집 벡터 공간 내에서 상기 검출된 오류발화 토큰으로부터 기 설정된 제2 맨하탄 거리 내에 있는 하나 이상의 정답발화 토큰을 정답 후보 보정군으로 추출하고, 상기 정답 후보 보정군 중 상기 검출된 오류발화 토큰으로부터 맨하탄 거리 기준으로 가장 가까이 있는 정답발화 토큰을 정답으로 추출할 수 있다.The error corrector extracts one or more correct utterance tokens within a predetermined second Manhattan distance from the detected erroneous utterance token in the dense vector space for each embedded correct token as a correct answer candidate correction group, and from the correct correct candidate correction group From the detected erroneous utterance token, the closest correct utterance token based on the Manhattan distance may be extracted as the correct answer.

정답으로 추출된 발화에 대한 의도분석 실패 시, 상기 오류보정기는 상기 추출된 정답 후보 보정군 중 이전 추출된 정답발화 토큰을 제외하고 상기 검출된 오류발화 토큰으로부터 맨하탄 거리 기준으로 가장 가까이 있는 정답발화 토큰을 정답으로 추출할 수 있다.When the intention analysis for the utterance extracted as the correct answer fails, the error corrector is the closest correct utterance token from the detected erroneous utterance token, based on the Manhattan distance, except for the previously extracted correct utterance token among the extracted correct answer candidate correction groups. can be extracted as the correct answer.

전술한 목적을 달성하기 위하여 본 발명의 다른 측면에 따른 음성 인식 오류 보정 방법은, (a) 정답발화 토큰 및 해당 정답발화 토큰에 대응하는 하나 이상의 오류발화 토큰을 모두 유사한 벡터값을 가지는 정답 토큰별 밀집 벡터 공간안에 위치하도록 임베딩하기 위한 인코더를 구축하는 단계; (b) 상기 임베딩된 정답 토큰별 밀집 벡터 공간안의 정답발화 토큰을 기준으로 기 설정된 제1 맨하탄(Manhatan) 거리 내에 있는 하나 이상의 발화 토큰을 오류발화 토큰으로 검출하기 위한 단계; 및 (c) 상기 임베딩된 정답 토큰별 밀집 벡터 공간 내에서 상기 검출된 오류발화 토큰으로부터 맨하탄 거리 기준으로 가장 가까이 있는 정답발화 토큰을 정답으로 추출하여 오류를 보정하기 위한 단계를 포함할 수 있다.In order to achieve the above object, a speech recognition error correction method according to another aspect of the present invention includes: (a) a correct utterance token and one or more erroneous utterance tokens corresponding to the correct utterance token for each correct token having a similar vector value constructing an encoder for embedding to be located in a dense vector space; (b) detecting one or more utterance tokens within a preset first Manhattan distance as erroneous utterance tokens based on the correct utterance tokens in the dense vector space for each embedded correct token; and (c) correcting the error by extracting the closest correct utterance token as the correct answer from the detected erroneous utterance token in the dense vector space for each embedded correct token.

상기 단계 (c)는 상기 임베딩된 정답 토큰별 밀집 벡터 공간 내에서 상기 검출된 오류발화 토큰으로부터 기 설정된 제2 맨하탄 거리 내에 있는 하나 이상의 정답발화 토큰을 정답 후보 보정군으로 추출하고, 상기 정답 후보 보정군 중 상기 검출된 오류발화 토큰으로부터 맨하탄 거리 기준으로 가장 가까이 있는 정답발화 토큰을 정답으로 추출할 수 있다.The step (c) is to extract one or more correct utterance tokens within a preset second Manhattan distance from the detected erroneous utterance token in the dense vector space for each embedded correct token as a correct answer candidate correction group, and correct the correct answer candidate From the detected erroneous utterance token in the group, the closest correct utterance token based on the Manhattan distance may be extracted as the correct answer.

본 발명의 또 다른 측면에 따르면, 정답으로 추출된 발화에 대한 의도분석 실패 시, 상기 단계 (c)는 상기 추출된 정답 후보 보정군 중 이전 추출된 정답발화 토큰을 제외하고 상기 검출된 오류발화 토큰으로부터 맨하탄 거리 기준으로 가장 가까이 있는 정답발화 토큰을 정답으로 추출할 수 있다. According to another aspect of the present invention, when the intention analysis for the utterance extracted as the correct answer fails, the step (c) includes the detected erroneous utterance token except for the previously extracted correct utterance token from the extracted correct answer candidate correction group. Based on the distance from Manhattan, the closest correct answer token can be extracted as the correct answer.

전술한 목적을 달성하기 위하여 본 발명의 또 다른 측면에 따르면, 상기 음성 인식 오류 보정 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체가 제공될 수 있다.According to another aspect of the present invention in order to achieve the above object, there may be provided a computer-readable recording medium in which a program for executing the method for correcting speech recognition errors in a computer is recorded.

전술한 목적을 달성하기 위하여 본 발명의 또 다른 측면에 따르면, 상기 음성 인식 오류 보정 방법을 하드웨어와 결합하여 실행시키기 위하여 컴퓨터로 읽을 수 있는 기록 매체에 저장된 애플리케이션이 제공될 수 있다.According to another aspect of the present invention in order to achieve the above object, there may be provided an application stored in a computer-readable recording medium in order to execute the voice recognition error correction method in combination with hardware.

전술한 목적을 달성하기 위하여 본 발명의 또 다른 측면에 따르면, 상기 음성 인식 오류 보정 방법을 컴퓨터에서 실행시키기 위하여 컴퓨터로 읽을 수 있는 기록 매체에 저장된 컴퓨터 프로그램이 제공될 수 있다.According to another aspect of the present invention in order to achieve the above object, there may be provided a computer program stored in a computer-readable recording medium in order to execute the method for correcting a voice recognition error in a computer.

이상에서 설명한 바와 같이 본 발명의 다양한 측면에 따르면, 음성 인식 오류를 자연어처리 이전에 검출하고 보정하여 다양한 서비스도메인에서 최적의 효율성으로 자연어처리의 의도분석 성공률을 향상시킬 수 있는 효과가 있다.As described above, according to various aspects of the present invention, there is an effect of improving the success rate of intention analysis of natural language processing with optimal efficiency in various service domains by detecting and correcting speech recognition errors prior to natural language processing.

즉, 본 발명을 통해 서비스 도메인 별로 다른 버전의 음성인식기 및 유사어사전을 지속적으로 업데이트 할 필요 없이 의도분석 전단계에서 오류검출 및 오류보정을 할 수 있도록 함으로써 의도분석 정확도 향상과 그에 따른 서비스 성공률을 높일 수 있다. 또한, 본 발명의 다양한 측면에 따르면 오류 검출 시 의도분석 성공 여부를 반영하는데, 5G의 도입에 따라 혁신적으로 높아진 데이터 전송속도에 의해 (추가 소요되는) 의도분석 데이터 전송 시간을 최소화 하면서 의도분석 결과를 활용하여 명확한 오류 검출이 가능하다. That is, through the present invention, it is possible to improve the accuracy of intention analysis and increase the service success rate accordingly by enabling error detection and error correction in the previous stage of intention analysis without the need to continuously update different versions of the speech recognizer and similar dictionary for each service domain. have. In addition, according to various aspects of the present invention, the success or failure of intention analysis is reflected when an error is detected, and the intention analysis result is displayed while minimizing the (additional required) data transmission time due to the innovatively increased data transmission speed with the introduction of 5G. It can be used to clearly detect errors.

본 발명을 통해 음성인식의 음향모델 및 언어모델에서 자체 보정되지 못한 음성인식 오류를 의도분석 전단계에서 추가 보정하여 의도분석 정확도와 서비스 성공률을 높일 수 있고, 음향 모델에서 예외처리 되는 신조어 및 상품명 등을 보정할 수 있는 효과가 있다.Through the present invention, it is possible to increase the accuracy of intention analysis and service success rate by additionally correcting speech recognition errors that cannot be self-corrected in the acoustic model and language model of the speech recognition in the previous stage of intention analysis, and new words and product names that are treated as exceptions in the acoustic model There is a correction effect.

도 1은 본 발명의 예시적인 실시예에 따른 음성 인식 오류 보정 장치의 구성도,
도 2는 G2P 변환 과정을 설명하기 위한 예시도,
도 3은 한국어 음소셋을 나타낸 도면,
도 4는 P2V 변환 과정을 설명하기 위한 예시도,
도 5는 SNN 기반의 bi-directional LSTM 학습 모델을 설명하기 위한 예시도,
도 6은 임베딩된 정답 토큰별 밀집 벡터 공간의 예시도,
도 7은 본 발명의 예시적인 실시예에 따른 음성 인식 오류 보정 방법의 흐름도이다.
1 is a block diagram of an apparatus for correcting speech recognition errors according to an exemplary embodiment of the present invention;
2 is an exemplary diagram for explaining a G2P conversion process;
3 is a view showing a Korean phoneme set;
4 is an exemplary diagram for explaining a P2V conversion process;
5 is an exemplary diagram for explaining a bi-directional LSTM learning model based on SNN;
6 is an example of a dense vector space for each embedded correct token;
7 is a flowchart of a method for correcting a speech recognition error according to an exemplary embodiment of the present invention.

이하, 첨부도면을 참조하여 본 발명의 실시예에 대해 구체적으로 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 한다. 또한, 본 발명의 실시예에 대한 설명 시 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In adding reference numerals to the components of each drawing, the same components are to have the same reference numerals as much as possible even though they are indicated in different drawings. In addition, when it is determined that a detailed description of a known configuration or function related to the embodiment of the present invention may obscure the gist of the present invention, the detailed description thereof will be omitted.

도 1은 본 발명의 예시적인 실시예에 따른 음성 인식 오류 보정 장치(20)의 구성도로, 동 도면에 도시된 바와 같이, 음성 인식 오류 보정 장치(이하, '보정장치'라 약칭함)(20)는 G2P 컨버터(21), 인코더(23), 오류검출기(25), 및 오류보정기(27)를 포함할 수 있다.1 is a block diagram of a voice recognition error correcting apparatus 20 according to an exemplary embodiment of the present invention. ) may include a G2P converter 21 , an encoder 23 , an error detector 25 , and an error corrector 27 .

G2P(Grapheme to Phoneme) 컨버터(21)는 음성인식기(10)로부터 입력된 음성인식(STT: Speech to Text) 전사 데이터의 문자소(Grapheme: 의미를 나타내는 글자 최소 단위)를 음소(Phoneme)로 변환한다. The G2P (Grapheme to Phoneme) converter 21 converts a letter element (Grapheme: the smallest unit of a letter representing a meaning) of speech recognition (STT: Speech to Text) transcription data input from the speech recognizer 10 into a phoneme. do.

G2P 컨버터(21)는 도 2-3에 예시된 바와 같이 자소에 따른 한국어 발음법이 지정되어 있기 때문에 자소와 음소에 따라 지정된 발음 규칙에 의해 변환을 수행한다. G2P 컨버터(21)에서 변환된 음소(phoneme)는 P2V(Phoneme to Vector) 컨버터(미도시)를 통해 도 4에 예시된 바와 같이 음소단위별 벡터로 임베딩(특정 언어단위별로 복수차원으로 벡터화하여 맵핑시키는 것)할 수 있다.As illustrated in FIG. 2-3 , the G2P converter 21 performs conversion according to the pronunciation rules specified according to the grapheme and phoneme because the Korean pronunciation method according to the grapheme is specified. The phoneme converted by the G2P converter 21 is embedded as a vector for each phoneme unit as illustrated in FIG. 4 through a P2V (Phone to Vector) converter (not shown) (by vectorizing and mapping in multiple dimensions for each specific language unit) do) can be done.

인코더(23)는 정답발화 토큰 및 해당 정답발화 토큰에 대응하는 하나 이상의 오류발화 토큰을 모두 유사한 벡터값을 가지는 정답 토큰별 밀집 벡터 공간안에 위치하도록 임베딩하기 위한 것으로, 예를 들어, G2P 컨버터(21)에서 변환된 음소(phoneme)를 P2V(Phoneme to Vector) 컨버터(미도시)를 통해 음소단위별 벡터로 임베딩하고, 음소단위별 임베딩된 벡터를 토큰별 벡터 공간으로 매핑함으로써, 서로 음소 유사성을 갖는 정답발화 토큰과 오류발화 토큰 모두를 정답 토큰별 밀집 벡터 공간안에 위치하도록 임베딩할 수 있다.The encoder 23 is for embedding the correct utterance token and one or more erroneous utterance tokens corresponding to the correct utterance token so as to be located in a dense vector space for each correct token having a similar vector value, for example, the G2P converter 21 ), embedding the converted phoneme into a vector for each phoneme unit through a P2V (Phone to Vector) converter (not shown), and mapping the embedded vector for each phoneme unit into a vector space for each token, thereby having phoneme similarity to each other. Both correct and false fire tokens can be embedded so that they are located in the dense vector space for each correct token.

본 실시예에서 인코더(23)는 SNN(Spiking Neural Network) 기반의 학습을 통해 구축될 수 있으며, 일 예로 도 5에 도시된 바와 같이 SNN(Spiking Neural Network) 기반의 bi-directional LSTM(Long Short Term Memory)을 이용하여 학습 및 모델링 할 수 있다.In this embodiment, the encoder 23 may be constructed through SNN (Spiking Neural Network)-based learning, for example, as shown in FIG. Memory) can be used for learning and modeling.

즉, 본 실시예에 따른 SNN 기반 인코더(23)는 오류발화(또는 오류발화 토큰이라 칭함)의 입력 시 정답발화(또는 정답발화 토큰이라 칭함)과 비슷한 벡터공간 위치(이를, 정답 토큰별 밀집 벡터 공간안의 위치라 칭한다)에 매핑(임베딩)되도록 임베딩 패턴을 구축할 수 있다. That is, the SNN-based encoder 23 according to the present embodiment has a vector space position similar to that of a correct utterance (or called a correct utterance token) when an erroneous utterance (or called an erroneous utterance token) is input (this is a dense vector for each correct token) An embedding pattern can be constructed to be mapped (embedded) to a position in space.

SNN은 인공신경망 구조 클래스로 2개 이상의 서로 동일한 서브네트워크를 갖는다. 복수개의 서브네트워크들은 동일한 파라미터와 가중치를 가지며 서로 동기화되어 업데이트한다. SNN is an artificial neural network structure class and has two or more identical subnetworks. The plurality of subnetworks have the same parameters and weights and are synchronized with each other to update.

SNN 기반 인코더(23)의 구축은 하나 이상의 오류발화(예를 들어, 도 5에서 '트이아스')와 이에 대응하는 정상발화(예를 들어, 도 5에서 '트와이스')를 각 서브네트워크에 입력하여 오류발화와 정상발화를 모두 비슷한 벡터 공간(즉, 정답 토큰별 밀집 벡터 공간)안에 위치하도록 각 서브네트워크 내의 파라미터들을 학습시킨다. 학습이 완료된 서브네트워크들은 서로 동일한 파라미터를 가지게 되며 최종적으로는 복수개의 동일한 인코더 모델이 구축된다(도 5 참조).The construction of the SNN-based encoder 23 provides one or more erroneous utterances (eg, 'Tias' in FIG. 5) and corresponding normal utterances (eg, 'TWICE' in FIG. 5) to each subnetwork. By input, parameters in each subnetwork are trained so that both erroneous and normal utterances are located in a similar vector space (that is, a dense vector space for each correct token). Subnetworks that have been trained have the same parameters as each other, and finally, a plurality of identical encoder models are constructed (see FIG. 5 ).

SNN을 기반으로 인코더(23)의 구축 시 핵심 인코더 모델은 도 5의 예시와 같은 LSTM(Long Short Term Memory) 외에도 CNN(Convolutional Neural Network) 또는 SVM(Supportive Vector Machine) 등 다양한 확률기반 모델이 가능하다. When constructing the encoder 23 based on SNN, various probability-based models such as Convolutional Neural Network (CNN) or Supportive Vector Machine (SVM) are possible in addition to LSTM (Long Short Term Memory) as in the example of FIG. .

본 실시예에서는 SNN 학습 기반의 bi-directional LSTM를 활용한 인코더(23)를 구축한다. In this embodiment, the encoder 23 using the bi-directional LSTM based on SNN learning is constructed.

인코더(23)는 학습되지 않은 새로운 토큰이 입력되었을 때 해당 토큰을 정답 토큰별 밀집 벡터 공간으로 임베딩하며, 이후 오류 검출 및 보정은 해당 임베딩 벡터 공간(즉, 임베딩된 토큰별 밀집 벡터 공간)(도 6에 예시된 임베딩된 토큰별 밀집 벡터 공간)을 참조하여 이루어진다.The encoder 23 embeds the corresponding token into the dense vector space for each correct token when a new, unlearned token is input, and then error detection and correction is performed in the corresponding embedding vector space (that is, the dense vector space for each embedded token) (Fig. This is done with reference to the dense vector space for each embedded token illustrated in Fig. 6).

본 실시예에서 임베딩된 토큰별 밀집 벡터 공간은 도 6의 예시와 같이 임베딩사전(20a)에 데이터베이스로 구축될 수 있다.In this embodiment, the dense vector space for each embedded token may be built as a database in the embedding dictionary 20a as shown in the example of FIG. 6 .

오류검출기(25)는 임베딩된 정답 토큰별 밀집 벡터 공간안의 정답발화 토큰을 기준으로 기 설정된 제1 맨하탄(Manhatan) 거리 내에 있는 하나 이상의 발화 토큰을 오류발화 토큰으로 검출하기 위한 것으로, 예를 들어, 도 6에 예시된 토큰별 밀집 벡터 공간에서 정답으로 태킹된 정답발화 토큰을 '방탄소년단'이라 전제하면 해당 정답발화 토큰 '방탄소년단'을 기준으로 기 설정된 제1 맨하탄(Manhatan) 거리 내의 정답 태킹 없는 하나 이상의 발화 토큰인 '달탐사소년단'등을 오류발화 토큰으로 검출할 수 있다. The error detector 25 is for detecting one or more utterance tokens within a preset first Manhattan distance based on the correct utterance token in the dense vector space for each embedded correct token as an erroneous utterance token, for example, In the dense vector space for each token illustrated in FIG. 6, assuming that the correct answer token tagged with the correct answer is 'BTS', there is no correct answer tagging within the preset first Manhattan distance based on the correct answer token 'BTS' One or more ignition tokens, such as 'Moon Exploration Boys', can be detected as erroneous ignition tokens.

오류검출기(25) 또한 인코딩된 토큰 벡터를 활용하여 학습 및 분류가 진행된다. 임베딩 공간의 정답발화를 기준으로 특정 맨하탄(Manhatan) 거리 내에 있는 발화들을 오류발화로 지정하고, 오류발화와 정답발화를 이용하여 오류 검출기(25)를 모델링한다. 본 실시예에서는 CNN(Convolutional Neural Network) 기반의 오류검출기(25) 모델을 구축할 수 있다.The error detector 25 is also trained and classified by using the encoded token vector. Based on the correct utterance in the embedding space, utterances within a specific Manhattan distance are designated as erroneous utterances, and the error detector 25 is modeled using the erroneous and correct utterances. In the present embodiment, a convolutional neural network (CNN)-based error detector 25 model can be built.

오류보정기(27)는 임베딩된 정답 토큰별 밀집 벡터 공간 내에서 오류검출기(25)를 통해 검출된 오류발화 토큰으로부터 맨하탄 거리 기준으로 가장 가까이 있는 정답발화 토큰을 정답으로 추출하여 오류를 보정하기 위한 것으로, 예를 들어, 도 6에 예시된 토큰별 밀집 벡터 공간에서 발화 토큰 '달탐사소년단'이 오류발화 토큰으로 검출된 경우 해당 오류발화 토큰 '달탐사소년단'으로부터 맨하탄 거리 기준으로 가장 가까이 있는 (태깅된) 정답발화 토큰 '방탄소년단'을 정답으로 추출하여 오류를 보정 즉, '달탐사소년단'을 '방탄소년단'으로 보정할 수 있다.The error corrector 27 is to correct the error by extracting the closest correct utterance token as the correct answer based on the Manhattan distance from the erroneous utterance token detected through the error detector 25 in the dense vector space for each embedded correct token. , for example, when the ignition token 'Moon Exploration Boys' is detected as an erroneous ignition token in the token-specific dense vector space illustrated in FIG. 6, the closest (tagging) It is possible to correct the error by extracting the correct utterance token 'BTS' as the correct answer, that is, 'Moon Exploration Boys' to 'BTS'.

CNN을 기반으로 학습된 오류검출기(25)를 통해 검출된 오류는 오류보정기(27)로 넘어간다. 오류보정기(27)는 학습 기반 보정 모델을 따로 구축하지 않는다. 오류보정기(27)는 임베딩 된 정답 토큰별 밀집 벡터 공간내에서 해당 오류와 가까이(맨하탄거리 기준 일정 거리 이내에) 있는 후보 보정군을 추출하며 그 중 가장 가까이 있는 정답 발화를 반환한다(도 6 참조). The error detected through the error detector 25 learned based on CNN is transferred to the error corrector 27 . The error corrector 27 does not separately build a learning-based correction model. The error corrector 27 extracts a candidate correction group that is close to the corresponding error (within a certain distance based on Manhattan distance) within the dense vector space for each embedded correct token, and returns the closest correct utterance among them (see FIG. 6). .

오류보정기(27)를 통해 추출된 정답발화는 의도분석기(30)에서 의도분석 후 출력(40)하는데, 의도분석기(30)에서 의도분석이 되지 않는 즉, 실패한 의도분석에 해당되는 발화는 오류 보정기(27)를 통해 오류 재보정을 진행한다. The correct utterance extracted through the error corrector 27 is output 40 after intention analysis by the intention analyzer 30, that is, the utterance corresponding to the failed intention analysis that is not analyzed by the intention analyzer 30 is the error corrector (27) to re-correct the error.

오류보정기(27)는 임베딩된 토큰별 밀집 벡터 공간내에서 첫 번째 반환된 정답발화를 제외하고 해당 오류발화와 가장 가까운 거리 내의 정답발화를 추출하여 오류 재보정을 수행할 수 있다.The error corrector 27 may perform error re-correction by extracting correct utterances within the closest distance to the corresponding erroneous utterance except for the first returned correct utterance in the dense vector space for each embedded token.

즉, 오류보정기(27)는 임베딩된 정답 토큰별 밀집 벡터 공간 내에서 오류검출기(25)를 통해 검출된 오류발화 토큰으로부터 기 설정된 제2 맨하탄 거리 내에 있는 하나 이상의 정답발화 토큰을 정답 후보 보정군으로 추출하고, 정답 후보 보정군 중 해당 오류발화 토큰으로부터 맨하탄 거리 기준으로 가장 가까이 있는 정답발화 토큰을 정답으로 추출하는데, 만약 정답으로 추출된 발화에 대한 의도분석 실패 시, 오류보정기(27)는 추출된 정답 후보 보정군 중 이전 추출된 정답발화 토큰을 제외하고 해당 오류발화 토큰으로부터 맨하탄 거리 기준으로 가장 가까이 있는 정답발화 토큰을 정답으로 추출할 수 있다.That is, the error corrector 27 converts one or more correct utterance tokens within a preset second Manhattan distance from the erroneous ignition tokens detected through the error detector 25 in the dense vector space for each embedded correct token to the correct answer candidate correction group. and extracts the correct correct utterance token closest to the Manhattan distance from the correct correct utterance token from the correct correct candidate correction group as the correct answer. Excluding the previously extracted correct utterance token among the correct answer candidate correction group, the closest correct utterance token based on the Manhattan distance from the corresponding erroneous utterance token can be extracted as the correct answer.

도 7은 본 발명의 예시적인 실시예에 따른 음성 인식 오류 보정 방법의 흐름도로, 전술한 도 1의 장치(20)에 적용되므로 해당 장치(20)의 동작과 병행하여 설명한다.7 is a flowchart of a method for correcting a speech recognition error according to an exemplary embodiment of the present invention. Since it is applied to the device 20 of FIG. 1 described above, the operation of the device 20 will be described in parallel.

먼저, 도 5에 도시된 바와 같이 SNN(Spiking Neural Network) 기반의 bi-directional LSTM(Long Short Term Memory)을 이용하여 학습 및 모델링 된 인코더(23)를 구축하고, 해당 인코더(23)는 G2P 컨버터(21)를 통해 음성인식(STT) 전사 데이터의 문자소(Grapheme)가 음소(Phoneme)로 변환되어 입력되면 G2P 컨버터(21)에서 변환된 음소(phoneme)를 P2V(Phoneme to Vector) 컨버터(미도시)를 통해 음소단위별 벡터로 임베딩하고, 음소단위별 임베딩된 벡터를 토큰별 벡터 공간으로 매핑함으로써, 음소 유사성을 갖는 정답발화 토큰과 오류발화 토큰 모두를 도 6의 예시와 같이 정답 토큰별 밀집 벡터 공간안에 위치하도록 임베딩 한다(S701).First, as shown in FIG. 5 , an encoder 23 trained and modeled using a bi-directional Long Short Term Memory (LSTM) based on a Spiking Neural Network (SNN) is built, and the encoder 23 is a G2P converter. When the grapheme of the speech recognition (STT) transcription data is converted into a phoneme through (21) and input, the phoneme converted in the G2P converter 21 is converted to a P2V (Phoneme to Vector) converter (not shown). time) by embedding into vectors for each phoneme unit, and mapping the vectors embedded for each phoneme unit into the vector space for each token, so that both correct and erroneous speech tokens with phoneme similarity are concentrated by correct token as shown in the example of FIG. It embeds so as to be located in the vector space (S701).

이어, 오류검출기(25)는 단계 S701에서 인코더(23)를 통해 임베딩된 정답 토큰별 밀집 벡터 공간안의 정답발화 토큰을 기준으로 기 설정된 제1 맨하탄(Manhatan) 거리 내에 있는 하나 이상의 발화 토큰을 오류발화 토큰으로 검출한다(S703). 예를 들어, 단계 S703에서 오류검출기(25)는 도 6에 예시된 토큰별 밀집 벡터 공간에서 정답으로 태킹된 정답발화 토큰 '방탄소년단'을 기준으로 기 설정된 제1 맨하탄(Manhatan) 거리 내의 정답 태킹 없는 하나 이상의 발화 토큰 '달탐사소년단', '흥탄소년단'등을 오류발화 토큰으로 검출할 수 있다. Next, the error detector 25 erroneously fires one or more utterance tokens within a preset first Manhattan distance based on correct utterance tokens in the dense vector space for each correct token embedded through the encoder 23 in step S701. It is detected as a token (S703). For example, in step S703, the error detector 25 tags the correct answer within a preset first Manhattan distance based on the correct utterance token 'BTS' tagged as the correct answer in the dense vector space for each token illustrated in FIG. 6 . It is possible to detect one or more missing ignition tokens 'Moon Exploration Boys', 'Hungtan Boys', etc. as erroneous ignition tokens.

이어, 오류보정기(27)는 단계 S701에서 인코더(23)를 통해 임베딩된 정답 토큰별 밀집 벡터 공간 내에서 오류검출기(25)를 통해 검출된 오류발화 토큰으로부터 맨하탄 거리 기준으로 가장 가까이 있는 정답발화 토큰을 정답으로 추출하여 오류를 보정한다(S705). 예를 들어, 단계 S705에서 오류보정기(27)는 도 6에 예시된 정답 토큰별 밀집 벡터 공간에서 발화 토큰 '달탐사소년단'이 오류발화 토큰으로 검출된 경우 해당 오류발화 토큰 '달탐사소년단'으로부터 맨하탄 거리 기준으로 가장 가까이 있는 (태깅된) 정답발화 토큰 '방탄소년단'을 정답으로 추출하여 오류를 보정 즉, '달탐사소년단'을 '방탄소년단'으로 보정한다(S705).Then, the error corrector 27 is the closest correct utterance token based on the Manhattan distance from the erroneous ignition token detected through the error detector 25 in the dense vector space for each correct token embedded through the encoder 23 in step S701. is extracted as the correct answer to correct the error (S705). For example, in step S705, when the ignition token 'Moon Exploration Boys' is detected as an erroneous ignition token in the dense vector space for each correct token as illustrated in FIG. The error is corrected by extracting the closest (tagged) correct-answer token 'BTS' as the correct answer based on the Manhattan distance, that is, 'Moon Exploration Boys' is corrected to 'BTS' (S705).

마지막으로, 오류보정기(27)를 통해 추출/보정된 정답발화는 의도분석기(30)에서 의도분석 후 출력하는데, 오류보정기(27)는 의도분석기(30)에서의 의도분석 성공 여부를 판단하고(S707), 단계 S707에서 의도분석 성공으로 판단되면 첫 번째 추출/보정된 정답발화를 그대로 정상 출력하도록 하며(S709), 단계 S707에서 의도분석 실패로 판단되면 단계 S705의 과정으로 돌아가 실패한 의도분석에 해당되는 발화에 대해 오류 재보정을 진행한다(S707-S705). Finally, the correct utterance extracted/corrected through the error corrector 27 is output after intention analysis by the intention analyzer 30, and the error corrector 27 determines whether the intention analysis succeeds in the intention analyzer 30 and ( S707), if it is determined that the intention analysis is successful in step S707, the first extracted/corrected correct answer utterance is output as it is (S709) Error re-correction is performed for the uttered utterance (S707-S705).

오류보정기(27)에서의 재보정 과정은 임베딩된 토큰별 밀집 벡터 공간내에서 첫 번째 반환된 정답발화를 제외하고 해당 오류발화와 가장 가까운 거리 내의 정답발화를 추출하여 오류 재보정을 수행할 수 있다. 즉, 오류보정기(27)는 임베딩된 정답 토큰별 밀집 벡터 공간 내에서 오류검출기(25)를 통해 검출된 오류발화 토큰으로부터 기 설정된 제2 맨하탄 거리 내에 있는 하나 이상의 정답발화 토큰을 정답 후보 보정군으로 추출하고, 정답 후보 보정군 중 해당 오류발화 토큰으로부터 맨하탄 거리 기준으로 가장 가까이 있는 정답발화 토큰을 정답으로 추출하는데, 만약 정답으로 추출된 발화에 대한 의도분석 실패 시, 오류보정기(27)는 추출된 정답 후보 보정군 중 이전 추출된 정답발화 토큰을 제외하고 해당 오류발화 토큰으로부터 맨하탄 거리 기준으로 가장 가까이 있는 정답발화 토큰을 정답으로 추출할 수 있다.The recalibration process in the error corrector 27 extracts the correct utterances within the closest distance to the corresponding erroneous utterances except for the first returned correct utterance in the dense vector space for each embedded token to perform error re-correction. . That is, the error corrector 27 converts one or more correct utterance tokens within a preset second Manhattan distance from the erroneous ignition tokens detected through the error detector 25 in the dense vector space for each embedded correct token to the correct answer candidate correction group. and extracts the correct correct utterance token closest to the Manhattan distance from the correct correct utterance token from the correct correct candidate correction group as the correct answer. Excluding the previously extracted correct utterance tokens from the correct correct candidate correction group, the closest correct utterance token based on the Manhattan distance from the corresponding erroneous utterance token can be extracted as the correct answer.

전술한 본 발명의 예시적인 실시예에 따르면, SNN을 기반으로 학습 및 모델링 된 인코더(23)를 구축하되, 해당 인코더(23)를 통하여 자연어처리의 전처리 단계에서 발화 텍스트(토큰)를 임베딩 할 때, 음소 유사성을 갖는 정답발화 토큰과 오류발화 토큰 모두를 정답 토큰별 밀집 벡터 공간안에 위치하도록 임베딩 할 수 있다. According to the above-described exemplary embodiment of the present invention, an encoder 23 trained and modeled based on SNN is built, but when embedding speech text (token) in the pre-processing stage of natural language processing through the encoder 23 , it is possible to embed both correct and false utterance tokens with phoneme similarity to be located in the dense vector space for each correct token.

통상적인 자연어전처리 단계에서의 임베딩은 오류 발화 가능성을 고려하지 않은 채로 음소별, 단어별, 어구별로 인코딩하는 반면, 전술한 본 발명의 예시적인 실시예에 따르면 자연어 전처리 단계에서 음성인식 오류 발화와 정답 발화 사이의 유사도를 반영하여 임베딩하고, 이에 의해 임베딩된 정답 토큰별 밀집 벡터 공간을 기초로 특정 발화 토큰들의 오류 유사 후보군들과 반대로 오류 발화 토큰들의 정답 발화 후보군을 추출할 수 있으며, 또한 해당 인코더의 구축 시 의도분석 결과가 함께 학습데이터로 활용함으로써, 통상적인 음성인식의 음향모델 및 언어모델에서 자체 보정되지 못한 음성인식 오류를 의도분석 전단계에서 보정하여 의도분석 정확도와 서비스 성공률을 높일 수 있고, 음향 모델에서 예외처리 되는 신조어 및 상품명 등을 보정할 수 있다.While embedding in the conventional natural language preprocessing step encodes each phoneme, word, and phrase without considering the possibility of erroneous speech, according to the exemplary embodiment of the present invention, speech recognition error speech and correct answer in the natural language preprocessing step By embedding by reflecting the similarity between utterances, the correct utterance candidates of erroneous utterance tokens can be extracted as opposed to the erroneous utterance candidates of specific utterance tokens based on the embedded dense vector space for each correct token. By utilizing the results of intention analysis as learning data together during construction, it is possible to improve the accuracy of intention analysis and service success rate by correcting the speech recognition errors that are not self-corrected in the normal speech recognition acoustic model and language model before the intention analysis. New words and product names that are treated as exceptions in the model can be corrected.

한편, 전술한 음성 인식 오류 보정 방법에 따르면 해당 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 구현할 수 있다.Meanwhile, according to the above-described method for correcting speech recognition errors, a computer-readable recording medium in which a program for executing the method is recorded on a computer may be implemented.

또 한편, 전술한 음성 인식 오류 보정 방법에 따르면 해당 방법을 하드웨어와 결합하여 실행시키기 위하여 컴퓨터로 읽을 수 있는 기록 매체에 저장된 애플리케이션을 구현할 수 있다.On the other hand, according to the above-described method for correcting a speech recognition error, an application stored in a computer-readable recording medium may be implemented in order to execute the method in combination with hardware.

또 다른 한편, 전술한 음성 인식 오류 보정 방법에 따르면 해당 방법을 컴퓨터에서 실행시키기 위하여 컴퓨터로 읽을 수 있는 기록 매체에 저장된 컴퓨터 프로그램을 구현할 수 있다.On the other hand, according to the above-described method for correcting speech recognition errors, a computer program stored in a computer-readable recording medium may be implemented to execute the method in a computer.

예를 들어, 전술한 바와 같이 본 발명의 예시적인 실시예에 따른 음성 인식 오류 보정 방법은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독가능 기록 매체 또는 이러한 기록 매체에 저장된 애플리케이션으로 구현될 수 있다. 상기 컴퓨터 판독 가능 기록 매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 기록 매체는 본 발명의 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.For example, as described above, the voice recognition error correction method according to an exemplary embodiment of the present invention is a computer-readable recording medium including program instructions for performing various computer-implemented operations or an application stored in the recording medium. can be implemented as The computer-readable recording medium may include program instructions, local data files, local data structures, and the like alone or in combination. The recording medium may be specially designed and configured for the embodiment of the present invention, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include hard disks, magnetic media such as floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floppy disks, and ROMs, RAMs, flash memories, and the like. Hardware devices specially configured to store and execute the same program instructions are included. Examples of program instructions may include high-level language codes that can be executed by a computer using an interpreter or the like as well as machine language codes such as those generated by a compiler.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical spirit of the present invention, and various modifications and variations will be possible without departing from the essential characteristics of the present invention by those skilled in the art to which the present invention pertains. Accordingly, the embodiments disclosed in the present invention are not intended to limit the technical spirit of the present invention, but to explain, and the scope of the technical spirit of the present invention is not limited by these embodiments. The protection scope of the present invention should be construed by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.

10: 음성인식기
20: 음성 인식 오류 보정 장치
20a: 임베딩 사전
21: G2P 컨버터
23: 인코더
25: 오류검출기
27: 오류보정기
30: 의도분석기
10: voice recognizer
20: speech recognition error correction device
20a: Embedding Dictionary
21: G2P converter
23: encoder
25: error detector
27: error corrector
30: intent analyzer

Claims (13)

정답발화 토큰 및 해당 정답발화 토큰에 대응하는 하나 이상의 오류발화 토큰을 모두 유사한 벡터값을 가지는 정답 토큰별 밀집 벡터 공간안에 위치하도록 임베딩하기 위한 인코더;
상기 임베딩된 정답 토큰별 밀집 벡터 공간안의 정답발화 토큰을 기준으로 기 설정된 제1 맨하탄(Manhatan) 거리 내에 있는 하나 이상의 발화 토큰을 오류발화 토큰으로 검출하기 위한 오류검출기; 및
상기 임베딩된 정답 토큰별 밀집 벡터 공간 내에서 상기 검출된 오류발화 토큰으로부터 맨하탄 거리 기준으로 가장 가까이 있는 정답발화 토큰을 정답으로 추출하여 오류를 보정하기 위한 오류보정기;를 포함하고,
상기 오류보정기는 상기 임베딩된 정답 토큰별 밀집 벡터 공간 내에서 상기 검출된 오류발화 토큰으로부터 기 설정된 제2 맨하탄 거리 내에 있는 하나 이상의 정답발화 토큰을 정답 후보 보정군으로 추출하고, 상기 정답 후보 보정군 중 상기 검출된 오류발화 토큰으로부터 맨하탄 거리 기준으로 가장 가까이 있는 정답발화 토큰을 정답으로 추출하는 것을 특징으로 하는 음성 인식 오류 보정 장치.
an encoder for embedding the correct response token and one or more false alarm tokens corresponding to the correct response token to be located in a dense vector space for each correct token having a similar vector value;
an error detector for detecting one or more utterance tokens within a preset first Manhattan distance as erroneous utterance tokens based on the correct utterance tokens in the dense vector space for each embedded correct token; and
An error corrector for correcting an error by extracting the closest correct utterance token as a correct answer based on the Manhattan distance from the detected erroneous utterance token in the dense vector space for each embedded correct token.
The error corrector extracts one or more correct utterance tokens within a predetermined second Manhattan distance from the detected erroneous utterance token in the dense vector space for each embedded correct token as a correct answer candidate correction group, and from the correct correct candidate correction group Speech recognition error correcting apparatus, characterized in that extracting the closest correct utterance token as the correct answer based on the Manhattan distance from the detected erroneous utterance token.
삭제delete 제1항에 있어서,
정답으로 추출된 발화에 대한 의도분석 실패 시, 상기 오류보정기는 상기 추출된 정답 후보 보정군 중 이전 추출된 정답발화 토큰을 제외하고 상기 검출된 오류발화 토큰으로부터 맨하탄 거리 기준으로 가장 가까이 있는 정답발화 토큰을 정답으로 추출하는 것을 특징으로 하는 음성 인식 오류 보정 장치.
According to claim 1,
When the intention analysis for the utterance extracted as the correct answer fails, the error corrector is the closest correct utterance token from the detected erroneous utterance token, based on the Manhattan distance, except for the previously extracted correct utterance token among the extracted correct answer candidate correction groups. Speech recognition error correction device, characterized in that extracting the correct answer.
제1항에 있어서,
상기 인코더는 SNN(Spiking Neural Network) 기반 학습 모델로 구축된 것을 특징으로 하는 음성 인식 오류 보정 장치.
According to claim 1,
The encoder is a speech recognition error correction device, characterized in that the SNN (Spiking Neural Network) based learning model is built.
제4항에 있어서,
상기 SNN 기반 학습 모델은 LSTM(Long Short Term Memory), CNN(Convolutional Neural Network), 및 SVM(Supportive Vector Machine) 중 하나의 모델을 포함하는 것을 특징으로 하는 음성 인식 오류 보정 장치.
5. The method of claim 4,
The SNN-based learning model is a speech recognition error correction apparatus, characterized in that it includes one of a Long Short Term Memory (LSTM), a Convolutional Neural Network (CNN), and a Supportive Vector Machine (SVM).
(a) 정답발화 토큰 및 해당 정답발화 토큰에 대응하는 하나 이상의 오류발화 토큰을 모두 유사한 벡터값을 가지는 정답 토큰별 밀집 벡터 공간안에 위치하도록 임베딩하기 위한 인코더를 구축하는 단계;
(b) 상기 임베딩된 정답 토큰별 밀집 벡터 공간안의 정답발화 토큰을 기준으로 기 설정된 제1 맨하탄(Manhatan) 거리 내에 있는 하나 이상의 발화 토큰을 오류발화 토큰으로 검출하기 위한 단계; 및
(c) 상기 임베딩된 정답 토큰별 밀집 벡터 공간 내에서 상기 검출된 오류발화 토큰으로부터 맨하탄 거리 기준으로 가장 가까이 있는 정답발화 토큰을 정답으로 추출하여 오류를 보정하기 위한 단계;를 포함하고,
상기 단계 (c)는 상기 임베딩된 정답 토큰별 밀집 벡터 공간 내에서 상기 검출된 오류발화 토큰으로부터 기 설정된 제2 맨하탄 거리 내에 있는 하나 이상의 정답발화 토큰을 정답 후보 보정군으로 추출하고, 상기 정답 후보 보정군 중 상기 검출된 오류발화 토큰으로부터 맨하탄 거리 기준으로 가장 가까이 있는 정답발화 토큰을 정답으로 추출하는 것을 특징으로 하는 음성 인식 오류 보정 방법.
(a) constructing an encoder for embedding a correct speech token and one or more false speech tokens corresponding to the correct speech token to be located in a dense vector space for each correct token having a similar vector value;
(b) detecting one or more utterance tokens within a preset first Manhattan distance as erroneous utterance tokens based on the correct utterance tokens in the dense vector space for each embedded correct token; and
(c) correcting the error by extracting the closest correct utterance token as a correct answer based on the Manhattan distance from the detected erroneous utterance token in the dense vector space for each embedded correct token.
The step (c) is to extract one or more correct utterance tokens within a preset second Manhattan distance from the detected erroneous utterance token in the dense vector space for each embedded correct token as a correct answer candidate correction group, and correct the correct answer candidate A method for correcting speech recognition errors, characterized in that, from the detected erroneous speech tokens in the group, the closest correct speech token based on the Manhattan distance is extracted as the correct answer.
삭제delete 제6항에 있어서,
상기 단계 (c)는, 정답으로 추출된 발화에 대한 의도분석 실패 시, 상기 추출된 정답 후보 보정군 중 이전 추출된 정답발화 토큰을 제외하고 상기 검출된 오류발화 토큰으로부터 맨하탄 거리 기준으로 가장 가까이 있는 정답발화 토큰을 정답으로 추출하는 것을 특징으로 하는 음성 인식 오류 보정 방법.
7. The method of claim 6,
In the step (c), when the intention analysis for the utterance extracted as the correct answer fails, the extracted correct utterance token is excluded from the previously extracted correct utterance token among the extracted correct answer candidate correction group. A method for correcting speech recognition errors, characterized in that the correct utterance token is extracted as the correct answer.
제6항에 있어서,
상기 인코더는 (2개 이상의 동일한 서브 네트워크를 갖는) SNN(Spiking Neural Network) 기반 학습 모델로 구축된 것을 특징으로 하는 음성 인식 오류 보정 방법.
7. The method of claim 6,
The encoder is a speech recognition error correction method, characterized in that it is built with a SNN (Spiking Neural Network)-based learning model (having two or more identical subnetworks).
제9항에 있어서,
상기 SNN 기반 학습 모델은 LSTM(Long Short Term Memory), CNN(Convolutional Neural Network), 및 SVM(Supportive Vector Machine) 중 하나의 모델을 포함하는 것을 특징으로 하는 음성 인식 오류 보정 방법.
10. The method of claim 9,
The SNN-based learning model comprises one of a Long Short Term Memory (LSTM), a Convolutional Neural Network (CNN), and a Supportive Vector Machine (SVM).
제6항 및 제8항 내지 제10항 중 어느 한 항의 상기 음성 인식 오류 보정 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.A computer-readable recording medium in which a program for executing the method for correcting a voice recognition error according to any one of claims 6 and 8 to 10 is recorded on a computer. 제6항 및 제8항 내지 제10항 중 어느 한 항의 상기 음성 인식 오류 보정 방법을 하드웨어와 결합하여 실행시키기 위하여 컴퓨터로 읽을 수 있는 기록 매체에 저장된 애플리케이션.11. An application stored in a computer-readable recording medium in order to execute the voice recognition error correction method of any one of claims 6 and 8 to 10 in combination with hardware. 제6항 및 제8항 내지 제10항 중 어느 한 항의 상기 음성 인식 오류 보정 방법을 컴퓨터에서 실행시키기 위하여 컴퓨터로 읽을 수 있는 기록 매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer-readable recording medium to execute the method for correcting the speech recognition error of any one of claims 6 and 8 to 10 in a computer.
KR1020190158218A 2019-12-02 2019-12-02 Apparatus and Method for correcting error of speech recognition KR102324829B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190158218A KR102324829B1 (en) 2019-12-02 2019-12-02 Apparatus and Method for correcting error of speech recognition

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190158218A KR102324829B1 (en) 2019-12-02 2019-12-02 Apparatus and Method for correcting error of speech recognition

Publications (2)

Publication Number Publication Date
KR20210068776A KR20210068776A (en) 2021-06-10
KR102324829B1 true KR102324829B1 (en) 2021-11-11

Family

ID=76378140

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190158218A KR102324829B1 (en) 2019-12-02 2019-12-02 Apparatus and Method for correcting error of speech recognition

Country Status (1)

Country Link
KR (1) KR102324829B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230155156A (en) 2022-05-03 2023-11-10 서강대학교산학협력단 Voice recognition system by using a single tokenizer and method of tokenization in the voice recognition system
KR20240098282A (en) 2022-12-20 2024-06-28 서강대학교산학협력단 System for correcting errors of a speech recognition system and method thereof

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102374405B1 (en) * 2021-06-28 2022-03-15 주식회사 무하유 Apparatus and method for post-processing speech recognition in artificial intelligence interview

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016110082A (en) * 2014-12-08 2016-06-20 三星電子株式会社Samsung Electronics Co.,Ltd. Language model training method and apparatus, and speech recognition method and apparatus

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101394253B1 (en) 2012-05-16 2014-05-13 광주과학기술원 Apparatus for correcting error of speech recognition

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016110082A (en) * 2014-12-08 2016-06-20 三星電子株式会社Samsung Electronics Co.,Ltd. Language model training method and apparatus, and speech recognition method and apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230155156A (en) 2022-05-03 2023-11-10 서강대학교산학협력단 Voice recognition system by using a single tokenizer and method of tokenization in the voice recognition system
KR20240098282A (en) 2022-12-20 2024-06-28 서강대학교산학협력단 System for correcting errors of a speech recognition system and method thereof

Also Published As

Publication number Publication date
KR20210068776A (en) 2021-06-10

Similar Documents

Publication Publication Date Title
CN111954903B (en) Multi-speaker neuro-text-to-speech synthesis
KR102324829B1 (en) Apparatus and Method for correcting error of speech recognition
US7366669B2 (en) Acoustic model creation method as well as acoustic model creation apparatus and speech recognition apparatus
Zeng et al. A multiversion programming inspired approach to detecting audio adversarial examples
JP2019522810A (en) Neural network based voiceprint information extraction method and apparatus
US20140019131A1 (en) Method of recognizing speech and electronic device thereof
CN112331229B (en) Voice detection method, device, medium and computing equipment
JP2020042257A (en) Voice recognition method and device
WO2019126881A1 (en) System and method for tone recognition in spoken languages
JP6552999B2 (en) Text correction device, text correction method, and program
KR101483947B1 (en) Apparatus for discriminative training acoustic model considering error of phonemes in keyword and computer recordable medium storing the method thereof
Murthy et al. Effect of TTS Generated Audio on OOV Detection and Word Error Rate in ASR for Low-resource Languages.
CN115455946A (en) Voice recognition error correction method and device, electronic equipment and storage medium
KR100930714B1 (en) Voice recognition device and method
KR101424496B1 (en) Apparatus for learning Acoustic Model and computer recordable medium storing the method thereof
JP6577900B2 (en) Phoneme error acquisition device, phoneme error acquisition method, and program
US20230076073A1 (en) Method and apparatus for speech recognition
KR101283271B1 (en) Apparatus for language learning and method thereof
JP6716513B2 (en) VOICE SEGMENT DETECTING DEVICE, METHOD THEREOF, AND PROGRAM
JP7348447B2 (en) Speaker diarization correction method and system utilizing text-based speaker change detection
KR102299269B1 (en) Method and apparatus for building voice database by aligning voice and script
JP2745562B2 (en) Noise adaptive speech recognizer
KR101677530B1 (en) Apparatus for speech recognition and method thereof
KR102300303B1 (en) Voice recognition considering utterance variation
KR20200091738A (en) Server, method and computer program for detecting keyword

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right