KR20170033152A - 음성 인식 서버 및 그 제어 방법 - Google Patents
음성 인식 서버 및 그 제어 방법 Download PDFInfo
- Publication number
- KR20170033152A KR20170033152A KR1020150131122A KR20150131122A KR20170033152A KR 20170033152 A KR20170033152 A KR 20170033152A KR 1020150131122 A KR1020150131122 A KR 1020150131122A KR 20150131122 A KR20150131122 A KR 20150131122A KR 20170033152 A KR20170033152 A KR 20170033152A
- Authority
- KR
- South Korea
- Prior art keywords
- group
- unit
- index value
- text
- function
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012549 training Methods 0.000 claims abstract description 173
- 238000012545 processing Methods 0.000 claims description 70
- 238000004364 calculation method Methods 0.000 claims description 19
- 230000008451 emotion Effects 0.000 claims description 11
- 230000002996 emotional effect Effects 0.000 claims description 5
- 230000035945 sensitivity Effects 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 13
- 230000011218 segmentation Effects 0.000 description 8
- 230000002452 interceptive effect Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- RSPISYXLHRIGJD-UHFFFAOYSA-N OOOO Chemical compound OOOO RSPISYXLHRIGJD-UHFFFAOYSA-N 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
- G10L15/19—Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1822—Parsing for meaning understanding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
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)
- Artificial Intelligence (AREA)
- Machine Translation (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
음성 인식 서버 및 그 제어 방법이 개시된다. 본 발명에 따른 음성 인식 서버의 제어 방법은, 복수의 훈련 텍스트의 색인값을 산출하는 단계, 복수의 훈련 텍스트의 색인값을 바탕으로 복수의 훈련 텍스트 각각에 대한 그룹을 설정하고, 그룹에 대응되는 기능을 매칭하여 저장하는 단계, 사용자 단말 장치로부터 사용자의 발화 음성이 수신된 경우. 수신된 발화 음성으로부터 색인값을 산출하는 단계 및 발화 음성으로 산출된 색인값에 대응되는 그룹을 검색하여 발화 음성에 대응되는 기능을 수행하는 단계를 포함한다. 이에 따라, 음성 인식 서버는 다양한 사용자의 발화 음성에 대해서 사용자의 의도에 적합한 음성 인식 결과를 제공할 수 있다.
Description
본 발명은 음성 인식 서버 및 그 제어 방법에 관한 것으로써, 보다 상세하게는 사용자의 발화 음성에 대한 음성 인식 결과를 제공하는 음성 인식 서버 및 그 제어 방법에 관한 것이다.
일반적으로, 대화형 시스템에서 사용자의 발화 음성에 대한 음성 인식 결과를 제공하는 음성 인식 서버는 수신된 발화 음성에 대한 텍스트에 대해서 기정의된 규칙 모델을 이용하여 문장을 분석한 후, 사용자의 의도에 적합한 음성 인식 결과를 제공한다.
구체적으로, 종래의 음성 인식 서버는 사용자의 발화 음성에 대한 텍스트를 기정의된 규칙 모델에 적용된 문장 패턴에 매칭시켜 문장 구조를 분석하거나 혹은 해당 텍스트를 확률적으로 유사한 것으로 판단되는 문장 패턴에 매칭시켜 발화 음성에 대한 문장 구조를 분석한다. 이후, 음성 인식 서버는 분석된 문장 구조로부터 사용자의 발화 음성이 목적이 되는 개체명(Named Entity : NE)과 해당 개체명에서 수행할 실행 정보를 추출한다. 이후, 음성 인식 서버는 추출된 개체명과 실행 정보에 기초하여 사용자의 발화 음성에 대한 음성 인식 결과를 제공할 수 있다.
그러나, 이 같은 종래의 발화 음성에 대한 문장 구조를 분석하는 방식의 경우, 다음과 같은 문제가 있다.
즉, 사용자의 발화 음성에 대한 텍스트를 기정의된 규칙 모델에 적용된 문장 패턴에 매칭시켜 문장 구조를 분석하는 분석 방법은 사용자의 의도를 정확하게 파악하여 사용자의 의도에 적합한 음성 인식 결과를 제공할 수 있다.
그러나, 이 같은 분석 방법은 사용자의 발화 음성에 대한 텍스트를 기정의된 규칙 모델에 적용된 문장 패턴에 매칭시켜 문장 구조를 분석해야 하므로 많은 연산량이 요구되는 문제가 있다.
한편, 사용자의 발화 음성에 대한 텍스트를 확률적으로 유사한 것으로 판단되는 문장 패턴에 매칭시켜 발화 음성에 대한 문장 구조를 분석하는 분석 방법은 위 분석 방법에 비해 상대적으로 적은 연상량으로 문장 구조 분석이 가능하지만, 위 분석 방법에 비해 사용자의 의도에 부적합한 음성 인식 결과가 제공될 확률이 높다.
뿐만 아니라, 위와 같은 분석 방법의 경우, 기정의된 규칙 모델을 이용하여 문장 구조를 분석함으로써, 사용자의 발화 음성에 대한 텍스트가 기정의된 규칙 모델에 충족되지 못하는 경우, 사용자의 발화 음성에 대한 음성 인식 결과를 제공하지 못하는 문제가 있다.
본 발명은 상술한 필요성에 따라 안출된 것으로, 본 발명의 목적은, 다양한 사용자의 발화 음성에 대해서 음성 인식 결과를 제공하도록 함을 목적으로 한다.
나아가, 본 발명은 사용자의 감성적인 의미를 포함하는 발화 음성에 대해서도 음성 인식 결과 제공이 가능하도록 함을 목적으로 한다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 음성 인식 서버의 제어 방법은, 복수의 훈련 텍스트의 색인값을 산출하는 단계, 상기 복수의 훈련 텍스트의 색인값을 바탕으로 상기 복수의 훈련 텍스트 각각에 대한 그룹을 설정하고, 상기 그룹에 대응되는 기능을 매칭하여 저장하는 단계, 사용자 단말 장치로부터 사용자의 발화 음성이 수신된 경우. 상기 수신된 발화 음성으로부터 색인값을 산출하는 단계 및 상기 발화 음성으로 산출된 색인값에 대응되는 그룹을 검색하여 상기 발화 음성에 대응되는 기능을 수행하는 단계를 포함한다.
그리고, 상기 훈련 텍스트의 색인값을 산출하는 단계는, 상기 훈련 텍스트를 의미 단위로 분리하는 단계, 상기 의미 단위를 스칼라 또는 벡터값으로 색인값을 산출하는 단계 및 상기 산출된 색인값을 상기 의미 단위별로 태깅하는 단계를 포함할 수 있다.
또한, 상기 색인값은, 연속 공간 내의 한 지점에 위치하는 값일 수 있다.
그리고, 상기 색인값은, 스킵 그램(Skip-Gram) 방식을 이용하여 산출될 수 있다.
또한, 상기 저장하는 단계는, 상기 색인값의 유사도 및 상기 색인값과 기정의된 복수의 그룹의 위치 사이의 거리에 따라 상기 복수의 훈련 텍스트 및 상기 복수의 훈련 텍스트 각각을 구성하는 의미 단위의 그룹을 설정하는 단계, 상기 설정된 그룹에 대응되는 기능을 설정하는 단계 및 상기 기능을 상기 그룹에 태깅하여 저장하는 단계를 포함할 수 있다
그리고, 상기 그룹을 설정하는 단계는, 상기 그룹에 포함된 색인값의 평균값 및 상기 평균값과 가장 근접한 색인값 중 적어도 하나를 상기 그룹의 색인값으로 설정할 수 있다.
또한, 상기 기능을 설정하는 단계는, 사용자 명령에 따라, 명령 처리 기능, 의도 처리 기능 및 감성 처리 기능 중 적어도 하나를 상기 그룹에 대응되는 기능으로 설정할 수 있다.
그리고, 상기 수신된 발화 음성으로부터 색인값을 산출하는 단계는, 상기 발화 음성으로부터 인식된 텍스트를 의미 단위로 분리하는 단계 및 상기 텍스트로부터 분리된 의미 단위를 스칼라 또는 벡터값으로 표현하여 색인값을 산출하는 단계를 포함할 수 있다.
또한, 상기 수행하는 단계는, 상기 기설정된 그룹 중 상기 산출된 색인값에 대응되는 그룹을 선택하는 단계 및 상기 선택된 그룹의 기능에 대응되는 음성 인식 결과를 상기 사용자 단말 장치로 전송하는 단계를 포함할 수 있다.
그리고, 상기 전송하는 단계는, 상기 선택된 그룹의 기능이 명령 처리 기능이면, 상기 사용자 단말 장치의 동작을 제어하기 위한 제어 명령을 상기 사용자 단말 장치로 전송하고, 상기 선택된 그룹의 기능이 의도 처리 기능 또는 감성 처리 기능이면, 상기 발화 음성에 대한 응답 메시지, 제어 명령 및 검색 결과 중 적어도 하나를 상기 사용자 단말 장치로 전송할 수 있다.
한편, 본 발명의 일 실시 예에 따르면, 음성 인식 서버는 복수의 훈련 텍스트의 색인값을 제1 산출부, 상기 복수의 훈련 텍스트의 색인값을 바탕으로 상기 복수의 훈련 텍스트 각각에 대한 그룹을 설정하고, 상기 그룹에 대응되는 기능을 매칭하여 저장하는 그룹 설정부, 사용자 단말 장치로부터 사용자의 발화 음성이 수신된 경우. 상기 수신된 발화 음성으로부터 색인값을 산출하는 제2 산출부 및 상기 발화 음성으로 산출된 색인값에 대응되는 그룹을 검색하여 상기 발화 음성에 대응되는 기능을 수행하는 기능 처리부를 포함한다.
그리고, 상기 제1 산출부는, 상기 훈련 텍스트를 의미 단위로 분리하는 제1 텍스트 분절부, 상기 제1 텍스트 분절부에 의해 분리된 의미 단위를 스칼라 또는 벡터값으로 색인값을 산출하는 제1 의미 색인부 및 상기 제1 의미 색인부에 의해 산출된 색인값을 상기 의미 단위별로 태깅하는 색인 태깅부를 포함할 수 있다.
또한, 상기 색인값은, 연속 공간 내의 한 지점에 위치할 수 있다.
그리고, 상기 색인값은, 스킵 그램(Skip-Gram) 방식을 이용하여 산출될 수 있다.
또한, 상기 그룹 설정부는, 상기 색인값의 유사도 및 상기 색인값과 기정의된 복수의 그룹의 위치 사이의 거리에 따라 상기 복수의 훈련 텍스트 및 상기 복수의 훈련 텍스트 각각을 구성하는 의미 단위의 그룹을 설정하는 색인 군집부 및 상기 설정된 그룹에 대응되는 기능을 설정하며, 상기 설정된 기능을 상기 그룹에 태깅하여 저장하는 기능 설정부를 포함할 수 있다.
그리고, 상기 그룹 설정부는, 상기 그룹에 포함된 색인값의 평균값 및 상기 평균값과 가장 근접한 색인값 중 적어도 하나를 상기 그룹의 색인값으로 설정하는 그룹 색인부를 더 포함할 수 있다.
또한, 상기 기능 설정부는, 사용자 명령에 따라, 명령 처리 기능, 의도 처리 기능 및 감성 처리 기능 중 적어도 하나를 상기 그룹에 대응되는 기능으로 설정할 수 있다.
그리고, 상기 제2 산출부는, 상기 발화 음성으로부터 인식된 텍스트를 의미 단위로 분리하는 제2 텍스트 분절부 및 상기 텍스트로부터 분리된 의미 단위를 스칼라 또는 벡터값으로 표현하여 색인값을 산출하는 제2 의미 색인부를 포함할 수 있다.
또한, 상기 기능 처리부는, 상기 기저장된 그룹 중 산출된 색인값에 대응되는 그룹을 선택하고, 상기 선택된 그룹의 기능에 대응되는 음성 인식 결과를 상기 사용자 단말 장치로 전송할 수 있다.
그리고, 상기 기능 처리부는, 상기 선택된 그룹의 기능이 명령 처리 기능이면, 상기 사용자 단말 장치의 동작을 제어하기 위한 제어 명령을 상기 사용자 단말 장치로 전송하고, 상기 선택된 그룹의 기능이 의도 처리 기능 또는 감성 처리 기능이면, 상기 발화 음성에 대한 응답 메시지, 제어 명령 및 검색 결과 중 적어도 하나를 상기 사용자 단말 장치로 전송할 수 있다.
이상과 같이 본 발명의 다양한 실시 예에 따르면, 대화형 시스템의 음성 인식 서버는 다양한 사용자의 발화 음성에 대해서 사용자의 의도에 적합한 음성 인식 결과를 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 사용자 발화 음성에 적합한 음성 인식 결과를 제공하는 대화형 시스템의 예시도,
도 2는 본 발명의 일 실시예에 따른 음성 인식 서버의 블록도,
도 3은 본 발명의 일 실시예에 따른 제1 산출부의 세부 블록도,
도 4는 본 발명의 일 실시예에 따른 제1 의미 색인부에서 의미 단위 텍스트에 대한 색인값을 산출하는 예시도,
도 5는 본 발명의 일 실시예에 따른 그룹 설정부의 세부 블록도,
도 6은 본 발명의 일 실시예에 따른 그룹 설정부에서 복수의 훈련 텍스트 또는 의미 단위 텍스트의 그룹을 설정하는 예시도,
도 7은 본 발명의 일 실시예에 따른 제2 산출부의 세부 블록도,
도 8은 본 발명의 일 실시예에 따른 음성 인식 서버의 전체 구성을 나타내는 블록도,
도 9는 본 발명의 일 실시예에 따른 음성 인식 서버의 제어 방법에 대한 흐름도,
도 10은 본 발명의 일 실시예에 따른 음성 인식 서버에서 훈련 텍스트의 색인값을 산출하는 방법의 흐름도,
도 11은 본 발명의 일 실시예에 따른 음성 인식 서버에서 복수의 훈련 텍스트에 대한 그룹을 설정하는 방법의 흐름도,
도 12는 본 발명의 일 실시예에 따른 음성 인식 서버에서 발화 음성에 대한 텍스트로부터 색인값을 산출하는 방법의 흐름도,
도 13은 본 발명의 일 실시예에 따른 음성 인식 서버에서 발화 음성에 대응되는 기능을 수행하는 방법의 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 음성 인식 서버의 블록도,
도 3은 본 발명의 일 실시예에 따른 제1 산출부의 세부 블록도,
도 4는 본 발명의 일 실시예에 따른 제1 의미 색인부에서 의미 단위 텍스트에 대한 색인값을 산출하는 예시도,
도 5는 본 발명의 일 실시예에 따른 그룹 설정부의 세부 블록도,
도 6은 본 발명의 일 실시예에 따른 그룹 설정부에서 복수의 훈련 텍스트 또는 의미 단위 텍스트의 그룹을 설정하는 예시도,
도 7은 본 발명의 일 실시예에 따른 제2 산출부의 세부 블록도,
도 8은 본 발명의 일 실시예에 따른 음성 인식 서버의 전체 구성을 나타내는 블록도,
도 9는 본 발명의 일 실시예에 따른 음성 인식 서버의 제어 방법에 대한 흐름도,
도 10은 본 발명의 일 실시예에 따른 음성 인식 서버에서 훈련 텍스트의 색인값을 산출하는 방법의 흐름도,
도 11은 본 발명의 일 실시예에 따른 음성 인식 서버에서 복수의 훈련 텍스트에 대한 그룹을 설정하는 방법의 흐름도,
도 12는 본 발명의 일 실시예에 따른 음성 인식 서버에서 발화 음성에 대한 텍스트로부터 색인값을 산출하는 방법의 흐름도,
도 13은 본 발명의 일 실시예에 따른 음성 인식 서버에서 발화 음성에 대응되는 기능을 수행하는 방법의 흐름도이다.
본 발명에 대하여 구체적으로 설명하기에 앞서, 본 명세서 및 도면의 기재 방법에 대하여 설명한다.
먼저, 본 명세서 및 청구범위에서 사용되는 용어는 본 발명의 다양한 실시 예들에서의 기능을 고려하여 일반적인 용어들을 선택하였다. 하지만, 이러한 용어들은 당 분야에 종사하는 기술자의 의도나 법률적 또는 기술적 해석 및 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 일부 용어는 출원인이 임의로 선정한 용어도 있다. 이러한 용어에 대해서는 본 명세서에서 정의된 의미로 해석될 수 있으며, 구체적인 용어 정의가 없으면 본 명세서의 전반적인 내용 및 당해 기술 분야의 통상적인 기술 상식을 토대로 해석될 수도 있다.
또한, 본 명세서에 첨부된 각 도면에 기재된 동일한 참조번호 또는 부호는 실질적으로 동일한 기능을 수행하는 부품 또는 구성요소를 나타낸다. 설명 및 이해의 편의를 위해서 서로 다른 실시 예들에서도 동일한 참조번호 또는 부호를 사용하여 설명한다. 즉, 복수의 도면에서 동일한 참조 번호를 가지는 구성요소를 모두 도시되어 있다고 하더라도, 복수의 도면들이 하나의 실시 예를 의미하는 것은 아니다.
또한, 본 명세서 및 청구범위에서는 구성요소들 간의 구별을 위하여 "제1", "제2" 등과 같이 서수를 포함하는 용어가 사용될 수 있다. 이러한 서수는 동일 또는 유사한 구성요소들을 서로 구별하기 위하여 사용하는 것이며 이러한 서수 사용으로 인하여 용어의 의미가 한정 해석되어서는 안된다. 일 예로, 이러한 서수와 결합된 구성요소는 그 숫자에 의해 사용 순서나 배치 순서 등이 제한되어서는 안된다. 필요에 따라서는, 각 서수들은 서로 교체되어 사용될 수도 있다.
본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명의 실시 예에서 "모듈", "유닛", "부(part)" 등과 같은 용어는 적어도 하나의 기능이나 동작을 수행하는 구성요소를 지칭하기 위한 용어이며, 이러한 구성요소는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈", "유닛", "부(part)" 등은 각각이 개별적인 특정한 하드웨어로 구현될 필요가 있는 경우를 제외하고는, 적어도 하나의 모듈이나 칩으로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
또한, 본 발명의 실시 예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 본 발명의 다양한 실시 예를 첨부된 도면을 참조하여 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 사용자 발화 음성에 적합한 음성 인식 결과를 제공하는 대화형 시스템의 예시도이다.
도 1에 도시된 바와 같이, 대화형 시스템은 사용자 단말 장치(100), 음성 인식 장치(200) 및 음성 인식 서버(300)를 포함한다.
사용자 단말 장치(100)는 사용자의 발화 음성을 인식하여 사용자가 의도한 동작을 수행하는 장치로써, 스마트 TV, 스마트 폰, 테블릿 PC 등과 같은 다양한 전자 장치로 구현될 수 있다.
음성 인식 장치(200)는 사용자 단말 장치(100)로부터 수신된 사용자의 발화 음성에 대한 음성 신호를 텍스트 형태로 변환하고, 텍스트 형태로 변환된 음성 인식 결과를 사용자 단말 장치(100)로 전송한다. 그러나, 본 발명은 이에 한정되지 않으며, 사용자 단말 장치(100)와 음성 인식 장치(200) 간의 데이터 통신이 이루어지지 않거나 혹은 마이크(미도시)를 통해 발화 음성이 입력된 경우, 사용자 단말 장치(100)는 입력된 사용자의 발화 음성에 대한 음성 신호를 텍스트 형태로 변환할 수 있다.
음성 인식 서버(300)는 사용자의 발화 음성으로부터 변화된 텍스트가 수신되면, 수신된 발화 음성에 대한 텍스트로부터 사용자의 발화 음성에 대한 음성 인식 결과를 사용자 단말 장치(100)로 전송한다.
구체적으로, 사용자 단말 장치(100)가 음성 인식 모드로 동작하고 있는 상태에서, 사용자는 사용자 단말 장치(100)를 통해 자신이 원하는 정보를 제공받기 위하여 해당 정보에 대한 질의 관련 발화를 수행할 수 있다. 일 실시예에 따라, 사용자의 발화 음성이 마이크(미도시)를 통해 입력되면, 사용자 단말 장치(100)는 내부적으로 사용자의 발화 음성에 대한 음성 인식을 수행하여 텍스트로 변환할 수 있다.
또다른 실시예에 따라, 사용자의 발화 음성이 리모컨과 같은 원격 제어 장치(미도시)를 통해 입력되거나, 사용자 단말 장치(100) 내에서 텍스트 변환이 불가능하면, 사용자 단말 장치(100)는 사용자의 발화 음성에 대한 음성 신호를 음성 인식 장치(200)로 전송한다. 이에 따라, 음성 인식 장치(200)는 사용자 단말 장치(100)로부터 수신된 발화 음성에 대한 음성 신호를 텍스트 형태로 변환하고, 그에 따른 음성 인식 결과를 전송한다. 실시예에 따라, 음성 인식 장치(200)는 STT(Speech to Text) 알고리즘을 이용하여 수신된 사용자의 발화 음성을 텍스트로 변환할 수 있다.
이 같은 다양한 실시예를 통해 사용자의 발화 음성에 대한 텍스트가 수신되거나 생성되면, 사용자 단말 장치(100)는 사용자의 발화 음성에 대한 텍스트를 음성 인식 서버(300)로 전송한다. 이에 따라, 음성 인식 서버(300)는 사용자 단말 장치(100)로부터 수신된 사용자의 발화 음성에 대한 텍스트를 분석하여 사용자의 발화 음성에 대한 음성 인식 결과를 사용자 단말 장치(100)로 전송한다.
구체적으로, 음성 인식 서버(300)는 다양한 경로를 통해 수신된 복수의 훈련 텍스트로부터 복수의 훈련 텍스트 각각에 대한 그룹을 설정하고, 설정된 각 그룹에 대한 기능을 해당 그룹에 매칭하여 저장할 수 있다. 이 같은 복수의 훈련 텍스트에 대한 그룹을 저장하고 있는 음성 인식 서버(300)는 사용자 단말 장치(100)로부터 사용자의 발화 음성으로 변환된 텍스트가 수신되면, 기저장된 복수의 그룹 내 포함된 훈련 텍스트와 수신된 텍스트 간의 유사도로부터 수신된 텍스트에 대한 그룹을 선택한다. 이후, 음성 인식 서버(300)는 선택된 그룹에 대한 기능에 대응되는 음성 인식 결과를 사용자 단말 장치(100)로 전송한다.
실시예에 따라, 선택된 그룹의 기능이 명령 처리 기능이면, 음성 인식 서버(300)는 사용자 단말 장치(100)의 동작을 제어하기 위한 제어 명령을 사용자 단말 장치(100)로 전송한다. 한편, 선택된 그룹의 기능이 의도 처리 기능이거나 혹은 감성 처리 기능이면, 음성 인식 서버(300)는 사용자의 발화 음성에 대한 응답 메시지, 제어 명령 및 검색 결과 중 적어도 하나를 사용자 단말 장치(100)로 전송한다.
이에 따라, 사용자 단말 장치(100)는 음성 인식 서버(300)로부터 수신된 음성 인식 결과에 기초하여 사용자가 의도한 제어 동작을 수행하거나, 사용자의 발화 음성에 대한 응답 메시지 혹은 검색 결과를 디스플레이할 수 있다.
한편, 전술한 사용자의 발화 음성에 대한 음성 인식 결과를 제공하는 음성 인식 서버(300)는 사용자의 발화 음성을 텍스트로 변환하는 음성 인식 장치(200)는 단일 구성으로 이루어질 수 있다. 이 경우, 음성 인식 서버(300)는 사용자의 발화 음성에 대한 음성 신호가 수신되면, 수신된 음성 신호를 텍스트로 변환한 후, 변환된 텍스트에 기초하여 사용자의 발화 음성에 대한 음성 인식 결과를 제공할 수 있다.
지금까지, 본 발명에 따른 대화형 시스템의 동작에 대해서 개략적으로 설명하였다. 이하에서는, 본 발명에 따른 음성 인식 서버(300)의 각 구성에 대해서 상세히 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 음성 인식 서버의 블록도이다.
도 2에 도시된 바와 같이, 음성 인식 서버(300)는 제1 산출부(310), 그룹 설정부(320), 제2 산출부(330) 및 기능 처리부(340)를 포함할 수 있다.
제1 산출부(310)는 수신된 복수의 훈련 텍스트로부터 색인값을 산출한다. 여기서, 훈련 텍스트는 다양한 경로를 통해 입력된 정보로써, 예를 들어, 웹 서버(미도시)에서 제공되는 웹 문서를 훈련 텍스트로 입력받을 수 있다.
그룹 설정부(320)는 복수의 훈련 텍스트로부터 산출된 색인값을 바탕으로 복수의 훈련 텍스트 각각에 대한 그룹을 설정하고, 설정된 그룹에 대응되는 기능을 매칭하여 저장한다.
제2 산출부(330)는 사용자 단말 장치(100)로부터 사용자의 발화 음성에 대한 텍스트가 수신되면, 수신된 발화 음성에 대한 텍스트로부터 색인값을 산출한다.
기능 처리부(340)는 발화 음성에 대한 텍스트로부터 산출된 색인값에 대응되는 그룹을 검색하여, 사용자의 발화 음성에 대응되는 기능을 수행한다.
이하에서는, 전술한 제1 산출부(310), 그룹 설정부(320), 제2 산출부(330) 및 기능 처리부(340) 구성에 대해서 구체적으로 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 제1 산출부의 세부 블록도이다.
도 3에 도시된 바와 같이, 제1 산출부(310)는 제1 텍스트 분절부(311), 제1 의미 색인부(313) 및 색인 태깅부(315)를 포함한다.
제1 텍스트 분절부(311)는 수신된 복수의 훈련 텍스트를 의미 단위로 분리하며, 제1 의미 색인부(313)는 텍스트 분절부(311)에 의해 분리된 의미 단위를 스칼라 또는 벡터값으로 색인값을 산출한다. 그리고, 색인 태깅부(315)는 제1 의미 색인부(315)에 의해 산출된 색인값을 의미 단위별로 태깅한다.
구체적으로, 복수의 훈련 텍스트가 수신되면, 제1 텍스트 분절부(311)는 수신된 각각의 훈련 텍스트를 의미 단위로 분리한다. 여기서, 의미 단위란 훈련 텍스트에 대응되는 문장으로부터 의미를 가지는 단위를 말하며, 의미를 가지는 단위는 단어, 문구, 문장 및 문단 등 다양한 형태로 이루어질 수 있다. 이하에서는, 의미 단위를 의미 단위 텍스트로 명명하여 설명하도록 한다.
예를 들어, 제1 텍스트 분절부(311)는 '○○○이 나온 프로그램'이라는 훈련 텍스트가 수신되면, '○○○이 나온 프로그램'이라는 훈련 텍스트로부터 '○○○', '나온', '프로그램'이라는 의미 단위 텍스트로 분리할 수 있다.
이 같이, 훈련 텍스트로부터 의미 단위 텍스트로 분리되면, 제1 의미 색인부(313)는 분리된 의미 단위 텍스트를 스칼라 또는 벡터값으로 색인값을 산출한다. 여기서, 색인값은 연속 공간 내의 한 점에 위치하는 값으로써, 실시예에 따라, 스킵 그램(Skip-Gram) 방식을 이용하여 산출될 수 있다.
그러나, 본 발명은 이에 한정되지 않으며, 제1 의미 색인부(313)는 N 그램 방식을 이용하여 의미 단위 텍스트에 대한 색인값을 산출할 수 있다.
이 같이, 제1 의미 색인부(313)를 통해 의미 단위 텍스트에 대한 색인값이 산출되면, 색인 태깅부(315)는 의미 단위 텍스트별로 산출된 색인값을 의미 단위 텍스트 각각에 태깅한다.
도 4는 본 발명의 일 실시예에 따른 제1 의미 색인부에서 의미 단위 텍스트에 대한 색인값을 산출하는 예시도이다.
도 4에 도시된 바와 같이, 제1 의미 색인부(313)는 하나의 의미 단위 텍스트(W(t))가 벡터 형태로 입력되면, 입력된 의미 단위 텍스트(W(t))의 벡터값을 각 요소별로 가중치를 곱한 후, 가중치가 곱해진 의미 단위 텍스트(W(t))의 벡터값에 기초하여 의미 단위 텍스트(W(t))를 포함하는 문맥의 벡터값에 가중치를 곱한다. 여기서, 문맥은 의미 단위 텍스트(W(t))와 관련된 주변 단어에 대한 텍스트(W(t-1),W(t-2),W(t+1),W(t+2))가 될 수 있다.
이 같은 의미 단위 텍스트(W(t))와 관련된 주변 단어에 대한 텍스트(W(t-1),W(t-2),W(t+1),W(t+2))는 정규화(Softmax)를 통해서 계산될 수 있으며, 그 값은 의미 단위 텍스트(W(t))와 관련된 주변 단어에 대한 텍스트가 수집될 확률이 될 수 있다.
이후, 제1 의미 색인부(313)는 의미 단위 텍스트(W(t))를 포함하는 문맥의 벡터값과 해당 문맥의 가중치가 곱해진 벡터값을 비교하여 두 벡터값 간의 차이를 오류값으로 결정한다. 이후, 제1 의미 색인부(313)는 내리막 경사 알고리즘을 이용하여 가중치를 변경하여 기결정된 오류값의 차이를 줄인다. 따라서, 수정된 오류값이 최종 수렴 조건을 만족하면, 제1 의미 색인부(313)는 최종 수렴 조건을 만족하는 오류값으로 도출되는데 이용된 가중치를 의미 단위 텍스트(W(t))의 벡터값에 적용시킨다.
따라서, 의미 단위 텍스트(W(t))의 벡터값은 주변 단어에 대한 텍스트(W(t-1),W(t-2),W(t+1),W(t+2))의 벡터값과 유사한 값을 갖게 될 수 있다.
이 같은 스킵 그램 방식은 공지된 기술이므로, 본 발명에서는 상세한 설명을 생략하도록 한다.
이 같은 실시예를 통해 의미 단위 텍스트 각각에 대한 색인값이 산출되면, 색인 태깅부(315)는 의미 단위 텍스트별로 산출된 색인값은 의미 단위 텍스트 각각에 태깅할 수 있다.
한편, 전술한 제1 의미 색인부(313)는 훈련 텍스트로부터 분리된 의미 단위 텍스트 각각에 대응되는 색인값이 산출되면, 해당 훈련 텍스트를 구성하는 의미 단위 텍스트 각각으로부터 산출된 색인값에 기초하여 해당 훈련 텍스트에 대한 색인값을 산출할 수 있다.
일 실시예에 따라, 제1 의미 색인부(313)는 훈련 텍스트를 구성하는 의미 단이 텍스트 각각으로부터 산출된 색인값의 합을 해당 훈련 텍스트의 색인값으로 산출할 수 있다.
또다른 실시예에 따라, 제1 의미 색인부(313)는 훈련 텍스트를 구성하는 의미 단위 텍스트 각각으로부터 산출된 색인값의 평균값을 해당 훈련 텍스트의 색인값으로 산출할 수 있다.
따라서, 색인 태깅부(315)는 의미 단위 텍스트별로 산출된 색인값은 의미 단위 텍스트 각각에 태깅할 뿐만 아니라, 의미 단위 텍스트를 포함하는 훈련 텍스트에 대한 색인값을 훈련 텍스트에 태깅할 수 있다.
이 같이, 복수의 훈련 텍스트 및 각각의 훈련 텍스트를 구성하는 의미 단위 텍스트에 대한 색인값이 태깅되면, 그룹 설정부(320)는 태깅된 색인값에 기초하여 복수의 훈련 텍스트 각각에 대한 그룹을 설정할 수 있다.
이하에서는, 본 발명에 따른 그룹 설정부(320)에 대해서 상세히 설명하도록 한다.
도 5는 본 발명의 일 실시예에 따른 그룹 설정부의 세부 블록도이다.
도 5에 도시된 바와 같이, 그룹 설정부(320)는 색인 군집부(321), 그룹 색인부(323) 및 기능 설정부(325)를 포함할 수 있다.
색인 군집부(321)는 제1 산출부(310)의 색인 태깅부(315)를 통해 태깅된 색인값의 유사도 및 각각의 색인값과 기정의된 복수의 그룹의 위치 사이의 거리에 따라 상기 복수의 훈련 텍스트 및 복수의 훈련 텍스트 각각을 구성하는 의미 단위의 그룹을 설정한다.
그리고, 그룹 색인부(313)는 설정된 그룹에 포함된 색인값의 평균값 및 해당 평균값과 가장 근접한 색인값 중 적어도 하나를 해당 그룹의 색인값으로 설정하며, 기능 설정부(325)는 사용자 명령에 대응되는 기능을 해당 그룹에 태깅하여 저장한다.
구체적으로, 색인 태깅부(315)를 통해 복수의 훈련 텍스트 각각에 색인값이 태깅되면, 색인 군집부(321)는 태깅된 색인값들 간의 유사도에 따라 복수의 훈련 텍스트을 군집화한다. 또한, 색인 군집부(323)는 색인 태깅부(315)를 통해 복수의 훈련 텍스트 각각을 구성하는 의미 단위 텍스트에 색인값이 태깅되면, 태깅된 색인값들 간의 유사도에 따라 의미 단위 텍스트를 군집화한다.
이후, 색인 군집부(321)는 기정의된 n 개의 그룹별 위치와 군집화된 각각의 색인값 간의 거리의 합이 최소가 되는 방향으로 n 개의 그룹별 위치를 조정하여 군집화된 복수의 훈련 텍스트 또는 의미 단위 텍스트의 그룹을 설정한다..
실시예에 따라, 색인 군집부(321)는 K-mean 방법을 이용하여 기정의된 n 개의 그룹별 위치와 군집화된 각각의 색인값들 간의 유클리디안 거리(Euclidean Distance)를 측정한다. 이후, 색인 군집부(321)는 측정된 거리와 기정의된 n 개의 그룹 각각의 위치 간의 거리 합이 최소가 되는 방향으로 n 개의 그룹별 위치를 조정하여 군집화된 복수의 훈련 텍스트 또는 의미 단위 텍스트의 그룹을 설정한다.
예를 들어, '○○○이 나온 프로그램'이라는 제1 훈련 텍스트의 색인값은 '○○○이 어떤 프로를 하지?'라는 제2 훈련 텍스트의 색인값, '○○○이 출연한 프로그램'이라는 제3 훈련 텍스트의 색인값, '요즘 ○○○이 어디 출연해?'라는 제4 훈련 텍스트의 색인값 및 '○○○이 출연한 프로그램은?'이라는 제5 훈련 텍스트의 색인값과 유사할 수 있다. 이 경우, 색인 군집부(321)는 제1 내지 제5 훈력 텍스트의 색인값을 군집화한다. 이후, 색인 군집부(321)는 기정의된 n 개의 그룹별 위치 중 제1 내지 제5 훈련 텍스트의 색인값이 군집화된 영역과 근접한 그룹을 선택하고, 선택된 그룹의 위치와 제1 내지 제5 훈련 텍스트 각각에 대한 색인값 간의 거리를 측정한다. 이후, 색인 군집부(321)는 측정된 거리와 기선택된 그룹의 위치 간의 거리 합이 최소가 되는 방향으로 해당 그룹을 이동시며, 제1 내지 제5 훈련 텍스트를 이동된 그룹 내 존재하도록 제1 내지 제5 훈련 텍스트의 그룹을 설정한다.
또다른 예를 들어, '○○○이 나온 프로그램'이라는 훈련 텍스트로부터 분리된 '○○○'이라는 제1 의미 단위 텍스트의 색인값은 '△△△'이라는 제2 의미 단위 텍스트의 색인값, '◇◇◇'이라는 제3 의미 단위 텍스트의 색인값 및 '□□□'이라는 제4 의미 단위 텍스트의 색인값이 유사할 수 있다. 이 경우, 색인 군집부(321)는 유사한 색인값을 갖는 제1 내지 제4 의미 단위 텍스트를 군집화한다.
이후, 색인 군집부(321)는 기정의된 n 개의 그룹별 위치 중 제1 내지 제4 의미 단위 텍스트의 색인값이 군집화된 영역과 근접한 그룹을 선택하고, 선택된 그룹의 위치와 제1 내지 제4 의미 단위 텍스트 간의 거리를 측정한다. 이후, 색인 군집부(321)는 측정된 거리와 기선택된 그룹의 위치 간의 거리 합이 최소가 되는 방향으로 해당 그룹을 이동시며, 제1 내지 제4 의미 단위 텍스트를 해당 그룹내 존재하도록 제1 내지 제2 훈련 텍스트의 그룹을 설정한다.
이후, 색인 군집부(321)는 기정의된 n 개의 그룹별 위치 중 제1 내지 제4 의미 단위 텍스트의 색인값이 군집화된 영역과 근접한 그룹을 선택하고, 선택된 그룹의 위치와 제1 내지 제5 훈련 텍스트 각각에 대한 색인값 간의 거리를 측정한다. 이후, 색인 군집부(323)는 측정된 거리와 기선택된 그룹의 위치 간의 거리 합이 최소가 되는 방향으로 해당 그룹을 이동시키며, 제1 내지 제5 훈련 텍스트를 이동된 그룹 내 존재하도록 제1 내지 제5 훈련 텍스트의 그룹을 설정한다.
복수의 훈련 텍스트의 그룹이 설정되면, 그룹 색인부(325)는 기설정된 그룹내 포함된 제1 내지 제5 훈련 텍스트의 색인값에 기초하여 해당 그룹의 색인값을 설정한다.
일 실시예에 따라, 그룹 색인부(325)는 그룹내 포함된 제1 내지 제5 훈련 텍스트의 색인값의 평균값을 해당 그룹의 색인값으로 설정할 수 있다.
또다른 실시예에 따라, 그룹 색인부(325)는 그룹내 포함된 제1 내지 제5 훈련 텍스트의 색인값 중 평균값과 가장 근접한 색인값을 해당 그룹의 색인값으로 설정할 수 있다.
또다른 실시예에 따라, 그룹 색인부(325)는 그룹내 포함된 제1 내지 제5 훈련 텍스트의 색인값 중 값이 가장 높거나 혹은 가장 낮은 색인값을 해당 그룹의 색인값으로 설정할 수 있다.
이와 같이, 복수의 훈련 텍스트에 대한 그룹이 설정되고, 각 그룹에 대한 색인값이 산출되면, 기능 설정부(325)는 사용자의 발화 음성에 대한 음성 인식 결과를 제공하기 위한 기능을 각 그룹에 설정한다. 여기서, 각 그룹에 설정되는 기능은 명령 처리 기능, 의도 처리 기능 및 감성 처리 기능 중 적어도 하나가 될 수 있다.
명령 처리 기능은 사용자의 발화 음성에 따라, 사용자 단말 장치(100)의 동작을 제어하기 위한 기능이 될 수 있다. 그리고, 의도 처리 기능은 사용자의 발화 음성에 대한 텍스트의 문장 구성으로부터 사용자의 발화 음성에 대한 응답 메시지, 제어 명령 및 검색 결과 중 적어도 하나를 상기 사용자 단말 장치로 전송하기 위한 기능이 될 수 있다. 그리고, 감성 처리 기능은 사용자의 발화 음성으로부터 분석된 감성에 따라 사용자의 발화 음성에 대한 응답 메시지, 제어 명령 및 검색 결과 중 적어도 하나를 상기 사용자 단말 장치로 전송하기 위한 기능이 될 수 있다.
도 6은 본 발명의 일 실시예에 따른 그룹 설정부에서 복수의 훈련 텍스트 또는 의미 단위 텍스트의 그룹을 설정하는 예시도이다.
도 6의 (a)에 도시된 바와 같이, 복수의 훈련 텍스트는 복수의 훈련 텍스트 각각에 태깅된 색인값의 유사도에 따라 군집화될 수 있다. 복수의 훈련 텍스트가 군집화되면, 색인 군집부(321)는 복수의 훈련 텍스트의 색인값과 기정의된 그룹의 위치 사이의 거리에 따라 복수의 훈련 텍스트의 그룹을 설정한다.
도 6의 (b)에 도시된 바와 같이, 사용자 설정에 따라, A,B,C 지점이 선택될 경우, 복수의 훈련 텍스트는 3 개의 그룹(610~630) 내로 분류될 수 있다. 즉, 제1 그룹(610)에는 A 지점을 기준으로 1 개의 훈련 텍스트가 포함될 수 있으며, 제2 그룹(620)에는 B 지점을 기준으로 6 개의 훈련 텍스트가 포함될 수 있으며, 제3 그룹(630)에는 C 지점을 기준으로 5 개의 훈련 텍스트가 포함될 수 있다.
이와 같이, 복수의 훈련 텍스트의 색인값과 제1 내지 제3 그룹(610~630) 내의 각 지점(A~C) 간의 거리 정도에 따라 복수의 훈련 텍스트의 그룹이 1차 설정되면, 색인 군집부(321)는 제1 내지 제3 그룹(610~630) 내 포함된 훈련 텍스트 중 각 지점(A~C)과 가장 근접한 훈련 텍스트의 색인값 사이의 거리 합으로부터 최소값을 산출한다. 이후, 색인 군집부(321)는 산출된 최소값에 대응되는 방향으로 각 지점(A~C)을 이동시킬 수 있다. 즉, 도 6의 (c)에 도시된 바와 같이, A,B,C 지점은 제1 내지 제3 그룹(610~630) 내 포함된 적어도 하나의 훈련 텍스트와 가장 근접한 위치로 이동될 수 있다.
따라서, 도 6의 (d)에 도시된 바와 같이, 최종적으로 제1 그룹(610)에는 2 개의 훈련 텍스트가 포함될 수 있으며, 제2 그룹(620)에는 4 개의 훈련 텍스트가 포함될 수 있으며, 제3 그룹(630)에는 5 개의 훈련 텍스트가 포함될 수 있다.
이와 같이, 제1 내지 제3 그룹(610~630) 각각에 훈련 텍스트가 포함되도록 설정되면, 그룹 색인부(323)은 제1 내지 제3 그룹(610~630) 각각에 포함된 훈련 텍스트의 색인값에 기초하여 제1 내지 제3 그룹(610~630)에 대한 색인값을 산출할 수 있다.
일 실시예에 따라, 그룹 색인부(323)는 제1 내지 제3 그룹(610~630) 각각에 포함된 훈련 텍스트의 색인값으로부터 평균값을 산출하여, 산출된 평균값을 제1 내지 제3 그룹(610~630)의 색인값으로 결정할 수 있다.
또다른 실시예에 따라, 그룹 색인부(323)는 제1 내지 제3 그룹(610~630) 각각에 포함된 훈련 텍스트의 색인값과 제1 내지 제3 그룹(610~630) 내 각 지점(A,B,C) 간의 거리에 기초하여 A,B,C 지점과 가장 근접한 훈련 텍스트의 색인값을 제1 내지 제3 그룹(610~630)의 색인값으로 결정할 수 있다.
한편, 본 발명에서는 복수의 훈련 텍스트의 색인값에 기초하여 그룹을 설정하는 것에 대해서만 한정하였으나, 본 발명은 이에 한정되지 않으며, 전술한 일련의 동작을 수행하여 복수의 훈련 텍스트를 구성하는 의미 단위 텍스트에 대한 그룹을 설정할 수 있다.
이하에서는, 본 발명에 따른 제2 산출부(330)에 대해서 상세히 설명하도록 한다.
도 7은 본 발명의 일 실시예에 따른 제2 산출부의 세부 블록도이다.
도 7에 도시된 바와 같이, 제2 산출부(330)는 제2 텍스트 분절부(331) 및 제2 의미 색인부(333)를 포함할 수 있다.
제2 텍스트 분절부(331)는 사용자의 발화 음성으로부터 인식된 텍스트를 의미 단위(이하 의미 단위 텍스트라 함)로 분리하며, 제2 의미 색인부(333)는 사용자의 발화 음성으로부터 인식된 텍스트로부터 분리된 의미 단위 텍스트를 스칼라 또는 벡터값으로 표현하여 색인값을 산출한다.
구체적으로, 사용자의 발화 음성에 대한 텍스트가 수신되면, 제2 텍스트 분절부(331)는 수신된 텍스트를 의미 단위 텍스트로 분리한다. 여기서, 의미 단위 혹은 의미 단위 텍스트란 사용자의 발화 음성에 대한 택스트에 대응되는 문장으로부터 의미를 가지는 단위를 말하며, 의미를 가지는 단위는 단어, 문구, 문장 및 문단 다양한 형태로 이루어질 수 있다.
예를 들어, 제2 텍스트 분절부(331)는 '○○○이 나온 프로그램'이라는 사용자의 발화 음성에 대한 텍스트가 수신되면, '○○○이 나온 프로그램'이라는 훈련 텍스트로부터 '○○○', '나온', '프로그램'이라는 의미 단위 텍스트로 분리할 수 있다.
이 같이, 사용자의 발화 음성에 대한 텍스트로부터 의미 단위 텍스트로 분리되면, 제2 의미 색인부(333)는 분리된 의미 단위 텍스트를 스칼라 또는 벡터값으로 색인값을 산출한다. 여기서, 색인값은 연속 공간 내의 한 점에 위치하는 값으로써, 실시예에 따라, 스킵 그램(Skip-Gram) 방식을 이용하여 산출될 수 있다.
이 같은 스킵 그램 방식을 이용하여 의미 단위 텍스트를 스칼라 또는 벡터값으로 색인값을 산출하는 동작은 제1 텍스트 분절부(311)에 대한 설명에서 상세히 설명하였기에 이하에서는 상세한 설명을 생략하도록 한다.
제2 산출부(330)의 각 구성을 통해 사용자의 발화 음성에 대한 텍스트로부터 분리된 의미 단위 텍스트에 대한 색인값이 산출되면, 기능 처리부(340)는 산출된 색인값에 대응되는 그룹을 선택하고, 선택된 그룹의 기능에 대응되는 음성 인식 결과를 사용자 단말 장치(100)로 전송한다.
구체적으로, 기능 처리부(340)는 선택된 그룹의 기능이 명령 처리 기능이면, 사용자 단말 장치(100)의 동작을 제어하기 위한 제어 명령을 사용자 단말 장치(100)로 전송한다. 한편, 선택된 그룹의 기능이 의도 처리 기능 또는 감성 처리 기능이면, 기능 처리부(340)는 사용자의 발화 음성에 대한 응답 메시지, 제어 명령 및 검색 결과 중 적어도 하나를 사용자 단말 장치(100)로 전송한다.
보다 구체적으로, 기능 처리부(340)는 사용자의 발화 음성에 대한 텍스트로부터 분리된 의미 단위 텍스트로부터 산출된 색인값에 기초하여 사용자의 발화 음성에 대한 텍스트의 색인값을 산출한다.
실시예에 따라, 기능 처리부(340)는 사용자의 발화 음성에 대한 텍스트로부터 분리된 의미 단위 텍스트로부터 산출된 색인값의 합으로부터 사용자의 발화 음성에 대한 텍스트의 색인값을 산출할 수 있다. 사용자의 발화 음성에 대한 텍스트의 색인값이 산출되면, 기능 처리부(340)는 기저장된 복수의 그룹별 태깅된 색인값과 사용자의 발화 음성에 대한 텍스트의 색인값을 비교하여, 복수의 그룹 중 색인값의 차이가 가장 작은 그룹을 선택한다.
이후, 기능 처리부(340)는 선택된 그룹에 설정된 기능에 따라 사용자의 발화 음성에 대한 음성 인식 결과를 생성하여 사용자 단말 장치(100)로 전송한다.
예를 들어, '소리 좀 줄여줄래?'라는 발화 음성에 대한 텍스트와 관련하여 선택된 그룹은 명령 처리 기능이 설정될 수 있다. 그리고, '소리 좀 줄여줄래?'라는 발화 음성과 관련하여 해당 그룹 내에 '볼륨 줄여!', '소리 줄여!', '소리 낮춰!' 등의 훈련 텍스트가 '소리 좀 줄여줄래?'라는 발화 음성과 유사한 훈련 텍스트로 검출될 수 있다. 이 경우, 기능 처리부(340)는 '소리 좀 줄여줄래?'라는 발화 음성에 대한 텍스트로부터 분리된 의미 단위 텍스트의 색인값과 '소리 좀 줄여줄래?'라는 발화 음성과 관련하여 검출된 훈련 텍스트의 의미 단위 텍스트의 색인값을 비교하여 기검출된 훈련 텍스트 중 '소리 좀 줄여줄래?'라는 발화 음성과 가장 유사한 훈련 텍스트를 검출한다. 이후, 기능 처리부(340)는 최종적으로 검출된 훈련 텍스트에 대한 실행 명령 스크립트를 사용자의 발화 음성에 대한 음성 인식 결과로 결정하여 사용자 단말 장치(100)로 전송한다.
이에 따라, 사용자 단말 장치(100)는 음성 인식 서버(300)로부터 수신된 실행 명령 스크립트에 기초하여 볼륨을 조정할 수 있다.
또다른 예를 들어, '○○○○(방송 프로그램) 언제하지?'라는 발화 음성에 대한 텍스트와 관련하여 선택된 그룹은 의도 처리 기능이 설정될 수 있다. 그리고, '○○○○(방송 프로그램) 언제하지?'라는 발화 음성과 관련하여 해당 그룹 내에 '○○○○(방송 프로그램) 언제 시작해?', '○○○○(방송 프로그램) 언제 재방송해?', '△△△ 나오는 프로그램?' 등의 훈련 텍스트가 '○○○○(방송 프로그램) 언제해?'라는 발화 음성과 유사한 훈련 텍스트로 검출될 수 있다. 이 경우, 기능 처리부(340)는 '○○○○(방송 프로그램) 언제 시작해?'라는 발화 음성에 대한 텍스트로부터 분리된 의미 단위 텍스트의 색인값과 '○○○○(방송 프로그램) 언제 시작해?'라는 발화 음성과 관련하여 검출된 훈련 텍스트의 의미 단위 텍스트의 색인값을 비교하여 기검출된 훈련 텍스트 중 '○○○○(방송 프로그램) 언제 시작해?'라는 발화 음성과 가장 유사한 훈련 텍스트를 검출한다. 이후, 기능 처리부(340)는 최종적으로 검출된 훈련 텍스트에 대한 실행 명령 스크립트에 기초하여 '저도 좋아하는 프로그램입니다'라는 응답 메시지 및 '○○○○(방송 프로그램)'에 대한 방송 시간 정보를 사용자의 발화 음성에 대한 음성 인식 결과로 결정하여 사용자 단말장치(100)로 전송한다.
이에 따라, 사용자 단말 장치(100)는 음성 인식 서버(300)로부터 수신된 응답 메시지를 오디오 신호로 출력하면서, 동시에 방송 시간 정보를 화면상에 디스플레이할 수 있다.
또다른 예를 들어, '피곤해 죽겠다!'라는 발화 음성에 대한 텍스트와 관련하여 선택된 그룹은 부정적인 감성 처리 기능이 설정될 수 있다. 즉, '피곤해 죽겠다!'라는 문맥은 제어 명령 혹은 의도와 관련되지 않고, 부정적인 감성 요소만이 존재할 수 있다. 이 같이, '피곤해 죽겠다!'라는 발화 음성에 대한 텍스트가 부정적인 감성 처리 기능이 설정된 그룹과 관련된 것이면, 음성 인식 서버(300)는 부정적인 감성 처리 기능이 설정된 그룹 내에서 '피곤해 죽겠다!'라는 발화 음성과 유사한 의미를 갖는 훈련 텍스트를 검출한다.
이후, 기능 처리부(340)는 검출된 훈련 텍스트의 색인값과 발화 음성에 대한 텍스트의 색인값을 비교하여 발화 음성에 대한 텍스트의 색인값과 유사한 색인값을 갖는 훈련 텍스트를 검출하고, 검출된 훈련 텍스트의 실행 명령 스크립트에 기초하여 '고생했어요'라는 응답 메시지 및 해당 응답 메시지와 적절한 컨텐츠를 전송한다.
이에 따라, 사용자 단말 장치(100)는 음성 인식 서버(300)로부터 수신된 응답 메시지를 디스플레이하면서, 해당 컨텐츠를 스피커 혹은 디스플레이부를 통해 출력할 수 있다.
지금까지, 본 발명에 따른 음성 인식 서버(300)의 각 구성에 대해서 상세히 설명하였다. 한편, 본 발명에 따른 음성 인식 서버(300)는 하드웨어적으로 구현될 경우, 아래 도 8과 같이 도시될 수 있다.
도 8은 본 발명의 일 실시예에 따른 음성 인식 서버의 전체 구성을 나타내는 블록도이다.
도 7에 도시된 바와 같이, 음성 인식 서버(300)는 통신부(350), 음성 인식부(360), 데이터 베이스(370) 및 제어부(380)를 포함할 수 있다.
통신부(350)는 사용자 단말 장치(100)와 데이터 통신을 수행하여 사용자 단말 장치(100)로부터 사용자의 발화 음성에 대한 텍스트를 수신하거나 혹은 사용자의 발화 음성에 대한 음성 인식 결과를 사용자 단말 장치(100)로 전송한다.
이 같은 통신부(350)는 근거리 무선 통신 모듈(미도시), 무선 통신 모듈(미도시) 등과 같은 다양한 통신 모듈을 포함할 수 있다. 여기서, 근거리 무선 통신 모듈(미도시)은 근거리에 위치한 사용자 단말 장치(100) 또는 컨텐츠를 제공하는 외부 서버(미도시)와 무선 통신을 수행하는 통신 모듈로써, 예를 들어, 블루투스, 지그비 등이 될 수 있다. 무선 통신 모듈(미도시)은 와이파이(WiFi), IEEE 등과 같은 무선 통신 프로토콜에 따라 외부 네트워크에 연결되어 사용자 단말 장치(100) 또는 컨텐츠를 제공하는 외부 서버(미도시)와 데이터 통신을 수행하는 모듈이다. 이 밖에 무선 통신 모듈은 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evoloution) 등과 같은 다양한 이동 통신 규격에 따라 이동 통신 망에 접속하여 통신을 수행하는 이동 통신 모듈을 더 포함할 수도 있다.
전술한 바와 같이, 음성 인식 서버(300)가 사용자의 발화 음성에 대한 음성 인식을 수행할 경우, 음성 인식부(360)는 통신부(350)를 통해 사용자 단말 장치(100)로부터 수신된 사용자의 발화 음성에 대한 음성 신호로부터 음성 인식을 수행하여 사용자의 발화 음성을 텍스트로 변환한다. 실시예에 따라, 음성 인식부(360)는 STT(Speech to Text) 알고리즘을 이용하여 사용자의 발화 음성을 텍스트로 변환할 수 있다.
데이터 베이스(370)는 복수의 훈련 텍스트 및 각 훈련 텍스트에 태깅된 색인값를 저장한다. 또한, 데이터 베이스(370)는 각 훈련 텍스트에 태깅된 색인값의 유사도에 따라 그룹핑된 그룹의 그룹 정보를 저장한다. 여기서, 그룹 정보는 각 그룹의 식별 정보, 각 그룹에 태깅된 색인값 및 그룹에 대응하여 설정된 기능 정보중 적어도 하나를 포함할 수 있다.
제어부(380)는 음성 인식 서버(300)를 구성하는 각 구성들에 대한 동작을 전반적으로 제어한다. 특히, 제어부(380)는 복수의 훈련 텍스트 간이 유사도에 따라 그룹을 설정하고, 설정된 그룹에 대응되는 기능을 매칭하여 데이터 베이스(370)에저장한다. 또한, 제어부(380)는 사용자 단말 장치(100)로부터 사용자의 발화 음성에 대한 텍스트가 수신되면, 데이터 베이스(370)를 참조하여 수신된 텍스트와 관련된 그룹을 선택하고, 선택된 그룹의 기능에 따라 사용자의 발화 음성에 대응되는 음성 인식 결과를 생성하여 사용자 단말 장치(100)로 전송한다.
이 같은 동작을 수행하는 제어부(380)는 훈련 텍스트 처리 모듈(381) 및 음성 처리 모듈(383)을 포함할 수 있다.
훈련 텍스트 처리 모듈(381)은 전술한 제1 산출부(310) 및 그룹 설정부(320)와 같은 동작을 수행하는 처리 모듈이며, 음성 처리 모듈(383)은 전술한 제2 산출부(330) 및 기능 처리부(340)와 같은 동작을 수행하는 처리 모듈이다.
구체적으로, 훈련 텍스트 처리 모듈(381)은 복수의 훈련 텍스트가 수신되면, 각각의 훈련 텍스트를 의미 단위 텍스트로 분리하고, 분리된 의미 단위 텍스트를 스칼라 또는 벡터값으로 색인값을 산출한다. 이후, 훈련 텍스트 처리 모듈(381)은 훈련 텍스트를 구성하는 의미 단위 텍스트에 대한 색인값에 기초하여 훈련 텍스트의 색인값을 산출한다. 이후, 훈련 텍스트 처리 모듈(381)은 산출된 색인값에 기초하여 복수의 훈련 텍스트 각각에 대한 그룹을 설정하고, 설정된 그룹에 대응되는 기능을 매칭하여 데이터 베이스(360)에 저장한다.
음성 처리 모듈(383)은 사용자의 발화 음성에 대한 텍스트가 수신되면, 수신된 텍스트를 의미 단위 텍스트로 분리하고, 분리된 의미 단위 텍스트를 스칼라 또는 벡터값으로 색인값을 산출한다. 이후, 음성 처리 모듈(383)은 데이터 베이스(360)에 기저장된 그룹 중 산출된 색인값에 대응되는 그룹을 선택하고, 선택된 그룹의 기능에 대응되는 음성 인식 결과를 생성하여 사용자 단말 장치(100)로 전송한다.
이 같은 훈련 텍스트 처리 모듈(381) 및 음성 처리 모듈(383)의 동작은 전술한 제1 산출부(310), 그룹 설정부(320), 제2 산출부(330) 및 기능 처리부(340)의 동작과 유사하므로, 본 발명에서는 상세한 설명을 생략하도록 한다.
지금까지, 본 발명에 따른 음성 인식 서버(300)의 각 구성에 대해서 상세히 설명하였다. 이하에서는, 본 발명에 따른 음성 인식 서버(300)의 제어 방법에 대해서 상세히 설명하도록 한다.
도 9는 본 발명의 일 실시예에 따른 음성 인식 서버의 제어 방법에 대한 흐름도이다.
도 9에 도시된 바와 같이, 음성 인식 서버(300)는 복수의 훈련 텍스트가 수신되거나 입력되면, 복수의 훈련 텍스트의 색인값을 산출한다(S910). 여기서, 훈련 텍스트는 다양한 경로를 통해 입력된 정보로써, 예를 들어, 웹 서버(미도시)에서 제공되는 웹 문서를 훈련 텍스트로 입력받을 수 있다.
이후, 음성 인식 서버(300)는 산출된 복수의 훈련 텍스트의 색인값을 바탕으로 복수의 훈련 텍스트 각각에 대한 그룹을 설정하고, 설정된 그룹에 대응되는 기능을 매칭하여 저장한다(S920).
이후, 음성 인식 서버(300)는 사용자의 발화 음성에 대한 텍스트가 수신되는지 여부를 판단하여, 발화 음성에 대한 텍스트가 수신되면, 수신된 발화 음성에 대한 텍스트로부터 색인값을 산출한다(S930,S940). 이후, 음성 인식 서버(300)는 발화 음성에 대한 텍스트로부터 산출된 색인갓에 대응되는 그룹을 검색하여 사용자의 발화 음성에 대응되는 기능을 수행한다(S950).
도 10은 본 발명의 일 실시예에 따른 음성 인식 서버에서 훈련 텍스트의 색인값을 산출하는 방법의 흐름도이다.
도 10에 도시된 바와 같이, 음성 인식 서버(300)는 복수의 훈련 텍스트가 수신되면, 수신된 복수의 훈련 텍스트 각각을 의미 단위(이하 의미 단위 텍스트라 함)로 분리한다(S1010). 여기서, 의미 단위 텍스트란 훈련 텍스트에 대응되는 문장으로부터 의미를 가지는 단위를 말하며, 의미를 가지는 단위는 단어, 문구, 문장 및 문단 등 다양한 형태로 이루어질 수 있다.
이 같은 훈련 텍스트로부터 의미 단위 텍스트로 분리되면, 음성 인식 서버(300)는 분리된 의미 단위 텍스트를 스칼라 도는 벡터값으로 색인값을 산출한다(S1020). 여기서, 색인값은 연속 공간 내의 한 점에 위치하는 값으로써, 실시예에 따라, 스킵 그램(Skip-Gram) 방식을 이용하여 산출될 수 있다. 그러나, 본 발명은 이에 한정되지 않으며, 음성 인식 서버(300)는 N 그램 방식을 이용하여 의미 단위 텍스트에 대한 색인값을 산출할 수 있다.
의미 단위 텍스트에 대한 색인값이 산출되면, 음성 인식 서버(300)는 산출된 색인값을 의미 단위 텍스트에 태깅한다(S1030). 이때, 음성 인식 서버(300)는 의미 단위 텍스트별로 산출된 색인값에 기초하여 의미 단이 텍스트로 구성된 훈련 텍스트에 대한 색인값을 산출할 수 있다.
일 실시예에 따라, 음성 인식 서버(300)는 훈련 텍스트를 구성하는 의미 단이 텍스트 각각으로부터 산출된 색인값의 합을 해당 훈련 텍스트의 색인값으로 산출할 수 있다.
또다른 실시예에 따라, 음성 인식 서버(300)는 훈련 텍스트를 구성하는 의미 단위 텍스트 각각으로부터 산출된 색인값의 평균값을 해당 훈련 텍스트의 색인값으로 산출할 수 있다.
따라서, 음성 인식 서버(300)는 의미 단위 텍스트별로 산출된 색인값은 의미 단위 텍스트 각각에 태깅할 뿐만 아니라, 의미 단위 텍스트를 포함하는 훈련 텍스트에 대한 색인값을 훈련 텍스트에 태깅할 수 있다.
도 11은 본 발명의 일 실시예에 따른 음성 인식 서버에서 복수의 훈련 텍스트에 대한 그룹을 설정하는 방법의 흐름도이다.
도 11에 도시된 바와 같이, 음성 인식 서버(300)는 전술한 도 10에서 설명한 바와 같이, 훈련 텍스트로부터 분리된 의미 단위 텍스트에 대한 색인값이 산출되면, 산출된 색인값과 기정의된 복수의 그룹의 위치 사이의 거리에 따라 복수의 훈련 텍스트 및 복수의 훈련 텍스트 각각을 구성하는 의미 단위 텍스트에 대한 그룹을 설정한다(S1110). 이때, 음성 인식 서버(300)는 설정된 그룹에 포함된 색인값의 평균값 및 해당 평균값과 가장 근접한 색인값 중 적어도 하나를 해당 그룹의 색인값으로 설정한다.
예를 들어, 훈련 텍스트를 그룹 설정할 경우, 다음과 같은 동작을 통해 그룹 설정할 수 있다. 구체적으로, 음성 인식 서버(300)는 복수의 훈련 텍스트 각각에 색인값이 태깅되면, 태깅된 색인값들 간의 유사도에 따라 복수의 훈련 텍스트를 군집화한다. 이후, 음성 인식 서버(300)는 기정의된 n 개의 그룹별 위치와 군집화된 각각의 색인값 간의 거리의 합이 최소가 되는 방향으로 n 개의 그룹별 위치를 조정하여 군집화된 복수의 훈련 텍스트의 그룹을 설정할 수 있다.
복수의 훈련 텍스트의 그룹이 설정되면, 음성 인식 서버(300)는 복수의 훈련 텍스트를 포함하는 그룹에 대한 색인값을 설정한다. 일 실시예에 따라, 음성 인식 서버(300)는 그룹 내 포함된 복수의 훈련 텍스트의 색인값의 평균값을 해당 그룹의 색인값으로 설정할 수 있다. 또다른 실시예에 따라, 음성 인식 서버(300)는 그룹 내 포함된 복수의 훈련 텍스트의 색인값 중 평균값과 가장 근접한 색인값을 그룹의 색인값으로 설정할 수 있다. 또다른 실시예에 따라, 음성 인식 서버(300)는 그룹내 포함된 복수의 훈련 텍스트의 색인값 중 값이 가장 높거나 혹은 가장 낮은 색인값을 해당 그룹의 색인값으로 설정할 수 있다.
이후, 음성 인식 서버(300)는 사용자 명령에 대응되는 기능을 설정하고, 설정된 기능을 해당 그룹에 태깅하여 저장한다(S1120,S1130).
도 12는 본 발명의 일 실시예에 따른 음성 인식 서버에서 발화 음성에 대한 텍스트로부터 색인값을 산출하는 방법의 흐름도이다.
도 12에 도시된 바와 같이, 음성 인식 서버(300)는 수신된 발화 음성에 대한 텍스트를 의미 단위 텍스트로 분리한다(S1210). 이후, 음성 인식 서버(300)는 발화 음성에 대한 텍스트로부터 분리된 의미 단위 텍스트를 스칼라 도는 벡터값으로 표현하여 색인값을 산출한다(S1220).
구체적으로, 사용자의 발화 음성에 대한 텍스트가 수신되면, 음성 인식 서버(300)는 수신된 텍스트를 의미 단위 텍스트로 분리한다. 여기서, 의미 단위 혹은 의미 단위 텍스트란 사용자의 발화 음성에 대한 택스트에 대응되는 문장으로부터 의미를 가지는 단위를 말하며, 의미를 가지는 단위는 단어, 문구, 문장 및 문단 다양한 형태로 이루어질 수 있다.
이 같이, 사용자의 발화 음성에 대한 텍스트로부터 의미 단위 텍스트로 분리되면, 음성 인식 서버(300)는 분리된 의미 단위 텍스트를 스칼라 또는 벡터값으로 색인값을 산출한다. 여기서, 색인값은 연속 공간 내의 한 점에 위치하는 값으로써, 실시예에 따라, 스킵 그램(Skip-Gram) 방식을 이용하여 산출될 수 있다.
도 13은 본 발명의 일 실시예에 따른 음성 인식 서버에서 발화 음성에 대응되는 기능을 수행하는 방법의 흐름도이다.
도 13에 도시된 바와 같이, 음성 인식 서버(300)는 사용자의 발화 음성에 대한 텍스트로부터 분리된 의미 단위 텍스트에 대한 색인값이 산출되면, 산출된 색인값에 대응되는 그룹을 선택하고, 선택된 그룹의 기능에 대응되는 음성 인식 결과를 사용자 단말 장치(100)로 전송한다(S1310,S1320).
구체적으로, 음성 인식 서버(300)는 선택된 그룹의 기능이 명령 처리 기능이면, 사용자 단말 장치(100)의 동작을 제어하기 위한 제어 명령을 사용자 단말 장치(100)로 전송한다. 한편, 선택된 그룹의 기능이 의도 처리 기능 또는 감성 처리 기능이면, 음성 인식 서버(300)는 사용자의 발화 음성에 대한 응답 메시지, 제어 명령 및 검색 결과 중 적어도 하나를 사용자 단말 장치(100)로 전송한다.
보다 구체적으로, 음성 인식 서버(300)는 사용자의 발화 음성에 대한 텍스트로부터 분리된 의미 단위 텍스트로부터 산출된 색인값에 기초하여 사용자의 발화 음성에 대한 텍스트의 색인값을 산출한다.
실시예에 따라, 음성 인식 서버(300)는 사용자의 발화 음성에 대한 텍스트로부터 분리된 의미 단위 텍스트로부터 산출된 색인값의 합으로부터 사용자의 발화 음성에 대한 텍스트의 색인값을 산출할 수 있다. 사용자의 발화 음성에 대한 텍스트의 색인값이 산출되면, 음성 인식 서버(300)는 기저장된 복수의 그룹별 태깅된 색인값과 사용자의 발화 음성에 대한 텍스트의 색인값을 비교하여, 복수의 그룹 중 색인값의 차이가 가장 작은 그룹을 선택한다.
이후, 음성 인식 서버(300)는 선택된 그룹에 설정된 기능에 따라 사용자의 발화 음성에 대한 음성 인식 결과를 생성하여 사용자 단말 장치(100)로 전송한다.
이에 따라, 사용자 단말 장치(100)는 음성 인식 서버(300)로부터 수신된 음성 인식 결과에 기초하여 사용자의 발화 음성에 대응되는 동작을 수행할 수 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다.
이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
100 : 사용자 단말 장치
200 : 음성 인식 장치
300 : 음성 인식 서버 310 : 제1 산출부
311 : 제1 텍스트 분절부 313 : 제1 의미 색인부
315 : 색인 태깅부 320 : 그룹 설정부
321 : 색인 군집부 323 : 그룹 색인부
325 : 기능 설정부 330 : 제2 산출부
331 : 제2 텍스트 분절부 333 : 제2 의미 색인부
350 : 통신부 360 : 음성 인식부
370 : 데이터 베이스 380 : 제어부
381 : 훈련 텍스트 처리 모듈 383 : 음성 처리 모듈
300 : 음성 인식 서버 310 : 제1 산출부
311 : 제1 텍스트 분절부 313 : 제1 의미 색인부
315 : 색인 태깅부 320 : 그룹 설정부
321 : 색인 군집부 323 : 그룹 색인부
325 : 기능 설정부 330 : 제2 산출부
331 : 제2 텍스트 분절부 333 : 제2 의미 색인부
350 : 통신부 360 : 음성 인식부
370 : 데이터 베이스 380 : 제어부
381 : 훈련 텍스트 처리 모듈 383 : 음성 처리 모듈
Claims (20)
- 음성 인식 서버의 제어 방법에 있어서,
복수의 훈련 텍스트의 색인값을 산출하는 단계;
상기 복수의 훈련 텍스트의 색인값을 바탕으로 상기 복수의 훈련 텍스트 각각에 대한 그룹을 설정하고, 상기 그룹에 대응되는 기능을 매칭하여 저장하는 단계;
사용자 단말 장치로부터 사용자의 발화 음성이 수신된 경우. 상기 수신된 발화 음성으로부터 색인값을 산출하는 단계; 및
상기 발화 음성으로 산출된 색인값에 대응되는 그룹을 검색하여 상기 발화 음성에 대응되는 기능을 수행하는 단계;
를 포함하는 제어 방법. - 제 1 항에 있어서,
상기 훈련 텍스트의 색인값을 산출하는 단계는,
상기 훈련 텍스트를 의미 단위로 분리하는 단계;
상기 의미 단위를 스칼라 또는 벡터값으로 색인값을 산출하는 단계; 및
상기 산출된 색인값을 상기 의미 단위별로 태깅하는 단계;
를 포함하는 것을 특징으로 하는 제어 방법. - 제 2 항에 있어서,
상기 색인값은,
연속 공간 내의 한 지점에 위치하는 값인 것을 특징으로 하는 제어 방법. - 제 2 항에 있어서,
상기 색인값은,
스킵 그램(Skip-Gram) 방식을 이용하여 산출되는 것을 특징으로 하는 제어 방법. - 제 3 항에 있어서,
상기 저장하는 단계는,
상기 색인값의 유사도 및 상기 색인값과 기정의된 복수의 그룹의 위치 사이의 거리에 따라 상기 복수의 훈련 텍스트 및 상기 복수의 훈련 텍스트 각각을 구성하는 의미 단위의 그룹을 설정하는 단계;
상기 설정된 그룹에 대응되는 기능을 설정하는 단계; 및
상기 기능을 상기 그룹에 태깅하여 저장하는 단계;
를 포함하는 것을 특징으로 하는 제어 방법. - 제 5 항에 있어서,
상기 그룹을 설정하는 단계는,
상기 그룹에 포함된 색인값의 평균값 및 상기 평균값과 가장 근접한 색인값 중 적어도 하나를 상기 그룹의 색인값으로 설정하는 것을 특징으로 하는 제어 방법. - 제 6 항에 있어서,
상기 기능을 설정하는 단계는,
사용자 명령에 따라, 명령 처리 기능, 의도 처리 기능 및 감성 처리 기능 중 적어도 하나를 상기 그룹에 대응되는 기능으로 설정하는 것을 특징으로 하는 제어 방법. - 제 7 항에 있어서,
상기 수신된 발화 음성으로부터 색인값을 산출하는 단계는,
상기 발화 음성으로부터 인식된 텍스트를 의미 단위로 분리하는 단계; 및
상기 텍스트로부터 분리된 의미 단위를 스칼라 또는 벡터값으로 표현하여 색인값을 산출하는 단계;
를 포함하는 것을 특징으로 하는 제어 방법. - 제 8 항에 있어서,
상기 수행하는 단계는,
상기 기설정된 그룹 중 상기 산출된 색인값에 대응되는 그룹을 선택하는 단계; 및
상기 선택된 그룹의 기능에 대응되는 음성 인식 결과를 상기 사용자 단말 장치로 전송하는 단계;
를 포함하는 것을 특징으로 하는 제어 방법. - 제 9 항에 있어서,
상기 전송하는 단계는,
상기 선택된 그룹의 기능이 명령 처리 기능이면, 상기 사용자 단말 장치의 동작을 제어하기 위한 제어 명령을 상기 사용자 단말 장치로 전송하고,
상기 선택된 그룹의 기능이 의도 처리 기능 또는 감성 처리 기능이면, 상기 발화 음성에 대한 응답 메시지, 제어 명령 및 검색 결과 중 적어도 하나를 상기 사용자 단말 장치로 전송하는 것을 특징으로 하는 제어 방법. - 음성 인식 서버에 있어서,
복수의 훈련 텍스트의 색인값을 제1 산출부;
상기 복수의 훈련 텍스트의 색인값을 바탕으로 상기 복수의 훈련 텍스트 각각에 대한 그룹을 설정하고, 상기 그룹에 대응되는 기능을 매칭하여 저장하는 그룹 설정부;
사용자 단말 장치로부터 사용자의 발화 음성이 수신된 경우. 상기 수신된 발화 음성으로부터 색인값을 산출하는 제2 산출부; 및
상기 발화 음성으로 산출된 색인값에 대응되는 그룹을 검색하여 상기 발화 음성에 대응되는 기능을 수행하는 기능 처리부;
를 포함하는 음성 인식 서버. - 제 11 항에 있어서,
상기 제1 산출부는,
상기 훈련 텍스트를 의미 단위로 분리하는 제1 텍스트 분절부;
상기 제1 텍스트 분절부에 의해 분리된 의미 단위를 스칼라 또는 벡터값으로 색인값을 산출하는 제1 의미 색인부; 및
상기 제1 의미 색인부에 의해 산출된 색인값을 상기 의미 단위별로 태깅하는 색인 태깅부;
를 포함하는 것을 특징으로 하는 음성 인식 서버. - 제 12 항에 있어서,
상기 색인값은,
연속 공간 내의 한 지점에 위치하는 것을 특징으로 하는 음성 인식 서버. - 제 12 항에 있어서,
상기 색인값은,
스킵 그램(Skip-Gram) 방식을 이용하여 산출되는 것을 특징으로 하는 음성 인식 서버. - 제 13 항에 있어서,
상기 그룹 설정부는,
상기 색인값의 유사도 및 상기 색인값과 기정의된 복수의 그룹의 위치 사이의 거리에 따라 상기 복수의 훈련 텍스트 및 상기 복수의 훈련 텍스트 각각을 구성하는 의미 단위의 그룹을 설정하는 색인 군집부; 및
상기 설정된 그룹에 대응되는 기능을 설정하며, 상기 설정된 기능을 상기 그룹에 태깅하여 저장하는 기능 설정부;
를 포함하는 것을 특징으로 하는 음성 인식 서버. - 제 15 항에 있어서,
상기 그룹 설정부는,
상기 그룹에 포함된 색인값의 평균값 및 상기 평균값과 가장 근접한 색인값 중 적어도 하나를 상기 그룹의 색인값으로 설정하는 그룹 색인부;
를 더 포함하는 것을 특징으로 하는 음성 인식 서버. - 제 16 항에 있어서,
상기 기능 설정부는,
사용자 명령에 따라, 명령 처리 기능, 의도 처리 기능 및 감성 처리 기능 중 적어도 하나를 상기 그룹에 대응되는 기능으로 설정하는 것을 특징으로 하는 음성 인식 서버. - 제 17 항에 있어서,
상기 제2 산출부는,
상기 발화 음성으로부터 인식된 텍스트를 의미 단위로 분리하는 제2 텍스트 분절부; 및
상기 텍스트로부터 분리된 의미 단위를 스칼라 또는 벡터값으로 표현하여 색인값을 산출하는 제2 의미 색인부;
를 포함하는 것을 특징으로 하는 음성 인식 서버. - 제 18 항에 있어서,
상기 기능 처리부는,
상기 기저장된 그룹 중 산출된 색인값에 대응되는 그룹을 선택하고, 상기 선택된 그룹의 기능에 대응되는 음성 인식 결과를 상기 사용자 단말 장치로 전송하는 것을 특징으로 하는 음성 인식 서버. - 제 19 항에 있어서,
상기 기능 처리부는,
상기 선택된 그룹의 기능이 명령 처리 기능이면, 상기 사용자 단말 장치의 동작을 제어하기 위한 제어 명령을 상기 사용자 단말 장치로 전송하고,
상기 선택된 그룹의 기능이 의도 처리 기능 또는 감성 처리 기능이면, 상기 발화 음성에 대한 응답 메시지, 제어 명령 및 검색 결과 중 적어도 하나를 상기 사용자 단말 장치로 전송하는 것을 특징으로 하는 음성 인식 서버.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150131122A KR102437689B1 (ko) | 2015-09-16 | 2015-09-16 | 음성 인식 서버 및 그 제어 방법 |
US15/063,872 US10510342B2 (en) | 2015-09-16 | 2016-03-08 | Voice recognition server and control method thereof |
PCT/KR2016/002614 WO2017047884A1 (en) | 2015-09-16 | 2016-03-16 | Voice recognition server and control method thereof |
EP16846706.6A EP3350803A4 (en) | 2015-09-16 | 2016-03-16 | Voice recognition server and control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150131122A KR102437689B1 (ko) | 2015-09-16 | 2015-09-16 | 음성 인식 서버 및 그 제어 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170033152A true KR20170033152A (ko) | 2017-03-24 |
KR102437689B1 KR102437689B1 (ko) | 2022-08-30 |
Family
ID=58238919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150131122A KR102437689B1 (ko) | 2015-09-16 | 2015-09-16 | 음성 인식 서버 및 그 제어 방법 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10510342B2 (ko) |
EP (1) | EP3350803A4 (ko) |
KR (1) | KR102437689B1 (ko) |
WO (1) | WO2017047884A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190111395A (ko) * | 2018-03-22 | 2019-10-02 | 주식회사 케이티 | 스토리 컨텐츠에 대한 음향 효과를 제공하는 미디어 재생 장치 및 음성 인식 서버 |
WO2021177669A1 (ko) * | 2020-03-03 | 2021-09-10 | 삼성전자 주식회사 | 사용자 입력을 처리하는 전자 장치 및 방법 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017039219A1 (ko) * | 2015-09-03 | 2017-03-09 | 삼성전자주식회사 | 냉장고 |
US9972342B2 (en) * | 2015-11-20 | 2018-05-15 | JVC Kenwood Corporation | Terminal device and communication method for communication of speech signals |
CN107526720A (zh) * | 2016-06-17 | 2017-12-29 | 松下知识产权经营株式会社 | 意思生成方法、意思生成装置以及程序 |
US10271093B1 (en) * | 2016-06-27 | 2019-04-23 | Amazon Technologies, Inc. | Systems and methods for routing content to an associated output device |
US11216541B2 (en) * | 2018-09-07 | 2022-01-04 | Qualcomm Incorporated | User adaptation for biometric authentication |
JP2020091302A (ja) * | 2018-12-03 | 2020-06-11 | 本田技研工業株式会社 | 感情推定装置、感情推定方法、およびプログラム |
CN110706708A (zh) * | 2019-11-29 | 2020-01-17 | 上海庆科信息技术有限公司 | 语音识别方法、装置及系统 |
CN111081253B (zh) * | 2019-12-25 | 2023-07-28 | 沈阳先进医疗设备技术孵化中心有限公司 | 语音处理方法、装置及系统 |
CN114449394A (zh) * | 2020-11-02 | 2022-05-06 | 原相科技股份有限公司 | 听力辅助装置及调整听力辅助装置输出声音的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150032443A1 (en) * | 2013-07-25 | 2015-01-29 | Yael Karov | Self-learning statistical natural language processing for automatic production of virtual personal assistants |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6076056A (en) | 1997-09-19 | 2000-06-13 | Microsoft Corporation | Speech recognition system for recognizing continuous and isolated speech |
US7280964B2 (en) | 2000-04-21 | 2007-10-09 | Lessac Technologies, Inc. | Method of recognizing spoken language with recognition of language color |
TWI221574B (en) | 2000-09-13 | 2004-10-01 | Agi Inc | Sentiment sensing method, perception generation method and device thereof and software |
JP3372532B2 (ja) | 2000-10-11 | 2003-02-04 | 日本電信電話株式会社 | 感情情報抽出方法および感情情報抽出プログラムの計算機読み取り可能な記録媒体 |
EP1256937B1 (en) | 2001-05-11 | 2006-11-02 | Sony France S.A. | Emotion recognition method and device |
US7152029B2 (en) * | 2001-07-18 | 2006-12-19 | At&T Corp. | Spoken language understanding that incorporates prior knowledge into boosting |
EP1282113B1 (en) | 2001-08-02 | 2005-01-12 | Sony International (Europe) GmbH | Method for detecting emotions from speech using speaker identification |
EP1336956B1 (en) | 2002-02-13 | 2006-07-19 | Sony Deutschland GmbH | Method, system and computer program for recognizing speech/speaker using emotional state change to govern unsupervised adaptation of the recognition process |
KR100446627B1 (ko) | 2002-03-29 | 2004-09-04 | 삼성전자주식회사 | 음성대화 인터페이스를 이용한 정보제공장치 및 그 방법 |
JP4103639B2 (ja) * | 2003-03-14 | 2008-06-18 | セイコーエプソン株式会社 | 音響モデル作成方法および音響モデル作成装置ならびに音声認識装置 |
US7412383B1 (en) * | 2003-04-04 | 2008-08-12 | At&T Corp | Reducing time for annotating speech data to develop a dialog application |
US7379867B2 (en) * | 2003-06-03 | 2008-05-27 | Microsoft Corporation | Discriminative training of language models for text and speech classification |
US20070130112A1 (en) * | 2005-06-30 | 2007-06-07 | Intelligentek Corp. | Multimedia conceptual search system and associated search method |
US9009046B1 (en) | 2005-09-27 | 2015-04-14 | At&T Intellectual Property Ii, L.P. | System and method for disambiguating multiple intents in a natural language dialog system |
US7707027B2 (en) * | 2006-04-13 | 2010-04-27 | Nuance Communications, Inc. | Identification and rejection of meaningless input during natural language classification |
CA2653932C (en) * | 2006-06-02 | 2013-03-19 | Telcordia Technologies, Inc. | Concept based cross media indexing and retrieval of speech documents |
CN101346758B (zh) | 2006-06-23 | 2011-07-27 | 松下电器产业株式会社 | 感情识别装置 |
US8676802B2 (en) * | 2006-11-30 | 2014-03-18 | Oracle Otc Subsidiary Llc | Method and system for information retrieval with clustering |
JP4412504B2 (ja) | 2007-04-17 | 2010-02-10 | 本田技研工業株式会社 | 音声認識装置、音声認識方法、及び音声認識用プログラム |
US8175873B2 (en) * | 2008-12-12 | 2012-05-08 | At&T Intellectual Property I, L.P. | System and method for referring to entities in a discourse domain |
US8798255B2 (en) | 2009-03-31 | 2014-08-05 | Nice Systems Ltd | Methods and apparatus for deep interaction analysis |
WO2010148141A2 (en) | 2009-06-16 | 2010-12-23 | University Of Florida Research Foundation, Inc. | Apparatus and method for speech analysis |
US8868402B2 (en) * | 2009-12-30 | 2014-10-21 | Google Inc. | Construction of text classifiers |
US8781825B2 (en) * | 2011-08-24 | 2014-07-15 | Sensory, Incorporated | Reducing false positives in speech recognition systems |
US8606575B1 (en) * | 2011-09-06 | 2013-12-10 | West Corporation | Method and apparatus of providing semi-automated classifier adaptation for natural language processing |
US8589164B1 (en) | 2012-10-18 | 2013-11-19 | Google Inc. | Methods and systems for speech recognition processing using search query information |
US9330659B2 (en) | 2013-02-25 | 2016-05-03 | Microsoft Technology Licensing, Llc | Facilitating development of a spoken natural language interface |
US9817813B2 (en) * | 2014-01-08 | 2017-11-14 | Genesys Telecommunications Laboratories, Inc. | Generalized phrases in automatic speech recognition systems |
US10394851B2 (en) * | 2014-08-07 | 2019-08-27 | Cortical.Io Ag | Methods and systems for mapping data items to sparse distributed representations |
US10885089B2 (en) * | 2015-08-21 | 2021-01-05 | Cortical.Io Ag | Methods and systems for identifying a level of similarity between a filtering criterion and a data item within a set of streamed documents |
US10817672B2 (en) * | 2014-10-01 | 2020-10-27 | Nuance Communications, Inc. | Natural language understanding (NLU) processing based on user-specified interests |
WO2016134183A1 (en) * | 2015-02-19 | 2016-08-25 | Digital Reasoning Systems, Inc. | Systems and methods for neural language modeling |
US9805717B2 (en) * | 2015-03-06 | 2017-10-31 | Dell Products Lp | Voice-based input using natural language processing for interfacing with one or more devices |
US9792275B2 (en) * | 2015-03-06 | 2017-10-17 | Dell Products Lp | Natural language processing (NLP) interfacing with devices |
US10157350B2 (en) * | 2015-03-26 | 2018-12-18 | Tata Consultancy Services Limited | Context based conversation system |
US9607616B2 (en) * | 2015-08-17 | 2017-03-28 | Mitsubishi Electric Research Laboratories, Inc. | Method for using a multi-scale recurrent neural network with pretraining for spoken language understanding tasks |
US9836453B2 (en) * | 2015-08-27 | 2017-12-05 | Conduent Business Services, Llc | Document-specific gazetteers for named entity recognition |
-
2015
- 2015-09-16 KR KR1020150131122A patent/KR102437689B1/ko active IP Right Grant
-
2016
- 2016-03-08 US US15/063,872 patent/US10510342B2/en not_active Expired - Fee Related
- 2016-03-16 WO PCT/KR2016/002614 patent/WO2017047884A1/en unknown
- 2016-03-16 EP EP16846706.6A patent/EP3350803A4/en not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150032443A1 (en) * | 2013-07-25 | 2015-01-29 | Yael Karov | Self-learning statistical natural language processing for automatic production of virtual personal assistants |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190111395A (ko) * | 2018-03-22 | 2019-10-02 | 주식회사 케이티 | 스토리 컨텐츠에 대한 음향 효과를 제공하는 미디어 재생 장치 및 음성 인식 서버 |
WO2021177669A1 (ko) * | 2020-03-03 | 2021-09-10 | 삼성전자 주식회사 | 사용자 입력을 처리하는 전자 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR102437689B1 (ko) | 2022-08-30 |
EP3350803A1 (en) | 2018-07-25 |
EP3350803A4 (en) | 2018-08-22 |
US10510342B2 (en) | 2019-12-17 |
WO2017047884A1 (en) | 2017-03-23 |
US20170076716A1 (en) | 2017-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20170033152A (ko) | 음성 인식 서버 및 그 제어 방법 | |
US11887590B2 (en) | Voice enablement and disablement of speech processing functionality | |
EP3039531B1 (en) | Display apparatus and controlling method thereof | |
KR102371188B1 (ko) | 음성 인식 장치 및 방법과 전자 장치 | |
US20190279523A1 (en) | Display apparatus and method for question and answer | |
KR20170033722A (ko) | 사용자의 발화 처리 장치 및 방법과, 음성 대화 관리 장치 | |
KR102298457B1 (ko) | 영상표시장치, 영상표시장치의 구동방법 및 컴퓨터 판독가능 기록매체 | |
US11568853B2 (en) | Voice recognition method using artificial intelligence and apparatus thereof | |
KR20160025301A (ko) | 음성 인식이 가능한 디스플레이 장치 및 방법 | |
KR20150093482A (ko) | 화자 분할 기반 다자간 자동 통번역 운용 시스템 및 방법과 이를 지원하는 장치 | |
KR102281504B1 (ko) | 인공 지능을 이용한 음성 합성 장치, 음성 합성 장치의 동작 방법 | |
US20240331704A1 (en) | Caching scheme for voice recognition engines | |
KR102688236B1 (ko) | 인공 지능을 이용한 음성 합성 장치, 음성 합성 장치의 동작 방법 및 컴퓨터로 판독 가능한 기록 매체 | |
CN110827803A (zh) | 方言发音词典的构建方法、装置、设备及可读存储介质 | |
CN114817465A (zh) | 一种用于多语言语义理解的实体纠错方法及智能设备 | |
CN111354350A (zh) | 语音处理方法及装置、语音处理设备、电子设备 | |
KR102631143B1 (ko) | 인공 지능을 이용한 음성 합성 장치, 음성 합성 장치의 동작 방법 및 컴퓨터로 판독 가능한 기록 매체 | |
KR102642617B1 (ko) | 인공 지능을 이용한 음성 합성 장치, 음성 합성 장치의 동작 방법 및 컴퓨터로 판독 가능한 기록 매체 | |
KR20210085182A (ko) | 사용자 발화 의도 인식을 위한 시스템, 서버 및 방법 | |
KR20190104773A (ko) | 전자 장치, 제어 방법 및 컴퓨터 판독 가능 매체 | |
US11443732B2 (en) | Speech synthesizer using artificial intelligence, method of operating speech synthesizer and computer-readable recording medium | |
KR102392992B1 (ko) | 음성 인식 기능을 활성화시키는 호출 명령어 설정에 관한 사용자 인터페이싱 장치 및 방법 | |
KR20240071245A (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 |