KR101326262B1 - 음성인식 단말 및 그 방법 - Google Patents

음성인식 단말 및 그 방법 Download PDF

Info

Publication number
KR101326262B1
KR101326262B1 KR1020070138981A KR20070138981A KR101326262B1 KR 101326262 B1 KR101326262 B1 KR 101326262B1 KR 1020070138981 A KR1020070138981 A KR 1020070138981A KR 20070138981 A KR20070138981 A KR 20070138981A KR 101326262 B1 KR101326262 B1 KR 101326262B1
Authority
KR
South Korea
Prior art keywords
vocabulary
terminal
server
decoding
user
Prior art date
Application number
KR1020070138981A
Other languages
English (en)
Other versions
KR20090070843A (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 KR1020070138981A priority Critical patent/KR101326262B1/ko
Publication of KR20090070843A publication Critical patent/KR20090070843A/ko
Application granted granted Critical
Publication of KR101326262B1 publication Critical patent/KR101326262B1/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/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

본 발명은 음성인식 단말 및 그 방법에 관한 것으로, 본 발명에 따른 음성인식 단말은 사용자로부터 입력된 음성을 디코딩하여 미확인된 발음열을 생성하는 제1 디코딩부, 생성된 발음열을 서버에 송신하며 송신된 발음열과 관련된 어휘셋을 디코딩한 결과를 서버로부터 수신하는 송수신부 및 서버를 통해 디코딩된 결과 및 생성된 발음열과 관련된 확장 어휘셋을 디코딩하여 미확인된 음성과 가장 유사한 어휘 후보군을 선정하는 제2 디코딩부를 포함하는 것을 특징으로 한다.
음성인식, 발음열, 음성 디코딩, 어휘 디코딩, ASR, DSR

Description

음성인식 단말 및 그 방법 {Speech recognition device and method thereof}
본 발명은 음성인식 단말 및 그 방법에 관한 것으로, 보다 상세하게는 사용자가 입력한 음성을 정확하게 인식하는 단말 및 그 방법에 관한 것이다.
음성인식(Speech Recognition) 기술이란, 인간의 음성을 분석해 이를 인식 하거나 이해하는 기술을 말한다. 이때 음성이 발음에 따라 입 모양과 혀의 위치 변화로 특정한 주파수를 갖는 특성을 이용하여, 발성된 음성을 전기 신호로 변환한 후 음성 신호의 주파수를 추출해 발음을 인식한다. 최근에는 이와 같은 음성인식 기술이 전화 다이얼링, 장난감 제어, 어학 학습 또는 가전 기기 제어 등과 같은 다양한 분야에 응용되고 있다.
특히 음성인식은 모바일 단말에 이용될 수 있다. 이는 모바일 단말의 성능이 향상됨에 따라 그 크기는 소형화되므로, 입력 수단의 사용이 불편해져 보조 입력 수단으로서의 음성인식에 대한 중요성이 커지고 있다.
음성을 인식하는 단말은 단말 내에 저장되어 있는 어휘셋에서 사용자가 입력한 음성과 매칭되는 어휘를 검색하여 이를 인식한다. 그러나 단말에 저장되어 있는 어휘셋에 사용자가 입력한 음성과 매칭되는 어휘가 없을 경우 단말은 입력된 음 성과 매칭되는 어휘를 검색하기 어려우며, 이에 따라 음성을 정확히 인식하지 못하는 경우가 발생할 수 있다.
또한 단말 내에 저장되어 있는 어휘셋은 사용자의 음성과 관련된 모든 어휘들을 다 포함하기에는 용량 및 성능에 한계가 있으므로 검색 대상 어휘를 모두 포괄하지 못하는 문제점이 있다. 특히 단말은 사용자에게 적합한 어휘 또는 사회적 환경과 관련된 어휘를 반영하기 쉽지 않으므로 이와 연관된 음성을 제대로 인식하지 못하는 문제점이 있다.
본 발명은 사용자가 입력한 음성을 정확히 인식할 수 있는 음성인식 단말 및 그 방법을 제공하는 것을 목적으로 한다.
이에 따라 검색 대상 어휘셋을 효과적으로 선정하여 음성을 정확히 인식할 수 있는 음성인식 단말 및 그 방법을 제안한다.
보다 구체적으로는 본 발명의 일 양상에 따르면 사용자로부터 입력된 음성을 디코딩하여 미확인된 발음열을 생성하는 제1 디코딩부, 생성된 발음열을 서버에 송신하며 송신된 발음열과 관련된 어휘셋을 디코딩한 결과를 서버로부터 수신하는 송수신부 및 서버를 통해 디코딩된 결과 및 생성된 발음열과 관련된 확장 어휘셋을 디코딩하여 미확인된 음성과 가장 유사한 어휘 후보군을 선정하는 제2 디코딩부를 포함하는 음성인식 단말이 제공된다.
한편 본 발명의 다른 양상에 따르면 사용자로부터 입력된 음성을 디코딩하여 미확인된 발음열을 생성하는 단계, 생성된 발음열을 서버에 송신하며, 송신된 발음열과 관련된 어휘셋을 디코딩한 결과를 서버로부터 수신하는 단계 및 서버를 통해 디코딩된 결과 및 생성된 발음열과 관련된 확장 어휘셋을 디코딩하여 미확인된 음성과 가장 유사한 어휘 후보군을 선정하는 단계를 포함하는 단말의 음성인식 방법이 제공된다.
이하에서는 첨부한 도면을 참조하여 본 발명의 일 실시예를 상세히 설명한다. 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명 이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 분산 음성인식(Distributed Speech Recognition, DSR) 시스템(1)의 구성도이다.
도 1을 참조하면, 분산 음성인식 시스템(1)은 단말(10) 및 서버(20)를 포함한다. 음성인식(speech Recognition)은 사용자가 입력한 음성을 분석해 이를 인식 또는 이해하는 것으로서, 예를 들면 사용자가 인터넷에 접속하여 웹 검색을 할 경우 음성을 통해 입력된 검색 키워드를 인식하거나, 사용자가 발성한 연속어를 자동으로 인식하거나 딕테이션(dictation)에 이용할 수 있다. 그러나 음성인식의 실시예는 이에 한정되지 않으며, 이외의 음성 인터페이스 및 음성 응용 소프트웨어 등의 다양한 실시예에서 이용 가능하다.
단말(10)은 음성인식 기능이 있는 모든 장치를 포함한다. 특히 휴대 가능한 모바일 장치일 수 있으며, 서버(20)와 통신할 수 있다. 서버(20)는 대용량 어휘셋(very huge vocabulary set)을 이용하는 ASR(Automatic Speech Recognition) 서버 또는 IR(Information Recognition) 서버일 수 있다.
본 발명의 일 실시예에 따른 분산 음성인식 시스템(1)은 단말(10) 및 서 버(20)의 협업에 의해 검색 대상 어휘셋을 효과적으로 선정하여 사용자가 입력한 음성을 정확히 인식할 수 있다. 즉 음성의 정확한 인식을 위해 단말(10)에서 가장 효율적으로 실행할 수 있는 기술과 서버(20)에서 가장 효율적으로 실행할 수 있는 기술을 각각 이용할 수 있다. 부연하면 단말(10)의 음성 디코딩(phonetic decoding) 수행 기술 및 어휘 디코딩(lexical decoding) 수행 기술과 서버(20)의 어휘 디코딩 수행 기술을 통해 가장 정확하게 음성을 인식할 수 있다.
나아가 단말(10)은 사용자의 피드백을 반영하여 사용자가 입력한 음성과 유사한 어휘셋 후보군을 선정함으로써 효과적인 음성 인식이 가능하다. 또한 단말(10)과 관련된 정보 또는 서버(20)의 사회적 정보를 이용하여 음성인식을 위한 검색 대상 어휘셋을 줄일 수 있다.
이하 도 2 및 도 3을 참조하여 분산 음성인식 시스템(1)의 단말(10) 및 서버(20)의 구성에 대해 구체적으로 설명한다.
도 2는 본 발명의 일 실시예에 따른 음성인식 단말(10)의 구성도이다.
도 2를 참조하면, 음성인식을 위한 단말(10)은 제1 디코딩부(100), 송수신부(110) 및 제2 디코딩부(120)를 포함한다.
제1 디코딩부(100)는 사용자로부터 입력된 음성을 디코딩(decoding)하여 미확인된 발음열(phonetic sequence)을 생성한다. 여기서 미확인된 음성은 단말(10)에 저장되어 있는 어휘셋에 포함되지 않은 어휘, 예를 들면 미등록어(Out Of Vocabulary, OOV)와 연관된 음성이다. 발음열은 미확인된 음성의 발음과 매칭되는 음소 단위(phoneme)로서, 예를 들면 미확인된 음성이 [시네마]일 경우 발음열은 [s1 i n i O v _]일 수 있다.
디코딩은 전처리 과정(front-end processing)을 거친 음성을 해석하는 과정으로서, 사용자가 입력한 음성을 해석하여 미확인된 발음열을 생성할 수 있다. 여기서 음성 디코딩(phonetic decoding)을 통해 확인된 어휘, 즉 단말(10)의 어휘셋에 포함되는 어휘는 사용자에게 제공되거나, 사용자의 음성 발성 목적에 맞게 적용될 수 있다.
한편, 송수신부(110)는 생성된 발음열을 서버(20)에 송신한다. 또한 송신한 발음열과 관련된 어휘셋을 디코딩한 결과를 서버(20)로부터 수신한다. 이때 서버(20)는 단말(10)로부터 전송받은 단말(10)에 관련된 정보와 미확인된 발음열 및 사회적 정보 등을 이용하여 대용량 어휘셋(very huge vocabulary)으로부터 필터링된 어휘셋(filtered vocabulary)을 추출한다. 그리고 이를 가벼운 어휘 디코딩(shallow vocabulary decoding)을 수행하여 디코딩된 결과를 단말(10)에 전송할 수 있다.
여기서 송수신부(110)는 발음열에 대한 신뢰도가 기설정된 기준값보다 높은 경우에만 서버(20)에 발음열을 송신하며, 기준값보다 낮을 경우 사용자에게 음성 재입력을 요청할 수 있다. 이는 발음열의 신뢰도가 낮은 경우, 서버(20)에 발음열을 송신하여 가벼운 어휘 디코딩을 수행하더라도 부정확한 결과를 얻게 될 확률이 높기 때문이다.
제2 디코딩부(120)는 서버(20)를 통해 디코딩된 결과 및 생성된 발음열과 관련된 확장 어휘셋(extended vocabulary)을 디코딩하여 미확인된 음성과 가장 유사 한 어휘 후보군을 선정한다.
즉, 단말(10)의 어휘셋에 존재하지 않는 미확인된 음성, 예를 들면 미등록어(OOV)에 대해 서버(20)의 지원을 받아 이와 관련된 어휘셋을 확장할 수 있다. 이때 확장된 어휘셋을 깊은 어휘 디코딩을 수행함에 따라 미확인된 음성과 유사한 어휘 후보군을 선정할 수 있다.
나아가 단말(10)이 디코딩하는 확장 어휘셋은 입력된 음성을 디코딩한 결과를 사용자로부터 피드백 받은 피드백 정보와 관련된 어휘셋을 포함할 수 있다. 또한 확장 어휘셋은 사용자에 대한 개인정보, 사용자가 미리 정의한 어휘정보, 단말의 음향정보를 포함한 단말정보와 관련된 어휘셋을 포함할 수 있다.
이에 따라 단말(10)은 미확인된 음성과 관련된 어휘셋을 확장할 수 있으므로, 이를 이용하여 사용자가 입력한 음성, 특히 미등록어와 유사한 어휘 후보군을 선정할 수 있다. 한편 단말(10)이 확장할 수 있는 어휘셋은 이에 한정되지 않으며, 이외에 단말(10)이 획득할 수 있는 모든 정보를 이용한 어휘셋을 포함할 수 있다.
구체적으로 단말(10)은 사용자의 피드백 정보를 이용하여 사용자가 입력한 음성을 정확하게 인식할 수 있다. 즉, 단말(10)은 제1 디코딩부(100)를 통해 음성 디코딩된 결과를 사용자로부터 피드백 받은 피드백 정보를 이용하여 사용자의 음성을 인식할 수 있다.
이 경우 단말(10)은 피드백을 통해 사용자가 입력한 음성과 일치한다고 판단되는 정답 어휘셋 및 확인되지 않은 어휘셋을 생성할 수 있다. 그리고 단말(10)은 미확인된 발음열 및 피드백 정보를 서버(20)에 송신할 수 있다. 이때 서버(20)는 이를 이용하여 가벼운 어휘 디코딩을 실행하여 디코딩된 결과를 단말(10)에 전송하게 된다. 그러면, 단말(10)의 제2 디코딩부(120)는 서버(20)로부터 수신한 디코딩된 결과와 관련된 확장 어휘셋을 확보하게 되며, 이를 디코딩하여 사용자가 입력한 음성과 가장 유사한 어휘 후보군을 선정하여 사용자에게 제공할 수 있다.
한편, 단말(10)은 전술한 다양한 정보와 관련된 어휘셋을 디코딩한 결과를 송수신부를 통해 서버(20)로 송신할 수도 있다. 이는 서버(20)가 다양한 정보를 이용하여 확장 어휘셋을 생성할 수 있도록 하기 위함이다. 이 경우 서버(20)는 수신된 결과와 관련된 어휘셋을 디코딩한 결과를 단말(10)에 전송한다. 단말(10)의 제2 디코딩부(120)는 수신한 디코딩된 결과를 이용하여 깊은 어휘 디코딩을 실행하여 사용자가 입력한 음성과 유사한 어휘 후보군을 생성한다.
도 3은 본 발명의 일 실시예에 따른 음성인식 서버(20)의 구성도이다.
도 3을 참조하면, 서버(20)는 어휘 확장부(200) 및 어휘 디코딩부(210)를 포함한다. 여기서 서버(20)는 대용량 어휘셋(very huge vocabulary set)을 이용하는 ASR(Automatic Speech Recognition) 서버 또는 IR(Information Recognition) 서버일 수 있다.
어휘 확장부(200)는 단말(10)로부터 수신한 발음열과 관련된 어휘셋을 추출한다. 즉, 발음열을 기초로 하여 대용량 어휘셋에서 발음열과 연관된 필터링된 어휘셋을 추출한다. 여기서 대용량 어휘셋은 사회적 정보 및 검색 순위를 반영한 대용량 셋일 수 있다. 사회적 정보는 최근 사회에서 떠오르는 이슈들 또는 주요 관 심사들이 반영된 정보이다. 특히 검색 순위는 실시간으로 사회 구성원들 사이의 핫 이슈들을 반영한 정보로서, 이와 연관된 음성을 서버(20)가 인식할 수 있는 바탕이 된다.
어휘 디코딩부(210)는 어휘 확장부(200)를 통해 확장된 어휘셋을 디코딩한다. 이때 디코딩된 결과는 단말(10)에 전송된다.
나아가 서버(20)는 단말(10)로부터 발음열뿐만 아니라, 입력된 음성을 디코딩한 결과를 사용자로부터 피드백 받은 피드백 정보, 사용자에 대한 개인정보, 사용자가 미리 정의한 어휘정보 및 음향정보를 포함한 단말정보를 수신할 수 있다. 이 경우 서버(20)는 이를 이용하여 대용량 어휘셋으로부터 이와 연관된 필터링된 어휘셋을 추출할 수 있다.
서버(20)에서 필터링되는 과정을 부연 설명하면, 단말(10)로부터 정답이라 판단되는 어휘셋을 필터링할 수 있다. 또는 사회적 정보나 실시간 검색어 순위를 이용하여 필터링할 수도 있다. 나아가 단말(10)의 단말정보를 이용하여 필터링할 수도 있다.
한편, 서버(20)의 어휘 디코딩부(210)에서 이루어지는 디코딩은 가벼운 어휘 디코딩(shallow lexical decoding)에 해당되며, 디코딩된 결과를 수신한 단말(10)에서 최종적으로 이루어지는 디코딩은 깊은 어휘 디코딩(deep lexical decoding)에 해당된다. 즉 서버(20)에서 발음열과 관련된 어휘셋을 디코딩하는 데 비하여, 단말(10)은 서버(20)를 통해 디코딩된 결과와 생성된 발음열과 관련된 어휘셋 및 단말의 특성을 반영한 어휘셋을 포함한 확장 어휘셋을 디코딩한다.
도 2 및 도 3을 요약하면, 단말(10)이 확인할 수 없는 음성에 대하여 단말(10) 내에서 획득 가능한 정보, 사용자로부터 피드백 받은 정보 및 서버(20)에서 획득 가능한 정보 등을 이용하여 효과적으로 어휘셋을 확장함으로써, 이를 디코딩하여 사용자가 입력한 음성과 가장 유사한 어휘 후보군을 선정할 수 있다.
이하 도 4 및 도 6을 참조하여 서버(20)를 통한 가벼운 어휘 디코딩(shallow lexical decoding)과 단말(10)을 통한 음성 디코딩(phonetic decoding) 및 깊은 어휘 디코딩(deep lexical decoding)을 기초로 하는 협업에 의한 분산 음성인식 방법에 대해 상세히 설명한다.
도 4는 본 발명의 일 실시예에 따른 음성인식 방법을 도시한 흐름도이다.
도 4를 참조하면, 단말(10)은 사용자로부터 입력된 음성을 1차 디코딩하여 미확인된 발음열을 생성한다(S100). 예를 들면, 사용자가 [부산 CGV]라는 음성을 입력한 경우, 단말(10)의 1차 디코딩을 통해 [부산 씨네마]라는 인식 결과가 나올 수 있다. 이때 [씨네마]의 발음열 [s1 i n i O v _]를 생성할 수 있다. 여기서 [부산]이라는 어휘는 단말(10)의 어휘셋에 포함되는 등록어이지만 [CGV]는 단말(10)의 어휘셋에 포함되지 않은 미등록어인 경우이다.
이어서, 단말(10)은 미확인된 발음열을 서버에 송신한다(S110). 그러면, 서버(20)는 수신된 발음열과 관련된 어휘셋을 디코딩하며, 단말(10)은 디코딩된 결과를 서버로부터 수신한다(S120). 이때 서버(20)는 단말(10)로부터 수신한 발음열과 관련된 어휘셋을 추출한다. 즉 서버(20)의 대용량 어휘셋으로부터 발음열과 관련된 어휘를 선별하여 필터링된 어휘셋을 추출할 수 있다. 예를 들면, 사회적 정보 나 실시간 검색어 순위를 이용하여 필터링할 수 있다.
서버(20)는 이와 같이 필터링하여 대용량 어휘셋으로부터 축소된 어휘셋을 디코딩하여 디코딩된 결과를 단말(10)에 전송한다. 여기서 서버(20)의 디코딩은 가벼운 어휘 디코딩(shallow vocabulary decoding)에 해당된다.
이어서 단말(10)은 서버(20)를 통해 디코딩된 결과 및 생성된 발음열과 관련된 확장 어휘셋을 디코딩하여(S130) 미확인된 음성과 가장 유사한 어휘 후보군을 선정한다(S140). 부연하면, 단말(10)은 발음열과 서버(20)를 통해 추가적으로 얻은 어휘셋을 디코딩한 결과로부터 확장된 어휘셋을 2차 디코딩하여, 최종적으로 음성과 가장 유사한 어휘 후보군을 선정할 수 있다. 2차 디코딩은 깊은 어휘 디코딩(deep vocabulary decoding)에 해당된다. 나아가 단말(10)은 선정된 어휘 후보군을 사용자에게 제공하여(S150), 선정된 어휘 후보군이 사용자가 입력한 음성과 일치하는지를 피드백 받을 수 있다.
도 5는 본 발명의 다른 실시예에 따른 음성인식 방법을 도시한 흐름도이다.
도 5를 참조하면, 단말(10)은 단말(10) 내에서 획득할 수 있는 정보 및 사용자의 피드백 정보를 통해 어휘셋을 확장하여 이를 음성인식에 반영할 수 있다.
우선, 단말(10)은 사용자로부터 입력된 음성을 1차 디코딩한다(S200). 그리고 이를 통해 미확인된 발음열 및 음향 정보를 생성한다(S210). 이때 음향 정보는 단말(10)의 고유한 정보로서, 단말(10)이 가장 잘 파악할 수 있는 정보이다.
한편, 단말(10)은 발음열 및 단말(10) 내에서 획득할 수 있는 정보(S220), 예를 들면 사용자에 대한 개인정보, 사용자가 미리 정의한 어휘정보를 이용하여 관 련된 어휘를 검색할 수 있다(S230).
단말(10) 내에서 획득할 수 있는 정보에 대해 부연 설명하자면, 단말(10)은 사용자의 개인화된 정보를 단말(10)의 개인정보 관리 시스템(Personal Information Management System, PIMS)로부터 획득할 수 있다. 또한 사용자의 검색 히스토리를 통해 획득할 수도 있다. 사용자가 미리 정의한 어휘정보는 사용자의 성별, 직업, 나이, 특성, 취미 또는 성향 등을 반영한 정보를 포함한다.
이에 따라 단말(10)은 개인정보 및 미리 정의한 어휘정보를 통해 사용자만의 고유한 어휘셋을 확보할 수 있다. 이에 따라 불특정 다수에 대해 음성 검색을 실행하는 서버(20)와 달리 사용자의 상황을 고려한 맞춤형 음성 검색이 가능하다. 또한 개인화된 정보의 보안 측면에서도 유용할 수 있다.
한편, 단말(10)은 검색 결과에 대한 피드백 정보를 사용자로부터 수신할 수 있다(S240). 이 과정에서, 단말(10)은 사용자가 입력한 음성과 일치한다고 판단되는 정답 어휘셋 및 확인되지 않은 어휘셋을 생성할 수 있다. 예를 들면 단말(10)은 미등록어인 [CGV]에 대해 정답이라 판단되는 어휘 후보군을 생성할 수 있다. 즉 [시네마], [CG]일 수 있다.
이어서 단말(10)은 미확인된 발음열 및 피드백 정보를 서버(20)에 송신한다(S250). 즉, 단말(10)은 정답이라 판단되는 어휘 후보군과 확인되지 않은 어휘의 발음열을 서버(20)에 송신한다. 예를 들면, 단말(10)은 정답이라 판단되는 [시네마] 및 [CG]라는 어휘 후보군과 확인되지 않은 어휘인 [씨네마]의 발음열 [s1 i n i O v _]를 서버(20)에 송신할 수 있다.
그러면 서버(20)는 수신된 정보와 관련된 어휘셋을 디코딩하며, 단말(10)은 디코딩된 결과를 서버로부터 수신한다(S260). 이 과정에서 서버(20)는 대용량 어휘셋으로부터 필터링된 어휘셋을 디코딩한다.
구체적으로 서버(20)는 단말(10)이 정답이라 판단한 어휘셋을 필터링할 수 있다. 예를 들면, [시네마] 및 [CG]를 제거할 수 있다. 또한 단말(10)에서 획득할 수 있는 정보를 단말(10)로부터 전달받아 이를 통해 어휘셋을 필터링할 수 있다. 또한 사회적 정보나 실시간 검색어 순위를 이용하여 필터링할 수도 있다. 이에 따라 대용량 어휘셋으로부터 필터링된 어휘셋을 획득할 수 있다.
이어서 단말(10)은 서버(20)를 통해 수신한 디코딩된 결과와 관련된 확장 어휘셋을 디코딩하여(S270) 미확인된 음성과 가장 유사한 어휘 후보군을 선정한다(S280). 부연하면 단말(10)은 단말(10)을 통해 디코딩된 결과와 서버(20)를 통해 추가적으로 획득한 어휘셋을 디코딩한 결과로부터 확장 어휘셋을 2차 디코딩하여, 최종적으로 음성과 가장 유사한 어휘 후보군을 선정할 수 있다. 여기서 2차 디코딩은 깊은 어휘 디코딩에 해당된다. 나아가 단말(10)은 선정된 어휘 후보군을 사용자에게 제공할 수 있다.
도 6은 본 발명의 일 실시예에 따른 발음열의 신뢰도에 따른 음성인식 방법을 도시한 흐름도이다.
도 6을 참조하면, 단말(10)은 발음열에 대한 신뢰도에 따라 발음열을 서버(20)에 송신할 수 있다. 즉, 발음열의 신뢰도가 미리 설정된 기준값보다 높은지 아니면 낮은지를 판단(S300)한다. 이 과정에서 신뢰도가 높으면 단말(10)에 발음 열을 서버(20)에 전송한다(S310). 이에 반해 신뢰도가 기준값보다 낮으면 사용자에게 음성 재입력을 요청한다(S320). 여기서 신뢰도가 기준값보다 낮은 경우는 주변 잡음이나 기타 음성 신호의 상태가 좋지 않거나, 사용자가 입력한 음성 자체가 부정확한 경우에 해당될 수 있다.
이와 같이 신뢰도에 따라 발음열의 전송 여부를 결정함에 따라, 단말(10)은 발음열의 신뢰도가 낮은 경우 서버(20)에 정확도가 매우 낮은 발음열을 전송하여 부정확한 결과를 수신하게 되는 자원 낭비를 방지할 수 있다.
도 7은 본 발명의 일 실시예에 따른 단말(10) 및 서버(20)간의 음성인식 방법을 도시한 흐름도이다.
도 7을 참조하면, 분산 음성인식 시스템(1)의 단말(10) 및 서버(20)는 상호간의 협업에 의해 검색 대상 어휘셋을 효과적으로 선정하여, 이를 통해 사용자가 입력한 음성을 정확하게 인식할 수 있다. 즉, 단말(10)의 음성을 디코딩하는 기술과 서버(20)의 어휘를 디코딩하는 기술을 이용하여 가장 정확하게 음성을 인식할 수 있다.
우선 단말(10)은 사용자로부터 입력된 음성을 디코딩하여 미확인된 발음열을 생성한다(S400). 이때의 디코딩은 단말(10)에서 가장 효과적으로 실행할 수 있는 음성 디코딩이다.
이어서 단말(10)은 생성된 발음열을 서버(20)에 전송한다(S410). 그리면 서버(20)는 발음열과 관련된 어휘셋을 디코딩한다(S420). 이 경우의 디코딩은 가벼운 어휘 디코딩에 해당된다. 그리고 단말(10)은 송신된 발음열과 관련된 어휘셋을 디코딩한 결과를 서버(20)로부터 전송받는다(S430).
그러면 단말(10)은 서버(20)를 통해 디코딩된 결과 및 생성된 발음열과 관련된 확장 어휘셋을 디코딩하여(S440), 미확인된 음성과 가장 유사한 어휘 후보군을 선정한다(S450). 이 과정에서의 디코딩은 깊은 어휘 디코딩에 해당된다.
이와 같이 단말(10)은 음성 디코딩 및 깊은 어휘 디코딩을 책임지며 서버(20)는 가벼운 어휘 디코딩을 책임짐에 따라, 단말(10) 및 서버(20)가 효율적으로 디코딩을 실행할 수 있다. 결과적으로 사용자가 입력한 음성 중 미확인된 음성에 대해 가장 유사한 어휘 후보군을 선정할 수 있다.
도 8은 본 발명의 일 실시예에 따른 음성인식 과정을 설명하기 위한 참조도이다.
도 8을 참조하면, 사용자가 [부산 동래 CGV]를 음성 입력한 경우, 단말(10)은 1차 디코딩을 통해 [부산 동네 씨네마]라는 결과를 생성할 수 있다. 이 경우 [CGV]는 단말(10)이 인식할 수 없는 미등록어에 해당된다. 그러면 단말(10)은 단말(10)이 획득할 수 있는 정보, 예를 들면 개인정보, 사용자가 미리 정의한 어휘정보 등을 이용하여 [부산 동래 씨네마]라는 어휘셋을 생성할 수 있다.
나아가 단말(10)은 [CGV]라는 어휘 후보군을 생성하기 위하여, 사용자의 피드백 정보를 이용하여 단말(10)이 정답이라 판단되는 어휘셋, 예를 들면 [시네마] [CG]와 같은 어휘셋을 생성하며, 생성된 어휘셋 및 발음열을 서버(20)에 전송한다.
서버(20)는 단말(10)로부터 수신한 발음열, 단말 정보 또는 사회적 정보 등을 이용하여 대용량 어휘셋으로부터 이와 관련된 필터링된 어휘셋을 추출한다. 이 때 어휘셋에는 [CGV]가 포함될 수 있다. 이 경우 서버(20)는 가벼운 어휘 디코딩을 실행한다.
또한 단말(10)은 서버(20)로부터 디코딩된 결과를 수신하여 디코딩된 결과와 발음열과 관련된 확장 어휘셋을 디코딩하여 최종적으로 미확인된 음성과 가장 유사한 어휘 후보군을 선정할 수 있다. 예를 들면, 단말(10) 및 서버(20)의 협업 과정을 통해 처음 사용자가 입력한 음성과 일치되는 [부산 동래 CGV]를 선정할 수 있다.
요약하면, 전술한 바와 같이 단말(10)은 미확인된 음성을 정확히 인식할 수 있다. 즉 미등록 어휘에 대해 단말의 음성 디코딩 기능 및 깊은 어휘 디코딩 기능을 이용하여 사용자의 음성을 정확히 인식할 수 있다. 나아가 서버의 대용량 어휘셋을 이용한 가벼운 어휘 디코딩을 통하여 확장 어휘셋을 효율적으로 확장함으로써 사용자의 음성을 정확히 인식할 수 있다.
한편 사용자의 피드백 정보, 개인정보, 사용자가 미리 정의한 어휘정보, 음향정보를 포함하는 단말(10)이 획득 가능한 정보를 이용하여 검색 가능한 어휘셋을 확장할 수도 있다. 또한 서버(20)는 단말(10)로부터의 피드백 정보, 사회적 정보, 실시간 검색어 정보 등을 이용하여 어휘셋을 확장할 수 있다.
이와 같은 본 발명의 일 실시예에 따른 음성인식 단말 및 그 방법을 통해 사용자가 인터넷에 접속하여 웹 검색을 할 경우 음성을 통해 입력된 검색 키워드를 인식하거나, 사용자가 발성한 연속어를 자동으로 인식하거나 딕테이션(dictation)에 이용할 수 있다. 나아가 이외의 음성 인터페이스 및 음성 응용 소프트웨어 등 의 다양한 실시예에서 이용 가능하다.
이제까지 본 발명에 대하여 그 일 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 분산 음성인식 시스템의 구성도,
도 2는 본 발명의 일 실시예에 따른 음성인식 단말의 구성도,
도 3은 본 발명의 일 실시예에 따른 음성인식 서버의 구성도,
도 4는 본 발명의 일 실시예에 따른 음성인식 방법을 도시한 흐름도,
도 5는 본 발명의 다른 실시예에 따른 음성인식 방법을 도시한 흐름도,
도 6은 본 발명의 일 실시예에 따른 발음열의 신뢰도에 따른 음성인식 방법을 도시한 흐름도,
도 7은 본 발명의 일 실시예에 따른 단말 및 서버간의 음성인식 방법을 도시한 흐름도,
도 8은 본 발명의 일 실시예에 따른 음성인식 과정을 설명하기 위한 참조도이다.
<도면의 주요부분에 대한 부호의 설명>
1 : 분산 음성인식 시스템 10 : 단말
20 : 서버 100 : 제1 디코딩부
110 : 송수신부 120 : 제2 디코딩부
200 : 어휘 확장부 210 : 어휘 디코딩부

Claims (17)

  1. 사용자로부터 입력된 음성을 디코딩하여 미확인된 발음열을 생성하는 제1 디코딩부;
    상기 생성된 발음열을 서버에 송신하며, 상기 송신된 발음열과 관련된 어휘셋을 디코딩한 결과를 상기 서버로부터 수신하는 송수신부; 및
    상기 서버를 통해 디코딩된 결과 및 상기 생성된 발음열과 관련되어 음성인식 단말이 단말 내 또는 단말 사용자로부터 획득할 수 있는 정보를 이용하여 생성된 확장 어휘셋을 디코딩하여 미확인된 음성과 가장 유사한 어휘 후보군을 선정하는 제2 디코딩부를 포함하는 음성인식 단말.
  2. 제 1 항에 있어서,
    상기 제1 디코딩부는 상기 입력된 음성에 대하여 음성 디코딩(phonetic decoding)을 수행하는 것을 특징으로 하는 음성인식 단말.
  3. 제 1 항에 있어서,
    상기 제2 디코딩부는 상기 확장 어휘셋에 대하여 어휘 디코딩(lexical decoding)을 수행하는 것을 특징으로 하는 음성인식 단말.
  4. 제 1 항에 있어서,
    상기 송수신부는 상기 발음열에 대한 신뢰도가 기설정된 기준값보다 높으면 상기 서버에 상기 발음열을 송신하며, 상기 기준값보다 낮으면 상기 사용자에게 음성 재입력을 요청하는 음성인식 단말.
  5. 제 1 항에 있어서,
    상기 확장 어휘셋은 상기 입력된 음성을 디코딩한 결과를 상기 사용자로부터 피드백 받은 피드백 정보와 관련된 어휘셋을 더 포함하는 음성인식 단말.
  6. 제 1 항에 있어서,
    상기 확장 어휘셋은 상기 사용자에 대한 개인정보와 관련된 어휘셋을 더 포함하는 음성인식 단말.
  7. 제 1 항에 있어서,
    상기 확장 어휘셋은 상기 사용자가 미리 정의한 어휘정보와 관련된 어휘셋을 더 포함하는 음성인식 단말.
  8. 제 1 항에 있어서,
    상기 확장 어휘셋은 상기 단말의 음향정보를 포함한 단말정보와 관련된 어휘셋을 더 포함하는 음성인식 단말.
  9. 제 1 항에 있어서,
    상기 송수신부는 단말정보를 이용하여 추가된 어휘셋을 디코딩하여 상기 서버로 송신하고, 상기 송신된 결과를 기초로 디코딩한 결과를 상기 서버로부터 수신하며,
    상기 제2 디코딩부는 상기 서버를 통해 디코딩된 결과와 관련된 상기 확장 어휘셋을 디코딩하는 음성인식 단말.
  10. 제 9 항에 있어서,
    상기 송수신부는 상기 단말정보를 이용하여 추가된 상기 어휘셋을 디코딩한 결과에 대해 상기 사용자로부터 피드백 받은 정보를 상기 서버로 송신하고, 상기 송신된 피드백 받은 정보와 관련된 어휘셋을 디코딩한 결과를 상기 서버로부터 수신하며,
    상기 제2 디코딩부는 상기 서버를 통해 디코딩된 결과와 관련된 상기 확장 어휘셋을 디코딩하는 음성인식 단말.
  11. 제 1 항에 있어서,
    상기 송수신부는 상기 서버가 사회적 정보 및 검색 순위와 관련된 상기 어휘셋을 디코딩한 결과를 상기 서버로부터 수신하는 음성인식 단말.
  12. 사용자로부터 입력된 음성을 디코딩하여 미확인된 발음열을 생성하는 단계;
    상기 생성된 발음열을 서버에 송신하며, 상기 송신된 발음열과 관련된 어휘셋을 디코딩한 결과를 상기 서버로부터 수신하는 단계; 및
    상기 서버를 통해 디코딩된 결과 및 상기 생성된 발음열과 관련되어 단말이 단말 내 또는 단말 사용자로부터 획득할 수 있는 정보를 이용하여 생성된 확장 어휘셋을 디코딩하여 미확인된 음성과 가장 유사한 어휘 후보군을 선정하는 단계를 포함하는 단말의 음성인식 방법.
  13. 제 12 항에 있어서,
    상기 선정된 어휘 후보군을 상기 사용자에게 제공하는 단계를 더 포함하는 단말의 음성인식 방법.
  14. 제 12 항에 있어서,
    상기 확장 어휘셋은 상기 입력된 음성을 디코딩한 결과를 상기 사용자로부터 피드백 받은 피드백 정보와 관련된 어휘셋을 더 포함하는 단말의 음성인식 방법.
  15. 제 12 항에 있어서,
    상기 확장 어휘셋은 상기 사용자에 대한 개인정보와 관련된 어휘셋을 더 포함하는 단말의 음성인식 방법.
  16. 제 12 항에 있어서,
    상기 확장 어휘셋은 상기 사용자가 미리 정의한 어휘정보와 관련된 어휘셋을 더 포함하는 단말의 음성인식 방법.
  17. 제 12 항에 있어서,
    상기 확장 어휘셋은 상기 단말의 음향정보를 포함한 단말정보와 관련된 어휘셋을 더 포함하는 단말의 음성인식 방법.
KR1020070138981A 2007-12-27 2007-12-27 음성인식 단말 및 그 방법 KR101326262B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070138981A KR101326262B1 (ko) 2007-12-27 2007-12-27 음성인식 단말 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070138981A KR101326262B1 (ko) 2007-12-27 2007-12-27 음성인식 단말 및 그 방법

Publications (2)

Publication Number Publication Date
KR20090070843A KR20090070843A (ko) 2009-07-01
KR101326262B1 true KR101326262B1 (ko) 2013-11-20

Family

ID=41322333

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070138981A KR101326262B1 (ko) 2007-12-27 2007-12-27 음성인식 단말 및 그 방법

Country Status (1)

Country Link
KR (1) KR101326262B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101961139B1 (ko) * 2012-06-28 2019-03-25 엘지전자 주식회사 이동 단말기 및 그것의 음성 인식 방법
KR101399777B1 (ko) * 2012-07-27 2014-05-27 한국과학기술원 음성 인식률의 향상을 위한 음성 인식 지원 방법 및 시스템
KR101464833B1 (ko) * 2012-12-20 2014-11-25 주식회사 팬택 이동 단말기 및 이를 이용한 음성 인식 처리 방법
KR102323640B1 (ko) * 2018-08-29 2021-11-08 주식회사 케이티 음성 인식 서비스를 제공하는 장치, 방법 및 컴퓨터 판독가능 매체

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010108402A (ko) * 1999-03-26 2001-12-07 요트.게.아. 롤페즈 클라이언트 서버 음성 인식
KR20060057921A (ko) * 2004-11-24 2006-05-29 한국전자통신연구원 대화형 음성인식 시스템의 인식오류 수정장치 및 그 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010108402A (ko) * 1999-03-26 2001-12-07 요트.게.아. 롤페즈 클라이언트 서버 음성 인식
KR20060057921A (ko) * 2004-11-24 2006-05-29 한국전자통신연구원 대화형 음성인식 시스템의 인식오류 수정장치 및 그 방법

Also Published As

Publication number Publication date
KR20090070843A (ko) 2009-07-01

Similar Documents

Publication Publication Date Title
US10878815B2 (en) Processing spoken commands to control distributed audio outputs
US11564090B1 (en) Audio verification
US9898250B1 (en) Controlling distributed audio outputs to enable voice output
US10643609B1 (en) Selecting speech inputs
US11509525B1 (en) Device configuration by natural language processing system
US11763808B2 (en) Temporary account association with voice-enabled devices
US11132509B1 (en) Utilization of natural language understanding (NLU) models
US10506088B1 (en) Phone number verification
US20190378500A1 (en) Temporary account association with voice-enabled devices
US10366690B1 (en) Speech recognition entity resolution
WO2016013503A1 (ja) 音声認識装置及び音声認識方法
CN113168832A (zh) 交替响应生成
US11410646B1 (en) Processing complex utterances for natural language understanding
US10152298B1 (en) Confidence estimation based on frequency
US11532301B1 (en) Natural language processing
US20240029743A1 (en) Intermediate data for inter-device speech processing
KR101326262B1 (ko) 음성인식 단말 및 그 방법
US11693622B1 (en) Context configurable keywords
CN111524508A (zh) 语音对话系统以及语音对话实现方法
US20220161131A1 (en) Systems and devices for controlling network applications
US11328713B1 (en) On-device contextual understanding
US11626107B1 (en) Natural language processing
US11699444B1 (en) Speech recognition using multiple voice-enabled devices
EP3776300A1 (en) Temporary account association with voice-enabled devices
KR102268376B1 (ko) 다중 언어 대화 서비스 제공 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160929

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170927

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181129

Year of fee payment: 6