KR20220129366A - 음성 인식 시스템 및 그 제어 방법 - Google Patents

음성 인식 시스템 및 그 제어 방법 Download PDF

Info

Publication number
KR20220129366A
KR20220129366A KR1020210034171A KR20210034171A KR20220129366A KR 20220129366 A KR20220129366 A KR 20220129366A KR 1020210034171 A KR1020210034171 A KR 1020210034171A KR 20210034171 A KR20210034171 A KR 20210034171A KR 20220129366 A KR20220129366 A KR 20220129366A
Authority
KR
South Korea
Prior art keywords
voice recognition
recognition system
user
intention
function corresponding
Prior art date
Application number
KR1020210034171A
Other languages
English (en)
Inventor
박민재
김성왕
김병열
Original Assignee
현대자동차주식회사
기아 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대자동차주식회사, 기아 주식회사 filed Critical 현대자동차주식회사
Priority to KR1020210034171A priority Critical patent/KR20220129366A/ko
Priority to US17/539,943 priority patent/US11955123B2/en
Publication of KR20220129366A publication Critical patent/KR20220129366A/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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/033Voice editing, e.g. manipulating the voice of the synthesiser
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • 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
    • 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/32Multiple recognisers used in sequence or in parallel; Score combination systems therefor, e.g. voting systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • G10L17/22Interactive procedures; Man-machine interfaces
    • G10L17/24Interactive procedures; Man-machine interfaces the user being prompted to utter a password or a predefined phrase
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • G10L13/027Concept to speech synthesisers; Generation of natural phrases from machine-based concepts
    • 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
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Abstract

일 실시예에 따른 음성 인식 시스템은 사용자 발화에 포함된 사용자 의도를 판단하는 음성 처리부; 상기 사용자 의도에 대응되는 기능의 수행이 가능한지 여부를 판단하고, 상기 사용자 의도에 대응되는 기능의 수행이 불가능한 경우 적어도 하나의 다른 음성 인식 시스템에 상기 사용자 의도에 대응되는 기능의 수행을 요청하기 위한 발화 텍스트를 생성하는 제어부; 및 상기 발화 텍스트를 비가청 주파수 대역의 음성 신호로 변환하는 발화 생성부를 포함한다.

Description

음성 인식 시스템 및 그 제어 방법{SPEECH RECOGNITION SYSTEM AND METHOD FOR CONTROLLING THE SAME}
개시된 발명은 사용자 발화에 대응되는 서비스를 제공하는 음성 인식 시스템 및 그 제어 방법에 관한 것이다.
음성 인식 시스템은 사용자의 발화에 포함된 사용자 의도를 파악하고, 파악된 사용자 의도에 대응되는 서비스를 제공할 수 있는 시스템이다.
음성 인식 시스템은 특정 장치와 연계되어 사용자 의도에 따라 해당 장치에 대한 제어를 수행하기도 하고, 사용자 의도에 따라 특정 정보를 제공하기도 한다.
이러한 음성 인식 시스템은 이를 제공하는 업체에 따라 수행하는 기능에 차이가 있고, 복수의 음성 인식 시스템이 동일한 기능을 제공하더라도 사용자마다 선호하는 음성 인식 시스템이 다를 수 있다.
그러나, 음성 인식 시스템 별로 상이한 웨이크업 워드를 사용하고 있기 때문에, 사용자는 원하는 기능마다 그에 맞는 웨이크업 워드를 사용하여 발화를 해야 하고, 이는 음성 인식 시스템의 사용성을 떨어뜨리는 요인이 될 수 있다.
개시된 발명은 사용자 발화에 대응되는 기능을 자신이 수행할 수 없을 때, 해당 기능을 수행할 수 있는 다른 음성 인식 시스템에 이를 요청하기 위한 발화를 생성하여 출력함으로써 사용성을 향상시킬 수 있는 음성 인식 시스템 및 그 제어 방법을 제공한다.
또한, 다른 음성 인식 시스템에 기능을 요청하기 위한 발화를 생성함에 있어서, 비가청 주파수 대역의 오디오 신호를 이용함으로써 편안한 사용 환경을 제공할 수 있는 음성 인식 시스템 및 그 제어 방법을 제공한다.
일 실시예에 따른 음성 인식 시스템은 사용자 발화에 포함된 사용자 의도를 판단하는 음성 처리부; 상기 사용자 의도에 대응되는 기능의 수행이 가능한지 여부를 판단하고, 상기 사용자 의도에 대응되는 기능의 수행이 불가능한 경우 적어도 하나의 다른 음성 인식 시스템에 상기 사용자 의도에 대응되는 기능의 수행을 요청하기 위한 발화 텍스트를 생성하는 제어부; 및 상기 발화 텍스트를 비가청 주파수 대역의 음성 신호로 변환하는 발화 생성부를 포함한다.
상기 제어부는, 상기 적어도 하나의 다른 음성 인식 시스템을 미리 등록하고, 상기 사용자 의도에 대응되는 기능의 수행이 불가능한 경우 상기 등록된 적어도 하나의 다른 음성 인식 시스템에 상기 사용자 의도에 대응되는 기능의 수행을 요청하기 위한 발화 텍스트를 생성할 수 있다.
상기 제어부는, 상기 사용자 의도에 대응되는 기능을 수행 할 다른 음성 인식 시스템을 결정하고, 상기 판단된 다른 음성 인식 시스템에 상기 사용자 의도에 대응되는 기능의 수행을 요청하기 위한 발화 텍스트를 생성할 수 있다.
상기 제어부는, 복수의 다른 음성 인식 시스템 별로 수행 가능한 기능에 관한 정보를 미리 저장하고, 상기 저장된 정보에 기초하여 상기 사용자 의도에 대응되는 기능을 수행 할 다른 음성 인식 시스템을 판단할 수 있다.
상기 제어부는, 상기 사용자 의도에 대응되는 기능을 다른 음성 인식 시스템이 수행한 이력이 있는 경우, 상기 이력을 가진 다른 음성 인식 시스템을 상기 사용자 의도에 대응되는 기능을 수행 할 다른 음성 인식 시스템으로 결정할 수 있다.
상기 제어부는, 상기 음성 인식 시스템의 사용자 단말과 연결된 다른 음성 인식 시스템이 존재하는 경우, 상기 연결된 다른 음성 인식 시스템에 상기 사용자 의도에 대응되는 기능의 수행을 요청하기 위한 발화 텍스트를 생성할 수 있다.
상기 제어부는, 상기 적어도 하나의 다른 음성 인식 시스템에 대응되는 웨이크업 워드를 포함하여 상기 발화 텍스트를 생성할 수 있다.
상기 제어부는, 상기 사용자 발화와 상기 웨이크업 워드를 결합하여 상기 발화 텍스트를 생성할 수 있다.
상기 제어부는, 상기 적어도 하나의 다른 음성 인식 시스템에 대해 기능 별 샘플 문장을 저장하고, 상기 사용자 의도와 상기 샘플 문장에 기초하여 상기 발화 텍스트를 생성할 수 있다.
사용자 단말로부터 상기 사용자 발화를 수신하고, 상기 비가청 주파수 대역의 오디오 신호를 상기 사용자 단말에 전송하는 통신부;를 더 포함할 수 있다.
상기 제어부는, 상기 등록된 적어도 하나의 다른 음성 인식 시스템이 복수인 경우, 상기 복수의 다른 음성 인식 시스템에 각각 대응되는 복수의 비가청 주파수 대역의 오디오 신호를 상기 사용자 단말에 순차적으로 전송할 수 있다.
상기 제어부는, 상기 사용자 단말을 통해 출력된 비가청 주파수 대역의 오디오 신호에 대한 응답이 수신되지 않은 경우, 다음 순서의 비가청 주파수 대역의 오디오 신호를 상기 사용자 단말에 전송할 수 있다.
일 실시예에 따른 음성 인식 시스템의 제어 방법은, 사용자 발화에 포함된 사용자 의도를 판단하고; 상기 사용자 의도에 대응되는 기능의 수행이 가능한지 여부를 판단하고; 상기 사용자 의도에 대응되는 기능의 수행이 불가능한 경우 다른 음성 인식 시스템에 상기 사용자 의도에 대응되는 기능의 수행을 요청하기 위한 발화 텍스트를 생성하고; 상기 발화 텍스트를 비가청 주파수 대역의 음성 신호로 변환하는 것;을 포함한다.
적어도 하나의 다른 음성 인식 시스템을 미리 등록하는 것;을 더 포함하고, 상기 발화 텍스트를 생성하는 것은, 상기 사용자 의도에 대응되는 기능의 수행이 불가능한 경우 상기 미리 등록된 적어도 하나의 다른 음성 인식 시스템에 상기 사용자 의도에 대응되는 기능의 수행을 요청하기 위한 발화 텍스트를 생성하는 것;을 포함할 수 있다.
상기 발화 텍스트를 생성하는 것은, 복수의 다른 음성 인식 시스템 중에서 상기 사용자 의도에 대응되는 기능을 수행 할 다른 음성 인식 시스템을 결정하고; 상기 결정된 다른 음성 인식 시스템에 상기 사용자 의도에 대응되는 기능의 수행을 요청하기 위한 발화 텍스트를 생성하는 것;을 포함할 수 있다.
상기 복수의 다른 음성 인식 시스템 별로 수행 가능한 기능에 관한 정보를 미리 저장하는 것;을 더 포함하고, 상기 발화 텍스트를 생성하는 것은, 상기 저장된 정보에 기초하여 상기 사용자 의도에 대응되는 기능을 수행 할 다른 음성 인식 시스템을 결정하는 것;을 포함할 수 있다.
상기 발화 텍스트를 생성하는 것은, 상기 사용자 의도에 대응되는 기능을 다른 음성 인식 시스템이 수행한 이력이 있는 경우, 상기 이력을 가진 다른 음성 인식 시스템을 상기 사용자 의도에 대응되는 기능을 수행 할 다른 음성 인식 시스템으로 결정하는 것;을 포함할 수 있다.
상기 발화 텍스트를 생성하는 것은, 상기 음성 인식 시스템의 사용자 단말과 연결된 다른 음성 인식 시스템이 존재하는 경우, 상기 연결된 다른 음성 인식 시스템에 상기 사용자 의도에 대응되는 기능의 수행을 요청하기 위한 발화 텍스트를 생성하는 것;을 포함할 수 있다.
상기 발화 텍스트를 생성하는 것은, 상기 다른 음성 인식 시스템에 대응되는 웨이크업 워드를 포함하여 상기 발화 텍스트를 생성하는 것;을 포함할 수 있다.
상기 발화 텍스트를 생성하는 것은, 상기 사용자 발화와 상기 웨이크업 워드를 결합하여 상기 발화 텍스트를 생성하는 것;을 포함할 수 있다.
상기 다른 음성 인식 시스템에 대해 기능 별 샘플 문장을 저장하는 것;을 더 포함하고, 상기 발화 텍스트를 생성하는 것은, 상기 저장된 샘플 문장 중 상기 사용자 의도에 대응되는 기능에 대한 샘플 문장에 기초하여 상기 발화 텍스트를 생성하는 것;을 포함할 수 있다.
사용자 단말로부터 상기 사용자 발화를 수신하고; 상기 비가청 주파수 대역의 오디오 신호를 상기 사용자 단말에 전송하는 것;을 더 포함할 수 있다.
상기 사용자 단말에 전송하는 것은, 상기 등록된 적어도 하나의 다른 음성 인식 시스템이 복수인 경우, 상기 복수의 다른 음성 인식 시스템에 각각 대응되는 복수의 비가청 주파수 대역의 오디오 신호를 상기 사용자 단말에 순차적으로 전송할 수 있다.
상기 사용자 단말에 전송하는 것은, 상기 사용자 단말을 통해 출력된 비가청 주파수 대역의 오디오 신호에 대한 응답이 수신되지 않은 경우, 다음 순서의 비가청 주파수 대역의 오디오 신호를 상기 사용자 단말에 전송하는 것;을 포함할 수 있다.
일 실시예에 따른 음성 인식 시스템 및 그 제어 방법에 의하면, 사용자 발화에 대응되는 기능을 자신이 수행할 수 없을 때, 해당 기능을 수행할 수 있는 다른 음성 인식 시스템에 이를 요청하기 위한 발화를 생성하여 출력함으로써 사용성을 향상시킬 수 있다.
또한, 일 실시예에 따른 음성 인식 시스템 및 그 제어 방법에 의하면, 다른 음성 인식 시스템에 기능을 요청하기 위한 발화를 생성함에 있어서, 비가청 주파수 대역의 오디오 신호를 이용함으로써 편안한 사용 환경을 제공할 수 있다.
도 1 은 일 실시예에 따른 음성 인식 시스템의 제어 블록도이다.
도 2는 일 실시예에 따른 음성 인식 시스템과 연결된 차량의 내부 구성을 나타낸 도면이다.
도 3은 일 실시예에 따른 음성 인식 시스템과 연결된 차량의 제어 블록도이다.
도 4는 일 실시예에 따른 음성 인식 시스템과 차량 사이에 주고 받는 신호를 간략하게 나타낸 도면이다.
도 5는 일 실시예에 따른 음성 인식 시스템에 저장되는 다른 음성 인식 시스템에 관한 정보의 예시를 나타낸 테이블이다.
도 6 내지 도 10은 다른 음성 인식 시스템에 의해 사용자 의도에 대응되는 기능이 제공되는 과정의 예시를 나타낸 도면이다.
도 11은 일 실시예에 따른 음성 인식 시스템의 제어 방법에 관한 순서도이다.
도 12는 일 실시예에 따른 음성 인식 시스템의 제어 방법의 다른 순서도이다.
도 13은 일 실시예에 따른 음성 인식 시스템의 제어 방법에 있어서, 사용자 의도에 대응되는 기능을 대신 수행 할 다른 음성 인식 시스템을 결정하는 방법에 관한 순서도이다.
본 명세서에 기재된 실시예와 도면에 도시된 구성은 개시된 발명의 바람직한 일 예이며, 본 출원의 출원시점에 있어서 본 명세서의 실시예와 도면을 대체할 수 있는 다양한 변형 예들이 있을 수 있다.
또한, 본 명세서에서 사용한 용어는 실시예를 설명하기 위해 사용된 것으로, 개시된 발명을 제한 및/또는 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다", "구비하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는다.
또한, "~부", "~기", "~블록", "~부재", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 예를 들어, 상기 용어들은 FPGA(field-programmable gate array)/ASIC(application specific integrated circuit) 등 적어도 하나의 하드웨어, 메모리에 저장된 적어도 하나의 소프트웨어 또는 프로세서에 의하여 처리되는 적어도 하나의 프로세스를 의미할 수 있다.
또한, 본 명세서에서 설명되는 구성요소 앞에 사용되는 "제1~", "제2~"와 같은 서수는 구성요소들을 상호 구분하기 위해 사용되는 것일 뿐, 이들 구성요소들 사이의 연결 순서, 사용 순서, 우선 순위 등의 다른 의미를 갖는 것은 아니다.
각 단계들에 붙여지는 부호는 각 단계들을 식별하기 위해 사용되는 것으로 이들 부호는 각 단계들 상호 간의 순서를 나타내는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
한편, 개시된 실시예들은 컴퓨터에 의해 실행 가능한 명령어를 저장하는 기록매체의 형태로 구현될 수 있다. 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 프로그램 모듈을 생성하여 개시된 실시예들의 동작을 수행할 수 있다. 기록매체는 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.
컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다.
이하에서는 첨부된 도면을 참조하여 일 측면에 따른 음성 인식 시스템 및 그 제어 방법의 실시예를 상세하게 설명하도록 한다.
도 1 은 일 실시예에 따른 음성 인식 시스템의 제어 블록도이다.
도 1을 참조하면, 일 실시예에 따른 음성 인식 시스템(100)은 사용자 발화에 포함된 사용자 의도를 판단하는 음성 처리부(120), 사용자 의도에 대응되는 기능의 수행이 가능한지 여부를 판단하고, 상기 사용자 의도에 대응되는 기능의 수행이 불가능한 경우 적어도 하나의 다른 음성 인식 시스템에 사용자 발화에 대응되는 기능의 수행을 요청하기 위한 발화 텍스트를 생성하는 제어부(130) 및 발화 텍스트를 비가청 주파수 대역의 오디오 신호로 변환하는 발화 생성부(140)를 포함한다.
음성 인식 시스템(100)은 사용자 인터페이스, 즉 입출력 장치가 마련된 사용자 단말과 연계되어 사용될 수 있다. 예를 들어, 음성 인식 시스템(100)이 서버에 마련된 경우에는 서버에 마련된 음성 인식 시스템(100)이 사용자 단말과 통신을 통해 연결될 수 있다. 또는, 음성 인식 시스템(100)이 사용자 단말 자체에 마련되는 것도 가능하다.
사용자 단말은 스마트 폰, 태블릿 PC, 스마트 워치, 스마트 글래스 등과 같은 모바일 디바이스일 수도 있고, 냉장고, TV, 에어컨, 세탁기 등과 같은 가전 제품일 수도 있으며, 입출력 기능을 중점적으로 수행하는 스피커(AI 스피커)일 수도 있고, 차량일 수도 있다. 음성 인식 시스템(100)과 무선으로 연결되고, 사용자에게 입출력 장치를 제공할 수 있으면 되고, 사용자 단말의 종류에 대해 다른 제한은 두지 않는다.
사용자 발화는 사용자 단말에 마련된 마이크(10, 도 3 참조)를 통해 입력될 수 있고, 입력된 사용자 발화는 오디오 신호의 형태로 음성 처리부(120)에 전달될 수 있다.
음성 처리부(120)는 사용자 발화를 발화 텍스트로 변환하는 음성 인식기(121) 및 발화 텍스트에 대응되는 사용자 의도를 판단하는 자연어 이해기(122)를 포함할 수 있다.
음성 인식기(121)는 STT(Speech to Text) 엔진으로 구현될 수 있고, 사용자 발화에 음성 인식(speech recognition) 알고리즘을 적용하여 텍스트로 변환할 수 있다.
예를 들어, 음성 인식기(121)는 켑스트럼(Cepstrum), 선형 예측 코딩(Linear Predictive Coefficient: LPC), 멜프리퀀시켑스트럼(Mel Frequency Cepstral Coefficient: MFCC) 또는 필터 뱅크 에너지(Filter Bank Energy) 등의 특징 벡터 추출 기술을 적용하여 사용자 발화에서 특징 벡터를 추출할 수 있다.
그리고, 추출된 특징 벡터와 훈련된 기준 패턴과의 비교를 통하여 인식 결과를 얻을 수 있다. 이를 위해, 음성의 신호적인 특성을 모델링하여 비교하는 음향 모델(Acoustic Model) 또는 인식 어휘에 해당하는 단어나 음절 등의 언어적인 순서 관계를 모델링하는 언어 모델(Language Model)이 사용될 수 있다.
또한, 음성 인식기(121)는 머신 러닝 또는 딥 러닝을 적용한 학습에 기반하여 사용자 발화를 발화 텍스트로 변환하는 것도 가능하다. 당해 실시예에서는 음성 인식기(121)가 사용자 발화를 발화 텍스트로 변환하는 방식에 대해서는 제한을 두지 않는바, 음성 인식기(121)는 전술한 방식 외에도 다양한 음성 인식 기술을 적용하여 사용자 발화를 발화 텍스트로 변환할 수 있다.
자연어 이해기(122)는 발화 텍스트에 포함된 사용자 의도를 판단하기 위해 자연어 이해(Natural Language Understanding: NLU) 기술을 적용할 수 있다. 따라서, 자연어 이해기(122)에는 입력 문장에 대해 NLU 기술을 적용하여 사용자 의도를 판단하는 NLU 엔진이 포함될 수 있다.
예를 들어, 자연어 이해기(122)는 발화 텍스트로부터 개체명을 인식할 수 있다. 개체명은 인명, 지명, 조직명, 시간, 날짜, 화폐 등의 고유 명사로서, 개체명 인식은 문장에서 개체명을 식별하고 식별된 개체명의 종류를 결정하는 작업이다. 개체명 인식을 통해 문장에서 중요한 키워드를 추출하여 문장의 의미를 파악할 수 있다.
또한, 자연어 이해기(122)는 발화 텍스트로부터 도메인을 결정할 수 있다. 도메인은 사용자 발화의 주제를 식별할 수 있는 것으로서, 예를 들어, 전자장치의 제어, 일정 관리, 날씨 또는 교통 상황 등에 관한 정보 제공, 문자 전송, 전화 걸기, 내비게이션, 차량 제어 등의 다양한 주제를 나타내는 도메인이 발화 텍스트에 기초하여 결정될 수 있다.
또한, 자연어 이해기(122)는 발화 텍스트가 갖는 화행을 분석할 수 있다. 화행 분석은 발화의 의도를 분석하는 작업으로, 사용자가 질문을 하는 것인지, 요청을 하는 것인지, 응답을 하는 것인지, 단순한 감정 표현을 하는 것인지 등의 발화의 의도를 파악하는 것이다.
자연어 이해기(122)는 발화 텍스트로부터 추출된 도메인, 개체명, 화행 등의 정보에 기초하여 인텐트(intent) 및 해당 인텐트를 수행하는데 필요한 엔티티(entity)를 판단할 수 있다.
예를 들어, 발화 텍스트가 "에어컨 켜줘"인 경우 도메인은 [차량 제어]가 되고, 인텐트는 [turn on, air conditioner]가 될 수 있으며, 해당 인텐트에 대응되는 제어를 수행하기 위해 필요한 엔티티는 [온도, 풍량]이 될 수 있다.
또는, 발화 텍스트가 "문자 보내줘"인 경우 도메인은 [문자 송수신]이 되고, 인텐트는 [send, message]가 될 수 있으며, 해당 인텐트에 대응되는 제어를 수행하기 위해 필요한 엔티티는 [수신인, 내용]이 될 수 있다.
인텐트는 액션과 타겟에 의해 결정될 수 있는바, 상기 예시에서 액션은 turn on이 되고, 타겟은 air conditioner가 된다. 다만, 음성 인식 시스템마다 사용되는 용어는 달라질 수 있는바, 액션 대신 오퍼레이터, 타겟 대신 오브젝트라는 용어가 사용될 수도 있다. 사용되는 용어에 상관 없이, 사용자 발화에 대응되는 인텐트를 결정하거나 정의하는 것이면 당해 실시예에서의 액션 및 타겟의 범위(scope)에 포함될 수 있다. 사용자 의도는 발화 텍스트로부터 추출된 도메인, 인텐트 및 엔티티의 값에 의해 정의될 수 있다.
한편, 음성 인식 시스템(100)이 전술한 과정에 따라 사용자 의도를 판단하는 동작은 미리 정해진 웨이크업 워드(wake-up)가 사용자에 의해 발화되었을 때 이루어질 수 있다. 따라서, 음성 인식 시스템(100)은 사용자의 모든 발화를 분석하여 사용자 의도를 판단하는 것이 아니라, 사용자가 미리 정해진 웨이크업 워드를 발화함으로써 음성 인식 시스템(100)을 이용하겠다는 의사를 표시했을 때 사용자 발화를 분석하여 사용자 의도를 판단할 수 있다.
일 실시예에 따른 음성 인식 시스템(100)은 전자장치의 제어, 일정 관리, 날씨 또는 교통 상황 등에 관한 정보 제공, 음악 재생, 문자 전송, 전화 걸기, 내비게이션 등의 다양한 기능 중 적어도 하나를 수행할 수 있다.
일 실시예에 따른 음성 인식 시스템(100) 외에도 서로 다른 제공자들에 의해 운영되는 다양한 음성 인식 시스템들이 존재할 수 있다. 다만, 음성 인식 시스템들이 모두 동일한 기능을 수행하는 것은 아닌바, 음성 인식 시스템들끼리 수행 가능한 기능이 적어도 일부 상이할 수도 있고, 적어도 일부 겹칠 수도 있다.
또한, 음성 인식 시스템 자체에서는 수행 가능한 기능이라도 특정 사용자에 대해서는 해당 기능을 수행할 수 없는 경우도 있다. 예를 들어, 어떤 음성 인식 시스템이 전화 번호부의 저장 및 검색에 관한 기능을 수행할 수 있더라도, 특정 사용자가 해당 음성 인식 시스템에 전화 번호부를 등록하지 않은 경우에는 전화 번호부의 검색 기능을 수행할 수 없게 된다. 다른 예로, 어떤 음성 인식 시스템이 일정 관리를 수행할 수 있더라도, 특정 사용자가 해당 음성 인식 시스템에 일정을 등록하지 않은 경우에는 일정에 대한 정보를 제공할 수 없게 된다.
따라서, 사용자 발화에 포함된 사용자 의도가 판단이 되면, 제어부(130)는 사용자 의도에 대응되는 기능이 음성 인식 시스템(100)에서 수행 가능한지 여부를 판단할 수 있다. 제어부(130)는 사용자 의도에 대응되는 기능이 음성 인식 시스템(100)에서 제공하지 않는 기능인 경우에 해당 기능을 수행할 수 없는 것으로 판단할 수 있다.
또한, 제어부(130)는 음성 인식 시스템(100)에서 제공하는 기능이더라도 해당 사용자에게는 제공할 수 없는 경우, 예를 들어 기능을 수행하기 위해 필요한 사용자의 정보가 불충분한 경우, 해당 기능을 수행할 수 없는 것으로 판단할 수 있다.
사용자 의도에 대응되는 기능이 수행 가능한 것으로 판단되면, 제어부(130)는 해당 기능을 수행할 수 있다. 예를 들어, 사용자 의도에 대응되는 기능이 전자 장치의 제어인 경우에는 제어 신호를 생성하여 해당 전자 장치에 전송할 수 있고, 사용자 의도에 대응되는 기능이 특정 정보의 검색인 경우에는 해당 정보를 검색하여 그 결과를 음성 인식 시스템(100)과 연결된 사용자 단말에 전송할 수 있다.
사용자 의도에 대응되는 기능이 수행 불가능한 것으로 판단되면, 제어부(130)는 적어도 하나의 다른 음성 인식 시스템에 사용자 의도에 대응되는 기능의 수행을 요청하기 위한 발화 텍스트를 생성할 수 있다.
이를 위해, 적어도 하나의 다른 음성 인식 시스템에 관한 정보가 제어부(130)에 저장될 수 있다. 적어도 하나의 다른 음성 인식 시스템에 관한 정보는 제어부(130)에 미리 저장될 수도 있고, 사용자에 의해 등록 및 변경될 수도 있으며, 다른 음성 인식 시스템이 기능을 수행할 때마다 제어부(130)에 저장되는 정보가 업데이트되는 것도 가능하다.
적어도 하나의 다른 음성 인식 시스템에 관한 정보는 해당 음성 인식 시스템을 활성화시키기 위한 웨이크업 워드, 해당 음성 인식 시스템에서 수행 가능한 기능, 과거의 기능 수행 이력 및 사용자 단말과의 연결 여부 중 적어도 하나를 포함할 수 있다.
제어부(130)는 적어도 하나의 다른 음성 인식 시스템에 관한 정보에 기초하여, 사용자 의도에 대응되는 기능을 대신 수행 할 대체 음성 인식 시스템을 결정할 수 있다. 대체 음성 인식 시스템을 결정하는 구체적인 방법에 대해서는 후술하기로 한다.
제어부(130)는 결정된 음성 인식 시스템에 사용자 의도에 대응되는 기능의 수행을 요청하기 위한 발화 텍스트를 생성할 수 있다. 발화 텍스트는 결정된 음성 인식 시스템에 대응되는 웨이크업 워드와 사용자 발화를 결합하여 생성될 수 있다.
입력된 사용자 발화는 웨이크업 워드와 본문을 포함할 수 있다. 본문은 기능의 수행을 요청하기 위한 문장을 의미한다. 제어부(130)는 입력된 사용자 발화의 본문과 결정된 음성 인식 시스템에 대응되는 웨이크업 워드를 결합하여 발화 텍스트를 생성할 수 있다.
또는, 적어도 하나의 다른 음성 인식 시스템에 대해 기능 별로 샘플 문장을 저장하고, 사용자 의도에 매칭되는 샘플 문장을 이용하여 발화 텍스트를 생성하는 것도 가능하다. 샘플 문장은 해당 음성 인식 시스템이 사용자 의도를 파악하기에 최적화된 문장일 수 있다. 따라서, 제어부(130)는 결정된 음성 인식 시스템에 대응되는 웨이크업 워드와 사용자 의도에 매칭되는 샘플 문장을 결합하여 발화 텍스트를 생성함으로써, 인식 성능을 향상시킬 수 있다.
발화 생성부(140)는 제어부(130)가 생성한 발화 텍스트를 오디오 신호로 변환하기 위한 TTS(Text to Speech) 엔진을 포함할 수 있다. 또한, 발화 생성부(140)는 발화 텍스트를 오디오 신호로 변환함에 있어서 비가청 대역의 주파수를 이용할 수 있다. 후술하는 실시예에서는 발화 텍스트를 변환한 비가청 주파수 대역의 오디오 신호를 비가청 발화라 지칭하기로 한다.
사람이 들을 수 있는 음파의 주파수 대역에는 한계가 있다. 평균적으로 약 18 kHz 이상의 주파수 대역은 사람이 감지할 수가 없는 것으로 알려져 있는 바, 일 예로, 18kHz 이상의 주파수 대역을 비가청 주파수 대역으로 정의할 수 있다. 따라서, 18kHz 이상의 주파수 대역을 이용한 오디오 신호는 본 발명에서의 비가청 주파수 대역의 오디오 신호에 포함될 수 있다.
또한, 발화 생성부(140)는 발화 텍스트를 오디오 신호로 변환함에 있어서 비가청 주파수 대역뿐만 아니라, 대체 음성 인식 시스템과 연결된 사용자 단말의 마이크가 인식 가능한 주파수 대역도 고려할 수 있다. 예를 들어, 사용자 단말의 마이크가 인식 가능한 주파수 대역이 10Hz에서 22kHz의 범위를 갖는 경우, 발화 생성부(140)는 발화 텍스트를18kHz 에서 22kHz 의 범위를 갖는 주파수 대역의 오디오 신호로 변환할 수 있다.
다만, 전술한 주파수 대역은 음성 인식 시스템(100)에 적용 가능한 예시에 불과하다. 사용자는 감지할 수 없고, 사용자 단말의 마이크는 감지할 수 있는 주파수 대역이라면, 발화 생성부(140)에서 생성하는 오디오 신호의 주파수 대역이 될 수 있다.
전술한 바와 같이, 음성 인식 시스템(100)이 사용자가 의도한 기능을 수행할 수 없는 경우에 다른 음성 인식 시스템에 해당 기능을 자동으로 요청하면, 사용자는 추가 발화 없이도 원하는 서비스를 제공받을 수 있게 된다. 따라서, 사용자는 다양한 음성 인식 시스템마다 그에 대응되는 웨이크업 워드와 수행 가능한 기능을 숙지하지 않더라도, 언제든 하나의 음성 인식 시스템(100)의 웨이크업 워드만 발화하여 원하는 기능을 요청함으로써 원하는 서비스를 제공받을 수 있게 되고, 그로 인해 음성 인식 시스템(100)의 사용성이 향상될 수 있다.
또한, 다른 음성 인식 시스템에 기능을 요청하기 위한 발화를 사용자에게는 들리지 않는 비가청 주파수 대역을 이용하여 생성함으로써 조용하고 편안한 사용 환경을 제공할 수 있다.
전술한 음성 인식 시스템(100)의 음성 처리부(120), 제어부(130) 및 발화 생성부(140)는 전술한 동작 및 후술하는 동작을 수행하는 프로그램이 저장된 메모리와 저장된 프로그램을 실행하는 프로세서에 의해 구현될 수 있다.
각각의 구성요소가 별개의 메모리와 프로세서를 사용하는 것도 가능하고, 구성요소들 중 적어도 일부가 메모리와 프로세서를 공유하는 것도 가능하다.
전술한 바와 같이, 이러한 음성 인식 시스템(100)은 서버의 형태로도 구현 가능하고, 사용자 단말의 메모리 용량과 프로세서의 성능에 따라서 음성 인식 시스템(100)이 사용자 단말에 내장되는 것도 가능하다.
다만, 후술하는 실시예에서는 구체적인 설명을 위해, 음성 인식 시스템(100)이 서버로 구현되고, 사용자 단말과 통신하여 신호를 주고 받는 경우를 예로 들기로 한다.
사용자 단말은 사용자와 음성 인식 시스템(100)을 연결시켜 주기 위한 게이트 웨이 역할을 할 수 있다. 따라서, 사용자 단말은 사용자 발화를 수신하기 위한 마이크와 음성 인식 시스템(100)에 의해 생성된 비가청 발화를 출력하기 위한 스피커를 포함할 수 있으며, 모바일 기기, 차량, AI 스피커 등의 다양한 장치로 구현될 수 있다. 이하, 사용자 단말이 차량인 경우의 실시예에 대해 설명하기로 한다.
도 2는 일 실시예에 따른 음성 인식 시스템과 연결된 차량의 내부 구성을 나타낸 도면이고, 도 3은 일 실시예에 따른 음성 인식 시스템과 연결된 차량의 제어 블록도이고, 도 4는 일 실시예에 따른 음성 인식 시스템과 차량 사이에 주고 받는 신호를 간략하게 나타낸 도면이다.
도 2를 참조하면, 차량(1)의 대시보드(51)의 일 영역에는 AVN 장치가 마련될 수 있고, AVN 장치는 오디오, 비디오 또는 내비게이션 기능을 수행하기 위한 필요한 정보를 표시하는 AVN디스플레이(21)를 포함할 수 있다.
또한, 대시보드(51)의 일 영역에는 차량(1)의 상태 또는 주행 관련 정보 등을 표시하는 클러스터 디스플레이(22)가 마련될 수 있다.
사용자가 요청한 기능에 따라, 요청된 기능을 수행하는데 필요한 화면이 AVN 디스플레이(21) 또는 디스플레이(22)에 표시될 수 있다. 다만, AVN 디스플레이(21)나 클러스터 디스플레이(22)는 차량(1)에 적용 가능한 예시에 불과하고, 운전자나 동승자를 포함하는 사용자에게 필요한 정보를 제공할 수만 있으면 디스플레이의 위치에 대해서는 제한을 두지 않는다.
사용자가 요청한 기능에 따라, 요청된 기능을 수행하는데 필요한 오디오가 스피커(70)를 통해 출력될 수도 있다. 또한, 스피커(70)는 음성 인식 시스템(100)으로부터 전송되는 비가청 발화를 출력할 수 있다.
차량(1) 내부에는 사용자 발화를 수신하기 위한 마이크(10)가 마련될 수 있다. 마이크(10)는 차량 앞쪽의 헤드라이닝(52)에 마련될 수도 있고 스티어링 휠에 마련될 수도 있으며 룸 미러(60)에 마련될 수도 있고 대시보드(51)에 마련될 수도 있다. 사용자 발화가 입력될 수만 있으면, 되고 마이크(10)의 위치에 대해서도 제한을 두지 않는다.
도 3과 도 4를 함께 참조하면, 차량(1) 내부의 마이크(10)를 통해 ① 사용자 발화가 입력되면, 차량(1)의 제어부(80)는 통신부(90)를 통해 ② 사용자 발화를 음성 인식 시스템(100)에 전송할 수 있다.
차량(1)으로부터 전송되는 사용자 발화를 수신하기 위해 음성 인식 시스템(100)은 통신부(110)를 포함할 수 있다. 차량(1)의 통신부(90)와 음성 인식 시스템(100)의 통신부(110)는 3G 통신 모듈, 4G 통신 모듈, 5G 통신 모듈, wi-fi 등 원격의 전자 장치와 신호를 주고 받기 위한 무선 통신 모듈을 포함할 수 있다.
음성 인식 시스템(100)의 통신부(110)는 차량(1)으로부터 수신한 사용자 발화를 음성 처리부(120)에 전달하고, 음성 처리부(120)는 전술한 동작에 따라 음성 인식 및 자연어 이해를 수행하여 사용자 의도를 파악하고, 사용자 의도에 대응되는 기능을 판단할 수 있다.
전술한 바와 같이, 제어부(130)는 사용자 의도에 대응되는 기능의 수행 가부를 판단하고, 사용자 의도에 대응되는 기능이 수행 가능한 것으로 판단되면 해당 기능을 수행하기 위한 신호를 생성하여 통신부(110)를 통해 차량(1)에 전송할 수 있다.
사용자 의도에 대응되는 기능이 수행 불가능한 것으로 판단되면, 해당 기능을 수행할 수 있는 다른 음성 인식 시스템을 결정하고, 결정된 음성 인식 시스템에 해당 기능을 요청하기 위한 발화 텍스트를 생성할 수 있다.
발화 생성부(140)에서 발화 텍스트를 비가청 주파수 대역의 오디오 신호, 즉 비가청 발화로 변환할 수 있고, 통신부(110)가 ③ 비가청 발화를 차량(1)에 전송하면, 차량(1)은 스피커(70)를 통해 ④ 비가청 발화를 출력할 수 있다.
이하, 일 실시예에 따른 음성 인식 시스템(100)이 사용자 의도에 대응되는 기능을 수행할 수 없을 때, 해당 기능의 수행을 요청할 다른 음성 인식 시스템을 결정하는 과정을 구체적으로 설명한다.
도 5는 일 실시예에 따른 음성 인식 시스템에 저장되는 다른 음성 인식 시스템에 관한 정보의 예시를 나타낸 테이블이고, 도 6 내지 도 10은 다른 음성 인식 시스템에 의해 사용자 의도에 대응되는 기능이 제공되는 과정의 예시를 나타낸 도면이다.
도 5의 예시를 참조하면, 다른 음성 인식 시스템인 제1음성 인식 시스템, 제2음성 인식 시스템 및 제3음성 인식 시스템이 등록될 수 있고, 메모리에는 제1음성 인식 시스템, 제2음성 인식 시스템 및 제3음성 인식 시스템에 관한 정보가 각각 저장될 수 있다. 메모리는 제어부(130)를 구현하는데 사용되는 메모리일 수도 있고, 이와는 별도로 마련된 메모리일 수도 있다.
전술한 바와 같이, 다른 음성 인식 시스템의 등록은 설계자에 의해 미리 이루어질 수도 있고, 사용자에 의해 다른 음성 인식 시스템의 등록 및 변경이 이루어질 수도 있으며, 다른 음성 인식 시스템의 기능 수행에 따라 관련 정보가 업데이트될 수도 있다.
제1음성 인식 시스템을 활성화시키기 위한 웨이크업 워드 "○○"가 저장될 수 있고, 제2음성 인식 시스템을 활성화시키기 위한 웨이크업 워드 "△△"가 저장될 수 있으며, 제3음성 인식 시스템을 활성화시키기 위한 웨이크업 워드 "□□"가 저장될 수 있다. 여기서, ○, △, □는 임의의 웨이크업 워드를 나타내기 위해 사용되는 기호일 뿐, 웨이크업 워드의 문자 수 또는 음절 수, 사용되는 언어, 그 의미 등에 대해서는 제한을 두지 않는다.
일 예로, 음성 인식 시스템(100)은 제1음성 인식 시스템에 기능을 요청하기 위한 비가청 발화, 제2음성 인식 시스템에 기능을 요청하기 위한 비가청 발화 및 제3음성 인식 시스템에 기능을 요청하기 위한 비가청 발화를 순차적으로 출력할 수 있다. 발화 순서는 임의로 정해질 수 있고, 비가청 발화의 출력 이후에, 해당 기능이 수행되면 추가 발화를 출력하지 않고 정해진 시간 이내에 해당 기능이 수행되지 않으면 추가 발화를 출력할 수 있다.
또는, 도 5의 예시와 같이 웨이크업 워드 뿐만 아니라, 각각의 다른 음성 인식 시스템이 수행 가능한 기능, 사용자 단말과의 연결 여부 및 과거 기능 수행 이력 중 적어도 하나의 추가 정보가 저장되는 것도 가능하다. 사용자 단말, 즉 차량(1)과 연결된 음성 인식 시스템은 현재 차량(1) 내에서 사용 가능한 음성 인식 시스템으로 추정할 수 있고, 과거 기능 수행 이력은 사용자가 선호하거나 주로 사용하는 음성 인식 시스템이 무엇인지 나타낼 수 있다.
제어부(130)는 저장된 추가 정보에 기초하여 사용자 의도에 대응되는 기능을 수행할 다른 음성 인식 시스템을 결정할 수 있다.
도 5의 예시에 따르면, 제1음성 인식 시스템이 수행 가능한 기능은 음악 재생, 내비게이션, 전화 걸기 및 정보 검색을 포함하고, 현재 차량(1)에 블루투스를 통해 연결되어 있으며, 과거 기능 수행 이력은 없다. 여기서, 제1음성 인식 시스템은 사용자 단말인 제1디바이스와 연결될 수 있으며, 제1디바이스가 블루투스를 통해 차량(1)과 연결된 경우에 제1음성 인식 시스템이 차량(1)과 연결된 것으로 볼 수 있다. 나머지 음성 인식 시스템들에 대해서도 동일한 취지의 설명이 적용될 수 있다.
제2음성 인식 시스템이 수행 가능한 기능은 정보 검색, 메시지 전송, 전화 걸기, 일정 관리, 음악 재생을 포함하고, 현재 차량(1)에는 연결되어 있지 않으며, 과거에는 정보 검색, 일정 관리 및 메시지 전송 기능을 수행한 바 있다.
제3음성 인식 시스템이 수행 가능한 기능은 정보 검색, 일정 관리 및 전화 걸기를 포함하고, 현재 차량(1)에 블루투스를 통해 연결되어 있으며, 과거에 전화 걸기와 정보 검색 기능을 수행한 바 있다.
제어부(130)는 각 음성 인식 시스템이 수행 가능한 기능, 차량(1)과의 연결 여부 및 과거 기능 수행 이력에 기초하여 사용자 의도에 대응되는 기능을 수행할 수 있는 다른 음성 인식 시스템을 결정할 수 있다.
일 예로, 수행 가능한 기능, 차량(1)과의 연결 여부 및 과거 기능 수행 이력을 단계적으로 판단할 수 있다. 구체적으로, 사용자 의도에 대응되는 기능을 수행할 수 있는 다른 음성 인식 시스템이 복수인 경우에는 복수의 다른 음성 인식 시스템 중에서 차량(1)과 연결된 음성 인식 시스템을 선택할 수 있다. 또한, 차량(1)과 연결된 음성 인식 시스템이 복수이거나, 없는 경우에는 과거 기능 수행 이력을 추가적으로 판단할 수 있다.
이와 같이, 차량(1)과의 연결 여부나 과거 기능 수행 이력을 판단함으로써, 현재 차량(1) 내에서 대체적으로 사용 가능한 다른 음성 인식 시스템을 분류할 수 있다. 앞서 언급한 바와 같이, 차량(1)과의 연결 여부나 과거 기능 수행 이력은 현재 차량(1) 내에 존재하는 디바이스를 분류하는 기초가 될 수 있고, 특히 과거 기능 수행 이력은 해당 기능을 수행하기에 충분한 정보를 갖고 있는지 여부를 판단하는 기초가 될 수 있다.
도 6의 예시를 참조하면, 사용자가 "헤이, 현대! 자장가 들려줘"라는 발화를 차량(1)의 마이크(10)에 입력한 경우, 입력된 사용자 발화는 음성 인식 시스템(100)으로 전송되고, 음성 처리부(120)는 사용자 발화에 포함된 사용자 의도를 자장가 재생으로 판단할 수 있다.
음성 인식 시스템(100)이 사용자 의도에 대응되는 기능인 음악 재생을 수행할 수 없는 경우, 제어부(130)는 다른 음성 인식 시스템에 관한 정보에 기초하여 음악 재생을 수행할 수 있는 다른 음성 인식 시스템을 판단할 수 있다. 전술한 도 5의 예시를 참조하면, 등록된 음성 인식 시스템들 중에서 음악 재생을 수행할 수 있는 음성 인식 시스템은 제1음성 인식 시스템과 제2음성 인식 시스템에 해당한다.
음악 재생을 수행할 수 있는 음성 인식 시스템이 복수이므로, 제어부(130)는 차량(1)과의 연결 여부에 기초하여 추가 판단을 수행할 수 있다. 전술한 도 5의 예시에 따르면, 제1음성 인식 시스템과 제2음성 인식 시스템 중 차량(1)에 연결된 음성 인식 시스템은 제1음성 인식 시스템이므로, 제1음성 인식 시스템을 사용자 의도에 대응되는 기능인 음악 재생을 수행할 음성 인식 시스템으로 결정할 수 있다.
제어부(130)는 제1음성 인식 시스템의 웨이크업 워드 "○○"와 사용자 발화 "자장가 들려줘"를 결합하여 발화 텍스트를 생성할 수 있고, 발화 생성부(140)에서 발화 텍스트를 비가청 발화로 변환하여 차량(1)에 전송할 수 있다.
차량(1)의 스피커(70)는 비가청 발화 "○○, 자장가 들려줘"를 출력할 수 있다. 예를 들어, 차량(1) 내에 제1음성 인식 시스템과 연결된 제1디바이스(D1)와 제2음성 인식 시스템과 연결된 제2디바이스(D2)가 모두 존재하는 경우, 출력된 비가청 발화에 의해 제1디바이스(D1)가 웨이크업되고, 제1음성 인식 시스템에 의해 해당 기능이 수행될 수 있다. 예를 들어, 도 6에 도시된 바와 같이, 자장가 재생을 위한 시스템 발화 "슈베르트의 자장가를 들려드릴까요?"를 제1디바이스(D1)를 통해 출력하고, 이에 대응하여 입력되는 사용자 응답에 따라 기능의 수행이 이루어질 수 있다.
도 7의 예시를 참조하면, 사용자가 "헤이, 현대! 홍길동에게 메시지 보내줘"라는 발화를 차량(1)의 마이크(10)에 입력한 경우, 입력된 사용자 발화는 음성 인식 시스템(100)으로 전송되고, 음성 처리부(120)는 사용자 발화에 포함된 사용자 의도를 홍길동에게 메시지 전송으로 판단할 수 있다.
음성 인식 시스템(100)이 사용자 의도에 대응되는 기능인 메시지 전송을 수행할 수 없는 경우, 제어부(130)는 다른 음성 인식 시스템에 관한 정보에 기초하여 메시지 전송을 수행할 수 있는 다른 음성 인식 시스템을 판단할 수 있다. 전술한 도 5의 예시를 참조하면, 등록된 음성 인식 시스템들 중에서 메시지 전송을 할 수 있는 음성 인식 시스템은 제2음성 인식 시스템에 해당한다.
따라서, 제어부(130)는 제2음성 인식 시스템의 웨이크업 워드 "△△"와 사용자 발화 "홍길동에게 메시지 보내줘"를 결합하여 발화 텍스트를 생성할 수 있고, 발화 생성부(130)에서 발화 텍스트를 비가청 발화로 변환하여 차량(1)에 전송할 수 있다.
차량(1)의 스피커(70)는 비가청 발화 "△△, 홍길동에게 메시지 보내줘"를 출력할 수 있다. 예를 들어, 차량(1) 내에 제1음성 인식 시스템과 연결된 제1디바이스(D1)와 제2음성 인식 시스템과 연결된 제2디바이스(D2)가 존재하는 경우, 비가청 발화에 의해 제2디바이스(D2)가 웨이크업되고, 제2음성 인식 시스템에 의해 해당 기능이 수행될 수 있다. 예를 들어, 도 7에 도시된 바와 같이, 메시지 전송을 위한 시스템 발화 "홍길동에게 뭐라고 메시지를 보낼까요?"를 제2디바이스(D2)를 통해 출력하고, 이에 대응하여 입력되는 사용자 응답에 따라 기능의 수행이 이루어질 수 있다.
한편, 제2디바이스(D2)로부터 응답이 출력되면 차량(1)의 마이크(10)가 이를 수신하여 음성 인식 시스템(100)에 전송할 수 있다. 따라서, 음성 인식 시스템(100)은 차량(1)으로부터 제2디바이스(D2)의 응답이 전송되는지 여부에 따라 차량(1) 내에 제2디바이스(D2)가 존재하는지 여부를 판단할 수 있다. 제어부(130)는 비가청 발화의 출력 이후 정해진 시간 이내에 제2디바이스(D2)로부터 응답이 출력되지 않으면, 해당 기능의 수행이 불가능한 것으로 판단하고, 차량(1)의 스피커(70)를 통해 해당 기능의 수행이 불가함을 알리는 메시지를 출력할 수 있다.
도 8의 예시를 참조하면, "헤이, 현대! 이번 주말 일정 알려줘"라는 발화를 차량(1)의 마이크(10)에 입력한 경우, 입력된 사용자 발화는 음성 인식 시스템(100)으로 전송되고, 음성 처리부(120)는 사용자 발화에 포함된 사용자 의도를 주말 일정 검색으로 판단할 수 있다.
음성 인식 시스템(100)이 사용자 의도에 대응되는 기능인 일정 관리를 수행할 수 없는 경우, 제어부(130)는 다른 음성 인식 시스템에 관한 정보에 기초하여 일정 관리를 수행할 수 있는 다른 음성 인식 시스템을 판단할 수 있다. 전술한 도 5의 예시를 참조하면, 등록된 음성 인식 시스템들 중에서 일정 관리를 수행할 수 있는 음성 인식 시스템은 제2음성 인식 시스템과, 제3음성 인식 시스템에 해당한다.
일정 관리를 수행할 수 있는 음성 인식 시스템이 복수이므로, 제어부(130)는 차량(1)과의 연결 여부에 기초하여 추가 판단을 수행할 수 있다. 전술한 도 5의 예시에 따르면, 제2음성 인식 시스템과, 제3음성 인식 시스템 중 차량(1)에 연결된 음성 인식 시스템은 제3음성 인식 시스템이므로, 제3음성 인식 시스템을 사용자 의도에 대응되는 기능인 일정 관리를 수행할 다른 음성 인식 시스템으로 결정할 수 있다.
제어부(130)는 제3음성 인식 시스템의 웨이크업 워드 "□□"와 사용자 발화 "이번 주말 일정 알려줘"를 결합하여 발화 텍스트를 생성할 수 있고, 발화 생성부(140)에서 발화 텍스트를 비가청 발화를 변환하여 차량(1)에 전송할 수 있다.
차량(1)의 스피커(70)는 비가청 발화 "□□, 이번 주말 일정 알려줘"를 출력할 수 있다.
그러나, 도 8의 예시에서는 제3음성 인식 시스템에 사용자의 일정이 등록되어 있지 않다. 이러한 경우, 제3음성 인식 시스템이 일정 관리를 수행할 수 있는 시스템이더라도, 이 기능을 해당 사용자에 대해서는 수행할 수가 없게 된다. 따라서, 제3음성 인식 시스템과 연결된 제3디바이스(D3)는 "일정이 등록되어 있지 않습니다"와 같은 발화를 출력하여 기능 수행이 불가함을 알릴 수 있다.
제3디바이스(D3)로부터 출력된 발화는 차량(1) 내의 마이크(10)에 입력되고, 차량(1)은 입력된 발화를 음성 인식 시스템(100)에 전송할 수 있다. 제어부(130)는 전송된 발화에 기초하여 제3음성 인식 시스템이 사용자의 일정 관리를 수행할 수 없음을 판단하고, 이를 대체할 다른 음성 인식 시스템을 판단할 수 있다.
일정 관리 기능을 수행할 수 있는 음성 인식 시스템에 제2음성 인식 시스템이 포함되어 있었으므로, 제어부(130)는 제2음성 인식 시스템에 일정 관리를 요청하기 위한 발화 텍스트 "△△, 이번 주말 일정 알려줘"를 생성할 수 있다. 발화 생성부(140)에서 발화 텍스트를 비가청 발화로 변환하면, 변환된 비가청 발화는 차량(1)에 전송되어 스피커(70)를 통해 출력될 수 있다.
차량(1) 내에 제2음성 인식 시스템과 연결된 제2디바이스(D2)가 존재하고, 제2음성 인식 시스템에는 사용자의 일정이 등록된 경우, 도 8에 도시된 바와 같이 이번 주말 일정을 안내해주는 음성이 제2디바이스(D2)를 통해 출력될 수 있다.
도 9의 예시를 참조하면, 사용자가 "헤이, 현대! 오늘 날씨 알려줘"라는 발화를 차량(1)의 마이크에 입력한 경우, 입력된 사용자 발화는 음성 인식 시스템(100)으로 전송되고, 음성 처리부(120)는 사용자 발화에 포함되는 사용자 의도를 날씨 검색으로 판단할 수 있다.
음성 인식 시스템(100)이 사용자 의도에 대응되는 기능인 정보 검색을 수행할 수 없는 경우, 제어부(130)는 다른 음성 인식 시스템에 관한 정보에 기초하여 정보 검색을 수행할 수 있는 다른 음성 인식 시스템을 판단할 수 있다. 전술한 도 5의 예시에 따르면, 등록된 음성 인식 시스템들 중에서 정보 검색을 수행할 수 있는 음성 인식 시스템은 제1음성 인식 시스템, 제2음성 인식 시스템 및 제3음성 인식 시스템에 해당한다.
정보 검색을 수행할 수 있는 음성 인식 시스템이 복수이므로, 제어부(130)는 차량(1)과의 연결 여부에 기초하여 추가 판단을 수행할 수 있다. 전술한 도 5의 예시에 따르면, 제1음성 인식 시스템, 제2음성 인식 시스템 및 제3음성 인식 시스템 차량(1)에 연결된 음성 인식 시스템은 제1음성 인식 시스템과 제3음성 인식 시스템에 해당한다.
차량에 연결된 음성 인식 시스템 역시 복수이므로, 과거 기능 수행 이력에 기초하여 추가 판단을 수행할 수 있다. 전술한 도 5의 예시에 따르면, 제1음성 인식 시스템과 제3음성 인식 시스템 중 과거에 정보 검색을 수행한 이력이 있는 음성 인식 시스템은 제3음성 인식 시스템에 해당한다. 따라서, 제어부(130)는 제3음성 인식 시스템을 정보 검색을 수행할 음성 인식 시스템으로 결정할 수 있다.
제어부(130)는 제3음성 인식 시스템의 웨이크업 워드 "□□"와 사용자 발화 "오늘 날씨 알려줘"를 결합하여 발화 텍스트를 생성할 수 있고, 발화 생성부(140)에서 발화 텍스트를 비가청 발화로 변환하여 차량(1)에 전송할 수 있다.
차량(1)의 스피커(70)는 비가청 발화 "□□, 오늘 날씨 알려줘"를 출력할 수 있다. 예를 들어, 차량(1) 내에 제1디바이스(D1), 제2디바이스(D2) 및 제3디바이스(D3)가 모두 존재하는 경우, 출력된 비가청 발화에 의해 제3디바이스(D3)가 웨이크업되고, 제3음성 인식 시스템에 의해 해당 기능이 수행될 수 있다. 예를 들어, 도 9에 도시된 바와 같이, 오늘의 날씨에 관한 정보를 제3디바이스(D3)를 통해 출력할 수 있다.
한편, 사용자 의도에 대응되는 기능을 대신 수행하는 다른 음성 인식 시스템으로부터 출력되는 응답의 음량이 너무 작을 경우, 음성 인식 시스템(100)이 다른 음성 인식 시스템의 응답을 대신 발화해주는 것도 가능하다.
구체적인 예로 도 10을 참조하면, 제3음성 인식 시스템이 날씨 정보를 제공하기 위해 제3디바이스(D3)를 통해 응답을 출력하면, 차량(1)의 마이크(10)가 이를 수신하여 음성 인식 시스템(100)에 전달할 수 있다.
전달된 응답의 음량이 정해진 기준값 미만인 경우, 발화 생성부(140)는 정해진 크기 또는 그 이상으로 음량을 증가시켜 동일한 응답의 발화를 생성할 수 있다. 이 때에는 가청 주파수 범위, 예를 들어 20 Hz 이상 18kHz 미만의 주파수 대역을 이용하여 발화를 생성할 수 있다.
생성된 발화는 다시 차량(1)으로 전달되고, 차량(1)은 전달된 발화를 스피커(70)를 통해 출력함으로써, 사용자에게 날씨에 관한 정보를 제공할 수 있다.
또한, 음성 인식 시스템들 간에 비가청 주파수 대역의 오디오 신호가 입력된 경우에는 응답도 비가청 주파수 대역에서 출력하는 것으로 약속될 수도 있다. 이 경우에는, 사용자 의도에 대응되는 기능을 대신 수행하는 다른 음성 인식 시스템으로부터 출력되는 비가청 발화를 음성 인식 시스템(100)이 다시 가청 주파수 대역의 오디오 신호로 변환하여 출력하는 것도 가능하다.
전술한 실시예에서는 대체 음성 인식 시스템을 결정하기 위해 세 가지 조건을 판단하는 경우를 예로 들었으나, 음성 인식 시스템(100)의 이에 한정되는 것은 아니다. 세 가지 조건 중 일부만 이용하는 것도 가능하고, 전술한 세 가지 조건 역시 예시에 불과하다.
또한, 여러 단계의 판단에도 불구하고 대체 음성 인식 시스템이 복수인 경우에는 복수의 대체 음성 인식 시스템에 대한 비가청 발화를 순차적으로 출력하는 것도 가능하다. 이 경우, 다음 순서의 비가청 발화는 이전 순서의 비가청 발화에 대한 응답이 출력되지 않은 경우에 출력될 수 있다.
또한, 사용자 의도에 대응되는 기능을 수행할 수 있는 다른 음성 인식 시스템이 존재하지 않는 경우에는 해당 기능을 수행할 수 없음을 알리는 가청 발화를 스피커(70)를 통해 출력할 수 있다.
이하, 일 실시예에 따른 음성 인식 시스템의 제어 방법에 관하여 설명한다. 일 실시예에 따른 음성 인식 시스템의 제어 방법을 실시함에 있어서, 전술한 음성 인식 시스템(100)이 사용될 수 있다. 따라서, 앞서 도 1 내지 도 10을 참조하여 설명한 내용은 별도의 언급이 없더라도 음성 인식 시스템의 제어 방법에도 동일하게 적용될 수 있다.
도 11은 일 실시예에 따른 음성 인식 시스템의 제어 방법에 관한 순서도이다.
도 11을 참조하면, 음성 인식 시스템(100)에 사용자 발화가 입력되면(1010의 예), 음성 처리부(120)가 음성 인식 및 자연어 이해를 수행하여 사용자 발화에 포함된 사용자 의도를 판단한다(1020). 사용자 의도를 판단하는 구체적인 과정은 앞서 음성 인식 시스템(100)의 실시예에서 설명한 바와 같으므로, 여기서는 설명을 생략하도록 한다.
제어부(130)는 사용자 의도에 대응되는 기능을 음성 인식 시스템(100)에서 수행 가능한지 여부를 판단하고(1030), 사용자 의도에 대응되는 기능을 수행할 수 있으면(1030의 예), 음성 인식 시스템(100)이 해당 기능을 수행한다(1040).
사용자 의도에 대응되는 기능을 음성 인식 시스템(100)이 수행할 수 없으면(1030의 아니오), 다른 음성 인식 시스템에게 사용자 의도에 대응되는 기능의 수행을 요청하기 위한 비가청 발화를 생성한다(1050).
이를 위해, 제어부(130)는 다른 음성 인식 시스템에 관한 정보에 기초하여 사용자 의도에 대응되는 기능의 수행을 요청할 다른 음성 인식 시스템을 결정할 수도 있고, 등록된 복수의 다른 음성 인식 시스템에 대한 비가청 발화를 순차적으로 생성할 수도 있다. 후자의 경우, 발화 순서는 임의로 정해질 수 있고, 비가청 발화의 출력 이후에, 해당 기능이 수행되면 추가 발화를 출력하지 않고 정해진 시간 이내에 해당 기능이 수행되지 않으면 추가 발화를 출력할 수 있다.
발화 텍스트는 다른 음성 인식 시스템에 대응되는 웨이크업 워드와 사용자 발화를 결합하여 생성될 수도 있고, 사용자 의도에 매칭되는 샘플 문장을 이용하여 발화 텍스트를 생성하는 것도 가능하다.
샘플 문장은 해당 음성 인식 시스템이 사용자 의도를 파악하기에 최적화된 문장일 수 있다. 따라서, 제어부(130)는 다른 음성 인식 시스템에 대응되는 웨이크업 워드와 사용자 의도에 매칭되는 샘플 문장을 결합하여 발화 텍스트를 생성함으로써, 인식 성능을 향상시킬 수 있다.
발화 생성부(140)는 비가청 주파수 대역의 오디오 신호를 이용하여 발화 텍스트를 비가청 발화로 변환할 수 있다.
생성된 비가청 발화는 음성 인식 시스템(100)과 연결된 사용자 단말에 전송된다(1060). 음성 인식 시스템(100)과 연결된 사용자 단말에는 마이크(10)와 스피커(70)가 마련될 수 있고, 전술한 사용자 발화는 마이크(10)에 입력되고 비가청 발화는 스피커(70)를 통해 출력될 수 있다.
출력된 비가청 발화는 사용자에게는 들리지 않지만 다른 음성 인식 시스템과 연결된 기기의 마이크는 이를 수신할 수 있다. 따라서, 다른 음성 인식 시스템은 출력된 비가청 발화에 의해 웨이크업되어 요청된 기능을 수행할 수 있게 된다.
도 12는 일 실시예에 따른 음성 인식 시스템의 제어 방법의 다른 순서도이다.
도 12를 참조하면, 사용자 발화가 입력되면(2010의 예), 사용자 발화에 포함된 사용자 의도를 판단하고(2020), 사용자 의도에 대응되는 기능을 음성 인식 시스템(100)이 수행할 수 있는지 여부를 판단한다(2030).
사용자 의도에 대응되는 기능을 수행할 수 있으면(2030의 예), 음성 인식 시스템(100)이 해당 기능을 수행하고(2040), 수행할 수 없으면(2030의 아니오), 제어부(130)가 사용자 의도에 대응되는 기능을 수행할 수 있는 다른 음성 인식 시스템을 판단한다(2050).
결정된 다른 음성 인식 시스템에 사용자 의도에 대응되는 기능을 요청하기 위한 비가청 발화를 생성하고(2060), 생성된 비가청 발화를 음성 인식 시스템(100)에 연결된 사용자 단말에 전송한다(2070).
도 13은 일 실시예에 따른 음성 인식 시스템의 제어 방법에 있어서, 사용자 의도에 대응되는 기능을 대신 수행 할 다른 음성 인식 시스템을 결정하는 방법에 관한 순서도이다. 당해 예시에서는, 음성 인식 시스템(100)과 연결된 사용자 단말이 차량(1)인 것으로 한다.
음성 인식 시스템(100)의 메모리에는 전술한 도 5의 예시와 같이, 등록된 다른 음성 인식 시스템에 관한 정보가 저장될 수 있다. 다른 음성 인식 시스템에 관한 정보는 각각의 음성 인식 시스템에 대한 웨이크업 워드와, 수행 가능한 기능, 사용자 단말과의 연결 여부 및 과거 기능 수행 이력 등의 정보 중 적어도 하나를 포함할 수 있다.
다른 음성 인식 시스템의 등록은 설계자에 의해 미리 이루어질 수도 있고, 사용자에 의해 다른 음성 인식 시스템의 등록 및 변경이 이루어질 수도 있으며, 다른 음성 인식 시스템의 기능 수행에 따라 관련 정보가 업데이트될 수도 있다.
제어부(130)는 저장된 다른 음성 인식 시스템에 관한 정보에 기초하여 사용자 의도에 대응되는 기능을 대신 수행 할 다른 음성 인식 시스템, 즉 대체 음성 인식 시스템을 판단할 수 있다. 이 때, 여러 가지 조건들을 단계적으로 판단할 수 있는바, 적용 가능한 다양한 예시들 중 하나에 대해 설명한다.
제어부(130)는 먼저 수행 가능한 기능의 목록에 기초하여 대체 음성 인식 시스템을 결정할 수 있다(2051). 당해 예시에서는 사용자 의도에 대응되는 기능을 수행할 수 있는 다른 음성 인식 시스템이 하나도 없는 경우는 배제하기로 한다.
대체 음성 인식 시스템의 결정이 완료되면(2052의 예), 전술한 과정에 따라, 결정된 대체 음성 인식 시스템에 사용자 의도에 대응되는 기능의 수행을 요청하기 위한 비가청 발화를 생성하여 전송할 수 있다(2060, 2070).
대체 음성 인식 시스템의 결정이 완료되지 않은 경우(2052의 아니오), 다른 조건들을 기초로 하여 추가 판단을 수행할 수 있는바, 여기서 대체 음성 인식 시스템의 결정이 완료되지 않은 경우는 사용자 의도에 대응되는 기능을 수행할 수 있는 다른 음성 인식 시스템이 2 이상 존재하는 경우일 수 있다.
예를 들어, 차량과의 연결 여부에 기초하여 대체 음성 인식 시스템을 결정할 수 있다(2053). 즉, 사용자 의도에 대응되는 기능을 수행할 수 있는 다른 음성 인식 시스템 중에서 차량과 연결된 음성 인식 시스템을 대체 음성 인식 시스템으로 결정할 수 있다.
이러한 추가 판단을 통해 대체 음성 인식 시스템의 결정이 완료되면(2054의 예), 전술한 바와 같이, 결정된 대체 음성 인식 시스템에 사용자 의도에 대응되는 기능의 수행을 요청하기 위한 비가청 발화를 생성하여 전송할 수 있다(2060, 2070).
추가 판단에도 불구하고, 여전히 대체 음성 인식 시스템의 결정이 완료되지 않으면(2054의 아니오), 또 다른 조건을 기초로 하여 추가 판단을 수행할 수 있다.
예를 들어, 과거 기능 수행 이력에 기초하여 대체 음성 인식 시스템을 결정할 수 있다(2055). 구체적으로, 사용자 의도에 대응되는 기능을 수행할 수 있고, 차량(1)에 연결되어 있는 복수의 음성 인식 시스템 중에서 과거에 동일한 기능을 수행한 이력이 있는 음성 인식 시스템이 존재하면, 해당 음성 인식 시스템을 대체 음성 인식 시스템으로 결정할 수 있다.
과거 기능 수행 이력까지 고려했음에도 여전히 조건을 만족하는 음성 인식 시스템이 복수인 경우에는, 순차적으로 비가청 발화를 생성하여 전송할 수 있다. 예를 들어, 임의의 순서에 따라 비가청 발화를 생성하여 차량(1)을 통해 출력하고, 비가청 발화의 수신 대상인 음성 인식 시스템으로부터 응답이 출력되지 않으면 다음 순서의 음성 인식 시스템에 대한 비가청 발화를 생성하여 전송할 수 있다.
다만, 전술한 판단 순서는 음성 인식 시스템의 제어 방법에 적용 가능한 일 예시에 불과하다. 전술한 조건들 중 일부만 판단하는 것도 가능하고, 판단 순서가 변경되는 것도 가능하다.
이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 본 발명이 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안된다.
110: 통신부
120: 음성 처리부
130: 제어부
140: 발화 생성부
100: 음성 인식 시스템

