KR20220108163A - 음성 명령 추천을 제공하기 위한 시스템 및 방법 - Google Patents

음성 명령 추천을 제공하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20220108163A
KR20220108163A KR1020227023281A KR20227023281A KR20220108163A KR 20220108163 A KR20220108163 A KR 20220108163A KR 1020227023281 A KR1020227023281 A KR 1020227023281A KR 20227023281 A KR20227023281 A KR 20227023281A KR 20220108163 A KR20220108163 A KR 20220108163A
Authority
KR
South Korea
Prior art keywords
command
user
voice
predicted
voice command
Prior art date
Application number
KR1020227023281A
Other languages
English (en)
Inventor
호세 제프리 콥스 로버트
안쿠르 아허
Original Assignee
로비 가이드스, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 로비 가이드스, 인크. filed Critical 로비 가이드스, 인크.
Publication of KR20220108163A publication Critical patent/KR20220108163A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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/165Management of the audio stream, e.g. setting of volume, audio stream path
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Abstract

시스템은 비-음성(non-voice) 명령을 피하기 위해 사용자에게 음성 명령 추천을 제공한다. 시스템은 수신될 것으로 예상되는 명령을 결정하고, 예측되는 명령에 대응하는 음성 명령 추천을 생성한다. 예측되는 명령은 사용자의 행동, 복수의 사용자의 행동, 전화 벨소리와 같은 환경적 상황, 또는 이들의 조합에 기초할 수 있다. 시스템은 예측되는 명령을 결정하기 위해 하나 이상의 데이터베이스에 액세스할 수 있다. 음성 명령 추천은 추천되는 음성 명령을 설명하는 디스플레이되는 알림, 및 인식되는 예시적인 음성 입력들을 포함할 수 있다. 시스템은 또한 음성 입력을 수신하도록 구성된 마이크로폰과 같은 오디오 인터페이스를 활성화한다. 시스템이 오디오 인터페이스에서 추천에 대응하는 인식가능한 음성 입력을 수신하면, 시스템은 음성 입력을 수신하는 것에 응답하여 예측되는 명령을 수행한다.

Description

음성 명령 추천을 제공하기 위한 시스템 및 방법
본 개시는 음성 명령 추천을 생성하기 위한 시스템에 관한 것으로, 보다 상세하게는 예측되는 상호작용에 기반하여 음성 명령 추천을 생성하기 위한 시스템에 관한 것이다.
대화 시스템은 엔터테인먼트 시스템과 사용자 간의 상호작용을 쉽고 편안하게 만들었다. 그러나 일부 상황에서, 그리고 다양한 이유로, 사용자는 여전히 음성 명령(voice commands) 이외의 시스템과 상호작용하는 대안적인 방법을 선택한다. 예를 들어, 사용자는 전형적으로 리모트 컨트롤러(remote controllers)를 사용하여 시스템과 상호작용하며 이러한 사용자 습관을 바꾸기는 어려울 수 있다. 추가적인 예로, 사용자는 특정 대화형 기능(interactive function)이 음성 명령을 사용함으로써 시스템으로 달성될 수 있다는 것을 인식하지 못할 수 있다. 추가적인 예로, 사용자는 특정 대화형 기능을 실행하기 위한 정확한 명령을 알지 못하거나 기억하지 못할 수 있다.
본 개시는 사용자가 리모트 컨트롤러를 사용하는 대신에 음성 명령을 사용하는 것이 가장 편리한 상황을 식별하고, 그 다음에 적절한 음성 명령을 사용자에게 제안하는 시스템 및 방법을 설명한다. 일부 실시예에서, 시스템은 사용자의 행동 및 프로파일 정보(profile information)의 이력에 기초하여, 환경적 큐(environmental cues)에 기초하여, 또는 임의의 다른 적합한 입력 또는 입력들의 조합에 기초하여 사용자가 즉시 시스템과 상호작용할 것이라고 예측한다. 시스템은 음성 명령을 위한 제안을 구성하고, 제안을 사용자에게 디스플레이하고, 오디오 입력을 수신할 마이크로폰과 같은 오디오 인터페이스 또는 디바이스를 준비한다. 이에 대한 응답으로 사용자는 음성 명령을 제공할 수 있다. 음성 명령이 제안과 일치하면, 시스템은 대화형 기능을 수행할 것이다.
본 개시내용의 상기 및 기타 목적 및 이점은 첨부 도면과 함께 다음의 상세한 설명을 고려할 때 명백해질 것이며, 첨부 도면에서 유사한 참조 부호는 전체에 걸쳐 유사한 부분을 지칭하고, 첨부도면에서,
도 1은 본 개시의 일부 실시예에 따른, 생성된 음성 명령을 포함하는 두 개의 예시적인 디스플레이를 도시하고;
도 2는 본 개시의 일부 실시예에 따른, 음성 명령 추천을 생성하기 위한 예시적인 시스템의 블록도이고;
도 3은 본 개시의 일부 실시예에 따른, 예시적인 사용자 디바이스의 블록도이고;
도 4는 본 개시의 일부 실시예에 따른, 음성 명령 추천을 생성하기 위한 예시적인 프로세스의 흐름도이고;
도 5는 본 개시의 일부 실시예에 따른, 음성 명령 상호작용을 관리하기 위한 예시적인 프로세스의 흐름도를 도시한다.
본 개시는 사용자가 리모트 컨트롤러를 사용하는 대신 음성 명령을 사용하기에 가장 편리한 때와 상황을 식별하고, 그 다음에 사용자에게 적절한 음성 명령을 제안하는 시스템 및 방법을 설명한다. 이러한 기능성은 대화형 기능에 대한 최소한의 노력을 요구함으로써 시스템이 사용자에게 더욱 도움이 되는 것을 도모할 것이다. 이러한 기능성은 사용자가 대화 시스템의 사용과 이점을 이해하는 데 도움이 될 것이다.
설명을 위한 예에서, 사용자는 현재 채널 HBO에서 최신 시트콤 에피소드를 시청하고 있다. 통상적인 루틴의 일부로, 시트콤이 끝난 후 사용자는 채널을 Sky News로 변경하여 뉴스 프로그램을 시청한다. 대체로, 사용자는 리모트 컨트롤(remote control)을 사용하여 채널을 변경한다. 리모트 컨트롤이 사용자 근처에 있지 않고 사용자가 그것을 잡을 수 없는 경우, 본 개시의 시스템은 이러한 상황을 식별한다. 시스템은 사용자의 이력에 기초하여 시트콤이 종료되면 사용자가 채널을 Sky News로 변경하기를 원한다는 것을 예측한다. 시스템은 또한 사용자가 채널을 변경하기 위해 TV 리모트 컨트롤을 쉽게 잡을 수 없다는 것을 감지한다. 이에 대응하여, 시스템은 채널을 변경하는 데 사용될 수 있는 음성 명령을 사용자에게 알릴 이 기회를 식별한다. 시스템은 "채널을 변경하려면 "Sky News에 채널을 맞춰줘"라고 말하세요"와 같은 알림을 텔레비전 디스플레이에 표시한다. 시스템은 또한 음성 명령을 수신하기 위해 마이크로폰을 활성화한다. 이에 따라, 알림에서 제안한 대로 사용자가 음성 명령을 말하면 시스템은 채널 변경을 진행한다.
도 1은 본 개시의 일부 실시예에 따라 생성된 음성 명령을 포함하는 예시적인 디스플레이(100, 150)를 도시한다. 예를 들어, 디스플레이(100, 150)는 텔레비전 스크린, 컴퓨터 모니터, 사용자 디바이스 스크린(예를 들어, 모바일 폰의 터치스크린), 또는 임의의 다른 적절한 디스플레이 디바이스 상에 생성될 수 있다. 디스플레이(100, 150)를 생성하도록 구성된 시스템은 음성 명령 제안을 사용자에게 알림으로 제공하기 위한 최적의 시간을 식별한다. 시스템은 원하는 대화형 기능이 음성 명령 이외의 다른 수단에 의해서는 사용자에 대해 달성하기 어려울 것이라는 점, 또는 그 외 음성 명령 제안이 사용자에게 유용할 수 있다는 점을 고려할 수 있다. 따라서 시스템은 사용자가 음성 명령을 사용할 가능성을 높인다.
도시된 바와 같이 디스플레이(100)는 채널(예를 들어, 또는 방송국)에 의해 정의된 수직 축 및 미리 결정된 디스플레이 시간에 의해 정의된 수평 축을 갖는 프로그램 식별자의 그리드(grid)를 포함한다. 예를 들어, 7개의 채널에 대해 8:00pm에서 10:00pm까지 범위의 타임 슬롯이 도시되어 있다. 디스플레이(100)에 도시된 현재의 시각은 8:59pm이며 커서는 프로그램 "NCIS: Los Angeles"를 강조 표시하고 있다. 시스템은 금요일 거의 9:00pm이고, 사용자가 일반적으로 PBS에서 "Midsomer Murders"를 보기 위해 채널 8로 전환한다는 것을 식별한다. 시스템은 제공할 것으로 예상되는 예측되는 명령을 사용자에게 표시하고, 또한 사용자가 어떻게 그 명령을 음성 명령으로 제공할 수 있는지 "Say, YES"라는 표시를 포함하는 알림(101)을 생성한다. 시스템이 알림(101)을 생성할 때, 시스템은 또한 사용자가 음성 입력을 제공하기로 선택하는 경우 음성 명령을 수신하기 위해 마이크로폰을 활성화한다. 사용자가 "Yes"라는 음성 명령으로 응답하면 시스템은 채널 변경 명령(예를 들어, 채널을 PBS로 변경)을 수행할 것이다. 사용자가 추천된 음성 명령으로 (예를 들어, 미리 결정된 시간 내에) 응답하지 않으면 시스템은 어떠한 동작도 수행하지 않는다(예를 들어, 그리고 미리 결정된 시간 후에 알림(101) 표시를 중단할 수 있다).
도시된 바와 같이 디스플레이(150)는 채널(예를 들어, 또는 방송국)에 의해 정의된 수직 축 및 미리 결정된 디스플레이 시간에 의해 정의되는 수평 축을 갖는 프로그램 식별자의 그리드를 포함한다. 예를 들어, 7개의 채널에 대해 8:00pm부터 10:00pm까지 범위의 타임 슬롯들이 도시되어 있다. 디스플레이(150)에 표시된 현재 시각은 8:38pm이며 커서는 "NCIS: Los Angeles" 프로그램을 강조 표시하고 있다. 8:38pm에 시스템은 전화 통화, 스마트 초인종 벨소리, 또는 시스템 또는 리모트 컨트롤에 대한 사용자의 근접성 감소와 같은 환경적 이벤트를 식별한다. 시스템은 프로그램 일시중지라는 예측되는 명령을 표시하고, 또한 사용자가 어떻게 음성 명령으로 해당 명령을 제공할 수 있는지 "Say, YES"라는 표시를 포함하는 알림(151)을 생성한다. 시스템이 알림(151)을 생성할 때, 시스템은 또한 사용자가 음성 입력을 제공하도록 선택하는 경우 음성 명령을 수신하기 위해 마이크로폰을 활성화한다. 사용자가 "Yes"라는 음성 명령으로 응답하면 시스템은 현재 프로그램의 재생을 일시중지(pause)할 것이다. 사용자가 추천된 음성 명령으로 (예를 들어, 미리 정해된 시간 내에) 응답하지 않으면 시스템은 어떠한 동작도 수행하지 않는다(예를 들어, 그리고 미리 결정된 시간 후에 알림(151) 표시를 중단하거나 나중에 알림을 반복할 수 있다).
도 2는 본 개시의 일부 실시예에 따른 음성 명령 추천을 생성하기 위한 예시적인 시스템(200)의 블록도이다. 시스템(200)은 대화형 시스템(interactive system)(220), 상태 정보(270), 클럭/시간 정보(280), 사용자 정보(290), 및 디스플레이 디바이스(250)를 포함한다. 대화형 시스템(220)은 도시된 바와 같이 디스플레이 생성기(221), 비-음성 입력 인터페이스(222), 음성 입력 인터페이스(223), 명령 예측기(224), 추천 생성기(225) 및 상태 분석기(226)를 포함한다. 대화형 시스템(220)은 사용자가 필요로 하거나 필요할 가능성이 있는 대화형 기능을 검출하고 해당 음성 명령을 사용자에게 알린다. 상기 알림은 텔레비전 스크린(예를 들어, 기본 스크린) 또는 모바일 폰 스크린과 같은 주변 디바이스(예를 들어, 보조 스크린)에 표시될 수 있다. 설명을 위한 예에서, 시스템(200)은, (1) 명령 예측기(224)를 사용하여 비-음성 입력 인터페이스(222) 또는 음성 입력 인터페이스(223)와의 임박한 사용자-상호작용을 예측하고, (2) 상태 분석기(226)를 사용하여, 예측되는 상호작용이 그 당시 사용자에 대해 대화형 디바이스(예를 들어, 리모트 컨트롤러)를 사용하여 달성하기 어려울 것임을 식별하고, 및 (3) 디스플레이 생성기(221)를 사용하여, 대화형 기능으로 적절한 음성 명령의 디스플레이되는 추천을 시스템 스크린 상에 디스플레이함으로써 사용자에게 알리도록 구성된다. 추가적인 설명을 위한 예에서, 시스템(200)은, (1) 명령 예측기(224)를 사용하여, 사용자 행동에 기초하여 비-음성 입력 인터페이스(222)와의 임박한 사용자-상호작용을 예측하고, (2) 추천 생성기(225)를 사용하여, 사용자-상호작용을 달성하기 위한 음성 명령에 대한 추천을 생성하고, (3) 디스플레이 생성기(221)를 사용하여, 대화형 기능으로 적절한 음성 명령의 디스플레이되는 추천을 시스템 스크린 상에 디스플레이함으로써 사용자에게 알리고, (4) 음성 입력을 수신하기 위해 음성 입력 인터페이스(223)를 활성화하도록 구성된다. 추가적인 설명을 위한 예에서, 시스템(200)은 (1) 명령 예측기(224)를 사용하여, 하나 이상의 사용자의 행동에 기초하여 수행될 임박한 동작을 예측하고, (2) 디스플레이 생성기(221)를 사용하여 상기 동작을 달성하기 위한 음성 명령에 대해 추천 생성기(225)를 사용하여 추천을 생성하고, (4) 음성 입력을 수신하기 위해 음성 입력 인터페이스(223)를 활성화하도록 구성된다.
상태 정보(condition information)(270)는 사용자의 음성 명령 사용에 영향을 미칠 수 있는 상태에 대한 정보를 포함한다. 상태 정보(270)는 하나 이상의 사용자에 대한 현재 정보, 과거의(historical) 정보, 통계 정보, 또는 이들의 임의의 조합을 포함할 수 있다. 예를 들어, 상태 정보는 위치 정보(예를 들어, 과거의 위치 정보, 현재의 위치 정보, 또는 둘 모두), 이벤트(예를 들어, 전화 벨소리, 초인종 벨소리, 디바이스 상호작용, 알람의 현재 인스턴스 또는 기록(logs)), 임의의 다른 적절한 정보, 또는 이들의 임의의 조합을 포함할 수 있다. 예를 들어, 상태 정보(270)는 콘텐츠가 모바일 폰 또는 다른 대화형 디바이스에서 소비되는 시기에 관한 정보를 포함할 수 있다. 일부 실시예에서, 상태 정보(270)는 제1 사용자에 근접한 다른 사용자들에 대한 정보를 포함한다. 일부 실시예에서, 상태 정보(270)는 대화형 시스템(220)의 일부로서 포함된다. 예를 들어, 상태 정보(270)의 정보는 대화형 시스템(220)의 메모리 스토리지에 저장될 수 있고, 이에 따라 하나 이상의 기준에 기초하여 검색될 수 있다. 일부 실시예에서, 예시된 바와 같이, 상태 정보(270)는 대화형 시스템(220)의 일부로서 포함될 필요가 없고, 대화형 시스템(220)에 (예를 들어, 유선, 무선 또는 광 네트워크를 통해) 통신가능하게 결합된 별도의 디바이스 또는 시스템의 하드웨어에서 구현될 수 있다.
클럭/시간 정보(280)는, 예를 들어 현재 클럭 시간, 사용자 명령 또는 다른 입력과 관련된 클럭 시간, 프로그램의 디스플레이 시간(예를 들어, 시작 시간, 종료 시간, 또는 지속 시간), 프로그램 스케줄, 임의의 다른 시간적 정보, 또는 이들의 임의의 조합과 같은 정보를 포함한다. 클럭/시간 정보(280)는 임의의 적절한 디바이스 또는 디바이스들의 조합의 임의의 적절한 메모리에 저장된다. 일부 실시예에서, 예를 들어, 클럭/시간 정보(280)는 제어 회로부에 의해 결정된다. 시간은 발진기 회로(oscillator circuit)(예를 들어, "리얼 타임 클럭(real time clock)" 또는 RTC), (예를 들어, 소프트웨어 클럭을 캘리브레이션하는) 네트워크 엔티티로부터 통신된 시간, 하드웨어 및/또는 소프트웨어로 구현된 클럭, 임의의 다른 적절한 시간 레퍼런스, 또는 이들의 조합에 기초할 수 있다. 일부 실시예에서, 클럭/시간 정보(280)는, 예를 들어 사용자 명령이 입력된 시간(예를 들어, 현재 시청 중인 채널이 변경되는 시간), 시청 시간(예를 들어, 시작 시간, 종료 시간, 지속시간), 임의의 다른 적절한 시간적 정보, 또는 이들의 임의의 조합과 같은 하나 이상의 사용자에 대한 과거의 시간적 정보를 포함한다. 예를 들어, 클럭/시간 정보(280), 또는 그 일부는 사용자 정보(290)에 저장된 데이터를 수반하는 타임 스탬프(time stamp) 또는 다른 적절한 시간 표시자(time indicator)로서 저장될 수 있다. 따라서, 사용자 정보(290)는 클럭/시간 정보(280)의 적어도 일부와 결합될 수 있다.
사용자 정보(290)는 사용자 식별 정보(예를 들어, 이름, 식별자, 주소, 연락처 정보), 이전 음성 명령 또는 이전 리모트 컨트롤 명령과 같은 사용자 명령 이력, 사용자 선호도(예를 들어, 검색 설정, 즐겨찾는 미디어 콘텐츠, 일시적인 시청 선호도(temporal viewing preferences)), 사용자가 좋아하는 것/싫어하는 것(예를 들어, 사용자 입력 정보, 사용자 선택), 사용자 음성 데이터(예를 들어, 오디오 샘플, 시그너처(signatures), 스피치 패턴(speech patterns), 또는 사용자의 음성 식별을 위한 파일), 사용자에 대한 임의의 다른 적절한 정보, 또는 이들의 임의의 조합을 포함한다. 사용자 정보(290)는 사용자의 과거 행동 및 프로파일 정보에 기초하여 사용자에게 유용할 수 있는 음성 명령을 예측하기 위한 임의의 적절한 정보를 포함한다. 일부 실시예에서, 사용자 정보(290)는 하나 이상의 데이터베이스에 포함될 수 있다. 일부 실시예에서, 사용자 정보(290)는 복수의 사용자(예를 들어, 검색 이력, 콘텐츠 소비 이력, 소비 패턴), 복수의 엔티티(예를 들어, 엔티티(entities), 메타데이터(metadata), 정적 타입(static types)과 관련된 콘텐츠), 또는 둘 모두에 대한 통계 정보를 포함한다. 예를 들어, 사용자 정보(290)는 복수의 사용자의 행동, 선택된 명령, 음성 명령, 리모트 컨트롤 명령, 임의의 다른 적절한 정보, 또는 이들의 임의의 조합에 대한 정보를 포함할 수 있다. 일부 실시예에서, 사용자 정보(290)는 대화형 시스템(220)의 일부로서 포함된다. 예를 들어, 사용자 정보(290)의 정보는 대화형 시스템(220)의 메모리 스토리지에 저장될 수 있고, 이에 따라 하나 이상의 기준에 기초하여 검색될 수 있다. 일부 실시예에서, 예시된 바와 같이, 사용자 정보(290)는 대화형 시스템(220)의 일부로서 포함될 필요가 없고 대화형 시스템(220)에 (예를 들어, 유선, 무선 또는 광 네트워크를 통해) 통신가능하게 결합된 별도의 디바이스 또는 시스템의 하드웨어에서 구현될 수 있다. 설명을 위한 예에서, 사용자 정보(290)는 표 1에 예시된 바와 같이 임의의 적절한 상호작용 정보를 저장할 수 있다:
Figure pct00001
표 1에 예시된 바와 같이, 채널 변경, 볼륨 조정, 및 기타 명령과 같은 상호작용이 빈도 및 날짜/시간과 함께 사용자 정보(290)에 저장될 수 있다. 일부 실시예에서, 사용자 정보(290)는, 예를 들어 게임 컨트롤러/콘솔(console), 키보드, 트랙볼(trackball), 모바일 폰, 또는 임의의 다른 디바이스(들)와 같이 TV 리모컨 외에도 다른 대화형 디바이스에 대해 기록을 저장하고, 음성 명령 알림을 제공할지 여부를 결정하기 위해 상기 저장된 값들을 사용한다. 일부 실시예에서, 사용자 정보(290)는 상태 정보(270)와 결합된다(예를 들어, 공통 데이터베이스(들)에 저장됨). 예를 들어, 표 1에는 나타내지 않았으나, 사용자, 디바이스, 또는 둘 모두의 위치 정보도 이러한 기록에 포함될 수 있다.
디스플레이 생성기(221)는 디스플레이 디바이스(250)(예를 들어, 텔레비전 스크린, 컴퓨터 모니터, 또는 스마트폰 터치스크린) 상에 디스플레이를 생성하도록 구성된다. 일부 실시예에서, 시스템(200)은 정보의 시각적 디스플레이(예를 들어, 디스플레이(251))를 사용자에게 제공하도록 구성된 디스플레이 디바이스(250)를 포함하거나 이에 결합된다. 설명을 위한 예에서, 디스플레이(251)는 도 1의 디스플레이(100, 150)와 유사할 수 있지만, 이와 유사할 필요는 없다. 일부 실시예에서, 디스플레이 생성기(221)는 정보를 체계화, 배열, 구성, 또는 그 외 제시하는 방법을 결정하기 위해 디스플레이 파라미터들을 결정한다. 디스플레이 파라미터는, 예를 들어 화면 크기, 확대/축소 범위(zoom extent), 픽셀 수 또는 해상도, 사용가능한 색상 또는 색상 팔레트, 오버레이들(예를 들어, 알림 창)의 배치 및 속성, 사용자 선호도(preferences), 디스플레이를 생성하기 위한 임의의 다른 적절한 파라미터, 또는 이들의 임의의 조합을 포함할 수 있다. 일부 실시예에서, 디스플레이 디바이스(250)는 요구되거나 제안되는 디스플레이 파라미터들을 디스플레이 생성기(221)에 제공한다. 일부 실시예에서, 대화형 시스템(220)(예를 들어, 또는 그것의 디스플레이 생성기(221))은 (예를 들어, 디스플레이 디바이스(250) 또는 임의의 다른 적절한 디스플레이 디바이스에) 디스플레이를 생성하기 위해 디스플레이 파라미터들을 갖는 소프트웨어 드라이버 또는 기타 소프트웨어를 포함한다. 예를 들어, 대화형 시스템(220) 또는 그것의 디스플레이 생성기(221)는 디스플레이 디바이스(예를 들어, 디스플레이 디바이스(250)) 및 디스플레이 디바이스 상에 디스플레이될 정보(예를 들어, 디스플레이 디바이스(250) 상에 디스플레이될 디스플레이(251))의 특징(properties)에 기초하여 디스플레이 파라미터들을 결정하는 그래픽 카드 또는 다른 적절한 하드웨어 컨트롤러를 포함할 수 있다. 일부 실시예에서, 디스플레이 타입, 크기 및 레이아웃에 따라, 디스플레이 생성기(221)는 세부사항의 피치(pitch), 크기(size), 레벨(level), 또는 디스플레이되는 그리드의 기타 양태를 수정한다. 설명을 위한 예에서, 디스플레이 생성기(221)는 디스플레이 디바이스(250) 상에 디스플레이되는 그리드를 생성한다. 일부 실시예에서, 대화형 시스템(220) 또는 그것의 디스플레이 생성기(221)는 디스플레이(251)를 생성하기 위해 디스플레이 디바이스(250)에 비디오 데이터를 전송한다. 디스플레이(251)는 콘텐츠 식별자, 콘텐츠 설명, 시간 표시자, 커서, 현재 시간(예를 들어, 클럭 시간), 알림, 임의의 다른 적절한 특성, 또는 이들의 조합을 포함할 수 있다. 예를 들어, 대화형 시스템(220) 또는 그것의 디스플레이 생성기(221)는 에피소드 식별자를 포함하는 그리드(예를 들어, 도 1의 디스플레이(100, 150), 또는 도 2의 디스플레이(251)와 유사함)를 생성하기 위해 적절한 케이블 또는 연결을 통해 디스플레이 디바이스(250)에 HDMI(high-definition multimedia interface) 신호를 전송할 수 있다. 일부 실시예에서, 대화형 시스템(220) 또는 그것의 디스플레이 생성기(221)는 디스플레이 디바이스(250) 상의 기존 디스플레이를 업데이트할 수 있다. 예를 들어, 제1 디스플레이가 디스플레이 디바이스(250) 상에 제시되어 있을 수 있고, 대화형 시스템(220) 또는 그것의 디스플레이 생성기(221)는 제1 디스플레이를, 일부 부분이 업데이트되고 일부 부분이 이전과 유사하거나 유지되는 비디오 신호를 전송함으로써, 제2 디스플레이로 업데이트할 수 있다. 일부 실시예에서, 대화형 시스템(220) 또는 그것의 디스플레이 생성기(221)는 디스플레이 디바이스(250) 상의 타겟 공간에 맞도록 구성된 디스플레이를 위한 그리드를 생성한다.
비-음성 입력 인터페이스(222)는, 예를 들어 휴대용(handheld) 리모트 컨트롤로부터 신호를 수신하기 위한 수신기, 하드 버튼(hard buttons)(예를 들어, 스위치, 푸시-버튼, 또는 임의의 다른 적절한 사용자-작동 버튼), 터치스크린(예를 들어, 소프트 버튼(soft buttons) 또는 다른 선택가능하거나 또는 조정가능한 요소를 포함함), 키패드(예를 들어, 텍스트 명령 입력을 위해 미리 설정된 레이아웃을 포함함), 음성 입력을 처리하지 않는 다른 적절한 인터페이스, 또는 이들의 임의의 조합과 같은 임의의 적절한 인터페이스를 포함할 수 있다. 비-음성 입력 인터페이스(222)는 사용자에 의한 햅틱 동작(haptic action)(예를 들어, 스크린 상의 영역을 터치하거나 버튼을 누르는 것)을 포함할 수 있는 비-음성 상호작용을 필요로 한다.
음성 입력 인터페이스(223)는, 예를 들어 오디오 신호를 수신하기 위한 마이크로폰, 신호 프로세싱 하드웨어, 신호 프로세싱 소프트웨어, 스피치(speech) 검출 소프트웨어, 음성(voice) 식별 소프트웨어, 음성 입력을 처리하기 위한 임의의 다른 적절한 하드웨어 또는 소프트웨어, 또는 이들의 임의의 조합을 포함할 수 있다. 일부 실시예에서, 음성 입력 인터페이스(223)는 오디오 입력을 수신하고 전자 신호(electronic signal)를 생성하는 마이크로폰 또는 다른 센서를 포함하는 오디오 인터페이스를 포함한다. 일부 실시예에서, 오디오 입력은 아날로그 센서에서 수신되고, 이는 오디오 파일을 생성하기 위해 컨디셔닝되고(conditioned), 샘플링되고(sampled), 디지털화되는(digitized) 아날로그 신호를 제공한다. 그 다음, 오디오 파일은 대화형 시스템(220)에 의해 분석될 수 있다. 음성 입력 인터페이스(223)는 스피치 또는 다른 적절한 오디오 신호가 검출될 때, 대화형 시스템(220)(예를 들어, 그것의 명령 예측기(224), 추천 생성기(225), 또는 상태 분석기(226))에 의해 활성화될 때, 임의의 다른 기준에 응답하여, 또는 이들의 임의의 조합에서, 언제든지 오디오 입력을 수신하도록 구성될 수 있다. 대화형 시스템(220) 또는 그것의 음성 입력 인터페이스(223)는 오디오 입력을 저장된 오디오 파일 또는 전자 신호로 변환하기 위한 임의의 적절한 컨디셔닝 소프트웨어 또는 하드웨어를 포함할 수 있다. 예를 들어, 대화형 시스템(220) 또는 그것의 음성 입력 인터페이스(223)는 오디오 파일을 생성하기 위해 하나 이상의 필터(예를 들어, 로우-패스(low-pass), 하이-패스(high-pass), 노치(notch) 필터, 또는 밴드-패스(band-pass) 필터), 증폭기, 데시메이터(decimators), 또는 기타 컨디셔닝(conditionings)을 적용할 수 있다. 추가적인 예에서, 대화형 시스템(220) 또는 그것의 음성 입력 인터페이스(223)는 오디오 파일을 생성하기 위해 컨디셔닝된 신호에, 압축(compression), 변환(예를 들어, 스펙트럼 변환(spectral transformation), 웨이블릿 변환(wavelet transformation)), 정규화(normalization), 등화(equalization), 트렁케이션(truncation)(예를 들어, 시간 또는 스펙트럼 영역에서), 임의의 다른 적절한 처리, 또는 이들의 임의의 조합과 같은 임의의 적절한 처리를 적용할 수 있다. 대화형 시스템(220) 또는 그것의 음성 입력 인터페이스(223)는 수신된 음성 입력으로부터 하나 이상의 키워드를 추출하도록 구성될 수 있다. 예를 들어, 일부 실시예에서, 쿼리 애플리케이션(query application)은 스피치에서 단어들(words)을 식별하고, 그 단어들 중 일부를 키워드로 선택할 수 있다. 대화형 시스템(220) 또는 그것의 음성 입력 인터페이스(223)는 임의의 적절한 단어 검출 기술, 스피치 검출 기술, 패턴 인식 기술, 신호 프로세싱 기술, 또는 이들의 임의의 조합을 사용하여 단어들을 처리할 수 있다. 예를 들어, 대화형 시스템(220) 또는 그것의 음성 입력 인터페이스(223)는 일련의 신호 템플릿들(signal templates)을 오디오 신호의 일부와 비교하여, 일치(match)가 존재하는지 여부(예를 들어, 특정 단어가 오디오 신호에 포함되어 있는지 여부)를 발견할 수 있다. 추가적인 예에서, 대화형 시스템(220) 또는 그것의 음성 입력 인터페이스(223)는 검출되는 스피치 동안 기록되는 오디오의 스니펫들(snippets)(즉, 짧은 기간의 클립들(clips))을 저장하고 상기 스니펫들을 처리할 수 있다. 일부 실시예에서, 쿼리 애플리케이션은 스피치의 비교적 큰 세그먼트들(예를 들어, 10초 초과)을 오디오 파일로 저장하고 상기 파일을 처리한다. 일부 실시예에서, 대화형 시스템(220) 또는 그것의 음성 입력 인터페이스(223)는 단어들을 검출하기 위해 연속적인 계산(continuous computation)을 사용하여 스피치를 처리할 수 있다. 예를 들어, 웨이블릿 변환이 실시간으로 스피치에 대해 수행되어 스피치 패턴(예를 들어, 이는 단어를 식별하기 위해 레퍼런스와 비교될 수 있음)의 연속적인 계산을 제공할 수 있다. 일부 실시예에서, 본 개시에 따른 대화형 시스템(220) 또는 그것의 음성 입력 인터페이스(223)는 단어 뿐만 아니라 어떤 사용자가 상기 단어를 소리냈는지(예를 들어, 음성 인식)를 검출할 수 있다.
명령 예측기(224)는 (1) (예를 들어, 사용 정보(290)로부터) 사용자의 과거 행동에 기초하여 입력될 것으로 예상되는 명령, (2) 복수의 사용자의 과거 행동에 기초하여 입력될 가능성이 있는 명령, (3) 하나 이상의 이벤트에 기초하여 사용자에게 유용한 명령, 또는 (4) 음성 명령을 사용하는 대화형 시스템(220)에 대해 경험을 얻는 방법으로서 사용자에게 유용한 명령을 예측하도록 구성된다. 일부 실시예에서, 명령 예측기(224)는 사용자 정보(290)로부터 대화형 시스템(220)과의 사용자의 상호작용 이력을 검색하고 패턴을 식별하기 위해 이를 분석한다. 예를 들어, 낮이나 밤의 특정 시간에 사용자는 특정 채널이나 특정 쇼를 시청할 수 있다. 채널 및 시간(예를 들어, 시작 시간, 종료 시간, 지속시간, 또는 이들의 조합)은 사용자 정보(290)에 저장될 수 있다. 설명을 위한 예에서, 특정 타입의 채널(예를 들어, 음악 채널)에 대해 사용자는 텔레비전 프로그램 시청을 위한 볼륨에 비해 그 볼륨을 증가시킬 수 있다. 사용자 정보(290)는 대화형 시스템(220)과 사용자의 모든 상호작용에 대해 시청 이력 및 리모트 컨트롤 사용 이력을 유지한다. 일부 실시예에서, 명령 예측기(224)는 사용자와 관련된 하나 이상의 환경적 또는 상황-기반 상태들을 식별하도록 구성되는, 상태 분석기(226)로부터의 입력에 기초하여 명령을 결정한다. 예를 들어, 특정 타입의 방해(예를 들어, 전화 벨소리, 초인종 벨소리, 우는 아기) 중에 사용자는 대체로 현재 디스플레이되는 프로그램을 일시중지하거나 볼륨을 음소거할 수 있다. 그러한 상호작용의 이력은 사용자 정보(290)에 저장되고, 상태 분석기(226)는 상기 저장된 상호작용에 대응하는 상태를 식별한다. 예를 들어, 상태 분석기(226)는 방에서 외부 신호(예를 들어, 전화 벨소리, 초인종 벨소리 또는 우는 아기)에 액세스하고 사용자에 대해 사용 명령을 예측한다. 명령 예측기(224)는, 예를 들어 채널 변경, 볼륨 변경, 볼륨 음소거, 프로그램 일시중지/재생, 프로그램 되감기(rewinding)/포워딩(forwarding), 프로그램 나가기 또는 정지, 프로그램 개시 또는 시작, 프로그램 녹화, 프로그램에 대한 정보 디스플레이(예를 들어, 줄거리 요약, 배우 목록, 시청률 정보), 프로그램에 기반한 정보 디스플레이(예를 들어, 관련 프로그램), 알람 설정, 알람 해제, 탐색-기반 명령(예를 들어, 청구 페이지(billing page)로 이동, 온-디맨드(on-demand) 페이지로 이동), 임의의 다른 적절한 명령, 또는 이들의 조합(예를 들어, 채널 변경 및 볼륨 감소 모두)과 같은 임의의 적절한 타입의 명령을 예측할 수 있다. 설명을 위한 예에서, 명령 예측기(224)는 표 2에 예시된 바와 같이 사용자에 대해 대화형 기능 예측 맵을 생성할 수 있다:
Figure pct00002
표 2에 예시된 바와 같이, 상태는 프로그램 종료 또는 시작, 사용자 행동(예를 들어, 전화 받기, 모바일 디바이스로 니트레이팅, 움직이고 있음), 시간(예를 들어, 클럭 시간), 음성 명령 사용 결여의 지속시간, 비-음성 명령 사용, 임의의 다른 적절한 상태, 또는 이들의 조합을 포함할 수 있다. 일부 실시예에서, 대화형 시스템(220)은 음성 명령 알림이 사용자에게 디스플레이되어야 하는지 여부를 결정하기 위해 표로 작성된 값들을 생성, 검색, 또는 그 외 사용한다. 예를 들어, 대화형 시스템(220)은 사용자가 정기적으로 사용하고 알고 있는 명령에 대해 음성 명령 알림을 생성할 필요가 없다. 예를 들어, 대화형 시스템(220)은 음성 명령이 대화형 기능에 사용되는 횟수뿐만 아니라 마지막 사용 타임스탬프(예를 들어, 표 1의 배열과 유사하게 표로 작성될 수 있음)를 고려할 수 있다. 이들 값 모두가 특정 문턱값 아래에 있으면, 대화형 시스템(220)은 음성 명령 알림을 생성한다. 일부 실시예에서, 대화형 시스템(220)은 하나 이상의 대화형 기능에 대해 리모트 컨트롤의 사용과 음성 명령의 사용을 비교한다. 그러한 일부 실시예에서, 사용 횟수 간의 차이가 문턱값보다 크면(예를 들어, 리모트 컨트롤 사용이 더 높은 쪽), 시스템은 음성 명령 알림을 생성할 수 있다.
추천 생성기(225)는 음성 명령에 대한 추천을 결정 및 생성하도록 구성된다. 추천은 도 1의 알림(101, 151)에 의해 나타낸 바와 같은 알림의 형태일 수 있다. 추천은 명령 예측기(224)에 의해 어떤 명령이 예측되는지, 어떤 명령이 사용자에게 가장 편리하거나 유용한지, 또는 이들의 조합에 기초할 수 있다. 예를 들어, 추천 생성기(225)는 (예를 들어, 리모트 컨트롤을 사용하는 것과 비교하여) 음성 명령이 사용자가 그 순간에 대화형 기능을 달성하는 가장 편리한 방법일 것이라는 것을 식별할 수 있다. 일부 실시예에서, 추천 생성기(225)는 음성 명령을 사용하는 것에 대한 이유를 사용자에 대한 알림에서 강조 표시한다. 강조 표시는 사용자의 손이 닿지 않는 디바이스에 대한 정보, 검출된 이벤트, 또는 기타 적절한 정보를 추가하는 것을 포함할 수 있다. 예를 들어, 추천 생성기는 "TV 리모컨을 찾을 수 없습니까? 볼륨을 높이려면 '볼륨 크게'라고 말하세요." 또는 "키보드에서 멀리 떨어져 있습니까? TV를 음소거하려면 'TV 음소거'라고 말하세요."를 포함하는 알림을 생성할 수 있다.
상태 분석기(226)는 음성 명령에 대한 사용자 사용에 영향을 미칠 수 있는 상태를 검출, 결정, 식별 또는 그 외 분석하도록 구성된다. 일부 실시예에서, 대화형 시스템(220) 또는 그것의 상태 분석기(226)는 하나 이상의 대화형 디바이스들(예를 들어, 리모트 컨트롤, 게임 컨트롤러, 키보드, 트랙볼, 모바일 폰, 또는 기타 디바이스)의 위치, 사용자의 위치(예를 들어, 방 안 또는 다른 곳) 또는 둘 모두를 모니터링하거나 그 외 결정한다. 예를 들어, 사용자와 대화형 디바이스 간의 거리가 미리 결정된 문턱값보다 크면, 대화형 시스템(220) 또는 상태 분석기(226)는 사용자가 상기 대화형 디바이스를 잡기가 어려울 것이라고 식별한다(예를 들어, 상태는 "근접성 결여"임). 일부 실시예에서, 대화형 시스템(220)은 방(예를 들어, 대화형 시스템(220) 또는 그것의 구성요소가 있는 방) 안에서 대화형 디바이스의 위치 및 사용자의 위치를 매핑하고 결정(예를 들어, 계산)하기 위해 카메라를 사용한다. 일부 실시예에서, 대화형 시스템(220) 또는 그것의 상태 분석기(226)는, 예를 들어 스마트 시계, 피트니스 트래커(fitness tracker), 헤드폰, 임의의 다른 적절한 주변 디바이스, 또는 이들의 임의의 조합과 같은 하나 이상의 주변 디바이스를 추적하는 것에 기반하여 사용자의 위치를 결정한다. 일부 실시예에서, 대화형 시스템(220) 또는 그것의 상태 분석기(226)는 대화형 디바이스의 전자 회로부로부터 발생하는 검출된 신호를 통해 대화형 디바이스들을 매핑한다.
상태 분석기(226)는 하나 이상의 상태를 검출하기 위해 임의의 적절한 센서들, 신호 프로세싱 회로부, 또는 둘 모두를 포함할 수 있다. 예를 들어, 상태 분석기(226)는 리모트 컨트롤 또는 다른 대화형 디바이스와 상호작용하는 시스템을 포함하여 상기 대화형 디바이스의 위치를 결정할 수 있다. 예를 들어 설명하면, 상태 분석기(226)는 신호(예를 들어, 되돌아온 신호의 지연시간(latency), 신호 강도, 신호의 감쇠, 또는 이들의 변화)에 기초하여 거리 또는 위치를 결정할 수 있다. 추가적인 예에서, 상태 분석기(226)는 움직임, 거리, 근접성, 또는 이들의 변화를 결정하기 위해 이미지 분석을 사용할 수 있다. 일부 실시예에서, 대화형 디바이스 또는 주변 디바이스는 그 자신의 위치를 검출하고 임의의 적절한 통신 링크(예를 들어, 무선, 근거리장(near-field) 또는 광(optical) 전송)를 사용하여 위치 정보를 대화형 시스템(220)에 전달할 수 있다. 일부 실시예에서, 상태 분석기(226)는 상태 정보(270)로부터 정보를 검색한다. 일부 실시예에서, 상태 분석기(226)는 하나 이상의 상태를 검출하고 정보를 생성하여 저장을 위해 상태 정보(270)로 전송한다.
일부 실시예에서, 상태 정보(270)는 제1 사용자에 근접한 다른 사용자들에 대한 정보를 포함한다. 예를 들어, 두 명의 사용자가 대화형 시스템(220)에 근접한 경우, 상태 분석기(226)는 한 명의 사용자가 떠나는 상태를 식별할 수 있고 대응하는 음성 명령 추천을 생성할 수 있다(예를 들어, 그들이 가까이 되돌아올 때까지 프로그램을 일시중지하거나, 더 먼 거리까지 도달하도록 볼륨을 증가시킴). 추가적인 예에서, 한 사용자가 대화형 시스템(220)에 근접하여 있으면, 상태 분석기(226)는 다른 사용자가 도착하는 상태를 식별할 수 있고 대응하는 음성 명령 추천을 생성할 수 있다(예를 들어, 그들이 자리를 잡을 때까지 프로그램을 일시중지).
설명을 위한 예에서, 대화형 시스템(220)은 "예" 또는 "아니오" 응답을 갖는 음성 명령 제안을 (예를 들어, 추천 생성기(225)를 사용하여) 사용자에게 생성할 수 있다. 사용자 정보(290)는 템플릿(template) 정보, 템플릿과 상호작용하는 사용자의 이력, 또는 둘 모두를 포함할 수 있다. 일부 실시예에서, 예/아니오 질문은 질문을 생성하기 위해 사용자에 대한 이전(previous) 템플릿 사용을 고려할 것이다. 예를 들어, 대화형 시스템(220)은 채널 변경을 위해 세 개의 템플릿을 가질 수 있다: "채널<채널-이름>로 이동", "채널<채널-이름>로 조정", 및 "채널<채널-이름>로 점프". 따라서, 대화형 시스템(220)은 동일한 대화형 기능을 위해 상이한 질문을 생성할 수 있다. 예를 들어, 대화형 시스템(220)은 "Sky News 채널로 이동하시겠습니까?", "Sky News 채널로 조정하시겠습니까?", 및 "Sky News 채널로 점프하시겠습니까?"와 같은 알림을 생성할 수 있다. 사용자의 과거 쿼리 사용을 고려하여 사용자가 어느 템플릿에 더 익숙한지에 기초하여, 대화형 시스템(220)은 세 가지 옵션 중에서 최상의 템플릿을 선택할 것이다. 일부 실시예에서, 대화형 시스템(220)은 사용자에게 질문을 제시하기 위해 음성-활성화 홈 어시스턴트(voice-activated home assistant)에 통신가능하게 결합될 수 있다.
일부 실시예에서, 대화형 시스템(220) 또는 리모트 컨트롤은 '깨우기 단어(wake word)'에 의해 트리거되도록 지원되지 않을 수 있는 마이크로폰을 포함한다. 예를 들어, 사용자는 리모트 컨트롤의 버튼을 눌러 음성 명령을 입력할 수 있다. 일부 실시예에서, 대화형 시스템(220)은 그것이 사용자에게 제안을 제시하고 사용자의 음성 응답을 수신할 준비가 되었을 때 (예를 들어, 5초 또는 임의의 다른 적절한 시간 동안) 마이크로폰을 트리거한다. 일부 실시예에서, 마이크로폰은 음성 입력을 수신하기 위해 항상 활동상태(active)가 되도록 구성되지는 않는다. 예를 들어, 마이크로폰은 음성 명령을 수신하고 녹음하기 위해 활성화될 필요가 있다. 그러한 일부 상황에서, 대화형 시스템(220)은 사용자에게 음성 명령 알림을 생성할 때, 그것은 또한 특정 기간(예를 들어, 30초 또는 임의의 다른 적절한 시간) 동안 마이크로폰을 활성화하는데, 사용자가 상기 알림을 수신한 직후에는 음성 명령을 사용할 것으로 예상되기 때문이다.
도 3은 본 개시의 일부 실시예에 따른 예시적인 사용자 디바이스의 블록도이다. 사용자 장비 시스템(301)은 디스플레이(312), 오디오 장비(314), 및 사용자 입력 인터페이스(310)를 포함하거나, 또는 이에 통신가능하게 결합된 셋톱 박스(set-top box)(316)를 포함할 수 있다. 일부 실시예에서, 디스플레이(312)는 텔레비전 디스플레이 또는 컴퓨터 디스플레이를 포함할 수 있다. 일부 실시예에서, 사용자 입력 인터페이스(310)는 리모트-컨트롤 디바이스이다. 셋톱 박스(316)는 하나 이상의 회로 기판(circuit boards)을 포함할 수 있다. 일부 실시예에서, 하나 이상의 회로 기판은 프로세싱 회로부, 제어 회로부, 및 스토리지(예를 들어, RAM, ROM, 하드 디스크, 착탈식 디스크 등)를 포함한다. 일부 실시예에서, 회로 기판은 입력/출력 경로를 포함한다. 사용자 디바이스(300) 및 사용자 장비 시스템(301) 각각은 입력/출력(이하 "I/O") 경로(302)를 통해 콘텐츠 및 데이터를 수신할 수 있다. I/O 경로(302)는 프로세싱 회로부(306)와 스토리지(308)를 포함하는 제어 회로부(304)에 콘텐츠 및 데이터를 제공할 수 있다. 제어 회로부(304)는 I/O 경로(302)를 사용하여 명령, 요청 및 기타 적절한 데이터를 송신 및 수신하는 데 사용될 수 있다. I/O 경로(302)는 제어 회로부(304)(및 구체적으로 프로세싱 회로부(306))를 하나 이상의 통신 경로(하기에 설명됨)에 연결할 수 있다. I/O 기능은 이러한 통신 경로들 중 하나 이상에 의해 제공될 수 있지만 도면이 지나치게 복잡해지는 것을 방지하기 위해 도 3에는 단일 경로로 도시되어 있다. 예시를 위해 도 3에는 셋톱 박스(316)가 도시되어 있지만, 프로세싱 회로부, 제어 회로부, 및 스토리지를 갖는 임의의 적절한 컴퓨팅 디바이스가 본 개시에 따라 사용될 수 있다. 예를 들어, 셋톱 박스(316)는 개인용 컴퓨터(예를 들어, 노트북, 랩톱, 데스크탑), 사용자-액세스가능한 클라이언트 디바이스를 호스팅하는 네트워크-기반 서버, 사용자가 소유하지 않은(non-user-owned) 디바이스, 임의의 다른 적절한 디바이스, 또는 이들의 임의의 조합에 의해 대체되거나, 또는 보완될 수 있다.
제어 회로부(304)는 프로세싱 회로부(306)와 같은 임의의 적절한 프로세싱 회로부를 기반으로 할 수 있다. 본 명세서에 언급된, 프로세싱 회로부는 하나 이상의 마이크로프로세서, 마이크로컨트롤러, 디지털 신호 프로세서, 프로그래머블 로직 디바이스(programmable logic device), 필드-프로그래머블 게이트 어레이(field-programmable gate array, FPGA), 애플리케이션-특정 집적회로(application-specific integrated circuit, ASIC) 등에 기반한 회로부를 의미하는 것으로 이해되어야 하며, 멀티-코어 프로세서(예를 들어, 듀얼-코어(dual-core), 쿼드-코어(quad-core), 헥사-코어(hexa-core), 또는 임의의 적절한 수의 코어) 또는 슈퍼컴퓨터를 포함할 수 있다. 일부 실시예에서, 프로세싱 회로부는 예를 들어 다수의 동일한 타입의 프로세싱 유닛들(예를 들어, 두 개의 Intel Core i7 프로세서들) 또는 다수의 상이한 프로세서들(예를 들어, Intel Core i5 프로세서 및 인텔 코어 i7 프로세서)과 같이 다수의 별개의 프로세서들 또는 프로세싱 유닛들에 걸쳐 분산된다. 일부 실시예에서, 제어 회로부(304)는 메모리(예를 들어, 스토리지(308))에 저장된 애플리케이션에 대한 명령어를 실행한다. 구체적으로, 제어 회로부(304)는 상기에서 및 하기에서 논의된 기능들을 수행하도록 애플리케이션에 의해 지시될 수 있다. 예를 들어, 애플리케이션은 미디어 안내 디스플레이(media guidance displays)를 생성하도록 제어 회로부(304)에 명령어를 제공할 수 있다. 일부 구현에서, 제어 회로부(304)에 의해 수행되는 임의의 동작은 애플리케이션으로부터 수신된 명령어에 기초할 수 있다.
일부 클라이언트/서버-기반 실시예에서, 제어 회로부(304)는 애플리케이션 서버 또는 다른 네트워크 또는 서버와 통신하기에 적합한 통신 회로부를 포함한다. 상기 언급된 기능을 수행하기 위한 명령어는 애플리케이션 서버에 저장될 수 있다. 통신 회로부는 케이블 모뎀, 통합 서비스 디지털 네트워크(integrated-services digital network, ISDN) 모뎀, 디지털 가입자 회선(digital subscriber line, DSL) 모뎀, 전화 모뎀, 이더넷 카드, 또는 다른 장비와의 통신을 위한 무선 모뎀, 또는 임의의 다른 적절한 통신 회로부를 포함할 수 있다. 이러한 통신에는 인터넷 또는 임의의 다른 적절한 통신 네트워크 또는 경로가 포함될 수 있다. 또한, 통신 회로부는 사용자 장비 디바이스들의 피어-투-피어(peer-to-peer) 통신, 또는 서로 멀리 떨어진 위치에 있는 사용자 장비 디바이스들의 통신을 가능하게 하는 회로부를 포함할 수 있다(하기에 더욱 상세히 설명됨).
메모리는 제어 회로부(304)의 부분인 스토리지(308)와 같은 전자 스토리지 디바이스(electronic storage device)일 수 있다. 본 명세서에서 언급된, "전자 스토리지 디바이스" 또는 "스토리지 디바이스"라는 표현은 전자 데이터(electronic data), 컴퓨터 소프트웨어, 또는 펌웨어를 저장하기 위한 임의의 디바이스, 예를 들어, 랜덤-액세스 메모리(random-access memory), 읽기-전용 메모리(read-only memory), 하드 드라이브(hard drives), 광 드라이브(optical drives), 솔리드 스테이트 디바이스(solid state devices), 양자 스토리지 디바이스(quantum storage devices), 게이밍 콘솔(gaming consoles), 게이밍 미디어(gaming media), 임의의 다른 적절한 고정 또는 착탈식 스토리지 디바이스, 및/또는 상기한 것들의 임의의 조합을 의미하는 것으로 이해되어야 한다. 스토리지(308)는 본 명세서에 설명된 다양한 타입의 콘텐츠뿐만 아니라 위에서 설명된 미디어 안내 데이터를 저장하는 데 사용될 수 있다. 또한, 비휘발성 메모리가 (예를 들어, 부팅 루틴(boot-up routine) 및 기타 명령어를 시작하는 데) 사용될 수도 있다. 예를 들어, 클라우드-기반 스토리지가 스토리지(308)를 보완하기 위해 사용되거나 스토리지(308) 대신에 사용될 수 있다.
사용자는 사용자 입력 인터페이스(310)를 사용하여 제어 회로부(304)에 명령어를 보낼 수 있다. 사용자 입력 인터페이스(310), 디스플레이(312), 또는 둘 모두는 디스플레이를 제공하고 햅틱 입력(haptic input)을 수신하도록 구성된 터치스크린을 포함할 수 있다. 예를 들어, 터치스크린은 손가락, 스타일러스(stylus) 또는 둘 모두로부터 햅틱 입력을 수신하도록 구성될 수 있다. 일부 실시예에서, 사용자 디바이스(300)는 전면 스크린(front-facing screen) 및 후면 스크린(rear-facing screen), 다수의 전면 스크린들(multiple front screens), 또는 다수의 각을 이루는 스크린들(multiple angled screens)을 포함할 수 있다. 일부 실시예에서, 사용자 입력 인터페이스(310)는 하나 이상의 마이크로폰, 버튼, 키패드, 사용자 입력을 수신하도록 구성된 임의의 다른 구성요소, 또는 이들의 조합을 구비하는 리모트-컨트롤 디바이스를 포함한다. 예를 들어, 사용자 입력 인터페이스(310)는 영숫자 키패드 및 옵션 버튼을 구비하는 휴대용 리모트-컨트롤 디바이스를 포함할 수 있다. 추가적인 예에서, 사용자 입력 인터페이스(310)는 음성 명령을 수신 및 식별하고 셋톱 박스(316)에 정보를 전송하도록 구성된 마이크로폰 및 제어 회로부를 구비하는 휴대용 리모트-컨트롤 디바이스를 포함할 수 있다.
오디오 장비(314)는 사용자 디바이스(300) 및 사용자 장비 시스템(301) 각각의 다른 요소들과 통합되어 제공될 수 있거나 독립형 유닛일 수 있다. 디스플레이(312) 상에 디스플레이된 비디오 및 기타 콘텐츠의 오디오 성분은 오디오 장비(314)의 스피커들을 통해 재생될 수 있다. 일부 실시예에서, 오디오는 오디오를 처리 및 오디오 장비(314)의 스피커들을 통해 출력하는 수신기(도시되지 않음)에 분배될 수 있다. 일부 실시예에서, 예를 들어, 제어 회로부(304)는 오디오 장비(314)의 스피커들을 사용하여 사용자에게 오디오 큐(audio cues)를 제공하거나 사용자에게 다른 오디오 피드백을 제공하도록 구성된다. 오디오 장비(314)는 음성 명령 및 스피치(예를 들어, 음성 쿼리(voice queries)를 포함함)와 같은 오디오 입력을 수신하도록 구성된 마이크로폰을 포함할 수 있다. 예를 들어, 사용자는 마이크로폰에 의해 수신되고 제어 회로부(304)에 의해 텍스트로 변환되는 문자들 또는 단어들을 말할 수 있다. 추가적인 예에서, 사용자는 마이크로폰에 의해 수신되고 제어 회로부(304)에 의해 인식되는 음성 명령을 말할 수 있다.
(예를 들어, 음성 쿼리를 관리하기 위한) 애플리케이션은 임의의 적절한 아키텍처를 사용하여 구현될 수 있다. 예를 들어, 독립형 애플리케이션은 사용자 디바이스(300) 및 사용자 장비 시스템(301) 각각에서 전체로서 구현될 수 있다. 이러한 일부 실시예에서, 애플리케이션에 대한 명령어는 로컬로(locally)(예를 들어, 스토리지(308)에) 저장되고, 애플리케이션에 의해 사용되는 데이터는 (예를 들어, 대역 외 공급(out-of-band feed)으로부터, 인터넷 자원으로부터, 또는 다른 적절한 접근방식을 사용하여) 주기적으로 다운로드된다. 제어 회로부(304)는 스토리지(308)로부터 애플리케이션에 대한 명령어를 검색하고 상기 명령어를 처리하여 본 명세서에서 논의된 디스플레이들 중 임의의 것을 생성할 수 있다. 처리된 명령어에 기초하여, 제어 회로부(304)는 입력이 입력 인터페이스(310)로부터 수신될 때 수행할 동작을 결정할 수 있다. 예를 들어, 입력 인터페이스(310)가 위/아래 버튼이 선택되었음을 나타낼 때 상기 처리된 명령어에 의해 디스플레이에서 위/아래로 커서의 이동이 표시될 수 있다. 본 명세서에 논의된 임의의 실시예를 수행하기 위한 애플리케이션 및/또는 임의의 명령어는 컴퓨터 판독가능 매체에 인코딩될 수 있다. 컴퓨터 판독가능 매체는 데이터를 저장할 수 있는 임의의 매체를 포함한다. 컴퓨터 판독가능 매체는 이에 한정되는 것은 아니지만 전기 신호 또는 전자기 신호를 전파하는 것을 포함하는 일시적인(transitory) 것일 수 있고, 또는 이에 한정되는 것은 아니지만 휘발성 및 비휘발성 컴퓨터 메모리 또는 하드 디스크, 플로피 디스크, USB 드라이브, DVD, CD, 미디어 카드, 레지스터 메모리, 프로세서 캐시, 랜덤 액세스 메모리(RAM) 등과 같은 스토리지 디바이스를 포함하는 비일시적인(non-transitory) 것일 수 있다.
일부 실시예에서, 애플리케이션은 클라이언트/서버-기반 애플리케이션이다. 사용자 디바이스(300) 및 사용자 장비 시스템(301) 각각에 구현된 식(thick) 또는 신(thin) 클라이언트에 의해 사용되기 위한 데이터는 사용자 디바이스(300) 및 사용자 장비 시스템(301) 각각으로부터 원격 서버에 요청을 발행함으로써 온 디맨드로(on demand) 검색된다. 예를 들어, 원격 서버는 애플리케이션에 대한 명령어를 스토리지 디바이스에 저장할 수 있다. 원격 서버는 회로부(예를 들어, 제어 회로부(304))를 사용하여 상기 저장된 명령어를 처리하고 상기 및 하기에 논의되는 디스플레이들을 생성할 수 있다. 클라이언트 디바이스는 원격 서버에 의해 생성된 디스플레이를 수신할 수 있고 디스플레이의 콘텐츠를 사용자 디바이스(300)에 로컬로 표시할 수 있다. 이러한 방식으로, 명령어의 처리는 서버에 의해 원격으로 수행되는 한편, 텍스트, 키보드, 또는 다른 시각정보(visuals)를 포함할 수 있는 결과적인 디스플레이는 사용자 디바이스(300)에 로컬로 제공된다. 사용자 디바이스(300)는 입력 인터페이스(310)를 통해 사용자로부터 입력을 수신하고 이러한 입력을 처리 및 대응하는 디스플레이를 생성하기 위해 원격 서버에 전송할 수 있다. 예를 들어, 사용자 디바이스(300)는 입력 인터페이스(310)를 통해 위/아래 버튼이 선택되었음을 나타내는 통신을 원격 서버에 전송할 수 있다. 원격 서버는 그 입력에 따라 명령어를 처리하고 입력에 대응하는 애플리케이션의 디스플레이(예를 들어, 커서를 위/아래로 이동하는 디스플레이)를 생성할 수 있다. 생성된 디스플레이는 그 다음에 사용자에게 제시하기 위해 사용자 디바이스(300)로 전송된다.
일부 실시예에서, 애플리케이션은 다운로드되고 인터프리터(interpreter) 또는 가상 머신(virtual machine)(예를 들어, 제어 회로부(304)에 의해 실행됨)에 의해 해석되거나 실행된다. 일부 실시예에서, 애플리케이션은 EBIF(ETV Binary Interchange Format)로 인코딩되고, 적절한 공급(feed)의 일부로서 제어 회로부(304)에 의해 수신되고, 제어 회로부(304)에서 실행되는 사용자 에이전트에 의해 해석될 수 있다. 예를 들어, 애플리케이션은 EBIF 애플리케이션일 수 있다. 일부 실시예에서, 애플리케이션은 제어 회로부(304)에 의해 실행되는 로컬 가상 머신 또는 다른 적절한 미들웨어(middleware)에 의해 수신되고 실행되는 일련의 JAVA-기반 파일들에 의해 정의될 수 있다.
일부 실시예에서, 무선접속이 가능한(wireless-enabled) 디바이스로 예시된 사용자 디바이스(300)는 통신 네트워크(예를 들어, 인터넷에 연결됨)에 연결될 수 있다. 예를 들어, 사용자 디바이스(300)는 (예를 들어, 액세스 포인트를 포함할 수 있는) 통신 경로를 통해 통신 네트워크에 연결될 수 있다. 일부 실시예에서, 사용자 장비 시스템(301)은 무선 또는 유선 연결(예를 들어, LAN, 또는 임의의 다른 적절한 통신 링크)을 통해 통신 네트워크에 결합된 컴퓨팅 디바이스일 수 있다. 통신 네트워크는 인터넷, 모바일 폰 네트워크, 모바일 음성 또는 데이터 네트워크(예를 들어, 4G 또는 LTE 네트워크), 케이블 네트워크, 공중 교환 전화망(public switched telephone network), 또는 다른 타입의 통신 네트워크 또는 통신 네트워크들의 조합을 포함하는 하나 이상의 네트워크일 수 있다. 통신 경로는 위성(satellite) 경로, 광섬유(fiber-optic) 경로, 케이블 경로, 인터넷 통신을 지원하는 경로, 자유공간(free-space) 연결(예를 들어, 방송 또는 기타 무선 신호용) 또는 임의의 다른 적절한 유선 또는 무선 통신 경로 또는 이러한 경로들의 조합을 포함할 수 있다. 사용자 디바이스(300), 사용자 장비 시스템(301), 또는 둘 모두는 위에서 설명된 것과 같은 통신 경로들 뿐만 아니라, USB 케이블, IEEE 1394 케이블, 무선 경로(예를 들어, 블루투스(Bluetooth), 적외선, IEEE 802-11x 등), 또는 유선 또는 무선 경로를 통한 기타 단거리 통신(short-range communication)과 같은 기타 단거리 포인트-투-포인트(point-to-point) 통신 경로를 통해 서로 직접 통신할 수 있다. BLUETOOTH는 Bluetooth SIG, INC가 소유한 인증 마크이다. 디바이스들은 통신 네트워크를 통해 간접적인 경로를 통해 서로 직접 통신할 수도 있다.
일부 실시예에서, 사용자 디바이스(300), 사용자 장비 시스템(301), 또는 둘 모두 및 네트워크 디바이스(예를 들어, 서버, 애플리케이션 서버, 데이터베이스) 사이의 통신은 하나 이상의 통신 경로를 통해 교환될 수 있다. 복수의 네트워크 엔티티가 존재할 수 있고 사용자 디바이스(300), 사용자 장비 시스템(301), 또는 둘 모두와 통신할 수 있다. 일부 실시예들에서, 네트워크 디바이스는 많은 사용자 디바이스들(예를 들어, 사용자 디바이스(300) 또는 사용자 장비 시스템(301))의 애플리케이션들의 인스턴스들(instances)과 통신하는 애플리케이션을 구현한다.
일부 실시예에서, 네트워크 디바이스는, 예를 들어, 사용자 디바이스(300), 사용자 장비 시스템(301), 또는 둘 모두에 의해 검색될 수 있는, 엔티티 정보, 메타데이터, 콘텐츠, 과거의 통신 및 검색 기록, 사용자 선호도, 사용자 프로파일 정보, 광고 정보, 임의의 다른 적절한 정보, 또는 이들의 임의의 조합을 포함하는 하나 이상 타입의 저장된 정보를 포함한다. 네트워크 디바이스는 애플리케이션-호스팅 데이터베이스 또는 서버, 플러그인(plug-ins), 소프트웨어 개발자 키트(software developers kit, SDK), 애플리케이션 프로그래밍 인터페이스(applications programming interface, API), 또는 소프트웨어를 제공하고(예를 들어, 사용자 디바이스에 다운로드됨), 소프트웨어를 원격으로 실행하고(예를 들어, 사용자 디바이스에 의해 액세스되는 애플리케이션 호스팅), 또는 그 외 사용자 디바이스(300)의 애플리케이션에 애플리케이션 지원을 제공하도록 구성된 기타 소프트웨어 툴을 포함할 수 있다. 일부 실시예에서, 네트워크 디바이스로부터의 정보는 클라이언트/서버 접근방식을 사용하여 사용자 디바이스(300) 또는 사용자 장비 시스템(301)에 제공된다.
일부 실시예에서, 애플리케이션이 사용자 디바이스(300), 사용자 장비 시스템(301), 또는 둘 모두에서 구현될 수 있다. 예를 들어, 상기 애플리케이션은 사용자 디바이스(300), 사용자 장비 시스템(301), 또는 둘 모두의 스토리지(308)에 저장될 수 있고 각각의 디바이스의 제어 회로부에 의해 실행될 수 있는 소프트웨어 또는 실행 가능한 명령어들의 세트로 구현될 수 있다. 예를 들어, 애플리케이션은 클라이언트 애플리케이션으로서 사용자 디바이스(300)에서 부분적으로 구현될 수 있고 원격 서버의 제어 회로부(예를 들어, 네트워크 디바이스의 제어 회로부)에서 실행되는 서버 애플리케이션으로서 원격 서버에서 부분적으로 구현될 수 있다. 원격 서버의 제어 회로부에 의해 실행될 때, 애플리케이션은 제어 회로부에 디스플레이를 생성하고 생성된 디스플레이를 사용자 디바이스(300)에 전송하도록 지시할 수 있다. 서버 애플리케이션은 리모트 디바이스의 제어 회로부에 사용자 디바이스(300)에의 저장을 위해 데이터를 전송하도록 지시할 수 있다. 클라이언트 애플리케이션은 수신 사용자 디바이스의 제어 회로부에 애플리케이션 디스플레이를 생성하도록 지시할 수 있다.
일부 실시예에서, 사용자 디바이스(300), 사용자 장비 시스템(301), 또는 둘 모두는 클라우드-기반 장치(cloud-based arrangement)의 일부이다. 클라우드는 무엇보다도 정보 저장, 광고, 쇼핑, 검색, 메시징, 또는 소셜 네트워킹 서비스와 같은 서비스에 대한 액세스를 제공할 뿐만 아니라, 사용자 디바이스에 대해 위에서 설명한 모든 콘텐츠에 대한 액세스를 제공한다. 클라우드에서 서비스는 클라우드-컴퓨팅 서비스 제공업체를 통해 또는 다른 온라인 서비스 제공업체를 통해 제공될 수 있다. 예를 들어, 클라우드-기반 서비스는 스토리지 서비스, 공유 사이트, 소셜 네트워킹 사이트, 검색 엔진, 또는 연결된 디바이스들 상에서 다른 사람이 볼 수 있도록 사용자-제공(user-sourced) 콘텐츠가 이를 통해 배포되는 기타 서비스들을 포함할 수 있다. 이러한 클라우드-기반 서비스는 사용자 디바이스가 정보를 로컬로 저장하고 로컬로 저장된 정보에 액세스하기 보다는 클라우드에 정보를 저장하고 클라우드로부터 정보를 수신하도록 허용한다. 클라우드 자원은, 예를 들어 웹 브라우저, 메시징 애플리케이션, 소셜 미디어 애플리케이션, 인증(authentication) 애플리케이션, 인증이 필요한 애플리케이션, 데스크탑 애플리케이션, 모바일 애플리케이션, 임의의 다른 적절한 애플리케이션, 또는 애플리케이션들의 임의의 조합을 사용하여 사용자 디바이스에 의해 액세스될 수 있다.
도 4는 본 개시의 일부 실시예에 따른 음성 명령 추천을 생성하기 위한 예시적인 프로세스(400)의 흐름도이다. 일부 실시예에서, 후술하는 바와 같이, 프로세스(400)는 임의의 적절한 하드웨어 상에서 구현되는 애플리케이션에 의해 수행될 수 있다. 예를 들어, 애플리케이션은 도 2의 대화형 시스템(220), 도 3의 사용자 디바이스(300), 도 3의 사용자 장비 시스템(301), 임의의 다른 적절한 디바이스, 또는 이들의 임의의 조합과 같은 임의의 적절한 하드웨어에서 구현되는 프로세스(400)를 수행할 수 있다.
단계(402)는 수신될 것으로 예상되는 적어도 하나의 예측되는 명령을 애플리케이션이 결정하는 것을 포함한다. 애플리케이션은 이벤트에 응답하여, 하나 이상의 상태(conditions) 또는 트리거(triggers)에 기초하여, 사용자 행동에 기초하여, 또는 이들의 조합에 기초하여, 미리 결정된 시간에 상기 적어도 하나의 예측되는 명령을 결정할 수 있다. 설명을 위한 예에서, 단계(402)는 대화형 시스템(220) 또는 그것의 명령 예측기(224)에 의해 수행될 수 있다.
일부 실시예에서는, 단계(402)에서, 애플리케이션이 사용자의 시청 행동에 대한 과거의 정보, 명령 이력, 선호도, 사용자에 대응하는 임의의 다른 적절한 정보, 또는 이들의 임의의 조합에 기초하여 상기 적어도 하나의 예측되는 명령을 결정한다. 예를 들어, 애플리케이션은 명령(예를 들어, 음성 및 비-음성 명령, 또는 이들의 결여)에 대한 시간 이력, 시청 행동과 관련된 명령 이력(예를 들어, 프로그램 시작/정지 시간과 관련된 명령의 시간 또는 기타 타임 마커(time marker)), 시청 이력(예를 들어, 시청한 콘텐츠 및 시기), 임의의 다른 사용자 정보, 또는 이들의 조합과 같은 정보를 저장하거나 검색할 수 있다. 설명을 위한 예에서, 단계 402에서, 대화형 시스템(220)에 의해 구현되는 애플리케이션은 사용자 정보(290)로부터 정보를 검색할 수 있다. 설명을 위한 예에서, 단계(402)에서, 애플리케이션은 하나 이상의 이벤트에 대응하는 하나 이상의 수신된 명령을 포함하는 사용자 정보(290)로부터 과거의 사용 정보를 검색할 수 있다. 일부 실시예에서, 예를 들어, 애플리케이션은 (예를 들어, 스토리지(308), 사용자 정보(290), 또는 둘 모두에 저장된) 하나 이상의 타임 마커 및 사용자가 개시한(예를 들어, 그리고 다시 개시할 가능성이 있는) 대응하는 동작 또는 명령을 식별할 수 있다. 예를 들어, 데이터베이스는 총 N번 발생한, 9:00pm의 타임 스탬프와 "채널을 PBS로 전환"의 대응하는 동작을 갖는 항목을 포함할 수 있다. 일부 실시예에서, 상기 타임 스탬프는 타임 마커로서 포함된다(예를 들어, 콘텐츠 목록의 그리드를 채우기 위한 정보와 함께 포함됨). 애플리케이션이 9:00pm의 클럭 시간을 검출할 때(예를 들어, 클럭/시간 정보(280)로부터 검색됨), 애플리케이션은 대응하는 명령을 결정하기 위해 데이터베이스에 액세스할 수 있다. 예를 들어, 도 1의 디스플레이(100)를 참조하면, 애플리케이션은 8:59pm의 타임 마커를 검출하고, 알림(101)에 해당하는 명령(예를 들어, 채널 변경)을 결정할 수 있다. 일부 실시예에서, 예를 들어, 애플리케이션은 사용자 동작(예를 들어, 스토리지(308), 사용자 정보(290), 또는 둘 모두에 저장됨)에 기초하여 하나 이상의 트리거, 및 사용자가 개시한 대응하는 동작 또는 명령을 식별할 수 있다. 예를 들어, 데이터베이스는 "일정 기간 동안 미리 결정된 횟수만큼 채널을 변경"하는 사용자 동작과, 총 N번 발생한 "온-디맨드 프로그램 목록으로 이동"이라는 대응 동작을 갖는 항목을 포함할 수 있다. 일부 실시예에서, 상기 동작 트리거는 애플리케이션에 의해 액세스가능한 메모리(예를 들어, 스토리지(308))에 저장된다. 애플리케이션은 사용자가 일정 기간 동안 미리 결정된 횟수만큼 채널을 변경했음을 검출하는 경우, 애플리케이션은 이 트리거를 식별하고 데이터베이스에 액세스하여 대응하는 명령을 결정할 수 있다. 예를 들어, 애플리케이션은 1분에 5번의 채널 변경을 검출하고 "온-디맨드 프로그램 목록으로 이동"이라는 대응 명령을 결정할 수 있다. 일부 실시예에서, 애플리케이션은 음성 명령들 사이의 지속시간, 마지막 음성 명령 이후의 시간, 음성 명령의 수 또는 빈도, 또는 이들의 조합을 모니터링할 수 있다. 애플리케이션은 사용자가 음성 명령을 사용하거나 탐색하도록 동기부여하기 위해 음성 명령 제안을 결정할 수 있다. 음성 명령 제안은 일반적인 명령, 비교적 간단한 명령, 인기 있는 명령, 또는 임의의 다른 명령일 수 있다.
설명을 위한 예에서, 애플리케이션은 단계(402)에서 현재 시간이 미리 결정된 타임 마커에 대응한다고 결정할 수 있다. 그 다음, 애플리케이션은 단계(402)에서, (예를 들어, 사용자 정보(290)로부터) 적어도 하나의 예측되는 명령에 대응하는 선호도 정보를 검색하고, 선호도 정보에 기초하여 음성 입력으로 선호되는 것으로서 적어도 하나의 예측되는 명령을 식별함으로써, 적어도 하나의 예측되는 명령을 결정할 수 있다, 추가적인 설명을 위한 예에서, 애플리케이션은 과거의 디스플레이 활동, 과거의 수신된 입력, 또는 둘 모두에 기초하여 타임 마커를 식별할 수 있다.
일부 실시예에서는, 단계(402)에서, 애플리케이션이 복수의 사용자의 시청 행동, 명령 이력, 선호도, 복수의 사용자에 대응하는 임의의 다른 적절한 정보, 또는 이들의 임의의 조합에 대한 통계 정보에 기초하여 적어도 하나의 예측되는 명령을 결정한다. 애플리케이션은 과거의 정보를 저장하는 데이터베이스에서 데이터를 검색하거나(예를 들어, 명령을 추출하기 위해), 과거의 정보를 저장하는 데이터베이스로 데이터를 전송하거나(예를 들어, 명령-기반 활동의 기록을 구축하기 위해), 둘 모두를 수행할 수 있다. 예를 들어, 애플리케이션은 단일 사용자에 대해 위에서 설명한 것과 유사하게 복수의 사용자에 대한 정보를 저장할 수 있다. 또한, 애플리케이션은 복수의 사용자의 상호작용에 대한 기록으로부터 통계 정보를 추출할 수 있다. 예를 들자면, 애플리케이션은 사용자들이 특정 시간에 주로 이들로 변경하는 채널들에 대한 정보를 저장하고, 가장 인기 있는(예를 들어, 가장 빈번한) 명령을 예측되는 명령으로 사용할 수 있다. 추가적인 설명을 위한 예에서, 애플리케이션은 사용자들의 60%가 음악 채널로 변경할 때 볼륨을 높인다고 결정할 수 있고, 이에 따라 사용자가 채널을 음악 채널로 변경할 때 명령 "볼륨을 높여줘"를 예측할 수 있다(예를 들어, 채널 변경 명령은 볼륨 명령에 대한 트리거임). 설명을 위한 예에서, 대화형 시스템(220)에 의해 구현되는 애플리케이션은 사용자 정보(290)로부터 복수의 사용자에 관한 정보를 검색할 수 있다.
일부 실시예에서는, 단계(402)에서, 애플리케이션이 환경적 요인, 또는 다른 적절한 상황 정보에 기초하여 적어도 하나의 예측되는 명령을 결정한다. 설명을 위한 예에서, 단계(402)에서, 애플리케이션은 시청 환경에 대응하는 하나 이상의 이벤트를 식별하고 상기 하나 이상의 이벤트에 적어도 부분적으로 기초하여 수신될 것으로 예상되는 적어도 하나의 예측되는 명령을 결정할 수 있다. 애플리케이션은 상태 정보를 저장하는 데이터베이스에서 데이터를 검색하거나(예를 들어, 명령을 추출하기 위해), 상태 정보를 저장하는 데이터베이스로 데이터를 전송할 수 있거나(예를 들어, 상태-기반 활동의 기록을 구축하기 위해), 또는 둘 모두를 수행할 수 있다. 설명을 위한 예에서, 대화형 시스템(220)에 의해 구현되는 애플리케이션은 상태 정보(270)로부터 정보를 검색할 수 있다. 애플리케이션은 하나 이상의 디바이스, 센서, 또는 다른 적절한 소스에 기초하여 (예를 들어, 상태 정보(270)로부터) 정보를 검색할 수 있다. 예를 들어, 애플리케이션은 디바이스의 위치를 결정하기 위해 리모트 컨트롤 또는 다른 대화형 디바이스, 주변 디바이스, 또는 임의의 다른 적절한 디바이스로 또는 이들로부터 신호를 통신할 수 있도록 구성될 수 있다. 애플리케이션은 하나 이상의 사용자의 위치, 하나 이상의 디바이스의 위치, 하나 이상의 사용자의 존재, 하나 이상의 디바이스의 존재, 하나 이상의 이벤트, 디바이스에서 수행되는 하나 이상의 동작, 임의의 다른 적절한 상태 정보, 또는 이들의 조합을 결정할 수 있다. 예를 들어, 애플리케이션은 제1 사용자에 근접한 다른 사용자들을 결정할 수 있다. 예를 들어, 두 명의 사용자가 디스플레이 디바이스에 근접해 있는 경우, 애플리케이션은 한 사용자가 떠나는 상태를 식별할 수 있고 대응하는 음성 명령 추천을 생성할 수 있다(예를 들어, 그들이 가까이 되돌아올 때까지 프로그램을 일시중지하거나, 더 먼 거리까지 도달하도록 볼륨을 증가시킴). 추가적인 예에서, 한 사용자가 디스플레이 디바이스에 근접하여 있으면, 애플리케이션은 다른 사용자가 도착하는 상태를 식별할 수 있고 대응하는 음성 명령 추천을 생성할 수 있다(예를 들어, 미리 결정된 시간 후에 그들이 자리를 잡을 때까지 프로그램을 일시중지함).
설명을 위한 예에서, 단계(402)에서, 애플리케이션은 하나 이상의 이벤트를 식별하고, 과거의 사용 정보를 검색하고, 하나 이상의 이벤트에 기초하여 그리고 과거의 사용 정보에 기초하여 적어도 하나의 예측되는 명령을 결정함으로써, 수신될 것으로 예상되는 적어도 하나의 예측되는 명령을 결정할 수 있다. 예를 들자면, 애플리케이션은 전화 벨소리를 식별하고, 사용자가 보통 전화벨에 응답하여 텔레비전 볼륨을 음소거한다는 것을 결정하고, "볼륨 줄여줘"라는 예측되는 명령을 결정할 수 있다.
단계(404)는 애플리케이션이 음성 명령 추천을 생성하는 것을 포함한다. 음성 명령 추천은 단계(402)의 상기 적어도 하나의 예측되는 명령에 대응한다. 설명을 위한 예에서, 대화형 시스템(220)에 의해 구현되는 애플리케이션은 추천 생성기(225)를 사용하여 404를 수행할 수 있다. 설명을 위한 예에서, 애플리케이션은 디스플레이 디바이스가 음성 명령 추천에 대응하는 시각적 표시자를 포함하도록 디스플레이를 수정하게 함으로써 단계(404)에서 음성 명령 추천을 생성할 수 있다. 애플리케이션은 도 1의 알림(101, 151)에 의해 나타낸 바와 같이 알림 형태로 추천을 생성할 수 있다. 단계(404)의 추천은 음성 명령에 대한 설명, 소개 표현(예를 들어, 인사말 또는 기타 부드럽게 하는(softening) 표현), 인식되는 예시적인 음성 응답, 응답하기 위한 시간 제한, 정황(context) 정보(예를 들어, 추천에 대한 트리거 또는 이유, 마지막 음성 명령 이후 경과된 시간, 음성 명령 사용을 시도하도록 격려), 피드백(예를 들어, 이러한 알림을 제공할지 여부, 이러한 알림의 제공 시기), 임의의 다른 적절한 정보, 또는 이들의 조합을 포함할 수 있다. 일부 실시예에서, 애플리케이션은 단계(402)의 예측되는 명령, (예를 들어, 사용자 정보(290)로부터의) 사용자에 대한 정보, (예를 들어, 상태 정보(270)로부터의) 상태 또는 상황에 대한 정보, 콘텐츠 목록에 대한 정보(예를 들어, 프로그램 제목 또는 썸네일 이미지), 하나 이상의 다른 사용자에 대한 정보(예를 들어, 명령이 얼마나 인기있는지), 음성 명령을 사용하는 이유(예를 들어, 한 단어를 말하는 것이 리모트 컨트롤의 여러 키 입력(keystrokes)을 대체함), 임의의 다른 적절한 정보, 또는 이들의 임의의 조합에 기초하여 텍스트, 이미지, 비디오, 또는 이들의 조합을 포함할 수 있는 알림을 구성한다. 일부 실시예에서, 애플리케이션은 사용자에게 알림을 제시하는 방법을 결정한다. 예를 들어, 애플리케이션은 (예를 들어, 디스플레이 생성기(221)를 사용하여) 디스플레이 디바이스에 디스플레이하기 위해 도 1의 알림(101, 151)에 의해 예시된 바와 같이 텍스트 상자 오버레이를 포맷 형성할 수 있다. 추가적인 설명을 위한 예에서, 애플리케이션은 오디오 디바이스(예를 들어, 스피커)가 음성 명령 추천에 대응하는 가청 표시자(audible indicator)를 생성하게 함으로써 음성 명령 추천을 생성할 수 있다. 추가적인 예에서, 애플리케이션은 알림에 기초하여 스피치를 생성하고 스피커 또는 다른 오디오 장비(예를 들어, 오디오 장비(314)) 상에 오디오 출력을 생성함으로써, 사용자에 대한 음성 쿼리를 생성할 수 있다. 일부 실시예에서, 예측되는 명령은 대응하는 단일 음성 명령이 없는 비-음성 명령 또는 일련의 비-음성 명령들에 해당할 수 있다. 그러한 일부 실시예에서, 애플리케이션은 비-음성 명령에 어느 정도 적절한 정도로 대응하는 더 단순하거나 아니면 더 제한된 음성 명령을 결정할 수 있다. 예를 들어, 예측되는 명령이 (예를 들어, 콘텐츠 탐색에 대한 사용자의 이력에 기반하여) 온-디맨드 화면으로 이동, 온-디맨드 콘텐츠의 채널 선택, 콘텐츠의 설명 보기와 같은 일련의 동작들을 포함할 수 있다. 애플리케이션은 (예를 들어, 특히 사용자가 음성 명령을 자주 사용하지 않는 경우) 사용자와의 비교적 간결한 상호작용을 용이하게 하기 위해 온-디맨드 화면으로 이동하기 위한 음성 명령만을 추천할 수 있다. 일부 실시예에서, 애플리케이션은 하나보다 많은 음성 명령 추천을 생성한다. 예를 들어, 알림은 하나 이상의 기능을 달성하기 위해 하나 이상의 추천 음성 명령을 포함할 수 있다.
설명을 위한 예에서, 단계(402)의 예측되는 명령은 동작을 포함하고, 단계(404)의 음성 명령 추천은 그 명령을 달성하기 위해 사용자에 대한 추천을 포함한다. 일부 실시예에서, 예측되는 명령과 추천되는 음성 명령은 동일하다. 예를 들어, 일부 그러한 실시예에서, 단계(402)와 단계(404)는 결합될 수 있다(예를 들어, 명령 예측기(224)와 추천 생성기(225)가 결합될 수 있음).
단계(406)는 애플리케이션이 음성 입력을 수신하도록 구성된 오디오 인터페이스를 활성화하는 것을 포함한다. 일부 실시예에서, 오디오 인터페이스는 항상 오디오 입력을 수신하도록 구성된다. 일부 실시예에서, 오디오 인터페이스는 사용자가 사용자 입력 인터페이스로 (예를 들어, 오디오 녹음(recording)을 시작하기 위해 터치스크린 상의 소프트 버튼을 선택함으로써) 표시를 제공할 때 오디오 입력을 수신하도록 구성된다. 일부 실시예에서, 오디오 인터페이스는 단계(404)에서 음성 명령 추천을 생성하는 것에 응답하여 오디오 입력을 수신하도록 구성된다. 일부 실시예에서, 오디오 인터페이스는 오디오 입력을 수신하도록 구성되고 스피치 또는 다른 적절한 오디오 신호가 검출될 때 녹음을 시작한다.
단계(408)는 애플리케이션이 오디오 인터페이스에서 음성 입력을 수신하는 것을 포함한다. 일부 실시예에서, 오디오 인터페이스(예를 들어, 오디오 장비(314), 사용자 입력 인터페이스(310), 또는 이들의 조합)는 오디오 입력을 수신하고 전자 신호를 생성하는 마이크로폰 또는 다른 센서를 포함할 수 있다. 일부 실시예에서, 오디오 입력은 아날로그 센서에서 수신되고, 이는 오디오 파일을 생성하기 위해 컨디셔닝되고, 샘플링되고, 디지털화되는 아날로그 신호를 제공한다. 일부 실시예에서, 오디오 파일은 메모리(예를 들어, 스토리지(308))에 저장된다. 쿼리 애플리케이션은 오디오 입력을 저장된 오디오 파일로 변환하기 위한 임의의 적절한 컨디셔닝 소프트웨어 또는 하드웨어를 포함할 수 있다. 예를 들어, 애플리케이션은 오디오 파일을 생성하기 위해 하나 이상의 필터(예를 들어, 로우-패스, 하이-패스, 노치 필터, 또는 밴드-패스 필터), 증폭기, 데시메이터, 또는 기타 컨디셔닝을 적용할 수 있다. 추가적인 예에서, 애플리케이션은 오디오 파일을 생성하기 위해 컨디셔닝된 신호에, 압축, 변환(예를 들어, 스펙트럼 변환, 웨이블릿 변환), 정규화, 등화, 트렁케이션(예를 들어, 시간 또는 스펙트럼 영역에서), 임의의 다른 적절한 처리, 또는 이들의 임의의 조합과 같은 임의의 적절한 처리를 적용할 수 있다. 일부 실시예에서, 단계(408)에서, 제어 회로부는 추가 처리를 위해 스토리지(예를 들어, 스토리지(308))에 저장된 오디오 파일로서 음성 명령을 수신할 수 있다.
일부 실시예에서, 애플리케이션은 수신되는 오디오의 스니펫들(즉, 짧은 기간의 클립들)을 저장하고 상기 스니펫들을 처리할 수 있다. 일부 실시예에서, 애플리케이션은 스피치의 비교적 큰 세그먼트들(예를 들어, 10초 초과)을 오디오 파일로 저장하고 상기 파일을 처리한다. 일부 실시예에서, 쿼리 애플리케이션은 단어들을 검출하기 위해 연속적인 계산을 사용하여 스피치를 처리할 수 있다. 예를 들어, 웨이블릿 변환이 실시간으로 스피치에 대해 수행되어 약간의 시간 차이가 있는(time-lagged) 경우에도 스피치 패턴(예를 들어, 이는 단어를 식별하기 위해 레퍼런스와 비교될 수 있음)의 연속적인 계산을 제공할 수 있다. 본 개시에 따라, 일부 실시예에서, 애플리케이션은 단어 뿐만 아니라 어떤 사용자가 상기 단어를 소리냈는지(예를 들어, 음성 인식)를 검출할 수 있다.
애플리케이션은 단계(408)에서 음성 입력을 수신하고 임의의 적절한 단어 검출 기술, 스피치 검출 기술, 패턴 인식 기술, 신호 프로세싱 기술, 또는 이들의 임의의 조합을 사용하여 단어들을 처리할 수 있다. 예를 들어, 애플리케이션은 일련의 신호 템플릿들을 오디오 신호의 일부와 비교하여, 일치가 존재하는지 여부(예를 들어, 특정 단어가 오디오 신호에 포함되는지 여부)를 발견할 수 있다. 추가적인 예에서, 애플리케이션은 음성 명령의 단어들을 더 잘 인식하기 위해 학습 기술을 적용할 수 있다. 예를 들어, 애플리케이션은 복수의 음성 명령에 대한 사용자로부터의 피드백을 수집할 수 있으며, 이에 따라 음성 명령을 추천하기 위한 트레이닝 세트로서 과거 데이터를 사용할 수 있다.
단계(410)는 애플리케이션이 적어도 하나의 예측되는 명령을 수행하는 것을 포함한다. 애플리케이션은 음성 입력을 수신하는 것에 응답하여, 단계(402)의 적어도 하나의 예측되는 명령 또는 그 일부를 수행한다. 일부 실시예에서, 애플리케이션은 응답을 위해 미리 결정된 시간(예를 들어, 30초 또는 임의의 다른 적절한 시간)을 기다리고, 그 다음 알림 표시를 중단할 수 있다. 예를 들어, 응답(예를 들어, 음성 입력)이 검출되지 않거나 아니면 인식할 수 없는 경우(예를 들어, 스피치 검출이 인식된 응답을 식별하는 데 성공하지 못한 경우), 애플리케이션은 알림 제시를 중단, 시간 제한이 임박했다는 표시자가 구비된 알림으로 수정, 가시성을 높이기 위해 알림을 수정(예를 들어, 사용자로부터 주의를 끌기 위해, 알림의 색상, 크기 또는 대비를 변경), 오디오 표시자를 생성(예를 들어, 사용자에게 주의를 환기시키기 위한 신호음, 소리 또는 스피치 생성), 또는 이들의 임의의 조합을 수행할 수 있다. 일부 실시예에서, 음성 입력이 검출 또는 인식되지 않았거나, 부정적인 음성 입력이 수신되었거나(예를 들어, "아니오" 또는 "나가기"), 또는 상태 또는 트리거가 변경되었기 때문에(예를 들어, 수정된 알림이 생성될 수 있음), 애플리케이션은 예측되는 명령을 수행하지 않는다. 애플리케이션은 적절한 음성 입력을 수신하는 것에 응답하여 즉시, 미리 결정된 시간에(예를 들어, 도 1의 디스플레이(100)에 의해 도시된 바와 같이 9:00pm에 채널 변경), 이벤트 발생에 응답하여, 또는 기타 적절한 시간에, 적어도 하나의 예측되는 명령을 수행할 수 있다.
설명을 위한 예에서, 단계(402)에서 애플리케이션은 제1 채널에 대응하는 콘텐츠에서 제2 채널에 대응하는 콘텐츠로 디스플레이를 변경하는 것을 포함하는 예측되는 명령을 결정할 수 있고, 단계(410)에서 제2 채널에 대응하는 콘텐츠를 디스플레이함으로써 상기 적어도 하나의 예측되는 명령을 수행할 수 있다.
추가적인 설명을 위한 예에서, 애플리케이션은 디스플레이와 연관된 오디오 트랙의 볼륨을 변경하는 것을 포함하는 예측되는 명령을 결정할 수 있고, 단계(410)에서 오디오 트랙의 볼륨을 증가 또는 감소시킴으로써 상기 적어도 하나의 예측되는 명령을 수행할 수 있다.
도 5는 본 개시의 일부 실시예에 따른, 음성 명령 상호작용을 관리하기 위한 예시적인 프로세스(500)의 흐름도를 도시한다. 일부 실시예에서, 후술하는 바와 같이, 프로세스(400)는 도 2의 대화형 시스템(220), 도 3의 사용자 디바이스(300), 도 3의 사용자 장비 시스템(301), 임의의 다른 적절한 디바이스, 또는 이들의 임의의 조합과 같은 임의의 적절한 하드웨어에서 구현될 수 있다. 설명을 위한 예에서, 시스템은 프로세스(500)를 수행하기 위한 애플리케이션(예를 들어, 도 4의 맥락에서 설명된 애플리케이션과 유사함)을 구현할 수 있다.
단계(502)는 시스템이 트리거를 식별하기 위해 상호작용, 상태, 시간, 임의의 다른 적절한 정보, 또는 이들의 임의의 조합을 모니터링하는 것을 포함한다. 예를 들어, 시스템은 키 입력, 비-음성 명령, 음성 명령, 현재 시간, 지속 시간, 이벤트, 하나 이상의 디바이스에서의 활동, 임의의 다른 적절한 활동 또는 정보, 또는 이들의 임의의 조합을 모니터링할 수 있다. 예를 들어, 시스템은 정보(590)로부터 잠재적인 트리거 또는 기준을 검색하거나, 사용 데이터를 정보(590)로 전송하거나, 또는 둘 모두를 수행할 수 있다. 정보(590)는, 예를 들어 사용자 정보(290), 상태 정보(270), 클럭/시간 정보(280), 임의의 다른 적절한 정보, 또는 이들의 임의의 조합을 포함할 수 있다.
단계(504)는 시스템이 트리거가 검출되었는지 여부를 결정하는 것을 포함한다. 일부 실시예에서, 시스템은 하나 이상의 트리거가 발생했는지 여부를 결정하고, 트리거 검출에 응답하여 시스템은 명령을 결정하기 위해 단계(506)로 진행할 수 있다. 시스템은 트리거를 지속적으로, 간격을 두고, 입력 수신에 응답하여, 또는 임의의 다른 적절한 시간에 모니터링할 수 있다.
단계(506)는 시스템이 단계(502)의 검출된 트리거에 기초하여 명령을 결정하는 것을 포함한다. 일부 실시예에서, 시스템은 단계(504)에서 검출된 트리거에 기초하여 정보(590)로부터 명령을 검색한다. 명령은, 예를 들어, 데이터베이스에서의 관계를 포함하는 임의의 적절한 기준에 기초한 트리거에 대응할 수 있다.
단계(508)는 시스템이 단계(506)의 명령에 기초하여 알림을 생성하는 것을 포함한다. 단계(508)에서, 시스템은 추천되는 음성 명령을 결정할 수 있고, (예를 들어, 디스플레이 디바이스 또는 오디오 디바이스를 사용하여) 사용자에게 시각적 또는 오디오 알림을 생성할 수 있다.
단계(510)는 시스템이 인터페이스(예를 들어, 오디오 인터페이스)를 활성화하는 것을 포함한다. 시스템은 단계(508) 이전, 이후, 또는 동시에 단계(510)를 수행할 수 있다. 예를 들어, 시스템은 단계(504)에서 트리거가 검출되는 것, 정보(590)로부터 정보 검색, 단계(508)에서 알림의 생성, 또는 임의의 다른 적절한 시간에 응답하여 단계(510)를 수행할 수 있다.
단계(512)는 시스템이 단계(510)에서 활성화된 인터페이스에서 응답이 검출되었는지 여부를 결정하는 것을 포함한다. 시스템은 미리 결정된 기간 동안, 응답이 검출될 때까지, 이벤트가 발생할 때까지(예를 들어, 임의의 명령이 수신됨, 음성 또는 비-음성), 임의의 다른 적절한 지속시간, 또는 이들의 임의의 조합으로 인터페이스를 모니터링할 수 있다, 예를 들어, 시스템은 스피치 검출 기술을 사용하여 인터페이스에서 수신된 신호를 처리할 수 있다. 시스템이 인식가능한 음성 입력을 식별할 때, 시스템은 명령에 응답하기 위해 단계(514)로 진행할 수 있다.
단계(514)는 시스템이 단계(508)의 알림에 대응하는 명령을 수행하는 것을 포함한다. 시스템은 단계(514)에서 채널 변경, 볼륨 변경 또는 음소거(음소거 해제), 디바이스 켜기 또는 끄기, 프로그램 일시중지 또는 재생, 프로그램 되감기 또는 포워딩, 디스플레이 변경 또는 디스플레이 설정 변경, 임의의 다른 적절한 기능, 또는 이들의 임의의 조합을 포함하는 임의의 적절한 기능을 수행할 수 있다.
단계(516)는 시스템이 알림을 수정, 업데이트 또는 교체할지 여부를 결정하는 것을 포함한다. 예를 들어, 단계(512)에서 응답이 검출되지 않으면, 시스템은 단계(516)에서 알림을 수정할지 여부를 결정할 수 있다. 예를 들어, 시스템은 시스템을 수정하지 않고 단계(502)에서 상호작용을 모니터링하는 것으로 되돌아가기로 결정할 수 있다. 추가적인 예에서, 시스템은 사용자가 시스템과 상호 작용하도록 촉구하거나, 사용자에게 알림을 상기시키거나, 또는 그 외 인식가능하고 실행가능한 음성 응답의 결여를 나타내기 위해 단계(508)의 알림을 수정, 업데이트, 또는 교체하는 것을 결정할 수 있다.
단계(518)는 시스템이 프로세스(500) 동안 또는 프로세스(500)의 맥락에서의 상호작용에 기초하여 적절한 정보를 저장하는 것을 포함한다. 예를 들어, 수행된 명령의 기록, 음성 응답의 결여, 검출된 트리거, 프로세스(500)의 임의의 양태와 연관된 시간 정보, 임의의 다른 적절한 정보, 또는 이들의 임의의 조합이 (예를 들어, 명령 및 사용 행동에 대한 나중의 결정을 위해) 이력 정보로 포함을 위해 정보(590)에 저장될 수 있다. 따라서, 시스템은 미래의 명령 예측 및 음성 명령 추천에 대한 사용자의 행동 및 선호도에 대한 기록을 구성할 수 있다.
본 개시의 상술한 실시예들은 예시의 목적으로 제시되며 제한하기 위한 것이 아니며, 본 개시는 다음의 청구범위에 의해서만 제한된다. 또한, 임의의 일 실시예에서 설명된 특징 및 제한은 본 명세서의 임의의 다른 실시예에 적용될 수 있으며, 일 실시예에 관한 흐름도 또는 예들은 적절한 방식으로 임의의 다른 실시예와 결합될 수 있고, 상이한 순서로 수행되거나, 또는 병렬로 수행될 수 있는 것에 유의해야 한다. 또한, 본 명세서에 설명된 시스템들 및 방법들은 실시간으로 수행될 수 있다. 또한, 위에서 설명된 시스템들 및/또는 방법들은 다른 시스템들 및/또는 방법들에 적용되거나, 또는 그에 따라 사용될 수 있다는 있는 것에 유의해야 한다.
본 명세서는 이에 제한되는 것은 아니지만, 다음을 포함하는 실시예들을 개시한다:
1. 음성 명령 추천을 제공하기 위한 방법으로서,
수신될 것으로 예상되는 적어도 하나의 예측되는 명령을 결정하는 단계;
제어 회로부를 사용하여, 상기 적어도 하나의 예측되는 명령에 대응하는 음성 명령 추천을 생성하는 단계;
음성 입력을 수신하도록 구성된 오디오 인터페이스를 활성화하는 단계;
상기 오디오 인터페이스에서 상기 음성 입력을 수신하는 단계; 및
상기 음성 입력을 수신하는 것에 응답하여 상기 적어도 하나의 예측되는 명령을 수행하는 단계를 포함하는, 음성 명령 추천을 제공하기 위한 방법.
2. 항목 1에 있어서,
상기 적어도 하나의 예측되는 명령은 제1 채널에 대응하는 콘텐츠로부터 제2 채널에 대응하는 콘텐츠로 디스플레이를 변경하는 것을 포함하고;
상기 적어도 하나의 예측되는 명령을 수행하는 단계는 상기 제2 채널에 대응하는 콘텐츠를 디스플레이하는 단계를 포함하는, 음성 명령 추천을 제공하기 위한 방법.
3. 항목 1에 있어서,
상기 적어도 하나의 예측되는 명령은 디스플레이와 연관된 오디오 트랙의 볼륨을 변경하는 것을 포함하고;
상기 적어도 하나의 예측되는 명령을 수행하는 단계는 상기 오디오 트랙의 볼륨을 증가 또는 감소시키는 단계를 포함하는, 음성 명령 추천을 제공하기 위한 방법.
4. 항목 1에 있어서, 현재 시간이 미리 결정된 타임 마커(time marker)에 대응한다고 결정하는 단계를 더 포함하고, 상기 적어도 하나의 예측되는 명령을 결정하는 단계는,
상기 적어도 하나의 예측되는 명령에 대응하는 선호도 정보를 검색하는 단계, 및
선호도 정보에 기초하여 음성 입력으로 선호되는 것으로서 상기 적어도 하나의 예측되는 명령을 식별하는 단계를 포함하는, 음성 명령 추천을 제공하기 위한 방법.
5. 항목 4에 있어서, 과거의 디스플레이 활동, 과거의 수신된 입력들, 및 둘 모두를 포함하는 그룹 중 적어도 하나에 기초하여 상기 타임 마커를 식별하는 단계를 더 포함하는, 음성 명령 추천을 제공하기 위한 방법.
6. 항목 1에 있어서, 상기 음성 명령 추천을 생성하는 단계는 상기 음성 명령 추천에 대응하는 시각적 표시자를 포함하도록 디스플레이 디바이스에 생성된 디스플레이를 수정하는 단계를 포함하는, 음성 명령 추천을 제공하기 위한 방법.
7. 항목 1에 있어서, 상기 음성 명령 추천을 생성하는 단계는 오디오 디바이스를 사용하여 상기 음성 명령 추천에 대응하는 가청 표시자를 생성하는 단계를 포함하는, 음성 명령 추천을 제공하기 위한 방법.
8. 항목 1에 있어서, 수신될 것으로 예상되는 상기 적어도 하나의 예측되는 명령을 결정하는 단계는,
하나 이상의 이벤트를 식별하는 단계;
과거의 사용 정보를 검색하는 단계; 및
상기 하나 이상의 이벤트 및 상기 과거의 사용 정보에 기초하여 상기 적어도 하나의 예측되는 명령을 결정하는 단계를 포함하는, 음성 명령 추천을 제공하기 위한 방법.
9. 항목 8에 있어서, 상기 과거의 사용 정보는 상기 하나 이상의 이벤트에 대응하는 하나 이상의 수신된 명령을 포함하는 것인, 음성 명령 추천을 제공하기 위한 방법.
10. 항목 1에 있어서,
시청 환경에 대응하는 하나 이상의 이벤트를 식별하는 단계; 및
상기 하나 이상의 이벤트에 적어도 부분적으로 기초하여, 수신될 것으로 예상되는 상기 적어도 하나의 예측되는 명령을 결정하는 단계를 더 포함하는, 음성 명령 추천을 제공하기 위한 방법.
11. 음성 명령 추천을 제공하기 위한 시스템으로서,
오디오 입력을 수신하도록 구성된 오디오 인터페이스; 및
제어 회로부로서,
수신될 것으로 예상되는 적어도 하나의 예측되는 명령을 결정하도록;
상기 적어도 하나의 예측되는 명령에 대응하는 음성 명령 추천을 생성하도록;
상기 오디오 인터페이스를 활성화하도록;
상기 오디오 인터페이스로부터 음성 입력을 수신하도록;
상기 음성 입력을 수신하는 것에 응답하여 상기 적어도 하나의 예측되는 명령을 수행하도록 구성된 제어 회로부를 포함하는, 음성 명령 추천을 제공하기 위한 시스템.
12. 항목 11에 있어서, 상기 적어도 하나의 예측되는 명령은 제1 채널에 대응하는 콘텐츠로부터 제2 채널에 대응하는 콘텐츠로 디스플레이를 변경하는 것을 포함하고, 상기 제어 회로부는 또한 상기 제2 채널에 대응하는 콘텐츠를 디스플레이함으로써 상기 적어도 하나의 예측되는 명령을 수행하도록 구성된 것인, 음성 명령 추천을 제공하기 위한 시스템.
13. 항목 11에 있어서, 상기 적어도 하나의 예측되는 명령은 디스플레이와 연관된 오디오 트랙의 볼륨을 변경하는 것을 포함하고, 상기 제어 회로부는 또한 상기 오디오 트랙의 볼륨을 증가 또는 감소시킴으로써 상기 적어도 하나의 예측되는 명령을 수행하도록 구성된 것인, 음성 명령 추천을 제공하기 위한 시스템.
14. 항목 11에 있어서, 상기 제어 회로부는 또한,
현재 시간이 미리 결정된 타임 마커에 대응하는 것을 결정하도록;
상기 적어도 하나의 예측되는 명령을,
상기 적어도 하나의 예측되는 명령에 대응하는 선호도 정보를 검색함으로써, 그리고
선호도 정보에 기초하여 음성 입력으로 선호되는 것으로서 상기 적어도 하나의 예측되는 명령을 식별함으로써 결정하도록 구성된 것인, 음성 명령 추천을 제공하기 위한 시스템.
15. 항목 14에 있어서, 상기 제어 회로부는 또한, 과거의 디스플레이 활동, 과거의 수신된 입력들, 및 둘 모두를 포함하는 그룹 중 적어도 하나에 기초하여 상기 타임 마커를 식별하도록 구성된 것인, 음성 명령 추천을 제공하기 위한 시스템.
16. 항목 11에 있어서, 디스플레이 디바이스를 더 포함하고, 상기 제어 회로부는 또한, 상기 디스플레이 디바이스가 상기 음성 명령 추천에 대응하는 시각적 표시자를 포함하도록 디스플레이를 수정하게 함으로써 상기 음성 명령 추천을 생성하도록 구성된 것인, 음성 명령 추천을 제공하기 위한 시스템.
17. 항목 11에 있어서, 오디오 디바이스를 더 포함하고, 상기 제어 회로부는 또한, 상기 오디오 디바이스가 상기 음성 명령 추천에 대응하는 가청 표시자를 생성하게 함으로써 상기 음성 명령 추천을 생성하도록 구성된 것인, 음성 명령 추천을 제공하기 위한 시스템.
18. 항목 11에 있어서, 상기 제어 회로부는 또한,
하나 이상의 이벤트를 식별함으로써;
과거의 사용 정보를 검색함으로써; 그리고
상기 하나 이상의 이벤트 및 상기 과거의 사용 정보에 기초하여 상기 적어도 하나의 예측되는 명령을 결정함으로써, 수신될 것으로 예상되는 상기 적어도 하나의 예측되는 명령을 결정하도록 구성된 것인, 음성 명령 추천을 제공하기 위한 시스템.
19. 항목 18에 있어서, 상기 과거의 사용 정보는 상기 하나 이상의 이벤트에 대응하는 하나 이상의 수신된 명령을 포함하는 것인, 음성 명령 추천을 제공하기 위한 시스템.
20. 항목 11에 있어서, 상기 제어 회로부는 또한,
시청 환경에 대응하는 하나 이상의 이벤트를 식별하도록;
상기 하나 이상의 이벤트에 적어도 부분적으로 기초하여, 수신될 것으로 예상되는 상기 적어도 하나의 예측되는 명령을 결정하도록 구성된 것인, 음성 명령 추천을 제공하기 위한 시스템.
21. 비일시적 컴퓨터 판독가능 매체로서, 제어 회로부에 의해 실행될 때 상기 제어 회로부가,
수신될 것으로 예상되는 적어도 하나의 예측되는 명령을 결정하고;
상기 적어도 하나의 예측되는 명령에 대응하는 음성 명령 추천을 생성하고;
음성 입력을 수신하도록 구성된 오디오 인터페이스를 활성화하고;
상기 오디오 인터페이스에서 상기 음성 입력을 수신하고;
상기 음성 입력을 수신하는 것에 응답하여 상기 적어도 하나의 예측되는 명령을 수행하게 하는 인코딩된 명령들을 구비하는, 비일시적 컴퓨터 판독가능 매체.
22. 항목 21에 있어서, 상기 적어도 하나의 예측되는 명령은 제1 채널에 대응하는 콘텐츠로부터 제2 채널에 대응하는 콘텐츠로 디스플레이를 변경하는 것을 포함하고, 제어 회로부에 의해 실행될 때 상기 제어 회로부가 상기 제2 채널에 대응하는 콘텐츠를 디스플레이함으로써 상기 적어도 하나의 예측되는 명령을 수행하게 하는 인코딩된 명령들을 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
23. 항목 21에 있어서, 상기 적어도 하나의 예측되는 명령은 디스플레이와 연관된 오디오 트랙의 볼륨을 변경하는 것을 포함하고, 제어 회로부에 의해 실행될 때 상기 제어 회로부가 상기 오디오 트랙의 볼륨을 증가 또는 감소시킴으로써 상기 적어도 하나의 예측되는 명령을 수행하게 하는 인코딩된 명령들을 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
24. 항목 21에 있어서, 제어 회로부에 의해 실행될 때 상기 제어 회로부가,
현재 시간이 미리 결정된 타임 마커에 대응한다고 결정하고,
상기 적어도 하나의 예측되는 명령을,
상기 적어도 하나의 예측되는 명령에 대응하는 선호도 정보를 검색함으로써, 그리고
선호도 정보에 기초하여 음성 입력으로 선호되는 것으로서 상기 적어도 하나의 예측되는 명령을 식별함으로써 결정하게 하는 인코딩된 명령들을 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
25. 항목 24에 있어서, 제어 회로부에 의해 실행될 때 상기 제어 회로부가 과거의 디스플레이 활동, 과거의 수신된 입력들, 및 둘 모두를 포함하는 그룹 중 적어도 하나에 기초하여 상기 타임 마커를 식별하게 하는 인코딩된 명령들을 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
26. 항목 21에 있어서, 제어 회로부에 의해 실행될 때 상기 제어 회로부가 상기 음성 명령 추천에 대응하는 시각적 표시자를 포함하도록 디스플레이 디바이스 상에 생성된 디스플레이를 수정함으로써 상기 음성 명령 추천을 생성하게 하는 인코딩된 명령들을 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
27. 항목 21에 있어서, 제어 회로부에 의해 실행될 때 상기 제어 회로부가 오디오 디바이스를 사용하여 상기 음성 명령 추천에 대응하는 가청 표시자를 생성함으로써 상기 음성 명령 추천을 생성하게 하는 인코딩된 명령들을 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
28. 항목 21에 있어서, 제어 회로부에 의해 실행될 때 상기 제어 회로부가 수신될 것으로 예상되는 상기 적어도 하나의 예측되는 명령을,
하나 이상의 이벤트를 식별함으로써;
과거의 사용 정보를 검색함으로써; 그리고
상기 하나 이상의 이벤트 및 상기 과거의 사용 정보에 기초하여 상기 적어도 하나의 예측되는 명령을 결정함으로써 결정하게 하는 인코딩된 명령들을 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
29. 항목 28에 있어서, 상기 과거의 사용 정보는 상기 하나 이상의 이벤트에 대응하는 하나 이상의 수신된 명령을 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
30. 항목 21에 있어서, 제어 회로부에 의해 실행될 때 상기 제어 회로부가,
시청 환경에 대응하는 하나 이상의 이벤트를 식별하고; 그리고
상기 하나 이상의 이벤트에 적어도 부분적으로 기초하여 수신될 것으로 예상되는 상기 적어도 하나의 예측되는 명령을 결정하게 하는 인코딩된 명령들을 더 포함하는, 비일시적 컴퓨터 판독가능 매체.
31. 음성 명령 추천을 제공하기 위한 시스템으로서,
수신될 것으로 예상되는 적어도 하나의 예측되는 명령을 결정하기 위한 수단;
상기 적어도 하나의 예측되는 명령에 대응하는 음성 명령 추천을 생성하기 위한 수단;
음성 입력을 수신하도록 구성된 오디오 인터페이스를 활성화하기 위한 수단;
상기 오디오 인터페이스에서 상기 음성 입력을 수신하기 위한 수단; 및
상기 음성 입력을 수신하는 것에 응답하여 상기 적어도 하나의 예측되는 명령을 수행하기 위한 수단을 포함하는, 음성 명령 추천을 제공하기 위한 시스템.
32. 항목 31에 있어서,
상기 적어도 하나의 예측되는 명령은 제1 채널에 대응하는 콘텐츠로부터 제2 채널에 대응하는 콘텐츠로 디스플레이를 변경하는 것을 포함하고;
상기 적어도 하나의 예측되는 명령을 수행하기 위한 수단은 상기 제2 채널에 대응하는 콘텐츠를 디스플레이하기 위한 수단을 포함하는 것인, 음성 명령 추천을 제공하기 위한 시스템.
33. 항목 31에 있어서,
상기 적어도 하나의 예측되는 명령은 디스플레이와 연관된 오디오 트랙의 볼륨을 변경하는 것을 포함하고;
상기 적어도 하나의 예측되는 명령을 수행하기 위한 수단은 상기 오디오 트랙의 볼륨을 증가 또는 감소시키기 위한 수단을 포함하는 것인, 음성 명령 추천을 제공하기 위한 시스템.
34. 항목 31에 있어서, 현재 시간이 미리 결정된 타임 마커에 대응한다고 결정하기 위한 수단을 더 포함하고, 상기 적어도 하나의 예측되는 명령을 결정하기 위한 수단은,
상기 적어도 하나의 예측되는 명령에 대응하는 선호도 정보를 검색하기 위한 수단; 및
선호도 정보에 기초하여 음성 입력으로 선호되는 것으로서 상기 적어도 하나의 예측되는 명령을 식별하기 위한 수단을 포함하는 것인, 음성 명령 추천을 제공하기 위한 시스템.
35. 항목 34에 있어서, 과거의 디스플레이 활동, 과거의 수신된 입력, 및 둘 모두를 포함하는 그룹 중 적어도 하나에 기초하여 상기 타임 마커를 식별하기 위한 수단을 더 포함하는, 음성 명령 추천을 제공하기 위한 시스템.
36. 항목 31에 있어서, 상기 음성 명령 추천을 생성하기 위한 수단은 상기 음성 명령 추천에 대응하는 시각적 표시자를 포함하도록 디스플레이 디바이스 상에 생성된 디스플레이를 수정하기 위한 수단을 포함하는 것인, 음성 명령 추천을 제공하기 위한 시스템.
37. 항목 31에 있어서, 상기 음성 명령 추천을 생성하기 위한 수단은 오디오 디바이스를 사용하여 상기 음성 명령 추천에 대응하는 가청 표시자를 생성하기 위한 수단을 포함하는 것인, 음성 명령 추천을 제공하기 위한 시스템.
38. 항목 31에 있어서, 수신될 것으로 예상되는 상기 적어도 하나의 예측되는 명령을 결정하기 위한 수단은,
하나 이상의 이벤트를 식별하기 위한 수단;
과거의 사용 정보를 검색하기 위한 수단; 및
상기 하나 이상의 이벤트 및 상기 과거의 사용 정보에 기초하여 상기 적어도 하나의 예측되는 명령을 결정하기 위한 수단을 포함하는 것인, 음성 명령 추천을 제공하기 위한 시스템.
39. 항목 38에 있어서, 상기 과거의 사용 정보는 상기 하나 이상의 이벤트에 대응하는 하나 이상의 수신된 명령을 포함하는 것인, 음성 명령 추천을 제공하기 위한 시스템.
40. 항목 31에 있어서,
시청 환경에 대응하는 하나 이상의 이벤트를 식별하기 위한 수단; 및
상기 하나 이상의 이벤트에 적어도 부분적으로 기초하여, 수신될 것으로 예상되는 상기 적어도 하나의 예측되는 명령을 결정하기 위한 수단을 더 포함하는, 음성 명령 추천을 제공하기 위한 시스템.
41. 음성 명령 추천을 제공하기 위한 방법으로서,
수신될 것으로 예상되는 적어도 하나의 예측되는 명령을 결정하는 단계;
제어 회로부를 사용하여 상기 적어도 하나의 예측되는 명령에 대응하는 음성 명령 추천을 생성하는 단계;
음성 입력을 수신하도록 구성된 오디오 인터페이스를 활성화하는 단계;
상기 오디오 인터페이스에서 상기 음성 입력을 수신하는 단계; 및
상기 음성 입력을 수신하는 것에 응답하여 상기 적어도 하나의 예측되는 명령을 수행하는 단계를 포함하는, 음성 명령 추천을 제공하기 위한 방법.
42. 항목 41에 있어서,
상기 예측되는 명령은 제1 채널에 대응하는 콘텐츠에서 제2 채널에 대응하는 콘텐츠로 디스플레이를 변경하는 것을 포함하고;
상기 적어도 하나의 예측되는 명령을 수행하는 단계는 상기 제2 채널에 대응하는 콘텐츠를 디스플레이하는 단계를 포함하는, 음성 명령 추천을 제공하기 위한 방법.
43. 항목 41 또는 항목 42에 있어서,
상기 예측되는 명령은 디스플레이와 연관된 오디오 트랙의 볼륨을 변경하는 것을 포함하고;
상기 적어도 하나의 예측되는 명령을 수행하는 단계는 상기 오디오 트랙의 볼륨을 증가 또는 감소시키는 단계를 포함하는, 음성 명령 추천을 제공하기 위한 방법.
44. 항목 41 내지 항목 43 중 어느 하나에 있어서, 현재 시간이 미리 결정된 타임 마커에 대응한다고 결정하는 단계를 더 포함하고, 상기 적어도 하나의 예측되는 명령을 결정하는 단계는,
상기 적어도 하나의 예측되는 명령에 대응하는 선호도 정보를 검색하는 단계; 및
선호도 정보에 기초하여 음성 입력으로 선호되는 것으로서 상기 적어도 하나의 예측되는 명령을 식별하는 단계를 포함하는, 음성 명령 추천을 제공하기 위한 방법.
45. 항목 44에 있어서, 과거의 디스플레이 활동, 과거의 수신된 입력, 및 둘 모두를 포함하는 그룹 중 적어도 하나에 기초하여 상기 타임 마커를 식별하는 단계를 더 포함하는, 음성 명령 추천을 제공하기 위한 방법.
46. 항목 41 내지 항목 45 중 어느 하나에 있어서, 상기 음성 명령 추천을 생성하는 단계는 상기 음성 명령 추천에 대응하는 시각적 표시자를 포함하도록 디스플레이 디바이스 상에 생성된 디스플레이를 수정하는 단계를 포함하는, 음성 명령 추천을 제공하기 위한 방법.
47. 항목 41 내지 항목 46 중 어느 하나에 있어서, 상기 음성 명령 추천을 생성하는 단계는 오디오 디바이스를 사용하여 상기 음성 명령 추천에 대응하는 가청 표시자를 생성하는 단계를 포함하는, 음성 명령 추천을 제공하기 위한 방법.
48. 항목 41 내지 항목 47 중 어느 하나에 있어서, 수신될 것으로 예상되는 상기 적어도 하나의 예측되는 명령을 결정하는 단계는,
하나 이상의 이벤트 식별하는 단계;
과거의 사용 정보를 검색하는 단계; 및
상기 하나 이상의 이벤트 및 상기 과거의 사용 정보에 기초하여 상기 적어도 하나의 예측되는 명령을 결정하는 단계를 포함하는, 음성 명령 추천을 제공하기 위한 방법.
49. 항목 48에 있어서, 상기 과거의 사용 정보는 상기 하나 이상의 이벤트에 대응하는 하나 이상의 수신된 명령을 포함하는 것인, 음성 명령 추천을 제공하기 위한 방법.
50. 항목 41 내지 항목 49 중 어느 하나에 있어서,
시청 환경에 대응하는 하나 이상의 이벤트를 식별하는 단계; 및
상기 하나 이상의 이벤트에 적어도 부분적으로 기초하여 수신될 것으로 예상되는 상기 적어도 하나의 예측되는 명령을 결정하는 단계를 더 포함하는, 음성 명령 추천을 제공하기 위한 방법.

Claims (13)

  1. 음성 명령 추천을 제공하기 위한 방법으로서,
    수신될 것으로 예상되는 적어도 하나의 예측되는 명령을 결정하는 단계;
    제어 회로부를 사용하여, 상기 적어도 하나의 예측되는 명령에 대응하는 음성 명령 추천을 생성하는 단계;
    음성 입력을 수신하도록 구성된 오디오 인터페이스를 활성화하는 단계;
    상기 오디오 인터페이스에서 상기 음성 입력을 수신하는 단계; 및
    상기 음성 입력을 수신하는 것에 응답하여 상기 적어도 하나의 예측되는 명령을 수행하는 단계
    를 포함하는, 음성 명령 추천을 제공하기 위한 방법.
  2. 제1항에 있어서,
    상기 예측되는 명령은 제1 채널에 대응하는 콘텐츠로부터 제2 채널에 대응하는 콘텐츠로 디스플레이를 변경하는 것을 포함하고;
    상기 적어도 하나의 예측되는 명령을 수행하는 단계는 상기 제2 채널에 대응하는 콘텐츠를 디스플레이하는 단계를 포함하는 것인, 음성 명령 추천을 제공하기 위한 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 예측되는 명령은 디스플레이와 연관된 오디오 트랙의 볼륨을 변경하는 것을 포함하고;
    상기 적어도 하나의 예측되는 명령을 수행하는 단계는 상기 오디오 트랙의 볼륨을 증가 또는 감소시키는 단계를 포함하는 것인, 음성 명령 추천을 제공하기 위한 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    현재 시간이 미리 결정된 타임 마커(time marker)에 대응한다고 결정하는 단계
    를 더 포함하고,
    상기 적어도 하나의 예측되는 명령을 결정하는 단계는,
    상기 적어도 하나의 예측되는 명령에 대응하는 선호도 정보를 검색하는 단계, 및
    선호도 정보에 기초하여 음성 입력으로 선호되는 것으로서 상기 적어도 하나의 예측되는 명령을 식별하는 단계
    를 포함하는 것인, 음성 명령 추천을 제공하기 위한 방법.
  5. 제4항에 있어서,
    과거의 디스플레이 활동, 과거의 수신된 입력들, 및 둘 모두를 포함하는 그룹 중 적어도 하나에 기초하여 상기 타임 마커를 식별하는 단계
    를 더 포함하는, 음성 명령 추천을 제공하기 위한 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 음성 명령 추천을 생성하는 단계는 상기 음성 명령 추천에 대응하는 시각적 표시자를 포함하도록 디스플레이 디바이스에 생성된 디스플레이를 수정하는 단계를 포함하는 것인, 음성 명령 추천을 제공하기 위한 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 음성 명령 추천을 생성하는 단계는 오디오 디바이스를 사용하여 상기 음성 명령 추천에 대응하는 가청 표시자를 생성하는 단계를 포함하는 것인, 음성 명령 추천을 제공하기 위한 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    수신될 것으로 예상되는 상기 적어도 하나의 예측되는 명령을 결정하는 단계는,
    하나 이상의 이벤트를 식별하는 단계;
    과거의 사용 정보를 검색하는 단계; 및
    상기 하나 이상의 이벤트 및 상기 과거의 사용 정보에 기초하여 상기 적어도 하나의 예측되는 명령을 결정하는 단계
    를 포함하는 것인, 음성 명령 추천을 제공하기 위한 방법.
  9. 제8항에 있어서,
    상기 과거의 사용 정보는 상기 하나 이상의 이벤트에 대응하는 하나 이상의 수신된 명령을 포함하는 것인, 음성 명령 추천을 제공하기 위한 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    시청 환경에 대응하는 하나 이상의 이벤트를 식별하는 단계; 및
    상기 하나 이상의 이벤트에 적어도 부분적으로 기초하여, 수신될 것으로 예상되는 상기 적어도 하나의 예측되는 명령을 결정하는 단계
    를 더 포함하는, 음성 명령 추천을 제공하기 위한 방법.
  11. 음성 명령 추천을 제공하기 위한 시스템으로서,
    메모리; 및
    제1항 내지 제10항 중 어느 한 항의 방법의 단계들을 구현하기 위한 수단을 포함하는, 음성 명령 추천을 제공하기 위한 시스템.
  12. 비일시적 컴퓨터 판독가능 매체로서, 제어 회로부에 의해 실행될 때 상기 제어 회로부가 제1항 내지 제10항 중 어느 한 항의 방법의 단계들을 실행할 수 있게 하는 인코딩된 명령들을 구비하는, 비일시적 컴퓨터 판독가능 매체.
  13. 음성 명령 추천을 제공하기 위한 시스템으로서,
    제1항 내지 제10항 중 어느 한 항의 방법의 단계들을 구현하기 위한 수단을 포함하는, 음성 명령 추천을 제공하기 위한 시스템.
KR1020227023281A 2019-12-10 2020-12-09 음성 명령 추천을 제공하기 위한 시스템 및 방법 KR20220108163A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/709,734 2019-12-10
US16/709,734 US11676586B2 (en) 2019-12-10 2019-12-10 Systems and methods for providing voice command recommendations
PCT/US2020/064048 WO2021119150A1 (en) 2019-12-10 2020-12-09 Systems and methods for providing voice command recommendations

Publications (1)

Publication Number Publication Date
KR20220108163A true KR20220108163A (ko) 2022-08-02

Family

ID=74141851

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227023281A KR20220108163A (ko) 2019-12-10 2020-12-09 음성 명령 추천을 제공하기 위한 시스템 및 방법

Country Status (6)

Country Link
US (2) US11676586B2 (ko)
EP (1) EP4073791A1 (ko)
JP (1) JP2023506341A (ko)
KR (1) KR20220108163A (ko)
CA (1) CA3143521A1 (ko)
WO (1) WO2021119150A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230051306A1 (en) * 2021-08-11 2023-02-16 International Business Machines Corporation Multi-user voice assistant with disambiguation

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11373650B2 (en) * 2017-10-17 2022-06-28 Sony Corporation Information processing device and information processing method
US11328721B2 (en) * 2020-02-04 2022-05-10 Soundhound, Inc. Wake suppression for audio playing and listening devices
US20220317635A1 (en) * 2021-04-06 2022-10-06 International Business Machines Corporation Smart ecosystem curiosity-based self-learning
US20230088513A1 (en) * 2021-09-22 2023-03-23 International Business Machines Corporation Multiuser voice command visualization
US11523190B1 (en) 2021-12-17 2022-12-06 Google Llc Generating notifications that provide context for predicted content interruptions
CN115622829B (zh) * 2022-11-22 2023-02-28 威海海洋职业学院 一种智能家居物联网交互平台搭建方法及系统
CN117351993B (zh) * 2023-12-04 2024-02-13 方图智能(深圳)科技集团股份有限公司 一种基于音频分发的音频传输质量评价方法及系统

