KR102187528B1 - 도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치 및 그 동작 방법 - Google Patents

도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치 및 그 동작 방법 Download PDF

Info

Publication number
KR102187528B1
KR102187528B1 KR1020180163228A KR20180163228A KR102187528B1 KR 102187528 B1 KR102187528 B1 KR 102187528B1 KR 1020180163228 A KR1020180163228 A KR 1020180163228A KR 20180163228 A KR20180163228 A KR 20180163228A KR 102187528 B1 KR102187528 B1 KR 102187528B1
Authority
KR
South Korea
Prior art keywords
recognition
sentence
user
speech recognition
voice
Prior art date
Application number
KR1020180163228A
Other languages
English (en)
Other versions
KR20200074624A (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 KR1020180163228A priority Critical patent/KR102187528B1/ko
Publication of KR20200074624A publication Critical patent/KR20200074624A/ko
Application granted granted Critical
Publication of KR102187528B1 publication Critical patent/KR102187528B1/ko

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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • 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/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • 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

Abstract

도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치 및 그 동작 방법이 개시된다. 본 발명은 미리 구축되어 있는 음성 인식 모델들과 분야(도메인)별 특성에 따라 미리 구축되어 있는 사용자 정의 단어 테이블들 중 특정 분야에 적합한 음성 인식 모델과 사용자 정의 단어 테이블의 조합을 찾은 후 상기 조합을 상기 특정 분야에 특화된 음성 인식 모델로 결정하고, 결정된 음성 인식 모델을 기초로 상기 특정 분야에 대한 음성 인식 처리를 수행하는 음성 인식 장치 및 그 동작 방법을 제시함으로써, 상기 특정 분야에 대한 음성 인식률의 향상을 도모할 수 있다.

Description

도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치 및 그 동작 방법{SPEECH RECOGNITION APPARATUS CAPABLE OF OPTIMIZING A DOMAIN-BASED SPEECH RECOGNITION MODEL AND OPERATING METHOD THEREOF}
본 발명은 음성 인식률을 향상시키기 위해 분야(도메인)별 특성을 고려하여 음성 인식 모델을 최적화할 수 있는 음성 인식 장치 및 그 동작 방법에 대한 것이다.
최근, 인공지능 기능이 탑재된 전자 장비들이 출시됨에 따라 사용자가 음성으로 명령을 인가하면, 사용자의 음성을 인식하여 제어를 수행하는 기술이 주목받고 있다.
음성 인식 기술은 발화자로부터 음성이 입력되면, 음성의 특징을 분석하여 특징 벡터를 추출하고, 특징 벡터의 패턴을 인식한 후 패턴 인식 결과에 기반하여 발화자의 음성에 매칭되는 단어나 문장을 결과로 출력하는 기술을 의미한다.
이러한 음성 인식 기술은 다양한 음성 데이터를 수집하여 소정의 음성 인식 모델 데이터로 구축해 둠으로써, 사용자에 의해 인가되는 음성에 매칭되는 문자를 생성하도록 구성된다.
보통, 음성 인식에 사용되는 음성 인식 모델 데이터는 음성 인식이 활용되는 분야(다른 말로 '도메인'으로 칭할 수 있음)에 따라 다르게 구성될 수 있다.
예컨대, 의료 분야에서 음성 인식에 사용되는 음성 인식 모델 데이터는 의료 분야에 주로 활용되는 음성 및 언어 데이터들로 구성되어 있기 때문에 의료 분야와 관련된 음성에 대한 인식률이 높게 나오도록 구축되어 있으며, 법률 분야에서 음성 인식에 사용되는 음성 인식 모델 데이터는 법률 분야에 주로 활용되는 음성 및 언어 데이터들로 구성되어 있기 때문에 법률 분야와 관련된 음성에 대한 인식률이 높게 나오도록 구축되어 있다.
이렇게 언어가 활용되는 분야가 다양하게 존재하고 있기 때문에 특수한 분야에서 사용되는 단어나 신조어를 사용자가 음성으로 인가하였을 때, 일반적인 음성 인식 모델 데이터를 기반으로 음성 인식을 수행하는 경우, 사용자가 의도한 정확한 단어나 문장이 결과물로 도출되지 못하는 문제가 발생할 수 있다.
특수한 분야의 단어나 신조어에 대한 음성 인식률을 높이기 위해서는 새로운 단어나 문장에 대한 훈련 데이터를 확보하여 음성 인식 모델 데이터에 추가하는 방법을 사용할 수 있지만, 새로운 단어나 문장에 대한 음성 인식 모델 데이터를 구축하기 위해서는 다수의 음성 데이터와 훈련 데이터들의 확보가 필요하다는 점에서 한계가 존재한다.
따라서, 이미 구축되어 있는 음성 인식 모델 데이터를 이용하여서도 특수한 분야에 대한 음성 인식의 정확도를 높일 수 있도록 하기 위한 기법의 연구가 필요하다.
본 발명은 미리 구축되어 있는 음성 인식 모델들과 분야별 특성에 따라 미리 구축되어 있는 사용자 정의 단어 테이블들 중 특정 분야에 적합한 음성 인식 모델과 사용자 정의 단어 테이블의 조합을 찾은 후 상기 조합을 상기 특정 분야에 특화된 음성 인식 모델로 결정하고, 결정된 음성 인식 모델을 기초로 상기 특정 분야에 대한 음성 인식 처리를 수행하는 음성 인식 장치 및 그 동작 방법을 제시함으로써, 상기 특정 분야에 대한 음성 인식률의 향상을 도모할 수 있도록 한다.
본 발명의 일실시예에 따른 도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치는 미리 구축된 서로 다른 K(K는 2이상의 자연수)개 음성 인식 모델들에 대한 데이터가 저장되어 있는 모델 데이터 저장부, 미리 구축된 서로 다른 N(N은 2이상의 자연수)개의 사용자 정의 단어 테이블들 - 각 사용자 정의 단어 테이블에는 사용자 정의 단어 테이블별로 서로 다른 복수의 사용자 정의 단어들이 기록되어 있음 - 이 저장되어 있는 테이블 저장부, 사용자로부터 제1 분야에 특화된 음성 인식 모델의 최적화 명령이 인가되면, 마이크로폰을 상기 사용자로부터 상기 제1 분야에서 사용되는 것으로 미리 지정된 제1 문장에 대한 음성을 입력받고, 상기 K개의 음성 인식 모델들에 대한 데이터를 기초로 음성 인식을 수행하여 상기 K개의 음성 인식 모델들 각각에 대응하는 K개의 인식 문장들을 생성하는 인식 문장 생성부, 상기 K개의 인식 문장들이 생성되면, 상기 K개의 인식 문장들 각각에 대해, 상기 N개의 사용자 정의 단어 테이블들을 참조하여 각 인식 문장에 포함되어 있는 단어들을 문자열 유사도가 최대인 사용자 정의 단어들로 대체함으로써, K x N개의 보정된 인식 문장들을 생성하는 인식 문장 보정부, 상기 K x N개의 보정된 인식 문장들의 상기 제1 문장에 대한 WER(Word Error Rate)을 연산하여 상기 K x N개의 보정된 인식 문장들 중 상기 제1 문장에 대한 WER이 최소인 제1 보정된 인식 문장을 선택하는 인식 문장 선택부 및 상기 K개의 음성 인식 모델들과 상기 N개의 사용자 정의 단어 테이블들 중 상기 제1 보정된 인식 문장의 생성에 사용된 제1 음성 인식 모델과 제1 사용자 정의 단어 테이블의 조합을 상기 제1 분야에 특화된 음성 인식 모델로 결정하는 최적화 모델 결정부를 포함한다.
또한, 본 발명의 일실시예에 따른 도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치의 동작 방법은 미리 구축된 서로 다른 K(K는 2이상의 자연수)개 음성 인식 모델들에 대한 데이터가 저장되어 있는 모델 데이터 저장부를 유지하는 단계, 미리 구축된 서로 다른 N(N은 2이상의 자연수)개의 사용자 정의 단어 테이블들 - 각 사용자 정의 단어 테이블에는 사용자 정의 단어 테이블별로 서로 다른 복수의 사용자 정의 단어들이 기록되어 있음 - 이 저장되어 있는 테이블 저장부를 유지하는 단계, 사용자로부터 제1 분야에 특화된 음성 인식 모델의 최적화 명령이 인가되면, 마이크로폰을 상기 사용자로부터 상기 제1 분야에서 사용되는 것으로 미리 지정된 제1 문장에 대한 음성을 입력받고, 상기 K개의 음성 인식 모델들에 대한 데이터를 기초로 음성 인식을 수행하여 상기 K개의 음성 인식 모델들 각각에 대응하는 K개의 인식 문장들을 생성하는 단계, 상기 K개의 인식 문장들이 생성되면, 상기 K개의 인식 문장들 각각에 대해, 상기 N개의 사용자 정의 단어 테이블들을 참조하여 각 인식 문장에 포함되어 있는 단어들을 문자열 유사도가 최대인 사용자 정의 단어들로 대체함으로써, K x N개의 보정된 인식 문장들을 생성하는 단계, 상기 K x N개의 보정된 인식 문장들의 상기 제1 문장에 대한 WER을 연산하여 상기 K x N개의 보정된 인식 문장들 중 상기 제1 문장에 대한 WER이 최소인 제1 보정된 인식 문장을 선택하는 단계 및 상기 K개의 음성 인식 모델들과 상기 N개의 사용자 정의 단어 테이블들 중 상기 제1 보정된 인식 문장의 생성에 사용된 제1 음성 인식 모델과 제1 사용자 정의 단어 테이블의 조합을 상기 제1 분야에 특화된 음성 인식 모델로 결정하는 단계를 포함한다.
본 발명은 미리 구축되어 있는 음성 인식 모델들과 분야별 특성에 따라 미리 구축되어 있는 사용자 정의 단어 테이블들 중 특정 분야에 적합한 음성 인식 모델과 사용자 정의 단어 테이블의 조합을 찾은 후 상기 조합을 상기 특정 분야에 특화된 음성 인식 모델로 결정하고, 결정된 음성 인식 모델을 기초로 상기 특정 분야에 대한 음성 인식 처리를 수행하는 음성 인식 장치 및 그 동작 방법을 제시함으로써, 상기 특정 분야에 대한 음성 인식률의 향상을 도모할 수 있다.
도 1은 본 발명의 일실시예에 따른 도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치의 구조를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치의 동작 방법을 도시한 순서도이다.
이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.
한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.
도 1은 본 발명의 일실시예에 따른 도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치의 구조를 도시한 도면이다.
도 1을 참조하면, 본 발명에 따른 도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치(110)는 모델 데이터 저장부(111), 테이블 저장부(112), 인식 문장 생성부(113), 인식 문장 보정부(114), 인식 문장 선택부(115) 및 최적화 모델 결정부(116)를 포함한다.
모델 데이터 저장부(111)는 미리 구축된 서로 다른 K(K는 2이상의 자연수)개 음성 인식 모델들에 대한 데이터가 저장되어 있다.
여기서, 음성 인식 모델이란 음성 인식을 위해 확보된 다수의 말뭉치들(Corpus)을 기초로 사용자로부터 인가된 음성을 인식하기 위해 구축한 확률적 모델을 의미하는 것으로, 모델 데이터 저장부(111)에는 의료 분야, 법률 분야 등과 같이 서로 다른 분야별로 각 분야에서 주로 사용되는 말뭉치들을 기초로 사전 구축된 K개의 음성 인식 모델들에 대한 데이터가 저장되어 있을 수 있다.
테이블 저장부(112)에는 미리 구축된 서로 다른 N(N은 2이상의 자연수)개의 사용자 정의 단어 테이블들이 저장되어 있다.
여기서, 사용자 정의 단어 테이블이란 사용자에 의해서 미리 지정된 사용자 정의 단어들이 기록되어 있는 테이블을 의미하는 것으로, 사용자는 의료 분야, 법률 분야 등과 같은 각 분야별로 서로 다른 사용자 정의 단어 테이블을 미리 구축해서 테이블 저장부(112)에 저장해 둘 수 있다.
예컨대, 사용자는 의료 분야에서 주로 사용되는 전문 용어들을 사용자 정의 단어로 지정하여 의료 분야에 대한 사용자 정의 단어 테이블을 구축한 후 테이블 저장부(112)에 저장해 둘 수 있고, 법률 분야에서 주로 사용되는 전문 용어들을 사용자 정의 단어로 지정하여 법률 분야에 대한 사용자 정의 단어 테이블을 구축한 후 테이블 저장부(112)에 저장해 둘 수 있다.
이러한 방식으로, 테이블 저장부(121)에는 각 분야에 따라 지정된 사용자 정의 단어들이 기록되어 있는 N개의 서로 다른 사용자 정의 단어 테이블들이 저장되어 있을 수 있다.
이때, 테이블 저장부(121)에 법률 분야에 대한 사용자 정의 단어 테이블이 저장되어 있다고 하였을 때, 법률 분야에 대한 사용자 정의 단어 테이블은 하기의 표 1과 같은 형태가 될 수 있다.
복수의 사용자 정의 단어들
판례
소송
기판력
법률
...
이렇게, 모델 데이터 저장부(111)와 테이블 저장부(112)가 있는 상황 하에서 사용자로부터 제1 분야에 특화된 음성 인식 모델의 최적화 명령이 인가되면, 인식 문장 생성부(113)는 마이크로폰을 통해 상기 사용자로부터 상기 제1 분야에서 사용되는 것으로 미리 지정된 제1 문장에 대한 음성을 입력받고, 상기 K개의 음성 인식 모델들에 대한 데이터를 기초로 음성 인식을 수행하여 상기 K개의 음성 인식 모델들 각각에 대응하는 K개의 인식 문장들을 생성한다.
예컨대, 상기 제1 분야가 '지식재산권 분야'라고 하고, 상기 제1 분야인 '지식재산권 분야'에서 사용되는 것으로 미리 지정된 제1 문장이 '본원발명은 진보성이 부정되어 법률에 따라 등록을 받을 수 없습니다.'라고 가정하자. 이때, 인식 문장 생성부(113)는 상기 사용자로부터 상기 제1 분야인 '지식재산권 분야'에 특화된 음성 인식 모델의 최적화 명령이 인가되면, 상기 마이크로폰을 통해 상기 사용자로부터 상기 제1 문장인 '본원발명은 진보성이 부정되어 법률에 따라 등록을 받을 수 없습니다.'에 대한 음성을 입력받은 후 모델 데이터 저장부(111)에 저장되어 있는 상기 K개의 음성 인식 모델들에 대한 데이터를 기초로 음성 인식을 수행하여 K개의 음성 인식 모델들 각각에 대응하는 K개의 인식 문장들을 생성할 수 있다. 이때, 모델 데이터 데이터 저장부(111)에 8개 분야에 대해서 미리 구축한 8개의 음성 인식 모델들에 대한 데이터가 저장되어 있다고 하는 경우, 인식 문장 생성부(113)는 상기 사용자로부터 인가된 '본원발명은 진보성이 부정되어 법률에 따라 등록을 받을 수 없습니다.'라는 문장에 대한 음성을 8개의 음성 인식 모델들을 기초로 음성 인식을 수행함으로써, 8개의 음성 인식 모델들 각각을 통해서 인식한 8개의 인식 문장들을 생성할 수 있다.
인식 문장 보정부(114)는 상기 K개의 인식 문장들이 생성되면, 상기 K개의 인식 문장들 각각에 대해, 상기 N개의 사용자 정의 단어 테이블들을 참조하여 각 인식 문장에 포함되어 있는 단어들을 문자열 유사도가 최대인 사용자 정의 단어들로 대체함으로써, K x N개의 보정된 인식 문장들을 생성한다.
관련해서, 앞서 설명한 예와 같이 '본원발명은 진보성이 부정되어 법률에 따라 등록을 받을 수 없습니다.'라는 문장에 대한 8개의 인식 문장들이 생성되었다고 하고, 테이블 저장부(112)에 5개의 사용자 정의 단어 테이블들이 저장되어 있다고 하는 경우, 인식 문장 보정부(114)는 상기 8개의 인식 문장들 각각에 대해, 테이블 저장부(112)에 저장되어 있는 상기 5개의 사용자 정의 단어 테이블들을 참조하여 각 인식 문장에 포함되어 있는 단어들을 문자열 유사도가 최대인 사용자 정의 단어들로 대체함으로써, 40개의 보정된 인식 문장들을 생성할 수 있다.
예컨대, 인식 문장 보정부(114)는 상기 8개의 인식 문장들 중 '인식 문장 1'에 대해 상기 5개의 사용자 정의 단어 테이블들을 참조하여 '인식 문장 1'에 포함되어 있는 단어들을 상기 5개의 사용자 정의 단어 테이블들에 기록되어 있는 사용자 정의 단어들 중 문자열 유사도가 최대인 사용자 정의 단어들로 대체함으로써, 5개의 보정된 '인식 문장 1'을 생성할 수 있다.
즉, 상기 5개의 사용자 정의 단어 테이블들을 '사용자 정의 단어 테이블 1', '사용자 정의 단어 테이블 2', '사용자 정의 단어 테이블 3', '사용자 정의 단어 테이블 4', '사용자 정의 단어 테이블 5'라고 하는 경우, 인식 문장 보정부(114)는 '인식 문장 1'에 포함되어 있는 단어들을 '사용자 정의 단어 테이블 1'에 기록되어 있는 사용자 정의 단어들 중 문자열 유사도가 최대인 사용자 정의 단어들로 대체함으로써, '사용자 정의 단어 테이블 1'에 따른 보정된 '인식 문장 1'을 생성할 수 있고, '인식 문장 1'에 포함되어 있는 단어들을 '사용자 정의 단어 테이블 2'에 기록되어 있는 사용자 정의 단어들 중 문자열 유사도가 최대인 사용자 정의 단어들로 대체함으로써, '사용자 정의 단어 테이블 2'에 따른 보정된 '인식 문장 1'을 생성할 수 있으며, '인식 문장 1'에 포함되어 있는 단어들을 '사용자 정의 단어 테이블 3'에 기록되어 있는 사용자 정의 단어들 중 문자열 유사도가 최대인 사용자 정의 단어들로 대체함으로써, '사용자 정의 단어 테이블 3'에 따른 보정된 '인식 문장 1'을 생성할 수 있고, '인식 문장 1'에 포함되어 있는 단어들을 '사용자 정의 단어 테이블 4'에 기록되어 있는 사용자 정의 단어들 중 문자열 유사도가 최대인 사용자 정의 단어들로 대체함으로써, '사용자 정의 단어 테이블 4'에 따른 보정된 '인식 문장 1'을 생성할 수 있고, '인식 문장 1'에 포함되어 있는 단어들을 '사용자 정의 단어 테이블 5'에 기록되어 있는 사용자 정의 단어들 중 문자열 유사도가 최대인 사용자 정의 단어들로 대체함으로써, '사용자 정의 단어 테이블 5'에 따른 보정된 '인식 문장 1'을 생성할 수 있다.
이때, 문자열 유사도는 최장 공통 부분 수열(Longest Common Subsequence: LCS)의 길이가 사용될 수 있다. LCS란 두 개의 문자열에서 일치하는 연속된 문자열을 의미하는 것으로, 'ACAYKP'와 'CAPCAK'가 있다고 하였을 때, 두 문자열 간의 LCS는 'ACAK'이고, 이때 LCS의 길이는 '4'가 된다. 따라서, LCS의 길이가 길수록 두 문자 간의 문자열 유사도가 크다고 볼 수 있다.
만약, 상기 '사용자 정의 단어 테이블 1'이 상기 표 1에서 나타낸 테이블과 같다고 하고, 상기 '인식 문장 1'에서 추출된 단어 중 하나가 '법령'이라고 하며, 상기 '사용자 정의 단어 테이블 1'에 기록되어 있는 사용자 정의 단어들 중 '법령'과의 문자열 유사도가 최대인 사용자 정의 단어가 '법률'이라고 하는 경우, 인식 문장 보정부(114)는 상기 '인식 문장 1'에 포함되어 있는 '법령'이라는 단어를 '법률'로 대체할 수 있다.
이러한 방식으로, 인식 문장 보정부(114)는 상기 '인식 문장 1'에 포함된 단어들을 상기 5개의 사용자 정의 단어 테이블들에서의 문자열 유사도가 최대인 사용자 정의 단어들로 대체함으로써, 5개의 보정된 '인식 문장 1'을 생성할 수 있고, 나머지 7개의 인식 문장들 각각에 대해서도 상기 5개의 사용자 정의 단어 테이블들에서의 문자열 유사도가 최대인 사용자 정의 단어들로 대체함으로써, 결국, 40개의 보정된 인식 문장들을 생성할 수 있다.
인식 문장 선택부(115)는 인식 문장 보정부(114)를 통해 상기 K x N개의 보정된 인식 문장들이 생성되면, 상기 K x N개의 보정된 인식 문장들의 상기 제1 문장에 대한 WER(Word Error Rate)을 연산하여 상기 K x N개의 보정된 인식 문장들 중 상기 제1 문장에 대한 WER이 최소인 제1 보정된 인식 문장을 선택한다.
예컨대, 전술한 예시에 따라 상기 제1 문장이 '본원발명은 진보성이 부정되어 법률에 따라 등록을 받을 수 없습니다.'라고 하고, 인식 문장 보정부(114)를 통해 40개의 보정된 인식 문장들이 생성되었다고 하는 경우, 인식 문장 선택부(115)는 상기 40개의 보정된 인식 문장들의 상기 제1 문장인 '본원발명은 진보성이 부정되어 법률에 따라 등록을 받을 수 없습니다.'에 대한 WER을 연산하여 상기 40개의 보정된 인식 문장들 중 상기 제1 문장에 대한 WER이 최소인 보정된 인식 문장을 상기 제1 보정된 인식 문장으로 선택할 수 있다.
WER이란 음성 인식을 통해 인식된 문장의 원래 문장에 대한 오인식률을 나타내는 척도로 하기의 수학식 1에 따라 연산될 수 있다.
Figure 112018126589385-pat00001
여기서, S는 원본 문장과 음성 인식된 문장을 비교하였을 때, 음성 인식된 문장에서 대체된 문자의 개수, D는 음성 인식된 문장에서 삭제된 문자의 개수, I는 음성 인식된 문장에서 추가된 문자의 개수, C는 음성 인식된 문장에서 원본 문장과 일치하는 문자의 개수를 의미한다. WER이 낮을수록 음성 인식된 문장과 원본 문장이 서로 일치할 확률이 높다고 볼 수 있어, 원본 문장에 대한 음성 인식률이 높다고 볼 수 있다.
따라서, 인식 문장 선택부(115)는 상기 K x N개의 보정된 인식 문장들 중 상기 제1 문장에 대한 WER이 최소인 상기 제1 보정된 인식 문장을 상기 제1 문장에 대한 음성 인식률이 최대로 나타난 문장으로 선택할 수 있다.
최적화 모델 결정부(116)는 상기 제1 보정된 인식 문장에 대한 선택이 완료되면, 상기 K개의 음성 인식 모델들과 상기 N개의 사용자 정의 단어 테이블들 중 상기 제1 보정된 인식 문장의 생성에 사용된 제1 음성 인식 모델과 제1 사용자 정의 단어 테이블의 조합을 상기 제1 분야에 특화된 음성 인식 모델로 결정한다.
즉, 상기 제1 분야가 '지식재산권 분야'라고 하였을 때, 상기 제1 음성 인식 모델을 '음성 인식 모델 1', 상기 제1 사용자 정의 단어 테이블을 '사용자 정의 단어 테이블 3'이라고 하면, 최적화 모델 결정부(116)는 '음성 인식 모델 1-사용자 정의 단어 테이블 3'이라는 조합을 '지식재산권 분야'에 특화된 음성 인식 모델로 결정할 수 있다.
이로 인해, 추후 사용자가 '지식재산권 분야'에 대해서 음성 인식 명령을 음성 인식 장치(110)에 인가하게 되면, 음성 인식 장치(110)는 사용자에 의해서 인가된 음성을 '음성 인식 모델 1'을 통해서 인식한 후 인식된 문장에 포함되어 있는 단어들을 '사용자 정의 단어 테이블 3'을 통해 대체함으로써, '지식재산권 분야'에 대해서 인가된 사용자 음성에 대한 인식을 수행할 수 있다.
관련해서, 본 발명의 일실시예에 따르면, 음성 인식 장치(110)는 상기 제1 분야에 특화된 음성 인식 모델의 결정이 완료된 이후, 상기 사용자로부터 상기 제1 분야에 특화된 음성 인식 모델을 기초로 한 음성 인식 명령이 인가되었을 때, 음성 인식을 처리하기 위한 구성으로, 음성 인식부(117), 단어 확인부(118), 문장 보정부(119) 및 음성 인식 처리 완료부(120)를 더 포함할 수 있다.
음성 인식부(117)는 상기 제1 분야에 특화된 음성 인식 모델에 대한 결정이 완료된 이후, 상기 마이크로폰을 통해 상기 사용자로부터 제2 문장에 대한 음성이 입력되면서, 상기 제1 분야에 특화된 음성 인식 모델을 기초로 한 음성 인식 명령이 인가되면, 상기 제1 음성 인식 모델에 대한 데이터를 기초로 상기 사용자의 음성을 인식하여 상기 사용자의 음성 인식 결과에 따른 제2 인식 문장를 생성한다.
단어 확인부(118)는 상기 제2 인식 문장에 대해 형태소 분석을 수행하여 상기 제2 인식 문장에 포함되어 있는 복수의 단어들을 확인한다.
문장 보정부(119)는 상기 제2 인식 문장에서 상기 복수의 단어들 각각을, 상기 제1 사용자 정의 단어 테이블에 기록되어 있는 복수의 사용자 정의 단어들 중 문자열 유사도가 최대인 사용자 정의 단어로 대체함으로써, 상기 제2 인식 문장에 대한 보정을 수행한다.
이때, 본 발명의 일실시예에 따르면, 문장 보정부(119)는 상기 복수의 단어들 중 대체 대상이 되는 사용자 정의 단어와의 문자열 유사도가 미리 설정된 기준 유사도를 초과하지 않는 적어도 하나의 제1 단어가 존재하는 경우, 상기 제2 인식 문장에서 상기 적어도 하나의 제1 단어에 대해 사용자 정의 단어로의 대체를 수행하지 않을 수 있다.
예컨대, 상기 제2 인식 문장에 포함되어 있는 단어들이 '단어 1', '단어 2', '단어 3'이라고 하는 경우, 문장 보정부(119)는 원칙적으로 '단어 1', '단어 2', '단어 3' 각각에 대해 상기 제1 사용자 정의 단어 테이블에 기록되어 있는 단어들 중 문자열 유사도가 최대인 사용자 정의 단어로 대체함으로써, 상기 제2 인식 문장에 대한 보정을 수행할 수 있다. 이때, '단어 1', '단어 2', '단어 3' 중 '단어 2'에 대해서 문자열 유사도가 최대로 확인된 사용자 정의 단어와의 문자열 유사도가 상기 기준 유사도를 초과하지 않는 것으로 확인되는 경우, 문장 보정부(119)는 '단어 2'에 대해 사용자 정의 단어로의 대체를 수행하지 않고, '단어 1'과 '단어 3'에 대해서만 사용자 정의 단어로 대체함으로써, 상기 제2 인식 문장에 대한 보정을 수행할 수 있다.
여기서, 문장 보정부(119)가 사용하는 상기 문자열 유사도는 LCS의 길이가 될 수 있다.
이렇게, 상기 제2 인식 문장에 대한 보정이 완료되면, 음성 인식 처리 완료부(120)는 상기 보정된 제2 인식 문장을 상기 제2 문장에 대한 음성 인식 결과로 화면 상에 표시한다.
이때, 본 발명의 일실시예에 따르면, 음성 인식 장치(110)는 폰트 정보 테이블 유지부(121)를 더 포함할 수 있다.
폰트 정보 테이블 유지부(121)는 미리 정해진 복수의 서로 다른 음량 값 범위들과 상기 복수의 서로 다른 음량 값 범위들 각각에 대한 미리 정해진 고유 폰트(font)에 대한 정보가 서로 대응되어 기록되어 있는 폰트 정보 테이블을 저장하여 유지한다.
예컨대, 상기 폰트 정보 테이블에는 하기의 표 2와 같이 정보가 기록되어 있을 수 있다.
복수의 서로 다른 음량 값 범위들 고유 폰트에 대한 정보
0~30dB 명조체
30~70dB 고딕체
70~100dB 궁서체
... ...
이때, 음성 인식부(117)는 상기 마이크로폰을 통해 상기 사용자로부터 상기 제2 문장에 대한 음성이 입력되면, 상기 사용자의 음성 입력에 따른 제1 음량 값을 확인하는 음량 값 확인부(122)를 포함할 수 있다.
그리고, 음성 인식 처리 완료부(120)는 상기 제2 인식 문장에 대한 보정이 완료되면, 상기 폰트 정보 테이블로부터 상기 제1 음량 값이 속해있는 음량 값 범위에 대응되어 기록되어 있는 제1 고유 폰트에 대한 정보를 확인한 후 상기 보정된 제2 인식 문장에 상기 제1 고유 폰트에 따른 폰트 서식을 적용하여 상기 화면 상에 표시할 수 있다.
예컨대, 상기 사용자에 의해 인가된 음성에 따른 상기 제1 음량 값이 '40dB'이라고 하는 경우, 음성 인식 처리 완료부(120)는 상기 표 2와 같은 폰트 정보 테이블을 참조하여 상기 제1 음량 값인 '40dB'이 속해있는 음량 값 범위에 대응되어 기록되어 있는 제1 고유 폰트에 대한 정보인 '고딕체'를 확인한 후 상기 보정된 제2 인식 문장에 '고딕체'에 따른 폰트 서식을 적용해서 화면 상에 표시할 수 있다.
또한, 본 발명의 일실시예에 따르면, 음성 인식 장치(110)는 질의 메시지 표시부(123), 정확도 테이블 기록부(124) 및 재수행 지시부(125)를 더 포함할 수 있다.
질의 메시지 표시부(123)는 상기 보정된 제2 인식 문장이 상기 화면 상에 표시되면, 상기 보정된 제2 인식 문장에 대한 음성 인식의 정확도를 질의하는 질의 메시지를 상기 화면 상에 표시한다.
정확도 테이블 기록부(124)는 상기 사용자로부터 상기 질의 메시지에 대응하는 응답 메시지로 상기 보정된 제2 인식 문장에 대한 음성 인식이 부정확함을 지시하는 부정확 응답 메시지가 수신되는 경우, 상기 제1 분야에 대한 음성 인식 모델과 관련한 상기 부정확 응답 메시지의 수신 횟수를 기록하기 위한 정확도 테이블을 생성하여 상기 정확도 테이블에 상기 부정확 응답 메시지의 수신 횟수를 1만큼 증가시켜 기록한다.
이렇게, 상기 정확도 테이블이 생성되면, 질의 메시지 표시부(123)와 정확도 테이블 기록부(124)는 상기 제1 분야에 대한 음성 인식이 수행될 때마다 음성 인식에 대한 정확도를 질의하는 질의 메시지를 상기 화면 상에 표시할 수 있고, 사용자로부터 상기 질의 메시지에 대응하여 부정확 응답 메시지가 수신될 때마다 상기 정확도 테이블에 상기 부정확 응답 메시지의 수신 횟수를 1만큼씩 증가시켜 기록할 수 있다.
이때, 재수행 지시부(125)는 상기 정확도 테이블에 기록되어 있는 상기 부정확 응답 메시지의 총 수신 횟수를 모니터링하여 상기 부정확 응답 메시지의 총 수신 횟수가 미리 설정된 기준 횟수를 초과하는 경우, 상기 제1 분야에 특화된 음성 인식 모델의 결정 과정을 재수행할 것을 지시하는 재수행 지시 메시지를 상기 화면 상에 표시한다.
즉, 본 발명에 따른 음성 인식 장치(110)는 상기 제1 분야에 대해 음성 인식 모델의 최적화가 완료된 이후, 사용자로부터 해당 음성 인식 모델의 정확도 여부를 피드백받아, 부정확하다는 피드백이 소정의 기준 횟수를 초과하게 되면, 상기 제1 분야에 특화된 음성 인식 모델을 결정하기 위한 과정을 다시 수행할 것을 지시하는 재수행 지시 메시지를 화면 상에 표시함으로써, 사용자가 상기 제1 분야에 특화된 음성 인식 모델을 결정하기 위한 과정을 다시 수행하도록 유도할 수 있다.
도 2는 본 발명의 일실시예에 따른 도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치의 동작 방법을 도시한 순서도이다.
단계(S210)에서는 미리 구축된 서로 다른 K(K는 2이상의 자연수)개 음성 인식 모델들에 대한 데이터가 저장되어 있는 모델 데이터 저장부를 유지한다.
단계(S220)에서는 미리 구축된 서로 다른 N(N은 2이상의 자연수)개의 사용자 정의 단어 테이블들(각 사용자 정의 단어 테이블에는 사용자 정의 단어 테이블별로 서로 다른 복수의 사용자 정의 단어들이 기록되어 있음)이 저장되어 있는 테이블 저장부를 유지한다.
단계(S230)에서는 사용자로부터 제1 분야에 특화된 음성 인식 모델의 최적화 명령이 인가되면, 마이크로폰을 통해 상기 사용자로부터 상기 제1 분야에서 사용되는 것으로 미리 지정된 제1 문장에 대한 음성을 입력받고, 상기 K개의 음성 인식 모델들에 대한 데이터를 기초로 음성 인식을 수행하여 상기 K개의 음성 인식 모델들 각각에 대응하는 K개의 인식 문장들을 생성한다.
단계(S240)에서는 상기 K개의 인식 문장들이 생성되면, 상기 K개의 인식 문장들 각각에 대해, 상기 N개의 사용자 정의 단어 테이블들을 참조하여 각 인식 문장에 포함되어 있는 단어들을 문자열 유사도가 최대인 사용자 정의 단어들로 대체함으로써, K x N개의 보정된 인식 문장들을 생성한다.
단계(S250)에서는 상기 K x N개의 보정된 인식 문장들의 상기 제1 문장에 대한 WER을 연산하여 상기 K x N개의 보정된 인식 문장들 중 상기 제1 문장에 대한 WER이 최소인 제1 보정된 인식 문장을 선택한다.
단계(S260)에서는 상기 K개의 음성 인식 모델들과 상기 N개의 사용자 정의 단어 테이블들 중 상기 제1 보정된 인식 문장의 생성에 사용된 제1 음성 인식 모델과 제1 사용자 정의 단어 테이블의 조합을 상기 제1 분야에 특화된 음성 인식 모델로 결정한다.
이때, 본 발명의 일실시예에 따르면, 상기 음성 인식 장치의 동작 방법은 상기 제1 분야에 특화된 음성 인식 모델에 대한 결정이 완료된 이후, 상기 마이크로폰을 통해 상기 사용자로부터 제2 문장에 대한 음성이 입력되면서, 상기 제1 분야에 특화된 음성 인식 모델을 기초로 한 음성 인식 명령이 인가되면, 상기 제1 음성 인식 모델에 대한 데이터를 기초로 상기 사용자의 음성을 인식하여 상기 사용자의 음성 인식 결과에 따른 제2 인식 문장를 생성하는 단계, 상기 제2 인식 문장에 대해 형태소 분석을 수행하여 상기 제2 인식 문장에 포함되어 있는 복수의 단어들을 확인하는 단계, 상기 제2 인식 문장에서 상기 복수의 단어들 각각을, 상기 제1 사용자 정의 단어 테이블에 기록되어 있는 복수의 사용자 정의 단어들 중 문자열 유사도가 최대인 사용자 정의 단어로 대체함으로써, 상기 제2 인식 문장에 대한 보정을 수행하는 단계 및 상기 보정된 제2 인식 문장을 상기 제2 문장에 대한 음성 인식 결과로 화면 상에 표시하는 단계를 더 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 제2 인식 문장에 대한 보정을 수행하는 단계는 상기 복수의 단어들 중 대체 대상이 되는 사용자 정의 단어와의 문자열 유사도가 미리 설정된 기준 유사도를 초과하지 않는 적어도 하나의 제1 단어가 존재하는 경우, 상기 제2 인식 문장에서 상기 적어도 하나의 제1 단어에 대해 사용자 정의 단어로의 대체를 수행하지 않을 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 음성 인식 장치의 동작 방법은 미리 정해진 복수의 서로 다른 음량 값 범위들과 상기 복수의 서로 다른 음량 값 범위들 각각에 대한 미리 정해진 고유 폰트에 대한 정보가 서로 대응되어 기록되어 있는 폰트 정보 테이블을 저장하여 유지하는 단계 및 상기 마이크로폰을 통해 상기 사용자로부터 상기 제2 문장에 대한 음성이 입력되면, 상기 사용자의 음성 입력에 따른 제1 음량 값을 확인하는 단계를 더 포함할 수 있다.
이때, 상기 음성 인식 결과로 화면 상에 표시하는 단계는 상기 제2 인식 문장에 대한 보정이 완료되면, 상기 폰트 정보 테이블로부터 상기 제1 음량 값이 속해있는 음량 값 범위에 대응되어 기록되어 있는 제1 고유 폰트에 대한 정보를 확인한 후 상기 보정된 제2 인식 문장에 상기 제1 고유 폰트에 따른 폰트 서식을 적용하여 상기 화면 상에 표시할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 음성 인식 장치의 동작 방법은 상기 보정된 제2 인식 문장이 상기 화면 상에 표시되면, 상기 보정된 제2 인식 문장에 대한 음성 인식의 정확도를 질의하는 질의 메시지를 상기 화면 상에 표시하는 단계, 상기 사용자로부터 상기 질의 메시지에 대응하는 응답 메시지로 상기 보정된 제2 인식 문장에 대한 음성 인식이 부정확함을 지시하는 부정확 응답 메시지가 수신되는 경우, 상기 제1 분야에 대한 음성 인식 모델과 관련한 상기 부정확 응답 메시지의 수신 횟수를 기록하기 위한 정확도 테이블을 생성하여 상기 정확도 테이블에 상기 부정확 응답 메시지의 수신 횟수를 1만큼 증가시켜 기록하는 단계 및 상기 정확도 테이블에 기록되어 있는 상기 부정확 응답 메시지의 총 수신 횟수를 모니터링하여 상기 부정확 응답 메시지의 총 수신 횟수가 미리 설정된 기준 횟수를 초과하는 경우, 상기 제1 분야에 특화된 음성 인식 모델의 결정 과정을 재수행할 것을 지시하는 재수행 지시 메시지를 상기 화면 상에 표시하는 단계를 더 포함할 수 있다.
이상, 도 2를 참조하여 본 발명의 일실시예에 따른 도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치의 동작 방법은 도 1을 이용하여 설명한 도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치의 동작 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
110: 도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치
111: 모델 데이터 저장부 112: 테이블 저장부
113: 인식 문장 생성부 114: 인식 문장 보정부
115: 인식 문장 선택부 116: 최적화 모델 결정부
117: 음성 인식부 118: 단어 확인부
119: 문장 보정부 120: 음성 인식 처리 완료부
121: 폰트 정보 테이블 유지부 122: 음량 값 확인부
123: 질의 메시지 표시부 124: 정확도 테이블 기록부
125: 재수행 지시부

Claims (12)

  1. 미리 구축된 서로 다른 K(K는 2이상의 자연수)개 음성 인식 모델들에 대한 데이터가 저장되어 있는 모델 데이터 저장부;
    미리 구축된 서로 다른 N(N은 2이상의 자연수)개의 사용자 정의 단어 테이블들 - 각 사용자 정의 단어 테이블에는 사용자 정의 단어 테이블별로 서로 다른 복수의 사용자 정의 단어들이 기록되어 있음 - 이 저장되어 있는 테이블 저장부;
    사용자로부터 제1 분야에 특화된 음성 인식 모델의 최적화 명령이 인가되면, 마이크로폰을 통해 상기 사용자로부터 상기 제1 분야에서 사용되는 것으로 미리 지정된 제1 문장에 대한 음성을 입력받고, 상기 K개의 음성 인식 모델들에 대한 데이터를 기초로 음성 인식을 수행하여 상기 K개의 음성 인식 모델들 각각에 대응하는 K개의 인식 문장들을 생성하는 인식 문장 생성부;
    상기 K개의 인식 문장들이 생성되면, 상기 K개의 인식 문장들 각각에 대해, 상기 N개의 사용자 정의 단어 테이블들을 참조하여 각 인식 문장에 포함되어 있는 단어들을 문자열 유사도가 최대인 사용자 정의 단어들로 대체함으로써, K x N개의 보정된 인식 문장들을 생성하는 인식 문장 보정부;
    상기 K x N개의 보정된 인식 문장들의 상기 제1 문장에 대한 WER(Word Error Rate)을 연산하여 상기 K x N개의 보정된 인식 문장들 중 상기 제1 문장에 대한 WER이 최소인 제1 보정된 인식 문장을 선택하는 인식 문장 선택부;
    상기 K개의 음성 인식 모델들과 상기 N개의 사용자 정의 단어 테이블들 중 상기 제1 보정된 인식 문장의 생성에 사용된 제1 음성 인식 모델과 제1 사용자 정의 단어 테이블의 조합을 상기 제1 분야에 특화된 음성 인식 모델로 결정하는 최적화 모델 결정부;
    상기 제1 분야에 특화된 음성 인식 모델에 대한 결정이 완료된 이후, 상기 마이크로폰을 통해 상기 사용자로부터 제2 문장에 대한 음성이 입력되면서, 상기 제1 분야에 특화된 음성 인식 모델을 기초로 한 음성 인식 명령이 인가되면, 상기 제1 음성 인식 모델에 대한 데이터를 기초로 상기 사용자의 음성을 인식하여 상기 사용자의 음성 인식 결과에 따른 제2 인식 문장를 생성하는 음성 인식부;
    상기 제2 인식 문장에 대해 형태소 분석을 수행하여 상기 제2 인식 문장에 포함되어 있는 복수의 단어들을 확인하는 단어 확인부;
    상기 제2 인식 문장에서 상기 복수의 단어들 각각을, 상기 제1 사용자 정의 단어 테이블에 기록되어 있는 복수의 사용자 정의 단어들 중 문자열 유사도가 최대인 사용자 정의 단어로 대체함으로써, 상기 제2 인식 문장에 대한 보정을 수행하는 문장 보정부;
    상기 보정된 제2 인식 문장을 상기 제2 문장에 대한 음성 인식 결과로 화면 상에 표시하는 음성 인식 처리 완료부;
    상기 보정된 제2 인식 문장이 상기 화면 상에 표시되면, 상기 보정된 제2 인식 문장에 대한 음성 인식의 정확도를 질의하는 질의 메시지를 상기 화면 상에 표시하는 질의 메시지 표시부;
    상기 사용자로부터 상기 질의 메시지에 대응하는 응답 메시지로 상기 보정된 제2 인식 문장에 대한 음성 인식이 부정확함을 지시하는 부정확 응답 메시지가 수신되는 경우, 상기 제1 분야에 대한 음성 인식 모델과 관련한 상기 부정확 응답 메시지의 수신 횟수를 기록하기 위한 정확도 테이블을 생성하여 상기 정확도 테이블에 상기 부정확 응답 메시지의 수신 횟수를 1만큼 증가시켜 기록하는 정확도 테이블 기록부; 및
    상기 정확도 테이블에 기록되어 있는 상기 부정확 응답 메시지의 총 수신 횟수를 모니터링하여 상기 부정확 응답 메시지의 총 수신 횟수가 미리 설정된 기준 횟수를 초과하는 경우, 상기 제1 분야에 특화된 음성 인식 모델의 결정 과정을 재수행할 것을 지시하는 재수행 지시 메시지를 상기 화면 상에 표시하는 재수행 지시부
    를 포함하는 도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치.
  2. 삭제
  3. 제1항에 있어서,
    상기 문장 보정부는
    상기 복수의 단어들 중 대체 대상이 되는 사용자 정의 단어와의 문자열 유사도가 미리 설정된 기준 유사도를 초과하지 않는 적어도 하나의 제1 단어가 존재하는 경우, 상기 제2 인식 문장에서 상기 적어도 하나의 제1 단어에 대해 사용자 정의 단어로의 대체를 수행하지 않는 도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치.
  4. 제1항에 있어서,
    미리 정해진 복수의 서로 다른 음량 값 범위들과 상기 복수의 서로 다른 음량 값 범위들 각각에 대한 미리 정해진 고유 폰트(font)에 대한 정보가 서로 대응되어 기록되어 있는 폰트 정보 테이블을 저장하여 유지하는 폰트 정보 테이블 유지부
    를 더 포함하고,
    상기 음성 인식부는
    상기 마이크로폰을 통해 상기 사용자로부터 상기 제2 문장에 대한 음성이 입력되면, 상기 사용자의 음성 입력에 따른 제1 음량 값을 확인하는 음량 값 확인부
    를 포함하며,
    상기 음성 인식 처리 완료부는
    상기 제2 인식 문장에 대한 보정이 완료되면, 상기 폰트 정보 테이블로부터 상기 제1 음량 값이 속해있는 음량 값 범위에 대응되어 기록되어 있는 제1 고유 폰트에 대한 정보를 확인한 후 상기 보정된 제2 인식 문장에 상기 제1 고유 폰트에 따른 폰트 서식을 적용하여 상기 화면 상에 표시하는 도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치.
  5. 삭제
  6. 미리 구축된 서로 다른 K(K는 2이상의 자연수)개 음성 인식 모델들에 대한 데이터가 저장되어 있는 모델 데이터 저장부를 유지하는 단계;
    미리 구축된 서로 다른 N(N은 2이상의 자연수)개의 사용자 정의 단어 테이블들 - 각 사용자 정의 단어 테이블에는 사용자 정의 단어 테이블별로 서로 다른 복수의 사용자 정의 단어들이 기록되어 있음 - 이 저장되어 있는 테이블 저장부를 유지하는 단계;
    사용자로부터 제1 분야에 특화된 음성 인식 모델의 최적화 명령이 인가되면, 마이크로폰을 통해 상기 사용자로부터 상기 제1 분야에서 사용되는 것으로 미리 지정된 제1 문장에 대한 음성을 입력받고, 상기 K개의 음성 인식 모델들에 대한 데이터를 기초로 음성 인식을 수행하여 상기 K개의 음성 인식 모델들 각각에 대응하는 K개의 인식 문장들을 생성하는 단계;
    상기 K개의 인식 문장들이 생성되면, 상기 K개의 인식 문장들 각각에 대해, 상기 N개의 사용자 정의 단어 테이블들을 참조하여 각 인식 문장에 포함되어 있는 단어들을 문자열 유사도가 최대인 사용자 정의 단어들로 대체함으로써, K x N개의 보정된 인식 문장들을 생성하는 단계;
    상기 K x N개의 보정된 인식 문장들의 상기 제1 문장에 대한 WER(Word Error Rate)을 연산하여 상기 K x N개의 보정된 인식 문장들 중 상기 제1 문장에 대한 WER이 최소인 제1 보정된 인식 문장을 선택하는 단계;
    상기 K개의 음성 인식 모델들과 상기 N개의 사용자 정의 단어 테이블들 중 상기 제1 보정된 인식 문장의 생성에 사용된 제1 음성 인식 모델과 제1 사용자 정의 단어 테이블의 조합을 상기 제1 분야에 특화된 음성 인식 모델로 결정하는 단계;
    상기 제1 분야에 특화된 음성 인식 모델에 대한 결정이 완료된 이후, 상기 마이크로폰을 통해 상기 사용자로부터 제2 문장에 대한 음성이 입력되면서, 상기 제1 분야에 특화된 음성 인식 모델을 기초로 한 음성 인식 명령이 인가되면, 상기 제1 음성 인식 모델에 대한 데이터를 기초로 상기 사용자의 음성을 인식하여 상기 사용자의 음성 인식 결과에 따른 제2 인식 문장를 생성하는 단계;
    상기 제2 인식 문장에 대해 형태소 분석을 수행하여 상기 제2 인식 문장에 포함되어 있는 복수의 단어들을 확인하는 단계;
    상기 제2 인식 문장에서 상기 복수의 단어들 각각을, 상기 제1 사용자 정의 단어 테이블에 기록되어 있는 복수의 사용자 정의 단어들 중 문자열 유사도가 최대인 사용자 정의 단어로 대체함으로써, 상기 제2 인식 문장에 대한 보정을 수행하는 단계;
    상기 보정된 제2 인식 문장을 상기 제2 문장에 대한 음성 인식 결과로 화면 상에 표시하는 단계;
    상기 보정된 제2 인식 문장이 상기 화면 상에 표시되면, 상기 보정된 제2 인식 문장에 대한 음성 인식의 정확도를 질의하는 질의 메시지를 상기 화면 상에 표시하는 단계;
    상기 사용자로부터 상기 질의 메시지에 대응하는 응답 메시지로 상기 보정된 제2 인식 문장에 대한 음성 인식이 부정확함을 지시하는 부정확 응답 메시지가 수신되는 경우, 상기 제1 분야에 대한 음성 인식 모델과 관련한 상기 부정확 응답 메시지의 수신 횟수를 기록하기 위한 정확도 테이블을 생성하여 상기 정확도 테이블에 상기 부정확 응답 메시지의 수신 횟수를 1만큼 증가시켜 기록하는 단계; 및
    상기 정확도 테이블에 기록되어 있는 상기 부정확 응답 메시지의 총 수신 횟수를 모니터링하여 상기 부정확 응답 메시지의 총 수신 횟수가 미리 설정된 기준 횟수를 초과하는 경우, 상기 제1 분야에 특화된 음성 인식 모델의 결정 과정을 재수행할 것을 지시하는 재수행 지시 메시지를 상기 화면 상에 표시하는 단계
    를 포함하는 도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치의 동작 방법.
  7. 삭제
  8. 제6항에 있어서,
    상기 제2 인식 문장에 대한 보정을 수행하는 단계는
    상기 복수의 단어들 중 대체 대상이 되는 사용자 정의 단어와의 문자열 유사도가 미리 설정된 기준 유사도를 초과하지 않는 적어도 하나의 제1 단어가 존재하는 경우, 상기 제2 인식 문장에서 상기 적어도 하나의 제1 단어에 대해 사용자 정의 단어로의 대체를 수행하지 않는 도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치의 동작 방법.
  9. 제6항에 있어서,
    미리 정해진 복수의 서로 다른 음량 값 범위들과 상기 복수의 서로 다른 음량 값 범위들 각각에 대한 미리 정해진 고유 폰트(font)에 대한 정보가 서로 대응되어 기록되어 있는 폰트 정보 테이블을 저장하여 유지하는 단계; 및
    상기 마이크로폰을 통해 상기 사용자로부터 상기 제2 문장에 대한 음성이 입력되면, 상기 사용자의 음성 입력에 따른 제1 음량 값을 확인하는 단계
    를 더 포함하며,
    상기 음성 인식 결과로 화면 상에 표시하는 단계는
    상기 제2 인식 문장에 대한 보정이 완료되면, 상기 폰트 정보 테이블로부터 상기 제1 음량 값이 속해있는 음량 값 범위에 대응되어 기록되어 있는 제1 고유 폰트에 대한 정보를 확인한 후 상기 보정된 제2 인식 문장에 상기 제1 고유 폰트에 따른 폰트 서식을 적용하여 상기 화면 상에 표시하는 도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치의 동작 방법.
  10. 삭제
  11. 제6항, 제8항 또는 제9항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  12. 제6항, 제8항 또는 제9항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.
KR1020180163228A 2018-12-17 2018-12-17 도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치 및 그 동작 방법 KR102187528B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180163228A KR102187528B1 (ko) 2018-12-17 2018-12-17 도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180163228A KR102187528B1 (ko) 2018-12-17 2018-12-17 도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치 및 그 동작 방법

Publications (2)

Publication Number Publication Date
KR20200074624A KR20200074624A (ko) 2020-06-25
KR102187528B1 true KR102187528B1 (ko) 2020-12-07

Family

ID=71400583

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180163228A KR102187528B1 (ko) 2018-12-17 2018-12-17 도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR102187528B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11841737B1 (en) 2022-06-28 2023-12-12 Actionpower Corp. Method for error detection by using top-down method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002341890A (ja) * 2001-05-17 2002-11-29 Matsushita Electric Ind Co Ltd 音声認識文字表示方法およびその装置
KR101913191B1 (ko) * 2018-07-05 2018-10-30 미디어젠(주) 도메인 추출기반의 언어 이해 성능 향상장치및 성능 향상방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102292546B1 (ko) * 2014-07-21 2021-08-23 삼성전자주식회사 컨텍스트 정보를 이용하는 음성 인식 방법 및 장치
KR20170086215A (ko) * 2016-01-18 2017-07-26 한국전자통신연구원 대화 지식 추출 서버, 방법 및 대화 제공 디바이스

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002341890A (ja) * 2001-05-17 2002-11-29 Matsushita Electric Ind Co Ltd 音声認識文字表示方法およびその装置
KR101913191B1 (ko) * 2018-07-05 2018-10-30 미디어젠(주) 도메인 추출기반의 언어 이해 성능 향상장치및 성능 향상방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11841737B1 (en) 2022-06-28 2023-12-12 Actionpower Corp. Method for error detection by using top-down method

Also Published As

Publication number Publication date
KR20200074624A (ko) 2020-06-25

Similar Documents

Publication Publication Date Title
CN111310443B (zh) 一种文本纠错方法和系统
CN106570180B (zh) 基于人工智能的语音搜索方法及装置
US20210365803A1 (en) Machine-learning system and method for identifying same person in genealogical databases
CN112287680B (zh) 一种问诊信息的实体抽取方法、装置、设备及存储介质
CN111382260A (zh) 一种检索文本纠错方法、装置和存储介质
KR20190024148A (ko) 음성 인식 장치 및 음성 인식 방법
KR102144345B1 (ko) 사용자 정의 단어에 기초하여 음성 인식 결과의 보정 처리를 수행하는 음성 인식 처리 장치 및 그 동작 방법
CN113948066A (zh) 一种实时转译文本的纠错方法、系统、存储介质和装置
KR102168319B1 (ko) 신규 개체명 단어에 연관된 말뭉치 생성을 위한 문장 자동 생성 장치 및 그 동작 방법
KR102187528B1 (ko) 도메인 기반의 음성 인식 모델의 최적화가 가능한 음성 인식 장치 및 그 동작 방법
CN115831117A (zh) 实体识别方法、装置、计算机设备和存储介质
JP2004348552A (ja) 音声文書検索装置および方法およびプログラム
KR102300427B1 (ko) 음성 인식기의 인식률 개선을 위한 학습용 단어 수집 장치 및 그 동작 방법
KR102168316B1 (ko) 입력 문자에 대한 오타 보정 처리가 가능한 터치스크린이 구비된 전자 단말 장치 및 그 동작 방법
JP6910987B2 (ja) 認識装置、認識システム、端末装置、サーバ装置、方法及びプログラム
KR102395700B1 (ko) 사용자 입력 조건에 기초하여 음성 인식 모델 구축에 사용될 학습 데이터를 생성하는 전자 장치 및 그 동작 방법
KR101982490B1 (ko) 문자 데이터 변환에 기초한 키워드 검색 방법 및 그 장치
JPWO2017159207A1 (ja) 処理実行装置、処理実行装置の制御方法、および制御プログラム
US7899251B2 (en) Balancing out-of-dictionary and in-dictionary recognition scores
JP2011039785A (ja) ConditionalRandomFieldsもしくはGlobalConditionalLog−linearModelsを用いる学習装置及びその学習装置におけるパラメータ学習方法、プログラム
JP2009199434A (ja) アルファベット文字列日本語読み変換装置及びアルファベット文字列日本語読み変換プログラム
KR102523807B1 (ko) 사용자 입력 조건에 기초하여 기계 번역 엔진의 구축에 사용될 학습용 문장 세트를 생성하는 학습용 문장 세트 생성 서버 및 그 동작 방법
KR20200072005A (ko) 음성 인식된 문장의 보정 방법
KR102528849B1 (ko) 인공지능 기반의 소스코드 보안 취약점 판단 모델의 생성을 통해 소스코드에 대한 보안 취약점 판단을 가능하게 하는 전자 장치 및 그 동작 방법
JP3727173B2 (ja) 音声認識方法及び装置

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant