KR20210012266A - 허브 대화 시스템, 허브 대화 시스템의 제어 방법 및 전자 장치 - Google Patents

허브 대화 시스템, 허브 대화 시스템의 제어 방법 및 전자 장치 Download PDF

Info

Publication number
KR20210012266A
KR20210012266A KR1020190089686A KR20190089686A KR20210012266A KR 20210012266 A KR20210012266 A KR 20210012266A KR 1020190089686 A KR1020190089686 A KR 1020190089686A KR 20190089686 A KR20190089686 A KR 20190089686A KR 20210012266 A KR20210012266 A KR 20210012266A
Authority
KR
South Korea
Prior art keywords
user
external
voice signal
hub
input
Prior art date
Application number
KR1020190089686A
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 KR1020190089686A priority Critical patent/KR20210012266A/ko
Priority to US16/691,179 priority patent/US11417326B2/en
Priority to CN201911236761.6A priority patent/CN112309386A/zh
Publication of KR20210012266A publication Critical patent/KR20210012266A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)
  • Machine Translation (AREA)

Abstract

개시된 발명은 하나의 허브 대화 시스템에서 사용자 발화를 처리하여 사용자가 제어하려는 기기와 연동된 외부 대화 시스템에 적합한 명령 문장을 생성하여 출력할 수 있는 허브 대화 시스템, 허브 대화 시스템의 제어 방법 및 전자 장치를 제공한다.
일 실시예에 따른 허브 대화 시스템은, 사용자 발화가 입력되면, 상기 입력된 사용자 발화에 포함된 사용자 의도를 판단하는 음성 처리기; 적어도 하나의 외부 대화 시스템에 대응되는 적어도 하나의 로컬 스피커와 무선 통신으로 연결된 통신부; 및 상기 적어도 하나의 외부 대화 시스템 중에서 상기 사용자 의도에 대응되는 외부 대화 시스템을 결정하고, 상기 사용자 의도를 나타내는 명령 문장을 생성하고, 상기 명령 문장을 음성 신호로 변환하고, 상기 결정된 외부 대화 시스템에 대응되는 로컬 스피커에 상기 음성 신호를 전송하도록 상기 통신부를 제어하는 제어부;를 포함한다.

Description