Family Cites Families (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0842471A4 (en) * 1995-07-31 2006-11-08 Hewlett Packard Co METHOD AND APPARATUS FOR MANAGING RESOURCES UNDER THE CONTROL OF A PROTECTED MODULE OR OTHER PROTECTED PROCESSOR
US6408272B1 (en) * 1999-04-12 2002-06-18 General Magic, Inc. Distributed voice user interface
US6836760B1 (en) * 2000-09-29 2004-12-28 Apple Computer, Inc. Use of semantic inference and context-free grammar with speech recognition system
JP4305289B2 (ja) * 2004-06-10 2009-07-29 株式会社デンソー 車両用制御装置およびその装置を備える車両用制御システム
US20060025995A1 (en) * 2004-07-29 2006-02-02 Erhart George W Method and apparatus for natural language call routing using confidence scores
CN1842788B (zh) * 2004-10-08 2012-04-04 松下电器产业株式会社 对话支援装置、系统及方法
US20060149544A1 (en) * 2005-01-05 2006-07-06 At&T Corp. Error prediction in spoken dialog systems
US7733224B2 (en) * 2006-06-30 2010-06-08 Bao Tran Mesh network personal emergency response appliance
US9620117B1 (en) * 2006-06-27 2017-04-11 At&T Intellectual Property Ii, L.P. Learning from interactions for a spoken dialog system
US8515757B2 (en) * 2007-03-20 2013-08-20 Nuance Communications, Inc. Indexing digitized speech with words represented in the digitized speech
US8543401B2 (en) * 2009-04-17 2013-09-24 Synchronoss Technologies System and method for improving performance of semantic classifiers in spoken dialog systems
US8290780B2 (en) * 2009-06-24 2012-10-16 International Business Machines Corporation Dynamically extending the speech prompts of a multimodal application
US8533760B1 (en) * 2009-10-20 2013-09-10 Arris Enterprises, Inc. Reduced latency channel switching for IPTV
US8515736B1 (en) * 2010-09-30 2013-08-20 Nuance Communications, Inc. Training call routing applications by reusing semantically-labeled data collected for prior applications
US9493130B2 (en) * 2011-04-22 2016-11-15 Angel A. Penilla Methods and systems for communicating content to connected vehicle users based detected tone/mood in voice input
US20140168277A1 (en) * 2011-05-10 2014-06-19 Cisco Technology Inc. Adaptive Presentation of Content
US8838434B1 (en) * 2011-07-29 2014-09-16 Nuance Communications, Inc. Bootstrap call router to other languages using selected N-best translations
US8761373B1 (en) * 2011-10-03 2014-06-24 Nuance Communications, Inc. System and method for determining IVR application flow from customer-service call recordings
US9620122B2 (en) * 2011-12-08 2017-04-11 Lenovo (Singapore) Pte. Ltd Hybrid speech recognition
US9082403B2 (en) * 2011-12-15 2015-07-14 Microsoft Technology Licensing, Llc Spoken utterance classification training for a speech recognition system
US9378601B2 (en) * 2012-03-14 2016-06-28 Autoconnect Holdings Llc Providing home automation information via communication with a vehicle
US9405832B2 (en) * 2012-05-31 2016-08-02 Apple Inc. Application search query classifier
US9684395B2 (en) * 2012-06-02 2017-06-20 Tara Chand Singhal System and method for context driven voice interface in handheld wireless mobile devices
US8983840B2 (en) * 2012-06-19 2015-03-17 International Business Machines Corporation Intent discovery in audio or text-based conversation
CN103748889A (zh) * 2012-08-17 2014-04-23 弗莱克斯电子有限责任公司 多种来源的电子节目指南信息聚集
US9384736B2 (en) * 2012-08-21 2016-07-05 Nuance Communications, Inc. Method to provide incremental UI response based on multiple asynchronous evidence about user input
US9619459B2 (en) * 2012-10-01 2017-04-11 Nuance Communications, Inc. Situation aware NLU/NLP
WO2014055076A1 (en) * 2012-10-04 2014-04-10 Nuance Communications, Inc. Improved hybrid controller for asr
US9652109B2 (en) * 2013-01-11 2017-05-16 Microsoft Technology Licensing, Llc Predictive contextual toolbar for productivity applications
US9652797B2 (en) * 2013-01-18 2017-05-16 24/7 Customer, Inc. Intent prediction based recommendation system using data combined from multiple channels
US9131369B2 (en) * 2013-01-24 2015-09-08 Nuance Communications, Inc. Protection of private information in a client/server automatic speech recognition system
US10229701B2 (en) * 2013-02-28 2019-03-12 Nuance Communications, Inc. Server-side ASR adaptation to speaker, device and noise condition via non-ASR audio transmission
WO2014133525A1 (en) * 2013-02-28 2014-09-04 Nuance Communication, Inc. Server-side asr adaptation to speaker, device and noise condition via non-asr audio transmission
US9607617B2 (en) * 2013-04-02 2017-03-28 Nuance Communications, Inc. Concept cloud in smart phone applications
US9071798B2 (en) * 2013-06-17 2015-06-30 Spotify Ab System and method for switching between media streams for non-adjacent channels while providing a seamless user experience
US9646606B2 (en) * 2013-07-03 2017-05-09 Google Inc. Speech recognition using domain knowledge
US9514747B1 (en) * 2013-08-28 2016-12-06 Amazon Technologies, Inc. Reducing speech recognition latency
US9666188B2 (en) * 2013-10-29 2017-05-30 Nuance Communications, Inc. System and method of performing automatic speech recognition using local private data
US20150120296A1 (en) * 2013-10-29 2015-04-30 At&T Intellectual Property I, L.P. System and method for selecting network-based versus embedded speech processing
US9715875B2 (en) * 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9966065B2 (en) * 2014-05-30 2018-05-08 Apple Inc. Multi-command single utterance input method
US10478127B2 (en) * 2014-06-23 2019-11-19 Sherlock Solutions, LLC Apparatuses, methods, processes, and systems related to significant detrimental changes in health parameters and activating lifesaving measures
US9484021B1 (en) * 2015-03-30 2016-11-01 Amazon Technologies, Inc. Disambiguation in speech recognition
US10521189B1 (en) * 2015-05-11 2019-12-31 Alan AI, Inc. Voice assistant with user data context
US10388277B1 (en) * 2015-06-25 2019-08-20 Amazon Technologies, Inc. Allocation of local and remote resources for speech processing
US10325590B2 (en) * 2015-06-26 2019-06-18 Intel Corporation Language model modification for local speech recognition systems using remote sources
CN105070288B (zh) * 2015-07-02 2018-08-07 百度在线网络技术(北京)有限公司 车载语音指令识别方法和装置
WO2017014721A1 (en) * 2015-07-17 2017-01-26 Nuance Communications, Inc. Reduced latency speech recognition system using multiple recognizers
US10018977B2 (en) * 2015-10-05 2018-07-10 Savant Systems, Llc History-based key phrase suggestions for voice control of a home automation system
JP6768283B2 (ja) * 2015-10-29 2020-10-14 シャープ株式会社 電子機器およびその制御方法
US20170177716A1 (en) * 2015-12-22 2017-06-22 Intel Corporation Technologies for semantic interpretation of user input by a dialogue manager
WO2017112813A1 (en) * 2015-12-22 2017-06-29 Sri International Multi-lingual virtual personal assistant
US9749766B2 (en) * 2015-12-27 2017-08-29 Philip Scott Lyren Switching binaural sound
JP2017123564A (ja) * 2016-01-07 2017-07-13 ソニー株式会社 制御装置、表示装置、方法及びプログラム
US20170213550A1 (en) * 2016-01-25 2017-07-27 Hyundai America Technical Center, Inc Adaptive dual collaborative kalman filtering for vehicular audio enhancement
US9858927B2 (en) * 2016-02-12 2018-01-02 Amazon Technologies, Inc Processing spoken commands to control distributed audio outputs
US10304444B2 (en) * 2016-03-23 2019-05-28 Amazon Technologies, Inc. Fine-grained natural language understanding
US20170294184A1 (en) * 2016-04-08 2017-10-12 Knuedge Incorporated Segmenting Utterances Within Speech
US10038942B2 (en) * 2016-06-14 2018-07-31 DISH Technologies L.L.C. Automatic control of video content playback based on predicted user action
US10418026B2 (en) * 2016-07-15 2019-09-17 Comcast Cable Communications, Llc Dynamic language and command recognition
US10726022B2 (en) * 2016-08-26 2020-07-28 Facebook, Inc. Classifying search queries on online social networks
US10453449B2 (en) * 2016-09-01 2019-10-22 Amazon Technologies, Inc. Indicator for voice-based communications
US10580404B2 (en) * 2016-09-01 2020-03-03 Amazon Technologies, Inc. Indicator for voice-based communications
US9998847B2 (en) * 2016-11-17 2018-06-12 Glen A. Norris Localizing binaural sound to objects
US10971157B2 (en) * 2017-01-11 2021-04-06 Nuance Communications, Inc. Methods and apparatus for hybrid speech recognition processing
KR102338990B1 (ko) * 2017-01-23 2021-12-14 현대자동차주식회사 대화 시스템, 이를 포함하는 차량 및 대화 처리 방법
US10467509B2 (en) * 2017-02-14 2019-11-05 Microsoft Technology Licensing, Llc Computationally-efficient human-identifying smart assistant computer
US11314898B2 (en) * 2017-02-28 2022-04-26 Samsung Electronics Co., Ltd. Operating method of electronic device for function execution based on voice command in locked state and electronic device supporting the same
WO2018175291A1 (en) * 2017-03-20 2018-09-27 Ebay Inc. Detection of mission change in conversation
KR102414122B1 (ko) 2017-04-19 2022-06-29 삼성전자주식회사 사용자 발화를 처리하는 전자 장치 및 그 동작 방법
US10170112B2 (en) * 2017-05-11 2019-01-01 Google Llc Detecting and suppressing voice queries
US20190027147A1 (en) * 2017-07-18 2019-01-24 Microsoft Technology Licensing, Llc Automatic integration of image capture and recognition in a voice-based query to understand intent
DE102017213241A1 (de) * 2017-08-01 2019-02-07 Bayerische Motoren Werke Aktiengesellschaft Verfahren, Vorrichtung, mobiles Anwendergerät, Computerprogramm zur Steuerung eines Audiosystems eines Fahrzeugs
US20190043509A1 (en) * 2017-08-04 2019-02-07 Cirrus Logic International Semiconductor Ltd. Audio privacy based on user identification
US10984788B2 (en) * 2017-08-18 2021-04-20 Blackberry Limited User-guided arbitration of speech processing results
KR102374910B1 (ko) 2017-08-22 2022-03-16 삼성전자주식회사 음성 데이터 처리 방법 및 이를 지원하는 전자 장치
US10467792B1 (en) * 2017-08-24 2019-11-05 Amazon Technologies, Inc. Simulating communication expressions using virtual objects
US10431219B2 (en) * 2017-10-03 2019-10-01 Google Llc User-programmable automated assistant
KR102485342B1 (ko) * 2017-12-11 2023-01-05 현대자동차주식회사 차량의 환경에 기반한 추천 신뢰도 판단 장치 및 방법
US10885091B1 (en) * 2017-12-12 2021-01-05 Amazon Technologies, Inc. System and method for content playback
EP3721428A4 (en) * 2018-03-08 2021-01-27 Samsung Electronics Co., Ltd. INTERACTIVE RESPONSE PROCESS BASED ON INTENTIONS, AND ASSOCIATED ELECTRONIC DEVICE
US10984799B2 (en) * 2018-03-23 2021-04-20 Amazon Technologies, Inc. Hybrid speech interface device
WO2019195799A1 (en) * 2018-04-05 2019-10-10 Synaptics Incorporated Context-aware control for smart devices
US10770066B2 (en) * 2018-05-31 2020-09-08 Robert Bosch Gmbh Slot filling in spoken language understanding with joint pointer and attention
US10714122B2 (en) * 2018-06-06 2020-07-14 Intel Corporation Speech classification of audio for wake on voice
CN108881466B (zh) * 2018-07-04 2020-06-26 百度在线网络技术(北京)有限公司 交互方法和装置
US11145313B2 (en) * 2018-07-06 2021-10-12 Michael Bond System and method for assisting communication through predictive speech
US10896679B1 (en) * 2019-03-26 2021-01-19 Amazon Technologies, Inc. Ambient device state content display

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230051306A1 (en) * 2021-08-11 2023-02-16 International Business Machines Corporation Multi-user voice assistant with disambiguation
US11830490B2 (en) * 2021-08-11 2023-11-28 International Business Machines Corporation Multi-user voice assistant with disambiguation

Also Published As

Publication number Publication date
US20210174795A1 (en) 2021-06-10
US20230260514A1 (en) 2023-08-17
EP4073791A1 (en) 2022-10-19
US11676586B2 (en) 2023-06-13
WO2021119150A1 (en) 2021-06-17
JP2023506341A (ja) 2023-02-16
CA3143521A1 (en) 2021-06-17

Similar Documents

Publication Publication Date Title
US11676586B2 (en) Systems and methods for providing voice command recommendations
US11563597B2 (en) Systems and methods for modifying playback of a media asset in response to a verbal command unrelated to playback of the media asset
AU2020203023B2 (en) Intelligent automated assistant for TV user interactions
JP7159358B2 (ja) ビデオアクセス方法、クライアント、装置、端末、サーバおよび記憶媒体
KR102621114B1 (ko) 사용자 맞춤형 콘텐트를 제공하는 시스템 및 방법
EP3190512B1 (en) Display device and operating method therefor
EP2713366B1 (en) Electronic device, server and control method thereof
JP2019185733A (ja) 音声制御方法、端末機器、クラウドサーバ及びシステム
CN111433845A (zh) 在会话的上下文中推荐内容的方法和系统
CN110737840A (zh) 语音控制方法及显示设备
KR20140093303A (ko) 디스플레이 장치 및 그의 제어 방법
WO2015194386A1 (ja) 表示制御装置、表示制御方法及びコンピュータプログラム
US20140123185A1 (en) Broadcast receiving apparatus, server and control methods thereof
US9749699B2 (en) Display device, server device, voice input system and methods thereof
KR20140066025A (ko) 대화형 서비스를 제공하는 장치 및 방법 그리고, 서버
US10069769B2 (en) Electronic device and method for providing user preference program notification in the electronic device
KR20200015314A (ko) 사운드를 이용한 맞춤 컨텐츠 제공 시스템 및 방법
KR20200008341A (ko) 화면을 제어하는 미디어 재생 장치, 방법 및 화면을 분석하는 서버
US10135632B1 (en) Systems and methods for determining whether a user is authorized to perform an action in response to a detected sound
US11429882B2 (en) Method and apparatus for outputting information
KR20220132234A (ko) 컨텐츠 미리보기를 제공하기 위한 전자 장치 및 그 동작 방법 및 저장 매체
US20220122602A1 (en) Electronic device, and method for providing assistant service using same
US20140344682A1 (en) Methods and systems for customizing tactilely distinguishable inputs on a user input interface based on available functions
CN103218038A (zh) 电子设备及其控制方法
KR101296174B1 (ko) 음성 이벤트 실행 시의 이동 전화기용 모바일 광고 콘텐트 제공 방법