Claims (24)

  1. 사용자 발화에 포함된 사용자 의도를 판단하는 음성 처리부;
    상기 사용자 의도에 대응되는 기능의 수행이 가능한지 여부를 판단하고, 상기 사용자 의도에 대응되는 기능의 수행이 불가능한 경우 적어도 하나의 다른 음성 인식 시스템에 상기 사용자 의도에 대응되는 기능의 수행을 요청하기 위한 발화 텍스트를 생성하는 제어부; 및
    상기 발화 텍스트를 비가청 주파수 대역의 음성 신호로 변환하는 발화 생성부를 포함하는 음성 인식 시스템.
  2. 제 1 항에 있어서,
    상기 제어부는,
    상기 적어도 하나의 다른 음성 인식 시스템을 미리 등록하고, 상기 사용자 의도에 대응되는 기능의 수행이 불가능한 경우 상기 등록된 적어도 하나의 다른 음성 인식 시스템에 상기 사용자 의도에 대응되는 기능의 수행을 요청하기 위한 발화 텍스트를 생성하는 음성 인식 시스템.
  3. 제 1 항에 있어서,
    상기 제어부는,
    상기 사용자 의도에 대응되는 기능을 수행 할 다른 음성 인식 시스템을 결정하고, 상기 판단된 다른 음성 인식 시스템에 상기 사용자 의도에 대응되는 기능의 수행을 요청하기 위한 발화 텍스트를 생성하는 음성 인식 시스템.
  4. 제 3 항에 있어서,
    상기 제어부는,
    복수의 다른 음성 인식 시스템 별로 수행 가능한 기능에 관한 정보를 미리 저장하고, 상기 저장된 정보에 기초하여 상기 사용자 의도에 대응되는 기능을 수행 할 다른 음성 인식 시스템을 판단하는 음성 인식 시스템.
  5. 제 3 항에 있어서,
    상기 제어부는,
    상기 사용자 의도에 대응되는 기능을 다른 음성 인식 시스템이 수행한 이력이 있는 경우, 상기 이력을 가진 다른 음성 인식 시스템을 상기 사용자 의도에 대응되는 기능을 수행 할 다른 음성 인식 시스템으로 결정하는 음성 인식 시스템.
  6. 제 1 항에 있어서,
    상기 제어부는,
    상기 음성 인식 시스템의 사용자 단말과 연결된 다른 음성 인식 시스템이 존재하는 경우, 상기 연결된 다른 음성 인식 시스템에 상기 사용자 의도에 대응되는 기능의 수행을 요청하기 위한 발화 텍스트를 생성하는 음성 인식 시스템.
  7. 제 1 항에 있어서,
    상기 제어부는,
    상기 적어도 하나의 다른 음성 인식 시스템에 대응되는 웨이크업 워드를 포함하여 상기 발화 텍스트를 생성하는 음성 인식 시스템.
  8. 제 7 항에 있어서,
    상기 제어부는,
    상기 사용자 발화와 상기 웨이크업 워드를 결합하여 상기 발화 텍스트를 생성하는 대화 시스템.
  9. 제 8 항에 있어서,
    상기 제어부는,
    상기 적어도 하나의 다른 음성 인식 시스템에 대해 기능 별 샘플 문장을 저장하고, 상기 사용자 의도와 상기 샘플 문장에 기초하여 상기 발화 텍스트를 생성하는 음성 인식 시스템.
  10. 제 1 항에 있어서,
    사용자 단말로부터 상기 사용자 발화를 수신하고, 상기 비가청 주파수 대역의 오디오 신호를 상기 사용자 단말에 전송하는 통신부;를 더 포함하는 음성 인식 시스템.
  11. 제 10 항에 있어서,
    상기 제어부는,
    상기 등록된 적어도 하나의 다른 음성 인식 시스템이 복수인 경우, 상기 복수의 다른 음성 인식 시스템에 각각 대응되는 복수의 비가청 주파수 대역의 오디오 신호를 상기 사용자 단말에 순차적으로 전송하는 음성 인식 시스템.
  12. 제 11 항에 있어서,
    상기 제어부는,
    상기 사용자 단말을 통해 출력된 비가청 주파수 대역의 오디오 신호에 대한 응답이 수신되지 않은 경우, 다음 순서의 비가청 주파수 대역의 오디오 신호를 상기 사용자 단말에 전송하는 음성 인식 시스템.
  13. 사용자 발화에 포함된 사용자 의도를 판단하고;
    상기 사용자 의도에 대응되는 기능의 수행이 가능한지 여부를 판단하고;
    상기 사용자 의도에 대응되는 기능의 수행이 불가능한 경우 다른 음성 인식 시스템에 상기 사용자 의도에 대응되는 기능의 수행을 요청하기 위한 발화 텍스트를 생성하고;
    상기 발화 텍스트를 비가청 주파수 대역의 음성 신호로 변환하는 것;을 포함하는 음성 인식 시스템의 제어 방법.
  14. 제 13 항에 있어서,
    적어도 하나의 다른 음성 인식 시스템을 미리 등록하는 것;을 더 포함하고,
    상기 발화 텍스트를 생성하는 것은,
    상기 사용자 의도에 대응되는 기능의 수행이 불가능한 경우 상기 미리 등록된 적어도 하나의 다른 음성 인식 시스템에 상기 사용자 의도에 대응되는 기능의 수행을 요청하기 위한 발화 텍스트를 생성하는 것;을 포함하는 음성 인식 시스템의 제어 방법.
  15. 제 13 항에 있어서,
    상기 발화 텍스트를 생성하는 것은,
    복수의 다른 음성 인식 시스템 중에서 상기 사용자 의도에 대응되는 기능을 수행 할 다른 음성 인식 시스템을 결정하고;
    상기 결정된 다른 음성 인식 시스템에 상기 사용자 의도에 대응되는 기능의 수행을 요청하기 위한 발화 텍스트를 생성하는 것;을 포함하는 음성 인식 시스템의 제어 방법.
  16. 제 15 항에 있어서,
    상기 복수의 다른 음성 인식 시스템 별로 수행 가능한 기능에 관한 정보를 미리 저장하는 것;을 더 포함하고,
    상기 발화 텍스트를 생성하는 것은,
    상기 저장된 정보에 기초하여 상기 사용자 의도에 대응되는 기능을 수행 할 다른 음성 인식 시스템을 결정하는 것;을 포함하는 음성 인식 시스템의 제어 방법.
  17. 제 15 항에 있어서,
    상기 발화 텍스트를 생성하는 것은,
    상기 사용자 의도에 대응되는 기능을 다른 음성 인식 시스템이 수행한 이력이 있는 경우, 상기 이력을 가진 다른 음성 인식 시스템을 상기 사용자 의도에 대응되는 기능을 수행 할 다른 음성 인식 시스템으로 결정하는 것;을 포함하는 음성 인식 시스템.
  18. 제 13 항에 있어서,
    상기 발화 텍스트를 생성하는 것은,
    상기 음성 인식 시스템의 사용자 단말과 연결된 다른 음성 인식 시스템이 존재하는 경우, 상기 연결된 다른 음성 인식 시스템에 상기 사용자 의도에 대응되는 기능의 수행을 요청하기 위한 발화 텍스트를 생성하는 것;을 포함하는 음성 인식 시스템.
  19. 제 13 항에 있어서,
    상기 발화 텍스트를 생성하는 것은,
    상기 다른 음성 인식 시스템에 대응되는 웨이크업 워드를 포함하여 상기 발화 텍스트를 생성하는 것;을 포함하는 음성 인식 시스템.
  20. 제 19 항에 있어서,
    상기 발화 텍스트를 생성하는 것은,
    상기 사용자 발화와 상기 웨이크업 워드를 결합하여 상기 발화 텍스트를 생성하는 것;을 포함하는 대화 시스템.
  21. 제 20 항에 있어서,
    상기 다른 음성 인식 시스템에 대해 기능 별 샘플 문장을 저장하는 것;을 더 포함하고,
    상기 발화 텍스트를 생성하는 것은,
    상기 저장된 샘플 문장 중 상기 사용자 의도에 대응되는 기능에 대한 샘플 문장에 기초하여 상기 발화 텍스트를 생성하는 것;을 포함하는 음성 인식 시스템.
  22. 제 14 항에 있어서,
    사용자 단말로부터 상기 사용자 발화를 수신하고;
    상기 비가청 주파수 대역의 오디오 신호를 상기 사용자 단말에 전송하는 것;을 더 포함하는 음성 인식 시스템.
  23. 제 22 항에 있어서,
    상기 사용자 단말에 전송하는 것은,
    상기 등록된 적어도 하나의 다른 음성 인식 시스템이 복수인 경우, 상기 복수의 다른 음성 인식 시스템에 각각 대응되는 복수의 비가청 주파수 대역의 오디오 신호를 상기 사용자 단말에 순차적으로 전송하는 것;을 포함하는 음성 인식 시스템.
  24. 제 23 항에 있어서,
    상기 사용자 단말에 전송하는 것은,
    상기 사용자 단말을 통해 출력된 비가청 주파수 대역의 오디오 신호에 대한 응답이 수신되지 않은 경우, 다음 순서의 비가청 주파수 대역의 오디오 신호를 상기 사용자 단말에 전송하는 것;을 포함하는 음성 인식 시스템.
KR1020210034171A 2021-03-16 2021-03-16 음성 인식 시스템 및 그 제어 방법 KR20220129366A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210034171A KR20220129366A (ko) 2021-03-16 2021-03-16 음성 인식 시스템 및 그 제어 방법
US17/539,943 US11955123B2 (en) 2021-03-16 2021-12-01 Speech recognition system and method of controlling the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210034171A KR20220129366A (ko) 2021-03-16 2021-03-16 음성 인식 시스템 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20220129366A true KR20220129366A (ko) 2022-09-23

Family

ID=83283946

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210034171A KR20220129366A (ko) 2021-03-16 2021-03-16 음성 인식 시스템 및 그 제어 방법

Country Status (2)

Country Link
US (1) US11955123B2 (ko)
KR (1) KR20220129366A (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140089862A (ko) * 2013-01-07 2014-07-16 삼성전자주식회사 디스플레이 장치 및 그의 제어 방법
KR101560798B1 (ko) * 2015-02-23 2015-10-16 성균관대학교산학협력단 비가청 주파수대역을 활용한 디바이스의 데이터 통신방법
KR101755648B1 (ko) * 2015-10-23 2017-07-10 도용남 비가청 주파수 대역을 이용한 데이터 송수신 시스템 및 방법
KR102562227B1 (ko) * 2018-06-12 2023-08-02 현대자동차주식회사 대화 시스템, 그를 가지는 차량 및 차량의 제어 방법

Also Published As

Publication number Publication date
US11955123B2 (en) 2024-04-09
US20220301560A1 (en) 2022-09-22

Similar Documents

Publication Publication Date Title
US11237793B1 (en) Latency reduction for content playback
US20210358496A1 (en) A voice assistant system for a vehicle cockpit system
US10332513B1 (en) Voice enablement and disablement of speech processing functionality
JP3479691B2 (ja) 実時間作動での音声対話又は音声命令による1つ又は複数の機器の自動制御方法及びこの方法を実施する装置
CA2546913C (en) Wirelessly delivered owner's manual
KR20210103002A (ko) 감정 정보 기반의 음성 합성 방법 및 장치
JP2007011380A (ja) 自動車インターフェース
CN111301312A (zh) 语音识别系统的会话引导方法
CN109887490A (zh) 用于识别语音的方法和装置
KR20220129366A (ko) 음성 인식 시스템 및 그 제어 방법
KR20230142243A (ko) 대화 처리 방법, 사용자 단말 및 대화 시스템
KR20210098250A (ko) 전자 장치 및 이의 제어 방법
US20220165264A1 (en) Dialogue system, vehicle, and method of controlling dialogue system
JP2020152298A (ja) エージェント装置、エージェント装置の制御方法、およびプログラム
US20230267923A1 (en) Natural language processing apparatus and natural language processing method
JP3846500B2 (ja) 音声認識対話装置および音声認識対話処理方法
KR20230146898A (ko) 대화 처리 방법 및 대화 시스템
KR20230135396A (ko) 대화 관리 방법, 사용자 단말 및 컴퓨터로 판독 가능한 기록 매체
KR20230153854A (ko) 사용자 단말, 사용자 단말의 제어 방법 및 대화 관리 방법
US11527247B2 (en) Computing device and method of operating the same
US20230386455A1 (en) Dialogue System and Method for Controlling the Same
JP7217209B2 (ja) 音声対話装置、音声対話方法、及びプログラム
US20230238020A1 (en) Speech recognition system and a method for providing a speech recognition service
US20240127810A1 (en) Dialogue Management Method, Dialogue Management System, And Computer-Readable Recording Medium
CA2737850C (en) Wirelessly delivered owner's manual

Legal Events

Date Code Title Description
A201 Request for examination