허브 대화 시스템, 허브 대화 시스템의 제어 방법 및 전자 장치{HUB-DIALOGUE SYSTEM, METHOD FOR CONTROLLING THE SAME AND ELECTRONIC APPARATUS}
개시된 발명은 사용자와 대화를 주고 받을 수 있는 허브 대화 시스템, 허브 대화 시스템의 제어 방법 및 전자 장치에 관한 것이다.
대화 시스템은 사용자의 발화를 인식하고 인식된 발화에 대응되는 서비스를 제공할 수 있는 시스템이다. 최근에는 대화 시스템을 이용한 다양한 종류의 대화 서비스가 제공되고 있는바, 특히 다양한 IoT 기기들이 대화 시스템에 연동되어, 사용자가 IoT 기기를 제어하기 위한 명령을 발화하면 해당 IoT 기기에 연동된 대화 시스템이 사용자 발화를 분석하여 사용자 의도에 따라 IoT 기기를 제어할 수 있다.
그러나, 이러한 대화 시스템들은 접근성에 있어서 폐쇄적인 측면이 있다. 즉, IoT 기기를 판매한 업체 또는 IoT 기기를 판매한 업체와 제휴된 업체에서 제공하는 대화 시스템만이 해당 IoT 기기를 제어할 수 있기 때문에, 사용자는 제어하려는 IoT 기기와 연동된 대화 시스템이 무엇인지 기억하고, 해당 대화 시스템의 호출어와 해당 대화 시스템에 적합한 명령어를 발화해야 한다. 이는 사용자의 편의성을 저하시키는 요인이 된다.
개시된 발명은 하나의 허브 대화 시스템에서 사용자 발화를 처리하여 사용자가 제어하려는 기기와 연동된 외부 대화 시스템에 적합한 명령 문장을 생성하여 출력할 수 있는 허브 대화 시스템, 허브 대화 시스템의 제어 방법 및 전자 장치를 제공한다.
일 실시예에 따른 허브 대화 시스템은, 사용자 발화가 입력되면, 상기 입력된 사용자 발화에 포함된 사용자 의도를 판단하는 음성 처리기; 적어도 하나의 외부 대화 시스템에 대응되는 적어도 하나의 로컬 스피커와 무선 통신으로 연결된 통신부; 및 상기 적어도 하나의 외부 대화 시스템 중에서 상기 사용자 의도에 대응되는 외부 대화 시스템을 결정하고, 상기 사용자 의도를 나타내는 명령 문장을 생성하고, 상기 명령 문장을 음성 신호로 변환하고, 상기 결정된 외부 대화 시스템에 대응되는 로컬 스피커에 상기 음성 신호를 전송하도록 상기 통신부를 제어하는 제어부;를 포함한다.
상기 적어도 하나의 로컬 스피커는, 상기 적어도 하나의 로컬 스피커에서 출력되는 음성 신호가 상기 대응되는 외부 대화 시스템의 마이크에 입력될 수 있는 위치에 마련될 수 있다.
상기 허브 대화 시스템은, 적어도 하나의 사용자 의도 별로 상기 사용자 의도를 나타내는 상기 명령 문장을 매칭시켜 저장하는 저장부;를 더 포함할 수 있다.
상기 제어부는, 상기 명령 문장의 등록을 위해 입력된 사용자 발화를 음성 신호로 변환하고, 상기 통신부를 제어하여 상기 음성 신호를 상기 로컬 스피커에 전송할 수 있다.
상기 통신부는, 상기 적어도 하나의 외부 대화 시스템에 대응되는 적어도 하나의 로컬 마이크와 무선 통신으로 연결되고, 상기 적어도 하나의 로컬 마이크로부터 상기 적어도 하나의 외부 대화 시스템에서 출력되는 시스템 응답을 입력 받을 수 있다.
상기 제어부는, 상기 입력된 시스템 응답에 기초하여 상기 음성 신호가 상기 적어도 하나의 외부 대화 시스템에 의해 인식 가능한지 여부를 판단할 수 있다.
상기 제어부는, 상기 음성 신호가 상기 적어도 하나의 외부 대화 시스템에 의해 인식 가능하지 않으면, 사용자 발화를 다시 요청할 수 있다.
상기 제어부는, 다시 입력된 사용자 발화를 음성 신호로 변환하고, 상기 통신부를 제어하여 상기 음성 신호를 상기 로컬 스피커에 전송할 수 있다.
상기 제어부는, 상기 음성 신호가 상기 적어도 하나의 외부 대화 시스템에 의해 인식 가능하면, 상기 사용자 발화에 포함된 문장을 상기 사용자 의도에 대응되는 명령 문장으로 저장할 수 있다.
상기 제어부는, 상기 적어도 하나의 외부 대화 시스템을 상기 허브 대화 시스템에 등록할 때, 사용자에게 상기 사용자 의도를 나타내는 명령 문장을 요청하고, 상기 사용자로부터 입력된 명령 문장을 상기 사용자 의도에 매칭시켜 상기 저장부에 저장할 수 있다.
일 실시예에 따른 허브 대화 시스템의 제어 방법은, 사용자 발화가 입력되면, 상기 입력된 사용자 발화에 포함된 사용자 의도를 판단하고; 허브 대화 시스템에 등록된 적어도 하나의 외부 대화 시스템 중에서 상기 사용자 의도에 대응되는 외부 대화 시스템을 결정하고; 상기 사용자 의도를 나타내는 명령 문장을 생성하고; 상기 명령 문장을 음성 신호로 변환하고; 상기 결정된 외부 대화 시스템에 대응되는 로컬 스피커에 상기 음성 신호를 전송하는 것;을 포함한다.
상기 적어도 하나의 로컬 스피커는, 상기 적어도 하나의 로컬 스피커에서 출력되는 음성 신호가 상기 대응되는 외부 대화 시스템의 마이크에 입력될 수 있는 위치에 마련될 수 있다.
상기 방법은, 적어도 하나의 사용자 의도 별로 상기 사용자 의도를 나타내는 상기 명령 문장을 매칭시켜 저장하는 것;을 더 포함할 수 있다.
상기 방법은, 상기 명령 문장의 등록을 위해 입력된 사용자 발화를 음성 신호로 변환하고; 상기 음성 신호를 상기 로컬 스피커에 전송하는 것;을 더 포함할 수 있다.
상기 방법은, 상기 적어도 하나의 외부 대화 시스템에 대응되는 적어도 하나의 로컬 마이크로부터 상기 적어도 하나의 외부 대화 시스템에서 출력되는 시스템 응답을 입력 받는 것;을 더 포함할 수 있다.
상기 방법은, 상기 입력된 시스템 응답에 기초하여 상기 음성 신호가 상기 적어도 하나의 외부 대화 시스템에 의해 인식 가능한지 여부를 판단하는 것;을 더 포함할 수 있다.
상기 방법은, 상기 음성 신호가 상기 적어도 하나의 외부 대화 시스템에 의해 인식 가능하지 않으면, 사용자 발화를 다시 요청하는 것;을 더 포함할 수 있다.
상기 방법은, 다시 입력된 사용자 발화를 음성 신호로 변환하고, 상기 통신부를 제어하여 상기 음성 신호를 상기 로컬 스피커에 전송하는 것;을 더 포함할 수 있다.
상기 방법은, 상기 음성 신호가 상기 적어도 하나의 외부 대화 시스템에 의해 인식 가능하면, 상기 사용자 발화에 포함된 문장을 상기 사용자 의도에 대응되는 명령 문장으로 저장하는 것;을 더 포함할 수 있다.
상기 적어도 하나의 사용자 의도 별로 상기 사용자 의도를 나타내는 상기 명령 문장을 매칭시켜 저장하는 것은, 상기 적어도 하나의 외부 대화 시스템을 상기 허브 대화 시스템에 등록할 때, 사용자에게 사용자 의도를 나타내는 명령 문장을 요청하고, 상기 사용자로부터 입력된 명령 문장을 상기 사용자 의도에 매칭시켜 상기 저장부에 저장하는 것;을 포함할 수 있다.
일 실시예에 따른 전자 장치는, 하나 이상의 프로그램이 저장되는 메모리; 및 상기 저장된 프로그램을 실행하는 프로세서;를 포함하고, 상기 프로그램은, 사용자 발화가 입력되면, 상기 입력된 사용자 발화에 포함된 사용자 의도를 판단하고; 허브 대화 시스템에 등록된 적어도 하나의 외부 대화 시스템 중에서 상기 사용자 의도에 대응되는 외부 대화 시스템을 결정하고; 상기 사용자 의도를 나타내는 명령 문장을 생성하고; 상기 명령 문장을 음성 신호로 변환하고; 상기 결정된 외부 대화 시스템에 대응되는 로컬 스피커에 상기 음성 신호를 전송하는 것;을 포함한다.
일 측면에 따른 허브 대화 시스템, 허브 대화 시스템의 제어 방법 및 전자 장치에 의하면, 허브 대화 시스템이 사용자 발화를 처리하여 사용자가 제어하려는 기기와 연동된 외부 대화 시스템에 적합한 명령 문장을 생성하여 출력하기 때문에 사용자는 하나의 대화 시스템을 이용하여 다양한 기기를 제어할 수 있게 된다.
도 1 은 일 실시예에 따른 허브 대화 시스템과 다른 외부 대화 시스템 사이의 관계를 예시적으로 나타낸 도면이다.
도 2는 일 실시예에 따른 허브 대화 시스템의 제어 블록도이다.
도 3은 일 실시예에 따른 허브 대화 시스템이 외부 대화 시스템과 연결되는 방식을 나타낸 도면이다.
도 4 및 도 5는 일 실시예에 따른 허브 대화 시스템의 저장부에 저장되는 정보의 예시를 나타내는 도면이다.
도 6 내지 도 8은 일 실시예에 따른 허브 대화 시스템에 외부 대화 시스템을 등록하는 과정을 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 허브 대화 시스템의 제어방법에 관한 순서도이다.
도 10은 일 실시예에 따른 허브 대화 시스템의 제어 방법에 있어서, 사용자 의도에 대응되는 명령 문장을 등록하는 과정을 나타낸 순서도이다.
본 명세서에 기재된 실시예와 도면에 도시된 구성은 개시된 발명의 바람직한 일 예이며, 본 출원의 출원시점에 있어서 본 명세서의 실시예와 도면을 대체할 수 있는 다양한 변형 예들이 있을 수 있다.
또한, 본 명세서에서 사용한 용어는 실시예를 설명하기 위해 사용된 것으로, 개시된 발명을 제한 및/또는 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다", "구비하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는다.
또한, "~부", "~기", "~블록", "~부재", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 예를 들어, 상기 용어들은 FPGA(field-programmable gate array)/ASIC(application specific integrated circuit) 등 적어도 하나의 하드웨어, 메모리에 저장된 적어도 하나의 소프트웨어 또는 프로세서에 의하여 처리되는 적어도 하나의 프로세스를 의미할 수 있다.
각 단계들에 붙여지는 부호는 각 단계들을 식별하기 위해 사용되는 것으로 이들 부호는 각 단계들 상호 간의 순서를 나타내는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 실시될 수 있다.
한편, 개시된 실시예들은 컴퓨터에 의해 실행 가능한 명령어를 저장하는 기록매체의 형태로 구현될 수 있다. 명령어는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 프로그램 모듈을 생성하여 개시된 실시예들의 동작을 수행할 수 있다. 기록매체는 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.
컴퓨터가 읽을 수 있는 기록매체로는 컴퓨터에 의하여 해독될 수 있는 명령어가 저장된 모든 종류의 기록 매체를 포함한다. 예를 들어, ROM(Read Only Memory), RAM(Random Access Memory), 자기 테이프, 자기 디스크, 플래쉬 메모리, 광 데이터 저장장치 등이 있을 수 있다.
이하에서는 첨부된 도면을 참조하여 일 측면에 따른 허브 대화 시스템, 허브 대화 시스템의 제어 방법 및 전자 장치에 관한 실시예를 상세하게 설명하도록 한다.
도 1 은 일 실시예에 따른 허브 대화 시스템과 다른 외부 대화 시스템 사이의 관계를 예시적으로 나타낸 도면이다.
당해 실시예에서는 일 실시예에 따른 허브 대화 시스템(100)을 제외한 다른 대화 시스템들은 외부 대화 시스템이라 칭하기로 한다.
도 1의 예시에 따르면, 외부 대화 시스템 A(10)는 복수의 전자 기기(E)와 연동되어 복수의 전자 기기(E)를 제어하기 위한 사용자 발화를 처리하고, 사용자 발화에 포함된 사용자 의도에 따라 복수의 전자 기기(E)를 제어할 수 있다.
외부 대화 시스템 A(10)에 연동된 복수의 전자 기기는 외부 대화 시스템 A(10)와 인터넷을 통해 연결되어 네트워크를 형성하는바, 이들을 IoT(Internet of Things) 기기라 칭하기도 한다.
외부 대화 시스템 A(10)와 연동되는 복수의 전자 기기(E)는 세탁기, 냉장고, 에어컨, TV, 공기 청정기, 로봇 청소기, PC 등과 같은 가전 기기 중에서 선택될 수 있다.
여기서, 대화 시스템에 전자 기기가 연동되었다는 것은, 대화 시스템에 전자 기기가 등록되어 사용자가 해당 전자 기기를 제어하기 위한 명령을 발화했을 때 발화된 명령에 대응되는 제어 신호를 해당 전자 기기에 전송할 수 있는 상태에 있는 것을 의미할 수 있다. 다른 대화 시스템에도 동일한 설명이 적용될 수 있다.
외부 대화 시스템 B(20) 역시 복수의 전자 기기(E)와 연동되어 복수의 전자 기기(E)를 제어하기 위한 사용자 발화를 처리하고, 사용자 발화에 포함된 사용자 의도에 따라 복수의 전자 기기(E)를 제어할 수 있다.
외부 대화 시스템 B(20)와 연동된 복수의 전자 기기(E)는 외부 대화 시스템 A(10)와 연동된 복수의 전자 기기(E)와 다른 종류의 전자 기기(E)일 수 있다. 예를 들어, 외부 대화 시스템 A(10)와 연동된 복수의 전자 기기(E)는 세탁기와 에어컨을 포함하고, 외부 대화 시스템(B(20)와 연동된 복수의 전자 기기(E)는 로봇 청소기와 냉장고를 포함할 수 있다.
다만, 허브 대화 시스템(100)의 실시예가 이에 한정되는 것은 아닌바, 서로 다른 외부 대화 시스템들에 연동된 전자 기기가 일부 겹치는 것도 가능하다.
외부 대화 시스템 C(30)는 전자 기기와 연동되지 않고 사용자가 요청하는 정보를 제공할 수 있다. 예를 들어, 외부 대화 시스템 C(30)는 검색 서버를 포함하거나, 외부 검색 서버와 연결되어 사용자가 요청하는 정보를 검색 서버로부터 가져올 수 있다.
또한, 외부 대화 시스템 D(40)는 차량(V)과 연동되어 차량(V)을 제어하기 위한 사용자 발화를 처리하고, 사용자 발화에 포함된 사용자 의도에 따라 차량(V)에 제어 신호를 전송할 수 있다.
전술한 바와 같이, 외부 대화 시스템(10, 20, 30, 40)마다 연동되어 있는 기기가 다르고, 대화 서비스를 활성화시키기 위한 호출어도 다르다. 또한, 기기 제어를 위해 인식할 수 있는 명령 문장들에도 차이가 있다. 따라서, 후술하는 허브 대화 시스템(100)을 사용하지 않는다면, 사용자는 제어하고자 하는 기기가 어느 대화 시스템에 연동되어 있는지, 해당 대화 시스템의 호출어가 무엇인지, 해당 대화 시스템에 적절한 명령 문장이 무엇인지 등을 모두 기억하고, 기기를 제어할 때마다 대응되는 대화 시스템에, 적절한 호출어와 적절한 명령 문장을 사용하여 발화를 입력해야 한다.
그러나, 일 실시예에 따른 허브 대화 시스템(100)에 의하면, 사용자는 제어하고자 하는 기기가 어느 대화 시스템에 연동되어 있는지 여부를 신경쓰지 않고 원하는 서비스를 제공받기 위한 발화를 입력하기만 하면, 허브 대화 시스템(100)이 사용자가 원하는 서비스를 제공할 수 있는 외부 대화 시스템을 선택하고, 선택된 외부 대화 시스템에 적절한 명령 문장을 생성하여 입력할 수 있다.
도 2는 일 실시예에 따른 허브 대화 시스템의 제어 블록도이고, 도 3은 일 실시예에 따른 허브 대화 시스템이 외부 대화 시스템과 연결되는 방식을 나타낸 도면이다.
도 2 를 참조하면, 일 실시예에 따른 허브 대화 시스템(100)은 사용자 발화가 입력되면, 상기 입력된 사용자 발화에 포함된 사용자 의도를 판단하는 음성 처리기(110); 적어도 하나의 외부 대화 시스템에 대응되는 적어도 하나의 로컬 스피커와 무선 통신으로 연결된 통신부(130); 및 적어도 하나의 외부 대화 시스템 중에서 사용자 의도에 대응되는 외부 대화 시스템을 결정하고, 사용자 의도를 나타내는 명령 문장을 생성하고, 생성된 명령 문장을 음성 신호로 변환하고, 결정된 외부 대화 시스템에 대응되는 로컬 스피커(S)에 음성 신호를 전송하도록 통신부(130)를 제어하는 제어부(120);를 포함한다. 또한, 허브 대화 시스템(100)의 동작을 수행하기 위해 필요한 각종 정보를 저장하는 저장부(140)도 포함할 수 있다.
사용자는 사용자 단말기를 통해 허브 대화 시스템(100)에 접속할 수 있다. 사용자는 원하는 서비스를 요청하기 위해 사용자 단말기에 마련된 마이크에 사용자 발화를 입력할 수 있다.
사용자 단말기는, 스마트 폰과 같은 모바일 기기, PC 또는 AI 스피커일 수도 있고, 차량일 수도 있다. 사용자 발화를 입력 받아 허브 대화 시스템(100)에 전달할 수만 있으면 되고, 사용자 단말기의 종류에 대해서 다른 제한은 두지 않는다. 사용자 단말기 또는 마이크가 허브 대화 시스템(100)에 포함될 수도 있음은 물론이다.
음성 처리기(110)는 마이크를 통해 입력되는 사용자 발화를 텍스트로 변환하는STT(Speech to Text) 엔진과 텍스트를 분석하여 사용자 발화에 포함된 사용자 의도를 판단하는 대화 관리기를 포함할 수 있다.
대화 관리기는 텍스트에 자연어 이해 기술(Natural Language Understanding)을 적용하여 사용자 발화에 대응되는 사용자 의도를 파악할 수 있다.
구체적으로, 대화 관리기는 텍스트 형태의 사용자 발화에 대해 형태소 분석을 수행하여 입력 문자열을 형태소열로 바꿔준다. 또한, 대화 관리기는 사용자 발화로부터 개체명을 인식할 수 있다. 개체명은 인명, 지명, 조직명, 시간, 날짜, 화폐 등의 고유 명사로서, 개체명 인식은 문장에서 개체명을 식별하고 식별된 개체명의 종류를 결정하는 작업이다. 개체명 인식을 통해 문장에서 중요한 키워드를 추출하여 문장의 의미를 파악할 수 있다.
대화 관리기는 사용자 발화로부터 도메인을 추출할 수 있다. 도메인은 사용자가 발화한 언어의 주제를 식별할 수 있는 것으로서, 예를 들어, 제어 대상인 기기의 종류가 도메인이 될 수 있다. 따라서, 냉장고, 에어컨, TV, 로봇 청소기, 공기 청정기, 세탁기, PC 등의 전자 기기가 도메인이 될 수 있다. 이 밖에도, 문자, 내비게이션, 일정, 날씨, 교통, 차량 제어 등의 다양한 주제를 포함하는 도메인이 데이터베이스화 되어 저장부(140)에 저장될 수 있다.
대화 관리기는 사용자 발화가 갖는 화행을 분석할 수 있다. 화행 분석은 사용자 발화의 의도를 분석하는 작업으로, 사용자가 질문을 하는 것인지, 요청을 하는 것인지, 응답을 하는 것인지, 단순한 감정 표현을 하는 것인지 등의 발화의 의도를 파악하는 것이다.
대화 관리기는 사용자 발화에 대응되는 도메인, 개체명, 화행 등의 정보에 기초하여 사용자 의도를 파악하고, 사용자 의도에 대응되는 액션을 추출할 수 있다. 액션은 오브젝트(Object)와 오퍼레이터(Operator)에 의해 정의될 수 있다.
예를 들어, 파악된 사용자 의도가 [에어컨 실행]인 경우에 그에 대응되는 액션은 『에어컨(오브젝트)_ON(오퍼레이터)』으로 정의될 수 있고, 파악된 사용자 의도가 [로봇청소기 실행]인 경우에 그에 대응되는 액션은 『로봇청소기(오브젝트)_실행(오퍼레이터)』으로 정의될 수 있다.
제어부(120)는 복수의 외부 대화 시스템(10, 20, 30, 40) 중에서 음성 처리기(110)에서 판단한 사용자 의도에 대응되는 외부 대화 시스템을 결정할 수 있다. 다만, 여기서 외부 대화 시스템의 개수는 전술한 도 1의 예시에 기초한 것으로서, 이보다 더 적은 개수 또는 더 많은 개수의 외부 대화 시스템이 사용되는 것도 가능함은 물론이다.
제어부(120)는 사용자가 원하는 서비스를 제공할 수 있는 외부 대화 시스템을 결정할 수 있다. 이에 관한 구체적인 설명은 후술하기로 한다.
제어부(120)는 사용자 의도를 나타내는 명령 문장을 생성하고, 생성된 명령 문장을 음성 신호로 변환할 수 있다. 사용자 의도를 나타내는 명령 문장은 사용자가 원하는 서비스를 제공할 수 있는 외부 대화 시스템이 인식 가능한 문장일 수 있다. 예를 들어, 사용자 발화가 외부 대화 시스템이 인식 가능한 언어가 아닌 경우에는, 외부 대화 시스템이 인식 가능한 언어로 명령 문장을 생성할 수도 있다. 사용자 발화가 사용자가 원하는 서비스를 제공할 수 있는 외부 대화 시스템이 인식 가능한 문장을 포함하는 경우에는 해당 문장을 그대로 음성 신호로 변환할 수 있다.
제어부(120)가 명령 문장을 음성 신호로 변환하기 위해 TTS(Text to Speech) 엔진을 포함할 수 있다. TTS 엔진은 생성된 명령 문장을 음성 신호로 변환할 수 있고, 통신부(130)는 앞서 결정된 외부 대화 시스템에 대응되는 로컬 스피커(S)에 음성 신호를 전송할 수 있다.
도 3을 참조하면, 각각의 외부 대화 시스템마다 그에 대응되는 로컬 스피커가 마련될 수 있다. 예를 들어, 외부 대화 시스템 A(10)에는 그에 대응되는 로컬 스피커A(S_A)가 마련될 수 있고, 외부 대화 시스템 B(20)에는 그에 대응되는 로컬 스피커B(S_B)가 마련될 수 있고, 외부 대화 시스템 C(30)에는 그에 대응되는 로컬 스피커C(S_C)가 마련될 수 있고, 외부 대화 시스템 D(40)에는 그에 대응되는 로컬 스피커D(S_D)가 마련될 수 있다.
전술한 바와 같이 허브 대화 시스템(100)과 접속하기 위해 사용자가 사용자 단말기에 마련된 마이크를 이용하는 것처럼, 각각의 외부 대화 시스템도 사용자와 연결되기 위한 마이크를 구비하고 있다.
따라서, 일 실시예에 따른 허브 대화 시스템(100)은 각각의 외부 대화 시스템의 마이크에 대응되는 위치에 마련된 로컬 스피커(S)를 포함할 수 있다. 여기서, 외부 대화 시스템의 마이크에 대응되는 위치는 로컬 스피커(S)에서 출력되는 음성 신호가 외부 대화 시스템의 마이크에 입력될 수 있는 위치를 의미할 수 있다.
구체적으로, 외부 대화 시스템 A(10)에 대응되는 로컬 스피커 A(S_A)는 로컬 스피커 A(S_A)에서 출력되는 음성 신호가 외부 대화 시스템 A(10)의 마이크에 입력될 수 있는 위치에 배치되고, 외부 대화 시스템 B(20)에 대응되는 로컬 스피커 B(S_B)는 로컬 스피커 B(S_B)에서 출력되는 음성 신호가 외부 대화 시스템 B(20)의 마이크에 입력될 수 있는 위치에 배치되고, 외부 대화 시스템 C(30)에 대응되는 로컬 스피커 C(S_C)는 로컬 스피커 C(S_C)에서 출력되는 음성 신호가 외부 대화 시스템 C(30)의 마이크에 입력될 수 있는 위치에 배치되고, 외부 대화 시스템 D(40)에 대응되는 로컬 스피커 D(S_D)는 로컬 스피커 D(S_D)에서 출력되는 음성 신호가 외부 대화 시스템 D(40)의 마이크에 입력될 수 있는 위치에 배치될 수 있다.
예를 들어, 사용자가 원하는 서비스, 즉 사용자 의도가 에어컨의 제어인 경우에, 사용자는 에어컨과 연동된 외부 대화 시스템이 무엇인지에 상관없이 에어컨을 제어하기 위한 사용자 발화를 허브 대화 시스템(100)에 입력하기만 하면 되고, 허브 대화 시스템(100)이 에어컨과 연동된 외부 대화 시스템이 외부 대화 시스템 A(10)인 것으로 판단할 수 있다. 허브 대화 시스템(100)은 외부 대화 시스템 A(10)에서 인식 가능한 명령 문장을 생성하고, 이를 음성 신호로 변환하여 로컬 스피커 A(S_A)에 출력함으로써, 마치 사용자가 외부 대화 시스템 A(10)의 마이크에 명령 문장을 발화한 것과 같은 효과를 얻을 수 있다.
이와 같은 방식으로, 허브 대화 시스템(100)은 다른 외부 대화 시스템들과 별도의 제휴나 계약 관계가 없더라도 다른 외부 대화 시스템과 연동된 다양한 기기들을 사용자 의도에 따라 제어할 수 있다.
도 4 및 도 5는 일 실시예에 따른 허브 대화 시스템의 저장부에 저장되는 정보의 예시를 나타내는 도면이다.
저장부(140)에는 제어부(120)가 사용자 의도에 대응되는 외부 대화 시스템을 결정하기 위해 사용되는 정보가 저장될 수 있다. 전술한 바와 같이, 음성 처리기(110)는 사용자 발화에 포함된 사용자 의도를 판단하고, 사용자 의도에 대응되는 도메인, 액션 등을 추출할 수 있다.
저장부(140)에는 도메인 별로, 그에 대응되는 외부 대화 시스템의 정보와 해당 외부 대화 시스템에 대응되는 로컬 스피커의 정보가 매칭되어 저장될 수 있다.
도 4의 예시에 따르면, 도메인 『에어컨』에는 에어컨과 연동된 외부 대화 시스템 A(10)에 관한 정보 및 외부 대화 시스템 A(10)에 할당된 로컬 스피커 A(S_A)에 관한 정보가 매칭되어 저장될 수 있다. 로컬 스피커 A(S_A)에 관한 정보는 로컬 스피커 A(S_A)의 시리얼 넘버, IP 주소 등을 포함할 수 있다.
도메인 『TV』에는 TV와 연동된 외부 대화 시스템 B(20)에 관한 정보 및 외부 대화 시스템 B(20)에 할당된 로컬 스피커 B(S_B)에 관한 정보가 매칭되어 저장될 수 있다.
도메인 『로봇 청소기』에는 로봇 청소기와 연동된 외부 대화 시스템 A(10)에 관한 정보 및 외부 대화 시스템 A(10)에 할당된 로컬 스피커 A(S_A)에 관한 정보가 매칭되어 저장될 수 있다.
도메인 『세탁기』에는 세탁기와 연동된 외부 대화 시스템 B(20)에 관한 정보 및 외부 대화 시스템 B(20)에 할당된 로컬 스피커 B(S_B)에 관한 정보가 매칭되어 저장될 수 있다.
도메인 『전등』에는 전등과 연동된 외부 대화 시스템 C(30)에 관한 정보 및 외부 대화 시스템 C(30)에 할당된 로컬 스피커 C(S_C)에 관한 정보가 매칭되어 저장될 수 있다.
도메인 『컴퓨터』에는 컴퓨터와 연동된 외부 대화 시스템 D(40)에 관한 정보 및 외부 대화 시스템 D(40)에 할당된 로컬 스피커 D(S_D)에 관한 정보가 매칭되어 저장될 수 있다.
나머지 도메인들에 대해서도 같은 방식의 설명이 적용될 수 있다.
또한, 저장부(140)에는 제어부(120)가 사용자 의도를 나타내는 명령 문장을 생성하기 위해 사용되는 정보가 저장될 수 있다. 구체적으로, 저장부(140)는 사용자 의도 별로 해당 사용자 의도를 나타내는 명령 문장을 매칭시켜 저장할 수 있다. 여기서, 사용자 의도를 나타내는 명령 문장은 해당 사용자 의도에 대응되는 외부 대화 시스템에서 인식 가능한 문장의 형태로 생성될 수 있다.
당해 예시에서는 사용자 의도를 그에 대응되는 액션으로 표시하기로 한다. 도 5의 예시에 따르면, 사용자 의도 『에어컨_ON』에 대응되는 명령 문장으로는 "에어컨 켜줘"가 저장되고, 사용자 의도 『에어컨_OFF』에 대응되는 명령 문장으로는 "에어컨 꺼줘"가 저장되고, 사용자 의도 『세탁기_실행(표준모드)』에 대응되는 명령 문장으로는 "세탁기 표준모드로 동작시켜줘"가 저장되고, 사용자 의도 『거실등_ON』에 대응되는 명령 문장으로는 "거실등 켜줘"가 저장되고, 사용자 의도 『거실등_OFF』에 대응되는 명령 문장으로는 "거실등 꺼줘"가 저장될 수 있다.
예를 들어, 허브 대화 시스템(100)에 입력된 사용자 발화가 "너무 덥다"인 경우, 음성 처리기(110)는 사용자 발화에 포함된 사용자 의도를 [에어컨 실행]인 것으로 판단할 수 있고, 사용자 의도에 대응되는 도메인은 『에어컨』, 액션은 『에어컨_ON』이 될 수 있다.
제어부(120)는 도 4에 도시된 바와 같이 저장부(140)에 저장된 정보에 기초하여, 사용자 의도에 대응되는 외부 대화 시스템을 외부 대화 시스템 A(10)로 결정하고, 도 5에 도시된 정보에 기초하여 사용자 의도를 나타내는 명령 문장으로 "에어컨 켜줘"를 생성할 수 있다.
제어부(120)는 TTS 엔진을 이용하여 "에어컨 켜줘"를 음성 신호로 변환하고, 통신부(130)를 통해 "에어컨 켜줘"의 음성 신호를 로컬 스피커 A(S_A)로 전송할 수 있다.
로컬 스피커 A(S_A)는 음성 신호 "에어컨 켜줘"를 출력하여 외부 대화 시스템 A(10)의 마이크에 입력할 수 있다.
한편, 외부 대화 시스템마다 해당 대화 시스템을 활성화시키기 위한 호출어를 가질 수 있다. 따라서, 저장부(140)에는 외부 대화 시스템 별로 호출어를 매칭시켜 저장할 수 있는 바, 도메인 별로 그에 대응되는 외부 대화 시스템의 호출어를 매칭시켜 저장할 수도 있고, 사용자 의도 별로 그에 대응되는 외부 대화 시스템의 호출어를 매칭시켜 저장할 수도 있다. 호출어를 어디에 매칭시켜 저장하는지에 대해서는 제한을 두지 않는다.
제어부(120)는 명령 문장의 앞에 해당 외부 대화 시스템의 호출어를 추가할 수 있다. 따라서, 사용자는 허브 대화 시스템(100)의 호출어만 발화하면 되고, 원하는 서비스마다 필요한 호출어를 기억하거나 발화하지 않아도 된다.
일 실시예에 따른 허브 대화 시스템(100)은 전술한 동작 및 후술하는 동작을 수행하는 프로그램 및 관련 데이터를 저장하는 적어도 하나의 메모리와 저장된 프로그램을 실행하는 적어도 하나의 프로세서를 포함할 수 있다.
음성 처리기(110) 및 제어부(120)가 각각 별도의 메모리와 프로세서를 사용하는 것도 가능하고, 이들 중 일부 또는 전부가 메모리와 프로세서를 공유하는 것도 가능하다.
또한, 제어부(120)의 TTS 엔진이 별도의 메모리와 프로세서를 사용하는 것도 가능하다.
또한, 저장부(140)는 ROM(Read Only Memory), EPROM(Erasable Programmable Read Only Memory), EEPROM(Electrically Erasable Programmable Read only Memory), 플래시 메모리 등과 같은 비휘발성 메모리를 포함할 수 있고, S-RAM (Static Random Access Memory), D-RAM(Dynamic Random Access Memory) 등의 휘발성 메모리를 더 포함할 수도 있다. 저장되는 정보의 종류에 따라 비휘발성 메모리에 저장될 수도 있고, 휘발성 메모리에 저장될 수도 있다. 예를 들어, 전술한 도 4 및 도 5에 도시된 정보는 비휘발성 메모리에 저장될 수 있다.
저장부(140)는 음성 처리기(110) 및 제어부(120)와 메모리를 공유할 수도 있고, 별개의 메모리를 사용할 수도 있다.
통신부(130)는 사용자 단말기(200, 도 6 참조) 및 로컬 스피커(S)와 무선 통신을 통해 신호를 주고 받기 위해 다양한 무선 통신 모듈 중 적어도 하나를 포함할 수 있다. 예를 들어, 와이파이(Wifi), 와이브로(Wireless broadband), GSM(Global System for Mobile Communication), CDMA(Code Division Multiple Access), WCDMA(Wideband Code Division Multiple Access), UMTS(Universal Mobile Telecommunications System), TDMA(Time Division Multiple Access), LTE(Long Term Evolution), 4세대 이동통신, 5세대 이동통신 등과 같은 무선 통신 방식으로 인터넷망과 연결될 수 있는 다양한 무선 통신 모듈 중 적어도 하나를 포함할 수 있다.
또한, 통신부(130)가 로컬 스피커(S)에 명령 문장을 나타내는 음성 신호를 전송함에 있어서, 사용자 단말기(200)를 통하는 것도 가능하다. 예를 들어, 사용자 단말기(200)가 모바일 기기로 구현되는 경우, 사용자 단말기(200)는 허브 대화 시스템(100)과 인터넷망을 통해 연결되고 로컬 스피커(S)와 블루투스 통신과 같은 근거리 통신 방식에 의해 연결될 수 있다. 사용자 단말기(200)가 허브 대화 시스템(100)으로부터 명령 문장을 나타내는 음성 신호를 수신하면, 수신된 음성 신호를 로컬 스피커(S)에 전송할 수 있다.
일 실시예에 따른 대화 시스템(100)은 서버로 구현될 수 있고, 이 경우 대화 시스템(100)의 구성요소들(110, 120, 130, 140)은 서버에 마련될 수 있다. 그러나, 대화 시스템(100)의 구성요소들(110, 120, 130, 140) 중 일부가 사용자 단말기(200)에 마련되는 것도 가능하다.
도 6 내지 도 8은 일 실시예에 따른 허브 대화 시스템에 외부 대화 시스템을 등록하는 과정을 설명하기 위한 도면이다.
허브 대화 시스템(100)이 전술한 바와 같이 사용자 의도에 대응되는 외부 대화 시스템을 결정하고, 결정된 외부 대화 시스템에 적합한 명령 문장을 생성하여 해당 외부 대화 시스템의 마이크에 입력하기 위해, 허브 대화 시스템(100)의 외부 대화 시스템을 등록하는 과정을 거칠 수 있다.
먼저, 사용자가 등록하려는 외부 대화 시스템의 마이크에 대응되는 위치에 로컬 스피커(S)를 배치한다. 일 예로, 로컬 스피커(S)가 소형 무선 스피커로 구현되는 경우에 로컬 스피커(S)를 외부 대화 시스템의 마이크에 부착할 수 있다.
도 6에 도시된 바와 같이, 사용자는 사용자 단말기(200) 상에서 허브 대화 시스템(100)과 접속하기 위한 어플리케이션을 실행할 수 있다. 사용자는 해당 어플리케이션의 실행을 통해 허브 대화 시스템(100)에 접속할 수 있다. 어플리케이션은 사용자가 다운로드하여 설치할 수도 있고, 사용자 단말기(200)에 디폴트로 설치될 수도 있다.
허브 대화 시스템(100)은 사용자 단말기(200)를 통해 등록 가능한 외부 대화 시스템의 리스트를 표시할 수 있고, 사용자는 표시된 리스트 중에서 등록을 원하는 외부 대화 시스템을 선택할 수 있다.
도 7에 도시된 바와 같이, 허브 대화 시스템(100)은 사용자 단말기(200)를 통해 선택된 외부 대화 시스템에 대응되는 로컬 스피커(S)에 대한 정보를 요청할 수 있다. 예를 들어, 로컬 스피커(S)를 식별할 수 있는 시리얼 넘버의 입력을 요청할 수 있다.
허브 대화 시스템(100)은 통신부(130)를 통해 사용자 단말기(200)로부터 사용자가 등록을 원하는 외부 대화 시스템 및 해당 외부 대화 시스템에 대응되는 로컬 스피커의 정보를 수신할 수 있다.
또한, 사용자는 사용자 단말기(200)에 등록을 원하는 외부 대화 시스템에 연동된 전자 기기의 종류를 입력할 수 있다. 외부 대화 시스템의 최초 등록 이후에 연동되는 전자 기기의 종류가 추가될 때에도 사용자는 사용자 단말기(200)에 추가된 전자 기기의 종류를 입력할 수 있다. 사용자 단말기(200)는 외부 대화 시스템에 연동된 전자 기기의 종류를 허브 대화 시스템(100)에 전송할 수 있다.
허브 대화 시스템(100)은 사용자 단말기(200)로부터 수신한 정보에 기초하여 전술한 도 4 에 도시된 바와 같은 테이블을 구축하고 저장부(140)에 저장할 수 있다.
한편, 도 5에 도시된 바와 같은 사용자 의도에 대응되는 명령 문장에 관한 정보는, 외부 대화 시스템의 등록 시에 사용자로부터 텍스트 또는 음성 신호의 형태로 입력 받을 수 있다.
또는, 허브 대화 시스템(100)이 외부 대화 시스템의 등록 시에 사용자 의도 별로 명령 문장을 등록하기 위한 테스트용 사용자 발화를 입력 받고, 입력된 사용자 발화를 음성 신호로 변환하여 통신부(130)를 통해 해당 외부 대화 시스템에 대응되는 로컬 스피커(S)에 전송할 수 있다.
도 8에 도시된 바와 같이, 허브 대화 시스템(100)은 외부 대화 시스템의 스피커에서 출력되는 음성 신호를 수신하는 로컬 마이크(M)를 더 포함할 수 있다. 로컬 스피커(S)와 로컬 마이크(M)가 일체형으로 구현될 수도 있음은 물론이다.
로컬 스피커(S)에서 음성 신호가 출력되면, 대응되는 외부 대화 시스템은 음성 신호의 인식 결과에 따라 시스템 응답을 생성하여 출력할 수 있다. 로컬 마이크(M)가 외부 대화 시스템의 시스템 응답을 입력 받고, 입력된 시스템 응답을 통신부(130)에 전송할 수 있다.
제어부(120)는 입력된 시스템 응답에 기초하여 음성 신호가 외부 대화 시스템에 의해 인식 가능한지 여부를 판단할 수 있다. 예를 들어, 입력된 시스템 응답이 "에어컨을 실행할까요?"와 같이, 테스트용 사용자 발화에 포함된 사용자 의도에 대응되면 입력된 사용자 발화가 외부 대화 시스템에 의해 인식 가능한 것으로 판단할 수 있다.
제어부(120)는 테스트용 사용자 발화가 외부 대화 시스템에 의해 인식 가능한 것으로 판단되면, 해당 사용자 발화에 포함된 문장을 도 5에 도시된 바와 같이, 사용자 의도에 대응되는 명령 문장으로 저장한다. 예를 들어, 사용자가 외부 대화 시스템 A(10)의 등록 시에 "에어컨 켜줘"를 발화하고, 허브 대화 시스템(100)이 로컬 스피커 A(S_A)를 통해 "에어컨 켜줘"의 음성 신호를 출력하고, 외부 대화 시스템 A(10)로부터 시스템 응답 "에어컨을 실행할까요?"가 출력되면, 제어부(120)는 도 5에 도시된 바와 같이, "에어컨 켜줘"를 사용자 의도 『에어컨_ON』에 대응되는 명령 문장으로 저장할 수 있다.
또한, 제어부(120)는 테스트용 사용자 발화가 외부 대화 시스템에 의해 인식 가능하지 않은 것으로 판단되면, 사용자 발화를 다시 요청할 수 있다. 제어부(120)는 다시 입력된 사용자 발화를 음성 신호로 변환하고, 통신부(130)를 통해 로컬 스피커(S)에 전송할 수 있다. 제어부(120)는 최종적으로 외부 대화 시스템에 의해 인식 가능한 사용자 발화에 포함된 문장을 사용자 의도에 대응되는 명령 문장으로 저장할 수 있다.
한편, 전술한 과정은 외부 대화 시스템을 허브 대화 시스템(100)에 등록한 이후, 최초 사용 시에 수행되는 것도 가능하다.
이하, 일 실시예에 따른 허브 대화 시스템의 제어 방법에 관하여 설명한다. 일 실시예에 따른 허브 대화 시스템의 제어 방법을 실시함에 있어서, 전술한 실시예에 따른 허브 대화 시스템(100)이 사용될 수 있다. 따라서, 도 1 내지 도 8을 참조하여 설명한 내용은 별도의 언급이 없더라도 허브 대화 시스템의 제어 방법의 실시예에도 적용될 수 있고, 후술하는 허브 대화 시스템의 제어 방법의 실시예에 관한 설명도 허브 대화 시스템(100)에 적용될 수 있다.
도 9는 일 실시예에 따른 허브 대화 시스템의 제어방법에 관한 순서도이다.
도 9에 도시된 허브 대화 시스템의 제어방법에 따르면, 사용자 발화가 입력되면(310의 예), 입력된 사용자 발화에 포함된 사용자 의도를 판단한다(311). 사용자 발화는 허브 대화 시스템(100)과 사용자를 연결하는 사용자 단말기(200)에 마련된 마이크를 통해 입력될 수 있고, 허브 대화 시스템(100)의 음성 처리기(110)가 음성 인식 및 자연어 이해 기술을 적용하여 사용자 발화에 포함된 사용자 의도를 판단할 수 있다.
허브 대화 시스템에 등록된 적어도 하나의 외부 대화 시스템 중에서 사용자 의도에 대응되는 외부 대화 시스템을 결정한다(312). 앞서 도 6 및 도 7을 참조하여 설명한 바와 같이, 사용자는 사용자 단말기(200)를 통해 허브 대화 시스템(100)에 적어도 하나의 외부 대화 시스템 및 외부 대화 시스템에 연동된 전자 기기를 등록할 수 있다. 허브 대화 시스템(100)은 등록된 정보에 기초하여 전술한 도 4에 도시된 바와 같이 도메인과 그에 대응되는 외부 대화 시스템이 매칭된 테이블을 구축하여 저장부(140)에 저장할 수 있다. 제어부(120)는 테이블에 기초하여 사용자 의도에 대응되는 외부 대화 시스템을 결정할 수 있다.
사용자 의도를 나타내는 명령 문장을 생성한다(313). 전술한 도 5에 도시된 바와 같이, 저장부(140)에는 사용자 의도 별로 사용자 의도를 나타내는 명령 문장이 매칭되어 저장될 수 있다. 저장되는 명령 문장은 사용자 의도에 대응되는 외부 대화 시스템에서 인식 가능한 문장이다. 명령 문장을 저장하는 과정에 대해서는 후술하기로 한다. 제어부(120)는 저장부(140)에 저장된 정보에 기초하여 사용자 의도를 나타내는 명령 문장을 생성할 수 있다.
명령 문장을 음성 신호로 변환하고(314), 외부 대화 시스템에 대응되는 로컬 스피커(S)에 음성 신호를 전송한다(316). 전술한 바와 같이, 외부 대화 시스템에 대응되는 로컬 스피커(S)는 로컬 스피커(S)에서 출력되는 음성 신호가 외부 대화 시스템의 마이크에 입력될 수 있는 위치에 마련될 수 있다. 이로써, 마치 사용자가 외부 대화 시스템 A(10)의 마이크에 명령 문장을 발화한 것과 같은 효과를 얻을 수 있고, 다른 외부 대화 시스템들과 별도의 제휴나 계약 관계가 없더라도 다른 외부 대화 시스템과 연동된 다양한 기기들을 사용자 의도에 따라 제어할 수 있다.
도 10은 일 실시예에 따른 허브 대화 시스템의 제어 방법에 있어서, 사용자 의도에 대응되는 명령 문장을 등록하는 과정을 나타낸 순서도이다.
도 10에 도시된 과정은 허브 대화 시스템(100)에 외부 대화 시스템을 등록할 때 수행될 수도 있고, 허브 대화 시스템(100)에 외부 대화 시스템을 등록한 뒤에 해당 외부 대화 시스템을 사용하기 위한 사용자 발화가 입력될 때에 수행될 수도 있다. 다만, 구체적인 설명을 위해 후술하는 예시에서는 외부 대화 시스템을 허브 대화 시스템(100)에 등록하는 과정에서 도 10의 과정이 수행되는 것으로 가정하여 설명한다.
도 10에 도시된 허브 대화 시스템의 제어 방법에 의하면, 사용자 발화가 입력되면(320의 예), 사용자 발화를 음성 신호로 변환하고(321), 변환된 음성 신호를 로컬 스피커(S)에 전송한다(322). 여기서, 사용자 발화는 사용자 의도 별로 명령 문장을 등록하기 위한 테스트용 사용자 발화일 수 있고, 음성 신호가 전송되는 로컬 스피커(S)는 현재 등록 과정을 진행 중인 외부 대화 시스템에 대응되는 로컬 스피커일 수 있다.
로컬 마이크(M)로부터 외부 대화 시스템의 시스템 응답을 수신할 수 있다(323). 전술한 도 8에 도시된 바와 같이, 허브 대화 시스템(100)은 외부 대화 시스템의 스피커에서 출력되는 음성 신호를 수신하는 로컬 마이크(M)를 더 포함할 수 있다. 로컬 스피커(S)와 로컬 마이크(M)가 일체형으로 구현될 수도 있음은 물론이다. 로컬 스피커(S)에서 음성 신호가 출력되면, 대응되는 외부 대화 시스템은 음성 신호의 인식 결과에 따라 시스템 응답을 생성하여 출력할 수 있다. 로컬 마이크(M)가 외부 대화 시스템의 시스템 응답을 입력 받고, 입력된 시스템 응답을 통신부(130)에 전송할 수 있다.
시스템 응답에 기초하여 로컬 스피커(S)를 통해 출력된 음성 신호가 외부 대화 시스템에 의해 인식 가능한지 여부를 판단한다(324). 예를 들어, 제어부(120)는 시스템 응답이 사용자 발화에 포함된 사용자 의도에 대응되는 것이면, 출력된 음성 신호가 외부 대화 시스템에 의해 인식 가능한 것으로 판단할 수 있다.
음성 신호가 외부 대화 시스템에 의해 인식 가능한 것으로 판단되면(325의 예), 사용자 발화에 포함된 문장을 사용자 의도에 대응되는 명령 문장으로 저장하고(326), 인식 가능하지 않은 것으로 판단되면(325의 아니오), 사용자 발화를 다시 요청한다(327). 외부 대화 시스템이 사용자 발화를 변환한 음성 신호를 인식할 수 있을 때까지 전술한 과정을 반복할 수 있다.
다른 예로, 외부 대화 시스템을 허브 대화 시스템(100)에 등록할 때, 사용자에게 사용자 의도를 나타내는 명령 문장을 요청하고, 사용자로부터 입력된 텍스트 또는 음성 신호 형태의 명령 문장을 사용자 의도에 매칭시켜 상기 저장부에 저장하는 것도 가능하다.
전술한 허브 대화 시스템 및 그 제어 방법에 의하면, 사용자는 제어하고자 하는 기기가 어느 대화 시스템에 연동되어 있는지 여부를 신경쓰지 않고 원하는 서비스를 제공받기 위한 발화를 입력하기만 하면, 허브 대화 시스템이 사용자가 원하는 서비스를 제공할 수 있는 외부 대화 시스템을 선택하고, 선택된 외부 대화 시스템에 적절한 명령 문장을 생성하여 입력할 수 있다.
또한, 로컬 스피커를 통해 외부 대화 시스템의 마이크에 명령 문장의 음성 신호를 입력함으로써, 마치 사용자가 외부 대화 시스템의 마이크에 명령 문장을 발화한 것과 같은 효과를 얻을 수 있다.
이와 같은 방식으로, 허브 대화 시스템은 다른 외부 대화 시스템들과 별도의 제휴나 계약 관계가 없더라도 다른 외부 대화 시스템과 연동된 다양한 기기들을 사용자 의도에 따라 제어할 수 있다.
일 실시예에 따른 전자 장치는, 하나 이상의 프로그램이 저장되는 메모리 및 저장된 프로그램을 실행하는 프로세서;를 포함하고, 메모리에 저장된 프로그램은, 사용자 발화가 입력되면, 상기 입력된 사용자 발화에 포함된 사용자 의도를 판단하고; 허브 대화 시스템에 등록된 적어도 하나의 외부 대화 시스템 중에서 상기 사용자 의도에 대응되는 외부 대화 시스템을 결정하고; 상기 사용자 의도를 나타내는 명령 문장을 생성하고; 상기 명령 문장을 음성 신호로 변환하고; 상기 결정된 외부 대화 시스템에 대응되는 로컬 스피커에 상기 음성 신호를 전송하는 것;을 포함한다.
이 외에도 전자 장치의 메모리에 저장되는 프로그램은 전술한 허브 대화 시스템의 제어 방법을 실행하기 위한 것으로서, 전술한 허브 대화 시스템의 제어 방법에 포함되는 각각의 단계들이 추가적으로 더 포함될 수 있음은 물론이다.
이상에서와 같이 첨부된 도면을 참조하여 개시된 실시예들을 설명하였다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고도, 개시된 실시예들과 다른 형태로 본 발명이 실시될 수 있음을 이해할 것이다. 개시된 실시예들은 예시적인 것이며, 한정적으로 해석되어서는 안된다.
100: 대화 시스템
110: 음성 처리기
120: 제어부
130: 통신부
140: 저장부
S: 로컬 스피커
M: 로컬 마이크
10, 20, 30, 40: 외부 대화 시스템
200: 사용자 단말기

Claims (21)

  1. 사용자 발화가 입력되면, 상기 입력된 사용자 발화에 포함된 사용자 의도를 판단하는 음성 처리기;
    적어도 하나의 외부 대화 시스템에 대응되는 적어도 하나의 로컬 스피커와 무선 통신으로 연결된 통신부; 및
    상기 적어도 하나의 외부 대화 시스템 중에서 상기 사용자 의도에 대응되는 외부 대화 시스템을 결정하고, 상기 사용자 의도를 나타내는 명령 문장을 생성하고, 상기 명령 문장을 음성 신호로 변환하고, 상기 결정된 외부 대화 시스템에 대응되는 로컬 스피커에 상기 음성 신호를 전송하도록 상기 통신부를 제어하는 제어부;를 포함하는 허브 대화 시스템.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 로컬 스피커는,
    상기 적어도 하나의 로컬 스피커에서 출력되는 음성 신호가 상기 대응되는 외부 대화 시스템의 마이크에 입력될 수 있는 위치에 마련되는 대화 시스템.
  3. 제 1 항에 있어서,
    적어도 하나의 사용자 의도 별로 상기 사용자 의도를 나타내는 상기 명령 문장을 매칭시켜 저장하는 저장부;를 더 포함하는 대화 시스템.
  4. 제 3 항에 있어서,
    상기 제어부는,
    상기 명령 문장의 등록을 위해 입력된 사용자 발화를 음성 신호로 변환하고, 상기 통신부를 제어하여 상기 음성 신호를 상기 로컬 스피커에 전송하는 허브 대화 시스템.
  5. 제 4 항에 있어서,
    상기 통신부는,
    상기 적어도 하나의 외부 대화 시스템에 대응되는 적어도 하나의 로컬 마이크와 무선 통신으로 연결되고, 상기 적어도 하나의 로컬 마이크로부터 상기 적어도 하나의 외부 대화 시스템에서 출력되는 시스템 응답을 입력 받는 대화 시스템.
  6. 제 5 항에 있어서,
    상기 제어부는,
    상기 입력된 시스템 응답에 기초하여 상기 음성 신호가 상기 적어도 하나의 외부 대화 시스템에 의해 인식 가능한지 여부를 판단하는 허브 대화 시스템.
  7. 제 6 항에 있어서,
    상기 제어부는,
    상기 음성 신호가 상기 적어도 하나의 외부 대화 시스템에 의해 인식 가능하지 않으면, 사용자 발화를 다시 요청하는 허브 대화 시스템.
  8. 제 7 항에 있어서,
    상기 제어부는,
    다시 입력된 사용자 발화를 음성 신호로 변환하고, 상기 통신부를 제어하여 상기 음성 신호를 상기 로컬 스피커에 전송하는 대화 시스템.
  9. 제 6 항에 있어서,
    상기 제어부는,
    상기 음성 신호가 상기 적어도 하나의 외부 대화 시스템에 의해 인식 가능하면, 상기 사용자 발화에 포함된 문장을 상기 사용자 의도에 대응되는 명령 문장으로 저장하는 허브 대화 시스템.
  10. 제 3 항에 있어서,
    상기 제어부는,
    상기 적어도 하나의 외부 대화 시스템을 상기 허브 대화 시스템에 등록할 때, 사용자에게 상기 사용자 의도를 나타내는 명령 문장을 요청하고, 상기 사용자로부터 입력된 명령 문장을 상기 사용자 의도에 매칭시켜 상기 저장부에 저장하는 허브 대화 시스템.
  11. 사용자 발화가 입력되면, 상기 입력된 사용자 발화에 포함된 사용자 의도를 판단하고;
    허브 대화 시스템에 등록된 적어도 하나의 외부 대화 시스템 중에서 상기 사용자 의도에 대응되는 외부 대화 시스템을 결정하고;
    상기 사용자 의도를 나타내는 명령 문장을 생성하고;
    상기 명령 문장을 음성 신호로 변환하고;
    상기 결정된 외부 대화 시스템에 대응되는 로컬 스피커에 상기 음성 신호를 전송하는 것;을 포함하는 허브 대화 시스템의 제어 방법.
  12. 제 11 항에 있어서,
    상기 적어도 하나의 로컬 스피커는,
    상기 적어도 하나의 로컬 스피커에서 출력되는 음성 신호가 상기 대응되는 외부 대화 시스템의 마이크에 입력될 수 있는 위치에 마련되는 대화 시스템의 제어 방법.
  13. 제 11 항에 있어서,
    적어도 하나의 사용자 의도 별로 상기 사용자 의도를 나타내는 상기 명령 문장을 매칭시켜 저장하는 것;을 더 포함하는 대화 시스템.
  14. 제 13 항에 있어서,
    상기 명령 문장의 등록을 위해 입력된 사용자 발화를 음성 신호로 변환하고;
    상기 음성 신호를 상기 로컬 스피커에 전송하는 것;을 더 포함하는 허브 대화 시스템.
  15. 제 14 항에 있어서,
    상기 적어도 하나의 외부 대화 시스템에 대응되는 적어도 하나의 로컬 마이크로부터 상기 적어도 하나의 외부 대화 시스템에서 출력되는 시스템 응답을 입력 받는 것;을 더 포함하는 허브 대화 시스템.
  16. 제 15 항에 있어서,
    상기 입력된 시스템 응답에 기초하여 상기 음성 신호가 상기 적어도 하나의 외부 대화 시스템에 의해 인식 가능한지 여부를 판단하는 것;을 더 포함하는 허브 대화 시스템.
  17. 제 16 항에 있어서,
    상기 음성 신호가 상기 적어도 하나의 외부 대화 시스템에 의해 인식 가능하지 않으면, 사용자 발화를 다시 요청하는 것;을 더 포함하는 허브 대화 시스템.
  18. 제 17 항에 있어서,
    다시 입력된 사용자 발화를 음성 신호로 변환하고, 상기 통신부를 제어하여 상기 음성 신호를 상기 로컬 스피커에 전송하는 것;을 더 포함하는 대화 시스템.
  19. 제 16 항에 있어서,
    상기 음성 신호가 상기 적어도 하나의 외부 대화 시스템에 의해 인식 가능하면, 상기 사용자 발화에 포함된 문장을 상기 사용자 의도에 대응되는 명령 문장으로 저장하는 것;을 더 포함하는 허브 대화 시스템.
  20. 제 13 항에 있어서,
    상기 적어도 하나의 사용자 의도 별로 상기 사용자 의도를 나타내는 상기 명령 문장을 매칭시켜 저장하는 것은,
    상기 적어도 하나의 외부 대화 시스템을 상기 허브 대화 시스템에 등록할 때, 사용자에게 사용자 의도를 나타내는 명령 문장을 요청하고, 상기 사용자로부터 입력된 명령 문장을 상기 사용자 의도에 매칭시켜 상기 저장부에 저장하는 것;을 포함하는 허브 대화 시스템.
  21. 하나 이상의 프로그램이 저장되는 메모리; 및
    상기 저장된 프로그램을 실행하는 프로세서;를 포함하고,
    상기 프로그램은,
    사용자 발화가 입력되면, 상기 입력된 사용자 발화에 포함된 사용자 의도를 판단하고;
    허브 대화 시스템에 등록된 적어도 하나의 외부 대화 시스템 중에서 상기 사용자 의도에 대응되는 외부 대화 시스템을 결정하고;
    상기 사용자 의도를 나타내는 명령 문장을 생성하고;
    상기 명령 문장을 음성 신호로 변환하고;
    상기 결정된 외부 대화 시스템에 대응되는 로컬 스피커에 상기 음성 신호를 전송하는 것;을 포함하는 전자 장치.
KR1020190089686A 2019-07-24 2019-07-24 허브 대화 시스템, 허브 대화 시스템의 제어 방법 및 전자 장치 KR20210012266A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020190089686A KR20210012266A (ko) 2019-07-24 2019-07-24 허브 대화 시스템, 허브 대화 시스템의 제어 방법 및 전자 장치
US16/691,179 US11417326B2 (en) 2019-07-24 2019-11-21 Hub-dialogue system and dialogue processing method
CN201911236761.6A CN112309386A (zh) 2019-07-24 2019-12-05 中枢对话系统和对话处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190089686A KR20210012266A (ko) 2019-07-24 2019-07-24 허브 대화 시스템, 허브 대화 시스템의 제어 방법 및 전자 장치

Publications (1)

Publication Number Publication Date
KR20210012266A true KR20210012266A (ko) 2021-02-03

Family

ID=74187756

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190089686A KR20210012266A (ko) 2019-07-24 2019-07-24 허브 대화 시스템, 허브 대화 시스템의 제어 방법 및 전자 장치

Country Status (3)

Country Link
US (1) US11417326B2 (ko)
KR (1) KR20210012266A (ko)
CN (1) CN112309386A (ko)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6339706B1 (en) * 1999-11-12 2002-01-15 Telefonaktiebolaget L M Ericsson (Publ) Wireless voice-activated remote control device
US20120078635A1 (en) * 2010-09-24 2012-03-29 Apple Inc. Voice control system
KR102056461B1 (ko) * 2012-06-15 2019-12-16 삼성전자주식회사 디스플레이 장치 및 디스플레이 장치의 제어 방법
US9916839B1 (en) * 2014-03-27 2018-03-13 Amazon Technologies, Inc. Shared audio functionality based on device grouping
CN104965448A (zh) * 2015-07-17 2015-10-07 小米科技有限责任公司 智能设备的控制方法和装置
CN105897531A (zh) * 2016-06-21 2016-08-24 美的智慧家居科技有限公司 移动终端、家电的语音控制系统及其语音控制方法
US10580405B1 (en) * 2016-12-27 2020-03-03 Amazon Technologies, Inc. Voice control of remote device
CN110085219A (zh) * 2018-01-26 2019-08-02 博西华电器(江苏)有限公司 家用电器及通过语音控制该家用电器的方法和系统
CN108711424B (zh) * 2018-05-02 2021-05-07 台州市吉吉知识产权运营有限公司 一种分布式语音控制方法及系统
CN109712624A (zh) * 2019-01-12 2019-05-03 北京设集约科技有限公司 一种多语音助手协调方法、装置和系统
CN109887506A (zh) * 2019-03-21 2019-06-14 广东美的制冷设备有限公司 空气调节设备的控制方法、装置、空气调节设备和服务器

Also Published As

Publication number Publication date
US11417326B2 (en) 2022-08-16
CN112309386A (zh) 2021-02-02
US20210027775A1 (en) 2021-01-28

Similar Documents

Publication Publication Date Title
EP3485489B1 (en) Contextual hotwords
KR20200034430A (ko) 전자 장치, 시스템 및 음성 인식 서비스 이용 방법
KR102189855B1 (ko) 다이얼로그 시스템들에서의 파라미터 수집 및 자동 다이얼로그 생성
US20190258461A1 (en) Machine generation of context-free grammar for intent deduction
US7881938B2 (en) Speech bookmarks in a voice user interface using a speech recognition engine and acoustically generated baseforms
US9368107B2 (en) Permitting automated speech command discovery via manual event to command mapping
KR102411619B1 (ko) 전자 장치 및 그 제어 방법
US20020133354A1 (en) System and method for determining utterance context in a multi-context speech application
WO2014195937A1 (en) System and method for automatic speech translation
KR20170033722A (ko) 사용자의 발화 처리 장치 및 방법과, 음성 대화 관리 장치
US11508367B2 (en) Dialogue system and dialogue processing method
KR20210072471A (ko) 음성 명령 인식 장치 및 그 방법
EP3226239A1 (en) Voice command system
KR20210034276A (ko) 대화 시스템, 대화 처리 방법 및 전자 장치
US11996099B2 (en) Dialogue system, vehicle, and method of controlling dialogue system
EP4107722A1 (en) Coordinating electronic personal assistants
KR20210036169A (ko) 대화 시스템, 대화 처리 방법, 번역 장치 및 번역 방법
US20210065708A1 (en) Information processing apparatus, information processing system, information processing method, and program
KR102485339B1 (ko) 차량의 음성 명령 처리 장치 및 방법
US11417326B2 (en) Hub-dialogue system and dialogue processing method
KR20200119035A (ko) 대화 시스템, 전자장치 및 대화 시스템의 제어 방법
KR20210042520A (ko) 전자 장치 및 이의 제어 방법
Gupta et al. Desktop Voice Assistant
JP7448240B2 (ja) 効率的な対話構成
KR20210130465A (ko) 대화 시스템 및 그 제어 방법

Legal Events

Date Code Title Description
A201 Request for examination