KR102095514B1 - 디바이스 토폴로지에 기초한 음성 명령 프로세싱 - Google Patents

디바이스 토폴로지에 기초한 음성 명령 프로세싱 Download PDF

Info

Publication number
KR102095514B1
KR102095514B1 KR1020197010435A KR20197010435A KR102095514B1 KR 102095514 B1 KR102095514 B1 KR 102095514B1 KR 1020197010435 A KR1020197010435 A KR 1020197010435A KR 20197010435 A KR20197010435 A KR 20197010435A KR 102095514 B1 KR102095514 B1 KR 102095514B1
Authority
KR
South Korea
Prior art keywords
transcription
devices
topology representation
determining
user
Prior art date
Application number
KR1020197010435A
Other languages
English (en)
Other versions
KR20190042098A (ko
Inventor
바나비 존 제임스
데이비드 로이 샤이레
에이미 린 볼드윈
빈센트 얀톤 모
준 양
마크 아이브이. 스파테스
레이 쭝
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20190042098A publication Critical patent/KR20190042098A/ko
Application granted granted Critical
Publication of KR102095514B1 publication Critical patent/KR102095514B1/ko

Links

Images

Classifications

    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • 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/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • 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
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/34Adaptation of a single recogniser for parallel processing, e.g. by use of multiple processors or cloud computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/282Controlling appliance services of a home automation network by calling their functionalities based on user interaction within the home
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • 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
    • 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/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/227Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of the speaker; Human-factor methodology
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Selective Calling Equipment (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명의 예시적인 양태는 음성 명령 또는 발언을 처리하는 것에 관한 것이다. 예를 들어, 음성 발언을 나타내는 데이터가 수신될 수 있다. 디바이스 토폴로지 표현이 액세스될 수 있다. 디바이스 토폴로지 표현은 하나 이상의 구조와 관련된 복수의 스마트 디바이스를 정의할 수 있다. 디바이스 토폴로지 표현은 관련된 구조들 내의 복수의 디바이스 각각의 위치를 추가로 정의할 수 있다. 음성 발언의 전사는 디바이스 토폴로지 표현에 적어도 부분적으로 기초하여 결정될 수 있다. 하나 이상의 선택된 디바이스 및 그 하나 이상의 선택된 디바이스에 의해 수행될 하나 이상의 액션은 상기 결정된 전사 및 상기 디바이스 토폴로지 표현에 적어도 부분적으로 기초하여 결정될 수 있다.

Description

디바이스 토폴로지에 기초한 음성 명령 프로세싱
본 발명은 일반적으로 음성 발언(voice utterances)의 해석에 관한 것으로, 특히 디바이스의 토폴로지에 기초한 음성 발언의 해석에 관한 것이다.
사운드 스피커, 홈 알람, 도어락, 카메라, 조명 시스템, 러닝 머신, 체중계, 스마트 침대, 관개(irrigation) 시스템, 차고 도어 개폐기, 가전 제품, 베이비 모니터, 화재 경보기 등과 같은 스마트하고 다중-감지 네트워크로 연결된 디바이스들이 확산되고 있다. 이러한 스마트 디바이스는 예를 들어 건물의 경계 내에 위치할 수 있으며, 사용자는 그러한 스마트 디바이스와 상호 작용하기를 바랄 수 있다. 그렇게 하기 위해, 사용자는 예를 들어 네트워크를 통해 스마트 디바이스와 무선으로 통신하도록 제어 디바이스를 사용할 수 있다.
어떤 경우, 사용자는 음성 명령 또는 발언을 제어 디바이스에 제공하여 하나 이상의 스마트 디바이스와 통신하기를 원할 수 있다. 종래의 음성 명령 처리 기술은 음성 발언을 처리 및 해석하여 음성 발언에 따라 스마트 디바이스(들)를 제어하기 위해 다양한 적절한 자동 음성 인식, 자연어 처리 및/또는 자연어 이해 기술을 사용한다. 그러나, 이러한 종래의 기술은 가끔 복잡한 음성 발언을 해석할 수 없어 사용자로부터 더 많은 정보를 요구할 수 있다. 특히, 이러한 종래의 기술은 종종 스마트 홈 네트워크 내의 디바이스들 및 네트워크 내의 그러한 디바이스들 간의 관계에 대한 충분한 이해가 부족하다.
본 발명의 실시예들의 양태 및 장점은 다음의 설명에서 부분적으로 설명될 것이며, 설명으로부터 알 수 있거나 또는 실시예들의 실시를 통해 학습될 수 있다.
본 발명의 일 예시적인 양태는 음성 발언을 프로세싱하는 컴퓨터 구현 방법에 관한 것이다. 이 방법은 하나 이상의 컴퓨팅 디바이스에 의해 음성 발언을 나타내는 데이터를 수신하는 단계를 포함한다. 음성 발언는 사용자에 의해 제어 디바이스에 제공된다. 이 방법은 하나 이상의 컴퓨팅 디바이스에 의해 디바이스 토폴로지 표현에 액세스하는 단계를 더 포함한다. 디바이스 토폴로지 표현은 하나 이상의 구조와 연관된 복수의 스마트 디바이스를 정의한다.
디바이스 토폴로지 표현은 연관된 구조들 내의 복수의 디바이스 각각의 위치를 더 규정한다. 이 방법은 하나 이상의 컴퓨팅 디바이스에 의해 디바이스 토폴로지 표현에 적어도 부분적으로 기초하여 음성 발언의 전사를 결정하는 단계를 더 포함한다. 이 방법은 하나 이상의 컴퓨팅 디바이스에 의해, 상기 결정된 전사 및 디바이스 토폴로지 표현에 적어도 부분적으로 기초하여 하나 이상의 선택된 디바이스 및 하나 이상의 선택된 디바이스에 의해 수행될 하나 이상의 액션을 결정하는 단계를 더 포함한다.
본 발명의 다른 예시적인 양태는 음성 명령을 처리하기 위한 시스템, 장치, 유형(有形))의 비-일시적 컴퓨터 판독 가능 매체, 사용자 인터페이스, 메모리 디바이스 및 전자 디바이스에 관한 것이다.
다양한 실시예의 이들 및 다른 특징, 양태 및 이점은 하기의 설명 및 첨부된 청구 범위를 참조하여 더 잘 이해될 것이다. 첨부된 도면은 본 명세서에 통합되어 본 명세서의 일부를 구성하고, 본 발명의 실시예를 도시하고, 상세한 설명과 함께 관련 원리를 설명한다.
당업자에게 지향된 실시예에 대한 상세한 설명은 첨부된 도면을 참조하여 본 명세서에 설명된다.
도 1은 본 발명의 예시적인 실시예에 따른 음성 명령을 처리하기 위한 예시적인 시스템의 개관을 도시한다.
도 2는 본 발명의 예시적인 실시예에 따른 디바이스 토폴로지 표현을 구현하기 위한 예시적인 사용자 인터페이스를 도시한다.
도 3은 본 발명의 예시적인 실시예에 따른 예시적인 디바이스 토폴로지 표현의 블록도를 도시한다.
도 4는 본 발명의 예시적인 실시예에 따른 음성 명령을 처리하기 위한 예시적인 방법의 흐름도를 도시한다.
도 5는 본 발명의 예시적인 실시예에 따른 개인 언어 모델을 생성하는 예시적인 방법의 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 음성 발언의 전사를 결정하는 예시적인 방법의 흐름도이다.
도 7은 본 발명의 예시적인 실시예에 따른 음성 발언의 전사를 해석하는 예시적인 방법의 흐름도이다.
도 8은 본 발명의 예시적인 실시예에 따른 예시적인 시스템의 개관을 도시한다.
이제 실시예들이 도면에 도시된 하나 이상의 예시에 대해 상세히 참조될 것이다. 각 예시는 본 발명 내용의 제한이 아니라 실시예들에 대한 설명을 위해 제공된다. 실제로, 본 발명의 범위 또는 사상을 벗어나지 않고 다양한 변형 및 변경이 실시예에 대해 이루어질 수 있음이 당업자에게 명백할 것이다. 예를 들어, 일 실시예의 일부로서 도시되거나 기술된 특징들은 또 다른 실시예와 함께 사용될 수 있다. 따라서, 본 발명의 양태들은 그러한 변형 및 변경을 포함하는 것으로 의도된다.
본 발명의 예시적인 양태는 사용자의 음성 명령에 기초하여 스마트 디바이스를 제어하는 것에 관한 것이다. 예를 들어, 음성 발언(voice utterance)은 제어 디바이스의 사용자로부터 수신될 수 있다. 음성 발언은 하나 이상의 스마트 디바이스를 제어하도록 구성된 사용자 디바이스 근처의 사용자에 의해 발화된 명령일 수 있다. 스마트 디바이스는 중앙 서버, 클라우드 컴퓨팅 시스템, 및/또는 다양한 유용한 스마트 홈 서비스 중 하나를 제공하는 하나 이상의 추가 스마트 디바이스와 통신하도록 구성된 지능형 다중-감지 네트워크 연결 디바이스일 수 있다. 예를 들어, 스마트 디바이스는 에어컨 시스템, 조명 디바이스, 홈 시어터 및 엔터테인먼트 시스템, 보안 시스템, 자동 도어 잠금 시스템, 온도 조절 디바이스, 홈 자동화 시스템, 사운드 스피커, 카메라 디바이스, 러닝 머신, 체중계, 스마트 침대, 관개 시스템, 차고 도어 개폐기, 가전 제품, 베이비 모니터, 화재 경보기 및/또는 다른 적절한 디바이스 또는 시스템일 수 있거나 이들과 관련될 수 있다.
하나 이상의 스마트 디바이스를 제어하고자 하는 사용자는 디바이스 토폴로지 표현(representation)을 구성할 수 있다. 디바이스 토폴로지 표현은 다양한 적절한 기술을 사용하여 구성될 수 있으며, 하나 이상의 구조 내의 하나 이상의 스마트 디바이스의 토폴로지 및 구성(organization)를 나타낼 수 있는 임의의 적합한 포맷 및/또는 구조일 수 있다. 디바이스 토폴로지 표현은 사용자와 관련된 하나 이상의 구조를 정의 및/또는 구성할 수 있다. 예를 들어, 사용자와 관련된 구조는 가정, 사업체, 차량, 사무실 및/또는 사용자와 관련된 임의의 다른 적합한 구조일 수 있다. 사용자는 각 구조를 하나 이상의 룸(예컨대, 침실, 거실, 주방)으로 구성할 수 있으며 하나 이상의 룸에 하나 이상의 스마트 디바이스를 할당할 수 있다. 예를 들어, 사용자는 하나 이상의 스마트 조명을 특정 구조의 제1 룸에 할당하고, 하나 이상의 도어 잠금 시스템을 상기 구조의 제2 룸에 할당할 수 있다. 그런 다음 사용자는 하나 이상의 다른 스마트 디바이스를 제2 구조내의 하나 이상의 룸에 할당할 수 있다.
사용자는 하나 이상의 식별자를 디바이스 토폴로지 표현 내의 스마트 디바이스들에 할당할 수 있다. 식별자는 사용자에 의해 선택될 수 있고 디바이스 토폴로지 표현 내의 각각의 스마트 디바이스와 연관될 수 있다. 식별자(들)는 사용자가 스마트 디바이스 용으로 선택한 닉네임 및/또는 별칭(예컨대, 카우치(소파) 램프, 전면 도어락, 침실 스피커 등)을 포함할 수 있다. 이러한 방식으로, 식별자들은 스마트 디바이스를 제어하기 위한 음성 발언을 제공할 때 사용자가 사용하기 쉬운 각각의 스마트 디바이스의 이름 또는 별칭이 될 수 있다.
디바이스 토폴로지 표현은 각각의 디바이스와 관련된 하나 이상의 디바이스 속성을 더 특정할 수 있다. 디바이스 속성은 스마트 디바이스들이 수행하도록 구성된 하나 이상의 액션(동작)과 연관될 수 있다. 예를 들어, 조명 디바이스와 관련된 디바이스 속성은 턴온 기능, 턴 오프 기능, 조광 기능 및/또는 조명 디바이스와 관련된 다른 적절한 속성을 포함할 수 있다. 다른 예로서, 자동 도어 잠금 디바이스는 잠금 기능, 잠금 해제 기능 및/또는 다른 적절한 기능을 포함할 수 있다.
사용자는 제어 디바이스에 음성 발언을 제공할 수 있다. 음성 발언은 하나 이상의 스마트 디바이스를 제어하려는 의도를 특정하는 임의의 적절한 음성 발언일 수 있다. 예를 들어, 사용자는 스마트 디바이스의 상태를 변경(예를 들어, 스마트 디바이스를 켜거나 끄거나, 스마트 디바이스의 볼륨을 증가시키는 등)할 의도로 음성 발언을 제공하거나, 또는 스마트 디바이스와 관련된 정보(예컨대, 현재 온도와 관련된 정보 등)를 수신할 의도로 음성 발언을 제공할 수 있다. 제어 디바이스는 사용자로부터 음성 발언을 수신하고, 예를 들어 네트워크를 통해 하나 이상의 스마트 디바이스 또는 중앙 서버와 통신할 수 있는 임의의 적절한 디바이스일 수 있다. 제어 디바이스는 사용자가 음성 발언을 제공할 때 말하는 디바이스일 수 있다. 일부 구현예에서, 제어 디바이스는 스마트 폰, 태블릿, 랩탑 컴퓨터, 데스크탑 컴퓨터, 웨어러블 컴퓨팅 디바이스 및/또는 다른 적절한 사용자 디바이스와 같은 사용자와 관련된 사용자 디바이스일 수 있다. 일부 구현예에서, 제어 디바이스는 음성 발언을 수신하도록 구성된 스마트 디바이스일 수 있다. 예를 들어, 제어 디바이스는 디바이스 토폴로지 표현에 지정된 스마트 디바이스일 수 있다.
음성 발언은 하나 이상의 스마트 디바이스에 대해 사용자에 의해 의도된 제어 명령을 결정하도록 해석될 수 있다. 이와 관련하여, 디바이스 토폴로지 표현에 적어도 부분적으로 기초하여 음성 발언에 대해 음성 인식이 수행될 수 있다. 예를 들어, 음성 발언을 나타내는 데이터는 음성 발언의 전사(transcription)를 결정하기 위해 하나 이상의 언어 모델에 제공될 수 있다. 일부 구현예에서, 범용 언어 모델은 음성 발언의 텍스트 전사를 결정하기 위해 디바이스 토폴로지 표현을 향해 바이어싱(bias, 편향)될 수 있다. 범용 언어 모델은 복수의 공통 구문(phrases)을 포함할 수 있고 확률 추정치를 각각의 구문과 상관시킬 수 있다. 각 구문은 하나 이상의 단어의 시퀀스를 포함할 수 있다. 확률 추정치는 각각의 구문의 예측된 발생을 특정할 수 있다. 본 발명의 범위를 벗어나지 않으면서 다양한 적합한 범용 언어 모델이 사용될 수 있다는 것을 이해할 것이다.
범용 언어 모델은 개인(화된) 언어 모델을 생성하기 위해 디바이스 토폴로지 표현을 향해 바이어싱될 수 있다. 특히, 범용 언어 모델은 디바이스 토폴로지 표현과 관련된 하나 이상의 단어 또는 구문과 관련된 확률 추정치들을 증가시킴으로써 바이어서될 수 있다. 예를 들어, 하나 이상의 단어 또는 구문은 디바이스 토폴로지 표현에 지정된 룸(room) 이름, 구조 이름, 디바이스 식별자, 디바이스 속성과 관련된 용어 등을 포함할 수 있다. 이러한 방식으로, 개인 언어 모델은 디바이스 토폴로지 표현에 포함된 단어 또는 구문의 보다 높은 발생 확률을 추정할 수 있다.
음성 발언을 나타내는 데이터는 개인 언어 모델에 기초하여 음성 발언의 텍스트 전사를 결정하기 위해 개인 언어 모델에 제공될 수 있다. 일부 구현예에서, 음성 발언을 나타내는 데이터는 범용 언어 모델에 제공되어, 일반적인 언어 모델에 기초하여 음성 발언의 제1 전사를 결정할 수 있다. 제1 전사의 정확도에 대한 신뢰도를 나타내는 제1 전사에 대한 제1 신뢰도 스코어가 결정될 수 있다. 그런 다음 음성 발언을 나타내는 데이터는 개인 언어 모델에 제공되어, 개인 언어 모델에 기초하여 음성 발언의 제2 전사를 결정할 수 있다. 제2 전사의 정확도에 대한 신뢰도를 나타내는 제2 전사에 대한 제2 신뢰도 스코어가 결정될 수 있다. 일부 구현예에서, 높은 신뢰도 스코어를 갖는 전사가 사용될 수 있다. 일부 구현예에서, 음성 발언을 나타내는 데이터는 다양한 적합한 애플리케이션과 관련된 하나 이상의 특수 언어 모델과 같은 하나 이상의 추가 언어 모델에 제공될 수 있다. 이러한 방식으로, 추가 언어 모델을 사용하여 하나 이상의 추가 전사가 결정될 수 있으며, 각 전사는 연관된 신뢰도 스코어를 갖는다. 가장 높은 신뢰도 스코어를 갖는 전사가 사용될 수 있다.
일단 음성 발언의 전사가 결정되면, 제어할 하나 이상의 디바이스(예를 들어, 선택된 디바이스) 및 선택된 디바이스들에 의해 수행될 하나 이상의 액션들이 결정될 수 있다. 예를 들어, 전사의 시맨틱(semantic, 의미론적) 해석은 하나 이상의 시맨틱 해석 기술을 사용하여 결정될 수 있다. 시맨틱 해석은 전사의 개념적 의미의 표현을 제공할 수 있다. 이러한 방식으로, 전사의 해석은 음성 발언을 수행할 때 사용자의 의도에 대한 해석을 제공할 수 있다. 예를 들어, 사용자로부터의 음성 발언의 전사가 "조명 켜기"를 나타내면, 전사의 시맨틱 해석은 수행될 액션(예를 들어, 하나 이상의 조명 디바이스의 활성화) 및 그 액션을 수행하기 위한 하나 이상의 선택된 디바이스(예를 들어, 사용자에 의해 제어되도록 의도된 하나 이상의 적절한 조명 디바이스)를 결정하려고 시도할 수 있다.
상기 해석은 디바이스 토폴로지 표현에 적어도 부분적으로 기초하여 결정될 수 있다. 예를 들어, 디바이스 토폴로지 표현은 하나 이상의 선택된 디바이스 및/또는 수행될 액션을 결정하기 위해 액세스될 수있다. 이러한 방식으로, 디바이스 토폴로지 표현은 액세스되어 전사와 비교되어, 전사와 관련된 하나 이상의 용어와 디바이스 토폴로지 표현과 관련된 하나 이상의 용어 사이의 매치(match)를 결정할 수 있다. 예를 들어, 전사가 "카우치 램프 켜기"라고 판독되면, 디바이스 토폴로지 표현은 "카우치 램프"의 디바이스 식별자를 갖는 디바이스 토폴로지 표현에 지정된 디바이스가 있는지를 결정하기 위해 액세스될 수 있다.
도시된 바와 같이, 선택된 디바이스(들)에 의해 수행될 하나 이상의 액션이 또한 결정될 수 있다. 예를 들어, 액션(들)은 전사의 해석에 기초하여 결정될 수 있다. 일부 구현예에서, 액션은 디바이스 토폴로지 표현에 지정된 바와 같이 상기 선택된 디바이스(들)와 관련된 디바이스 속성들에 적어도 부분적으로 기초하여 결정될 수 있다. 이러한 방식으로, 식별된 액션은 선택된 디바이스가 수행할 수 있는 액션일 수 있다.
일부 경우에, 디바이스 토폴로지에 지정된 디바이스 식별자들과 전사의 용어들 사이의 직접 매치(direct match)를 결정할 수 없을 수 있다. 예를 들어, 음성 발언을 수행할 때 사용자는 디바이스 식별자를 지정할 수 없지만 보다 비공식적인 지시(명령)을 줄 수 있다. 다른 예로서, 디바이스 토폴로지 표현에 지정된 다수의 구조는 동일하거나 유사한 이름 또는 식별자를 갖는 하나 이상의 룸 및/또는 디바이스를 포함할 수 있다. 예를 들어, "침실의 조명 켜기"라고 독출되는 전사는 특정 디바이스 식별자에 대한 참조를 포함하지 않을 수 있으므로 직접 매치를 결정할 수 없다. 그러한 예에서, 디바이스 토폴로지 표현은 하나 이상의 선택된 디바이스를 추론(추정)하기 위해 액세스될 수 있다. 예를 들어 디바이스 토폴로지 표현은 디바이스 토폴로지 표현에 지정된 구조에서 "침실"로 라벨링된 룸을 식별하기 위해 액세스 될 수 있다. 이러한 "침실"이 식별되면, 침실에 있는 하나 이상의 적절한 디바이스가 식별될 수 있다. 예를 들어, 만약 디바이스 토폴로지 표현이 침실내의 하나 이상의 조명 디바이스를 지정하면, 하나 이상의 조명 디바이스 중 적어도 하나는 선택된 디바이스(들)로서 추론될 수 있다.
디바이스 식별자가 전사에서 지정되지 않는 경우, 하나 이상의 선택된 디바이스 및/또는 수행될 액션(들)은 디바이스 토폴로지 표현에 지정된 디바이스 속성에 적어도 부분적으로 기초하여 결정될 수있다. 예를 들어, 디바이스 토폴로지 표현에 지정된 디바이스 속성들은 전사와 비교되어, 전사에 지정된 액션을 수행할 수 있는 하나 이상의 디바이스를 결정할 수 있다. 이러한 방식으로, 선택된 디바이스들은 각각의 디바이스 속성에 적어도 부분적으로 기초하여 유추될 수 있다.
일부 구현예에서, 선택된 디바이스 및/또는 수행될 액션은 사용자의 위치와 같은 문맥 데이터에 적어도 부분적으로 기초하여 결정될 수 있다. 예를 들어, 사용자로부터 음성 발언을 수신하는 것에 응답하여 사용자의 위치가 결정될 수 있다. 위치는 다양한 적절한 위치 결정 기술을 이용하여 결정될 수 있다. 위치 결정 기술은 사용자가 음성 발언을 제공하는 제어 디바이스에 적어도 부분적으로 기초하여 결정될 수 있다. 예를 들어, 제어 디바이스는 디바이스 토폴로지 표현에 지정된 스마트 디바이스이며, 사용자 위치는 디바이스 토폴로지 표현에서 제어 디바이스가 할당된 구조 및/또는 룸에 매핑될 수 있다. 제어 디바이스가 디바이스 토폴로지 표현에 지정되지 않은 사용자 디바이스인 경우, 사용자 위치는 무선 액세스 포인트 또는 하나 이상의 스마트 디바이스와 관련된 단거리 비컨 디바이스 및/또는 다른 적절한 위치 결정 기술을 사용하는 기술과 같은, 하나 이상의 위치 결정 기술을 이용하여 결정될 수있다. 그런 다음 사용자 위치는 디바이스 토폴로지 표현에 지정된 하나 이상의 구조 및/또는 룸에 매핑될 수 있다.
이러한 방식으로, 사용자 위치는 하나 이상의 선택된 디바이스를 결정할 때 문맥 데이터로서 사용될 수 있다. 예를 들어, "조명 켜기"로 판독되는 전사를 수신하는 것에 응답하여, 사용자 위치가 결정되고 디바이스 토폴로지 표현에 지정된 하나 이상의 룸 및/또는 구조에 매핑되어, 사용자가 위치하는 구조 및 룸이 결정될 수 있다. 그러한 구조 및 룸에서 하나 이상의 조명 디바이스가 식별되어 사용자에 의해 제어될 상기 선택된 디바이스를 결정할 수 있다. 이러한 방식으로, 이러한 경우, 사용자가 제어하고자 하는 조명 디바이스가 사용자가 현재 위치한 룸의 조명 디바이스라고 추론할 수 있다.
제어될 하나 이상의 선택된 디바이스 및 선택된 디바이스(들)에 의해 수행될 하나 이상의 액션의 결정시, 하나 이상의 제어 명령이 생성되어 선택된 디바이스(들)에 각각 제공될 수 있다. 하나 이상의 제어 명령은 지정된 액션을 수행하기 위해 상기 선택된 디바이스(들)에 대한 명령을 포함할 수 있다. 적절한 제어 명령을 수신하면, 선택된 디바이스(들)는 수신된 제어 명령(들)에 따라 적절한 액션을 수행할 수 있다. 일부 구현예에서, 만약 수행될 하나 이상의 선택된 디바이스 및/또는 액션이 수신된 음성 발언에 기초하여 결정될 수 없다면, 사용자는 음성 발언을 명확히 하고 및/또는 하나 이상의 스마트 디바이스에 의해 수행될 하나 이상의 액션을 수동으로 선택하도록 요청하는 프롬프트(예를 들어, 제어 디바이스 또는 다른 적절한 디바이스에 의해 디스플레이된 사용자 인터페이스 내에서)를 제공받을 수 있다.
이러한 방식으로, 본 발명의 예시적인 양태는 스마트 홈 및/또는 사물 인터넷 환경에서 사용하기 위한 음성 명령 처리의 효율성 및 정확성을 개선하는데 사용될 수 있다. 특히, 스마트 디바이스가 위치하는 하나 이상의 구조의 토폴로지를 기준으로 스마트 디바이스를 구성하는 것은 음성 발언의 보다 견고한 해석을 허용할 수 있으며, 사용자와 제어 디바이스 간의 자연스러운 "대화형" 통신 경험을 허용할 수 있다. 사용자 위치와 같은 문맥 데이터를 디바이스 토폴로지와 함께 고려하면 사용자가 제공한 음성 발언의 의미를 추론할 수 있는 더 큰 능력을 제공할 수 있다. 게다가, 이러한 음성 명령 처리 기술은 더 넓은 범위의 음성 발언을 정확하고 신속하게 해석할 수 있는 능력을 용이하게 함으로써 사용자와 시스템 간의 통신 라운드 횟수를 줄일 수 있다. 이와 같이, 스마트 디바이스에 의해 수행되는 액션의 수가 감소될 수 있는데, 예를 들어, 반복된 음성 발언을 수신 및 처리하거나, 또는 보다 많은 정보에 대한 요청을 출력하고 응답 처리를 피할 수 있고, 따라서 스마트 디바이스의 전력 소비가 감소될 수 있다. 본 발명은 스마트 홈 및/또는 사물 인터넷 환경에서 음성 명령을 처리하는 것에 관한 것이지만, 본 발명의 예시적인 양태는 본 발명의 범위를 벗어나지 않고 다양한 다른 적합한 응용 및 환경으로 확장될 수 있음을 이해할 것이다. 예를 들어, 본 발명의 예시적인 양태는 사물 디바이스의 다양한 다른 적절한 비-사물 인터넷 디바이스를 제어하는데 사용되는 음성 명령을 처리하고 해석하는데 사용될 수 있다.
이제 도면을 참조하여, 본 발명의 예시적인 양태가 보다 상세히 설명될 것이다. 예를 들어, 도 1은 본 발명의 예시적인 실시예에 따른 음성 명령을 처리하기 위한 예시적인 시스템(100)의 개관을 도시한다. 시스템(100)은 제어 디바이스(102) 및 서버(104)를 포함한다. 제어 디바이스(102) 및 서버(104)는 예를 들어 네트워크를 통해 통신할 수 있다. 제어 디바이스(102)는 사용자로부터의 음성 발언을 모니터하고 수신하도록 구성된 임의의 적절한 디바이스일 수 있다. 도시된 바와 같이, 음성 발언은 하나 이상의 스마트 디바이스를 제어할 의도로 사용자가 말한 문장 또는 구문일 수 있다. 제어 디바이스(102)는 사용자와 관련된 사용자 디바이스일 수 있다. 일부 구현예에서, 제어 디바이스(102)는 스마트 디바이스일 수 있다. 스마트 디바이스는 중앙 서버, 클라우드 컴퓨팅 시스템 및/또는 하나 이상의 추가 스마트 디바이스와 통신하도록 구성된 네트워크 연결 디바이스일 수 있어, 임의의 다양한 유용한 스마트 홈 및/또는 사물 인터넷 서비스를 제공할 수 있다. 제어 디바이스는 사용자에 의한 음성 발언의 제공에 기초하여 동적으로 구성될 수 있다. 예를 들어, 제어 디바이스는 사용자로부터 음성 발언을 수신하는 디바이스(예를 들어, 사용자 디바이스, 스마트 디바이스 또는 다른 디바이스) 일 수 있다.
사용자로부터 음성 발언을 수신하면, 제어 디바이스(102)는 음성 발언을 나타내는 데이터를 서버(104)로 제공할 수 있다. 서버(104)는 바이어서(biaser) (106), 전사기(transcriber)(108), 해석기(110) 및 명령 생성기(112)를 포함한다. 음성 발언을 나타내는 데이터는 전사기(108)로 제공될 수 있다. 전사기(108)는 언어 모델 데이터(114)에 적어도 부분적으로 기초하여 음성 발언의 하나 이상의 텍스트 전사를 결정하도록 구성될 수 있다. 언어 모델 데이터(114)는 음성 발언을 전사하기 위한 하나 이상의 언어 모델을 포함할 수 있다. 특히, 언어 모델 데이터(114)는 복수의 공통 구문에 대한 확률 추정치를 지정하는 범용 언어 모델을 포함할 수 있다. 언어 모델 데이터(114)는 예를 들어 개인(화된) 언어 모델과 같은 하나 이상의 특수 언어 모델을 더 포함할 수 있다. 개인 언어 모델은 바이어서(106)에 의해 생성될 수 있다. 특히, 개인 언어 모델은 디바이스 토폴로지 표현(116)을 향해 범용 언어 모델을 바이어싱함으로써 생성될 수 있다.
디바이스 토폴로지 표현(116)은 사용자에 의해 구성되어 사용자와 관련된 하나 이상의 스마트 디바이스의 구성 토폴로지(organizational topology)를 정의할 수 있다. 예를 들어, 도 2는 디바이스 토폴로지 표현을 정의하기 위한 예시적인 사용자 인터페이스(120)를 나타낸다. 특히, 도 2는 사용자 인터페이스(120)를 디스플레이하도록 구성된 사용자 디바이스(122)를 도시한다. 도 2에 도시된 사용자 인터페이스(120)는 설명의 목적으로만 의도되었으며, 다양한 다른 적절한 사용자 인터페이스가 본 발명의 범위를 벗어나지 않고 디바이스 토폴로지 표현을 구현하기 위해 사용될 수 있음을 이해할 것이다. 사용자 디바이스(122)는 스마트 폰, 태블릿, 랩탑 컴퓨터, 데스크탑 컴퓨터, 웨어러블 컴퓨팅 디바이스 등과 같은 임의의 적합한 사용자 디바이스일 수 있다. 일부 구현예에서, 사용자 디바이스(122)는 스마트 디바이스 또는 다른 디바이스일 수 있다. 일부 구현예에서, 사용자는 그 위치에 존재하여 해당 위치에 대한 디바이스 토폴로지 표현을 정의할 필요가 있을 수 있다. 예를 들어, 이러한 구현예에서, 특정 구조에 대한 디바이스 토폴로지 표현을 정의하고자 하는 사용자는 디바이스 토폴로지 표현을 구현하기 위해 상기 구조에 위치할 필요가 있을 것이다. 이러한 방식으로, 사용자의 위치는 다양한 적절한 위치 결정 기술을 사용하여 결정될 수 있고, 사용자는 사용자 위치 또는 그 부근에 위치된 구조에 대한 디바이스 토폴로지 표현을 정의하는 것이 허용될 수 있다.
사용자 인터페이스(120)는 사용자에 의한 디바이스 토폴로지 표시(126)의 구현을 용이하게 하기 위한 하나 이상의 사용자 인터페이스 요소(124)를 포함할 수 있다. 디바이스 토폴로지 표현(126)은 도 1 및 도 3에 도시된 디바이스 토폴로지 표현(116)에 해당할 수 있다. 도시된 바와 같이, 하나 이상의 사용자 인터페이스 요소(124)는 사용자가 구조를 추가하고, 룸(room)을 추가하고, 디바이스 토폴로지 표시(126)에 디바이스를 추가할 수 있게 하는 인터페이스 요소를 포함한다. 이러한 방식으로, 사용자는 디바이스 토폴로지 표현(126)을 정의하고 구성하기 위해 사용자 인터페이스 요소(124)와 상호 작용할 수 있다. 예를 들어, 사용자는 "디바이스 추가(Add Device)" 인터페이스 요소를 선택하여 새로운 스마트 디바이스를 디바이스 토폴로지 표현(126)에 추가할 수 있다. 이러한 방식으로, 사용자는 새로운 디바이스를 추가하거나, 디바이스와 관련될 하나 이상의 디바이스 식별자를 추가하거나, 디바이스와 관련된 하나 이상의 디바이스 속성을 추가할 수 있다. 유사하게, 사용자가 "룸 추가(Add Room)" 인터페이스 요소를 선택한 경우, 사용자는 특정 구조에 새로운 룸을 추가하고, 룸과 관련될 룸 식별자를 추가할 수 있다.
일부 구현예에서, 디바이스 토폴로지 표현(126)은 사용자 인터페이스(120) 내에 표시되는 바와 같이 사용자가 디바이스 토폴로지 표현(126)과 상호 작용할 수 있도록 대화형 사용자 인터페이스 요소일 수 있다. 예를 들어, 사용자는 선택된 구조, 룸 또는 디바이스와 관련된 더 많은 정보의 표현을 용이하게 하기 위해 디바이스 토폴로지 표현(126)의 특정 구조, 룸 또는 디바이스를 (예를 들어, 터치 입력 또는 다른 적절한 입력을 통해) 선택할 수 있다 .
도 3은 본 발명의 예시적인 실시예에 따른 예시적인 디바이스 토폴로지 표현(116)의 블록도를 나타낸다. 디바이스 토폴로지 표현(116)은 사용자와 관련된 복수의 구조 내의 복수의 스마트 디바이스의 토폴로지를 정의한다. 특히, 구조들은 메인 홈(152), 비치 하우스(154) 및 사용자와 관련된 사무실(156)을 포함한다. 각 구조는 구조 내의 하나 이상의 룸으로 구성될 수 있다. 예를 들어, 도 3은 메인 홈(152)과 관련된 거실(158), 침실(160) 및 객실(162)을 나타낸다. 각 룸은 스마트 홈 내의 하나 이상의 스마트 디바이스 및/또는 사용자와 관련된 사물 인터넷 네트워크와 관련될 수 있다. 특히, 거실(158)은 "카우치 램프"의 디바이스 식별자를 갖는 조명 디바이스, "아래층 온도 조절기"의 디바이스 식별자를 갖는 온도 조절 디바이스, "거실 스피커"의 디바이스 식별자를 갖는 스피커 디바이스와 관련된다. 침실(160)은 "천정 팬(fan)"의 디바이스 식별자를 갖는 팬 디바이스, "오버헤드 조명"의 디바이스 식별자(들)를 갖는 하나 이상의 조명 디바이스 및 "스피커"의 디바이스 식별자를 갖는 스피커 디바이스와 관련된다. 객실(162)은 "위층 온도 조절기"의 디바이스 식별자를 갖는 온도 조절 디바이스, "테이블 램프"의 디바이스 식별자를 갖는 조명 디바이스 및 "스피커"의 디바이스 식별자를 갖는 스피커 디바이스와 관련된다. 지정된 디바이스들은 단일 디바이스 또는 디바이스 그룹일 수 있다. 예를 들어, 디바이스 식별자 "오버헤드 조명"은 침실의 오버헤드 천정 조명을 구성하는 단일 조명 디바이스 또는 조명 디바이스 그룹에 해당할 수 있다.
표시된 바와 같이, 사용자는 디바이스 토폴로지 표현 내에서 하나 이상의 구조 및 하나 이상의 룸을 정의할 수 있다. 사용자는 각 룸과 구조에 식별자들을 할당할 수 있다. 사용자는 각 룸에 하나 이상의 스마트 디바이스를 할당하여 실제 구조의 룸에 있는 디바이스의 토폴로지를 나타낼 수 있다. 사용자는 하나 이상의 스마트 디바이스 각각에 하나 이상의 디바이스 식별자를 더 할당할 수 있다. 일부 구현예에서, 사용자가 디바이스에 디바이스 식별자를 할당하지 않으면, 디바이스에 자동으로 디폴트 디바이스 식별자가 할당될 수 있다. 디바이스 토폴로지 표현 (116)은 각 디바이스에 대한 하나 이상의 디바이스 속성을 더 지정할 수 있다. 디바이스 속성은 디바이스가 수행할 수 있는 하나 이상의 액션(동작)과 관련될 수 있다. 예를 들어, 조명 디바이스는 "켜기" 속성, "끄기" 속성, "흐리게 하기(dimming)" 속성 등을 가질 수 있다. 천장 팬 디바이스는 "켜기" 속성, "끄기" 속성, "속도 증가" 속성, "속도 감소"속성 등을 가질 수 있다. 일부 구현예에서, 디바이스 속성은 사용자에 의해 디바이스 토폴로지 표현(116)에 입력될 수 있다. 일부 구현예에서, 디바이스 속성은 디바이스 토폴로지 표현(116)에 자동으로 추가될 수 있다.
디바이스 토폴로지 표현은 사용자가 예를 들어 디바이스 토폴로지에 대한 하나 이상의 변경을 반영하기를 원할 때 사용자에 의해 업데이트되거나 수정될 수 있다. 예를 들어, 사용자는 사용자가 원하는 대로 디바이스를 추가하고, 디바이스를 제거하고, 룸 및/또는 구조 간에 디바이스를 이동하고, 구조를 추가하고, 구조를 제거하고, 룸을 추가하고, 룸을 제거할 수 있다. 이러한 방식으로, 사용자는 디바이스 토폴로지를 구성하여 실제 구조내의 디바이스에 대한 정확하고 동적인 토폴로지를 제공할 수 있다.
디바이스 토폴로지 표현(116)은 범용 언어 모델을 바이어싱하기 위해 사용될 수 있다. 다시 도 1을 참조하면, 바이어서(106)는 디바이스 토폴로지 표현(116) 및 범용 언어 모델에 액세스하여 디바이스 토폴로지 표현(116)을 향해 범용 언어 모델을 바이어스하도록 구성될 수 있다. 예를 들어, 바이어서는 디바이스 토폴로지 표현(116)에 지정된 하나 이상의 용어 또는 구문(예를 들어, 디바이스 식별자, 룸 이름, 구조 이름, 디바이스 유형(예컨대, 조명 디바이스, 스피커 디바이스), 디바이스 속성 등)을 식별할 수 있다. 바이어서(106)는 범용 언어 모델에 의해 지정된 바와 같은 용어들의 확률 추정치를 증가시킬 수 있고, 식별된 용어 또는 구문에 상기 증가된 확률 추정치가 할당되도록 개인 언어 모델을 생성할 수 있다. 이러한 방식으로, 개인 언어 모델은 사용자에 의해 제공되는 음성 발언이 디바이스 토폴로지 표현(116)과 관련된 용어 또는 구문을 포함할 상기 증가된 가능성을 반영하도록 생성될 수 있다.
도시된 바와같이, 전사기(108)는 언어 모델 데이터(114)에 적어도 부분적으로 기초하여 음성 발언의 하나 이상의 텍스트 전사를 결정할 수 있다. 전사기(108)는 다양한 적절한 음성 인식 기술을 이용하여 음성 발언의 텍스트 전사를 결정할 수 있음을 이해할 것이다. 일부 구현예에서, 전사기(108)는 바이어서(106)에 의해 생성된 개인 언어 모델에 기초하여 음성 발언의 전사를 결정할 수 있다. 일부 구현예에서, 전사(108)는 하나 이상의 추가 언어 모델(예를 들어, 범용 언어 모델 및/또는 언어 모델 데이터(114)와 관련된 하나 이상의 다른 적합한 언어 모델)을 사용하여 음성 발언의 하나 이상의 추가 전사를 결정할 수 있다. 이러한 구현예에서, 각각의 전사가 음성 발언의 정확한 전사라는 전사기(108)의 신뢰도를 특정하는 신뢰도 스코어가 각각의 전사에 대해 결정될 수 있다. 전사는 신뢰도 스코어에 적어도 부분적으로 기초하여 복수의 전사 전사 중에서 선택될 수 있다. 일부 구현예에서, 만약 선택된 전사가 개인 언어 모델을 사용하여 결정된 전사이면, 선택된 전사는 해석기(110)로 제공될 수 있다.
일부 구현예에서, 디바이스 토폴로지 표현은 사용자의 위치에 적어도 부분적으로 기초하여 사용을 위해 선택될 수 있다. 예를 들어, 사용자가 디바이스 토폴로지 표현 내에서 지정된 특정 구조 내에 위치하는 것으로 결정될 수 있다. 해당 구조를 지정하는 디바이스 토폴로지 표현은 사용자에 의해 제공된 음성 발언을 처리하는데 사용하기 위해 액세스될 수 있다. 이러한 구현예에서, 액세스된 디바이스 토폴로지 표현은 사용자에 의해 제공된 음성 발언의 전사를 결정하는데 사용될 수 있다. 이러한 방식으로, 전사는 사용자의 위치에 적어도 부분적으로 기초하여 결정될 수 있다. 예를 들어, 사용자의 위치를 결정할 때, 대응하는 디바이스 토폴로지 표현이 액세스될 수 있고, 디바이스 토폴로지 표현과 관련된 하나 이상의 용어가 범용 언어 모델을 바이어싱하기 위해 사용될 수 있다. 일부 구현예에서, 구조 및/또는 디바이스 토폴로지 표현에 대한 개인 언어 모델이 미리 생성될 수 있으며, 이 경우 사용자 위치를 결정하고 및/또는 사용자로부터 음성 발언을 수신하는 것에 응답하여, 적절한 개인화된 언어 모델이 액세스되어 음성 발언의 전사를 결정하는데 사용될 수 있다. 그런 다음 사용자 위치에 대응하는 이러한 디바이스 토폴로지 표현은 본 발명의 예시적인 양상에 따라 음성 발언을 해석하는데 사용될 수 있다.
결정된 전사는 해석기(110)로 제공될 수 있다. 해석기(110)는 제어 디바이스(102)에 음성 발언을 제공할 때 사용자의 의도를 결정하도록 구성될 수 있다. 특히, 해석기(110)는 전사에 적어도 부분적으로 기초하여 하나 이상의 선택된 디바이스(118) 및 그 선택된 디바이스(118)에 의해 수행될 하나 이상의 액션을 결정하도록 구성될 수 있다. 예를 들어, 일부 구현예에서, 해석기(110)는 전사에 대한 시맨틱(의미론적) 해석 기술을 수행하여 전사의 개념적 의미의 논리적 표현을 결정할 수 있다. 이러한 방식으로, 해석기(110)는 단어들 사이의 시맨틱 관계를 인식함으로써 전사에서 각 단어의 역할을 결정할 수 있다.
해석기(110)는 디바이스 토폴로지 표현(116)에 적어도 부분적으로 기초하여 하나 이상의 선택된 디바이스(118) 및/또는 수행될 액션을 결정할 수 있다. 예를 들어, 해석기(110)는 선택된 디바이스(118) 및/또는 수행될 액션을 결정하기 위해 디바이스 토폴로지 표현(116)에 대한 전사를 비교할 수 있다. 특히, 해석기(110)는 전사의 하나 이상의 용어와 하나 이상의 디바이스 식별자 사이의 상관 관계 (correlation)을 결정하기 위해 전사를 디바이스 토폴로지 표현(116)에 지정된 디바이스 식별자들과 비교할 수 있다. 예를 들어, 전사가 "거실 스피커 볼륨 높이기"라고 판독되면, 거실 스피커라는 용어는 디바이스 토폴로지 표현(116)의 "거실 스피커"라는 디바이스 식별자와 상관될 수 있다. 이러한 방식으로, 상관 관계에 기초하여 디바이스 식별자 "거실 스피커"를 갖는 스피커 디바이스가 상기 선택된 디바이스로서 선택될 수 있다.
일부 구현예에서, 해석기(110)는 하나 이상의 선택된 디바이스를 추론(추정)하도록 구성될 수 있다. 예를 들어, 만약 디바이스 식별자와 전사사이의 정확한 매치를 찾을 수 없는 경우, 해석기는 하나 이상의 선택된 디바이스를 추론하도록 구성될 수 있다. 다른 예로서, 만약 디바이스 토폴로지 표현에 지정된 2개 이상의 디바이스가 동일하거나 유사한 디바이스 식별자를 갖으면, 해석기(110)는 사용자가 어떤 디바이스를 제어하려고 의도하는지를 결정할 수 없을 수 있다. 예를 들어, 디바이스 토폴로지 표현(116)은 침실(160)과 객실(162) 모두에서 "스피커"라는 동일한 디바이스 식별자를 갖는 스피커 디바이스들을 포함한다. 이 상황에서, 해석기(110)는 사용자가 제어하고자 하는 스피커 디바이스를 구별하지 못할 수 있다. 그런 다음 해석기(110)는 디바이스 토폴로지 표현(116) 및/또는 사용자와 관련된 다른 정보에 적어도 부분적으로 기초하여 상기 선택된 디바이스를 추론하도록 구성될 수 있다.
하나의 예로서, 해석기(110)는 전사 및 디바이스 식별자들 사이에 직접 매칭은 없지만 전사가 디바이스 토폴로지 표현(116)에서 지정된 디바이스 식별자와 충분히 유사한 하나 이상의 용어를 포함하면 상기 선택된 디바이스를 추론하도록 구성될 수 있다. 이러한 경우, 해석기(110)는 충분히 유사한 용어(들) 및 디바이스 식별자를 상관시킬 수 있고, 유사성에 기초하여 상기 선택된 디바이스를 추론할 수 있다. 예를 들어, 전사가 "소파 램프 켜기"라고 판독되면, 해석기(110)는 디바이스 식별자 "카우치(소파) 램프"를 식별할 수 있고, "소파 램프"라는 구문이 디바이스 식별자 "카우치 램프"와 충분히 유사하다고 결정할 수 있다. 그런 다음 해석기(110)는 식별자 "카우치 램프"를 갖는 조명 디바이스를 선택된 디바이스로서 선택할 수 있다.
일부 구현예에서, 해석기(110)는 디바이스 토폴로지 표현(116)에 지정된 디바이스 속성에 적어도 부분적으로 기초하여 상기 선택된 디바이스를 추론할 수 있다. 디바이스 속성은 각 디바이스의 유형(예컨대, 조명 디바이스, 스피커 디바이스 등), 각 디바이스의 하나 이상의 기능 또는 각 디바이스에서 수행할 수 있는 액션(예컨대, 켜기, 끄기, 볼륨 증가, 볼륨 감소, 속도 증가, 속도 감소 등), 및/또는 디바이스와 관련된 다른 적절한 속성 또는 특성(traits)을 지정할 수 있다. 이러한 방식으로, 전사는 하나 이상의 선택된 디바이스를 결정하기 위해 디바이스 토폴로지 표현에 지정된 디바이스 속성과 비교될 수 있다. 예를 들어, 해석기(110)는 전사 내의 하나 이상의 용어를 디바이스들에 대한 하나 이상의 디바이스 속성과 비교하여 상관을 결정할 수 있다. 예를 들어, 만약 전사가 "온도 증가"라고 읽으면, 해석기(110)는 온도를 증가시키는 액션과 관련된 적절한 속성들을 갖는 하나 이상의 디바이스를 식별하려고 시도할 수 있다. 이러한 방식으로, 해석기(110)는 적절한 디바이스를 "윗층 온도 조절기" 및 "아래층 온도 조절기"로 좁힐 수 있다.
일부 구현예에서, 해석기(110)는 사용자가 제어 디바이스(102)로 음성 발언을 제공할 때 사용자의 위치에 적어도 부분적으로 기초하여 하나 이상의 선택된 디바이스를 결정할 수 있다. 도시된 바와 같이, 제어 디바이스(102)는 스마트 디바이스 또는 음성 발언이 제공되는 사용자 디바이스일 수 있다. 해석기(110)는 제어 디바이스(102)의 위치를 결정하여 제어 디바이스(102)의 위치를 사용자의 위치와 상관시킬 수 있다. 예를 들어, 제어 디바이스(102)가 디바이스 토폴로지 표현(116)에 지정된 스마트 디바이스인 경우, 해석기(110)는 디바이스 토폴로지 표현에 액세스하여 위치(예를 들어, 디바이스 토폴로지 표현(116)에 지정된 구조 및 룸)를 결정할 수 있다. 그럼 다음 해석기(110)는 사용자 위치를 사용자가 음성 명령을 제공 한 제어 디바이스(102)의 위치와 상관시킬 수 있다.
제어 디바이스(102)가 (예를 들어, 제어 디바이스(102)가 사용자 디바이스 또는 다른 적절한 제어 디바이스일 때) 디바이스 토폴로지 표현(116) 내에 지정되지 않은 경우, 하나 이상의 대안적인 위치 결정 기술이 사용될 수 있다. 예를 들어, 일부 구현예에서, 제어 디바이스(102)는 하나 이상의 무선(예컨대, Wi-Fi) 액세스 포인트를 이용하여 배치될 수 있다. 제어 디바이스(102)의 위치는 하나 이상의 액세스 포인트의 알려진 위치 및 제어 디바이스(102)와 하나 이상의 액세스 포인트 사이에서 통신되는 하나 이상의 신호에 적어도 부분적으로 기초하여 결정될 수 있다. 특히, 일부 구현예에서, 사용자 디바이스의 위치는 사용자 디바이스와 하나 이상의 액세스 포인트 사이에서 통신되는 하나 이상의 신호와 관련된 왕복 시간 (round trip time : RTT) 계산에 적어도 부분적으로 기초하여 결정될 수 있다. 예를 들어, 사용자 디바이스는 신호를 복수의 액세스 포인트로 전송함으로써 위치 탐색(finding) 프로세스를 시작할 수 있다. 액세스 포인트는 하나 이상의 응답 신호를 사용자 디바이스로 전송할 수 있다. 응답 신호들은 각각의 액세스 포인트가 시작 신호를 수신하고 응답 신호들을 송신한 때 사이의 시간 지연(예를 들어, 처리 지연)을 나타내는 데이터를 포함할 수 있다. 사용자 디바이스는 사용자 디바이스가 시작 신호를 전송한 시간, 사용자 디바이스가 응답 신호를 수신한 시간 및/또는 액세스 포인트와 관련된 시간 지연에 적어도 부분적으로 기초하여 상기 시작 신호 및/또는 응답 신호와 관련된 전파 시간(times-of-flight)을 계산할 수있다. 응답 신호 및 / 또는 액세스 포인트와 관련된 시간 지연을 포함 할 수있다. 만약 사용자 디바이스가 3개 이상의 액세스 포인트로부터 응답 신호를 수신하면, 사용자 디바이스는 결정된 거리 및 위치에 대해 삼각 측량 기술을 적용하여 액세스 포인트에 대해 자체 위치를 결정할 수 있다. 예를 들어, 사용자 디바이스는 영역 내의 특정 위치(예를 들어, 특정 룸 내)에 위치하는지를 결정할 수 있다.
유사하게, 일부 구현예에서, 제어 디바이스(102)의 위치는 하나 이상의 비콘 디바이스(예를 들어, 블루투스 비콘 디바이스)를 사용하여 결정될 수 있다. 예를 들어, 제어 디바이스의 위치는 비콘 디바이스의 알려진 위치 및 비콘 디바이스와 제어 디바이스(102) 사이에서 통신되는 하나 이상의 신호에 적어도 부분적으로 기초하여 결정될 수 있다. 본 발명의 범위를 벗어나지 않고 다양한 다른 적절한 위치 결정 기술이 사용될 수 있음을 이해할 것이다. 특히, 사용자 디바이스 위치를 결정할 때, 사용자 디바이스는 사용자가 위치하는 구조 내에 위치된 2개 이상의 비콘 디바이스에 의해 수신될 수 있는 하나 이상의 신호를 브로드캐스트할 수 있다. 비콘 디바이스들은 구조 내의 알려진 위치를 가질 수 있다. 일부 구현예에서, 비콘 디바이스들은 디바이스 토폴로지 표현(116)에 정의된 하나 이상의 스마트 디바이스 내에서 구현될 수 있다. 하나 이상의 신호를 수신하는 것에 응답하여, 2개 이상의 비컨 디바이스는 각각 비콘 디바이스를 식별하는 하나 이상의 식별 신호를 브로드캐스트할 수 있다. 식별 신호는 각각의 비콘 디바이스의 위치를 포함할 수 있다. 그런 다음, 사용자 디바이스의 위치는 상기 수신된 식별 신호들 내에 지정된 비콘 위치들에 적어도 부분적으로 기초하여 결정될 수 있다.
본 발명의 범위를 벗어나지 않고 다양한 다른 위치 결정 기술이 사용될 수 있음을 이해할 것이다. 예를 들어, 위치 결정 기술은 블루투스, 블루투스 저에너지, 지그비, 근거리 무선 통신, Wi-Fi 다이렉트 또는 다른 기술과 같은 다양한 적절한 통신 신호를 사용하여 구현될 수 있다. 다른 실시예에서, 사용자의 위치는 사용자 디바이스(예를 들어, GPS 또는 다른 위치 확인 시스템) 및/또는 네트워크 기반(예를 들어, WiFi, 셀룰러 네트워크 등) 위치 결정과 관련된 위치 확인 시스템에 의해 적어도 부분적으로 결정될 수 있다 .
일부 구현예에서, 제어 디바이스(102)의 위치는 디바이스 토폴로지 표현 (116)에 관련하여 결정될 수 있다. 예를 들어, 제어 디바이스(102)의 위치가 무선 액세스 포인트 및/또는 비콘 디바이스를 사용하여 결정되는 구현예에서, 액세스 포인트들 및/또는 비콘 디바이스들의 위치는 디바이스 토폴로지 표현(116) 내의 하나 이상의 룸에 매핑될 수 있다. 이러한 방식으로, 디바이스 토폴로지 표현(116)에 대한 제어 디바이스(102)의 위치는 디바이스 토폴로지 표현(116) 내의 액세스 포인트 및/또는 비콘 디바이스의 위치에 적어도 부분적으로 기초하여 결정될 수 있다.
도시된 바와 같이, 해석기(110)는 사용자에 의한 음성 발언의 제공시에 제어 디바이스의 위치에 적어도 부분적으로 기초하여 상기 선택된 디바이스를 결정할 수 있다. 해석기(110)는 선택된 디바이스가 사용자가 위치하는 동일한 룸에 위치할 것이라고 추론할 수 있다. 예를 들어, 만약 전사가 "조명 켜기"로 판독되면, 해석기(110)는 사용자가 침실에 위치한다고 결정할 수 있고, 사용자가 참조하고 있는 조명 디바이스가 디바이스 토폴로지 표현(116) 내의 침실과 관련된 조명 디바이스(예컨대, "오버 헤드 조명")라고 추론할 수 있다.
하나 이상의 전술한 해석 기술은 해석기(110)가 전사를 해석하는데 사용될 수 있다. 예를 들어, 다양한 경우에서, 선택된 디바이스(들)는 디바이스 식별자, 디바이스 속성 또는 사용자 위치 중 하나 이상에 적어도 부분적으로 기초하여 결정될 수 있다.
해석기(110)는 또한 수행될 하나 이상의 선택된 액션을 결정할 수 있다. 예를 들어, 해석기(110)는 하나 이상의 액션을 결정하기 위해 전사를 분석할 수 있다. 예를 들어, 해석기(110)는 "조명 켜기"를 판독하는 전사을 분석할 수 있으며, "켜기(turn on)"이라는 구문이 디바이스를 활성화 또는 턴온하는 액션에 해당한다고 결정할 수 있다. 일부 구현예에서, 해석기(110)는 디바이스 토폴로지 표현(116)내에 정의된 디바이스 속성에 적어도 부분적으로 기초하여 수행될 액션을 결정할 수 있다. 예를 들어, 일단 선택(된) 디바이스가 결정되면, 해석기(110)는 선택된 디바이스의 디바이스 속성들에 대한 전사를 비교하여 전사 및 디바이스 속성들 간의 상관 관계를 결정할 수 있다.
일단 선택된 디바이스(들) 및 수행될 액션이 결정되면, 적절한 액션(들)을 수행하도록 상기 선택된 디바이스(들)에게 지시하는 하나 이상의 제어 명령이 결정될 수 있다. 특히, 선택된 디바이스(들) 및 수행될 액션(들)을 나타내는 데이터가 명령 생성기(112)로 제공될 수 있다. 명령 생성기(112)는 선택된 디바이스(들)에 대한 하나 이상의 적절한 제어 명령을 결정할 수 있다. 도시된 바와 같이, 제어 명령은 선택된 디바이스(들)와 통신하기 위한 임의의 적절한 제어 명령일 수 있다. 특히, 제어 명령은 선택된 디바이스(들)과 관련된 하나 이상의 통신 프로토콜에 적어도 부분적으로 기초하여 결정될 수 있다. 이러한 방식으로, 제어 명령은 선택된 디바이스(들)의 통신 프로토콜에 적어도 부분적으로 기초하여 임의의 적합한 포맷 또는 구조일 수 있다. 명령 생성기(112)는 선택된 디바이스(들)가 제어 명령을 실행할 수 있고 적절한 액션(들)을 수행할 수 있도록 선택된 디바이스(들)로 제어 명령을 제공할 수 있다.
시스템(100)은 클라이언트-서버 아키텍처를 갖는 것으로 도시되어 있지만, 서버(104)의 하나 이상의 기능(예를 들어, 바이어서(106), 전사기(108), 해석기 (110) 또는 명령 생성기(112)의 하나 이상의 기능)은 예를 들어 제어 디바이스(102)와 같은 하나 이상의 다른 적절한 디바이스에 의해 수행될 수 있다. 이러한 방식으로, 제어 디바이스(102)는 하나 이상의 바이어서(106), 전사기(108), 해석기(110) 또는 명령 생성기(112)를 포함할 수 있음을 알 것이다.
도 4는 본 발명의 예시적인 실시예에 따른 음성 명령을 처리하는 예시적인 방법(200)의 흐름도를 도시한다. 방법(200)은 도 8에 도시된 하나 이상의 컴퓨팅 디바이스와 같은 하나 이상의 컴퓨팅 디바이스에 의해 구현될 수 있다. 또한, 도 4는 예시 및 논의의 목적을 위해 특정 순서로 수행되는 단계들을 도시한다. 당업자라면, 본 명세서에 제공된 개시들을 사용하여, 본 명세서에서 논의된 임의의 방법의 단계들이 본 발명의 범위를 벗어나지 않고 다양한 방식으로 변형, 재배열, 확장, 생략 또는 수정될 수 있음을 이해할 것이다.
단계(202)에서, 방법(300)은 사용자의 음성 발언을 나타내는 데이터를 수신하는 단계를 포함할 수 있다. 상술한 바와 같이, 사용자는 하나 이상의 스마트 디바이스들을 제어할 의도로 제어 디바이스에 음성 발언을 제공할 수 있다.
단계(204)에서, 방법(200)은 사용자와 관련된 디바이스 토폴로지 표현을 액세스하는 단계를 포함할 수 있다. 도시된 바와 같이, 사용자는 사용자와 관련된 하나 이상의 구조의 토폴로지를 정의하는 디바이스 토폴로지 표현을 설정하거나 구성할 수 있다. 예를 들어, 사용자는 구조(들)를 룸으로 구성할 수 있고 상기 룸에 디바이스를 할당할 수 있다. 사용자는 디바이스 식별자를 디바이스에 할당할 수 있다. 디바이스 토폴로지 표현은 디바이스에 대한 하나 이상의 디바이스 속성을 더 포함할 수 있다. 디바이스 속성은 디바이스 유형, 기능 등을 지정할 수 있다. 이러한 방식으로, 디바이스 토폴로지 표현은 사용자가 디바이스들의 위치에 따라 스마트 홈 또는 사물 인터넷 네트워크를 구성할 수 있도록 할 수 있다.
단계(206)에서, 방법(200)은 디바이스 토폴로지 표현에 적어도 부분적으로 기초하여 음성 발언의 전사를 결정하는 단계를 포함할 수 있다. 예를 들어, 전사는 하나 이상의 언어 모델에 적어도 부분적으로 기초하여 결정될 수 있다. 예를 들어, 일부 구현예에서, 전사는 디바이스 토폴로지 표현(예를 들어, 디바이스 식별자, 룸 이름, 구조 이름, 디바이스 속성 등) 내에 지정된 하나 이상의 용어로 범용 언어 모델을 바이어싱함으로써 결정될 수 있다. 이러한 방식으로, 개인(화된) 언어 모델은 디바이스 토폴로지 표현의 용어들과 관련된 증가된 확률 추정치를 갖고 생성될 수 있다. 음성 발언을 나타내는 데이터는 음성 발언의 전사를 결정하기 위해 개인 언어 모델에 제공될 수 있다. 일부 구현예에서, 음성 발언을 나타내는 데이터는 전사를 결정하도록 하나 이상의 추가 언어 모델에 제공될 수 있다.
단계(208)에서, 방법(200)은 디바이스 토폴로지 표현에 적어도 부분적으로 기초하여 전사의 해석을 결정하는 단계를 포함할 수 있다. 예를 들어, 해석을 결정하는 단계는 전사 및 디바이스 토폴로지 표현에 적어도 부분적으로 기초하여 하나 이상의 선택된 디바이스 및 그 선택된 디바이스들에 의해 수행될 하나 이상의 액션을 결정하는 단계를 포함할 수 있다. 하나 이상의 선택된 디바이스는 디바이스 토폴로지 표현 내에 지정된 디바이스일 수 있으며, 수행될 하나 이상의 액션은 선택된 디바이스와 관련된 하나 이상의 디바이스 속성과 관련된 액션일 수 있다.
단계(210)에서, 방법(200)은 해석에 적어도 부분적으로 기초하여 하나 이상의 선택된 디바이스에 대한 하나 이상의 제어 명령을 생성하는 단계를 포함할 수 있다. 하나 이상의 제어 명령은 각각의 선택된 디바이스가 적절한 액션을 수행하기 위한 명령을 포함할 수 있다. 제어 명령은 관련된 스마트 디바이스에 의해 이해될 수 있는 임의의 적절한 제어 명령일 수 있다. 단계(212)에서, 방법(200)은 선택된 디바이스가 제어 명령을 실행하여 적절한 액션을 수행할 수 있도록 상기 선택된 디바이스들에 하나 이상의 제어 명령을 제공하는 단계를 포함할 수 있다.
도 5는 본 발명의 예시적인 실시예에 따른 개인 언어 모델을 생성하는 예시적인 방법(300)의 흐름도를 도시한다. 방법(300)은 도 8에 도시된 하나 이상의 컴퓨팅 디바이스와 같은 하나 이상의 컴퓨팅 디바이스에 의해 구현될 수 있다. 일부 구현예에서, 방법(300)은 도 1에 도시된 바이어서(106)에 의해 구현될 수 있다.
단계(302)에서, 방법(300)은 범용 언어 모델을 액세스하는 단계를 포함할 수 있다. 상술한 바와 같이, 범용 언어 모델은 복수의 공통 구문을 포함할 수 있다. 구문은 하나 이상의 단어의 시퀀스일 수 있다. 범용 언어 모델은 관련된 구문의 발생 확률의 추정을 나타내는 각 구문과 관련된 확률 추정치를 더 포함할 수 있다.
단계(304)에서, 방법(300)은 디바이스 토폴로지 표현으로부터 하나 이상의 바이어싱 용어 또는 구문을 식별하는 단계를 포함할 수 있다. 예를 들어, 하나 이상의 바이어싱 용어 또는 구문은 디바이스 식별자, 룸 식별자, 구조 식별자, 디바이스 속성, 및/또는 디바이스 토폴로지 표현과 관련된 다른 적절한 용어 또는 구문을 포함할 수 있다.
단계(306)에서, 방법(300)은 하나 이상의 바이어싱 용어에 적어도 부분적으로 기초하여 범용 언어 모델을 바이어싱하는 단계를 포함할 수 있다. 예를 들어, 범용 언어 모델을 바이어싱하는 단계는 바이어싱 용어에 적어도 부분적으로 기초하여 범용 언어 모델의 하나 이상의 확률 추정치를 조정하는 단계를 포함할 수 있다. 특히, 범용 언어 모델을 바이어싱하는 단계는 바이어싱 용어의 추정된 발생 확률을 증가시키기 위해 바이어싱 용어의 확률 추정치를 증가시키는 단계를 포함할 수 있다. 단계(308)에서, 방법(300)은 바이어싱 단계에 적어도 부분적으로 기초하여 개인 언어 모델을 생성하는 단계를 포함할 수 있다. 예를 들어, 개인 언어 모델은 범용 언어 모델에 기초하여 생성될 수 있다. 개인 언어 모델은 범용 언어 모델과 동일한 구문 세트를 포함할 수 있지만, 바이어싱 용어로 바이어스되는 확률 추정치를 포함할 수 있다.
도 6은 본 발명의 예시적인 실시예에 따라 음성 발언의 텍스트 전사를 결정하는 예시적인 방법(400)의 흐름도를 도시한다. 방법(400)은 도 8에 도시된 하나 이상의 컴퓨팅 디바이스와 같은 하나 이상의 컴퓨팅 디바이스에 의해 구현될 수 있다. 일부 구현예에서, 방법(300)은 도 1에 도시된 전사기(108)에 의해 구현될 수 있다.
단계(402)에서, 방법(400)은 음성 발언을 나타내는 데이터를 범용 언어 모델에 제공하는 단계를 포함할 수 있다. 단계(404)에서, 방법(400)은 범용 언어 모델에 적어도 부분적으로 기초하여 음성 발언의 제1 전사를 결정하는 단계를 포함할 수 있다. 제1 전사는 다양한 적합한 음성 인식 기술을 사용하여 결정될 수 있다. 단계(406)에서, 방법(400)은 제1 전사의 제1 신뢰도 스코어를 결정하는 단계를 포함할 수 있다. 제1 신뢰도 스코어는 음성 발언의 제1 전사의 정확도에 대한 추정치의 표현일 수 있다.
단계(408)에서, 방법(400)은 음성 발언을 나타내는 데이터를 개인 언어 모델로 제공하는 단계를 포함할 수 있다. 개인 언어 모델은 스마트 홈 또는 사물 인터넷 네트워크의 토폴로지(예를 들어, 디바이스 토폴로지 표현에 정의된 바와 같이)에 적어도 부분적으로 기초하여 결정될 수 있다. 예를 들어, 개인 언어 모델은도 5에 기술된 언어 모델 일 수 있다. 단계(410)에서, 방법(400)은 개인 언어 모델에 적어도 부분적으로 기초하여 음성 발언의 제2 전사을 결정하는 단계를 포함할 수 있다. 제2 전사는 다양한 적합한 음성 인식 기술을 사용하여 결정될 수 있다. 단계(412)에서, 방법(400)은 제2 전사의 제2 신뢰도 스코어를 결정하는 단계를 포함할 수 있다. 제2 신뢰도 스코어는 음성 발언의 제2 전사의 정확도의 추정치의 표현일 수 있다.
단계(414)에서, 방법(400)은 신뢰도 스코어에 적어도 부분적으로 기초하여 해석될 전사를 선택하는 단계를 포함할 수 있다. 예를 들어, 높은 신뢰도 스코어를 갖는 전사는 음성 발언의 보다 정확한 전사로 결정될 수 있고, 해석될 전사로서 선택될 수 있다. 일부 구현예에서, 하나 이상의 추가 언어 모델을 사용하여 하나 이상의 추가 전사가 결정될 수 있다. 추가적인 신뢰도 스코어가 각 추가 전사에 대해 결정될 수 있다. 해석될 전사는 각 신뢰도 스코어에 적어도 부분적으로 기초하여 선택될 수 있다.
도 7은 본 발명의 예시적인 실시예에 따라 음성 발언의 전사를 해석하는 예시적인 방법(500)의 흐름도를 도시한다. 방법(500)은 도 8에 도시된 하나 이상의 컴퓨팅 디바이스와 같은 하나 이상의 컴퓨팅 디바이스에 의해 구현될 수 있다. 일부 구현예에서, 방법(300)은 도 1에 도시된 해석기(110)에 의해 구현될 수 있다.
단계(502)에서, 방법(500)은 디바이스 토폴로지 표현내에 지정된 하나 이상의 디바이스 식별자들에 대한 전사를 비교하는 단계를 포함할 수 있다. 단계(504)에서, 방법(500)은 선택된 디바이스들이 디바이스 식별자들에 적어도 부분적으로 기초하여 결정될 수 있는지를 결정하는 단계를 포함할 수 있다. 예를 들어, 선택된 디바이스는 디바이스 식별자(들)와 전사 사이에 상관 관계가 만들어 질 수 있는지여부가 결정될 수 있다. 상관 관계는 하나 이상의 디바이스 식별자가 전사 내의 하나 이상의 용어와 매치하는 경우 및/또는 하나 이상의 디바이스 식별자가 전사 내의 하나 이상의 용어와 충분히 유사한 경우에 하나 이상의 디바이스 식별자가 있으면 만들어질 수 있다. 일부 구현예에서, 선택된 디바이스는 디바이스 토폴로지 표현 및 전사 내에 정의된 다수의 디바이스들사이에 상관 관계가 형성되면 결정될 수 없을 수도 있다. 예를 들어, 만약 다수의 디바이스가 동일하거나 유사한 디바이스 식별자를 갖는 경우, 선택된 디바이스는 결정될 수 없다. 만약 선택된 디바이스(들)가 결정될 수 있는 경우, 단계(506)에서, 방법(500)은 선택된 디바이스(들) 및 그 선택된 디바이스들에 의해 수행될 액션을 결정하는 단계를 포함할 수 있다.
선택된 디바이스들이 결정될 수 없는 경우, 단계(508)에서, 방법(500)은 디바이스 토폴로지 표현내에 지정된 하나 이상의 디바이스 속성에 대한 전사를 비교하는 단계를 포함할 수 있다. 상술한 바와 같이, 디바이스 속성은 디바이스 유형 및/또는 디바이스의 하나 이상의 기능을 나타낼 수 있다. 이러한 방식으로, 디바이스 속성은 전사 내의 하나 이상의 용어들과 비교되어, 하나 이상의 용어와 디바이스 속성들 사이의 상관 관계를 결정할 수 있다. 전사와 하나 이상의 디바이스 속성의 상관 관계는 선택된 디바이스들에 대한 증거(evidence)를 제공할 수 있다. 예를 들어, 상관 관계가 발견되면, 상관된 디바이스 속성을 갖는 디바이스들만이 선택 디바이스로서 선택되어야 한다고 결정될 수 있다. 이러한 방식으로 상관 관계는 선택될 디바이스들을 결정할 때 디바이스를 좁히는데 도움이 될 수 있다.
단계(510)에서, 방법(500)은 선택(된) 디바이스들이 결정될 수 있는지 여부를 결정하는 단계를 포함할 수 있다. 특히, 선택된 디바이스가 결정될 수 있는지 여부를 결정하는 단계는 상기 선택된 디바이스들이 하나 이상의 디바이스 속성 및/또는 하나 이상의 디바이스 식별자에 대한 전사의 비교에 적어도 부분적으로 기초하여 결정될 수 있는지 여부를 결정하는 단계를 포함할 수 있다. 만약 선택된 디바이스들이 결정될 수 있는 경우, 방법(500)은 단계(506)로 돌아갈 수 있고, 수행될 하나 이상의 액션이 결정될 수 있다.
만약 선택된 디바이스들이 결정될 수 없는 경우(512), 방법(500)은 디바이스 토폴로지 표현에 대한 사용자의 위치를 결정하는 단계를 포함할 수 있다. 전술한 바와 같이, 제어 디바이스가 디바이스 토폴로지 표현의 구성 토폴로지 내의 지정된 디바이스인 경우, 사용자의 위치는 디바이스 토폴로지 표현 내에서 제어 디바이스의 위치에 대응할 수 있다. 제어 디바이스가 디바이스 토폴로지 표현 내에 지정되지 않는 경우, 사용자 위치는 무선 액세스 포인트 및/또는 비콘 디바이스를 사용하는 기술과 같은 다양한 적절한 위치 결정 기술에 기초하여 결정될 수 있다. 그런 다음 결정된 사용자 위치는 디바이스 토폴로지 표현 내의 지정된 구조 및 룸에 매핑될 수 있다.
단계(514)에서, 방법(500)은 디바이스 토폴로지 표현에 지정된 디바이스 토폴로지와 상대적인 사용자 위치를 비교하는 단계를 포함할 수 있다. 예를 들어, 구조 내 사용자의 위치는 디바이스 토폴로지 표현 내에 지정된 대로 해당 위치와 관련된 디바이스들과 비교될 수 있다. 이러한 방식으로, 선택된 디바이스들은 사용자가 위치하는 방에 배치된 디바이스인 것으로 추론될 수 있다. 예를 들어, 전사가 "조명 켜기"라고 판독되면 사용자가 위치하는 룸에 배치된 디바이스들을 분석하여 해당 룸과 관련된 하나 이상의 조명 디바이스를 식별할 수 있다. 이러한 방식으로, 선택된 디바이스들로서 선택된 디바이스가 사용자가 현재 위치하는 룸에 배치된 조명 디바이스임을 추론할 수 있다.
단계(516)에서, 방법(500)은 선택된 디바이스들이 결정될 수 있는지 여부를 결정하는 단계를 포함할 수 있다. 특히, 선택된 디바이스들이 결정될 수 있는지 여부를 결정하는 단계는 하나 이상의 디바이스 속성, 하나 이상의 디바이스 식별자 및/또는 상대적인 사용자 위치에 대한 전사의 비교에 적어도 부분적으로 기초하여 상기 선택된 디바이스들이 결정될 수 있는지 여부를 결정하는 단계를 포함할 수 있다. 선택된 디바이스들이 결정될 수 있는 경우, 방법(500)은 단계(506)로 복귀하는 단계를 포함할 수 있으며, 수행될 액션이 결정될 수 있다. 선택된 디바이스들이 결정될 수 없는 경우, 단계(518)에서, 방법(500)은 사용자로부터 더 많은 정보를 요청하는 단계를 포함할 수 있다. 예를 들어, 제어 디바이스의 사용자 인터페이스 또는 음성 명령에 관한 더 많은 정보를 사용자에게 묻는 다른 적절한 디바이스에서 사용자에게 프롬프트가 제공될 수 있다.
다양한 상황에서, 선택된 디바이스들 및/또는 수행될 액션들은 하나 이상의 디바이스 식별자, 디바이스 속성 또는 상대적인 사용자 위치에 적어도 부분적으로 기초하여 결정될 수 있음을 이해할 것이다 이러한 방식으로, 사용자 및/또는 디바이스 토폴로지 표현과 관련된 다양한 데이터가 음성 발언과 관련된 하나 이상의 선택된 디바이스를 결정하거나 추론하도록 액세스 및/또는 결정될 수 있다. 전사 및 디바이스 토폴로지 표현의 특정 구성에 따라, 위에서 언급된 인자들의 다양한 적절한 조합이 상기 선택된 디바이스들 및/또는 수행될 액션들을 결정하는데 사용될 수 있다. 이러한 방식으로, 디바이스 토폴로지 표현 및/또는 사용자 위치의 다양한 양태가 상기 선택된 디바이스들 및/또는 수행될 액션들을 결정하기 위해 다양한 방식으로 사용될 수 있음을 이해할 것이다.
도 8은 본 발명의 예시적인 양태에 따른 방법 및 시스템을 구현하는데 사용될 수 있는 예시적인 컴퓨팅 시스템(700)을 도시한다. 시스템(700)은 네트워크(740)를 통해 하나 이상의 클라이언트 디바이스(730)와 통신하는 서버(710)를 포함하는 클라이언트-서버 아키텍처를 이용하여 구현될 수 있다. 시스템(700)은 단일 컴퓨팅 디바이스와 같은 다른 적합한 아키텍처를 사용하여 구현될 수 있다.
시스템(700)은 웹 서버와 같은 서버(710)를 포함한다. 서버(710)는 임의의 적절한 컴퓨팅 디바이스(들)를 사용하여 구현될 수 있다. 서버(710)는 하나 이상의 프로세서(712) 및 하나 이상의 메모리 디바이스(714)를 가질 수 있다. 서버(710)는 또한 네트워크(740)를 통해 하나 이상의 클라이언트 디바이스(730)와 통신하는데 사용되는 네트워크 인터페이스를 포함할 수 있다. 네트워크 인터페이스는 예를 들어 송신기, 수신기, 포트, 컨트롤러, 안테나 또는 다른 적절한 구성 요소를 포함하여, 하나 이상의 네트워크와 인터페이스하기 위한 임의의 적절한 구성 요소를 포함할 수 있다.
하나 이상의 프로세서(712)는 마이크로 프로세서, 마이크로 컨트롤러, 집적 회로, 로직 디바이스 또는 다른 적절한 프로세싱 디바이스와 같은 임의의 적절한 프로세싱 디바이스를 포함할 수 있다. 하나 이상의 메모리 디바이스(714)는 비-일시적 컴퓨터 판독 가능 매체, RAM, ROM, 하드 드라이브, 플래시 드라이브 또는 다른 메모리 디바이스를 포함하지만 이에 제한되지 않는 하나 이상의 컴퓨터 판독 가능 매체를 포함할 수 있다. 하나 이상의 메모리 디바이스(714)는 하나 이상의 프로세서(712)에 의해 실행될 수 있는 컴퓨터 판독 가능 명령(716)을 포함하여, 하나 이상의 프로세서(712)에 의해 액세스 가능한 정보를 저장할 수 있다. 명령들(716)은 하나 이상의 프로세서들(712)에 의해 실행될 때 하나 이상의 프로세서들(712)로 하여금 동작들을 수행하게 하는 임의의 명령 세트일 수 있다. 예를 들어, 명령들 (716)은 하나 이상의 프로세서(712)에 의해 실행되어, 도 1을 참조하여 기술된 바이어서(106), 전사기(108), 해석기(110) 또는 명령 생성기(112)를 구현할 수 있다.
도 8에 도시된 바와 같이, 하나 이상의 메모리 디바이스(714)는 또한 하나 이상의 프로세서(712)에 의해 검색, 조작, 생성 또는 저장될 수 있는 데이터(718)를 저장할 수 있다. 데이터(718)는 예를 들어, 언어 모델 데이터, 디바이스 토폴로지 표현 데이터 및 다른 데이터를 포함할 수 있다. 데이터(718)는 하나 이상의 데이터베이스에 저장될 수 있다. 하나 이상의 데이터베이스는 고 대역폭 LAN 또는 WAN에 의해 서버(710)에 연결될 수 있거나 네트워크(740)를 통해 서버(710)에 연결될 수 있다. 하나 이상의 데이터베이스가 다수의 장소(locales)에 위치하도록 분할될 수 있다.
서버(710)는 네트워크(740)를 통해 하나 이상의 클라이언트 디바이스(730)와 데이터를 교환할 수 있다. 임의의 수의 클라이언트 디바이스(730)가 네트워크(740)를 통해 서버(710)에 접속될 수 있다. 하나 이상의 클라이언트 디바이스(730)는 홈 자동화 서비스, 스마트 홈 서비스, 사물 인터넷 서비스 및/또는 다른 적절한 서비스를 제공하도록 구성된 스마트 디바이스일 수 있다. 스마트 디바이스는 에어컨 시스템, 조명 디바이스, 홈 시어터 및 엔터테인먼트 시스템, 보안 시스템, 자동 도어 잠금 시스템, 온도 조절 디바이스, 홈 자동화 시스템, 사운드 스피커, 카메라 디바이스, 러닝 머신, 체중계, 스마트 침대, 관개 시스템, 차고 도어 개폐기, 가전 제품, 베이비 모니터, 화재 경보기 및/또는 다른 적절한 디바이스 또는 시스템을 포함하거나 관련될 수 있다. 하나 이상의 클라이언트 디바이스는 또한 범용 컴퓨터, 특수 목적 컴퓨터, 랩탑, 데스크탑, 모바일 디바이스, 네비게이션 시스템, 스마트 폰, 태블릿, 웨어러블 컴퓨팅 디바이스, 하나 이상의 프로세서를 갖는 디스플레이 또는 다른 적절한 컴퓨팅 디바이스와 같은 사용자 컴퓨팅 디바이스일 수 있다.
서버(710)와 유사하게, 클라이언트 디바이스(730)는 하나 이상의 프로세서(들)(732) 및 메모리(734)를 포함할 수 있다. 하나 이상의 프로세서(들)(732)는 하나 이상의 중앙 처리 장치(CPU), 효율적으로 이미지를 렌더링하거나 다른 특수한 계산을 수행하기 위한 전용 그래픽 처리 디바이스(GPU) 및/또는 다른 프로세싱 디바이스를 포함할 수 있다. 메모리(734)는 하나 이상의 컴퓨터 판독 가능 매체를 포함할 수 있고, 하나 이상의 프로세서(732) 및 데이터(738)에 의해 실행될 수 있는 명령들(736)을 포함하여, 하나 이상의 프로세서(732)에 의해 액세스 가능한 정보를 저장할 수 있다. 예를 들어, 메모리(734)는 사용자 인터페이스를 구현하기 위한 명령들(736)을 저장할 수 있다.
도 8의 클라이언트 디바이스(730)는 터치 스크린, 터치 패드, 데이터 입력 키, 스피커 및/또는 음성 인식에 적합한 마이크로폰과 같이 사용자로부터 정보를 제공하고 수신하기 위한 다양한 입/출력 디바이스들(737)을 포함할 수 있다. 예를 들어, 클라이언트 디바이스(730)는 본 발명의 예시적인 양태에 따라 사용자 인터페이스를 제시하기 위한 디스플레이 디바이스(735)를 가질 수 있다.
클라이언트 디바이스(730)는 또한 네트워크(740)를 통해 하나 이상의 원격 컴퓨팅 디바이스(예를 들어, 서버(710))과 통신하는데 사용되는 네트워크 인터페이스를 포함할 수 있다. 네트워크 인터페이스는 예를 들어 송신기, 수신기, 포트, 컨트롤러, 안테나 또는 다른 적절한 구성 요소를 포함하여, 하나 이상의 네트워크와 인터페이스하기 위한 임의의 적절한 구성 요소를 포함할 수 있다.
네트워크(740)는 근거리 통신망(예컨대, 인트라넷), 광역 네트워크(예컨대, 인터넷), 셀룰러 네트워크 또는 이들의 일부 조합과 같은 임의의 유형의 통신 네트워크 일 수 있다. 네트워크(740)는 또한 클라이언트 디바이스(730)와 서버(710) 간의 직접 연결을 포함할 수 있다. 일반적으로, 서버(710)와 클라이언트 디바이스(730) 사이의 통신은 다양한 통신 프로토콜(예를 들어, TCP/IP, HTTP, SMTP, FTP), 인코딩 또는 포멧(예컨대, HTML, XML), 및/또는 체계(예컨대, VPN, 보안 HTTP, SSL)를 사용하는, 임의의 유형의 유선 및/또는 무선 접속을 사용하는 네트워크 인터페이스를 통해 수행될 수 있다.
본 발명의 일 예시적인 양태는 음성 발언을 처리하는 컴퓨터 구현 방법에 관한 것이다. 이 방법은 하나 이상의 컴퓨팅 디바이스에 의해 음성 발언을 나타내는 데이터를 수신하는 단계를 포함할 수 있다. 음성 발언는 사용자에 의해 제어 디바이스로 제공될 수 있다. 이 방법은 하나 이상의 컴퓨팅 디바이스에 의해 디바이스 토폴로지 표현을 액세스하는 단계를 포함할 수 있다. 디바이스 토폴로지 표현은 하나 이상의 구조와 연관된 복수의 스마트 디바이스를 정의할 수 있다. 디바이스 토폴로지 표현은 관련 구조들 내의 복수의 디바이스 및 제어 디바이스 각각의 위치를 추가로 정의할 수 있다. 이 방법은 하나 이상의 컴퓨팅 디바이스에 의해, 음성 발언을 나타내는 데이터에 적어도 부분적으로 기초하고 상기 디바이스 토폴로지 표현에 의해 정의된 바와 같은 상기 관련 구조 내의 제어 디바이스의 위치에 적어도 부분적으로 더 기초하여 하나 이상의 선택된 디바이스 및 그 하나 이상의 선택된 디바이스에 의해 수행될 하나 이상의 액션을 결정하는 단계를 포함할 수 있다.
일부 구현예에서, 하나 이상의 컴퓨팅 디바이스에 의해, 하나 이상의 선택된 디바이스를 결정하는 단계는 하나 이상의 컴퓨팅 디바이스에 의해, 상기 제어 디바이스와 동일한 위치를 공유하는 상기 복수의 디바이스의 서브 세트를 식별하는 단계; 및 하나 이상의 컴퓨팅 디바이스에 의해, 상기 복수의 디바이스의 상기 식별된 서브 세트로부터 상기 하나 이상의 선택된 디바이스를 결정하는 단계를 포함할 수 있다.
일부 구현예에서, 상기 디바이스 토폴로지 표현은 상기 하나 이상의 구조 각각 내에 하나 이상의 룸을 정의할 수 있다. 상기 디바이스 토폴로지 표현에 의해 정의된 복수의 디바이스 각각 및 상기 제어 디바이스의 위치는 하나 이상의 룸 중 적어도 하나에 각각 대응할 수 있다.
일부 구현예에서, 하나 이상의 컴퓨팅 디바이스에 의해, 상기 하나 이상의 선택된 디바이스를 결정하는 단계는 하나 이상의 컴퓨팅 디바이스에 의해, 상기 제어 디바이스와 동일한 룸에 위치된 상기 복수의 디바이스의 서브 세트를 식별하는 단계; 및 하나 이상의 컴퓨팅 디바이스에 의해, 상기 복수의 디바이스의 상기 식별된 서브 세트로부터 상기 하나 이상의 선택된 디바이스를 결정하는 단계를 포함할 수 있다.
일부 구현예에서, 하나 이상의 컴퓨팅 디바이스에 의해, 상기 복수의 디바이스의 상기 식별된 서브 세트로부터 상기 하나 이상의 선택된 디바이스를 결정하는 단계는 하나 이상의 컴퓨팅 디바이스에 의해, 상기 음성 발언에 의해 참조되는 하나 이상의 디바이스 속성을 식별하는 단계; 및 하나 이상의 컴퓨팅 디바이스에 의해, 상기 복수의 디바이스의 상기 서브 세트 중 어느 것이 상기 하나 이상의 디바이스 속성을 갖는지를 식별하는 단계를 포함할 수 있다.
일부 구현예에서, 상기 제어 디바이스는 복수의 디바이스 중 하나이다.
일부 구현예에서, 상기 디바이스 토폴로지 표현은 하나 이상의 디바이스 식별자 및 상기 복수의 디바이스 각각에 대한 하나 이상의 디바이스 속성을 지정할 수 있다.
일부 구현예에서, 하나 이상의 컴퓨팅 디바이스에 의해, 상기 하나 이상의 선택된 디바이스 및 상기 하나 이상의 액션을 결정하는 단계는 하나 이상의 컴퓨팅 디바이스에 의해, 상기 디바이스 토폴로지 표현에 지정된 상기 하나 이상의 디바이스 식별자 중 적어도 하나에 적어도 부분적으로 기초하여 상기 하나 이상의 선택된 디바이스 및 상기 하나 이상의 액션을 결정하는 단계를 포함할 수 있다.
일부 구현예에서, 하나 이상의 컴퓨팅 디바이스에 의해, 상기 하나 이상의 선택된 디바이스 및 상기 하나 이상의 액션을 결정하는 단계는 하나 이상의 컴퓨팅 디바이스에 의해, 상기 디바이스 토폴로지 표현에 지정된 상기 하나 이상의 디바이스 속성 중 적어도 하나에 적어도 부분적으로 기초하여 상기 하나 이상의 선택된 디바이스 및 상기 하나 이상의 액션을 결정하는 단계를 포함할 수 있다.
일부 구현예에서, 상기 방법은 하나 이상의 컴퓨팅 디바이스에 의해, 상기 하나 이상의 선택된 디바이스 및 상기 하나 이상의 액션에 적어도 부분적으로 기초하여 하나 이상의 제어 명령을 결정하는 단계를 더 포함할 수 있으며, 상기 하나 이상의 제어 명령은 하나 이상의 액션을 수행하도록 상기 하나 이상의 선택된 디바이스에 각각 지시한다. 일부 구현예에서, 상기 방법은 하나 이상의 컴퓨팅 디바이스에 의해, 상기 하나 이상의 제어 명령을 상기 하나 이상의 선택된 디바이스에 제공하는 단계를 더 포함할 수 있다.
일부 구현예에서, 상기 방법을 실행하는 하나 이상의 컴퓨팅 디바이스는 제어 디바이스로 구성될 수 있다.
본 발명의 다른 예시적인 양태는 하나 이상의 프로세서 및 하나 이상의 메모리 디바이스를 포함하는 컴퓨팅 시스템에 관한 것이다. 하나 이상의 메모리 디바이스는 하나 이상의 프로세서에 의해 실행될 때 하나 이상의 프로세서로 하여금 동작들을 수행하게 하는 컴퓨터 판독 가능 명령을 저장할 수 있다. 상기 동작들은 음성 발언을 나타내는 데이터를 수신하는 단계를 포함할 수 있다. 상기 음성 발언는 사용자에 의해 제어 디바이스로 제공될 수 있다. 상기 동작들은 디바이스 토폴로지 표현에 액세스하는 단계를 포함할 수 있다. 상기 디바이스 토폴로지 표현은 하나 이상의 구조와 관련된 복수의 스마트 디바이스를 정의할 수 있다. 상기 디바이스 토폴로지 표현은 관련된 구조들 내의 복수의 디바이스 각각 및 제어 디바이스의 위치를 추가로 정의할 수 있다. 상기 동작들은 음성 발언을 나타내는 데이터에 적어도 부분적으로 기초하고 상기 디바이스 토폴로지 표현에 의해 정의되는 것과 같이상기 관련 구조들 내의 제어 디바이스의 위치에 적어도 부분적으로 더 기초하여 하나 이상의 선택된 디바이스 및 그 하나 이상의 선택된 디바이스에 의해 수행될 하나 이상의 액션을 결정하는 단계를 포함할 수 있다.
일부 구현예에서, 상기 하나 이상의 선택된 디바이스를 결정하는 단계는, 상기 제어 디바이스와 동일한 위치를 공유하는 복수의 디바이스의 서브 세트를 식별하는 단계; 및 상기 복수의 디바이스의 상기 식별된 서브 세트로부터 상기 하나 이상의 선택된 디바이스를 결정하는 단계를 포함할 수 있다.
일부 구현예에서, 상기 디바이스 토폴로지 표현은 하나 이상의 구조 각각 내에 하나 이상의 룸을 정의할 수 있다. 상기 디바이스 토폴로지 표현에 의해 정의된 복수의 디바이스 각각 및 상기 제어 디바이스의 위치는 상기 하나 이상의 룸들 중 적어도 하나에 각각 대응할 수 있다.
일부 구현예에서, 상기 하나 이상의 선택된 디바이스를 결정하는 단계는, 상기 제어 디바이스와 동일한 룸에 위치되는 복수의 디바이스의 서브 세트를 식별하는 단계; 및 상기 복수의 디바이스의 상기 식별된 서브 세트로부터 상기 하나 이상의 선택된 디바이스를 결정하는 단계를 포함할 수 있다.
일부 구현예에서, 상기 복수의 디바이스의 상기 식별된 서브 세트로부터 상기 하나 이상의 선택된 디바이스를 결정하는 단계는, 음성 발언에 의해 참조되는 하나 이상의 디바이스 속성을 식별하는 단계; 및 상기 복수의 디바이스의 상기 서브 세트 중 어느 것이 상기 하나 이상의 디바이스 속성을 갖는지를 식별하는 단계를 포함할 수 있다.
일부 구현예에서, 상기 동작들은 상기 하나 이상의 선택된 디바이스 및 상기 하나 이상의 액션에 적어도 부분적으로 기초하여 하나 이상의 제어 명령을 결정하는 단계, 상기 하나 이상의 제어 명령은 상기 하나 이상의 액션을 수행하도록 상기 하나 이상의 선택된 디바이스에 각각 지시하고; 및 상기 하나 이상의 제어 명령을 상기 하나 이상의 선택된 디바이스에 제공하는 단계를 더 포함할 수 있다.
일부 구현예에서, 상기 컴퓨팅 시스템은 제어 디바이스를 포함할 수 있고, 상기 제어 디바이스는 하나 이상의 프로세서 및 하나 이상의 메모리 디바이스를 포함할 수 있다.
본 발명의 다른 예시적인 양태는 컴퓨터 구현 방법에 관한 것이다. 상기 방법은 하나 이상의 컴퓨팅 디바이스에 의해, 디바이스 토폴로지 표현에 포함된 복수의 디바이스 각각에 대한 각각의 위치를 기술하는 디바이스 토폴로지 표현을 획득하는 단계를 포함할 수 있다. 상기 복수의 디바이스는 하나 이상의 제어 디바이스를 포함할 수 있다. 상기 방법은 하나 이상의 컴퓨팅 디바이스에 의해, 음성 발언을 획득하는 단계를 포함할 수 있다. 상기 방법은 하나 이상의 컴퓨팅 디바이스에 의해, 사용자에 의해 음성 발언이 제공되는 하나 이상의 제어 디바이스 중 제1 제어 디바이스를 식별하는 단계를 포함할 수 있다. 상기 방법은 하나 이상의 컴퓨팅 디바이스에 의해, 상기 음성 발언이 제공되는 제1 제어 디바이스와 동일한 위치를 갖는 것으로 상기 디바이스 토폴로지 표현에 의해 기술되는 상기 복수의 디바이스의 서브 세트를 결정하는 단계를 포함할 수 있다. 상기 방법은 하나 이상의 컴퓨팅 디바이스에 의해, 상기 음성 발언을 나타내는 데이터에 적어도 부분적으로 기초하여 상기 복수의 디바이스의 상기 서브 세트로부터 하나 이상의 선택된 디바이스를 결정하는 단계를 포함할 수 있다.
일부 구현예에서, 상기 디바이스 토폴로지 표현은 상기 복수의 디바이스 각각에 대한 특정 룸을 지정할 수 있다. 일부 구현예에서, 하나 이상의 컴퓨팅 디바이스에 의해, 상기 복수의 디바이스의 서브 세트를 결정하는 단계는 하나 이상의 컴퓨팅 디바이스에 의해, 상기 디바이스 토폴로지 표현이 상기 음성 발언이 제공되는 제1 제어 디바이스와 동일한 룸을 지정하는 강기 복수의 디바이스의 상기 서브 세트를 식별하는 단계를 포함할 수 있다.
일부 구현예에서, 상기 하나 이상의 컴퓨팅 디바이스는 제1 제어 디바이스가 컴퓨터 구현 방법을 수행하도록 제1 제어 디바이스로 구성될 수 있다. 일부 구현예에서, 상기 복수의 디바이스는 복수의 제어 디바이스를 포함할 수 있다. 일부 구현예에서, 상기 복수의 제어 디바이스는 복수의 위치와 각각 관련될 수 있다. 예를 들면, 상기 복수의 제어 디바이스는 복수의 룸과 각각 관련될 수 있다.
본 명세서에서 설명된 기술은 서버, 데이터베이스, 소프트웨어 애플리케이션 및 기타 컴퓨터 기반 시스템뿐만 아니라 취해진 액션 및 그러한 시스템과 송수신하는 정보를 참조한다. 당업자는 컴퓨터 기반 시스템의 고유한 유연성이 구성 요소들 사이에서 가능한 많은 구성, 조합, 및 작업 및 기능의 분할을 허용한다는 것을 인식할 것이다. 예를 들어, 본 명세서에 설명된 서버 프로세스는 단일 서버 또는 조합으로 작동하는 다중 서버를 사용하여 구현될 수 있다. 데이터베이스와 애플리케이션은 단일 시스템에 구현되거나 여러 시스템에 걸쳐 분산될 수 있다. 분산된 구성 요소들은 순차적으로 또는 병렬로 작동할 수 있다.
본 발명은 그 특정 실시예에 관해서 상세하게 설명되었지만, 당업자는 전술 한 내용을 이해할 때 그러한 실시예에 대한 변경, 변형 및 등가물을 용이하게 생성할 수 있음을 이해할 것이다. 따라서, 본 발명의 범위는 제한을 위한 것이라기 보다는 예로서, 본 발명은 당업자에게 용이하게 명백한 바와 같이 본 발명의 주제에 대한 그러한 수정, 변형 및/또는 추가의 포함을 배제하지 않는다.

Claims (20)

  1. 음성 발언을 처리하는 컴퓨터 구현 방법으로서,
    하나 이상의 컴퓨팅 디바이스에 의해, 사용자에 의해 제어 디바이스로 제공되는 음성 발언(voice utterance)을 나타내는 데이터를 수신하는 단계;
    하나 이상의 컴퓨팅 디바이스에 의해, 사용자와 관련된 하나 이상의 구조 내의 복수의 스마트 디바이스 및 그 복수의 스마트 디바이스 각각의 위치를 정의하는 디바이스 토폴로지 표현(topology representation)에 액세스하는 단계, 상기 디바이스 토폴로지 표현은 각각의 스마트 디바이스에 대한 하나 이상의 디바이스 식별자 및 복수의 스마트 디바이스가 수행할 수 있는 하나 이상의 액션과 관련된 하나 이상의 디바이스 속성을 더 정의하고;
    하나 이상의 컴퓨팅 디바이스에 의해, 상기 디바이스 토폴로지 표현에 적어도 부분적으로 기초하여 음성 발언의 전사(transcription)를 결정하는 단계; 및
    하나 이상의 컴퓨팅 디바이스에 의해, 상기 전사 및 상기 디바이스 토폴로지 표현 사이의 상관 관계(correlation)에 적어도 부분적으로 기초하여 하나 이상의 선택된 스마트 디바이스 및 그 하나 이상의 선택된 스마트 디바이스에 의해 수행될 하나 이상의 액션을 결정하는 단계를 포함하고, 상기 상관 관계는 상기 전사내의 하나 이상의 용어와 상기 디바이스 토폴로지 표현 내의 디바이스 식별자들 및 디바이스 속성들 중 적어도 하나 사이의 비교에 기초하여 결정되고, 상기 하나 이상의 선택된 스마트 디바이스 및 상기 하나 이상의 액션을 결정하는 단계는,
    상기 디바이스 토폴로지 표현에 적어도 부분적으로 기초하여 상기 전사의 의미론적(semantic) 해석을 결정하는 단계와;
    상기 전사의 의미론적 해석에 기초하여:
    상기 전사에 디바이스 식별자가 지정된 경우, 상기 디바이스 토폴로지 표현으로부터, 상기 전사에 지정된 디바이스 식별자와 관련된 디바이스 속성들에 기초하여 수행될 액션을 결정하는 단계와; 그리고
    상기 전사에 디바이스 식별자가 지정되지 않은 경우, 상기 디바이스 토폴로지 표현으로부터, 상기 전사에 지정된 액션을 수행할 수 있는 디바이스 식별자들에 기초하여 하나 이상의 스마트 디바이스를 결정하는 단계를 포함하고, 상기 디바이스 식별자들에 기초하여 결정된 하나 이상의 스마트 디바이스는 동일하거나 유사한 이름 또는 식별자를 갖는 것을 특징으로 하는 음성 발언을 처리하는 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    하나 이상의 컴퓨팅 디바이스에 의해, 음성 발언의 전사를 결정하는 단계는,
    하나 이상의 컴퓨팅 디바이스에 의해, 음성 발언을 나타내는 데이터를 범용 언어 모델에 제공하는 단계;
    하나 이상의 컴퓨팅 디바이스에 의해, 상기 범용 언어 모델에 적어도 부분적으로 기초하여 음성 발언의 제1 전사를 결정하는 단계; 및
    하나 이상의 컴퓨팅 디바이스에 의해, 상기 제1 전사와 관련된 제1 신뢰도 스코어를 결정하는 단계를 포함하는 것을 특징으로 하는 음성 발언을 처리하는 컴퓨터 구현 방법.
  3. 제2항에 있어서,
    하나 이상의 컴퓨팅 디바이스에 의해, 음성 발언의 전사를 결정하는 단계는,
    하나 이상의 컴퓨팅 디바이스에 의해, 상기 디바이스 토폴로지 표현에 적어도 부분적으로 기초하여 결정되는 개인 언어 모델에 상기 음성 발언을 나타내는 데이터를 제공하는 단계;
    하나 이상의 컴퓨팅 디바이스에 의해, 상기 개인 언어 모델에 적어도 부분적으로 기초하여 음성 발언의 제2 전사를 결정하는 단계;
    하나 이상의 컴퓨팅 디바이스에 의해, 상기 제2 전사와 관련된 제2 신뢰도 스코어를 결정하는 단계; 및
    하나 이상의 컴퓨팅 디바이스에 의해, 상기 제1 및 제2 신뢰도 스코어에 적어도 부분적으로 기초하여 해석될 제1 전사 또는 제2 전사를 선택하는 단계를 포함하는 것을 특징으로 하는 음성 발언을 처리하는 컴퓨터 구현 방법.
  4. 제1항에 있어서,
    하나 이상의 컴퓨팅 디바이스에 의해, 하나 이상의 선택된 스마트 디바이스 및 하나 이상의 액션을 결정하는 단계는,
    상기 사용자와 관련된 문맥 데이터에 적어도 부분적으로 더 기초하는 것을 특징으로 하는 음성 발언을 처리하는 컴퓨터 구현 방법.
  5. 제4항에 있어서,
    상기 사용자와 관련된 문맥 데이터는,
    상기 디바이스 토폴로지 표현에 지정된 하나 이상의 스마트 디바이스의 위치에 관련하여 사용자와 관련된 위치 데이터를 포함하는 것을 특징으로 하는 음성 발언을 처리하는 컴퓨터 구현 방법.
  6. 제1항에 있어서,
    상기 디바이스 토폴로지 표현은,
    상기 하나 이상의 구조 각각 내의 하나 이상의 룸(room)을 정의하고, 상기 복수의 스마트 디바이스 각각의 위치는 상기 하나 이상의 룸 중 적어도 하나에 대응하는 것을 특징으로 하는 음성 발언을 처리하는 컴퓨터 구현 방법.
  7. 삭제
  8. 제1항에 있어서,
    하나 이상의 컴퓨팅 디바이스에 의해, 하나 이상의 선택된 스마트 디바이스 및 하나 이상의 액션을 결정하는 단계는,
    상기 디바이스 토폴로지 표현에 정의된 하나 이상의 디바이스 식별자 중 적어도 하나에 적어도 부분적으로 더 기초하는 것을 특징으로 하는 음성 발언을 처리하는 컴퓨터 구현 방법.
  9. 제1항에 있어서,
    하나 이상의 컴퓨팅 디바이스에 의해, 하나 이상의 선택된 스마트 디바이스 및 하나 이상의 액션을 결정하는 단계는,
    상기 디바이스 토폴로지 표현에 정의된 하나 이상의 디바이스 속성 중 적어도 하나에 적어도 부분적으로 더 기초하는 것을 특징으로 하는 음성 발언을 처리하는 컴퓨터 구현 방법.
  10. 제1항에 있어서,
    하나 이상의 컴퓨팅 디바이스에 의해, 상기 하나 이상의 선택된 스마트 디바이스 및 하나 이상의 액션에 적어도 부분적으로 기초하여 하나 이상의 제어 명령을 결정하는 단계, 상기 하나 이상의 제어 명령은 상기 하나 이상의 액션을 수행하도록 상기 하나 이상의 선택된 스마트 디바이스에 각각 지시하고; 및
    하나 이상의 컴퓨팅 디바이스에 의해, 하나 이상의 선택된 스마트 디바이스에 상기 하나 이상의 제어 명령을 제공하는 단계를 더 포함하는 것을 특징으로 하는 음성 발언을 처리하는 컴퓨터 구현 방법.
  11. 음성 발언을 처리하는 컴퓨팅 시스템에 있어서,
    하나 이상의 프로세서와; 그리고
    하나 이상의 프로세서들에 의해 실행될 때 하나 이상의 프로세서들로 하여금 동작들을 수행하게 하는 컴퓨터 판독 가능 명령을 저장하는 하나 이상의 메모리 디바이스를 포함하고, 상기 동작들은,
    사용자에 의해 제어 디바이스에 제공되는 음성 발언을 나타내는 데이터를 수신하는 단계;
    사용자와 관련된 하나 이상의 구조 내의 복수의 스마트 디바이스 및 그 복수의 스마트 디바이스 각각의 위치를 정의하는 디바이스 토폴로지 표현에 액세스하는 단계, 상기 디바이스 토폴로지 표현은 각각의 스마트 디바이스에 대한 하나 이상의 디바이스 식별자 및 복수의 스마트 디바이스가 수행할 수 있는 하나 이상의 액션과 관련된 하나 이상의 디바이스 속성을 더 정의하고;
    상기 디바이스 토폴로지 표현에 적어도 부분적으로 기초하여 음성 발언의 전사를 결정하는 단계; 및
    상기 전사 및 상기 디바이스 토폴로지 표현 사이의 상관 관계에 적어도 부분적으로 기초하여 하나 이상의 선택된 스마트 디바이스 및 그 하나 이상의 선택된 스마트 디바이스에 의해 수행될 하나 이상의 액션을 결정하는 단계를 포함하고, 상기 상관 관계는 상기 전사 내의 하나 이상의 용어와 상기 디바이스 토폴로지 표현 내의 디바이스 식별자들 및 디바이스 속성들 중 적어도 하나 사이의 비교에 기초하여 결정되고, 상기 하나 이상의 선택된 스마트 디바이스 및 상기 하나 이상의 액션을 결정하는 단계는,
    상기 디바이스 토폴로지 표현에 적어도 부분적으로 기초하여 상기 전사의 의미론적 해석을 결정하는 단계와;
    상기 전사의 의미론적 해석에 기초하여:
    상기 전사에 디바이스 식별자가 지정된 경우, 상기 디바이스 토폴로지 표현으로부터, 상기 전사에 지정된 디바이스 식별자와 관련된 디바이스 속성들에 기초하여 수행될 액션을 결정하는 단계와; 그리고
    상기 전사에 디바이스 식별자가 지정되지 않은 경우, 상기 디바이스 토폴로지 표현으로부터, 상기 전사에 지정된 액션을 수행할 수 있는 디바이스 식별자들에 기초하여 하나 이상의 스마트 디바이스를 결정하는 단계를 포함하고, 상기 디바이스 식별자들에 기초하여 결정된 하나 이상의 스마트 디바이스는 동일하거나 유사한 이름 또는 식별자를 갖는 것을 특징으로 하는 음성 발언을 처리하는 컴퓨팅 시스템.
  12. 제11항에 있어서,
    상기 음성 발언의 전사를 결정하는 단계는,
    상기 디바이스 토폴로지 표현에 적어도 부분적으로 기초하여 범용 언어 모델을 바이어싱하는 단계 및 상기 바이어싱에 적어도 부분적으로 기초하여 상기 전사를 결정하는 단계를 포함하는 것을 특징으로 하는 음성 발언을 처리하는 컴퓨팅 시스템.
  13. 제11항에 있어서,
    상기 동작들은,
    상기 제어 디바이스의 위치에 적어도 부분적으로 기초하여 사용자의 위치를 결정하는 단계를 더 포함하는 것을 특징으로 하는 음성 발언을 처리하는 컴퓨팅 시스템.
  14. 제13항에 있어서,
    상기 사용자와 관련된 위치는,
    상기 디바이스 토폴로지 표현에 정의된 상기 제어 디바이스의 위치에 적어도 부분적으로 기초하여 결정되는 것을 특징으로 하는 음성 발언을 처리하는 컴퓨팅 시스템.
  15. 제13항에 있어서,
    하나 이상의 선택된 스마트 디바이스 및 하나 이상의 액션을 결정하는 단계는,
    상기 디바이스 토폴로지 표현에 정의된 상기 복수의 스마트 디바이스 각각의 위치에 관련하여 사용자와 관련된 위치에 적어도 부분적으로 더 기초하는 것을 특징으로 하는 음성 발언을 처리하는 컴퓨팅 시스템.
  16. 제11항에 있어서,
    상기 디바이스 토폴로지 표현은,
    상기 하나 이상의 구조 각각 내에 하나 이상의 룸을 정의하고, 상기 복수의 스마트 디바이스 각각의 위치는 상기 하나 이상의 룸 중 적어도 하나에 대응하는 것을 특징으로 하는 음성 발언을 처리하는 컴퓨팅 시스템.
  17. 하나 이상의 프로세서에 의해 실행될 때 하나 이상의 프로세서로 하여금 동작들을 수행하게 하는 컴퓨터 판독 가능 명령을 저장하는 하나 이상의 유형의 비-일시적 컴퓨터 판독 가능 매체로서, 상기 동작들은,
    사용자에 의해 제어 디바이스에 제공되는 음성 발언을 나타내는 데이터를 수신하는 단계;
    사용자와 관련된 하나 이상의 구조 내의 복수의 스마트 디바이스 및 그 복수의 스마트 디바이스 각각의 위치를 정의하는 디바이스 토폴로지 표현에 액세스하는 단계, 상기 디바이스 토폴로지 표현은 각각의 스마트 디바이스에 대한 하나 이상의 디바이스 식별자 및 복수의 스마트 디바이스가 수행할 수 있는 하나 이상의 액션과 관련된 하나 이상의 디바이스 속성을 더 정의하고;
    상기 디바이스 토폴로지 표현에 적어도 부분적으로 기초하여 음성 발언의 전사를 결정하는 단계; 및
    상기 전사 및 상기 디바이스 토폴로지 표현 사이의 상관 관계에 적어도 부분적으로 기초하여 하나 이상의 선택된 스마트 디바이스 및 그 하나 이상의 선택된 스마트 디바이스에 의해 수행될 하나 이상의 액션을 결정하는 단계를 포함하고, 상기 상관 관계는 상기 전사내의 하나 이상의 용어와 상기 디바이스 토폴로지 표현 내의 디바이스 식별자들 및 디바이스 속성들 중 적어도 하나 사이의 비교에 기초하여 결정되고, 상기 하나 이상의 선택된 스마트 디바이스 및 상기 하나 이상의 액션을 결정하는 단계는,
    상기 디바이스 토폴로지 표현에 적어도 부분적으로 기초하여 상기 전사의 의미론적 해석을 결정하는 단계와;
    상기 전사의 의미론적 해석에 기초하여:
    상기 전사에 디바이스 식별자가 지정된 경우, 상기 디바이스 토폴로지 표현으로부터, 상기 전사에 지정된 디바이스 식별자와 관련된 디바이스 속성들에 기초하여 수행될 액션을 결정하는 단계와; 그리고
    상기 전사에 디바이스 식별자가 지정되지 않은 경우, 상기 디바이스 토폴로지 표현으로부터, 상기 전사에 지정된 액션을 수행할 수 있는 디바이스 식별자들에 기초하여 하나 이상의 스마트 디바이스를 결정하는 단계를 포함하고, 상기 디바이스 식별자들에 기초하여 결정된 하나 이상의 스마트 디바이스는 동일하거나 유사한 이름 또는 식별자를 갖는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 매체.
  18. 삭제
  19. 제17항에 있어서,
    하나 이상의 선택된 스마트 디바이스 및 하나 이상의 액션을 결정하는 단계는,
    상기 디바이스 토폴로지 표현에 지정된 상기 하나 이상의 디바이스 식별자 중 적어도 하나에 적어도 부분적으로 더 기초하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 매체.
  20. 제17항에 있어서,
    하나 이상의 선택된 스마트 디바이스 및 하나 이상의 액션을 결정하는 단계는,
    상기 디바이스 토폴로지 표현에 지정된 하나 이상의 디바이스 속성 중 적어도 하나에 적어도 부분적으로 더 기초하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 매체.
KR1020197010435A 2016-10-03 2017-09-27 디바이스 토폴로지에 기초한 음성 명령 프로세싱 KR102095514B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662403441P 2016-10-03 2016-10-03
US62/403,441 2016-10-03
PCT/US2017/053600 WO2018067350A1 (en) 2016-10-03 2017-09-27 Processing voice commands based on device topology

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020207008569A Division KR20200035476A (ko) 2016-10-03 2017-09-27 디바이스 토폴로지에 기초한 음성 명령 프로세싱

Publications (2)

Publication Number Publication Date
KR20190042098A KR20190042098A (ko) 2019-04-23
KR102095514B1 true KR102095514B1 (ko) 2020-03-31

Family

ID=60043351

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020207008569A KR20200035476A (ko) 2016-10-03 2017-09-27 디바이스 토폴로지에 기초한 음성 명령 프로세싱
KR1020197010435A KR102095514B1 (ko) 2016-10-03 2017-09-27 디바이스 토폴로지에 기초한 음성 명령 프로세싱

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020207008569A KR20200035476A (ko) 2016-10-03 2017-09-27 디바이스 토폴로지에 기초한 음성 명령 프로세싱

Country Status (8)

Country Link
US (3) US10699707B2 (ko)
EP (1) EP3507798A1 (ko)
JP (2) JP6683893B2 (ko)
KR (2) KR20200035476A (ko)
CN (2) CN113140218A (ko)
DE (2) DE202017105942U1 (ko)
GB (2) GB202000173D0 (ko)
WO (1) WO2018067350A1 (ko)

Families Citing this family (148)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US20120311585A1 (en) 2011-06-03 2012-12-06 Apple Inc. Organizing task items that represent tasks to perform
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
DE212014000045U1 (de) 2013-02-07 2015-09-24 Apple Inc. Sprach-Trigger für einen digitalen Assistenten
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
EP3149728B1 (en) 2014-05-30 2019-01-16 Apple Inc. Multi-command single utterance input method
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10095470B2 (en) 2016-02-22 2018-10-09 Sonos, Inc. Audio response playback
US10264030B2 (en) 2016-02-22 2019-04-16 Sonos, Inc. Networked microphone device control
US9811314B2 (en) 2016-02-22 2017-11-07 Sonos, Inc. Metadata exchange involving a networked playback system and a networked microphone system
US9820039B2 (en) 2016-02-22 2017-11-14 Sonos, Inc. Default playback devices
US9965247B2 (en) 2016-02-22 2018-05-08 Sonos, Inc. Voice controlled media playback system based on user profile
US9947316B2 (en) 2016-02-22 2018-04-17 Sonos, Inc. Voice control of a media playback system
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US9978390B2 (en) 2016-06-09 2018-05-22 Sonos, Inc. Dynamic player selection for audio signal processing
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
US10134399B2 (en) 2016-07-15 2018-11-20 Sonos, Inc. Contextualization of voice inputs
US10152969B2 (en) 2016-07-15 2018-12-11 Sonos, Inc. Voice detection by multiple devices
US10115400B2 (en) 2016-08-05 2018-10-30 Sonos, Inc. Multiple voice services
US9942678B1 (en) 2016-09-27 2018-04-10 Sonos, Inc. Audio playback settings for voice interaction
US9743204B1 (en) 2016-09-30 2017-08-22 Sonos, Inc. Multi-orientation playback device microphones
US10181323B2 (en) 2016-10-19 2019-01-15 Sonos, Inc. Arbitration-based voice recognition
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US11183181B2 (en) 2017-03-27 2021-11-23 Sonos, Inc. Systems and methods of multiple voice services
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10475449B2 (en) 2017-08-07 2019-11-12 Sonos, Inc. Wake-word detection suppression
US10048930B1 (en) 2017-09-08 2018-08-14 Sonos, Inc. Dynamic computation of system response volume
US10446165B2 (en) 2017-09-27 2019-10-15 Sonos, Inc. Robust short-time fourier transform acoustic echo cancellation during audio playback
US10051366B1 (en) 2017-09-28 2018-08-14 Sonos, Inc. Three-dimensional beam forming with a microphone array
US10482868B2 (en) 2017-09-28 2019-11-19 Sonos, Inc. Multi-channel acoustic echo cancellation
US10621981B2 (en) 2017-09-28 2020-04-14 Sonos, Inc. Tone interference cancellation
US10466962B2 (en) 2017-09-29 2019-11-05 Sonos, Inc. Media playback system with voice assistance
US10785562B1 (en) * 2017-12-08 2020-09-22 Verily Life Sciences Llc Position-aware recording devices able to provide context to speech
US10880650B2 (en) 2017-12-10 2020-12-29 Sonos, Inc. Network microphone devices with automatic do not disturb actuation capabilities
US10818290B2 (en) 2017-12-11 2020-10-27 Sonos, Inc. Home graph
US10798053B2 (en) * 2017-12-30 2020-10-06 Intel Corporation Alias-based time-limited lease addressing for internet of things devices
US20190235831A1 (en) * 2018-01-31 2019-08-01 Amazon Technologies, Inc. User input processing restriction in a speech processing system
WO2019152722A1 (en) 2018-01-31 2019-08-08 Sonos, Inc. Device designation of playback and network microphone device arrangements
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US11145299B2 (en) * 2018-04-19 2021-10-12 X Development Llc Managing voice interface devices
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11175880B2 (en) 2018-05-10 2021-11-16 Sonos, Inc. Systems and methods for voice-assisted media content selection
CN108646580A (zh) * 2018-05-14 2018-10-12 中兴通讯股份有限公司 控制对象的确定方法及装置、存储介质、电子装置
US10847178B2 (en) 2018-05-18 2020-11-24 Sonos, Inc. Linear filtering for noise-suppressed speech detection
US10867609B2 (en) * 2018-05-18 2020-12-15 Sorenson Ip Holdings, Llc Transcription generation technique selection
US10959029B2 (en) 2018-05-25 2021-03-23 Sonos, Inc. Determining and adapting to changes in microphone performance of playback devices
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10681460B2 (en) 2018-06-28 2020-06-09 Sonos, Inc. Systems and methods for associating playback devices with voice assistant services
US11076035B2 (en) 2018-08-28 2021-07-27 Sonos, Inc. Do not disturb feature for audio notifications
US10461710B1 (en) 2018-08-28 2019-10-29 Sonos, Inc. Media playback system with maximum volume setting
US10587430B1 (en) 2018-09-14 2020-03-10 Sonos, Inc. Networked devices, systems, and methods for associating playback devices based on sound codes
US10878811B2 (en) 2018-09-14 2020-12-29 Sonos, Inc. Networked devices, systems, and methods for intelligently deactivating wake-word engines
US11024331B2 (en) 2018-09-21 2021-06-01 Sonos, Inc. Voice detection optimization using sound metadata
US10811015B2 (en) 2018-09-25 2020-10-20 Sonos, Inc. Voice detection optimization based on selected voice assistant service
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11100923B2 (en) 2018-09-28 2021-08-24 Sonos, Inc. Systems and methods for selective wake word detection using neural network models
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US10692518B2 (en) 2018-09-29 2020-06-23 Sonos, Inc. Linear filtering for noise-suppressed speech detection via multiple network microphone devices
US10978046B2 (en) * 2018-10-15 2021-04-13 Midea Group Co., Ltd. System and method for customizing portable natural language processing interface for appliances
US11899519B2 (en) 2018-10-23 2024-02-13 Sonos, Inc. Multiple stage network microphone device with reduced power consumption and processing load
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
EP3654249A1 (en) 2018-11-15 2020-05-20 Snips Dilated convolutions and gating for efficient keyword spotting
EP3698224A1 (en) 2018-12-03 2020-08-26 Google LLC. Efficient control and/or linking of smart devices
US11183183B2 (en) 2018-12-07 2021-11-23 Sonos, Inc. Systems and methods of operating media playback systems having multiple voice assistant services
US11132989B2 (en) 2018-12-13 2021-09-28 Sonos, Inc. Networked microphone devices, systems, and methods of localized arbitration
US10602268B1 (en) 2018-12-20 2020-03-24 Sonos, Inc. Optimization of network microphone devices using noise classification
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11315556B2 (en) 2019-02-08 2022-04-26 Sonos, Inc. Devices, systems, and methods for distributed voice processing by transmitting sound data associated with a wake word to an appropriate device for identification
US10867604B2 (en) 2019-02-08 2020-12-15 Sonos, Inc. Devices, systems, and methods for distributed voice processing
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11120794B2 (en) 2019-05-03 2021-09-14 Sonos, Inc. Voice assistant persistence across multiple network microphone devices
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK201970510A1 (en) 2019-05-31 2021-02-11 Apple Inc Voice identification in digital assistant systems
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11361756B2 (en) 2019-06-12 2022-06-14 Sonos, Inc. Conditional wake word eventing based on environment
US11200894B2 (en) 2019-06-12 2021-12-14 Sonos, Inc. Network microphone device with command keyword eventing
US10586540B1 (en) 2019-06-12 2020-03-10 Sonos, Inc. Network microphone device with command keyword conditioning
US11138969B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
US10871943B1 (en) 2019-07-31 2020-12-22 Sonos, Inc. Noise classification for event detection
US11138975B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
EP4202920A1 (en) * 2019-10-15 2023-06-28 Google LLC Efficient and low latency automated assistant control of smart devices
WO2021075774A1 (en) * 2019-10-16 2021-04-22 Samsung Electronics Co., Ltd. Method for controlling iot device and electronic device therefor
US11189286B2 (en) 2019-10-22 2021-11-30 Sonos, Inc. VAS toggle based on device orientation
US20210158803A1 (en) * 2019-11-21 2021-05-27 Lenovo (Singapore) Pte. Ltd. Determining wake word strength
US11200900B2 (en) 2019-12-20 2021-12-14 Sonos, Inc. Offline voice control
US11562740B2 (en) 2020-01-07 2023-01-24 Sonos, Inc. Voice verification for media playback
US11556307B2 (en) 2020-01-31 2023-01-17 Sonos, Inc. Local voice data processing
US11308958B2 (en) 2020-02-07 2022-04-19 Sonos, Inc. Localized wakeword verification
US11038934B1 (en) 2020-05-11 2021-06-15 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11810578B2 (en) 2020-05-11 2023-11-07 Apple Inc. Device arbitration for digital assistant-based intercom systems
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11727919B2 (en) 2020-05-20 2023-08-15 Sonos, Inc. Memory allocation for keyword spotting engines
US11308962B2 (en) 2020-05-20 2022-04-19 Sonos, Inc. Input detection windowing
US11482224B2 (en) 2020-05-20 2022-10-25 Sonos, Inc. Command keywords with input detection windowing
US11508380B2 (en) * 2020-05-26 2022-11-22 Apple Inc. Personalized voices for text messaging
EP4184309A4 (en) * 2020-07-14 2024-04-10 Lg Electronics Inc DISPLAY DEVICE
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
US11698771B2 (en) 2020-08-25 2023-07-11 Sonos, Inc. Vocal guidance engines for playback devices
CN112102826A (zh) * 2020-08-31 2020-12-18 南京创维信息技术研究院有限公司 一种控制语音设备多端唤醒的系统和方法
US20220131718A1 (en) * 2020-10-25 2022-04-28 Dizmo Ag System and method for controlling devices
US11514109B2 (en) 2020-10-29 2022-11-29 Google Llc Inferring semantic label(s) for assistant device(s) based on device-specific signal(s)
US11984123B2 (en) 2020-11-12 2024-05-14 Sonos, Inc. Network device interaction by range
CN112860827B (zh) * 2021-01-15 2024-04-30 北京小米移动软件有限公司 设备间交互控制方法、设备间交互控制装置及存储介质
US11551700B2 (en) 2021-01-25 2023-01-10 Sonos, Inc. Systems and methods for power-efficient keyword detection

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150279360A1 (en) * 2014-04-01 2015-10-01 Google Inc. Language modeling in speech recognition
WO2016085776A1 (en) * 2014-11-28 2016-06-02 Microsoft Technology Licensing, Llc Device arbitration for listening devices

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001319045A (ja) 2000-05-11 2001-11-16 Matsushita Electric Works Ltd 音声マンマシンインタフェースを用いたホームエージェントシステム、及びプログラム記録媒体
JP4086280B2 (ja) * 2002-01-29 2008-05-14 株式会社東芝 音声入力システム、音声入力方法及び音声入力プログラム
JP4706893B2 (ja) * 2004-01-07 2011-06-22 ソニー株式会社 音声認識装置および方法、並びに、プログラムおよび記録媒体
JP4846734B2 (ja) * 2005-12-07 2011-12-28 三菱電機株式会社 音声認識装置
JP2009042298A (ja) * 2007-08-06 2009-02-26 Panasonic Electric Works Co Ltd 音声による機器制御装置
JP2010078877A (ja) * 2008-09-25 2010-04-08 Pioneer Electronic Corp 音声認識装置、音声認識方法及び音声認識プログラム
US8537753B2 (en) 2011-03-21 2013-09-17 Broadcom Corporation In-house location based services
US20130073293A1 (en) * 2011-09-20 2013-03-21 Lg Electronics Inc. Electronic device and method for controlling the same
US20130238326A1 (en) 2012-03-08 2013-09-12 Lg Electronics Inc. Apparatus and method for multiple device voice control
US8831957B2 (en) * 2012-08-01 2014-09-09 Google Inc. Speech recognition models based on location indicia
US10593326B2 (en) * 2013-04-25 2020-03-17 Sensory, Incorporated System, method, and apparatus for location-based context driven speech recognition
US10089976B2 (en) 2013-10-14 2018-10-02 Honeywell International Inc. Building automation systems with voice control
WO2015076609A1 (en) * 2013-11-21 2015-05-28 Samsung Electronics Co., Ltd. Method and apparatus for controlling home devices on group basis in a home network system
US9698999B2 (en) * 2013-12-02 2017-07-04 Amazon Technologies, Inc. Natural language control of secondary device
US9661058B2 (en) * 2014-08-10 2017-05-23 Belkin International Inc. Grouping of network devices
US20160164748A1 (en) * 2014-12-04 2016-06-09 Belkin International, Inc. Identifying and resolving network device rule conflicts and recursive operations at a network device
US9984686B1 (en) * 2015-03-17 2018-05-29 Amazon Technologies, Inc. Mapping device capabilities to a predefined set
US20170032783A1 (en) * 2015-04-01 2017-02-02 Elwha Llc Hierarchical Networked Command Recognition
US9691380B2 (en) 2015-06-15 2017-06-27 Google Inc. Negative n-gram biasing
US9576578B1 (en) 2015-08-12 2017-02-21 Google Inc. Contextual improvement of voice query recognition
CN105575386B (zh) 2015-12-18 2019-07-30 百度在线网络技术(北京)有限公司 语音识别方法和装置
US9892732B1 (en) * 2016-08-12 2018-02-13 Paypal, Inc. Location based voice recognition system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150279360A1 (en) * 2014-04-01 2015-10-01 Google Inc. Language modeling in speech recognition
WO2016085776A1 (en) * 2014-11-28 2016-06-02 Microsoft Technology Licensing, Llc Device arbitration for listening devices

Also Published As

Publication number Publication date
US20230186915A1 (en) 2023-06-15
KR20190042098A (ko) 2019-04-23
KR20220074984A (ko) 2022-06-03
KR20200035476A (ko) 2020-04-03
DE102017122644A1 (de) 2018-04-05
JP6959384B2 (ja) 2021-11-02
GB2557404B (en) 2019-01-09
JP2019536072A (ja) 2019-12-12
JP2020126248A (ja) 2020-08-20
CN107895574A (zh) 2018-04-10
US20180096683A1 (en) 2018-04-05
US10699707B2 (en) 2020-06-30
GB2557404A (en) 2018-06-20
CN113140218A (zh) 2021-07-20
DE202017105942U1 (de) 2018-01-10
JP6683893B2 (ja) 2020-04-22
WO2018067350A1 (en) 2018-04-12
CN107895574B (zh) 2021-04-20
EP3507798A1 (en) 2019-07-10
GB201715844D0 (en) 2017-11-15
US20200286482A1 (en) 2020-09-10
GB202000173D0 (en) 2020-02-19

Similar Documents

Publication Publication Date Title
KR102095514B1 (ko) 디바이스 토폴로지에 기초한 음성 명령 프로세싱
JP7190917B2 (ja) ホームオートメーションのためのインテリジェントアシスタント
US20210326103A1 (en) Grouping Devices for Voice Control
KR101968725B1 (ko) 음성요청에 대응하는 정보 제공을 위한 미디어 선택
JP2018198058A (ja) 情報提供方法、電子機器、コンピュータプログラム及び記録媒体
KR102668731B1 (ko) 디바이스 토폴로지에 기초한 음성 명령 프로세싱
GB2567067A (en) Processing voice commands based on device topology
KR20210008696A (ko) 전자 장치 및 이의 음성 인식 방법

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant