KR20230026528A - 스마트 어플라이언스 상태들의 요약 전달 - Google Patents

스마트 어플라이언스 상태들의 요약 전달 Download PDF

Info

Publication number
KR20230026528A
KR20230026528A KR1020237004787A KR20237004787A KR20230026528A KR 20230026528 A KR20230026528 A KR 20230026528A KR 1020237004787 A KR1020237004787 A KR 1020237004787A KR 20237004787 A KR20237004787 A KR 20237004787A KR 20230026528 A KR20230026528 A KR 20230026528A
Authority
KR
South Korea
Prior art keywords
user
list
states
current
past
Prior art date
Application number
KR1020237004787A
Other languages
English (en)
Other versions
KR102543676B1 (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 KR20230026528A publication Critical patent/KR20230026528A/ko
Application granted granted Critical
Publication of KR102543676B1 publication Critical patent/KR102543676B1/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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • 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
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y10/00Economic sectors
    • G16Y10/80Homes; Buildings
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y20/00Information sensed or collected by the things
    • G16Y20/20Information sensed or collected by the things relating to the thing itself
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y20/00Information sensed or collected by the things
    • G16Y20/40Information sensed or collected by the things relating to personal data, e.g. biometric data, records or preferences
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/10Detection; Monitoring
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/30Control
    • G16Y40/35Management of things, i.e. controlling in accordance with a policy or in order to achieve specified objectives
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/26Pc applications
    • G05B2219/2642Domotique, domestic, home control, automation, smart house

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Development Economics (AREA)
  • Accounting & Taxation (AREA)
  • Economics (AREA)
  • Architecture (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Selective Calling Equipment (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephonic Communication Services (AREA)

Abstract

연결된 복수의 스마트 어플라이언스에 대해 사용자에게 가장 적절한 상태 정보를 포함하는 단축된 텍스트 요약을 제공하는 방법을 구현한다. 방법은 복수의 인에이블된 스마트 어플라이언스에 대한 현재 상태의 리스트를 결정하고, 사용자가 관심을 가지지 않는 상태를 제거하기 위해 리스트를 필터링하는 단계를 포함한다. 리스트 필터링은 요청하는 사용자의 현재 콘텍스트와 사용자의 하나 이상의 과거 콘텍스트를 기반으로한다. 그 결과 필터링된 상태들은 텍스트 스니펫들로 변환되고 요약되어 하나 이상의 출력 디바이스를 통해 사용자에게 제공된다.

Description

스마트 어플라이언스 상태들의 요약 전달{SUMMARILY CONVEYING SMART APPLIANCE STATUSES}
인간은 본 명세서에서 "자동화된 어시스턴트"(이것은 "챗봇", "대화형 개인 어시스턴트", "지능형 개인 어시스턴트", "개인 음성 어시스턴트", "대화 에이전트", "가상 어시스턴트" 등으로 지칭됨)라고 하는 대화형 소프트웨어 애플리케이션을 사용하여 인간 대 컴퓨터 대화에 참여할 수 있다. 예를 들어, 인간(자동화된 어시스턴트와 상호작용할 때 "사용자"라고 함)은 텍스트로 변환될 수 있는 음성 발화를 포함할 수 있는 자유 형식 자연어 입력을 사용하여 명령, 쿼리 및/또는 요청(통칭하여 "쿼리"라고 함)을 제공한 다음 프로세싱된 및/또는 형식화된 자유 형식 자연어 입력을 제공할 수 있다. 자동화된 어시스턴트는 사용자의 의도를 식별하고 이에 응답하기 위해, 자연어 입력에 대해 자연어 프로세싱, 구문 프로세싱, 의미 프로세싱 등과 같은 다양한 타입의 프로세싱을 수행할 수 있다. 오늘날 사용 가능한 많은 독립형 대화형 스피커와 같이 자동화된 어시스턴트와의 연계를 위해 주로 또는 배타적으로 구성된 컴퓨팅 디바이스는 여기서 "어시스턴트 디바이스"로 지칭될 수 있다.
자동화된 어시스턴트의 일반적인 용도 중 하나는 스마트 어플라이언스들을 제어하는 것이다. 여기에서 사용되는 "스마트 어플라이언스들"은, (예를 들어, 와이파이(Wi-Fi), 지그비(ZigBee), Z-웨이브(Z-Wave), 블루투스(Bluetooth), 등을 통한) 네트워크 통신을 위해 구성되며 이에 따라 어시스턴트 디바이스들, 스마트 폰들, 등과 같은 컴퓨팅 디바이스들을 사용하여 원격으로 제어가능한 디바이스들 및/또는 어플라이언스들을 지칭한다. 스마트 어플라이언스들은 스마트 잠금기들, 스마트 조명들, 스마트 온도조절기들, 경보 시스템들, 스마트 카메라들, 스마트 차고 문 개폐기들, 스마트 전기 콘센트들, 스마트 수도꼭지들, 스마트 스프링클러 시스템들, 스마트 주방 어플라이언스들(예를 들어, 오븐들, 커피 메이커들, 냉장고들), 스마트 블라인드들, 스마트 윈도우들, 그리고 컴퓨팅 디바이스를 사용하여 원격으로 제어가능한 임의의 다른 네트워크화된 어플라이언스를 포함할 수 있지만 이에 한정되지 않는다.
가정과 직장 전역에 더 많은 스마트 어플라이언스가 설치될수록 이러한 어플라이언스들을 관리하는 것은 더욱 복잡해지고 있다. 예를 들어, 사용자가 자신의 집에 있는 모든(또는 일부) 스마트 어플라이언스의 상태를 알고 싶어한다고 가정한다. 사용자는 자동화된 어시스턴트를 통해 제어 가능한 스마트 어플라이언스의 현재 상태에 대한 정보를 제공하기 위해 자동화된 어시스턴트에게 자연어 입력 요청을 제출할 수 있다. 자동화된 어시스턴트는 현재 자동화된 어시스턴트와 통신중인 모든 어플라이언스들의 청각적 또는 시각적 설명을 제공할 수 있다. 예를 들어, 어플라이언스들의 상태는 각긱의 어플라이언스의 명칭 및/또는 별칭과 함께 제공될 수 있다(예를 들어, "조명 1이 온 상태이고, 조명 2가 50%에 있으며, 문 1은 현재 잠겨있다." 등). 그러나 더 많은 스마트 어플라이언스가 활성화되고 자동화된 어시스턴트와 통신할수록 연결된 모든 어플라이언스들의 상태에 대한 청각적 또는 시각적 리스트가 길어질 수 있다. 또한 일부 스마트 어플라이언스 상태는 사용자에게 관심이 없을 수 있다. 예를 들어, 집에 있는 사용자는 (조명들 자체를 단순히 바라봄으로써 명백하게 되는) 사용자와 동일한 공간에서의 스마트 조명들의 상태들을 듣는 데 관심이 없을 수 있고, 또는 스마트 알람 시스템이 현재 해제되어 있는 스마트 조명들의 상태들을 듣는 데 관심이 없을 수 있다. 따라서 모든 스마트 어플라이언스 상태에 대한 포괄적인 설명은 사용자에게 유용하지 않을 수 있다.
추가적으로, 수많은 어플라이언스들의 상태를 확인하고 전달하는 것은 주어진 인스턴스에서 유용한 정보를 사용자에게 제공하지 못할 수 있는 계산 자원을 소비해야한다. 또한, 단순히 다수의 어플라이언스 상태들을 설명하는 것만으로는 사용자가 의미있는 방식으로 자동화된 어시스턴트와의 대화에 다시 참여하는 것을 허용하지 않을 수 있다. 왜냐하면 설명된 정보가 증가함에 따라 사용자는 추가적인 쿼리 및/또는 명령을 사용하여 상태 메시지에 응답할 가능성이 낮거나 불가능할 수 있기 때문이다.
관련성이 적은 스마트 어플라이언스 상태를 생략하거나 강등하면서 복수의 연결된 스마트 어플라이언스에 대해 사용자에게 가장 적절한 상태 정보를 포함 및/또는 홍보하는, 스마트 어플라이언스의 상태에 대한 요약 정보를 생성하고 제공하기 위한 구현이 여기에서 설명된다. 일부 구현에서, 복수의 활성화된 스마트 어플라이언스에 대한 현재 상태들의 리스트가 결정되고 필터링되어 사용자가 관심을 가지지 않는 상태들을 제거할 수 있다. 리스트의 필터링은 예를 들어 요청하는 사용자의 현재 콘텍스트 및/또는 사용자의 하나 이상의 과거 콘텍스트에 기초할 수 있다. 결과적으로 필터링된 상태는 텍스트 스니펫, 그래픽 정보 등과 같은 요약 정보를 생성하는 데 사용될 수 있다. 그런 다음 이러한 데이터는 하나 이상의 출력 디바이스를 통해 사용자에게 제공될 수 있다. 스마트 어플라이언스들의 타입 및 특정 콘텍스트에서 스마트 어플라이언스들에 발행된 과거의 사용자 명령 또는 요청에 기초한 스마트 어플라이언스 상태를 요약하기 위해 밀접하게 관련된 기술도 여기에서 설명된다.
예를 들어, 사용자는 자동화된 어시스턴트에게 "집의 현재 상태는 어떻습니까?"라는 요청을 제공할 수 있다. 조명들, 어플라이언스들, 경보 시스템들, 문 잠금들, 및/또는 시스템에 의해 제어 및/또는 모니터링 될 수 있는 다른 디바이스들과 같이 시스템과 관련된 스마트 어플라이언스들에 대한 현재 상태들의 리스트가 결정된다. 이러한 스마트 어플라이언스들은 사용자가 시스템을 사용하거나 시스템을 통해 제어(또는 제어 가능)한 것으로 간주할 수 있다. 현재 사용자 콘텍스트를 기반으로 항상 동일한 상태(예를 들어, 항상 "온" 상태)를 갖는 디바이스들, 사용자의 현재 콘텍스트(예를 들어, 시각)에서 사용자에게 관심이 없을 것 같은 디바이스들과 같은 하나 이상의 상태가 필터링될 수 있다.
일부 구현에서, 상태가 필터링되면, 나머지 어플라이언스 상태들에 대한 텍스트 스니펫들이 생성될 수 있다. 예를 들어 스마트 조명 설비의 경우 조명 설비의 써드-파티 제어기에서 명칭 = "주방 조명" 상태 = "오프" 상태를 제공할 수 있다. "주방 조명이 오프 상태에 있음"이라는 텍스트 스니펫이 상태에 대해(또는 이에 기초하여) 생성될 수 있으며, 이는 홈 상태 업데이트의 일부로 사용자에게 제공될 수 있다. 다른 예로서, 스마트 잠금을 위한 인터페이스는 "뒷문 잠금 해제됨"의 상태를 제공할 수 있고, "뒷문 잠금 해제됨"의 텍스트 스니펫이 디바이스에 대해 생성될 수 있다.
일부 구현에서, 텍스트 스니펫은 사용자에게 축약된 상태 보고서를 제공하기 위해 텍스트 요약을 생성하도록 구성 및 요약될 수 있다. 요약은 예를 들어, 동일한 타입 및 상태의 디바이스들에 대한 텍스트 스니펫을 일반 상태들로 결합하는 것, 특정 위치의 디바이스들을 디바이스들의 그룹으로 결합하는 것, 및/또는 모든 디바이스들을 나열하지 않아도 복수의 디바이스의 상태가 사용자에게 제공될 수 있도록 하는 다른 요약을 포함할 수 있다. 예를 들어, 모든 조명에 대한 텍스트 스니펫은 "온" 조명을 하나의 요약으로 그룹화하고 나머지 조명을 두 번째 "오프" 그룹으로 그룹화하여, "조명 1, 2, 3이 온 상태에 있습니다... 나머지 조명은 오프 상태에 있습니다"라는 상태로 요약될 수 있다. 이러한 방식으로, 그룹의 스마트 어플라이언스의 현재 상태(이 예에서는 "온" 또는 "오프") 간의 유사성을 기반으로, 필터링된 리스트의 상태 중 하나 이상을 그룹으로 구성할 수 있다. 또한, 다른 예에서, "오프" 상태를 갖는 공간(즉, "주방" 공간)에 있는 모든 디바이스의 텍스트 스니펫으로부터 "주방에는 모든 것이 오프 상태에 있습니다"라는 텍스트 요약이 생성될 수 있다. 따라서 사용자에게 각 디바이스에 대한 별도의 상태가 제공되지 않는 대신 상태 요약이 제공되며, 일부 경우에는 특정 상황에 대해 다르거나 비정상적인 상태만을 포함할 수 있다. 상태 그룹들에 대한 여러 텍스트 스니펫은, 결과적인 텍스트 요약에서 전체 문장의 각각의 조항들(상태의 각 그룹에 대한 "텍스트 조항")로 요약되고 표시될 수 있다.
일부 구현에서, 텍스트 스니펫들의 요약(텍스트 요약)은 하나 이상의 출력 디바이스를 통해 사용자에게 제공된다. 일부 구현에서, 출력 디바이스는 생성된 텍스트 요약에 기초하여 어시스턴트와 연관된(예를 들어, 등록된) 하나 이상의 스마트 어플라이언스의 상태를 요약하는 오디오 상태 보고서를 제공할 수 있다. 일부 구현에서, 생성된 텍스트 요약에 기초한 시각적 요약은 예를 들어 그래픽 사용자 인터페이스를 통해 하나 이상의 스마트 어플라이언스의 상태 요약으로서 제공될 수 있다. 일부 구현에서, 텍스트 요약의 오디오 및 시각적 출력 모두가 하나 이상의 출력 디바이스를 통해 사용자에게 제공될 수 있다.
일부 구현에서, 추가 인터페이스 정보가 텍스트 스니펫의 요약과 함께 사용자에게 제공될 수 있다. 예를 들어, 사용자는 또한 그래픽으로 어플라이언스들의 요약을 제공받을 수 있으며 추가로 하나 이상의 어플라이언스들의 상태를 변경하기 위한 인터페이스가 제공될 수 있다. 여기에는 다른 어플라이언스들과 다른 스마트 어플라이언스의 상태를 변경하는 옵션을 제공할 수 있고(예를 들어 상태, "주방 조명을 제외한 모든 아래층 조명이 오프 상태에 있습니다. 끄시겠습니까?"), 그리고/또는 사용자가 상태가 다른 어플라이언스들을 시각적으로 식별하고, 하나 이상의 상태를 변경할 수 있도록 하는 인터페이스를 제공할 수 있다. 일부 구현에서, 시각적으로 제공되는 텍스트 요약에서 특정 스마트 어플라이언스를 설명하는 다양한 토큰이 선택 가능한 링크로 제공될 수 있다. 사용자는 스마트 어플라이언스를 제어하기 위한 인터페이스를 제공하는 이러한 링크들을 선택하거나, 링크 자체가 어플라이언스를 켜고 끄거나, 범위 설정(예를 들어, 스마트 조명의 밝기)을 조정하는 등의 작업을 수행할 수 있다. 일부 구현에서, 사용자는 예상된 상태에 있지 않은 하나 이상의 스마트 어플라이언스를 나타내는 오디오 요약을 제공받을 수 있으며 추가적으로 하나 이상의 어플라이언스들의 상태를 변경하라는 프롬프트가 제공될 수 있다. 예를 들어, 사용자가 일반적으로 사용자의 취침 시간(현재 사용자 콘텍스트의 일부로 간주될 수 있음)에 가까운 시간에 어플라이언스들의 상태를 요청하는 경우, 자동화된 어시스턴트는 "뒷문이 현재 잠겨 있지 않습니다. 잠그시겠습니까?"와 같은 자연어 출력을 제공할 수 있다.
상술한 내용은 여기에 개시된 일부 구현의 개요로서 제공된다. 이러한 구현 및 기타 구현에 대한 자세한 설명은 아래에 제공된다.
일부 구현에서, 하나 이상의 프로세서에 의해 수행되는 방법이 제공되며, 이는 사용자에 의해 제어되는 복수의 스마트 어플라이언스의 현재 상태들의 리스트를 결정하는 단계; 사용자에 의해 제어되는 하나 이상의 컴퓨팅 디바이스에 의해 생성되는 하나 이상의 콘텍스트 신호에 기초하여 현재 사용자 콘텍스트를 결정하는 단계; 복수의 과거 사용자 콘텍스트로부터 현재 사용자 콘텍스트와 비교가능한 하나 이상의 비교가능한 과거 사용자 콘텍스트를 식별하는 단계; 하나 이상의 비교가능한 과거 사용자 콘텍스트 각각에 대해, 복수의 스마트 어플라이언스의 과거 상태의 대응하는 리스트를 획득하는 단계; 현재 상태들의 리스트를 필터링하여 현재 상태 중 하나 이상을 제거하고, 현재 상태의 필터링된 리스트를 생성하는 단계(필터링은 현재 상태들의 리스트와 하나 이상의 과거 상태들의 리스트의 비교에 기초함); 필터링된 현재 상태들의 리스트에 기초하여 하나 이상의 텍스트 스니펫을 생성하는 단계; 하나 이상의 텍스트 스니펫의 텍스트 요약을 생성하는 단계; 및 사용자에 의해 제어되는 하나 이상의 컴퓨팅 디바이스의 출력 디바이스에 텍스트 요약을 제공하는 단계를 포함한다. 이러한 방식으로 사용자에게 요약을 제공함으로써, 각각의 어플라이언스에 대한 정보를 개별적으로 제공하는데 자원이 낭비되지 않기 때문에, 보다 계산적으로 효율적인 방식으로 사용자에게 스마트 어플라이언스의 상태에 관한 관련 정보를 제공할 수 있다. 이것은 스마트 어플라이언스의 보다 효율적인 제어를 용이하게 할 수 있다. 더욱이, 사용자가 스마트 어플라이언스들의 상태를 보다 쉽게 확인하고 제어할 수 있도록 함으로써, 상기 어플라이언스들의 전반적인 전력 소비가 줄어들 수 있다.
다양한 구현에서, 필터링은 현재 상태들의 리스트로부터, 과거 상태들의 리스트에서 해당 과거 상태들과 일치하는 하나 이상의 현재 상태들을 제거하는 것을 포함할 수 있다. 다양한 구현에서, 필터링된 현재 상태들의 리스트는, 과거 상태들의 리스트에서 벗어난 현재 상태들의 리스트의 현재 상태들을 포함할 수 있다. 이들 구현 중 하나 이상에 따라 리스트를 필터링함으로써, 사용자는 비정상적인 스마트 어플라이언스에 관한 정보만을 제공받을 수 있으며, 이는 보다 효율적인 방식으로 상기 디바이스의 제어를 용이하게 할 수 있다.
다양한 구현에서, 방법은 그룹의 스마트 어플라이언스의 현재 상태 사이의 유사성에 기초하여 필터링된 리스트의 상태들 중 하나 이상을 그룹으로 구성하는 단계를 더 포함할 수 있다. 다양한 구현에서, 텍스트 요약을 생성하는 것은 그룹화를 위한 텍스트 조항을 생성하는 것을 포함할 수 있다.
다양한 구현에서, 출력 디바이스는 오디오를 통해 텍스트 요약을 사용자에게 제공할 수 있다. 다양한 구현에서, 방법은 하나 이상의 스마트 어플라이언스를 나타내는 오디오 프롬프트 및 표시된 스마트 어플라이언스의 상태를 변경하라는 제안을 제공하는 단계를 더 포함할 수 있다. 다양한 구현에서, 출력 디바이스는 시각적 디스플레이를 포함할 수 있다.
다양한 구현에서, 방법은 사용자가 스마트 어플라이언스 중 적어도 하나의 상태를 조정할 수 있도록 사용자에게 제어 인터페이스를 제공하는 단계를 더 포함할 수 있다. 다양한 구현에서, 방법은 제어 인터페이스를 제공하는 것에 응답하여, 사용자로부터 스마트 어플라이언스 중 적어도 하나의 상태를 조정하라는 표시를 수신하는 단계; 및 적어도 하나의 스마트 어플라이언스에 표시를 제공하는 단계를 포함한다.
다양한 구현에서, 방법은 하나 이상의 컴퓨팅 디바이스의 입력 디바이스를 통해 사용자로부터 요청을 수신하는 단계를 더 포함할 수 있다. 여기서 입력 디바이스는 위치와 연관된다. 다양한 구현에서, 현재 사용자 콘텍스트는 위치에 적어도 부분적으로 기초하여 결정될 수 있다. 다양한 구현에서, 현재 상태의 리스트를 필터링하는 것은 위치와 연관된 하나 이상의 상태를 필터링하는 것을 포함할 수 있다. 다양한 구현에서, 현재 사용자 콘텍스트는 현재 시각에 적어도 부분적으로 기초하여 결정될 수 있다.
다양한 구현에서, 방법은 컴퓨팅 디바이스 중 하나 이상의 하나 이상의 마이크로폰에서 사용자로부터 오디오 입력을 수신하는 단계; 복수의 사용자의 오디오 프로파일을 식별하는 단계; 및 오디오 입력 및 오디오 프로파일에 기초하여 사용자의 신원을 결정하는 단계를 포함한다. 다양한 구현에서, 하나 이상의 과거 사용자 콘텍스트는 결정된 신원과 연관될 수 있다. 다양한 구현에서, 방법은 복수의 과거 사용자 콘텍스트와 함께 현재 사용자 콘텍스트를 저장하는 단계를 더 포함할 수 있다.
다른 양상에서, 컴퓨터로 구현되는 방법은, 사용자에 의해 제어되는 복수의 스마트 어플라이언스의 현재 상태의 리스트를 결정하는 단계; 복수의 스마트 어플라이언스의 현재 상태들의 리스트를 스마트 어플라이언스의 디바이스 타입별로 스마트 어플라이언스들의 그룹으로 구성하는 단계; 스마트 어플라이언스의 그룹들 중 하나 이상에 대한 디바이스 타입 텍스트 스니펫을 생성하는 단계; 하나 이상의 디바이스 타입 텍스트 스니펫의 텍스트 요약을 생성하는 단계; 및 사용자에 의해 제어되는 하나 이상의 컴퓨팅 디바이스의 출력 디바이스에 텍스트 요약을 제공하는 단계를 포함한다. 이러한 방식으로 사용자에게 요약을 제공함으로써, 각 디바이스 타입에 대한 정보를 개별적으로 제공하는 데 자원이 낭비되지 않기 때문에, 사용자는 보다 계산적으로 효율적인 방식으로 다양한 디바이스 타입의 상태에 관한 관련 정보를 제공받을 수 있다. 이것은 상기 디바이스 타입을 가지는 스마트 어플라이언스들의 제어를 보다 효율적으로 용이하게 할 수 있다. 더욱이, 사용자가 스마트 어플라이언스의 상태를 보다 쉽게 확인하고 제어할 수 있게 함으로써 상기 어플라이언스들의 전반적인 전력 소비가 줄어들 수 있다.
또 다른 양상에서, 컴퓨터로 구현되는 방법은, 사용자에 의해 제어되는 복수의 스마트 어플라이언스의 현재 상태의 리스트를 결정하는 단계; 사용자에 의해 제어되는 하나 이상의 컴퓨팅 디바이스에 의해 생성된 하나 이상의 콘텍스트 신호에 기초하여 현재 사용자 콘텍스트를 결정하는 단계; 현재 사용자 콘텍스트와 비교가능한 하나 이상의 과거 사용자 콘텍스트를 식별하는 단계; 복수의 스마트 어플라이언스 중 하나 이상을 제어하는 것과 관련하여 사용자가 발행한 하나 이상의 요청 또는 명령을 식별하는 단계(하나 이상의 요청 또는 명령은 사용자가 하나 이상의 과거 사용자 콘텍스트들에 있는 동안 사용자에 의해 발행됨); 하나 이상의 현재 상태를 제거하고 현재 상태들의 필터링된 리스트를 생성하기 위해 현재 상태들의 리스트를 필터링하는 단계(필터링은 식별된 하나 이상의 요청 또는 명령에 적어도 부분적으로 기초함); 필터링된 현재 상태들의 리스트에 기초하여 하나 이상의 텍스트 스니펫을 생성하는 단계; 하나 이상의 텍스트 스니펫의 텍스트 요약을 생성하는 단계; 및 사용자에 의해 제어되는 하나 이상의 컴퓨팅 디바이스의 출력 디바이스에 텍스트 요약을 제공하는 단계를 포함한다. 이러한 방식으로 사용자에게 요약을 제공함으로써, 각각의 어플라이언스에 대한 정보를 개별적으로 제공하는 데 자원이 낭비되지 않기 때문에, 사용자는 주어진 시간에 제어될 가능성이 가장 높은 스마트 어플라이언스들의 상태에 관한 정보를 보다 계산적으로 효율적인 방식으로 제공받을 수 있다. 이것은 스마트 어플라이언스의 보다 효율적인 제어를 용이하게 할 수 있다. 더욱이, 사용자가 관련 스마트 어플라이언스들을 보다 쉽게 확인하고 제어할 수 있도록 함으로써 상기 어플라이언스들의 전반적인 전력 소비가 줄어들 수 있다.
또한, 일부 구현은 하나 이상의 컴퓨팅 디바이스들의 하나 이상의 프로세서들(예를 들어, 중앙 프로세싱 유닛(CPU)(들), 그래픽 프로세싱 유닛(GPU)(들), 및/또는 텐서 프로세싱 유닛(TPU)(들))을 포함하고, 여기서 하나 이상의 프로세서들은 연관된 메모리에 저장된 명령을 실행하도록 동작할 수 있으며, 명령들은 전술한 방법들 중 임의의 것을 수행하도록 구성된다. 일부 구현은 또한 전술한 방법들 중 임의의 것을 수행하기 위한 하나 이상의 프로세서에 의해 실행 가능한 컴퓨터 명령어들을 저장하는 하나 이상의 비일시적인 컴퓨터 판독 가능 저장 매체를 포함한다. 일부 구현은 또한 전술한 방법 중 임의의 것을 수행하기 위한 하나 이상의 프로세서에 의해 실행 가능한 명령어들을 포함하는 컴퓨터 프로그램 또는 컴퓨터 프로그램 제품을 포함한다.
전술한 개념 및 여기에 더 상세히 설명된 추가 개념의 모든 조합은 여기에 개시된 주제의 일부인 것으로 고려된다는 것을 이해해야 한다. 예를 들어, 본 개시의 끝에 나타나는 청구된 주제의 모든 조합은 여기에 개시된 주제의 일부인 것으로 고려된다.
도 1은 본 명세서에 개시된 구현이 구현될 수 있는 예시적인 환경의 블록도이다.
도 2는 디바이스 요약을 사용자에게 제공하는 것을 포함하는 사용자와 자동화된 어시스턴트 간의 예시적인 대화를 도시한다.
도 3은 출력 디바이스가 사용자에게 디바이스 요약을 그래픽으로 제공하기 위한 인터페이스를 도시한다.
도 4는 본 개시의 선택된 양상들을 실행하기 위한 예시적인 방법의 흐름도를 도시한다.
도 5는 본 개시의 선택된 양상들을 실행하기 위한 예시적인 방법의 다른 흐름도를 도시한다.
도 6은 본 개시의 선택된 양상들을 실행하기 위한 예시적인 방법의 또 다른 흐름도를 도시한다.
도 7은 컴퓨팅 디바이스의 예시적인 아키텍처를 도시한다.
이제 도 1로 넘어가면, 도 1에는 본 명세서에 개시된 기술이 구현될 수 있는 예시적인 환경이 예시되어 있다. 예시적인 환경은 클라이언트 디바이스(105) 및 원격 컴퓨터(110)를 포함한다. 클라이언트 디바이스(105) 및 원격 컴퓨터(110)가 각각 도 1에 도시되어 있지만. 도 1을 단일 컴포넌트로서, 하나 이상의 모듈 및/또는 둘 중 하나의 측면이 하나 이상의 다른 디바이스에 의해 전체적으로 또는 부분적으로 구현될 수 있는 것으로 이해될 수 있다. 예를 들어, 일부 구현에서 제 1 세트의 모듈 및/또는 양상들은 제 1 원격 시스템의 하나 이상의 프로세서에 의해 구현되고, 제 2 세트의 모듈 및/또는 양상들은 원격 컴퓨터(110)와 네트워크 통신하는 하나 이상의 분리된 원격 서버 디바이스(들)의 하나 이상의 프로세서에 의해 구현된다. 예를 들어 원격 서버 디바이스(들)는, 추가적인 디바이스들로부터의 요청들과 같은 하나 이상의 클라이언트 디바이스들로부터의 요청을 프로세싱하는 고성능 원격 서버 디바이스(들)의 클러스터일 수 있다.
클라이언트 디바이스(105)는 휴대 전화 컴퓨팅 디바이스, 태블릿 컴퓨팅 디바이스, 사용자 차량의 컴퓨팅 디바이스(예를 들어, 차량 내 통신 시스템, 차량 내 엔터테인먼트 시스템, 차량 내 내비게이션 시스템) 및/또는 컴퓨팅 디바이스를 포함하는 사용자의 웨어러블 디바이스(예를 들어, 컴퓨팅 디바이스를 갖는 사용자의 시계, 컴퓨팅 디바이스를 갖는 사용자의 안경, 가상 또는 증강 현실 컴퓨팅 디바이스)일 수 있다. 추가적인 및/또는 대체적인 클라이언트 디바이스가 제공될 수 있다. 또한, 클라이언트 디바이스(105)의 하나 이상의 컴포넌트는 별도의 디바이스에서 구현될 수 있다. 예를 들어, 자동화된 어시스턴트(106) 및/또는 인터페이스(107)는 클라이언트 디바이스(105)와 통신하는 하나 이상의 대체 컴퓨팅 디바이스에서 구현될 수 있다. 클라이언트 디바이스(105)의 컴포넌트들 및 원격 컴퓨터(110)의 컴포넌트는 통신 네트워크를 통해 통신할 수 있다. 통신 네트워크는 예를 들어 와이드 영역 네트워크(Wide Area Network, WAN)(예를 들어, 인터넷)를 포함할 수 있다. 또한, 클라이언트 디바이스(105)의 컴포넌트는 통신 네트워크를 통해 하나 이상의 다른 컴포넌트와 통신할 수 있다. 예를 들어, 통신 네트워크는 근거리 통신망(Local Area Network, LAN) 및/또는 블루투스(BLUETOOTH)를 포함할 수 있으며 LAN 및/또는 블루투스(BLUETOOTH)를 통해 하나 이상의 다른 디바이스(예를 들어, 사용자의 핸드 헬드 컴퓨팅 디바이스와 통신하는 자동화된 어시스턴트 디바이스)와 통신할 수 있다.
일부 구현에서, 클라이언트 디바이스(105)는 사용자가 자동화된 어시스턴트(106)와 같은 클라이언트 디바이스(105)의 하나 이상의 모듈에 자연어(음성 또는 말소리) 입력을 제공할 수 있게 하는 마이크로폰을 포함할 수 있다. 오디오 데이터는 마이크로폰에 의해 수신될 수 있고 자동화된 어시스턴트(106)는 그 오디오를, 텍스트 및/또는 클라이언트 디바이스(105)의 하나 이상의 모듈에 의해 추가로 프로세싱 및/또는 추가 프로세싱을 위해 원격 컴퓨터(110)로 네트워크 통신을 통해 제공되는 오디오 데이터를 생성하기 위해 프로세싱할 수 있다. 예를 들어, 클라이언트 디바이스(105)는 캡처된 오디오를 텍스트로 프로세싱하여 원격 컴퓨터(110)에 제공하도록 구성된 음성 대 텍스트("STT") 모듈(도시되지 않음)을 포함할 수 있다. 추가적으로 또는 대안적으로, 오디오 데이터(또는 오디오 데이터로부터 생성된 잠재 공간 임베딩과 같이, 이를 나타내는 다른 데이터)는 오디오 데이터의 추가 프로세싱을 위한 STT 모듈(미도시)을 포함할 수 있는 원격 컴퓨터(110)에 직접 제공될 수 있다. 자연어 입력은 또한 형식화된 입력을 사용하여 제공될 수 있다.
자동화된 어시스턴트(106)는 사용자의 자연어 입력을 프로세싱하고 복수의 대화 턴을 포함하는 대화의 형태로 응답을 제공할 수 있다. 대화 턴은 사용자의 자연어 입력에 대한 응답이 포함될 수 있으며, 이어서 사용자에 의해 추가로 제출된 자연어 입력을 포함될 수 있다. 따라서, 사용자가 대화 방식으로 자동화된 어시스턴트(106)와 상호작용할 수 있도록 하는 사용자와 자동화된 어시스턴트(106) 사이의 대화가 생성될 수 있다. 예를 들어, 사용자는 "내 디바이스들의 현재 상태는 어떻습니까?"라는 자연어 입력을 자동화된 어시스턴트(106)에 제출할 수 있다. 자동화된 어시스턴트(106)는 자연어 입력을 프로세싱하고 추가 프로세싱을 위해 하나 이상의 다른 모듈에 입력을 제공할 수 있다.
일부 구현에서, 사용자는 인터페이스(107)와 같은 하나 이상의 인터페이스를 통해 원격 컴퓨터(110) 및/또는 자동화된 어시스턴트(106)와 상호작용할 수 있다. 예를 들어, 인터페이스(107)는 그래픽 인터페이스 일 수 있고, 클릭 가능한 아이콘 및/또는 다른 그래픽 요소를 통해 여기에 설명된 바와 같이, 사용자가 디바이스 상태 정보가 제공되는 것에 대한 관심을 표시하도록 할 수 있다. 일부 구현에서, 인터페이스(107)는 사용자가 오디오 요청을 제출하는 디바이스와 다른 디바이스에서 구현될 수 있다. 예를 들어, 사용자는 디바이스 요약에 대한 오디오 요청을 제공하기 위해 제 1 디바이스를 이용할 수 있고, 사용자는 제 2 디바이스의 인터페이스(107)를 통해 요약 및/또는 다른 정보를 제공받을 수 있다. 일부 구현에서, 인터페이스(107)는 스피커 및/또는 마이크로폰을 포함할 수 있고, 사용자는 음성으로서 디바이스 요약을 제공받을 수 있다. 따라서, 자동화된 어시스턴트(106) 및/또는 인터페이스(107)는 디바이스 요약을 음성으로 변환하고 클라이언트 디바이스(105)의 스피커를 통해 음성을 렌더링하는 텍스트 음성 변환("TTS") 모듈(도시되지 않음)을 더 포함할 수 있다. 결과적으로 사용자는 자동화된 어시스턴트(106)와의 대화를 계속하기 위해 자동화된 어시스턴트(106)에 추가적인 자연어 입력을 제출할 수 있고 그리고/또는 인터페이스(107)를 이용하여, 하나 이상의 디바이스들의 상태를 조정하기 위한 요청과 같은 추가적인 요청들을 하나 이상의 모듈에 제공할 수 있다.
원격 컴퓨터(110)는 150A와 같은 스마트 어플라이언스에 직접적으로 또는 하나 이상의 스마트 어플라이언스(150B 및 150C)를 제어 및/또는 모니터링하는 스마트 어플라이언스 제어기(160)를 통해 하나 이상의 스마트 어플라이언스들과 통신한다. 앞서 언급한 바와 같이, 스마트 어플라이언스들은 예를 들어 조명 디바이스들, 어플라이언스들, 온도조절기들, 전기 콘센트들, 전자 디바이스들 및/또는 원격 디바이스들와 통신하기 위한 컴포넌트들을 포함하는 다른 디바이스들(예를 들어, 와이-파이(Wi-Fi) 통신 컴포넌트를 갖는 디바이스들)을 포함할 수 있다. 또한, 스마트 어플라이언스(150A, 150B, 150C)는 하나 이상의 컴퓨팅 네트워크(도시되지 않음)를 통해 원격으로 동작할 수 있고 그리고/또는 원격 통신을 통해 스마트 어플라이언스(150)의 하나 이상의 양상의 상태의 변경을 허용할 수 있다.
예로서, 스마트 어플라이언스(150A)는 하나 이상의 통신 채널(예를 들어, 와이파치(Wi-Fi), 블루투스, 지그비(ZigBee), Z-웨이브(Z-Wave) 등)을 통해 원격 컴퓨터(110)와 같은 하나 이상의 원격 컴포넌트에 상태를 제공할 수 있는 스마트 조명 설비일 수 있다. 또한, 사용자는 원격 컴퓨터(110)와 통신하는 하나 이상의 다른 컴포넌트를 통해 조명 설비의 상태를 변경할 수 있다. 예를 들어, 사용자는 원격 컴퓨터(110)를 통해 스마트 어플라이언스(150A)의 상태를 변경하기 위한 요청을 제출하기 위해 자동화된 어시스턴트(106)를 사용할 수 있다(예를 들어, 디바이스 켜기, 디바이스 끄기, 디바이스에서 방출되는 광의 강도 및/또는 색상 변경). 또한, 예를 들어, 원격 컴퓨터(110)는 복수의 스마트 어플라이언스를 제어하는 제어기(160)와 통신할 수 있다. 예를 들어, 스마트 어플라이언스 제어기(160)는 써드 파티에 의해 제조된 디바이스에 제어 신호를 제공 및/또는 그 제어기(160)와 통신하는 디바이스들에 대한 상태 표시들을 폴링하고 제공하는 써드 파티 시스템의 통신 허브 일 수 있다(예를 들어, 회사 A에서 제조된 모든 디바이스들은 제 1 제어기와 통신할 수 있으며, 회사 B에서 제조된 모든 디바이스들은 제 2 제어기와 통신할 수 있음).
스마트 어플라이언스(150A) 및/또는 스마트 어플라이언스 제어기(160)는 스마트 어플라이언스(150A) 또는 스마트 어플라이언스 제어기(160)와 통신하는 스마트 어플라이언스(150B, 150C)의 현재 상태를 표시하도록 구성될 수 있다. 상태는 사용자에 의해 할당된 스마트 어플라이언스의 별칭, 상태 또는 상태 표시와 같은 특정 디바이스의 식별자를 포함할 수 있다. 예를 들어, 사용자는 조명 설비에 "주방 조명(Kitchen Light)"이라는 별칭을 할당하여 스마트 조명 설비를 구성할 수 있다. 조명 설비는 "주방_조명(kitchen_light)"의 별칭을 가진 조명 설비가 현재 온 상태에 있음을 나타내기 위해 "명칭 = 주방_조명 상태 = 온(NAME = kitchen_light STATUS = on)"과 같은 별칭 및 상태를 나타내는 상태를 원격 컴퓨터(110)에 제공할 수 있다. 또한, 예를 들어 상태들은 스마트 어플라이언스의 타입에 고유할 수 있으며 디바이스는 디바이스와 관련된 하나 이상의 상태들을 가질 수 있다. 예를 들어, 스마트 어플라이언스(150A)는, 현재 오븐 온도, 오븐의 하나 이상의 조명 설비 상태, 및/또는 타이머의 현재 시간, 및/또는 배기 팬의 작동 상태와 같은 하나 이상의 상태를 포함하는 오븐일 수 있다.
상태 엔진(117)은 사용자에 의해 제어되는 스마트 어플라이언스의 현재 상태들의 리스트를 결정한다. 일부 구현에서, 스마트 어플라이언스(150A) 및/또는 스마트 어플라이언스 제어기(160)는 하나 이상의 스마트 어플라이언스에 대한 상태를 주기적으로 제공할 수 있다. 예를 들어, 스마트 어플라이언스 제어기(160)는 제어기(160)와 관련된 모든 스마트 어플라이언스들에 관련된 현재 상태들을 매분, 5분마다, 10초마다 제공할 수 있다. 일부 구현에서, 스마트 어플라이언스(150A) 및/또는 스마트 어플라이언스 제어기(160)는 스마트 어플라이언스의 상태가 변경될 때마다 상태 업데이트를 제공할 수 있다. 예를 들어, 제어기(160)와 연계된 조명 설비의 경우, 제어기(160)는 조명 강도가 변경될 때마다(예를 들어, 조명 설비 온, 오프, 오프, 강도 변경 등) 조명 설비의 현재 상태에 대한 상태 업데이트를 제공할 수 있다. 일부 구현에서, 상태 엔진(117)은 현재 상태에 대한 요청을 연결된 디바이스에 제공할 수 있다. 대안으로, 스마트 어플라이언스(150) 및/또는 제어기(160)는 하나 이상의 스마트 어플라이언스 상태가 변경되는 경우, 요청 등에 따라 주기적으로 현재의 스마트 어플라이언스 상태를 비동기적으로 제공할 수 있다. 리스트는 사용자가 디바이스 상태 정보 제공에 관심을 표시할 때 현재 상태로 업데이트될 수 있거나, 예를 들어 상태 엔진(117)에 의해 상태 업데이트가 수신/요청될 때마다 업데이트될 수 있다.
콘텍스트 엔진(115)은 사용자의 컴퓨팅 디바이스에 의해 생성된 하나 이상의 콘텍스트 신호에 기초하여, 사용자의 현재 사용자 콘텍스트를 결정한다. 현재 사용자 콘텍스트는 사용자의 현재 상태 및/또는 예를 들어 사용자 위치의 현재 날씨와 같은 사용자의 환경에 관한 외부 요인들의 표시이다. 사용자 콘텍스트의 속성("콘텍스트 속성")(사용자에 의해 제어되는 하나 이상의 컴퓨팅 디바이스에 의해 결정 및/또는 생성됨)에는 시각, 사용자 위치, 사용자 일정(예를 들어, 사용자의 캘린더에 그녀가 현재 활동에 참여하는 것으로 표시되나요?), 사용자의 소셜 네트워킹 상태, 사용자가 현재 사용중인 하나 이상의 컴퓨터 응용 프로그램, 현재 사용자가 소비하고 있는 미디어 등이 포함될 수 있지만 이에 국한되지는 않는다.
다양한 구현에서, 사용자의 콘텍스트는 사용자가 스마트 어플라이언스 요약에서 제공되는 데 가장 관심을 가질 듯한 디바이스를 결정하는 데 활용될 수 있다. 예를 들어, 사용자는 사용자의 위치, 시각 및/또는 디바이스 요약을 요청하는 사용자의 현재 관심을 나타낼 수 있는 사용자 콘텍스트의 하나 이상의 다른 속성을 기반으로, 특정 스마트 어플라이언스에 더 많은 관심을 가질 수 있다. 따라서, 사용자의 현재 콘텍스트에 기초하여, 사용자가 현재 사용자 콘텍스트에 있는 동안, 필터링된 디바이스들에 관심이 없을 가능성에 기초하여, 현재 스마트 어플라이언스 상태들의 리스트로부터 하나 이상의 스마트 어플라이언스의 상태들이 필터링될 수 있다.
일부 구현에서, 현재 사용자 콘텍스트는 시각을 포함할 수 있다. 예를 들어, 사용자는 디바이스 요약과 함께 제공될 요청을 제공하기 위해 클라이언트 디바이스(105)를 이용할 수 있고 현재 사용자 콘텍스트는 사용자가 요청을 제공한 시각을 포함할 수 있다. 시각에 근거하여 사용자는 다른 시각에 다른 스마트 어플라이언스에 관심을 가질 수 있다. 예를 들어, 사용자가 하루가 끝날 때 요청을 제출하면 사용자는 침실 조명 설비의 상태(예를 들어, 사용자가 있을 가능성이 있거나 곧 있을 위치)보다 스마트 잠금 상태(예를 들어, 문이 잠겼는지 확인하기 위해) 및/또는 스마트 오븐의 상태(예를 들어, 오븐이 현재 온 상태에 있지 않은지 확인)를 제공받는데 더 관심이 있을 수 있다. 따라서, 본 명세서에서 추가로 설명되는 바와 같이, 시각은 하나 이상의 다른 컴포넌트에 의해 하나 이상의 디바이스 신호들을 필터링하기 위해 이용될 수 있다. 더욱이, 시각에 따라 필터링된 현재 상태들의 리스트에 기초하여 요약을 제공함으로써, 예를 들어 사용자는 요약에 의해 불필요한 조명을 끄도록 프롬프트될 수 있다. 따라서 에너지 낭비를 줄일 수 있다.
일부 구현에서, 현재 사용자 콘텍스트는 사용자의 현재 위치 및/또는 사용자가 디바이스 요약에 대한 요청을 제공하기 위해 사용한 디바이스와 연관될 수 있다. 예를 들어, 위치는 클라이언트 디바이스(105)와 연관될 수 있으며, 클라이언트 디바이스(105)의 위치는 사용자가 클라이언트 디바이스(105)를 통해 요청을 제출할 때 사용자의 위치를 나타낼 수 있다. 위치를 포함하는 사용자 콘텍스트는 디바이스 요약에서 하나 이상의 디바이스 상태들을 필터링하는 데 활용된다. 예를 들어, 사용자가 점유한 공간의 조명 유닛들은 필터링될 수 있는 반면, 사용자가 쉽게 볼 수 없는 다른 조명 유닛들은 상태가 요약될 수 있다. 일부 구현에서, 현재 사용자 콘텍스트는 사용자의 현재 위치에서의 날씨와 연관될 수 있다. 예를 들어, 날씨가 현재 콘텍스트의 일부로 사용되는 경우 조명 및/또는 난방 유닛들의 상태가 요약되어 사용자에게 제공될 수 있다. 날씨가 맑음을 나타낼 때 조명 및/또는 난방 유닛들이 필요하지 않을 수 있는 반면, 날씨가 비가 오거나 흐린 것으로 나타나면 사용자는 조명 및/또는 난방 어플라이언스들을 켜고 싶을 수 있다. 날씨 기반 콘텍스트에 따라 필터링된 리스트를 기반으로 요약을 제공함으로써, 사용자가 예를 들어 어플라이언스 상태의 요약에 의해 조명 유닛들을 끄고 난방 유닛들을 끄도록 프롬프트될 수 있으므로, 전반적인 전력 소비를 줄일 수 있다. 따라서 에너지 낭비를 줄일 수 있다.
일부 구현에서, 사용자의 현재 상태 및 현재 사용자 콘텍스트의 리스트는 사용자 콘텍스트 데이터베이스(140)에 저장될 수 있다. 사용자 콘텍스트 데이터베이스(140)는 사용자 콘텍스트와, 이전에 설명된 콘텍스트 속성들 중 하나 이상, 그리고 스마트 어플라이언스들의 상태를 포함한다. 일부 구현에서, 사용자 콘텍스트 및 디바이스들의 상태는 사용자가 디바이스 요약 요청을 제출할 때 사용자 콘텍스트 데이터베이스(140)에 저장될 수 있다. 일부 구현에서, 사용자가 하나 이상의 디바이스 상태를 업데이트할 때, 사용자 콘텍스트 및 디바이스 상태가 사용자 콘텍스트 데이터베이스(140)에 저장될 수 있다. 예를 들어, 사용자가 조명 설비를 켜거나 또는 조명 설비의 상태를 확인할 때, 사용자 콘텍스트 및 디바이스 상태들이 사용자 콘텍스트 데이터베이스(140)에 저장될 수 있다.
현재 사용자 콘텍스트가 결정되면, 콘텍스트 엔진(115)은 현재 사용자 콘텍스트와 비교가능한 사용자의 하나 이상의 과거 콘텍스트를 식별한다. 두 사용자 콘텍스트가 충분히 유사한 경우 비교가능할 수 있다(또는 서로 "매칭"될 수 있음). 예를 들어, 일부 구현에서, 사용자 콘텍스트는(잠재 공간에 임베드되거나 임베드되지 않을 수 있는) 특징 벡터로 정의될 수 있으며, 이러한 특징 벡터 사이의 유사성 및/또는 거리는 예를 들어 유사성 측정으로서 결정 및/또는 계산될 수 있다. 이러한 일부 구현에서, 2개(또는 그 이상의) 사용자 콘텍스트 간의 유사성 측정이 임계치를 초과하는 것과 같은 일부 기준을 충족한다면, 이러한 2개의 콘텍스트는 비교가능한 것으로 간주될 수 있다. 추가적으로 또는 대안적으로, 다른 구현에서, 사용자 콘텍스트는, 예를 들어 시각과 위치가 충분히 유사하거나 동일할 때, 각각의 시각이 서로 n분 이내인 경우, 각 사용자 위치가 m 거리 단위(예를 들어, 피트, 미터 등) 내에 있는 등, 다른 기준 및/또는 휴리스틱들에 기초하여 비교가능한 것으로 간주될 수 있다.
사용자의 과거 콘텍스트는 여기에 설명된 바와 같이 사용자 콘텍스트 데이터베이스(140)와 하나 이상의 특성을 공유하는 데이터베이스에 저장될 수 있으며, 사용자의 스마트 어플라이언스들의 과거 상태들의 리스트를 결정하는 데 사용될 수 있다. 예를 들어, 콘텍스트 엔진(115)은 사용자가 오후 10시에 디바이스 요약에 대한 요청을 제출했음을 식별할 수 있고, 콘텍스트 엔진(115)은 현재 시간에 일시적으로 근접한 과거 사용자 콘텍스트들에 대한 사용자 콘텍스트 데이터베이스(140)의 엔트리를 추가로 식별할 수 있다(예를 들어, 현재 시간의 과거 사용자 콘텍스트). 또한, 예를 들어, 위치의 현재 사용자 콘텍스트는 동일한 위치의 과거 사용자 콘텍스트를 포함하는 사용자 콘텍스트 데이터베이스(140)의 엔트리를 식별하기 위해 활용될 수 있다. 현재 사용자 콘텍스트와 비교할 수 있는 콘텍스트 데이터베이스(140)에서 과거 사용자 콘텍스트를 식별하는 것에 기초하여, 과거 상태의 리스트가 식별될 수 있다.
예를 들어, 사용자는 집을 떠나기 전에 매일 아침 온도 조절기를 조정할 수 있다. 사용자가 온도 조절기를 조정할 때마다, 사용자 콘텍스트(즉, 시각) 및 온도 조절기 온도(즉, 스마트 어플라이언스 상태)를 나타내는 엔트리가 사용자 콘텍스트 데이터베이스(140)에 저장될 수 있다. 그 후, 사용자는 오전 10시에 디바이스 상태 요약과 함께 제공될 요청을 제출할 수 있으며 콘텍스트 엔진(115)은 "아침" 또는 현재 시간을 현재 사용자 콘텍스트로 식별하고, 시간 및/또는 "아침"과 연관된 사용자 콘텍스트 데이터베이스(140)의 엔트리를 식별할 수 있다. 그리고 온도 조절기의 과거 상태들의 리스트를 추가로 식별한다.
필터링 엔진(120)은 현재 상태의 리스트를 필터링하여 하나 이상의 현재 상태를 제거하고 현재 상태의 필터링된 리스트를 생성한다. 일부 구현에서, 현재 상태의 리스트를 필터링하는 것은 사용자 콘텍스트 데이터베이스(140)로부터 식별된 과거 상태의 리스트와 스마트 어플라이언스의 현재 상태 사이의 비교에 기초할 수 있다. 예를 들어, 현재 상태의 리스트는 본 명세서에 설명된 바와 같이 스마트 어플라이언스를 폴링 및/또는 디바이스들 자체(150) 및/또는 디바이스 제어기들(160)로부터 업데이트를 수신함으로써 결정될 수 있다. 디바이스들의 과거 상태들의 리스트는, 여기에 추가적으로 설명된 바와 같이, 사용자의 현재 콘텍스트에 기초하여 사용자 콘텍스트 데이터베이스(140)로부터 (예를 들어, 현재 사용자 콘텍스트와 유사한 과거 사용자 콘텍스트에 대응하는 과거 상태를 찾는 것에 의해) 식별될 수 있다. 필터링 엔진(120)은 요약에서 사용자에게 제공되는 디바이스 상태들의 수를 제한하기 위해 리스트에서 하나 이상의 현재 상태들을 제거하고, 선택적으로 과거 상태에 기초하여 현재 상태를 제거한다. 따라서 제공된 상태들의 수를 제한하면 디바이스 요약을 제공하는 데 필요한 계산 시간이 줄어 든다. 예를 들어, 사용자는 항상 동일한 상태에 있고, 사용자에 의해 사용되지 않으며, 그리고/또는 특정 시간 또는 특정 위치에서만 사용자에게 관심이 있는 디바이스를 포함할 수 있는 20개의 스마트 어플라이언스를 가질 수 있다. 사용자가 특정 콘텍스트를 가지고 있는 동안 사용자에게 관심이 없을 것 같은 디바이스를 제거함으로써, 사용자에게 불필요한 상태 정보가 제공되지 않고 요약 발생에 사용되는 계산 자원이 줄어들 수 있다. 또한 요약에서 사용자에게 20개의 디바이스 상태를 모두 제공하지 않음으로써 사용자는 자동화된 어시스턴트와의 대화에서 추가 입력을 제공하기 위해 디바이스 요약을 활용할 가능성이 더 커진다.
일부 구현에서, 현재 상태의 리스트를 필터링하는 것은 해당 디바이스의 식별된 과거 상태와 일치하는 현재 상태 중 하나 이상을 제거하는 것을 포함할 수 있다. 예를 들어 스마트 조명 설비의 현재 상태가 "온"일 수 있다. 또한, 콘텍스트 엔진(115)은 "아침"의 현재 사용자 콘텍스트를 식별할 수 있고, "온" 상태의 조명 설비에 대한 과거 상태와 연관된, 사용자 콘텍스트 데이터베이스(140)의 "아침"의 과거 사용자 콘텍스트를 추가로 식별할 수 있다. 현재 상태의 리스트는 조명 설비가 아침에 "온" 상태를 가지고 있음을 사용자가 이미 알고 있을 가능성이 있다는 결정에 기초하여 해당 조명 설비에 대한 현재 상태를 제거하도록 필터링될 수 있다.
일부 구현에서, 필터링된 현재 상태들의 리스트는 과거 상태들의 리스트에서 벗어나는 현재 상태들의 리스트의 현재 상태들을 포함할 수 있다. 동일한 예를 계속하여, 사용자 콘텍스트가 "아침"일 때 항상 "온"으로 식별되는 조명 설비는 디바이스의 현재 상태가 "오프"인 경우 필터링된 현재 상태들의 리스트에 포함될 수 있다. 따라서 필터링된 리스트에는 사용자의 현재 콘텍스트를 고려할 때 예상하지 못한 디바이스들의 현재 상태들이 포함될 수 있다.
일부 구현에서, 현재 상태들의 필터링된 리스트는 사용자의 위치 및/또는 디바이스 요약에 대한 요청을 제출하기 위해 사용자에 의해 사용되는 디바이스의 위치에 기초하여 필터링될 수 있다. 전술한 바와 같이, 사용자는 위치와 연관된 클라이언트 디바이스(105)를 통해 디바이스 상태 요약 제공 요청을 제출할 수 있다. 위치는 현재 사용자 콘텍스트에 추가하여 현재 상태 중 하나 이상을 필터링하기 위해 활용될 수 있다. 예를 들어, 사용자는 "주방" 공간에 위치한(즉, "주방" 공간과 관련된) 클라이언트 디바이스(105)를 통해 디바이스 상태 요약 제공 요청을 제출할 수 있다. 또한, 현재 리스트에서 상태들을 가지는 하나 이상의 디바이스는, 상태와 함께 위치를 포함할 수 있다(예를 들어, 명칭 = "오븐" 위치 = "주방" 상태 = "오프"). 필터링된 현재 상태들의 리스트는 "주방" 위치와 추가로 연관된 디바이스들의 하나 이상의 현재 상태를 제거하기 위해 필터링될 수 있다. 따라서, 일부 구현에서, 사용자는 사용자 위치에 기초하여 사용자에게 이미 명백할 수 있는 디바이스의 상태가 제공되지 않을 수 있다.
일부 구현에서, 필터링된 리스트는 스마트 어플라이언스 제어와 관련하여 사용자에 의해 발행된 이전 요청 또는 명령에 기초하여 생성될 수 있다. 따라서, 사용자가 과거 사용자 콘텍스트를 기반으로 이전에 상호작용한 디바이스를 식별하는 것 외에도, 사용자가 하나 이상의 스마트 어플라이언스와 거의 상호작용하지 않거나 전혀 상호작용하지 않음을 식별하는 것에 기초하여 하나 이상의 상태가 리스트에서 필터링될 수 있다. 예를 들어, 조명 설비는 항상 "온" 상태로 유지될 수 있으며, 사용자가 과거 상호작용에서 디바이스의 상태를 변경하지 않았거나 디바이스를 제어하기 위한 요청이나 명령을 제공하지 않았을 수 있다. 그 조명 설비의 상태는 사용자가 디바이스에 관심이 없거나 디바이스의 상태를 이미 알고 있다는 결정에 기초하여 리스트에서 제거될 수 있다. 또한, 일부 구현에서, 필터링된 리스트는 하나 이상의 상태와 연관된 시간에 기초하여 생성될 수 있다. 예를 들어, 사용자는 최근에 디바이스와 상호작용했을 수 있으며, 해당 디바이스의 상태는 사용자가 이미 디바이스의 상태를 알고 있을 가능성이 있다는 결정에 기초하여 상태 리스트에서 제거될 수 있다.
텍스트 발생기(125)는 필터링된 상태 리스트에 포함된 현재 상태 각각에 대한 텍스트 스니펫(텍스트의 작은 부분 또는 텍스트의 일부)을 생성한다. 텍스트 스니펫은 사용자에게 전달될 수 있는 텍스트 형식의 상태 정보를 포함한다. 예를 들어, "명칭 = '침실 조명' 위치 = '왼쪽' 상태 ='오프'"의 상태에 대해, 텍스트 발생기(125)는 "왼쪽 침실 조명이 오프 상태에 있습니다"라는 텍스트 스니펫을 생성할 수 있다. 텍스트 스니펫의 다른 예에는 디바이스의 별칭, 위치, 수치 상태(예를 들어, 온도가 "350도"인 오븐, 강도가 "50%"인 조명 설비) 및/또는 텍스트 형식으로 표시되는 디바이스 및/또는 디바이스 상태와 연결되는 정보가 포함될 수 있다.
요약 발생 엔진(130)은, 디바이스 상태들의 필터링된 리스트로부터 텍스트 발생기(125)에 의해 생성된 텍스트 스니펫의 텍스트 요약을 생성하기 위해, 추출 방법, 추상화 방법, 순환 신경망(Recurrent Neural Network, RNN)들을 사용하는 딥 러닝(예를 들어, 시퀀스 대 시퀀스 학습, 텐서플로우(TensorFlow)) 등과 같은 다양한 텍스트 요약 기술을 사용할 수 있다. 텍스트 스니펫을 기반으로 텍스트 스니펫의 관련 정보를 짧은 형식으로 포함하는 텍스트 요약이 생성되어 사용자에게 표시된다. 텍스트 요약을 발생시키는 것은 예를 들어 텍스트 스니펫들로부터 핵심 어구들을 추출하는 것, 여러 유사한 스니펫들을 단일 텍스트 어구로 요약하는 것, 반복적인 어구들 및/또는 용어들을 단일 어구들로 통합하는 것, 및/또는 텍스트 스니펫에서 중요한 정보를 유지하면서 결과적인 텍스트 요약의 길이를 줄이는 다른 동작들을 포함할 수 있다. 예를 들어, 여러 텍스트 스니펫이 완전한 문장의 각각의 조항들로 표시될 수 있다.
예를 들어, "조명 1은 오프 상태입니다", "조명 2는 오프 상태 입니다" 및, "조명 3은 오프 상태입니다"의 텍스트 스니펫은 "조명들 1, 2 및 3이 오프 상태입니다"의 텍스트 요약으로 요약될 수 있다. 또한 이들이 유일한 텍스트 스니펫(또는 조명들의 유일한 스니펫들)인 경우 "모든 조명이 오프 상태입니다"라는 텍스트 요약이 생성될 수 있다. 대안으로, 텍스트 스니펫이 "조명 4는 온 상태입니다"의 스니펫을 더 포함하는 경우, "조명 4만 온 상태입니다" 및/또는 "조명 4를 제외한 모든 조명이 오프 상태입니다"의 텍스트 요약이 텍스트 요약으로서 생성될 수 있다. 일부 구현에서, 텍스트 요약은 복수의 어구를 포함할 수 있으며, 각각은 필터링된 리스트에 포함된 서로 다른 디바이스 상태의 요약을 표시한다. 텍스트 요약의 다른 예들은 "모든 조명이 오프 상태이고, 온도 조절기가 65로 설정되어 있습니다" 및 "주방 조명을 제외한 모든 아래층 조명이 오프 상태에 있습니다. 문이 잠금해제되어 있습니다"를 포함할 수 있다.
일부 구현에서, 원격 컴퓨터(110)는 디바이스 그룹화 엔진(135)을 더 포함할 수 있다. 디바이스 그룹화 엔진(135)은 필터링된 리스트의 현재 상태들 중 하나 이상을, 그룹의 스마트 어플라이언스들의 현재 상태에 근거하거나/또는 스마트 어플라이언스들의 디바이스 타입(예를 들어, 조명, 요리, 주방 어플라이언스, HVAC 등)에 근거하여 그룹화할 수 있다. 예를 들어, 디바이스 그룹화 엔진(135)은 조명 디바이스의 그룹으로부터 텍스트 스니펫을 식별하고 텍스트 스니펫을 그룹으로서 요약 발생 엔진(130)에 제공하여 하나 이상의 요약 어구들을 생성할 수 있다. 또한, 예를 들어, 디바이스 그룹화 엔진(135)은 위치에 있는 모든 디바이스를 식별하고 식별된 그룹의 상태에 기초하여 텍스트 스니펫을 요약 발생 엔진(130)에 제공할 수 있다.
일부 구현에서, 텍스트 발생기(125)는 디바이스 그룹화 엔진(135)에 의해 결정된 하나 이상의 그룹에 대해 디바이스 타입 텍스트 스니펫(특정 디바이스 타입과 연관된 텍스트의 작은 스니펫 또는 일부)을 생성할 수 있으며; 디바이스 타입 텍스트 스니펫은 예를 들어 스마트 어플라이언스의 현재 상태들의 리스트를 기반으로 각 그룹 내의 스마트 어플라이언스(들)의 상태(들)를 기반으로 생성될 수 있다. 예를 들어, 디바이스 그룹화 엔진(135)은 리스트에 있는 모든 조명 설비들의 현재 상태들을 포함하는 그룹을 생성하고 그룹을 텍스트 발생기(125)에 제공하여 "조명 1은 온. 조명 2는 오프. 조명 3은 오프"와 같은, 3개 조명 설비의 상태들을 포함하는 그룹에 대한 텍스트 스니펫을 생성할 수 있다. 그 다음에, 요약 발생 엔진(130)은 그룹 텍스트 스니펫들을 사용자에게 제공할 "조명 1은 온 상태입니다. 나머지 조명들은 오프 상태입니다"의 요약으로 요약할 수 있다. 일부 구현에서, 텍스트 스니펫들은 그룹의 각각의 상태에 대해 개별적으로 생성될 수 있으며, 스니펫들은 요약을 위해 요약 발생 엔진(130)에 직접 그룹으로서 제공될 수 있다. 예를 들어, "정문 잠김" 및 "뒷문 잠김"의 텍스트 스니펫들이 텍스트 발생기(125)에 의해 생성될 수 있다. 텍스트 스니펫들에 기초하여, 디바이스 그룹화 엔진(135)은 스니펫들의 디바이스 타입 그룹화를 생성할 수 있고, 텍스트 스니펫들을 디바이스 그룹화 엔진(135)에 제공하여 "문들이 잠겼습니다"의 요약을 생성할 수 있다. 디바이스 그룹들에 대한 복수의 텍스트 스니펫은 결과적으로 텍스트 요약에서 전체 문장의 각각의 조항들(각각의 디바이스 그룹에 대한 "텍스트 조항")로 요약되고 표시될 수 있다.
일부 구현에서, 디바이스 타입 텍스트 스니펫은 특정 상태를 갖는 디바이스 타입의 디바이스들의 카운트를 결정하고 복수의 토큰들(이중 하나는 특정 상태를 갖는 디바이스들의 카운트임)을 포함하는 텍스트 스니펫을 발생시키는 것에 기초하여 발생될 수 있다. 예를 들어, 그룹은 4개의 조명 디바이스들에 대한 상태들 및/또는 텍스트 스니펫들을 포함할 수 있으며, 그 중 3개는 "온" 상태를 나타내고, 그 중 하나는 "오프" 상태를 나타낸다. 텍스트 발생기(125)는 그룹의 디바이스의 각각의 상태에 대한 토큰을 포함하는 텍스트 스니펫을 생성할 수 있다. 예를 들어, 텍스트 발생기(125)는 "3개의 조명이 온, 하나는 오프" 및/또는 "조명 1이 오프, 3개의 조명이 온"이라는 텍스트 스니펫을 생성할 수 있다.
텍스트 요약이 생성되면, 요약 발생 엔진(130)은 사용자에게 출력하기 위해 사용자의 출력 디바이스에 텍스트 요약을 (예를 들어, 적절한 텍스트, 그래픽 및/또는 음성 형식으로) 제공한다. 일부 구현에서, 출력 디바이스는 클라이언트 디바이스(105)와 하나 이상의 특성을 공유할 수 있다. 예를 들어, 텍스트 요약은 자동화된 어시스턴트(106) 및/또는 그래픽 및/또는 텍스트 컴포넌트 둘 다를 포함할 수 있는 인터페이스(107)를 통해 사용자에게 제공될 수 있다.
일부 구현에서, 텍스트 요약은 음성으로 사용자에게 제공될 수 있다. 예를 들어, 자동화된 어시스턴트(106)와 같은 원격 컴퓨터(110) 및/또는 클라이언트 디바이스(105)의 하나 이상의 컴포넌트는 텍스트 요약을 음성으로 변환하여 사용자에게 제공하는 텍스트 음성 변환 컴포넌트를 포함할 수 있다. 도 2를 참조하면 자동화된 어시스턴트(106)를 실행하는 클라이언트 디바이스(105)와 사용자(101) 사이의 예시적인 대화가 도시되어 있다. 대화 턴(205)에서, 사용자(101)는 디바이스 요약에 대한 요청을 제공한다. 요청은 사용자(101)에게 제공할 텍스트 요약을 결정하는 원격 컴퓨터(110)에 제출된다. 대화 턴(210)에서, 텍스트 요약은 오디오 출력으로서 사용자(101)에게 제공된다.
일부 구현에서, (사용자에게 텍스트 또는 음성으로서 제공되는) 텍스트 요약 다음에는 사용자로부터 하나 이상의 스마트 어플라이언스의 상태를 변경하기 위한 응답에 대한 요청을 포함하는 추가 음성이 이어질 수 있다. 예를 들어, 다시 도 2를 참조하면, 클라이언트 디바이스(105)의 자동화된 어시스턴트는, 대화 턴(210)으로부터 다른 디바이스와는 다른 상태를 갖는 스마트 어플라이언스(즉, 해당 디바이스는 "온" 상태인 반면 다른 디바이스들은 "오프" 상태임)를 나타내며 아울러 해당 스마트 어플라이언스의 상태를 변경하기 위해 사용자에 대한 문의를 포함하는 오디오(215)를 제공한다. 따라서, 사용자는 표시된 스마트 어플라이언스의 상태를 변경하기 위해 하나 이상의 컴포넌트에 의해 이용될 수 있는 "예, 끄십시오"의 응답(220)을 제공한다. 예를 들어, 하나 이상의 컴포넌트는 "조명 1"에 대한 응답(215)에서 "이것"을 해결할 수 있고 "조명 1 끄기"의 요청이 추가 프로세싱을 위해 원격 컴퓨터(110)에 제공될 수 있다.
일부 구현에서, 텍스트 요약은 인터페이스(107)를 통해 그래픽으로 사용자에게 제공될 수 있다. 텍스트 요약은 인터페이스(107)와 하나 이상의 특성을 공유하는 인터페이스를 통해 제공될 수 있다. 예를 들어 도 3을 참조하면, 텍스트 요약을 제공하는 것을 예시하는 예시적인 인터페이스(300)가 제공된다. 인터페이스(300)는 텍스트 형식의 요약 발생 엔진(130)에 의해 결정된 텍스트 요약(301)을 포함한다. 일부 구현에서, 인터페이스(300)는 오디오 기능을 더 포함하는 디바이스에 의해 구현될 수 있다. 예를 들어, 인터페이스(300)는 텍스트 요약의 시각적 표현뿐만 아니라 (도 2에 도시된 디바이스와 유사한) 텍스트 요약의 음성을 제공하는 클라이언트 디바이스(105)에서 실행될 수 있다. 예를 들어, 302에서, 사용자는 라디오 버튼을 사용하여 조정할 수 있는 조명들 및 상태들의 리스트를 포함하는 그래픽 사용자 인터페이스를 제공받는다. 또 다른 예로서, 텍스트 요약(301)에서, "문들" 및 "조명들"이라는 단어는 302와 유사한 각각의 그래픽 사용자 인터페이스(사용자가 그 컴포넌트들을 제어하기 위해 조작할 수 있는)를 표시하도록 선택할 수 있음을 나타내기 위해, 굵게 밑줄로 강조될 수 있다.
다시 도 3을 참조하면, 인터페이스(300)는 제어 인터페이스(302)를 포함한다. 제어 인터페이스(302)는 사용자가 임의의 디바이스 상태를 변경할 수 있도록 하는 (예를 들어) 라디오 버튼뿐만 아니라 텍스트 요약(즉, 조명 1 내지 4)에 포함된 디바이스들을 위한 인터페이스를 포함한다. 텍스트 요약에 포함된 것처럼 조명 1 내지 3은 현재 "오프" 상태로 설정되고 조명 4는 "온" 상태로 설정된다. 사용자는 조명 4의 "오프" 라디오 버튼을 선택하여 디바이스를 끄는 것과 같이, 해당 디바이스의 상태를 변경해야함을 표시하기 위하여 임의의 제어 인터페이스의 라디오 버튼을 선택할 수 있다. 일부 구현에서, 제어 인터페이스(302)는 텍스트 요약에 포함되지 않은 디바이스를 포함할 수 있다. 예를 들어, 현재 제어 중인 디바이스가 20개인 사용자에게 모든 디바이스, 텍스트 요약 내에 포함된 수보다 더 많은 디바이스들을 포함하는 디바이스들 및/또는 텍스트 요약 내에 포함된 디바이스들과 동일한 디바이스들의 선택을 포함하는 제어 인터페이스가 제공될 수 있다. 일부 구현에서, 사용자 선택은 사용자에 의해 제어되는 하나 이상의 스마트 어플라이언스의 상태를 조정하기 위해 이용될 수 있다. 업데이트된 상태는 스마트 어플라이언스(150A)와 같은 스마트 어플라이언스에 제공될 수 있고 그리고/또는 하나 이상의 스마트 어플라이언스의 제어기(160)에 제공될 수 있다.
일부 구현에서, 다수의 사용자가 하나 이상의 입력 디바이스와 연관될 수 있다. 사용자 각각은 하나 이상의 과거 사용자 콘텍스트와 연관될 수 있고 필터링 엔진(120)에 의한 상태들의 필터링에 영향을 미칠 수 있는 상이한 과거 상호작용을 가질 수 있다. 따라서, 일부 구현에서, 하나 이상의 구성요소는 먼저 오디오 데이터 및/또는 대응하는 과거 사용자 콘텍스트들을 식별하기 전에 복수의 사용자들 중 디바이스 요약을 요청하는 사용자를 결정하기 위한 다른 식별 데이터를 먼저 수신할 수 있다. 예를 들어, 사용자 콘텍스트 데이터베이스(140)는 앞서 설명된 바와 같이 이전에 저장되었던 사용자 1 및 사용자 2에 대한 과거 사용자 콘텍스트를 포함할 수 있다. 사용자들 중 한 명이 디바이스의 상태에 대한 텍스트 요약을 제공하기 위해 자동화된 어시스턴트(106)에 음성 요청을 제출하면, 하나 이상의 컴포넌트는 먼저, 요청이 사용자 1 또는 사용자 2에서 발생했는지 여부를 결정한 다음, 식별된 사용자에 해당하는 과거 사용자 콘텍스트만을 식별한다. 이러한 방식으로 스마트 어플라이언스의 제어가 보다 자원 효율적인 방식으로 제공될 수 있다.
도 4는 사용자에 의해 제어되는 스마트 어플라이언스의 상태에 대한 텍스트 요약을 제공하기 위한 예시적인 방법의 흐름도를 도시한다. 도 4의 단계들은 클라이언트 디바이스의 하나 이상의 프로세서와 같은 하나 이상의 프로세서에 의해 수행될 수 있다. 다른 구현은 도 4에 예시된 것보다 더 많은 단계를 포함하고, 다른 순서로 및/또는 병렬로 도 4의 단계(들)를 수행할 수 있다. 또는 도 4의 단계 중 하나 이상을 생략할 수 있다.
단계 405에서, 사용자에 의해 제어되는 복수의 스마트 어플라이언스의 현재 상태들의 리스트가 결정된다. 현재 상태들은, 하나 이상의 스마트 어플라이언스를 폴링하고 폴링에 대한 응답으로 상태를 수신하여 결정될 수 있다. 일부 구현에서, 하나 이상의 스마트 어플라이언스 및/또는 스마트 어플라이언스들의 제어기들은 상태 엔진(117)과 특성을 공유하는 하나 이상의 컴포넌트에 주기적으로 상태를 제공할 수 있다. 예를 들어, 하나 이상의 스마트 어플라이언스(150A) 및/또는 스마트 어플라이언스 제어기(160)는 10초마다, 분당 1회 및/또는 언제든지, 연관된 디바이스들의 변화들 중 하나에 관련된 상태를 제공할 수 있다. 일부 구현에서, 자동화된 어시스턴트(106)와 같은 하나 이상의 컴포넌트는 예를 들어, 메모리에서 스마트 어플라이언스들의 실행 집계 및 마지막으로 알려진 상태를 유지할 수 있다. 이 실행 집계에서 리스트가 결정될 수 있다.
단계 410에서, 현재 사용자 콘텍스트는 사용자의 하나 이상의 디바이스로부터 수신된 하나 이상의 콘텍스트 신호에 기초하여 결정된다. 현재 사용자 콘텍스트는, 예를 들어, 사용자의 현재 위치, 사용자가 디바이스 요약 제공 요청을 제출한 현재 시간, 디바이스 요약을 요청하기 전에 사용자의 하나 이상의 동작, 및/또는 사용자가 디바이스 요약을 요청하는 콘텍스트를 나타내는 하나 이상의 다른 신호를 포함할 수 있다. 예를 들어, 콘텍스트 신호에는 오후 10시에, 사용자 집의 침실에 위치한 디바이스를 사용하기 위한 디바이스 요약을 요청하는 사용자가 포함될 수 있다. 현재 사용자 콘텍스트는 사용자가 식별된 시간 및 위치에 기초하여 사용자가 취침 준비를 하고 있다고 판단될 수 있다. 일부 구현에서, 현재 사용자 콘텍스트는 콘텍스트 엔진(115)과 하나 이상의 특성을 공유하는 컴포넌트에 의해 결정될 수 있다. 일부 구현에서, 현재 사용자 콘텍스트는 사용자의 주변 환경과 관련된 하나 이상의 외부 요인을 포함할 수 있다.
단계 415에서, 현재 사용자 콘텍스트와 비교가능한 하나 이상의 과거 사용자 콘텍스트가 식별된다. 과거 사용자 콘텍스트는 사용자 콘텍스트 데이터베이스(140)와 하나 이상의 특성을 공유하는 데이터베이스에 저장될 수 있다. 예를 들어, 사용자가, 디바이스의 상태 변경 및/또는 디바이스의 상태 요청과 같이, 하나 이상의 디바이스와 상호작용할 때, 현재 사용자의 콘텍스트와 상태 변화 및/또는 상호작용은 현재 콘텍스트와 함께 사용자 콘텍스트 데이터베이스(140)에 저장될 수 있다. 그 후, 저장된 상호작용은 사용자가 상태 업데이트를 요청하고 저장된 콘텍스트와 비교가능한 콘텍스트에 있을 때 식별될 수 있다(예를 들어, 유사한 시각, 동일한 위치, 추후에 수행된 하나 이상의 다른 동작).
단계 420에서, 하나 이상의 식별된 과거 사용자 콘텍스트와 연관된 과거 상태의 리스트가 식별된다. 과거 상태의 리스트는 사용자 콘텍스트 데이터베이스(140)와 하나 이상의 특성을 공유하는 데이터베이스에서 식별될 수 있다. 예를 들어, 사용자 콘텍스트 데이터베이스(140)는 과거 사용자 콘텍스트들이 기록되었을 때에 있던 스마트 기기들 중 하나 이상의 상태들이 매핑된 과거 사용자 콘텍스트들을 포함할 수 있다. 일부 구현에서, 주어진 사용자 콘텍스트에 대한 과거 상태들의 리스트는, 대응하는 과거 사용자 콘텍스트와 현재 사용자 콘텍스트 사이의 유사성에 기초하여 식별될 수 있다.
단계 425에서, 디바이스의 현재 상태의 리스트가 필터링되어 하나 이상의 상태를 제거한다. 필터링은 현재 사용자 콘텍스트와 비교할 수 있는 사용자의 과거 사용자 콘텍스트와 연관된 하나 이상의 과거 상태를 기반으로 할 수 있다. 예를 들어, 사용자가 현재 사용자 콘텍스트와 비교가능한 과거 사용자 콘텍스트에 있는 동안 일반적으로 연관된 디바이스의 상태를 변경하지 않았음을 식별하는 것에 기반하여, 하나 이상의 상태(즉, 스마트 어플라이언스들)를 리스트에서 제거할 수 있다. 또한, 예를 들어, 사용자가 과거에 현재 콘텍스트에 있었던 동안 상태가 그 디바이스의 상태와 일치함을 식별하는 것에 기초하여, 하나 이상의 상태가 제거될 수 있다(예를 들어, 조명은 항상 밤에 "오프" 상태이고, 현재 조명이 "오프"이며, 사용자 콘텍스트는 "밤"임, 이 상태는 리스트에서 제거될 수 있음).
단계 430에서, 필터링된 상태 리스트의 각 상태에 대해 하나 이상의 텍스트 스니펫이 생성된다. 텍스트 스니펫에는 사용자에게 제공하기 위해 텍스트 형식으로 지정된 디바이스의 상태 정보가 포함된다. 예를 들어, 디바이스의 상태는 "명칭 = 조명, 위치 = 주방, 상태 = 온"과 같은 정보가 있는 복수의 슬롯을 포함할 수 있으며, 상태는 "주방 조명 온"이라는 텍스트 스니펫으로 변환될 수 있다. 텍스트 스니펫들은 텍스트 발생기(125)와 하나 이상의 특성을 공유하는 컴포넌트에 의해 생성될 수 있다.
단계 435에서, 텍스트 스니펫들에 기초하여 텍스트 요약이 생성된다. 텍스트 요약에는 텍스트 스니펫들에서의 정보 추출, 요약에 제공된 정보를 줄이기 위해 텍스트 스니펫에서 정보 일반화, 그룹의 상태를 일반화하기 위해 하나 이상의 텍스트 스니펫들을 그룹화, 및/또는 관련 정보를 유지하면서 출력을 줄이는 기타 요약 방법이 포함될 수 있다. 예를 들어, 네 개의 조명 상태에 대한 텍스트 스니펫들에는 "조명 1 온", "조명 2 온", "조명 3 온" 및, "조명 4 온"이 포함될 수 있다. 디바이스 그룹화 엔진(135)과 하나 이상의 특성을 공유하는 컴포넌트는, 모든 스니펫들을 "조명" 타입 디바이스들에 대한 것으로 식별할 수 있으며, 요약 발생 엔진(130)은 "모든 조명이 온 상태에 있음" 및/또는 "조명 1, 2, 3, 4가 온 상태에 있음"의 그룹에 대한 요약을 생성할 수 있다. 일부 구현에서, "4개의 조명이 온 상태에 있음" 및/또는 "3개의 조명이 온 상태에 있고 하나는 오프 상태에 있음"과 같이, 디바이스들의 카운트가 요약에 토큰으로 포함될 수 있다.
단계 440에서, 텍스트 요약은 사용자에게 출력하기 위해 사용자의 출력 디바이스에 제공된다. 그 후 텍스트 요약이 사용자에게 제공될 수 있고, 텍스트 요약이 음성 및/또는 시각적 디스플레이를 통해 사용자에게 제공될 수 있는 것으로 이해될 수 있다. 예를 들어, TTS 모듈은 텍스트 요약을 음성으로 변환하고 사용자가 디바이스 요약을 요청하는 것에 응답하여 자동화된 어시스턴트를 통해 그 음성을 제공할 수 있다. 일부 구현에서, 텍스트 요약은 인터페이스(107)와 하나 이상의 특성을 공유하는 컴포넌트를 통해 그래픽으로 제공될 수 있다. 일부 구현에서, 텍스트 요약에는 추가 정보가 제공될 수 있다. 예를 들어, 텍스트 요약은 인터페이스(107)를 통해 그래픽으로 제공되는 다른 디바이스의 상태 및/또는 요약에 포함된 디바이스의 상태와 관련된 추가 정보와 함께 음성을 통해 제공될 수 있다. 일부 구현에서, 추가 정보는 사용자가 하나 이상의 디바이스의 상태를 업데이트할 수 있도록 하나 이상의 제어 인터페이스를 포함할 수 있다. 예를 들어, 도 3에 도시된 텍스트 요약은 사용자가 하나 이상의 디바이스의 상태를 업데이트할 수 있도록 하는 제어 인터페이스(302)를 제공한다.
도 5는 사용자에 의해 제어되는 스마트 어플라이언스의 상태에 대한 텍스트 요약을 제공하기 위한 예시적인 방법의 흐름도를 도시한다. 도 5의 단계들은 클라이언트 디바이스의 하나 이상의 프로세서와 같은, 하나 이상의 프로세서에 의해 수행될 수 있다. 편의상, 도 5의 동작들은 시스템에 의해 수행되는 것으로 설명될 것이다. 다른 구현은 도 5에 예시된 것보다 더 많은 단계를 포함하고, 다른 순서로 및/또는 병렬로 도 5의 단계(들)를 수행할 수 있다. 또는 도 5의 단계 중 하나 이상을 생략할 수 있다.
블록 505는 도 4의 블록(405)의 동작과 실질적으로 유사할 수 있다. 블록 510에서, 시스템은 복수의 스마트 어플라이언스의 현재 상태들의 리스트를 스마트 어플라이언스의 디바이스 타입별로 그룹으로 구성할 수 있다. 예를 들어, 시스템은 조명 유닛들(예를 들어, 스마트 전구, 스마트 조명 스트립, 스마트 조명 기기 등)을 하나의 그룹으로, HVAC에 관련 스마트 어플라이언스를 다른 그룹으로, 스마트 잠금 디바이스를 또 다른 그룹으로 구성할 수 있다.
블록 515에서, 시스템은 블록 510에서 구성된 스마트 어플라이언스 그룹 중 하나 이상에 대한 디바이스 타입 텍스트 스니펫을 생성할 수 있다. 예를 들어, 총 10개의 스마트 조명이 있고 그 중 3 개가 활성화된 경우, 텍스트 스니펫은 "10개의 조명 중 3개가 온 상태에 있음"과 같을 수 있다. 블록 520 및 525에서, 시스템은 도 4의 블록 435 및 440과 유사하게, 하나 이상의 디바이스 타입 텍스트 스니펫의 텍스트 요약을 생성하고 사용자에 의해 제어되는 하나 이상의 컴퓨팅 디바이스의 출력 디바이스에 텍스트 요약을 제공할 수 있다. 텍스트 요약은 임의의 적절한 형식으로 사용자에게 제공될 수 있다.
도 6은 사용자에 의해 제어되는 스마트 어플라이언스의 상태에 대한 텍스트 요약을 제공하기 위한 예시적인 방법의 흐름도를 도시한다. 도 6의 단계들은 클라이언트 디바이스의 하나 이상의 프로세서와 같은, 하나 이상의 프로세서에 의해 수행될 수 있다. 편의상, 도 6의 동작은 시스템에 의해 수행되는 것으로 설명될 것이다. 다른 구현은 도 6에 예시된 것보다 더 많은 단계를 포함하고, 다른 순서로 및/또는 병렬로 도 6의 단계(들)를 수행할 수 있다. 또는 도 6의 단계 중 하나 이상을 생략할 수 있다.
블록 605, 610 및 615는 각각 도 4의 블록 405, 410 및 415와 유사할 수 있다. 그러나 블록 620에서, 시스템은 복수의 스마트 어플라이언스 중 하나 이상을 제어하는 것과 관련하여 사용자에 의해 발행된 하나 이상의 요청 또는 명령을 식별할 수 있으며, 여기서, 하나 이상의 요청 또는 명령은 사용자가 하나 이상의 과거 사용자 콘텍스트에 있는 동안 사용자에 의해 발행된 것이다. 블록 625에서, 시스템은 현재 상태의 리스트를 필터링하여 현재 상태 중 하나 이상을 제거하고 현재 상태의 필터링된 리스트를 생성할 수 있다. 다양한 구현에서, 필터링은 식별된 하나 이상의 요청 또는 명령에 적어도 부분적으로 기초할 수 있다. 직관적으로, 이러한 과거 요청들/명령들이 비교가능한 사용자 콘텍스트에서 사용자에 의해 발행되었다는 사실은 사용자가 유사한 상황에서 이러한 요청들/명령들을 받는 스마트 어플라이언스에 관심을 가질 가능성이 더 높다는 것을 나타낸다.
블록 630에서, 시스템은 도 4의 블록 430과 유사하게 현재 상태의 필터링된 리스트에 기초하여 하나 이상의 텍스트 스니펫을 생성할 수 있다. 블록 635에서, 시스템은 도 4의 블록 435와 유사하게 하나 이상의 텍스트 스니펫들의 텍스트 요약을 생성할 수 있다. 그리고 도 4의 블록 440과 유사하게, 블록 640에서, 시스템은 사용자에 의해 제어되는 하나 이상의 컴퓨팅 디바이스의 출력 디바이스에 텍스트 요약을 제공할 수 있다. 그러면 텍스트 요약이 출력 디바이스를 통해 사용자에게 제공될 수 있다.
도 7은 여기에 설명된 기술의 하나 이상의 양상을 수행하기 위해 선택적으로 이용될 수 있는 예시적인 컴퓨팅 디바이스(710)의 블록도이다. 컴퓨팅 디바이스(710)는 일반적으로 버스 서브시스템(712)을 통해 다수의 주변 디바이스와 통신하는 적어도 하나의 프로세서(714)를 포함한다. 이러한 주변 디바이스들은, 예를 들어 메모리 서브시스템(725)와 파일 저장 서브시스템(726), 사용자 인터페이스 출력 디바이스(720), 사용자 인터페이스 입력 디바이스(722), 및 네트워크 인터페이스 서브시스템(716)을 포함하는 저장 서브시스템 (724)을 포함할 수 있다. 입력 및 출력 디바이스는 컴퓨팅 디바이스(710)와 사용자 상호작용을 허용한다. 네트워크 인터페이스 서브시스템(716)은 외부 네트워크에 대한 인터페이스를 제공하고 다른 컴퓨팅 디바이스들의 대응하는 인터페이스 디바이스들에 연결된다.
사용자 인터페이스 입력 디바이스(722)는 키보드, 마우스, 트랙볼, 터치 패드 또는 그래픽 태블릿과 같은 포인팅 디바이스, 스캐너, 디스플레이에 통합된 터치 스크린, 음성 인식 시스템과 같은 오디오 입력 디바이스, 마이크 및/또는 다른 타입의 입력 디바이스들을 포함할 수 있다. 일반적으로, "입력 디바이스"라는 용어의 사용은 모든 가능한 타입의 디바이스 및 컴퓨팅 디바이스(710) 또는 통신 네트워크에 정보를 입력하는 방법을 포함하도록 의도된다.
사용자 인터페이스 출력 디바이스(720)는 디스플레이 서브시스템, 프린터, 팩스 기계, 또는 오디오 출력 디바이스와 같은 비시각적 디스플레이들을 포함할 수 있다. 디스플레이 서브시스템은 음극선관(CRT), 액정 디스플레이(LCD)와 같은 평판 디바이스, 프로젝션 디바이스, 또는 가시적 이미지를 생성하기위한 다른 메커니즘을 포함할 수 있다. 디스플레이 서브시스템은 또한 오디오 출력 디바이스를 통해 비시각적 디스플레이를 제공할 수 있다. 일반적으로, "출력 디바이스" 라는 용어의 사용은 모든 가능한 타입의 디바이스 및 컴퓨팅 디바이스(710)에서 사용자 또는 다른 기계 또는 컴퓨팅 디바이스로 정보를 출력하는 방법을 포함하도록 의도된다. 저장 서브시스템(724)은 본 명세서에 설명된 모듈의 일부 또는 모든 기능을 제공하는 프로그래밍 및 데이터 구성을 저장한다. 예를 들어, 저장 서브시스템(724)은 여기에 설명된 방법들의 선택된 양상들 뿐만 아니라, 도 1에 도시 된 다양한 컴포넌트를 구현하기 위한 로직을 포함할 수 있다.
이러한 소프트웨어 모듈은 일반적으로 프로세서(714)에 의해 단독으로 또는 다른 프로세서와 결합하여 실행된다. 저장 서브시스템(724)에서 사용되는 메모리(725)는 프로그램 실행 동안 명령어 및 데이터를 저장하기위한 메인 랜덤 액세스 메모리(RAM)(730) 및 고정 명령어가 저장되는 읽기 전용 메모리(ROM)(732)를 포함하는 다수의 메모리를 포함할 수 있다. 파일 저장 서브시스템(726)은 프로그램 및 데이터 파일에 대한 영구 저장을 제공할 수 있으며, 하드 디스크 드라이브, 플로피 디스크 드라이브와 관련된 이동식 미디어, CD-ROM 드라이브, 광학 드라이브 또는 이동식 미디어 카트리지를 포함할 수 있다. 특정 구현들의 기능을 구현하는 모듈들은 저장 서브시스템(724)의 파일 저장 서브시스템(726), 또는 프로세서(들)(714)에 의해 액세스 가능한 다른 기계들에 의해 저장될 수 있다.
버스 서브시스템(712)은 컴퓨팅 디바이스(710)의 다양한 컴포넌트 및 서브시스템이 의도한 바에 따라 서로 통신할 수 있도록 하는 메커니즘을 제공한다. 버스 서브시스템(712)이 단일 버스로서 개략적으로 도시되어 있지만, 버스 서브시스템의 대안적인 구현은 다중 버스를 사용할 수 있다. 컴퓨팅 디바이스(710)는 워크 스테이션, 서버, 컴퓨팅 클러스터, 블레이드 서버, 서버 팜, 또는 임의의 다른 데이터 프로세싱 시스템 또는 컴퓨팅 디바이스를 포함하는 다양한 타입들일 수 있다. 컴퓨터 및 네트워크의 끊임없이 변화하는 특성으로 인해, 도 7에 도시된 컴퓨팅 디바이스(710)의 설명은 단지 일부 구현을 설명하기 위한 특정 예로서만 의도된다. 컴퓨팅 디바이스(710)의 다른 많은 구성은, 도 7에 도시된 것보다 더 많거나 더 적은 컴포넌트를 가질 수 있다.
여기에서 논의된 특정 구현들이 사용자에 대한 개인 정보(예를 들어, 다른 전자 통신에서 추출된 사용자 데이터, 사용자의 소셜 네트워크에 대한 정보, 사용자의 위치, 사용자의 시간, 사용자의 생체 정보, 사용자의 활동 및 인구 통계 정보, 사용자 간의 관계 등)를 수집하거나 사용할 수 있는 상황에서, 사용자에게는 정보 수집 여부, 개인 정보 저장 여부, 개인 정보 사용 여부 그리고 사용자에 대한 정보의 수집, 저장, 및 사용 방식을 제어할 수 있는 하나 이상의 기회가 제공된다. 즉, 여기에 설명된 시스템 및 방법은 관련 사용자로부터 명시적인 승인을 받은 경우에만 사용자 개인 정보를 수집, 저장 및/또는 사용한다.
예를 들어, 사용자는 프로그램 또는 기능이 특정 사용자 또는 프로그램 또는 기능과 관련된 다른 사용자에 대한 사용자 정보를 수집하는지 여부를 제어할 수 있다. 개인 정보가 수집될 각 사용자에게는 해당 사용자와 관련된 정보 수집을 제어할 수 있는 하나 이상의 옵션이 제공되어, 정보 수집 여부 및 정보의 어느 부분이 수집되는 지에 대한 권한 또는 승인을 제공할 수 있다. 예를 들어, 사용자는 통신 네트워크를 통해 이러한 제어 옵션을 하나 이상 제공받을 수 있다. 또한 특정 데이터는 저장 또는 사용되기 전에 하나 이상의 방식으로 프로세싱되어 개인 식별 정보가 제거될 수 있다. 예를 들어, 사용자의 신원은 개인적으로 식별가능한 정보가 결정되지 않도록 프로세싱될 수 있다. 또 다른 예로서, 사용자의 특정 위치를 결정할 수 없도록 사용자의 지리적 위치를 더 큰 지역으로 일반화할 수 있다.
여러 구현이 여기에 설명되고 예시되었지만, 기능의 수행 및/또는, 결과 및/또는 여기에 설명된 하나 이상의 이점을 획득하기 위한 다양한 다른 수단 및/또는 구조가 활용될 수 있다. 그리고 그러한 각각의 변형 및/또는 수정은 여기에 설명된 구현의 범위 내에 있는 것으로 간주된다. 보다 일반적으로, 본 명세서에 설명된 모든 매개 변수, 치수, 재료 및 구성은 예시적인 것이며 실제 매개 변수, 치수, 재료 및/또는 구성은 가르침이 사용되는 특정 애플리케이션 또는 애플리케이션들에 따라 달라질 수 있다. 당업자는 단지 일상적인 실험을 사용하여 본 명세서에 설명된 특정 구현에 대한 많은 등가물을 인식하거나 확인할 수 있을 것이다. 따라서, 전술한 구현은 단지 예로서 제시된 것이며, 첨부된 청구 범위 및 그 균등물의 범위 내에서, 구현이 구체적으로 설명되고 청구된 것과 달리 실행될 수 있다는 것을 이해해야 한다. 본 개시내용의 구현은 본원에 기재된 각각의 개별적인 특징, 시스템, 물품, 재료, 키트 및/또는 방법에 관한 것이다. 또한, 그러한 특징, 시스템, 물품, 재료, 키트 및/또는 방법이 서로 일치하지 않는 경우, 이러한 특징, 시스템, 물품, 재료, 키트 및/또는 방법의 임의의 조합은 본 개시의 범위 내에 포함된다.

Claims (20)

  1. 컴퓨터로 구현되는 방법으로서, 상기 방법은,
    사용자에 의해 제어되는 복수의 스마트 어플라이언스(smart appliance)들의 현재 상태들의 리스트(list)를 결정하는 것과;
    상기 사용자에 의해 제어되는 하나 이상의 컴퓨팅 디바이스(computing device)들에 의해 발생되는 하나 이상의 콘텍스트 신호(contextual signal)들에 근거하여 현재 사용자 콘텍스트(current user context)를 결정하는 것과;
    복수의 과거 사용자 콘텍스트(past user context)들로부터, 상기 현재 사용자 콘텍스트와 비교할 수 있는 하나 이상의 비교가능한 과거 사용자 콘텍스트들을 식별하는 것과;
    상기 하나 이상의 비교가능한 과거 사용자 콘텍스트들 각각에 대해, 상기 복수의 스마트 어플라이언스들의 과거 상태들의 대응하는 리스트를 획득하는 것과;
    현재 상태들의 상기 리스트를 필터링(filtering)하여 상기 현재 상태들 중 하나 이상을 제거하고 현재 상태들의 필터링된 리스트를 발생시키는 것과, 여기서 상기 필터링하는 것은 현재 상태들의 상기 리스트를 과거 상태들의 상기 하나 이상의 리스트들과 비교하는 것에 근거하며;
    상기 복수의 스마트 어플라이언스들의 현재 상태들의 상기 필터링된 리스트를 상기 복수의 스마트 어플라이언스들의 디바이스 타입(device type)들에 의해 스마트 어플라이언스들의 그룹(group)들로 구조화(organizing)하는 것과;
    스마트 어플라이언스들의 상기 그룹들 중 하나 이상에 대한 적어도 하나의 디바이스 타입 텍스트 스니펫(device type textual snippet)을 발생시키는 것과;
    상기 적어도 하나의 디바이스 타입 텍스트 스니펫의 텍스트 요약(textual summary)을 발생시키는 것과; 그리고
    상기 사용자에 의해 제어되는 하나 이상의 컴퓨팅 디바이스들의 출력 디바이스(output device)에 상기 텍스트 요약을 제공하는 것을 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 필터링하는 것은, 현재 상태들의 상기 리스트로부터, 과거 상태들의 상기 리스트로부터의 대응하는 과거 상태들에 매칭(matching)되는 상기 현재 상태들 중 하나 이상을 제거하는 것을 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    현재 상태들의 상기 필터링된 리스트는 과거 상태들의 상기 리스트로부터 벗어난 현재 상태들의 상기 리스트로부터의 현재 상태들을 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    스마트 어플라이언스들의 상기 그룹들 중 하나는 복수의 조명 유닛(lighting unit)들을 포함하고,
    상기 방법은 또한, 특정 상태를 갖는 상기 복수의 조명 유닛들의 조명 유닛들의 카운트(count)를 결정하는 것을 포함하고,
    상기 적어도 하나의 디바이스 타입 텍스트 스니펫을 발생시키는 것은, 복수의 토큰(token)들을 포함하는 조명 유닛 텍스트 스니펫을 발생시키는 것을 포함하고,
    상기 복수의 토큰들 중 적어도 하나는 상기 카운트인 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 출력 디바이스는 상기 텍스트 요약을 오디오(audio)를 통해 상기 사용자에게 제공하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    상기 방법은 또한, 오디오 프롬프트(audio prompt)를 제공하는 것을 포함하고, 상기 오디오 프롬프트는, 상기 복수의 스마트 어플라이언스들 중 하나 이상의 스마트 어플라이언스를 표시하고, 아울러 상기 표시된 스마트 어플라이언스의 상태를 변경하도록 하는 제안(offer)을 표시하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 방법은 또한, 상기 하나 이상의 컴퓨팅 디바이스들의 입력 디바이스(input device)를 통해 상기 사용자로부터의 요청을 수신하는 것을 포함하고,
    상기 입력 디바이스는 위치(location)와 관련되고,
    상기 현재 사용자 콘텍스트는 상기 위치에 적어도 부분적으로 근거하여 결정되는 것을 특징으로 하는 방법.
  8. 제7항에 있어서,
    현재 상태들의 상기 리스트를 필터링하는 것은, 상기 위치와 관련된 하나 이상의 상태들을 필터링해 내는 것을 포함하는 것을 특징으로 하는 방법.
  9. 시스템으로서,
    상기 시스템은 하나 이상의 프로세서들과, 그리고 명령들을 저장하는 메모리를 포함하고,
    상기 명령들은, 상기 하나 이상의 프로세서들에 의한 상기 명령들의 실행에 응답하여, 상기 하나 이상의 프로세서들로 하여금,
    사용자에 의해 제어되는 복수의 스마트 어플라이언스들의 현재 상태들의 리스트를 결정하는 동작과;
    상기 사용자에 의해 제어되는 하나 이상의 컴퓨팅 디바이스들에 의해 발생되는 하나 이상의 콘텍스트 신호들에 근거하여 현재 사용자 콘텍스트를 결정하는 동작과;
    복수의 과거 사용자 콘텍스트들로부터, 상기 현재 사용자 콘텍스트와 비교할 수 있는 하나 이상의 비교가능한 과거 사용자 콘텍스트들을 식별하는 동작과;
    상기 하나 이상의 비교가능한 과거 사용자 콘텍스트들 각각에 대해, 상기 복수의 스마트 어플라이언스들의 과거 상태들의 대응하는 리스트를 획득하는 동작과;
    현재 상태들의 상기 리스트를 필터링하여 상기 현재 상태들 중 하나 이상을 제거하고 현재 상태들의 필터링된 리스트를 발생시키는 동작과, 여기서 상기 필터링하는 것은 현재 상태들의 상기 리스트를 과거 상태들의 상기 하나 이상의 리스트들과 비교하는 것에 근거하며;
    상기 복수의 스마트 어플라이언스들의 현재 상태들의 상기 필터링된 리스트를 상기 복수의 스마트 어플라이언스들의 디바이스 타입들에 의해 스마트 어플라이언스들의 그룹들로 구조화하는 동작과;
    스마트 어플라이언스들의 상기 그룹들 중 하나 이상에 대한 적어도 하나의 디바이스 타입 텍스트 스니펫을 발생시키는 동작과;
    상기 적어도 하나의 디바이스 타입 텍스트 스니펫의 텍스트 요약을 발생시키는 동작과; 그리고
    상기 사용자에 의해 제어되는 하나 이상의 컴퓨팅 디바이스들의 출력 디바이스에 상기 텍스트 요약을 제공하는 동작을
    수행하도록 하는 것을 특징으로 하는 시스템.
  10. 제9항에 있어서,
    상기 필터링하는 것은, 현재 상태들의 상기 리스트로부터, 과거 상태들의 상기 리스트로부터의 대응하는 과거 상태들에 매칭되는 상기 현재 상태들 중 하나 이상을 제거하는 것을 포함하는 것을 특징으로 하는 시스템.
  11. 제9항에 있어서,
    현재 상태들의 상기 필터링된 리스트는 과거 상태들의 상기 리스트로부터 벗어난 현재 상태들의 상기 리스트로부터의 현재 상태들을 포함하는 것을 특징으로 하는 시스템.
  12. 제9항에 있어서,
    스마트 어플라이언스들의 상기 그룹들 중 하나는 복수의 조명 유닛들을 포함하고,
    상기 명령들은 또한, 특정 상태를 갖는 상기 복수의 조명 유닛들의 조명 유닛들의 카운트를 결정하는 것을 포함하고,
    상기 적어도 하나의 디바이스 타입 텍스트 스니펫을 발생시키는 것은, 복수의 토큰들을 포함하는 조명 유닛 텍스트 스니펫을 발생시키는 것을 포함하고,
    상기 복수의 토큰들 중 적어도 하나는 상기 카운트인 것을 특징으로 하는 시스템.
  13. 제9항에 있어서,
    상기 출력 디바이스는 상기 텍스트 요약을 오디오를 통해 상기 사용자에게 제공하는 것을 특징으로 하는 시스템.
  14. 제13항에 있어서,
    상기 명령들은 또한, 오디오 프롬프트를 제공하는 것을 포함하고, 상기 오디오 프롬프트는, 상기 복수의 스마트 어플라이언스들 중 하나 이상의 스마트 어플라이언스를 표시하고, 아울러 상기 표시된 스마트 어플라이언스의 상태를 변경하도록 하는 제안을 표시하는 것을 특징으로 하는 시스템.
  15. 제9항에 있어서,
    상기 명령들은 또한, 상기 하나 이상의 컴퓨팅 디바이스들의 입력 디바이스를 통해 상기 사용자로부터의 요청을 수신하는 것을 포함하고,
    상기 입력 디바이스는 위치와 관련되고,
    상기 현재 사용자 콘텍스트는 상기 위치에 적어도 부분적으로 근거하여 결정되는 것을 특징으로 하는 시스템.
  16. 제15항에 있어서,
    현재 상태들의 상기 리스트를 필터링하는 것은, 상기 위치와 관련된 하나 이상의 상태들을 필터링해 내는 것을 포함하는 것을 특징으로 하는 시스템.
  17. 명령들을 포함하는 적어도 하나의 비-일시적 컴퓨터-판독가능 매체로서,
    상기 명령들은, 하나 이상의 프로세서들에 의한 상기 명령들의 실행에 응답하여, 상기 하나 이상의 프로세서들로 하여금,
    사용자에 의해 제어되는 복수의 스마트 어플라이언스들의 현재 상태들의 리스트를 결정하는 동작과;
    상기 사용자에 의해 제어되는 하나 이상의 컴퓨팅 디바이스들에 의해 발생되는 하나 이상의 콘텍스트 신호들에 근거하여 현재 사용자 콘텍스트를 결정하는 동작과;
    복수의 과거 사용자 콘텍스트들로부터, 상기 현재 사용자 콘텍스트와 비교할 수 있는 하나 이상의 비교가능한 과거 사용자 콘텍스트들을 식별하는 동작과;
    상기 하나 이상의 비교가능한 과거 사용자 콘텍스트들 각각에 대해, 상기 복수의 스마트 어플라이언스들의 과거 상태들의 대응하는 리스트를 획득하는 동작과;
    현재 상태들의 상기 리스트를 필터링하여 상기 현재 상태들 중 하나 이상을 제거하고 현재 상태들의 필터링된 리스트를 발생시키는 동작과, 여기서 상기 필터링하는 것은 현재 상태들의 상기 리스트를 과거 상태들의 상기 하나 이상의 리스트들과 비교하는 것에 근거하며;
    상기 복수의 스마트 어플라이언스들의 현재 상태들의 상기 필터링된 리스트를 상기 복수의 스마트 어플라이언스들의 디바이스 타입들에 의해 스마트 어플라이언스들의 그룹들로 구조화하는 동작과;
    스마트 어플라이언스들의 상기 그룹들 중 하나 이상에 대한 적어도 하나의 디바이스 타입 텍스트 스니펫을 발생시키는 동작과;
    상기 적어도 하나의 디바이스 타입 텍스트 스니펫의 텍스트 요약을 발생시키는 동작과; 그리고
    상기 사용자에 의해 제어되는 하나 이상의 컴퓨팅 디바이스들의 출력 디바이스에 상기 텍스트 요약을 제공하는 동작을
    수행하도록 하는 것을 특징으로 하는 적어도 하나의 비-일시적 컴퓨터-판독가능 매체.
  18. 제17항에 있어서,
    상기 필터링하는 것은, 현재 상태들의 상기 리스트로부터, 과거 상태들의 상기 리스트로부터의 대응하는 과거 상태들에 매칭되는 상기 현재 상태들 중 하나 이상을 제거하는 것을 포함하는 것을 특징으로 하는 적어도 하나의 비-일시적 컴퓨터-판독가능 매체.
  19. 제17항에 있어서,
    현재 상태들의 상기 필터링된 리스트는 과거 상태들의 상기 리스트로부터 벗어난 현재 상태들의 상기 리스트로부터의 현재 상태들을 포함하는 것을 특징으로 하는 적어도 하나의 비-일시적 컴퓨터-판독가능 매체.
  20. 제17항에 있어서,
    스마트 어플라이언스들의 상기 그룹들 중 하나는 복수의 조명 유닛들을 포함하고,
    상기 명령들은 또한, 상기 하나 이상의 프로세서들로 하여금, 특정 상태를 갖는 상기 복수의 조명 유닛들의 조명 유닛들의 카운트를 결정하는 동작을 수행하도록 하고,
    상기 적어도 하나의 디바이스 타입 텍스트 스니펫을 발생시키는 것은, 복수의 토큰들을 포함하는 조명 유닛 텍스트 스니펫을 발생시키는 것을 포함하고,
    상기 복수의 토큰들 중 적어도 하나는 상기 카운트인 것을 특징으로 하는 적어도 하나의 비-일시적 컴퓨터-판독가능 매체.
KR1020237004787A 2018-10-08 2019-10-08 스마트 어플라이언스 상태들의 요약 전달 KR102543676B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862742585P 2018-10-08 2018-10-08
US62/742,585 2018-10-08
KR1020207035935A KR102499734B1 (ko) 2018-10-08 2019-10-08 스마트 어플라이언스 상태들의 요약 전달
PCT/US2019/055149 WO2020076795A2 (en) 2018-10-08 2019-10-08 Summarily conveying smart appliance statuses

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020207035935A Division KR102499734B1 (ko) 2018-10-08 2019-10-08 스마트 어플라이언스 상태들의 요약 전달

Publications (2)

Publication Number Publication Date
KR20230026528A true KR20230026528A (ko) 2023-02-24
KR102543676B1 KR102543676B1 (ko) 2023-06-14

Family

ID=68345047

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020237004787A KR102543676B1 (ko) 2018-10-08 2019-10-08 스마트 어플라이언스 상태들의 요약 전달
KR1020207035935A KR102499734B1 (ko) 2018-10-08 2019-10-08 스마트 어플라이언스 상태들의 요약 전달

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020207035935A KR102499734B1 (ko) 2018-10-08 2019-10-08 스마트 어플라이언스 상태들의 요약 전달

Country Status (6)

Country Link
US (2) US11177044B2 (ko)
EP (2) EP4033311A1 (ko)
JP (1) JP6963697B2 (ko)
KR (2) KR102543676B1 (ko)
CN (1) CN112352204A (ko)
WO (1) WO2020076795A2 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102543676B1 (ko) 2018-10-08 2023-06-14 구글 엘엘씨 스마트 어플라이언스 상태들의 요약 전달
AU2020347245A1 (en) * 2019-09-11 2022-03-31 Savant Systems, Inc. Redundant control for wireless devices in a home automation system
KR20230000739A (ko) * 2021-06-25 2023-01-03 삼성전자주식회사 전자 장치 및 전자 장치와 타겟 장치 간의 거리에 기초하여 생성되는 객체를 출력하는 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003091298A (ja) * 2001-06-06 2003-03-28 Matsushita Electric Ind Co Ltd 音声認識及び自然言語を用いる家庭活動の自動制御
KR101511831B1 (ko) * 2010-01-18 2015-04-14 애플 인크. 지능형 자동화 어시스턴트에 의한 능동적 입력 유도
US20150348554A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Intelligent assistant for home automation
US20160357163A1 (en) * 2015-06-05 2016-12-08 Apple Inc. Data-Driven Context Determination
WO2017007723A1 (en) * 2015-07-03 2017-01-12 Afero, Inc. Embedded internet of things (iot) hub slot for an appliance and associated systems and methods

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370288B2 (en) 2009-07-20 2013-02-05 Sony Computer Entertainment America Llc Summarizing a body of media by assembling selected summaries
US8434001B2 (en) 2010-06-03 2013-04-30 Rhonda Enterprises, Llc Systems and methods for presenting a content summary of a media item to a user based on a position within the media item
EP2738478A3 (en) * 2012-11-28 2014-08-13 Lennox Industries Inc. Intelligent comfort management using natural language processing to interface with a comfort system controller
US20140244001A1 (en) 2013-02-25 2014-08-28 Qualcomm Incorporated Controlling many different devices from a smart controller
US9853826B2 (en) 2013-02-25 2017-12-26 Qualcomm Incorporated Establishing groups of internet of things (IOT) devices and enabling communication among the groups of IOT devices
CN105247428B (zh) * 2013-05-16 2019-02-19 松下电器(美国)知识产权公司 信息提供方法
US10944586B2 (en) * 2013-09-10 2021-03-09 Vivint, Inc. Systems and methods for home automation monitoring
US10025463B2 (en) * 2013-09-18 2018-07-17 Vivint, Inc. Systems and methods for home automation scene control
US9712491B2 (en) 2014-03-03 2017-07-18 Qualcomm Connected Experiences, Inc. Access control lists for private networks of system agnostic connected devices
US9857195B2 (en) * 2014-05-30 2018-01-02 Google Inc. Selection and presentation of geographic content in an automotive environment
US10042336B2 (en) * 2014-09-09 2018-08-07 Savant Systems, Llc User-defined scenes for home automation
US20160225372A1 (en) * 2015-02-03 2016-08-04 Samsung Electronics Company, Ltd. Smart home connected device contextual learning using audio commands
US10274911B2 (en) 2015-06-25 2019-04-30 Intel Corporation Conversational interface for matching text of spoken input based on context model
KR102487902B1 (ko) 2015-12-23 2023-01-12 삼성전자주식회사 전자기기를 제어하는 방법 및 장치
US10409551B1 (en) * 2016-06-21 2019-09-10 Amazon Technologies, Inc. Voice-driven monitoring of resources in a service provider network
US10452695B2 (en) * 2017-09-22 2019-10-22 Oracle International Corporation Context-based virtual assistant implementation
US10490195B1 (en) * 2017-09-26 2019-11-26 Amazon Technologies, Inc. Using system command utterances to generate a speaker profile
US10885091B1 (en) * 2017-12-12 2021-01-05 Amazon Technologies, Inc. System and method for content playback
KR102543676B1 (ko) 2018-10-08 2023-06-14 구글 엘엘씨 스마트 어플라이언스 상태들의 요약 전달

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003091298A (ja) * 2001-06-06 2003-03-28 Matsushita Electric Ind Co Ltd 音声認識及び自然言語を用いる家庭活動の自動制御
KR101511831B1 (ko) * 2010-01-18 2015-04-14 애플 인크. 지능형 자동화 어시스턴트에 의한 능동적 입력 유도
US20150348554A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Intelligent assistant for home automation
US20160357163A1 (en) * 2015-06-05 2016-12-08 Apple Inc. Data-Driven Context Determination
WO2017007723A1 (en) * 2015-07-03 2017-01-12 Afero, Inc. Embedded internet of things (iot) hub slot for an appliance and associated systems and methods

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Subhadeep Dey 외, 'DNN BASED SPEAKER EMBEDDING USING CONTENT INFORMATION FOR TEXT-DEPENDENT SPEAKER VERIFICATION', ICASSP 2018, pp.5344-5348, 2018.04. *

Also Published As

Publication number Publication date
US11177044B2 (en) 2021-11-16
US20210057113A1 (en) 2021-02-25
EP3732538B1 (en) 2022-04-20
EP4033311A1 (en) 2022-07-27
WO2020076795A2 (en) 2020-04-16
US20220014413A1 (en) 2022-01-13
JP2021527882A (ja) 2021-10-14
CN112352204A (zh) 2021-02-09
KR20210010528A (ko) 2021-01-27
KR102543676B1 (ko) 2023-06-14
WO2020076795A3 (en) 2020-05-22
EP3732538A2 (en) 2020-11-04
JP6963697B2 (ja) 2021-11-10
KR102499734B1 (ko) 2023-02-15

Similar Documents

Publication Publication Date Title
US11699448B2 (en) Intelligent assistant for home automation
KR102597571B1 (ko) 자동으로 액션 그룹을 커스터마이징하도록 구성된 가상 어시스턴트
US20220014413A1 (en) Summarily conveying smart appliance statuses
US11749278B2 (en) Recommending automated assistant action for inclusion in automated assistant routine
US11886510B2 (en) Inferring semantic label(s) for assistant device(s) based on device-specific signal(s)

Legal Events

Date Code Title Description
A107 Divisional application of patent
E701 Decision to grant or registration of patent right