KR20230145521A - 멀티-어시스턴트 환경의 특성에 따른 어시스턴트 응답성 규정하기 - Google Patents
멀티-어시스턴트 환경의 특성에 따른 어시스턴트 응답성 규정하기 Download PDFInfo
- Publication number
- KR20230145521A KR20230145521A KR1020237033836A KR20237033836A KR20230145521A KR 20230145521 A KR20230145521 A KR 20230145521A KR 1020237033836 A KR1020237033836 A KR 1020237033836A KR 20237033836 A KR20237033836 A KR 20237033836A KR 20230145521 A KR20230145521 A KR 20230145521A
- Authority
- KR
- South Korea
- Prior art keywords
- user
- client device
- utterance
- assistant
- client
- Prior art date
Links
- 230000004043 responsiveness Effects 0.000 title abstract description 5
- 230000001105 regulatory effect Effects 0.000 title 1
- 230000009471 action Effects 0.000 claims abstract description 141
- 238000000034 method Methods 0.000 claims description 106
- 230000004044 response Effects 0.000 claims description 39
- 238000004891 communication Methods 0.000 claims description 36
- 238000012549 training Methods 0.000 claims description 15
- 238000012986 modification Methods 0.000 claims description 7
- 230000004048 modification Effects 0.000 claims description 7
- 230000000977 initiatory effect Effects 0.000 claims description 5
- 230000000153 supplemental effect Effects 0.000 claims description 5
- 230000003993 interaction Effects 0.000 abstract description 4
- 230000001419 dependent effect Effects 0.000 abstract 1
- 230000002853 ongoing effect Effects 0.000 description 31
- 238000012545 processing Methods 0.000 description 24
- 230000008569 process Effects 0.000 description 15
- 238000010801 machine learning Methods 0.000 description 13
- 230000000051 modifying effect Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 7
- 230000015654 memory Effects 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 239000000463 material Substances 0.000 description 5
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000010411 cooking Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000001755 vocal effect Effects 0.000 description 2
- 206010028923 Neonatal asphyxia Diseases 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 235000011888 snacks Nutrition 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/04—Segmentation; Word boundary detection
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/221—Announcement of recognition results
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Acoustics & Sound (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
Abstract
여기에 기술된 구현예는 다수의 자동화된 어시스턴트 디바이스의 응답성을 관리하기 위한 동적 규정을 사용하는 것과 관련되며, 특히 둘 이상의 어시스턴트 디바이스에 의해 인식된 주어진 발화된 발언에 대한 자동화된 어시스턴트의 응답성에 관한 것이다. 자동화된 어시스턴트가 사용자마다 다를 수 있는 어시스턴트 인터렉션 선호도를 수용할 수 있도록 동적 규정은 컨텍스트 종속적이며 시간이 지남에 따라 조정될 수 있다. 예를 들어, "중지"와 같은 발화된 발언은 사용자가 발화된 발언을 제공한 컨텍스트에 기초하여 서로 다른 어시스턴트 액션에 영향을 미치도록 의도될 수 있다. 컨텍스트는 집에 있는 다른 방에 대한 사용자의 위치, 하루 중 시간, 발화된 발언을 제공하는 사용자, 집에 있는 어시스턴트 디바이스의 배열 및/또는 집에 있는 각 디바이스의 상태를 지칭할 수 있다.
Description
사람은 본 명세서에서 "자동화된 어시스턴트"("디지털 에이전트", "챗봇", "인터랙티브 퍼스널 어시스턴트", "지능형 퍼스널 어시스턴트", "어시스턴트 애플리케이션", "대화형 에이전트들"로도 지칭됨)로 지칭되는 인터렉티브 소프트웨어 어플리케이션과의 사람-컴퓨터 간 대화에 참여할 수 있다. 예를 들어, 사람(자동화된 어시스턴트와 인터렉션할 때 "사용자"라고 할 수 있음)은 일부 경우에 텍스트로 변환된 다음 프로세싱될 수 있는 발화된 자연어 입력(즉, 발언)을 사용하여 및/또는 텍스트(예를 들어, 타이핑된) 자연어 입력을 제공함으로써 명령 및/또는 요청을 자동화된 어시스턴트에 제공할 수 있다.
많은 사용자가 다수의 클라이언트 디바이스를 사용하여 자동화된 어시스턴트를 사용할 수 있다. 예를 들어, 일부 사용자는 여러 다른 클라이언트 디바이스들 중에서도 하나 이상의 스마트폰, 하나 이상의 태블릿 컴퓨터, 하나 이상의 차량 컴퓨팅 시스템, 하나 이상의 웨어러블 컴퓨팅 디바이스, 하나 이상의 스마트 텔레비전 및/또는 하나 이상의 독립형 인터렉티브 스피커와 같은 클라이언트 디바이스의 조정된 "생태계"를 소유할 수 있다. 사용자는 이러한 클라이언트 디바이스 중 하나를 사용하여 자동화된 어시스턴트와 인간 대 컴퓨터 대화에 참여할 수 있다(자동화된 어시스턴트 클라이언트가 설치되어 있다고 가정). 일부 경우에, 이러한 클라이언트 디바이스는 사용자의 주 거주지, 보조 거주지, 직장 및/또는 기타 구조 주변에 산개되어 있을 수 있다. 예를 들어, 스마트폰, 태블릿, 스마트 워치 등과 같은 모바일 클라이언트 디바이스는 사용자의 몸 및/또는 사용자가 마지막으로 배치한 위치에 있을 수 있다. 전통적인 데스크탑 컴퓨터, 스마트 텔레비전 및 독립형 인터렉티브 스피커와 같은 다른 클라이언트 디바이스는 더 고정적일 수 있지만, 그럼에도 불구하고 사용자의 집이나 직장 내의 다양한 장소(예: 방)에 위치될 수 있다.
사용자가 집에 다수의 자동화된 어시스턴트 디바이스를 가지고 있는 경우, 각각의 자동화된 어시스턴트 디바이스는 서로 다른 액션을 수행한 결과 서로 다른 동작 상태를 가질 수 있다. 그러한 경우, 사용자는 자동화된 어시스턴트 디바이스에서 진행중인 특정한 액션을 수정하도록 요청할 수 있지만, 부주의하게 다른 자동화된 어시스턴트 디바이스가 다른 액션을 수정하게 할 수 있다. 이는 부분적으로, 일부 어시스턴트 디바이스는 특정한 액션을 수정하기 위해 사용자가 명령을 말하는 것을 각각의 어시스턴트 디바이스가 들었는지 여부에만 의존하기 때문이다. 결과적으로, 사용자가 인터렉션하려는 어시스턴트 디바이스에 직접 말하지 않는 경우, 특정 멀티-어시스턴트 환경에 대한 자동화된 어시스턴트 디바이스의 적응성이 제한될 수 있다. 예를 들어, 사용자는 통신할 의도가 없었던 어시스턴트 디바이스에서 수행되는 진행중인 액션을 실수로 중지할 수 있으며, 이로 인해 사용자는 중지된 액션을 다시 호출하기 위해 이전 발화된 발언을 반복하도록 요구될 수 있다.
바람직하지 않게, 실수로 액션을 중지한 경우, 중지된 액션에 할당된 메모리가 어시스턴트 디바이스에 의해 재사용될 수 있으며, 사용자가 나중에 중지된 액션을 다시 호출하면 어시스턴트 디바이스가 관련 데이터를 다시 획득해야 할 수 있다. 예를 들어 일부 발화된 발언은 네트워크 연결을 통해서만 액세스 가능한 자연어 모델에 의해 프로세싱될 수 있기 때문에 이러한 중복된 결과는 네트워크 리소스를 낭비할 수 있다. 또한 실수로 취소한 액션과 관련된 모든 데이터는 액션을 완료하기 위해 다시 다운로드되어야 할 수 있고, 에너지 집약적 액션을 취소하는데 낭비되는 모든 에너지(예: 디스플레이 백라이트 제어, 발열체 및/또는 전동 기기) )는 복구할 수 없다.
본 개시는 일반적으로 다수의 자동화된 어시스턴트 디바이스의 응답성을 관리하기 위해 동적 규정을 이용하기 위한 방법, 장치 및 컴퓨터 판독가능 매체(일시적 및 비일시적)에 관한 것이다. 특히, 둘 이상의 어시스턴트 디바이스에 의해 인식된 주어진 발화된 발언에 대한 자동화된 어시스턴트의 응답성은 동적 규정에 따라 적응될 수 있다. 동적 규정은 특정한 자동화된 어시스턴트 디바이스가 시간이 지남에 따라 변할 수 있는 주어진 컨텍스트에 따라 특정한 액션을 수행하게 하는 규칙일 수 있다. 추가적으로 또는 대안적으로, 각 자동화된 어시스턴트 디바이스는 수행하기 위한 특정한 액션을 특정한 자동화된 어시스턴트 디바이스에 위임하는 자동화된 어시스턴트의 능력을 관장하는 다수의 상이한 동적 규정에 따라 동작할 수 있다. 이러한 동적 규정은 다수의 자동화된 어시스턴트 디바이스가 수행될 특정한 액션에 대한 들어오는 요청을 동시에 인식하는 경우와 같이, 특정한 자동화된 어시스턴트 디바이스가 특정한 액션을 수행할 특정 컨텍스트를 식별할 수 있다.
예시로서, 사용자는 제1 어시스턴트 디바이스를 통해 거실에서 음악을 들을 수 있고, 제2 어시스턴트 디바이스는 사용자에게 요리 진행을 알리기 위해 주방에서 알람을 제공하도록 설정될 수 있다. 알람이 울리면, 사용자는 알람이 울리는 것에 대응하는 액션을 수정하기 위해 제2 어시스턴트 디바이스에 발화된 발언을 제공할 수 있다. 예를 들어, 사용자는 거실에서 "어시스턴트, 멈춰!"라는 발화된 발언을 제공할 수 있고, 이는 상기 발화된 발언이 상기 제2 어시스턴트 디바이스에 영향을 미치도록 의도되었다. 사용자가 거실에 있기 때문에, 제1 어시스턴트 디바이스는 주방에 있는 제2 어시스턴트 디바이스에 비해 더 높은 볼륨으로 발화된 발언을 수신할 수 있다. 그러나, 제1 어시스턴트 디바이스에서 진행중인 음악 재생 액션에 영향을 주지 않고 제2 어시스턴트 디바이스에서 진행중인 알람 액션을 중지하기 위해, 제1 어시스턴트 디바이스는 진행중인 액션에 영향을 미치기 전에 하나 이상의 동적 규정에 액세스할 수 있다.
동적 규정은 사용자의 현재 컨텍스트와 연관될 수 있으며, 이는 거실에서 사용자의 위치, 거실 및 주방 내 각 어시스턴트 디바이스의 위치 및/또는 각 어시스턴트 디바이스에서 수행되고 있는 각 진행중인 액션을 표시하는 컨텍스트 데이터에 의해 특성화될 수 있다. 예를 들어, 동적 규정은 제2 어시스턴트 디바이스가 알람 소리를 낸 후에 및/또는 제2 어시스턴트 디바이스가 알람 소리를 내고 임계 시간(예: 5초) 내에 사용자가 이력적으로 발화된 발언 "중지"를 제공했음을 표시하는 트레이닝 데이터에 기초할 수 있다. 이 동적 규정은 자동화된 어시스턴트가 현재 컨텍스트 내에서 "어시스턴트, 중지"라는 발화된 발언에 응답하여 음악을 중지할지 여부를 결정할 수 있는 기반을 제공할 수 있다. 예를 들어, 발화된 발언 "어시스턴트, 중지"에 응답하여, 자동화된 어시스턴트는 동적 규정에 액세스하고, 발화된 발언이 알람이 울린 임계 시간 내에 제공되었는지 결정하고, 제2 어시스턴트 디바이스의 알람 액션을 수정할 수 있다. 즉, 음악이 재생되고 다른 어시스턴트 디바이스에서 알람이 동시에 울림에도 불구하고, 자동화된 어시스턴트는 동적 규정과 현재 컨텍스트에 적어도 기초하여 알람 소리에만 영향을 미친다.
일부 구현예에서, 트레이닝 데이터는 시간이 지남에 따라 동적 규정을 생성 및/또는 수정하는 기반으로 사용될 수 있다. 트레이닝 데이터는 하나 이상의 애플리케이션 및/또는 디바이스에 의해 수행되는 하나 이상의 진행중인 액션을 초기화 및/또는 수정하기 위해 사용자에 의해 제공되는 다양한 상이한 발화된 발언에 기초할 수 있다. 예를 들어, 사용자가 유사한 컨텍스트 내에서 하나 이상의 교정 발화된 발언을 제공했음을 자동화된 어시스턴트가 확인함에 기초하여 동적 규정이 생성될 수 있다. 자동화된 어시스턴트가 사용자의 의도와 관련하여 부정확하게 특정한 액션을 수정함에 응답하여 사용자에 의해 교정 발화된 발언이 제공될 수 있다. 예를 들어, 사용자는 위에서 식별된 제2 어시스턴트 디바이스가 알람을 울리기 시작한 후, 이전에 "어시스턴트, 중지"라는 발화된 발언을 제공했을 수 있으며, 자동화된 어시스턴트는 응답으로 제1 어시스턴트 디바이스에서 진행중인 음악 재생 동작을 잘못 중지했을 수 있다. 음악 재생 액션의 잘못된 수정을 해결하기 위해, 사용자는 "아니, 알람을 중지"라는 교정 발화된 발언을 제공할 수 있다. 이에 대한 응답으로, 자동화된 어시스턴트는 교정 발화된 발언을 프로세싱하고, 음악 재생 액션을 다시 시작하고, 알람 액션을 중지할 수 있다. 또한, 자동화된 어시스턴트는 알람과 음악이 모두 들리면서 사용자가 "중지"라고 말하는 경우, 그리고 선택적으로, 사용자가 "중지"라고 말하며 거실에 있는 경우 알람만 중지하도록 현재 컨텍스트와 사용자의 선호도를 특성화하는 동적 규정이 생성되게 할 수 있다. 이러한 방식으로, 사용자는 해당 컨텍스트와 관련하여 교정 발화된 발언을 계속 제공할 필요가 없으므로, 그렇지 않은 경우 교정 발화된 발언을 따르기 위해 어시스턴트 디바이스 간의 언어 프로세싱 및 시그널링에 소비되는 계산 리소스를 보존할 수 있다.
일부 구현예에서, 동적 규정은 하나 이상의 컨텍스트 종속성을 가질 수 있다. 컨텍스트 종속성은 특정한 컨텍스트에 따라 특정한 액션이 초기화 및/또는 수정되는지 여부에 영향을 주는 특정한 컨텍스트의 특성을 지칭할 수 있다. 예를 들어, 동적 규정은 사용자 집의 특정한 방에서 특정한 액션이 수행되게 하기 위해 반드시 충족되어야 하는 점유 관련 데이터를 식별할 수 있다. 예를 들어, 집의 침실에서 사람(예를 들어, 잠자는 아기)이 검출되면, 사용자는 특정한 시간(예: 오후 6시)이 지나서 소리로 사람을 방해하지 않는 것을 선호할 수 있다. 따라서, 동적 규정은 하나 이상의 방, 하나 이상의 영향을 받는 액션(예: 음악 재생, 알람 발생, 기타 소음 발생 등), 하나 이상의 영향을 받는 어시스턴트 디바이스, 하나 이상의 영향을 받는 계정, 하나 이상의 액션과 연관된 출력 양식, 어시스턴트 디바이스에서 사용할 수 있는 하나 이상의 출력 양식 및/또는 자동화된 어시스턴트와 연관될 수 있는 기타 기능을 식별할 수 있다. 특히, 위의 예에 따르면, 대응 동적 규정은 집의 침실, 침실 내에 위치한 어시스턴트 디바이스 및 특정 액션이 제한되는 특정한 시간을 식별할 수 있다. 따라서 자동화된 어시스턴트가 수행할 액션에 대한 요청을 수신하면, 자동화된 어시스턴트가 동적 규정에 의해 설정된 제한 내에서 작동하도록 보장하기 위해 동적 규정에 액세스할 수 있다.
일부 구현예에서, 하나 이상의 어시스턴트 디바이스를 제어하기 위한 동적 규정은 주어진 컨텍스트에서 식별된 제1 어시스턴트 디바이스가 둘 이상의 사용자와 연관되는지 여부에 기초할 수 있다. 또한, 제1 어시스턴트 디바이스가 둘 이상의 사용자와 연관된 경우, 제2 어시스턴트 디바이스가 즉시 및/또는 직접적으로 둘 이상의 사용자와 연관되지 않더라도, 주어진 컨텍스트 내에서 식별된 제2 어시스턴트 디바이스는 둘 이상의 사용자에 의해 제어될 수 있다. 예를 들어, 두 명의 사용자는 제1 사용자의 집 거실에서 텔레비전으로 영화를 보고 있을 수 있으며, 두 명의 사용자 각각은 서로의 각각의 휴대용 컴퓨팅 디바이스에서 연락처로 식별될 수 있다. 구체적으로, 두 사용자 중 제2 사용자는 휴대용 컴퓨팅 디바이스를 사용하여 두 사용자 중 제1 사용자를 호출한 이력을 가질 수 있다.
영화를 보는 동안, 제1 사용자는 간식을 먹기 위해 거실을 떠날 수 있고, 제1 사용자가 걸어가는 것을 본 제2 사용자는 영화를 일시 정지하기 위해 텔레비전의 자동화된 어시스턴트 인터페이스에 발화된 발언을 제공할 수 있다. 예를 들어, 제2 사용자는 텔레비전의 자동화된 어시스턴트 인터페이스(예를 들어, 마이크로폰)에 "어시스턴트, 일시 정지"라는 명령을 제공할 수 있다. 이에 응답하여, 제1 사용자의 계정에 따라 동작하는 자동화된 어시스턴트는 제2 사용자와 제1 사용자가 제1 사용자의 집에 있으면서 제2 사용자가 영화의 재생을 제어하게 하는 동적 규정에 액세스 및/또는 동적 규정을 생성할 수 있다. 특히, 동적 규정은 제1 사용자가 휴대용 컴퓨팅 디바이스의 연락처로 제2 사용자를 갖고 있고, 제1 사용자와 제2 사용자가 모두 제1 사용자의 집에 있을 때 제2 사용자가 영화 재생을 제어할 수 있도록 요구할 수 있다. 일부 구현예에서, 제2 사용자의 휴대용 컴퓨팅 디바이스가 사용자의 집의 홈 WiFi에 연결되어 있고 및/또는 휴대용 컴퓨팅 디바이스가 또한 제2 사용자가 제공한 발화된 발언을 들었다고 결정함으로써, 자동화된 어시스턴트에 의해 제2 사용자가 식별될 수 있다. 추가적으로 또는 대안적으로, 자동화된 어시스턴트는 적어도 제2 사용자가 발화된 발언을 제공하는 것을 검증하기 위해, 제2 사용자가 발화된 발언을 제공할 때 제2 사용자의 휴대용 컴퓨팅 디바이스가 제2 사용자의 임계 거리 내에 위치한다고 결정할 수 있다.
일부 구현예에서, 제2 사용자가 텔레비전에서 재생되는 영화를 일시 중지하게 하는 것에 응답하여, 자동화된 어시스턴트는 제2 사용자가 영화를 일시 중지하게 하도록 텔레비전에서 영화를 일시 중지하는 것과 연관된 동적 규정을 수정할 수 있다. 이러한 방식으로, 자동화된 어시스턴트는 동적 규정을 적응시켜 특정한 규정을 완화하고 컴퓨팅 리소스를 보존할 수 있다. 예를 들어, 동적 규정이 업데이트되고 제2 사용자가 텔레비전에 또 다른 요청을 발행하면, 자동화된 어시스턴트는 제1 사용자와 제2 사용자의 휴대용 컴퓨팅 디바이스 사이의 어떠한 대응도 확인할 필요가 없다. 오히려, 자동화된 어시스턴트는 집 내에서 제2 사용자 또는 그들의 각각의 디바이스의 존재 또는 제1 사용자와 제2 사용자 둘 모두 집 및/또는 공용 방(예: 둘 모두 거실에 있음) 내에 있다는 것을 검증할 필요가 없다.
일부 구현예에서, 동적 규정의 컨텍스트 종속성은 하나 이상의 자동화된 어시스턴트 디바이스의 위치에 대해 저장된 레이아웃에 기초할 수 있다. 저장된 레이아웃은 방 인접성, 방 수량, 방 크기, 각 방 내의 장치 위치, 각 특정한 방의 가장 많이 사용된 부분(예: 사용자 및/또는 방 별 히트 그래프) 및/또는 기타 위치와 연관된 임의의 기타 특성을 특성화할 수 있다. 추가적으로 또는 대안적으로, 동적 규정의 컨텍스트 종속성은 특정한 발화된 발언을 수신한 특정한 어시스턴트 디바이스, 특정한 위치 내의 어시스턴트 디바이스의 사용가능한 양식, 각 어시스턴트 디바이스에 의해 수행될 수 있는 액션 및/또는 어시스턴트 디바이스의 액션과 연관될 수 있는 기타 우발적 사항에 기초할 수 있다. 예를 들어, 사용자는 주방에 오디오 전용 어시스턴트 디바이스를 가질 수 있고, 거실에 어시스턴트-지원 TV를 가질 수 있다. 사용자를 위한 자동화된 어시스턴트는 사용자가 양식-특정 액션에 대응하는 요청을 제공할 때 오디오 전용 어시스턴트 디바이스로부터 어시스턴트-지원 TV를 제어하게 하는 동적 규정에 따라 동작할 수 있다. 예를 들어, 사용자가 주방에 있고 사용자의 자녀가 거실에 있는 동안, 사용자는 디바이스를 명시적으로 특정하지 않고도 주방에 있는 오디오 전용 어시스턴트 디바이스에 TV에서 어린이 영화를 재생하도록 요청할 수 있다. 발화된 발언은 예를 들어, "어시스턴트, 어린이 영화 재생해"일 수 있으며, 오디오 전용 어시스턴트 디바이스가 발화된 발언을 수신함에 응답하여, 오디오 전용 어시스턴트 디바이스는 관련된 동적 규정을 식별할 수 있다. 식별된 동적 규정은 사용자가 주방에서 오디오 전용 어시스턴트 디바이스에 비디오 관련 요청을 제공하는 경우, 오디오 전용 어시스턴트 디바이스가 비디오 방식으로 다른 어시스턴트 디바이스를 제어하게 할 수 있다.
일부 구현예에서, 사용자의 요청은 특정한 어시스턴트 디바이스, 특정한 양식, 수행될 액션에 대한 위치를 특정하지 않거나 모호한 언어를 포함할 수 있고, 자동화된 어시스턴트는 모호성을 해결하기 위해 하나 이상의 동적 규정을 식별할 수 있다. 일부 경우에, 요청이 동일한 설명을 갖는 어시스턴트 디바이스가 다른 어시스턴트 디바이스를 갖는 것을 식별할 때 요청이 모호한 것으로 고려될 수 있다. 예를 들어, 사용자는 집에 둘 이상의 서로 다른 위치에 둘 이상의 어시스턴트-지원 TV를 가질 수 있다. 따라서 "어시스턴트, 내 TV에서 영화 Pi 재생해"와 같은 발화된 발언은 다수의 디바이스를 가리키는 것으로 해석될 수 있으므로 모호한 것으로 간주될 수 있다. 그 결과, 자동화된 어시스턴트가 단일 어시스턴트 디바이스를 식별하는 요청을 수신하지만, 모호하게 다수의 어시스턴트 디바이스를 참조하는 경우, 자동화된 어시스턴트는 모호성을 해결하기 위해 하나 이상의 동적 규정에 액세스할 수 있다.
예를 들어, 앞서 언급한 발화된 발언 수신에 응답하여, 자동화된 어시스턴트는 발화된 발언이 특정한 유형의 디바이스(예: "텔레비전")에 대한 모호성을 포함한다고 결정하고, 특정한 유형의 디바이스와 관련된 모호성에 대응하는 동적 규정에 액세스할 수 있다. 액세스된 동적 규정은 사용자가 주방에 있을 때 TV로 영화를 재생하도록 요청할 때 사용자는 침실 TV나 어린이 방 TV아 아닌 거실 TV에서 영화를 재생하는 것을 선호함을 표시할 수 있다. 일부 구현예에서, 이러한 동적 규정은 발화된 발언을 제공하는 사용자에 따라 다를 수 있다. 따라서, 어린이 중 한 명이 주방에서 음성을 제공하는 경우, 자동화된 어시스턴트는 거실 TV가 아닌 어린이의 방 TV에서 영화가 재생되도록 할 수 있다.
일부 구현예에서, 발화된 발언에 대응하는 요청된 액션을 수행하게 하기 위한 어시스턴트 디바이스의 선택은 어시스턴트 디바이스가 다른 어시스턴트 디바이스에 비해 발화된 발언을 들은 정도에 기초할 수 있다. 예를 들어, 주방에서 발화된 발언을 제공하는 사용자는 적어도 집의 다른 방에 있는 다른 어시스턴트 디바이스에 비해 주방의 어시스턴트 디바이스가 특정한 액션을 수행하게 할 가능성이 클 것이다. 추가적으로 또는 대안적으로, 자동화된 어시스턴트는 어떤 어시스턴트 디바이스가 발화된 발언을 확인했는지에 따라 사용자의 집에 있는 어시스턴트 디바이스의 집합으로부터 후보 어시스턴트 디바이스를 선택할 수 있다. 그 후, 자동화된 어시스턴트는 각 후보 어시스턴트 디바이스가 발화된 발언을 들은 정도를 비교하고, 발화된 발언을 정도가 가장 높은 어시스턴트 디바이스를 선택할 수 있다.
예를 들어, 자동화된 어시스턴트는 후보 어시스턴트 디바이스가 발화된 발언을 전혀 들었는지 여부에 따라 후보 어시스턴트 디바이스를 선택한 후, 각 어시스턴트 디바이스가 음성을 들은 볼륨 레벨을 식별할 수 있다. 자동화된 어시스턴트는 최고로 결정된 볼륨 레벨에 기초하여 허용 오차 레벨을 결정할 수 있으며, 고려 중인 후보 어시스턴트 디바이스의 수를 더욱 줄일 수 있다. 대응하는 결정된 볼륨 레벨이 허용 오차 내에 있는 나머지 후보 어시스턴트 디바이스는 추가로 분석되어 요청된 액션을 수행하는데 가장 적합한 어시스턴트 디바이스를 식별할 수 있다. 예를 들어, 사용자는 음악이 타겟 어시스턴트 디바이스에서 재생되도록 요청하는 발화된 발언을 제공할 수 있지만, 그 타겟 어시스턴트 디바이스는 발화된 발언을 가장 크게 들은 어시스턴트 디바이스가 아닐 수 있다. 그러나, 타겟 어시스턴트 디바이스는 특정한 임계 허용 오차 내에서 발화된 발언이 수신되었음을 확인한 후보 어시스턴트 디바이스 그룹에 속할 수 있다. 후보 어시스턴트 디바이스에 대한 식별자는 추가 데이터(예: 컨텍스트 데이터)를 사용하여 요청된 액션을 수행하기 위한 사용자 최선호 어시스턴트 디바이스를 결정하기 위해 요청된 액션(예: 음악 재생)과 관련된 하나 이상의 동적 규정과 비교될 수 있다.
일부 구현예에서, 특정한 발화된 발언을 제공할 때 사용자의 궤적이 하나 이상의 동적 규정에 대해 식별될 수 있다. 이러한 방식으로, 발화된 발언을 제공하면서 움직이는 사용자의 궤적은 사용자에 의해 요청된 액션을 수행할 어시스턴트 디바이스를 식별하는 제한 요소가 될 수 있다. 예를 들어, 동적 규정은 사용자가 집에서 걸을 때, 음악이 제1 어시스턴트 디바이스에서 재생되고 알람이 제2 어시스턴트 디바이스에서 울릴 때 "어시스턴트, 중지"와 같은 발화된 발언을 프로세싱하는 방법을 표시할 수 있다. 알람은 일정 시간 동안 오븐이 켜져 있는 것과 같이 주의가 필요한 무언가와 연관될 수 있기 때문에, 사용자는 "중지" 요청을 제공할 때 알람 소리의 소스를 향해 걸어온 이력을 가질 수 있다. 동적 규정은 사용자가 실제로 알람을 중지하려고 할 때 음악이 사용자에 의해 중지되는 것을 방지하기 위해 사용자의 학습된 습관을 캡처할 수 있다.
일부 구현예에서, 동적 규정은 특정한 발화된 발언의 컨텍스트와 연관된 컨텍스트 데이터를 입력으로 수신하도록 구성된 하나 이상의 기계 학습 모델에 따라 동작할 수 있다. 예를 들어, 동적 규정에 의해 표시되는 출력을 도출하기 위해 컨텍스트 데이터가 기계 학습 모델에 제공될 수 있다. 컨텍스트 데이터는 집의 레이아웃, 집에 있는 한 명 이상의 사용자에 대한 식별자, 집에 있는 하나 이상의 어시스턴트 디바이스에 대한 식별자, 집에 있는 각 어시스턴트 디바이스의 위치, 집에서 각 방에 대응하는 인접 데이터, 집에 있는 각 사람의 위치, 하루 중 시간, 집에 있는 각 디바이스의 상태, 발화된 발언에 기초한 오디오로부터 도출된 음성 특성, 각 디바이스에 의해 수행되고 있는 진행중인 액션 유형(예를 들어, 수동적 액션, 능동적 액션 등) 및/또는 사용자가 특정한 발화된 발언을 제공하는 컨텍스트를 설명할 수 있는 임의의 기타 데이터를 특성화할 수 있다. 이러한 방식으로, 각 어시스턴트 디바이스는 특정한 액션을 수행하기 위해 특정 자동화된 어시스턴트 디바이스에 대한 사용자의 선호도의 변화에 매끄럽게 적응할 수 있다.
궁극적으로 발화된 발언에 의해 특정된 액션을 수행할 어시스턴트 디바이스를 선택하는 프로세스는 어시스턴트 디바이스와 별도의 네트워크에서 동작하는 하나 이상의 서버 디바이스와 같은 하나 이상의 원격 컴퓨팅 디바이스에서 실행될 수 있다. 즉, 액션을 수행하기 위해 선호되는 어시스턴트 디바이스를 선택하는 프로세스는 특정한 서버 디바이스 또는 선호하는 어시스턴트 디바이스를 식별하기 위한 입력을 프로세싱할 지정된 서버 디바이스의 공존 클러스터를 선택하는 것을 포함할 수 있다. 예를 들어, 각각의 어시스턴트 디바이스는 각각의 어시스턴트 디바이스 또는 각 어시스턴트 디바이스와 연관된 서버 디바이스의 공존 클러스터에 상태 정보를 제공할 수 있다. 각 어시스턴트 디바이스는 하나 이상의 상이한 계정 및/또는 하나 이상의 상이한 사용자와 연관되는 결과로서 각 어시스턴트 디바이스는 상이한 서버 디바이스와 연관될 수 있다. 따라서, 자동화된 어시스턴트에 대한 액션의 위임을 간소화하기 위해, 다수의 어시스턴트 디바이스에서 수신되는 특정한 발화된 발언에 응답하도록 다른 서버 디바이스에 대해 특정한 서버 디바이스를 선택할 수 있다. 예를 들어, 제1 어시스턴트 디바이스는 제1 서버 디바이스에 상태 정보를 제공할 수 있고, 제2 어시스턴트 디바이스는 제2 서버 디바이스에 다른 상태 정보를 제공할 수 있다. 상태 정보를 프로세싱하고, 제1 자동화된 어시스턴트가 가장 큰 발화된 발언을 듣는 것에 적어도 기초하여 타겟 어시스턴트 디바이스를 선택하기 위해 제1 서버 디바이스가 선택된 서버 디바이스로서 지정될 수 있다. 그 후, 제2 서버 디바이스 및/또는 제2 어시스턴트 디바이스는 제1 서버 디바이스가 선택된 서버 디바이스로 지정되었음을 결정하고, 다른 상태 정보 및/또는 발화된 발언과 연관된 다른 데이터를 제1 서버 디바이스에 포워딩할 수 있다. 그 다음, 제1 서버 디바이스는 발화된 발언으로부터 추론된 액션을 수행할 어시스턴트 디바이스 중 하나를 지정하기 위해 발화된 발언과 연관된 컨텍스트 데이터를 포함할 수 있는 상태 정보를 사용할 수 있다.
본 개시 내용의 구현예는 부정확한 디바이스 트리거링 인스턴스의 수가 감소되도록 특정한 환경에서 디바이스 그룹의 제어를 개선하는 방법을 제공한다. 이로 인해 사용자 명령의 결과가 사용자의 의도에 대응하는 것을 보장하는 것에 더하여, 잘못된 디바이스 트리거링 실행과 연관된 기술 리소스의 낭비가 줄어들게 한다. 이러한 리소스의 낭비는 수행될 필요가 없는 특정한 기능을 수행하도록 디바이스에 지시하는 것과 연관된 통신 오버 헤드, 제어될 것이 의도되지 않은 디바이스에서 특정한 기능을 활성화함으로써 소비되는 전력, 요구되지 않은 특정한 상태에 디바이스를 대기하게 함으로써 소비되는 메모리 및/또는 전력을 포함하나, 이에 한정되지 않는다. 올바른 디바이스 트리거링의 인스턴스는 더 빠르게 발생하여 자동화된 어시스턴트가 더 응답적으로 작동할 수 있게 보장한다.
디바이스 제어가 특정한 환경에 적합한 동적 기반으로 달성되도록 복수의 디바이스에 대한 컨텍스트 정보를 고려함으로써 효율성이 더욱 보장된다.
동적 규정의 데이터베이스를 트레이닝함으로써, 시스템이 사용자의 행동을 학습하여 디바이스 제어가 달성될 수 있는 효율성을 향상시키면서, 잘못된 디바이스 트리거링의 인스턴스를 더욱 줄일 수 있도록 보장하며, 디바이스 제어의 향후 충돌은 최대한 효과적으로 해결될 것이다.
상기 설명은 본 개시의 일부 구현예의 개요로서 제공된다. 이러한 구현예 및 기타 구현예에 대한 추가 설명은 아래에서 더 자세히 설명된다.
일부 구현예에서, 하나 이상의 프로세서에 의해 구현되는 방법은 사용자의 발화된 발언을 캡처하는 오디오 데이터를 수신하는 단계를 포함하며, 상기 발화된 발언은 자동화된 어시스턴트를 통해 수행될 수정 액션에 대한 요청을 포함하고, 상기 자동화된 어시스턴트를 통해 상기 수정 액션을 각각 수행할 수 있는 둘 이상의 컴퓨팅 디바이스 중 적어도 하나에 의해 수신된다. 상기 방법은 상기 발화된 발언을 캡처하는 상기 오디오 데이터를 사용하여, 상기 수정 액션이: 상기 둘 이상의 컴퓨팅 디바이스 중 제1 디바이스에서 수행되는 제1 진행중인 액션, 및 상기 둘 이상의 컴퓨팅 디바이스 중 제2 디바이스에서 수행되는 제2 진행중인 액션 각각을 수정할 수 있음을 결정하는 단계를 포함한다. 또한 방법은 상기 수정 액션이 제1 진행중인 액션 및 제2 진행중인 액션 둘 모두를 수정할 수 있다는 결정에 기초하여, 상기 수정 액션에 대응하는 저장된 규정을 식별하는 단계를 포함하며, 상기 저장된 규정은 상기 수정 액션의 수행의 컨텍스트 종속성을 특성화한다. 상기 방법은 상기 저장된 규정을 식별하는 것에 기초하여, 상기 저장된 규정과 연관된 컨텍스트 데이터에 액세스하는 단계를 포함하며, 상기 컨텍스트 데이터는 제1 진행중인 액션의 제1 유형 및 제2 진행중인 액션의 제2 유형을 특성화한다. 또한 상기 방법은 상기 컨텍스트 데이터 및 상기 저장된 규정에 기초하여, 상기 수정 액션이 상기 자동화된 어시스턴트를 통해 수행될 상기 둘 이상의 컴퓨팅 디바이스 중 타겟 컴퓨팅 디바이스를 결정하는 단계를 포함한다. 상기 방법은 상기 액션이 제어될 상기 타겟 컴퓨팅 디바이스를 결정하는 것에 기초하여, 상기 수정 액션으로 하여금 상기 자동화된 어시스턴트를 통해 상기 타겟 컴퓨팅 디바이스에서 수행되게 하는 단계를 더 포함한다.
일부 구현예에서, 상기 저장된 규정을 결정하는 단계는 상기 자동화된 어시스턴트에 액세스 가능한 다수의 상이한 규정으로부터 상기 저장된 규정을 식별하는 것을 포함하고, 상기 다수의 상이한 규정은 상기 수정 액션을 수행하는 상기 자동화된 어시스턴트를 요청하는 상기 사용자의 하나 이상의 이전 인스턴스에 기초하여 결정된다. 일부 구현예에서, 상기 저장된 규정은 상기 사용자로부터 상기 자동화된 어시스턴트에 의해 이전에 수신된 하나 이상의 교정 발화된 발언에 기초하여 결정되고, 상기 하나 이상의 교정 발화된 발언 각각은 상기 자동화된 어시스턴트를 통해 부정확하게 실행되는 상기 수정 액션의 대응하는 이전 인스턴스에 후속하여 상기 수정 발화된 발언과 같이 상기 사용자에 의해 제공된다. 일부 구현예에서, 상기 제1 진행중인 액션은 상기 제1 디바이스의 스피커를 통해 가청 소리를 제공하는 것을 포함한다.
일부 구현예에서, 상기 컨텍스트 데이터는 사용자가 상기 발화된 발언을 제공한 건물의 하나 이상의 방의 점유를 특성화하는 점유 데이터를 포함하고, 상기 저장된 규정은 상기 건물의 하나 이상의 방 중 특정한 방과 관련된 적어도 하나의 액션을 제한하는 사용자의 선호도를 표시한다. 일부 구현예에서, 상기 컨텍스트 데이터는 상기 건물의 하나 이상 방 중 특정한 방 내의 상기 사용자의 위치를 추가로 표시하며, 상기 저장된 규정은 상기 타겟 컴퓨팅 디바이스가 상기 자동화된 어시스턴트를 통해 상기 적어도 하나의 액션을 제어하게 하는 상기 사용자의 다른 선호도를 표시한다. 일부 구현예에서, 상기 수정 액션이 상기 타겟 컴퓨팅 디바이스에서 수행되게 하는 단계는 상기 둘 이상의 컴퓨팅 디바이스 중 상기 타겟 컴퓨팅 디바이스에서 특정한 진행중인 액션의 수행을 제한하는 것을 포함한다. 일부 구현예에서, 상기 적어도 하나의 액션이 상기 타겟 컴퓨팅 디바이스에서 수행되게 하는 단계는 오디오 데이터 또는 시각적 데이터의 진행중인 렌더링을 수정하는 것을 포함하고, 상기 컨텍스트 데이터는 상기 오디오 데이터 또는 시각적 데이터의 진행중인 렌더링이 초기화되었던 시간을 표시한다. 일부 구현예에서, 상기 컨텍스트 데이터는 상기 둘 이상의 컴퓨팅 디바이스의 각 컴퓨팅 디바이스에 대한 동작 상태를 식별하고, 상기 둘 이상의 컴퓨팅 디바이스의 각 컴퓨팅 디바이스는 상기 동작 상태를 프로세싱하기 위해 각각의 동작 상태 데이터를 서버 디바이스의 공통 공존 클러스터에 제공하도록 구성된다.
다른 구현예에서, 하나 이상의 프로세서에 의해 구현되는 방법은 다수의 클라이언트 디바이스와 통신하는 서버 디바이스에서, 사용자의 위치에 대해 배치된 다수의 클라이언트 디바이스의 활동 상태에 대응하는 상태 정보를 결정하는 단계를 포함하며, 상기 다수의 클라이언트 디바이스의 각 클라이언트 디바이스는 자동화된 어시스턴트에 엑세스 가능한다. 또한 방법은 상기 결정된 상태 정보에 따라 동작하는 상기 다수의 클라이언트 디바이스 중 적어도 하나의 클라이언트 디바이스에 사용자에 의해 제공된 발화된 발언에 기초한 데이터를 수신하는 단계를 포함하며, 상기 발화된 발언은 상기 다수의 클라이언트 디바이스 중 하나 이상의 클라이언트 디바이스에 의해 수행될 액션에 대한 요청을 포함한다. 상기 방법은 상기 발화된 발언에 기초한 데이터를 수신하는 것에 응답하여, 상기 다수의 클라이언트 디바이스와 연관된 저장된 동적 규정 세트에 액세스하는 단계를 포함하며, 상기 저장된 동적 규정 세트 중 적어도 하나의 저장된 규정은 상기 상태 정보에 대한 상기 하나 이상의 클라이언트 디바이스에 의한 상기 액션의 실행의 컨텍스트 종속성을 특성화한다. 또한 방법은 상기 저장된 동적 규정 세트 중 적어도 하나의 저장된 규정 및 상기 상태 정보에 기초하여, 상기 액션을 수행할 타겟 클라이언트 디바이스를 식별하는 단계를 포함하며, 상기 적어도 하나의 저장된 규정에 의해 특성화되는 컨텍스트 종속성은 상기 액션을 수행할 상기 타겟 클라이언트 디바이스를 지정하기 위한 적어도 하나의 볼륨-애그노스틱(volume-agnostic) 조건을 포함한다. 상기 방법은 상기 타겟 클라이언트 디바이스로 하여금 자동화된 어시스턴트를 통해 상기 액션을 수행하게 하는 단계를 포함한다.
일부 구현예에서, 상기 위치는 상기 서버 디바이스에 액세스 가능한 저장된 토폴로지에 의해 특성화된 다수의 방을 포함하고, 상기 방법은: 상기 사용자가 상기 적어도 하나의 클라이언트 디바이스를 포함하는 제1 방에 위치하고, 상기 타겟 클라이언트 디바이스가 상기 다수의 방 중 제2 방에 위치하는 것으로 컨텍스트 종속성을 특성화하는 현재 컨텍스트에 액세스하는 단계를 더 포함한다. 일부 구현예에서, 상기 방법은 상기 데이터를 수신함에 기초하여, 상기 발화된 발언이 모호한 유형의 발언 및 특정 유형의 발언으로부터 선택된 적어도 하나의 유형의 발언인지를 결정하는 단계를 더 포함하며, 상기 다수의 클라이언트와 연관된 저장된 상기 저장된 동적 규정 세트에 액세스하고, 상기 액션 수행할 타겟 클라이언트 디바이스를 식별하고 및 상기 타겟 컴퓨팅 디바이스가 상기 액션을 수행하게 하는 특정한 동작은 상기 발화된 발언이 상기 모호한 유형의 발언으로 결정되는 경우 수행된다.
일부 구현예들에서, 상기 방법은, 상기 발화된 발언이 특정 유형의 발언인 것으로 결정되는 경우: 상기 발화된 발언을 통해, 상기 사용자에 의해 구체적으로 식별된 지정된 클라이언트 디바이스를 식별하는 단계, 및 상기 지정된 클라이언트로 하여금 상기 다수의 클라이언트 디바이스와 연관된 상기 저장된 동적 규정 세트에 액세스하는 것을 우회하면서 상기 액션을 수행하게 하는 단계를 더 포함한다. 일부 구현예에서, 상기 수신된 발화된 발언을 상기 모호한 유형의 발언 및 상기 특정 유형의 발언으로부터 선택된 적어도 하나의 유형의 발언으로서 특성화하는 것은 상기 사용자와 상기 자동화된 어시스턴트 간의 이전 인터렉션에 기초한다.
다른 구현예에서, 하나 이상의 프로세서에 의해 구현되는 방법은 사용자와 연관된 다수의 클라이언트 디바이스로부터 상태 정보를 수신하는 단계를 포함하며, 상기 상태 정보는 상기 다수의 클라이언트 디바이스 중 하나 이상의 클라이언트 디바이스가 진행중인 액션을 수행하고 있음을 표시한다. 또한 방법은 상기 상태 정보를 수신함에 기초하여, 상기 다수의 클라이언트 디바이스에 제공된 상기 상태 정보를 프로세싱하기 위해 지정된 서버 디바이스의 공존 서버 클러스터를 선택하는 단계를 포함하며, 상기 지정된 서버 디바이스의 공존 클러스터는 서버 디바이스의 다수의 상이한 공존 클러스터로부터 선택된다. 상기 방법은 상기 사용자로부터 발화된 발언이 상기 다수의 클라이언트 디바이스의 클라이언트 디바이스의 자동화된 어시스턴트 인터페이스에서 수신되었다고 결정하는 단계, 상기 자동화된 어시스턴트 인터페이스는 상기 사용자와 상기 다수의 클라이언트 디바이스에 액세스 가능한 자동화된 어시스턴트 간의 인터렉션을 용이하게 하도록 구성되며, 그리고 상기 발화된 발언은 상기 자동화된 어시스턴트가 액션을 수행하게 하는 요청을 포함한다. 또한 방법은 상기 발화된 발언이 상기 클라이언트 디바이스의 자동화된 어시스턴트 인터페이스에서 사용자로부터 수신되었다는 결정에 응답하여, 상기 클라이언트 디바이스에서 생성된 오디오 데이터가 상기 지정된 서버 디바이스의 공존 클러스터에 제공되게 하는 단계, 상기 오디오 데이터는 상기 발화된 발언의 적어도 일부를 캡처한다. 상기 방법은 상기 클라이언트 디바이스가 상기 오디오 데이터를 상기 지정된 서버 디바이스의 공존 클러스터에 제공함에 기초하여, 상기 지정된 서버 디바이스의 공존 클러스터가 상기 사용자에 의해 요청된 상기 액션을 수행하기 위한 상기 다수의 클라이언트 디바이스 중 지정된 클라이언트 디바이스를 식별하게 하는 단계를 더 포함한다. 또한 방법은 상기 지정된 클라이언트 디바이스가 상기 사용자에 의해 요청된 상기 액션을 수행하게 하는 단계를 포함한다.
일부 구현예들에서, 상기 방법은 상기 상태 정보를 수신함에 응답하여, 위치 내의 다양한 클라이언트 디바이스의 배열을 표시하는 저장된 디바이스 토폴로지에 액세스하는 단계, 상기 다수의 클라이언트 디바이스는 상기 다양한 클라이언트 디바이스의 서브세트이며; 및 상기 다수의 클라이언트 디바이스가 상기 사용자가 자동화된 어시스턴트 인터페이스에 발화된 발언을 제공한 위치의 공용 방에 있다고 결정하는 단계를 더 포함한다. 일부 구현예에서, 상기 액션은 특정한 출력 양식에 대응하고, 상기 방법은: 상기 위치의 공용 방에 있는 상기 다수의 클라이언트 디바이스가 상기 요청에 의해 식별된 액션에 대응하는 상기 특정한 출력 양식을 포함한다고 결정하는 단계를 더 포함한다. 일부 구현예에서, 상기 다수의 클라이언트 디바이스 중 둘 이상의 클라이언트 디바이스는 상이한 사용자 계정과 연관되고, 상기 둘 이상의 클라이언트 디바이스는 상기 둘 이상의 클라이언트 디바이스가 상이한 사용자 계정과 연관된 것에 기초하여 서버 디바이스의 다수의 상이한 공존 클러스터와 통신하도록 구성된다. 일부 구현예에서, 각각의 클라이언트 디바이스에 의해 제공된 특정한 상태 정보는 상기 다수의 클라이언트 디바이스 중 각각의 클라이언트 디바이스가 진행중인 액션을 수행하고 있는지 여부를 표시하며, 상기 각각의 클라이언트 디바이스가 상기 진행중인 액션을 수행하고 있는 경우, 상기 상태 정보는 상기 진행중인 액션을 수행하기 위해 사용되는 상기 각각의 클라이언트 디바이스의 양식을 표시한다. 일부 구현예에서, 상기 지정된 클라이언트 디바이스는 상기 요청에 의해 식별된 액션과 상기 다수의 클라이언트 디바이스에 의해 제공된 상태 정보 사이의 대응을 표시하는 저장된 트레이닝 데이터에 따라 선택된다.
일부 구현예에서, 디바이스는 자동화된 어시스턴트와 통신하는 사용자를 지원하기 위해 수신되는 발화된 발언을 수신함에 응답하여, 신호를 생성하도록 구성된 오디오 인터페이스를 포함하며, 상기 발화된 발언은 상기 오디오 인터페이스 및 다른 클라이언트 디바이스의 다른 오디오 인터페이스 둘 모두에서 수신되며, 상기 다른 클라이언트 디바이스는 상기 자동화된 어시스턴트에 액세스 가능한 다수의 클라이언트 디바이스 중 하나인 클라이언트 디바이스이다. 상기 디바이스는 상기 발화된 발언을 또한 수신한 상기 다른 디바이스로부터 통신을 수신하도록 구성된 네트워크 인터페이스를 포함하며, 상기 다른 디바이스에 의해 제공되는 통신은 상기 다른 디바이스와 연관된 컨텍스트를 특성화하는 제1 컨텍스트 데이터를 포함한다. 상기 디바이스는 오디오 인터페이스에서 수신되는 발화된 발언과 연관된 다른 컨텍스트를 특성 짓는 제2 컨텍스트 데이터를 저장하도록 구성된 메모리를 더 포함할 수 있다. 상기 디바이스는 동작들을 수행하도록 구성된 하나 이상의 프로세서를 포함하며, 상기 동작들은: 상기 다수의 클라이언트 디바이스에 대한 순위를 결정하는 동작, 상기 순위는 상기 제1 컨텍스트 데이터에 기초한 적어도 제1 순위 및 상기 제2 컨텍스트 데이터에 기초한 제2 순위를 포함하고, 상기 순위 중 각 순위는 상기 자동화된 어시스턴트를 통해 상기 발화된 발언에 응답하기 위해 상기 다수의 클라이언트 디바이스 중 특정한 디바이스의 선택에 적어도 부분적으로 영향을 미치며, 및 상기 다수의 클라이언트 디바이스 중 후보 디바이스가 상기 순위 중 다른 순위와 구별되는 대응 순위를 갖는 경우: 상기 순위 중 대응 순위에 적어도 기초하여, 상기 자동화된 어시스턴트가 상기 후보 디바이스를 통해 상기 발화된 발언에 응답하게 하는 동작을 포함한다.
일부 구현예에서, 상기 네트워크 인터페이스는 상기 발화된 발언이 상기 오디오 인터페이스에서 수신되기 전에 상기 다른 디바이스로부터 통신을 수신하도록 추가로 구성된다. 일부 구현예에서, 상기 하나 이상의 프로세서에 의해, 순위를 결정하는 것은 상기 발화된 발언이 상기 오디오 인터페이스에서 수신되기 전 또는 상기 발화된 발언이 상기 오디오 인터페이스에서 수신되는 동안 수행된다. 일부 구현예에서, 상기 동작들은: 상기 발화된 발언이 상기 오디오 인터페이스에서 수신되기 전에 상기 제2 컨텍스트 데이터를 생성하는 동작, 및 상기 네트워크 인터페이스가 상기 다른 디바이스에 별도의 통신을 제공하게 하는 동작을 더 포함하며, 상기 다른 디바이스는 상기 자동화된 어시스턴트를 통해 상기 발화된 발언에 응답하도록 상기 다른 디바이스에 작업이 주어질(tasking) 것인지 여부를 결정하도록 구성된다. 일부 구현예에서, 상기 동작들은: 별도의 통신을 상기 네트워크 인터페이스와 통신하지만 상기 발화된 발언을 인식하지 않은 별도의 디바이스에 송신하는 동작, 및 상기 자동화된 어시스턴트를 통해 상기 발화된 발언에 응답하도록 상기 별도의 디바이스에 작업이 주어질 것인지 여부를 결정하는 동작을 더 포함한다.
일부 구현예에서, 상기 동작들은: 상기 별도의 디바이스의 동작 상태를 특성화하는 제3 컨텍스트 데이터를 생성하는 동작을 더 포함한다. 일부 구현예에서, 상기 동작들은: 상기 다수의 클라이언트 디바이스 중 둘 이상의 클라이언트 디바이스가 각각의 순위를 가지며 상기 순위가 상기 둘 이상의 클라이언트 디바이스 간의 동 순위인 경우: 상기 둘 이상의 클라이언트 디바이스의 특성을 특성화하는 보충 컨텍스트 데이터 결정하는 동작, 및 상기 보충 컨텍스트 데이터에 기초하여, 순위가 상기 다수의 클라이언트 디바이스 중 다른 클라이언트 디바이스의 순위와 구별되는 각각의 클라이언트 디바이스에 유리하게 동 순위가 해소되게 하는 동작을 더 포함한다.
일부 구현예에서, 하나 이상의 프로세서에 의해 구현되는 방법은 발화된 발언이 제1 클라이언트 디바이스에서 수신되었다고 결정하는 단계를 포함하며, 상기 발화된 발언은 상기 제1 클라이언트 디바이스의 어시스턴트 인터페이스를 통해 액세스 가능한 자동화된 어시스턴트와의 통신을 지원하기 위해 사용자에 의해 제공되며, 상기 발화된 발언은 상기 제1 클라이언트 디바이스를 포함하는 다수의 클라이언트 디바이스에 의해 수신된다. 또한 방법은 상기 발화된 발언을 수신한 제2 클라이언트 디바이스로부터, 상기 발화된 발언을 수신한 상기 제2 클라이언트 디바이스에 응답하여 통신을 수신하는 단계를 포함하며, 상기 제2 클라이언트 디바이스에 의해 제공되는 통신은 상기 제2 클라이언트 디바이스와 연관된 컨텍스트를 특성화하는 제1 컨텍스트 데이터를 포함한다. 상기 방법은 상기 제1 클라이언트 디바이스와 연관된 다른 컨텍스트를 특성화하는 다른 컨텍스트 데이터를 결정하는 단계를 더 포함한다. 또한 방법은 상기 다수의 클라이언트 디바이스에 대한 순위를 결정하는 단계를 포함하고, 상기 순위는 상기 제1 컨텍스트 데이터에 기초한 적어도 제1 순위 및 상기 제2 컨텍스트 데이터에 기초한 제2 순위를 포함하고, 상기 순위 중 각 순위는 상기 발화된 발언에 응답하기 위해 상기 다수의 클라이언트 디바이스 중 특정한 클라이언트 디바이스의 선택에 적어도 부분적으로 영향을 미친다. 상기 방법은, 상기 다수의 클라이언트 디바이스 중 후보 클라이언트 디바이스가 상기 순위 중 다른 순위와 구별되는 대응 순위를 갖는 경우: 상기 순위 중 대응 순위에 적어도 기초하여, 상기 자동화된 어시스턴트가 상기 후보 디바이스를 통해 상기 발화된 발언에 응답하게 하는 단계를 포함한다.
일부 구현예에서, 상기 통신은 상기 제1 클라이언트 디바이스에 의한 상기 발화된 발언 이전에 상기 제2 클라이언트 디바이스로부터 수신된다. 일부 구현예에서, 상기 순위를 결정하는 단계는 상기 발화된 발언이 상기 제1 클라이언트 디바이스에서 수신되기 전 또는 상기 발화된 발언이 상기 제1 클라이언트 디바이스에서 수신되는 동안 수행된다. 일부 구현예에서, 상기 방법은 상기 발화된 발언이 상기 오디오 인터페이스에서 수신되기 전에 상기 제2 컨텍스트 데이터를 생성하는 단계, 및 상기 네트워크 인터페이스가 상기 다른 디바이스에 별도의 통신을 제공하게 하는 단계를 더 포함하며, 상기 다른 디바이스는 상기 자동화된 어시스턴트를 통해 상기 발화된 발언에 응답하도록 상기 다른 디바이스에 작업이 주어질(tasking) 것인지 여부를 결정하도록 구성된다. 일부 구현예들에서, 상기 방법은 별도의 통신을 상기 제1 클라이언트 디바이스와 통신하지만 상기 발화된 발언을 인식하지 않은 별도의 디바이스에 송신하는 단계, 및 상기 자동화된 어시스턴트를 통해 상기 발화된 발언에 응답하도록 상기 별도의 디바이스에 작업이 주어질 것인지 여부를 결정하는 단계를 더 포함한다. 일부 구현예에서, 상기 방법은 상기 별도의 디바이스의 동작 상태를 특성화하는 제3 컨텍스트 데이터를 생성하는 단계를 더 포함한다. 일부 구현예에서, 상기 방법은 상기 다수의 클라이언트 디바이스 중 둘 이상의 클라이언트 디바이스가 각각의 순위를 가지며 상기 순위가 상기 둘 이상의 클라이언트 디바이스 간의 동 순위인 경우: 상기 둘 이상의 클라이언트 디바이스의 특성을 특성화하는 보충 컨텍스트 데이터 결정하는 단계, 및 상기 보충 컨텍스트 데이터에 기초하여, 순위가 상기 다수의 클라이언트 디바이스 중 다른 클라이언트 디바이스의 순위와 구별되는 각각의 클라이언트 디바이스에 유리하게 동 순위가 해소되게 하는 단계를 더 포함한다.
다른 구현예에서, 하나 이상의 프로세서에 의해 구현되는 방법은 데이터베이스에 복수의 동적 규정을 저장하는 단계를 포함하며, 각 동적 규정은 사용자 명령과 연관되며, 상기 사용자 명령에 대응하는 액션을 수행하기 위해 복수의 제어된 디바이스 각각과 상기 사용자 및/또는 상기 각각의 제어된 디바이스를 포함하는 복수의 클라이언트 디바이스 중 적어도 하나에 대한 컨텍스트 정보 간의 대응을 특정한다. 또한 방법은 저장된 복수의 규정을 트레이닝하는 단계를 포함하며, 상기 트레이닝하는 단계는: 복수의 클라이언트 디바이스 중 하나로부터 사용자 명령을 표현하는 제1 입력을 수신하는 단계, 상기 수신된 사용자 명령에 대응하는 저장된 복수의 동적 규정 중 하나를 식별하는 단계, 상기 사용자 및/또는 상기 제어된 디바이스를 포함하는 복수의 클라이언트 디바이스 중 적어도 하나에 대한 컨텍스트 정보를 요청하고 획득하는 단계,
상기 저장된 동적 규정과 연관된 상기 컨텍스트 정보에 기초하여, 상기 복수의 클라이언트 디바이스 중 클라이언트 디바이스를 상기 제어된 디바이스로 식별하는 단계, 상기 식별된 클라이언트 디바이스에 의해 상기 식별된 동적 규정의 실행 개시하는 단계, 상기 복수의 클라이언트 디바이스 중 하나로부터 상기 사용자 명령의 업데이트를 표현하는 제2 입력을 수신하는 단계, 상기 수정은 제어될 업데이트된 클라이언트 디바이스를 특정하며, 및 상기 업데이트된 클라이언트 디바이스와 상기 획득된 컨텍스트 정보 간의 대응을 특정하기 위해 상기 데이터베이스에 저장된 동적 규정을 업데이트하는 단계에 의해 트레이닝된다. 또한 방법은 상기 업데이트된 클라이언트 디바이스에 의해 상기 식별된 동적 규정의 실행을 개시하는 단계를 포함한다.
다른 구현예들은 하나 이상의 프로세서(예를 들어, 중앙 프로세싱 유닛(CPU), 그래픽 프로세싱 유닛(GPU) 및/또는 텐서 프로세싱 유닛(TPU))에 의해 실행가능한 명령어들을 저장하는 비일시적 컴퓨터 판독가능 저장 매체를 포함할 수 있으며, 상기 명령어들은 본 명세서에 기술된 하나 이상의 방법들과 같은 방법을 수행한다. 또 다른 구현예는 하나 이상의 컴퓨터들 및/또는 본 명세서에 기술된 방법들 중 하나 이상과 같은 방법을 수행하기 위해 저장된 명령어들을 실행하도록 동작가능한 하나 이상의 프로세서들을 포함하는 하나 이상의 로봇들의 시스템을 포함할 수 있다.
본 명세서에서 매우 상세히 기술된 상기 개념들 및 추가적 개념들의 모든 조합들은 본 명세서에 개시된 본 발명의 일부인 것으로 고려되어야 한다. 예를 들면, 본 명세서의 끝부분에 나타나는 청구된 발명의 모든 조합들은 본 명세서에 개시된 본 발명의 일부인 것으로 고려된다.
도 1a는 다수의 상이한 어시스턴트 디바이스를 포함하는 위치 내에서 발화된 발언을 제공하는 사용자의 사시도를 도시한다.
도 1b는 각 디바이스가 사용자에 의해 제공되는 발화된 발언에 어떻게 응답할 수 있는지에 대한 사시도를 도시한다.
도 2는 의도하지 않은 디바이스가 발화된 발언에 잘못 응답하게 하는 것을 방지하기 위해, 발화된 발언에 응답하기 위한 다수의 후보 디바이스로부터 타겟 디바이스를 선택하는 시스템을 도시한다.
도 3a 및 도 3b는 특정한 발화된 발언이 응답될 타겟 클라이언트 디바이스를 결정할 서버를 선택하기 위한 시스템 다이어그램을 도시한다.
도 4a 및 도 4b는 사용자로부터의 발화된 발언에 응답하기 위한 클라이언트 디바이스의 선택의 중재가 로컬에서 수행되도록 하는 구현예를 도시한다.
도 5a 및 도 5b는 다수의 클라이언트 디바이스에서 수신되었던 발화된 발언에 응답하여, 클라이언트 디바이스에 의해 수행되는 진행중인 액션을 수정하기 위한 방법을 도시한다.
도 6은 다수의 클라이언트 디바이스로부터의 상태 정보를 프로세싱하고 상기 상태 정보의 프로세싱 결과에 기초하여 액션을 수행할 타겟 클라이언트 디바이스를 선택하기 위해 서버 디바이스의 공존 클러스터를 선택하는 방법을 도시한다.
도 7는 예시적 컴퓨터 시스템의 블록도이다.
도 1b는 각 디바이스가 사용자에 의해 제공되는 발화된 발언에 어떻게 응답할 수 있는지에 대한 사시도를 도시한다.
도 2는 의도하지 않은 디바이스가 발화된 발언에 잘못 응답하게 하는 것을 방지하기 위해, 발화된 발언에 응답하기 위한 다수의 후보 디바이스로부터 타겟 디바이스를 선택하는 시스템을 도시한다.
도 3a 및 도 3b는 특정한 발화된 발언이 응답될 타겟 클라이언트 디바이스를 결정할 서버를 선택하기 위한 시스템 다이어그램을 도시한다.
도 4a 및 도 4b는 사용자로부터의 발화된 발언에 응답하기 위한 클라이언트 디바이스의 선택의 중재가 로컬에서 수행되도록 하는 구현예를 도시한다.
도 5a 및 도 5b는 다수의 클라이언트 디바이스에서 수신되었던 발화된 발언에 응답하여, 클라이언트 디바이스에 의해 수행되는 진행중인 액션을 수정하기 위한 방법을 도시한다.
도 6은 다수의 클라이언트 디바이스로부터의 상태 정보를 프로세싱하고 상기 상태 정보의 프로세싱 결과에 기초하여 액션을 수행할 타겟 클라이언트 디바이스를 선택하기 위해 서버 디바이스의 공존 클러스터를 선택하는 방법을 도시한다.
도 7는 예시적 컴퓨터 시스템의 블록도이다.
도 1a는 다수의 상이한 어시스턴트 디바이스를 포함하는 위치(138) 내에서 발화된 발언(140)을 제공하는 사용자(116)의 사시도(100)를 도시한다. 각 어시스턴트 디바이스는 각 어시스턴트 디바이스에 의해 수행되는 액션에 따라 다양한 상태를 나타내도록 개별적으로 동작할 수 있다. 특정한 발화된 발언이 의도된 타겟 디바이스에만 영향을 미치도록 하기 위해, 각 어시스턴트 디바이스는 하나 이상의 동적 규정에 따라 동작할 수 있다. 동적 규정(dynamic regulation)은 특정한 발화된 발언과 연관된 주어진 특정 컨텍스트가 주어지면, 특정한 발화된 발언 또는 요청에 특정한 디바이스가 어떻게 반응할 지를 결정할 수 있는 규칙 또는 명령일 수 있다. 동적 규정은 사용자 선호도의 변경, 한 위치 내의 디바이스 수의 변경 및/또는 디바이스가 동작 가능한 환경에 영향을 미칠 수 있는 기타 기능에 따라 시간이 지남에 따라 수정될 수 있다.
예를 들어, 도 1a에 제공된 바와 같이, 위치(138)는 차량(114)을 포함할 수 있으며, 차량(114)은 사용자가 차량(114)을 제어하는 것을 도울 수 있는 어시스턴트 디바이스(104)를 포함할 수 있다. 위치(138)는 또한 터치 및/또는 오디오 입력을 수신하고 오디오 및/또는 시각적 출력을 제공할 수 있는 독립형 어시스턴트 디바이스일 수 있는 어시스턴트 디바이스(118)를 포함할 수 있다. 추가적으로, 위치(138)는 사용자(116)가 텔레비전(128)의 어시스턴트 인터페이스(132)를 통해 텔레비전 자동화된 어시스턴트(130)에 액세스하게 할 수 있는 텔레비전(128)을 포함할 수 있다.
텔레비전(128), 어시스턴트 디바이스(118) 및 어시스턴트 디바이스(104) 각각은 각각 자동화된 어시스턴트를 포함할 수 있다. 예를 들어, 어시스턴트 디바이스(104)는 어시스턴트 인터페이스(108)를 통해 사용자(116)에 의해 액세스될 수 있는 차량 자동화된 어시스턴트(106)를 포함할 수 있다. 또한, 어시스턴트 디바이스(118)는 어시스턴트 인터페이스(122)를 통해 액세스될 수 있는 클라이언트 자동화된 어시스턴트(120)를 포함할 수 있다. 어시스턴트 인터페이스(122)는 마이크로폰, 스피커, 디스플레이 패널, 터치 디스플레이 패널, 카메라, 키보드와 같은 촉각 인터페이스 및/또는 사용자가 컴퓨터 디바이스를 제어할 수 있는 기타 인터페이스 중 하나 이상을 포함할 수 있다. 일부 구현예에서, 사용자(116)는 다른 디바이스의 어시스턴트 인터페이스를 사용하여 자동화된 어시스턴트 및/또는 디바이스를 제어할 수 있다. 예를 들어, 차량(114), 어시스턴트 디바이스(118) 및 텔레비전(128) 각각은 Wi-Fi 네트워크와 같은 공통 로컬 네트워크에 연결되어 둘 이상의 디바이스 및/또는 애플리케이션 간에 네트워크를 통해 데이터를 전송되게 할 수 있다.
본 명세서에서 논의되는 일부 구현예에서, 위치(138)에 있는 각각의 디바이스는 동적 규정 세트 중 하나 이상의 동적 규정에 따라 동작할 수 있다. 지시가 다른 디바이스에서 부적절하게 실행되지 않고, 사용자가 액션이 수행되게 하려는 디바이스가 액션을 수행하기 위한 지시를 수신하는 것을 보장하기 위해 동적 규정이 제공될 수 있다. 비-제한적인 일례로서, 사용자(116)는 위치(138)의 거실에 위치될 수 있는 텔레비전(128)을 통해 친구와 함께 영화를 시청할 수 있다. 그들이 영화를 보는 동안, 어시스턴트 디바이스(118)는 타이머를 실행하는 능동적 액션을 수행할 수 있다. 타이머는 예를 들어, 사용자(116)가 오븐에서 굽고 있는 음식의 상태를 모니터링하기 위한 것일 수 있다. 텔레비전(128) 및 어시스턴트 디바이스(118) 둘 모두에 의해 수행되는 액션은 각각의 디바이스 각각 또는 디바이스 각각과 통신하는 서버 디바이스에서 액세스가능한 및/또는 저장되는 액션 데이터에 의해 특성화될 수 있다. 진행중인 액션이 각각의 디바이스에서 초기화, 수행 및/또는 완료되는 경우, 각각의 디바이스에 대응하는 액션 데이터는 각 디바이스의 동작 상태 및/또는 각 디바이스의 하나 이상의 액션을 표시하도록 업데이트될 수 있다.
전술한 예에 따르면, 타이머가 완료되면, 어시스턴트 디바이스(118)는 알람 소리를 내는 것과 같은 출력(142)을 제공할 수 있다. 타이머 완료에 응답하여, 액션 데이터(124)는 어시스턴트 디바이스(118)의 동작 상태를 표시하도록 업데이트될 수 있다. 예를 들어, 동작 상태는 어시스턴트 디바이스(118)가 "알람을 울림"이고, 타이머의 동작 상태가 "타이머 완료"임을 표시할 수 있다. 액션 데이터(124)는 하나 이상의 동작 상태(126)(예를 들어, STATUS(N), 여기서 N은 임의의 양의 정수)를 식별할 수 있다.
알람이 울릴 때 사용자(116)가 영화를 보고 있기 때문에, 사용자(116)는 텔레비전(128)에서 발생하는 액션(예를 들어, 상태(136)에 의해 표시되는 비디오 및/또는 오디오 재생) 및 차량(114)에서 발생하는 액션(예를 들어, 상태 정보(112)에 의해 표시되는 차량 충전 및 주차 상태 유지)을 멈추지 않고 알람을 멈추기를 원할 수 있다. 예를 들어, 어시스턴트 디바이스(118)의 동작 상태를 수정하기 위해, 116의 사용자는 발화된 발언(140) "어시스턴트, 중지"를 제공할 수 있다. 각각의 어시스턴트 디바이스는 도 1b에 표시된 바와 같이 발화된 발언(140)을 확인할 수 있다. 구체적으로, 도 1b는 각 디바이스가 사용자(116)에 의해 제공되는 발화된 발언(140)에 어떻게 응답할 수 있는지에 대한 사시도(144)를 도시한다. 발화된 발언 확인에 응답하여, 각 디바이스의 각 자동화된 어시스턴트는 발화된 발언이 수신되었음을 나타내도록 각각의 상태 정보가 업데이트되게 할 수 있다. 예를 들어, 어시스턴트 디바이스(104)는 사용자 입력이 수신되었음을 표시하기 위해 자신의 상태 정보(112)를 업데이트할 수 있다. 유사하게, 텔레비전(128) 및 어시스턴트 디바이스(118)는 발화된 입력이 수신되었음을 표시하기 위해 그들의 각각의 상태 정보를 업데이트할 수 있다. 그러나 발화된 발언에 의해 잘못 영향을 받는 장치가 없도록 하기 위해 각 디바이스는 하나 이상의 동적 규정 및/또는 동적 규정 세트에 따라 동작할 수 있다.
일부 구현예에서, 동적 규정은 사용자의 습관을 포함하고, 사용자(116)로부터 허가를 받아 생성되는 트레이닝 데이터에 기초하여 생성될 수 있다. 예를 들어, 하나 이상의 동적 규정은 사용자 요청 및/또는 이전 사용자 요청이 제공되었을 때 명백했던 디바이스 동작 상태의 이전 인스턴스를 특성화하는 컨텍스트 데이터와 연관될 수 있다. 따라서 하나 이상의 어시스턴트 디바이스에 의해 수집된 컨텍스트 데이터는 하나 이상의 동적 규정과 함께 사용되어, 사용자가 인터렉션하려는 타겟 디바이스 또는 다수의 타겟 디바이스를 결정할 수 있다. 예를 들어, 사용자는 어시스턴트 디바이스(118)가 알람을 울리고, 텔레비전(128)이 비디오를 재생하고, 차량(114)이 충전 중일 때 "어시스턴트, 중지"라는 발화된 발언을 이전에 제공했을 수 있다. "어시스턴트, 중지"라는 발화된 발언에 응답하여 알람을 울리는 것 이외의 액션이 잘못 중지되었던 경우, 사용자는 "아니, 알람을 중지"와 같은 교정 발화된 발언을 제공했을 수 있다. 교정 발화된 발언을 수신하는 자동화된 어시스턴트는 사용자의 교정 및/또는 선호도를 반영하기 위해 동적 규정이 생성 및/또는 업데이트되도록 할 수 있다. 구체적으로, 동적 규정은 사용자(116)가 수행하려는 액션(예: 액션 중지), 위치(138)에 있는 디바이스의 동작 상태 및/또는 사용자(116)가 인터렉션하려는 디바이스(예: 어시스턴트 디바이스(118))를 특성화할 수 있다.
일부 구현예에서, 동적 규정은 위치(138)의 점유 및/또는 위치(138) 내의 하나 이상의 디바이스의 현재 동작 상태를 특성화하는 컨텍스트 데이터에 기초할 수 있다. 예를 들어, 사용자(116)와 그들의 친구는 텔레비전(128)에서 영화를 보고 있을 수 있다. 영화가 진행되는 동안, 사용자(116)는 일어나서 자신의 주방에서 요리중인 무언가의 상태를 확인할 수 있다. 사용자(116)가 영화를 놓치지 않도록 하기 위해, 친구는 "어시스턴트, 중지"라는 발화된 발언을 제공함으로써 영화를 일시 중지하려고 할 수 있다. 발화된 발언이 수정될 액션 및/또는 영향을 받는 디바이스에 대해 모호하기 때문에, 발화된 발언을 수신한 자동화된 어시스턴트는 발화된 발언에 응답하는 방법을 결정하기 위해 동적 규정에 액세스할 수 있다. 구체적으로, 자동화된 어시스턴트는 "어시스턴트, 중지"라는 발화된 발언이 다수의 상이한 동적 규정에 대응한다고 결정할 수 있다. 추가적으로, 자동화된 어시스턴트는 발화된 발언의 음성 프로필이 다수의 상이한 동적 규정 중 하나 이상의 동적 규정과 연관된 "게스트" 음성 프로필에 대응한다고 결정할 수 있다. 친구/게스트가 "어시스턴트, 중지"라는 발화된 발언을 제공했던 이전 인스턴스를 특성화하는 트레이닝 데이터에 기초하여 하나 이상의 동적 규정이 생성될 수 있다. 이전 인스턴스 동안, 발화된 발언은 어떤 디바이스에도 영향을 미치지 않았으므로, 이에 응답하여, 사용자(116)는 "어시스턴트, 영화 일시 중지"라는 교정 발화된 발언을 제공했다. 친구가 자동화된 어시스턴트에게 무언가를 "중지"하도록 요청하고 디바이스는 응답하지 않으며, 사용자(116)가 영화를 "일시 중지"하게 한 이전 컨텍스트에 기초하여, 자동화된 어시스턴트는 사용자(116)의 이 선호도를 반영하기 위해 동적 규정을 업데이트하거나 생성할 수 있다. 구체적으로, 선호도는 사용자(116)와 친구가 위치(138)에 있는 경우, 텔레비전(128)에서 재생되는 영화를 일시 정지하도록 특정한 음성 프로파일을 갖는 친구에게 허가를 주는 것으로 특성화될 수 있다.
일부 구현예에서, 다수의 디바이스가 사용자(116)로부터 발화된 발언을 인식한 경우, 타겟 디바이스가 발화된 발언에 응답하여 생성된 음량 허용 오차에 기초하여 발화된 발언에 응답하기 위해 선택될 수 있다. 구체적으로, 수신된 발화에 대응하는 고유 음량 허용 오차가 생성될 수 있다. 위치(138)에 있는 각각의 로컬 자동화된 어시스턴트는 다수의 후보 타겟 디바이스를 공식화된 음량 허용 오차 내에 있는 볼륨으로 발화된 발언을 들은 디바이스로 감소시키기 위해 음량 허용 오차의 공식을 중재할 수 있다. 예를 들어, 어시스턴트 디바이스(104), 어시스턴트 디바이스(118) 및 텔레비전(128)이 발화된 발언 "어시스턴트, 중지"를 인식하는 것에 응답하여, 각 디바이스는 발화된 발언을 들은 볼륨을 결정하고, 결정된 볼륨을 각각의 다른 디바이스와 통신할 수 있다. 그 다음 각 디바이스에서 결정된 각 볼륨을 사용하여 음량 임계치를 공식화할 수 있다. 음량 임계치는 각 디바이스에서 액세스할 수 있는 기능에 따라 각 디바이스에 의해 생성될 수 있다.
각각의 특정한 디바이스는 특정한 디바이스의 결정된 볼륨을 공식화된 음량 임계치와 비교하여 해당 특정한 디바이스가 후보 타겟 디바이스인지 여부를 결정할 수 있다. 특정한 디바이스가 후보 타겟 디바이스가 아닌 경우, 특정한 디바이스는 더 이상 후보 타겟 디바이스가 아니라는 것을 다른 디바이스와 통신할 수 있다. 모든 디바이스가 결정된 볼륨을 음량 임계치와 비교한 후 하나의 디바이스만 후보 타겟 디바이스로 남아 있는 경우, 남은 유일한 디바이스는 자동화된 어시스턴트에 의해 타겟 컴퓨팅 디바이스로 지정될 수 있다. 그 다음 타겟 컴퓨팅 디바이스에 발화된 발언에 응답하는 작업이 주어질 수 있다. 그러나, 하나 이상의 후보 타겟 디바이스가 남아 있는 경우, 후보 타겟 디바이스 간의 "동률"을 깨기 위해 여기에서 논의된 임의의 구현예에 따라 하나 이상의 동적 규정이 이용될 수 있다.
도 2는 의도하지 않은 디바이스가 발화된 발언에 잘못 응답하게 하는 것을 방지하기 위해, 발화된 발언에 응답하기 위한 다수의 후보 디바이스로부터 타겟 디바이스를 선택하는 시스템(200)을 도시한다. 클라이언트 자동화된 어시스턴트(214)는 클라이언트 디바이스(202)(예를 들어, 단독형 스피커 디바이스, 디스플레이 디바이스, 퍼스널 컴퓨터, 이동식 컴퓨팅 디바이스, 차량)와 같은 하나 이상의 클라이언트 디바이스 및/또는 서버 디바이스와 같은 원격 컴퓨팅 디바이스(208)에서 제공된 어시스턴트 애플리케이션의 일부로서 동작할 수 있다. 사용자는 어시스턴트 인터페이스(204)를 통해 클라이언트 자동화된 어시스턴트(214)와 인터렉션할 수 있으며, 어시스턴트 인터페이스(110)는 마이크로폰, 카메라, 터치스크린 디스플레이, 사용자 인터페이스 및/또는 사용자와 애플리케이션 사이의 인터페이스를 제공할 수 있는 임의의 다른 디바이스일 수 있다. 예를 들어, 사용자는 어시스턴트 인터페이스에 구두, 텍스트 또는 그래픽 입력을 제공함으로써 클라이언트 자동화된 어시스턴트(214)를 초기화하여, 클라이언트 자동화된 어시스턴트(214)가 기능을 수행하게 한다(예를 들어, 데이터 제공, 주변 디바이스 제어, 에이전트에 액세스, 액션 초기화, 액션 중지, 액션 수정 등). 클라이언트 디바이스(202)는 디스플레이 디바이스를 포함하며, 이는 사용자가 터치 인터페이스를 통해 클라이언트 디바이스(202)의 애플리케이션(206)을 제어할 수 있게 하는 터치 입력 및/또는 제스처를 수신하기 위한 터치 인터페이스를 포함하는 디스플레이 패널일 수 있다. 다른 구현예에서, 컴퓨팅 디바이스(202)는 디스플레이 디바이스가 없을 수 있고, 따라서 그래픽 사용자 인터페이스를 제공하지 않고 청각적 어시스턴트 인터페이스 출력을 제공한다. 또한, 클라이언트 디바이스(202)는 사용자로부터 발화된 자연어 입력을 수신하기 위해 마이크로폰과 같은 사용자 인터페이스를 제공할 수 있다.
클라이언트 디바이스(202)는 인터넷과 같은 네트워크(234)를 통해 원격 컴퓨팅 디바이스(208)와 통신할 수 있다. 클라이언트 디바이스(202)는 클라이언트 디바이스(202) 각각에서 계산 리소스를 보존하기 위해 계산 작업을 원격 컴퓨팅 디바이스(208)로 오프로딩할 수 있다. 예를 들어, 원격 컴퓨팅 디바이스(208)는 서버 자동화된 어시스턴트(210)을 호스팅할 수 있고, 클라이언트 디바이스(202)는 하나 이상의 어시스턴트 인터페이스에서 수신된 입력을 원격 컴퓨팅 디바이스(208)에 전송할 수 있다. 그러나 일부 구현예에서, 자동화된 어시스턴트가 다수의 상이한 클라이언트 디바이스에서 호스팅될 수 있다. 다양한 구현예에서, 자동화된 어시스턴트의 모든 양태 전부 또는 그 이하가 다수의 상이한 클라이언트 디바이스 및/또는 서버 디바이스에서 구현될 수 있다. 이러한 구현예 중 일부에서, 자동화된 어시스턴트의 양태는 클라이언트 디바이스(202)의 로컬 어시스턴트 애플리케이션을 통해 구현되고, 서버 자동화된 어시스턴트(210)를 통해 자동화된 어시스턴트의 다른 양태를 구현하는 원격 컴퓨팅 디바이스(208)와 인터페이스한다. 원격 컴퓨팅 디바이스(208)는 복수의 스레드를 통해 복수의 사용자 및 연관된 어시스턴트 애플리케이션을 선택적으로 제공할 수 있다. 자동화된 어시스턴트의 모든 또는 일부 양태가 클라이언트(202)의 클라이언트 자동화된 어시스턴트를 통해 구현되는 구현예에서, 클라이언트 자동화된 어시스턴트(214)는 클라이언트 자동화된 어시스턴트(214)의 운영 체제와 별개인 애플리케이션(예를 들어, 운영 체제 "위에"에 설치된)일 수 있고, 또는 대안적으로 클라이언트 디바이스(102)의 운영 체제에 의해 직접 구현될 수 있다(예를 들어, 운영 체제의 애플리케이션이지만 운영 체제와 통합될 수 있다).
일부 구현예에서, 원격 컴퓨팅 디바이스(208)는 오디오 데이터에 수록된 요청을 식별하기 위해 어시스턴트 인터페이스에서 수신된 오디오 데이터를 프로세싱할 수 있는 입력 프로세싱 엔진(212)을 포함할 수 있다. 오디오 데이터를 텍스트로 변환하는 프로세스는 음성 인식 알고리즘을 포함할 수 있으며, 이는 단어 또는 문구에 대응하는 오디오 데이터의 그룹을 식별하기 위해 신경 네트워크, word2vec 알고리즘 및/또는 통계 모델을 이용할 수 있는 음성 프로세싱 모듈(222)에 의해 수행될 수 있다. 오디오 데이터로부터 변환된 텍스트는 데이터 파싱 모듈(216)에 의해 파싱될 수 있으며, 사용자 및/또는 서드파티 어플리케이션으로부터 명령 문구를 생성 및/또는 식별하는데 사용될 수 있는 텍스트 데이터로서 자동화된 어시스턴트에 제공될 수 있다. 데이터 파싱 모듈(216)로부터의 결과 데이터는 사용자가 수행되도록 요청하는 액션 및/또는 액션을 완료하기 위해 여전히 필요할 수 있는 하나 이상의 파라미터를 결정하기 위해 파라미터 엔진(218)에 의해 사용될 수 있다. 기능의 하나 이상의 대응하는 슬롯을 완성하기 위해 하나 이상의 파라미터가 필요하다는 결정에 응답하여, 서버 자동화 어시스턴트(210)의 출력 생성 엔진(220)은 자연어 출력을 생성할 수 있다. 자연어 출력은 클라이언트 디바이스(202)로 다시 전송되어, 사용자에게 추가 파라미터를 제공하도록 요청하기 위해 사용자에게 제공될 수 있다. 예를 들어, 사용자는 "어시스턴트, 영화 재생"의 발화된 발언을 제공할 수 있으며, 이는 사용자가 영화를 식별할 것을 요구할 수 있는 "미디어 재생"의 액션에 대응할 수 있다. 파라미터 엔진(218)은 영화가 식별되지 않았음을 결정하고, 출력 생성 엔진(220)이 자연어 출력(예를 들어, "어떤 영화를 재생하고 싶습니까?")을 생성하게 하고, 클라이언트 디바이스(202)가 자연어 출력을 제공하게 할 수 있다.
일부 구현예에서, 발화된 발언을 수신하는 어시스턴트 인터페이스에 응답하여 잘못된 클라이언트 디바이스에 영향을 미치는 것을 방지하기 위해, 각각의 자동화된 어시스턴트는 하나 이상의 동적 규정(232)의 세트에 따라 동작할 수 있다. 각각의 동적 규정(232)은 사용자가 주어진 컨텍스트 내에서 발화된 발언을 제공하는 경우, 특정한 디바이스에 대한 사용자의 선호도를 식별하는데 사용될 수 있는 하나 이상의 컨텍스트 피처와 연관될 수 있다. 일부 구현예에서, 사용자가 발화된 발언을 제공하기 전에, 각 클라이언트 디바이스(202)는 상태 정보(240)를 원격 컴퓨팅 디바이스(208)에 제공할 수 있다. 상태 정보(240)는 미디어 재생, 업데이트 수행, 수면 모드에서 동작, 웨이크 모드에서 동작, 충전, 데이터 다운로드 및/또는 컴퓨팅 디바이스에 의해 수행될 수 있는 임의의 다른 동작과 같은(이에 한정되지 않음) 각 클라이언트 디바이스(202)에 의해 수행되는 하나 이상의 액션을 표시할 수 있다. 상태 정보(240)는 애플리케이션(206) 및/또는 자동화된 어시스턴트에 의해 수행되는 하나 이상의 액션을 식별하는 애플리케이션 데이터(242)에 액세스할 수 있는 자동화된 어시스턴트에 의해 생성될 수 있다. 일부 구현예에서, 상태 정보(240)는 클라이언트 디바이스(202)에서 이전에 수행된 액션, 클라이언트 디바이스(202)에 의해 수행될 것으로 예상되는 액션 및/또는 수행되었거나 현재 수행되고 및/또는 클라이언트 디바이스(202)와 통신하는 원격 디바이스에 의해 수행될 것으로 예상되는 액션을 식별할 수 있다.
원격 컴퓨팅 디바이스(208)는 하나 이상의 클라이언트 디바이스가 발화된 발언을 수신하기 전에 임의의 멀티-디바이스 상태 정보(224)(즉, 다수의 클라이언트 디바이스에 대응하는 상태 정보)를 사전-프로세싱할 수 있다. 이러한 방식으로, 원격 컴퓨팅 디바이스(208)는 지연을 최소화하거나 전혀 없이 발화된 발언에 대응하는 임의의 액션을 위임할 수 있다. 일부 구현예에서, 특정한 클라이언트 디바이스(202)는 멀티-디바이스 상태 정보(224)의 프로세싱에 적어도 기초하여, 수신 클라이언트 디바이스에 의해 발화된 발언이 완전히 수신되기 전이라도 특정한 액션을 수행하도록 위임될 수 있다.
일부 구현예에서, 발화된 발언이 클라이언트 디바이스(202)에서 수신되는 경우, 발화된 발언의 적어도 일부는 클라이언트 디바이스(202)(예를 들어, "어시스턴트,…)를 깨울 수 있고, 나머지 부분은 오디오 데이터로 변환되어 추가 프로세싱을 위해 원격 컴퓨팅 디바이스(208)에 전송될 수 있다. 입력 프로세싱 엔진(212)은 음성 데이터를 사용하여, 발화된 발언이 모호한 쿼리인지 특정적인 쿼리인지 여부를 결정할 수 있다. 모호한 쿼리는 특정한 디바이스를 특정하지 않거나 초기화, 수정 및/또는 인터럽트할 특정한 액션을 특정하지 않는 쿼리일 수 있다. 예를 들어, "어시스턴트, 중지"라는 발화된 발언은 그것이 특정한 디바이스 또는 "음악 재생"과 같이 수정할 특정한 액션을 특정하지 않기 때문에 모호한 발화된 발언으로 간주될 수 있다. 특정 쿼리는 발화된 발언에 수록된 요청이 이행되어야 하는 디바이스를 식별하는 발화된 발언이다. 발화된 발언이 특정 요청으로 분류되는 경우, 발화된 발언에 의해 식별된 디바이스는 특정 요청을 이행하는 작업이 주어질 수 있다. 그러나, 발화된 발언이 모호한 요청으로 분류되는 경우, 동적 규정(232) 및/또는 멀티-디바이스 상태 정보(224)는 사용자가 호출하고자 하는 타겟 클라이언트 디바이스를 결정하는데 사용될 수 있다.
예를 들어, 동적 규정(232)의 동적 규정은 특정한 사용자가 "어시스턴트, 중지"라는 모호한 발화된 발언을 제공하는 경우 수행할 동작을 나타낼 수 있다. 특히, 동적 규정은 멀티-디바이스 상태 정보(224)가 미디어가 텔레비전에서 재생되고 있고, 별도의 어시스턴트 디바이스에서 알람이 울리고 있음을 나타낼 때, 모호한 발화된 발언으로 인해 알람이 중지되어야 함을 나타낼 수 있다. 추가적으로 또는 대안적으로, 동적 규정(232)의 또 다른 동적 규정은 "어시스턴트, 영화 재생"의 모호한 발화된 발언이 제공된 경우 어린이의 음성 서명이 검출된 때 해야 할 일을 나타낼 수 있다. 특히, 다른 동적 규정은 멀티-디바이스 상태 정보(224)가 영화가 거실 텔레비전에서 이미 재생 중이고, 어린이가 영화 재생을 요청하는 경우, 모호한 발화된 발언으로 인해 영화가 침실(예: 어린이의 침실)에서 재생을 시작해야 함을 나타낼 수 있다. 이런 식으로, 어린이의 모호한 요청은 이미 거실에서 재생 중인 영화를 방해하지 않는다. 이것은 거실 텔레비전이 현재 재생중인 영화에 할당된 캐시된 데이터를 잘못 잃지 않거나 어린이가 요청한 영화를 잘못 다운로드하는데 네트워크 대역폭을 소비하지 않기 때문에 거실 텔레비전의 계산 리소스를 보존할 수 있다.
동적 규정(232)은 원격 컴퓨팅 디바이스(208) 및/또는 원격 컴퓨팅 디바이스(208)와 통신하는 각 클라이언트 디바이스(202)에서 생성될 수 있다. 동적 규정(232)은 자동화된 어시스턴트와 관여하는 각 사용자의 선호도 및/또는 습관에 따라 수정 및/또는 새로 생성될 수 있기 때문에 "동적"인 것으로 간주될 수 있다. 예를 들어, 사용자의 선호도는 사용자가 초기 발화된 발언에 응답하여 의도하지 않은 액션이 수행되게 하는 자동화된 어시스턴트에 응답하여 교정 발화된 발언을 제공할 때 결정될 수 있다. 초기 발화된 발언은 예를 들어 사용자가 어시스턴트 디바이스에서 음악을 들으면서 휴대폰으로 전화 대화에 참여할 때 사용자가 제공할 수 있는 "어시스턴트, 소리 줄여(turn down)"일 수 있다. 의도하지 않은 액션은 자동화된 어시스턴트가 전화 통화의 오디오 볼륨이 줄어들게 하는 것일 수 있다.
사용자가 "아니, 음악 소리 줄여"와 같은 교정 발화된 발언을 제공하면, 자동화된 어시스턴트는 전화 통화의 오디오를 원래 설정으로 되돌리고, 음악 볼륨을 낮출 수 있다. 추가적으로, 발화된 발언 수신에 대한 응답으로, 자동화된 어시스턴트는 새로운 또는 수정된 동적 규정이 생성되게 하고 자동화된 어시스턴트가 액세스하게 할 수 있다. 동적 규정은 사용자가 어시스턴트 디바이스에서 음악이 재생되는 동안 휴대폰으로 전화 통화에 참여하고, 사용자가 "소리 줄여"라는 요청을 제공하는 경우, 전화 통화가 아닌 음악을 줄여야 함을 나타낼 수 있다. 이 동적 규정은 휴대 전화 및 어시스턴트 디바이스에서 현재 상태 정보(240)에 의존할 수 있으며, 이는 전화 통화가 발생하고 음악이 동시에 재생되고 있음을 표시한다. 따라서, 사용자가 특정한 진행중인 액션이 동시에 발생하지 않는 경우(따라서 다른 컨텍스트를 표시함) 발화된 발언 "어시스턴트, 소리 줄여"를 제공하면, 동적 규정(232)은 자동화된 어시스턴트가 상이한 무언가를 하도록 영향을 미칠 수 있다.
일부 구현예에서, 동적 규정(232)은 하나 이상의 자동화된 어시스턴트에 액세스할 수 있는 하나 이상의 테이블로서 구현될 수 있다. 테이블은 요청 및/또는 액션을 식별하는 열과 특정한 디바이스의 동작 상태를 식별하는 행을 포함할 수 있다. 각 행 및 각 열에 대응하는 값은 점수를 나타낼 수 있으며, 이는 요청이 영향을 미쳐야 하는 디바이스를 식별하는데 사용될 수 있다. 예를 들어, "중지" 요청은 행에서 식별될 수 있고, 제1 열은 어시스턴트 디바이스에서 알람이 울림을 식별할 수 있으며, 제2 열은 텔레비전에서 영화가 재생되고 있음을 나타낼 수 있다. 테이블이 대응하는 특정한 사용자에 따라, 테이블은 제2 열이 아닌 제1 열에서 더 높은 점수 또는 상대적으로 더 가치 있는 메트릭을 제공할 수 있으므로 사용자가 대응하는 컨텍스트 하에서 "중지"를 제공하는 경우, 어시스턴트 디바이스가 텔레비전을 통해 영향을 받게 한다.
일부 구현예에서, 하나 이상의 동적 규정은 하나 이상의 기계 학습 모델에 기초할 수 있다. 기계 학습 모델은 특정한 발화된 발언 및/또는 하나 이상의 클라이언트 디바이스와 연관된 컨텍스트 데이터를 입력으로 수신하고, 디바이스의 표시 및/또는 발화된 발언에 대한 응답에 영향을 주는 액션을 출력으로 제공하도록 동작할 수 있다. 기계 학습 모델은 사용자가 교정 발화된 발언을 제공한 이전 인스턴스를 특성화하는 트레이닝 데이터를 사용하여 트레이닝될 수 있다. 추가적으로 또는 대안적으로, 기계 학습 모델은 교정 발화된 발언이 이후 수신되지 않고 주어진 컨텍스트에서 액션이 수행되었던 이전 인스턴스를 특성화하는 트레이닝 데이터를 사용하여 트레이닝될 수 있다.
도 3a 및 도 3b는 특정한 발화된 발언이 응답될 타겟 클라이언트 디바이스를 결정할 서버를 선택하기 위한 시스템 다이어그램을 도시한다. 구체적으로, 도 3a는 하나 이상의 사용자에 의해 제공되고 하나 이상의 로컬 디바이스에 의해 확인된 특정한 발화된 발언에 응답하기 위해 특정한 로컬 디바이스를 선택하기 위한 결정을 중재하기 위한 시스템(300)을 도시한다. 발화된 발언을 확인하기 전 및/또는 발화된 발언 수신에 응답하여, 제1 로컬 디바이스(336), 제2 로컬 디바이스(338) 및 N 로컬 디바이스(340) 각각은 각각의 서버 디바이스에 상태 정보를 제공할 수 있다. 상태(320)는 제1 서버 디바이스(302)에 제공될 수 있고, 상태(322)는 제2 서버 디바이스(304)에 제공될 수 있으며, 상태(324)는 N 서버 디바이스(306)에 제공될 수 있으며, 여기서 "N"은 임의의 양의 정수이다. 각 서버 디바이스는 상태 정보(314), 상태 정보(316) 및 상태 정보(318)를 각각 저장할 수 있고, 저장된 상태 정보를 사용하여 특정한 발화된 발언에 응답하기 위한 특정한 로컬 디바이스를 지정할 수 있다.
일부 구현예에서, 각각의 로컬 디바이스는 위치(예를 들어, 사용자의 집) 주위에 배치될 수 있고, 하나 이상의 로컬 디바이스는 다른 로컬 디바이스와 다른 하나 이상의 계정과 연관될 수 있다. 결과적으로, 위치 내의 로컬 디바이스는 상이한 서버 디바이스와 통신할 수 있다. 서버 디바이스는 주어진 컨텍스트 내에서 그리고/또는 서버 디바이스에 제공된 상태에 따라 특정한 발화된 발언에 응답하기 위해 특정한 로컬 디바이스의 선택을 중재할 수 있다. 이러한 방식으로, 발화된 발언을 제공하고 특정한 로컬 디바이스로부터 응답을 수신하는 사이의 지연을 줄일 수 있다.
도 3b는 상태 정보를 제공한 특정한 로컬 디바이스와 연관된 상태 정보를 공유하는 각 서버 디바이스의 시스템 다이어그램(326)을 도시한다. 구체적으로, 제1 서버 디바이스(302)는 제1 로컬 디바이스(336)에 대한 상태 정보를 제2 서버 디바이스(304) 및 N 서버 디바이스(306)와 공유할 수 있다. 제2 서버 디바이스(304)는 제1 서버 디바이스(302) 및 N 서버 디바이스(306)와 상태 정보를 공유할 수 있고, N 서버 디바이스(306)는 제1 서버 디바이스(302) 및 제2 서버 디바이스(304)와 상태 정보를 공유할 수 있다. 서버 디바이스는 동일한 위치 내에서 로컬 디바이스와 통신하고 및/또는 공통 네트워크에 연결되어 있음을 인식할 수 있으므로, 각 서버 디바이스가 다른 서버 디바이스에 상태 정보를 제공할 수 있다. 일부 구현예에서, 클라이언트 디바이스는 클라이언트 디바이스에 연결된 다른 클라이언트 디바이스에 대한 상태 정보를 보낼 수 있다. 이러한 방식으로, 클라이언트 디바이스는 네트워크를 통해 서버 디바이스에 상태 정보를 송신하도록 구비되지 않은 다른 디바이스의 상태 정보를 전송할 수 있지만, 그렇지 않으면 클라이언트 디바이스에 연결하거나 클라이언트 디바이스와 데이터를 공유할 수 있다. 각 서버 디바이스는 모든 로컬 디바이스가 상태 정보에 따라 동작하는 동안, 특정한 사용자에 의해 수신될 수 있는 특정한 발화된 발언 및/또는 요청을 예측할 수 있다. 예를 들어, 각각의 서버 디바이스는 영화가 제1 로컬 디바이스(336)에서 재생되고 전화 통화가 현재 제2 로컬 디바이스(338)에서 진행 중일 때, 사용자(334)가 "어시스턴트, 일시 중지"와 같은 발화된 발언을 제공할 수 있다고 예측할 수 있다. 각각의 서버 디바이스는 또한 전술한 컨텍스트가 주어진 경우 사용자(334)가 발화된 발언 "어시스턴트, 일시 중지"를 제공할 때 어떤 디바이스에 영향을 미치고자 하는지를 결정할 수 있다.
각각의 서버 디바이스는 수신된 상태 정보(240)에 따라 사용자가 어떤 디바이스에 영향을 미칠 것인지를 결정하기 위한 각각의 디바이스 선택 엔진(308, 310 또는 312)을 포함할 수 있다. 일부 구현예에서, 디바이스 선택 엔진은 하나 이상의 로컬 디바이스에 대한 사용자의 위치에 기초한 타겟 로컬 디바이스, 사용자의 음성 특성, 위치와 연관된 점유 데이터, 상기 위치 내 하나 이상의 로컬 디바이스의 동작 상태, 특정한 로컬 디바이스에 대한 하나 이상의 신뢰 디바이스(예: 시계, 휴대폰 등)의 근접성, 로컬 디바이스에서 동작하는 하나 이상의 애플리케이션의 동작 상태 및/또는 기타 로컬 디바이스와 연관될 수 있는 정보를 결정할 수 있다. 하나 이상의 서버 디바이스가 제1 로컬 디바이스(336)가 발화된 발언에 응답해야 한다고 결정하면, 제1 로컬 디바이스(336)로부터 상태(320)를 수신한 제1 서버 디바이스(302)는 현재 컨텍스트 동안 수신된 임의의 발화된 발언을 프로세싱하도록 할당될 수 있다. 일부 구현예에서, 제1 서버 디바이스(302)는 모호한 요청만을 프로세싱하도록 할당될 수 있고, 임의의 특정적인 요청은 사용자(334)가 특정한 로컬 디바이스에 대응하는 서버 디바이스에서 프로세싱될 수 있다.
예를 들어, 사용자가 발화된 발언 "어시스턴트, 일시 중지"를 제공하고 영화가 제1 로컬 디바이스(336)에서 재생되고 전화 통화가 제2 로컬 디바이스(338)에서 진행중인 경우, 발화된 발언은 다수의 로컬 디바이스에 의해 인식될 수 있다. 그러나, 서버 디바이스가 이미 모호한 요청을 처리할 로컬 디바이스 및/또는 서버 디바이스의 결정을 중재했기 때문에, 발화된 발언은 궁극적으로 제1 서버 디바이스(302)에 의해 프로세싱되고 제1 로컬 디바이스(336)는 발화된 발언에 대한 응답을 제공할 것이다(예: "네, 영화를 일지 정지하겠습니다.").
일부 구현예에서, 특정한 서버 디바이스가 발화된 발언에 응답하기 위한 로컬 디바이스의 선택 범위를 좁히려고 할 때 동점이 발생할 수 있다. 사용자가 각 로컬 디바이스 및/또는 선택될 하나 이상의 나머지 디바이스에 대해 설정한 디바이스 이름에 기초하여 동점을 해소할 수 있다. 예를 들어, 특정한 발화된 발언에 응답하기 위해 두 로컬 디바이스 사이에 동점이 있고, 두 로컬 디바이스 중 하나에 "즐겨찾기"라는 단어가 포함된 사용자가 만든 이름이 있는 경우, 그 하나의 로컬 디바이스를 다른 디바이스보다 특정한 발화된 발언에 응답하기 위해 선택할 수 있다. 추가적으로, 또는 대안적으로, 사용자가 동점에 대응하는 요청을 수행하기 위해 동점과 관련된 로컬 디바이스 중 하나를 이력적으로 선호했음을 나타내는 사용자 습관에 따라 동점이 해소될 수 있다. 따라서 이 식별된 선호도는 선호하는 디바이스에 유리하도록 동점의 균형을 "팁"할 수 있다. 추가적으로 또는 대안적으로, 다수의 로컬 디바이스 사이의 동점은 동점을 야기한 발화된 발언에 응답하기 위해 가장 적합하거나 준비된 로컬 디바이스를 식별하기 위해 다수의 로컬 디바이스의 피처를 비교함으로써 해소될 수 있다. 예를 들어, 사용자가 음악 재생을 요청하고(예: "어시스턴트, 음악 재생"), 서버 디바이스가 음악을 재생할 로컬 디바이스의 선택 범위를 두 개의 독립형 스피커 디바이스로 좁힌 경우, 서버 디바이스는 음악 재생에 가장 적합한 로컬 디바이스를 선택할 수 있다. 특히, 서버 디바이스는 스피커가 가장 많고, 사용자의 집에서 더 나은 음향을 갖고, 더 많은 네트워크 및/또는 스트리밍 음악에 사용할 수 있는 프로세싱 대역폭을 가진 로컬 디바이스를 선택할 수 있다.
추가적으로 또는 대안적으로, 두 로컬 디바이스 간의 동점은 두 로컬 디바이스 각각에 의해 결정된 발화된 발언의 음량에 기초할 수 있다. 따라서 두 개의 로컬 디바이스 중 하나의 로컬 디바이스가 두 개의 로컬 디바이스 중 다른 로컬 디바이스보다 더 큰 볼륨으로 사용자를 들었다면, 사용자를 가장 크게 들은 로컬 디바이스를 선택할 수 있다. 동점을 해소하는데 사용되는 모든 정보는 동점을 해결하기 위해 서버 디바이스에 제공될 수 있다. 예를 들어, 발화된 발언을 인식하는 다수의 로컬 디바이스에 응답하여, 각 로컬 디바이스는 로컬 디바이스가 사용자를 들은 음량 측정치(예: 데시벨)를 결정하고, 서버 디바이스가 잠재적 동점을 해소하게 하기 위해, 서버 디바이스에 음량 측정치를 제공할 수 있다. 유사하게, 발화된 발언에 응답하기 위한 로컬 디바이스의 중재 또는 선택이 로컬에서 수행되는 구현예에서, 동점 해소를 위한 정보는 각 로컬 디바이스에 의해 다른 로컬 디바이스 또는 적어도 동점의 대상이 되는 로컬 디바이스와 공유될 수 있다. 일부 구현예에서, 모든 동점-깨기 정보가 동점이 해소되고 있는 곳에 따라 하나 이상의 서버 디바이스 또는 하나 이상의 로컬 디바이스에서 수신되는 것을 보장하기 위해, 의도적 지연이 동점을 해소하기 위한 프로세스에 프로그래밍될 수 있다.
도 4a 및 도 4b는 사용자로부터의 발화된 발언에 응답하기 위한 클라이언트 디바이스의 선택의 중재가 로컬에서 수행되도록 하는 구현예를 도시한다. 일부 구현예에서, 타겟 클라이언트 디바이스의 선택의 중재는 특정한 위치(438) 내의 다른 클라이언트 디바이스에 대한 사용자의 위치에 기초할 수 있다. 추가적으로 또는 대안적으로, 타겟 클라이언트 디바이스의 선택의 중재는 발화된 발언을 제공하는 사용자에 기초할 수 있다. 중재는 하나 이상의 클라이언트 디바이스에 의해 발화된 발언을 수신하기 전에 적어도 부분적으로 발생할 수 있으며, 사용자가 발화된 발언 제공을 완료한 시점과 특정한 클라이언트 디바이스가 발화된 발언에 대응하는 사이에 나타날 수 있는 지연을 완화할 수 있다.
예를 들어, 사용자(416)가 발화된 발언을 제공하기 전에, 위치(438) 내의 각 클라이언트 디바이스는 그 각각의 상태 정보(440)(및 선택적으로 각각의 클라이언트 디바이스에 연결된 하나 이상의 디바이스에 대응하는 상태 정보)를 위치(438) 내의 다른 클라이언트 디바이스와 공유할 수 있다. 상태 정보(440)는 하나 이상의 디바이스 및/또는 하나 이상의 애플리케이션의 동작 상태를 특성화할 수 있다. 예를 들어, 차량(414)으로부터의 상태 정보(440)는 "차량 충전" 및 "주차"를 포함할 수 있는 동작 상태(412)를 특성화할 수 있다. 추가적으로, 어시스턴트 디바이스(418)로부터의 상태 정보(440)는 동작 상태(426)를 특성화할 수 있으며, 이는 "유휴" 상태로 있기 및 사용자(416)에 의한 "리마인더 설정" 추적하기를 포함할 수 있다. 추가적으로, 어시스턴트 디바이스(442)는 "유휴" 상태로 있기 및 다른 사용자에 의한 "알람 설정" 추적하기의 동작 상태(426)를 특성화하고, 텔레비전(427)은 "유휴" 상태로 있기 및 "스크린 세이버" 제공하기의 동작 상태(436)를 특성화하는 상태 정보(440)를 제공할 수 있다.
발화된 발언이 하나 이상의 클라이언트 디바이스에 의해 수신된 경우 타겟 클라이언트 디바이스 선택을 중재하기 위해, 각 클라이언트 디바이스(즉, 차량(414), 어시스턴트 디바이스(418), 어시스턴트 디바이스(442), 텔레비전(428))는 수신된 상태 정보(440)에 기초하여 점수 또는 메트릭을 결정할 수 있다. 추가적으로 또는 대안적으로, 발화된 발언이 제공되었던 상대적 컨텍스트를 특성화하기 위해 컨텍스트 데이터가 각 클라이언트 디바이스에 의해 개별적으로 생성될 수 있다. 예를 들어, 발화된 발언을 수신하는 적어도 하나의 클라이언트 디바이스에 응답하여, 클라이언트 디바이스는 발화된 발언이 사용자에 의해 제공되었다는 것을 로컬 네트워크(예: Wi-Fi 네트워크)를 통해 다른 클라이언트 디바이스와 통신한다. 다른 클라이언트 디바이스 각각은 각 클라이언트 디바이스가 발화된 발언을 들은 볼륨(예를 들어, 데시벨 단위)을 결정할 수 있다. 각 개별 볼륨은 상태 정보와 함께 사용되어 각 클라이언트 디바이스에 대한 각 점수 또는 다수의 클라이언트 디바이스의 순위와 연관된 각 클라이언트 디바이스의 순위를 결정할 수 있다. 각 클라이언트 디바이스에 의해 결정된 각 점수 또는 순위는 각 클라이언트 디바이스가 자신의 점수가 최고 점수에 대응하는지 여부를 결정할 수 있도록 네트워크의 다른 모든 클라이언트 디바이스에 전송될 수 있다. 그러면 가장 높은 점수에 대응하는 클라이언트 디바이스가 "타겟" 클라이언트 디바이스로 지정되고 발화된 발언에 따라 응답할 수 있다. 일부 구현예에서, 타겟 클라이언트 디바이스는 다른 비-타겟 클라이언트 디바이스에 비해 지정된 타겟 클라이언트 디바이스임을 나타내는 데이터를 다른 비-타겟 클라이언트 디바이스에 전송할 수 있다. 각 클라이언트 디바이스가 자신은 지정된 타겟 클라이언트 디바이스가 아니라고 결정하면, 각 클라이언트 디바이스는 웨이크 모드를 종료하고, 마이크 활동을 일시 중단하고 및/또는 발화된 발언을 수신함에 응답하여 증가한 샘플링 또는 프로세싱 양을 줄일 수 있다.
일부 구현예에서, 특정한 발화된 발언에 대응하는 데이터가 클라이언트 디바이스가 발화된 발언을 수신하기 전에 클라이언트 디바이스에 의해 수신되면, 클라이언트 디바이스는 자신을 타겟이 아닌 것으로 지정할 수 있으며, 수신된 데이터를 선택적으로 삭제할 수 있다. 추가적으로 또는 대안적으로, 특정한 발화된 발언에 대응하는 데이터가 클라이언트 디바이스에서 발화된 발언이 도착한 임계 시간 기간(예를 들어, 100ms, 1s 및/또는 임의의 다른 적절한 시간 기간) 내 또는 외에 클라이언트 디바이스에서 수신되는 경우, 해당 클라이언트 디바이스는 자신을 후보 타겟 클라이언트 디바이스로 지정하거나 자신을 타겟이 아닌 것으로 지정할 수 있다. 이러한 방식으로, 각 디바이스는 계산 리소스과 네트워크 대역폭을 보존하기 위해 후보 타겟 디바이스로 간주되지 않을 수 있으며, 그렇지 않은 경우 더 큰 클라이언트 디바이스 풀 중에서 타겟 클라이언트 디바이스의 선택을 중재하는데 계산 리소스과 네트워크 대역폭이 소비된다. 특정한 디바이스가 데이터를 수신한 후에도 후보 타겟 디바이스로 남아있는 경우, 특정한 디바이스는 자체 점수를 결정하고, 그것을 다른 클라이언트 디바이스로부터 수신한 다른 점수와 비교하고, 선택적으로 동점이 발생했는지 여부를 결정하고, 동점을 해소하기 위한 정보를 식별하고, 그런 다음 자신을 타겟 컴퓨팅 디바이스에서 탈락시키거나 자신을 타겟 컴퓨팅 디바이스로 지정한다. 일부 구현예에서, 전송된 "데이터"는 점수, 송신 클라이언트 디바이스와 연관된 컨텍스트 데이터, 다른 클라이언트 디바이스에 대한 송신 클라이언트 디바이스의 티어 및/또는 클라이언트 디바이스의 선택을 중재할 때 사용될 수 있는 임의의 다른 정보를 포함할 수 있다.
일부 구현예에서, 발화된 발언 수신에 응답하여 깨어나서 특정한 클라이언트 디바이스(예를 들어, 어시스턴트 디바이스(418))가 발화된 발언과 관련된 다른 클라이언트 디바이스(즉, 차량(414), 어시스턴트 디바이스(418), 어시스턴트 디바이스(442), 텔레비전(428))로부터 데이터를 수신하지 않으면, 특정한 클라이언트 디바이스는 자신을 발화된 발언에 응답하기 위한 타겟 클라이언트 디바이스로 지정할 수 있다. 선택적으로, 특정한 클라이언트 디바이스는 다른 클라이언트 디바이스 중 하나가 자신을 타겟 클라이언트 디바이스로 지정하여 동점을 만드는 경우, 다른 클라이언트 디바이스에서 사용될 수 있는 동점-깨기 정보를 특성화하는 데이터를 다른 클라이언트 디바이스에 보낼 수 있다. 일부 구현예에서, 클라이언트 디바이스는 클라이언트 디바이스와 통신하는 원격 클라이언트 디바이스의 특성 및/또는 동작 파라미터에 기초한 컨텍스트 데이터에 대응하는 다른 클라이언트 디바이스 데이터를 송신할 수 있다. 클라이언트 디바이스는 원격 클라이언트 디바이스의 점수 또는 순위가 다른 클라이언트 디바이스의 다른 점수 또는 다른 순위와 구별되는 것으로 클라이언트 디바이스가 결정하는 경우, 원격 클라이언트 디바이스를 타겟 클라이언트 디바이스로 지정할 수 있다. 즉, 클라이언트 디바이스는 다른 디바이스가 발화된 발언에 응답하기 위한 후보인 다른 클라이언트 디바이스와 통신하지 않더라도 자신 및 상기 클라이언트 디바이스와 통신하는 임의의 다른 디바이스에 대한 점수 또는 순위를 결정할 수 있다. 원격 클라이언트 디바이스는 Bluetooth 지원 디바이스, 디스플레이 패널, 독립형 스피커 디바이스, 주변 디바이스 및/또는 컴퓨터(예를 들어, 클라이언트 디바이스)와 연결 가능한 기타 장치와 같은 클라이언트 디바이스에 연결된 장치일 수 있다.
일부 구현예에서, 각각의 클라이언트 디바이스로부터 제공된 상태 정보(440)는 각각의 클라이언트 디바이스로부터의 사용자의 거리를 특성화하는 정보를 포함할 수 있다. 거리는 사용자(416)의 허가를 받아 각 클라이언트 디바이스에 액세스할 수 있는 하나 이상의 센서를 사용하여 결정될 수 있다. 추가적으로 또는 대안적으로, 위치(438) 내의 디바이스의 위치 및/또는 방의 인접성을 나타내는 저장된 토폴로지와 비교하여 발화된 발언의 음성 특성을 사용하여 거리가 결정될 수 있다. 일부 구현예에서, 거리는 일반적으로 사용자(416)에 의해 휴대되고 따라서 사용자(416)로부터의 허가를 받아 사용자(416)의 위치를 제공하기 위해 "신뢰될 수 있는" 신뢰 디바이스의 결정된 위치에 기초할 수 있다. 예를 들어, 텔레비전 자동화된 어시스턴트(430)는 사용자(416)가 착용한 스마트 시계가 10피트 떨어져 있다고 결정할 수 있고, 다른 클라이언트 디바이스에 제공되는 상태 정보(440)에 거리 측정치를 포함할 수 있다. 일부 구현예에서, 각각의 디바이스는 사용자(416)에 대한 다른 클라이언트 디바이스의 다른 거리에 대한 사용자로부터의 각각의 거리의 비교에 적어도 부분적으로 기초하여 각각의 점수를 결정할 수 있다. 이러한 방식으로, 하나 이상의 클라이언트 디바이스 및/또는 사용자(416)로부터 임계 거리 외부 또는 내부에 위치하는 각각의 클라이언트 디바이스는 자신을 각각 타겟화하지 않거나 타겟화되는 것으로 지정할 수 있다.
일부 구현예에서, 특정한 발화된 발언에 응답하기 위한 타겟 클라이언트 디바이스의 선택의 중재는 만들어지는 요청 및/또는 사용자가 클라이언트 디바이스가 수행하기를 원하는 액션에 대해 애그노스틱(agnostic)할 수 있다. 추가적으로 또는 대안적으로, 타겟 클라이언트 디바이스 선택의 중재는 볼륨-애그노스틱일 수 있으므로, 클라이언트 디바이스가 사용자를 들은 볼륨을 포함하지 않는 정보에 기초할 수 있다. 추가적으로 또는 대안적으로, 타겟 클라이언트 디바이스의 선택의 중재는 적어도 하나의 클라이언트 디바이스가 사용자를 들은 볼륨 및 발화된 발언이 제공되었던 컨텍스트의 적어도 하나의 볼륨-애그노스틱 특성에 기초할 수 있다. 일부 구현예에서, 클라이언트 디바이스가 다른 클라이언트 디바이스가 아닌 사용자에게만 응답하도록 보장하기 위해, 클라이언트 디바이스의 입력 프로세싱 엔진에 다른 클라이언트가 발화된 발언에 응답하는 경우 클라이언트 디바이스가 응답하지 않게 하는 음성 인식 구성이 장착될 수 있다.
일부 구현예에서, 각각의 클라이언트 디바이스가 그들 각각의 상태 정보(440)를 공유했을 때(도(400)에 도시된 바와 같이), 사용자(416)는 후속적으로 발화된 발언(450)를 제공할 수 있다(도(402)에 도시된 바와 같이). 발화된 발언에 응답할 타겟 클라이언트 디바이스의 선택에 대한 중재는 발화된 발언 수신 전, 수신 중 또는 수신 후에 수행될 수 있다. 예를 들어, 중재는 어시스턴트 디바이스(442)가 하루 중 시간(예를 들어, 오후 10시 이후)으로 인해 가장 작은 점수를 가질 수 있으며, 어시스턴트 디바이스(442)의 동작 상태(426)는 어시스턴트 디바이스(442)가 유휴 상태이고 알람이 설정되었다고 표시할 수 있다. 따라서, 어시스턴트 디바이스(442)는 누군가가 어시스턴트 디바이스(442)가 위치한 방에서 자고 있을 수 있기 때문에, 어시스턴트 디바이스(442)가 어떤 발화된 발언에 응답하는데 가장 높은 점수를 가져서는 안된다고 가정할 수 있다. 예를 들어, 사용자(416)가 "어시스턴트, 음악 재생"의 발화된 발언(450)를 제공하는 경우, 어시스턴트 디바이스(442)는 로컬 클라이언트 디바이스 간에 공유되었던 상태 정보의 결과로 임의의 로컬 중재에 따라 마지막으로 순위가 매겨질 것이다.
일부 구현예에서, 각각의 클라이언트 디바이스에 대한 점수를 결정하고 및/또는 발화된 발언에 응답할 타겟 클라이언트 디바이스를 결정하기 위해, 하나 이상의 클라이언트 디바이스에 의해 하나 이상의 기계 학습 모델이 사용될 수 있다. 점수를 결정하기 위해 클라이언트 디바이스에 의해 사용되는 기계 학습 모델은 하나 이상의 다른 클라이언트 디바이스에 의해 제공된 상태 정보(440)의 이전 인스턴스를 트레이닝 데이터로 사용할 수 있다. 일정량의 트레이닝 후에 다른 클라이언트 디바이스에 의해 제공되는 상태 정보(440)는 타겟 클라이언트 디바이스 및/또는 각각의 클라이언트 디바이스에 대한 점수를 식별하기 위해 기계 학습 모델 및/또는 기계 학습 모델의 함수에 대한 입력으로서 사용될 수 있다. 한 명 이상의 사용자의 음성 특성, 위치(438)와 연관된 점유 데이터, 위치(438)에 대응하는 방 인접 데이터, 현재 시간, 현재 날짜, 하나 이상의 클라이언트 디바이스에 의해 수행된 이전 액션, 하나 이상의 클라이언트 디바이스에서 수행될 것으로 예상되는 하나 이상의 액션, 클라이언트 디바이스에 액세스 할 수 있는 저장된 캘린더, 클라이언트 디바이스와 연관된 다른 원격 디바이스의 위치 및/또는 기계 학습 모델에 대한 입력으로 제공하기에 적합할 수 있는 기타 정보와 같은(이에 한정되지 않음) 다른 컨텍스트 데이터도 기계 학습 모델에 대한 입력으로 제공될 수 있다.
도 5a 및 도 5b는 다수의 클라이언트 디바이스에서 수신되었던 발화된 발언에 응답하여, 클라이언트 디바이스에 의해 수행되는 진행중인 액션을 수정하기 위한 방법(500) 및 방법(512)을 도시한다. 방법(500) 및 방법(512)은 자동화된 어시스턴트 애플리케이션과 인터렉션할 수 있는 하나 이상의 컴퓨터 디바이스, 서버 디바이스, 애플리케이션 및/또는 자동화된 어시스턴트와 인터렉션할 수 있는 임의의 기타 장치 또는 모듈에 의해 수행될 수 있다. 방법(500)은 도 5a 및 도 5b에서 각각 둘러싸인 연속 엘리먼트 "A" 및 "B"를 통해 방법(512)으로 계속될 수 있다. 방법(500)은 자동화된 어시스턴트가 액션을 수행하게 하기 위한 요청을 포함하는 사용자로부터의 발화된 발언을 캡처하는 오디오 데이터를 수신하는 동작(502)을 포함할 수 있다. 예를 들어, 발화된 발언은 "어시스턴트, 중지"일 수 있으며, 사용자의 집에 있는 다수의 클라이언트 디바이스에서 발화된 발언을 들을 수 있다. 사용자는 발화된 발언이 단일 액션에만 영향을 미치도록 의도할 수 있으므로, 사용자가 영향을 미치려는 특정한 클라이언트 디바이스 및/또는 액션을 식별하는데 프로세스가 사용되어야 한다. 프로세스는 하나 이상의 서버 디바이스 및/또는 하나 이상의 클라이언트 디바이스에서 수행될 수 있다.
방법(500)은 발화된 발언을 통해 사용자에 의해 요청된 수정이 다수의 클라이언트 디바이스에 의해 수행되는 다수의 진행중인 액션의 중 진행중인 액션을 수정할 수 있는지를 결정하는 동작(504)을 더 포함할 수 있다. 특히 오디오 데이터를 텍스트로 변환한 다음 파싱하여 요청에 대응하는 텍스트 부분을 식별할 수 있다. 예를 들어, 발화된 발언의 호출 문구 부분은 "어시스턴트"일 수 있고, 발화된 발언의 요청 부분은 "중지"일 수 있다. 호출 문구 부분은 발화된 발언의 나머지 부분에 대응하는 오디오 데이터를 캡처하기 위해 다수의 클라이언트 디바이스가 각각의 마이크로폰의 동작 상태를 웨이크 상태로 수정하게 할 수 있다. 발화된 발언의 요청 부분이 식별되면, 요청이 진행중인 액션을 수정하기 위한 요청에 대응하는지 여부에 대한 결정이 내려질 수 있다.
방법(500)은 요청 및/또는 액션을 수행하기 위해 요청이 특히 디바이스를 특정하게 지명했는지 여부를 결정하는 동작(506)을 더 포함할 수 있다. 즉, 동작(506)은 수정될 액션 또는 액션에 대한 수정을 수행할 디바이스에 대해 요청이 특정적인지 모호한지 여부를 결정하는 것을 포함할 수 있다. 요청이 수정될 액션 및/또는 액션 수정을 수행할 디바이스에 대해 특정적인 경우, 방법(500)은 연속 엘리먼트 "A"를 통해 방법(500)의 동작(506)에서 방법(512)의 동작(510)로 진행할 수 있다. 요청이 수정될 액션 및/또는 액션을 수행할 디바이스에 대해 모호하면, 방법(500)은 동작(508)로 진행할 수 있다.
동작(508)은 진행중인 액션에 대한 수정에 대응하는 저장된 규정을 식별하는 것을 포함할 수 있다. 저장된 규정은 요청을 식별하기 위해 오디오 데이터로부터 파싱된 텍스트에 적어도 기초하여 식별될 수 있다. 하나 이상의 규정이 요청과 연관될 수 있으며, 각 규정은 한 명 이상의 사용자의 학습된 선호도에 따라 생성될 수 있다. 예를 들어, 식별된 규정은 앞서 언급한 "중지" 요청을 식별하고, 사용 가능한 컨텍스트 데이터에 따라 요청의 영향을 받아야 하는 하나 이상의 액션을 표시할 수 있다. 예를 들어, 컨텍스트 데이터는 사용자가 "중지" 요청을 제공한 위치 내에서 하나 이상의 디바이스의 동작 상태를 표시할 수 있으며, 규정은 자동화된 어시스턴트가 특정한 동작 상태에 기초하여 특정한 액션이 수정되게 할 수 있다.
방법(500)은 연속 엘리먼트 "B"에 의해 표시된 바와 같이 동작(508)로부터 동작(514)로 진행할 수 있다. 동작(514)은 저장된 규정과 연관된 컨텍스트 데이터에 액세스하는 것을 포함할 수 있다. 컨텍스트 데이터는 발화된 발언이 제공된 집의 디바이스 유형, 집 내 디바이스의 특성 및/또는 기능적 능력, 집 내에 일시적으로 존재하거나 사용자를 따르는 경향이 있는 디바이스(예: 시계, 휴대폰 등), 집에 있는 하나 이상의 디바이스의 동작 상태 또는 집에 있는 디바이스에 연결된 다른 디바이스의 동작 상태, 하나 이상의 디바이스에 의해 액세스되는 미디어, 하나 이상의 디바이스에 의해 수행되는 액션(예: 전화 통화, 타이머 카운트 다운), 하나 이상의 디바이스의 향후 동작 상태, 하나 이상의 디바이스의 예상 또는 예측된 동작 상태, 하나 이상의 디바이스가 각각의 동작 상태에 있는 시간, 하나 이상의 디바이스가 각각의 동작 상태에 있을 것으로 예상되거나 예측되는 시간 및/또는 장치 또는 애플리케이션과 연관될 수 있는 기타 속성 또는 구성을 식별하고 및/또는 특성화할 수 있다. 예를 들어, 컨텍스트 데이터는 사용자의 집이 알람을 울리는 어시스턴트 디바이스, 영화를 재생하는 텔레비전 및 전화를 수신하는 휴대폰을 포함하고 있음을 나타낼 수 있다.
방법(512)은 컨텍스트 데이터 및 저장된 규정에 기초하여, 자동화된 어시스턴트를 통해 액션을 수행하기 위한 타겟 컴퓨팅 디바이스를 결정하는 동작(516)을 더 포함할 수 있다. 예를 들어, 저장된 규정은 사용자가 "중지" 요청을 포함하는 모호한 발화된 발언을 제공하고, 임의의 디바이스에서 알람이 울리는 경우, 작동 디바이스에서 알람 액션을 중지해야 함을 나타낼 수 있다. 이러한 방식으로, 비-알람 발산 디바이스가 사용자의 모호한 요청을 집에 있는 다른 어떤 디바이스보다 더 크게 들었음에도 불구하고, 모호한 요청은 알람 발산 디바이스에만 영향을 미친다. 이러한 방식으로, 각각의 저장된 규정은 진행중인 액션을 수정하기 위한 적어도 하나의 볼륨-애그노스틱 조건을 포함할 수 있다.
방법(512)은 또한 타겟 컴퓨팅 디바이스가 자동화된 어시스턴트를 통해(또는 자동화된 어시스턴트를 통하지 않고) 액션을 수행(또는 진행중인 액션을 수정)하게 하는 동작(518)을 포함할 수 있다. 예를 들어, 컨텍스트 데이터를 식별된 저장된 규정과 비교하는 것에 응답하여, 자동화된 어시스턴트는 하나 이상의 디바이스에 의해 울리는 알람이 사용자의 요청에 따라 수정될 타겟 액션임을 결정할 수 있다. 그 다음 자동화된 어시스턴트는 알람을 울리는 디바이스에 기초하여 하나 이상의 타겟 디바이스를 식별할 수 있다. 단일 디바이스에서 하나의 알람만 울리는 경우, 자동화된 어시스턴트는 해당 단일 디바이스를 타겟 디바이스로 지정하고, 사용자의 요청에 따라 알람이 중지되도록 할 수 있다.
도 6은 다수의 클라이언트 디바이스로부터의 상태 정보를 프로세싱하고 상기 상태 정보의 프로세싱 결과에 기초하여 액션을 수행할 타겟 클라이언트 디바이스를 선택하기 위해 서버 디바이스의 공존 클러스터를 선택하는 방법(600)을 도시한다. 방법(600)은 자동화된 어시스턴트와 인터렉션할 수 있는 하나 이상의 컴퓨터 디바이스, 서버 디바이스, 애플리케이션 및/또는 임의의 기타 장치 또는 모듈에 의해 수행될 수 있다.
방법(600)은 사용자와 연관된 다수의 클라이언트 디바이스로부터 상태 정보를 수신하는 동작(602)을 포함할 수 있다. 상태 정보는 적어도 하나의 클라이언트 디바이스가 진행중인 액션을 수행하고 있음을 표시할 수 있다. 다수의 클라이언트 디바이스는 사용자의 집과 같은 위치 주변에 배치될 수 있으며, 근거리 통신망 및/또는 근거리 통신 채널과 같이 하나 이상의 다른 연결을 통해 연결된 디바이스를 포함할 수 있다. 상태 정보를 송신하기 전에 사용자가 요청을 하기 위해 대기해야 하는 것과 반대로, 상태 정보를 임의의 수신 서버 디바이스에 의해 더 쉽게 프로세싱될 수 있도록, 상태 정보는 주기적으로 다수의 클라이언트 디바이스에 의해 제공될 수 있다.
방법(600)은 상태 정보를 프로세싱하기 위해 지정된 서버 디바이스의 공존 클러스터를 선택하는 동작(604)을 더 포함할 수 있다. 지정된 서버 디바이스의 공존 클러스터는 각각 다수의 상이한 지리적 영역에 위치된 다수의 상이한 서버 디바이스의 공존 클러스터로부터 선택될 수 있다. 일부 구현예에서, 하나 이상의 사용자 디바이스와 연관된 하나 이상의 사용자 계정이 사용자로부터의 요청을 받을 것으로 예측된다는 것을 표시하는 상태 정보에 기초하여 지정된 서버 디바이스의 공존 클러스터가 선택될 수 있다. 서버 디바이스의 공존 클러스터의 선택은 기계 학습 모델 및/또는 상태 정보를 입력으로 사용하고 서버 디바이스의 공존 클러스터의 선택을 출력으로 제공하는 기능을 사용하여 상태 정보를 프로세싱하는 것에 기초할 수 있다.
방법(600)은 또한 사용자로부터 발화된 발언이 다수의 클라이언트 디바이스의 클라이언트 디바이스의 자동화된 어시스턴트 인터페이스에서 수신되었다고 결정하는 동작(606)을 포함할 수 있다. 사용자는 특정한 액션이 초기화, 수정, 중지되고 및/또는 특정한 정보가 사용자에게 제공되도록 요청할 수 있다. 그러나, 사용자가 응답을 제공하려는 디바이스에 대해서는 요청이 모호할 수 있다. 예를 들어, 사용자는 자동화된 어시스턴트로부터 정보에 대한 요청을 제공했을 수 있으며, 요청을 포함하는 발화된 발언은 다수의 클라이언트 디바이스에서 수신될 수 있다. 따라서, 자동화된 어시스턴트는 사용자에게 응답할 적절한 디바이스를 결정해야 한다.
방법(600)은 발화된 발언이 수신되었다는 결정에 응답하여, 오디오 데이터가 지정된 서버 디바이스의 공존 클러스터에 제공되게 하는 동작(608)을 더 포함할 수 있다. 오디오 데이터는 사용자로부터 발화된 발언을 인식 및/또는 들은 다수의 클라이언트 디바이스 중 적어도 하나의 클라이언트 디바이스에 의해 제공될 수 있다. 일부 구현예에서, 다수의 클라이언트 디바이스는 로컬 중재를 수행하여, 지정된 서버 디바이스의 공존 클러스터에 오디오 데이터를 제공하도록 지정될 클라이언트 디바이스를 선택할 수 있다. 중재는 예를 들어 다수의 클라이언트 디바이스 중 각 클라이언트 디바이스가 서로 음량 메트릭을 공유하도록 하는 것을 포함할 수 있다. 음량 메트릭은 특정한 클라이언트 디바이스가 발화된 발언을 들은 음량을 특성화할 수 있다. 다수의 클라이언트 디바이스 중 다른 클라이언트 디바이스에 비해 발화된 발언을 가장 크게 들었다고 결정되는 디바이스는 수신된 오디오 데이터를 지정된 서버 디바이스의 공존 클러스터에 전송할 수 있다. 일부 구현예에서, 다른 클라이언트 디바이스에 비해 사용자에게 가장 근접한 것으로 결정하는 클라이언트 디바이스는 오디오 데이터를 서버 디바이스의 공존 클러스터로 전송하도록 지정될 수 있다. 다른 구현예에서, 서버 디바이스의 공존 클러스터에 오디오 데이터를 제공하도록 지정된 클라이언트 디바이스는 컨텍스트 데이터 및/또는 본 명세서에서 논의되는 하나 이상의 동적 규정에 기초하여 결정될 수 있다. 일부 구현예에서, 서버 디바이스의 공존 클러스터에 오디오 데이터를 제공하도록 지정된 클라이언트 디바이스는 어느 클라이언트 디바이스가 발화된 발언의 수신을 먼저 확인했는지에 기초하여 결정될 수 있다. 이 결정은 각 디바이스가 발화된 발언을 들은 시간을 표시하는 클라이언트 디바이스 간에 전송된 타임 스탬프에 기초하여 이루어질 수 있으므로, 각 클라이언트 디바이스는 먼저 발화된 발언 들었는지 여부를 개별적으로 결정할 수 있다.
방법(600)은 또한 지정된 서버 디바이스의 공존 클러스터가 액션을 수행하기 위해 다수의 클라이언트 디바이스의 지정된 클라이언트 디바이스를 식별하게 하는 동작(610)을 포함할 수 있다. 액션을 수행하기 위해 지정된 클라이언트 디바이스는 지정된 서버 디바이스의 공존 클러스터에 의해 식별될 수 있다. 일부 구현예에서, 지정된 서버 디바이스의 공존 클러스터는 상태 정보 및 지정된 서버 디바이스의 공존 클러스터가 액세스 가능한 하나 이상의 동적 규정을 포함하지만 이에 한정되지 않는 컨텍스트 데이터를 프로세싱하는 것에 기초하여 액션을 수행할 지정된 클라이언트 디바이스를 선택한다. 이러한 방식으로, 서버 디바이스의 다수의 공존 클러스터가 동일한 정보를 프로세싱하여, 계산 및 네트워크 리소스를 낭비하지 않고, 이러한 정보를 프로세싱하기 위해 서버 디바이스의 단일 공존 클러스터를 지정할 수 있다. 또한, 이는 사용자가 다른 프라이머리 계정과 연결되어 다른 서버와 통신할 수 있는 다수의 어시스턴트-지원 디바이스에서 수신되는 발화된 발언을 제공할 때 발생할 수 있는 지연을 줄일 수 있다.
방법(600)은 지정된 클라이언트 디바이스가 사용자에 의해 요청된 액션을 수행하게 하는 동작(612)을 더 포함할 수 있다. 지정된 클라이언트 디바이스는 지정된 클라이언트 디바이스 및/또는 지정된 클라이언트 디바이스와 위치에서 공존하는 다른 클라이언트 디바이스로 향하는 지정된 서버 디바이스의 공존 클러스터의 출력에 기초하여 액션을 수행하게 할 수 있다. 일부 구현예에서, 지정된 서버 디바이스의 공존 클러스터가 액션을 수행하기 위한 둘 이상의 후보 클라이언트 디바이스 간에 동점임을 식별하면, 지정된 서버 디바이스 공존 클러스터는 본 명세서에서 논의된 바와 같이 동점 해결과 관련된 정보에 액세스 및/또는 그러한 정보를 수신할 수 있다.
도 7는 예시적 컴퓨터 시스템(710)의 블록도이다. 컴퓨터 시스템(710)는 일반적으로 적어도 하나의 프로세서(714)를 포함하며, 버스 서브시스템(712)을 통해 다수의 주변 디바이스들과 통신한다. 이들 주변 디바이스들은 예를 들면, 메모리(725) 및 파일 저장 서브시스템(726)을 포함하는 저장 서브시스템(724), 사용자 인터페이스 출력 디바이스(720), 사용자 인터페이스 입력 디바이스(722) 및 네트워크 인터페이스 서브시스템(716)을 포함할 수 있다. 입력 및 출력 디바이스는 컴퓨터 시스템(710)과 사용자 인터렉션을 하게 한다. 네트워크 인터페이스 서브시스템(716)은 외부 네트워크에 대한 인터페이스를 제공하며, 다른 컴퓨터 시스템들의 대응하는 인터페이스 디바이스들과 연결된다.
사용자 인터페이스 입력 디바이스(722)는 키보드, 마우스, 트랙볼, 터치패드 또는 그래픽 태블릿, 스캐너, 디스플레이에 통합된 터치스크린과 같은 포인팅 디바이스, 음성 인식 시스템, 마이크로폰과 같은 오디오 입력 디바이스 및/또는 다른 유형의 입력 디바이스를 포함한다. 일반적으로, 용어 "입력 디바이스"의 사용은 정보를 컴퓨터 시스템(710) 또는 통신 네트워크에 입력하기 위한 모든 가능한 유형의 디바이스들과 방식들을 포함하도록 의도된다.
사용자 인터페이스 출력 디바이스(720)는 디스플레이 서브시스템, 프린터, 팩스 기계 또는 오디오 출력 디바이스와 같은 비-시각적 디스플레이를 포함할 수 있다. 디스플레이 서브시스템은 CRT, LCD와 같은 평면 패널 디바이스, 프로젝션 디바이스 또는 시각적 이미지를 생성하기 위한 일부 기타 메커니즘을 포함할 수 있다. 또한, 디스플레이 서브시스템은 오디오 출력 디바이스와 같은 비-시각적 디스플레이를 제공할 수 있다. 일반적으로, 용어 "출력 디바이스"의 사용은 정보를 컴퓨터 시스템(710)로부터 사용자에게 또는 다른 기계 또는 컴퓨터 시스템에 정보를 출력하기 위한 모든 가능한 유형의 디바이스들과 방식들을 포함하도록 의도된다.
저장 서브시스템(724)은 본 명세서에 기술된 일부 또는 전부의 모듈들의 기능을 제공하기 위한 프로그래밍 및 데이터 구조를 저장한다. 예를 들어, 저장 서브시스템(724)은 방법(500), 방법(600)의 선택된 양태를 수행하고 및/또는 자동화된 어시스턴트, 어시스턴트 디바이스(104), 어시스턴트 디바이스(118), 텔레비전(128), 차량 자동화된 어시스턴트(106), 클라이언트 자동화된 어시스턴트(130), 클라이언트 디바이스(202), 원격 컴퓨팅 디바이스(208), 서버 디바이스, 로컬 디바이스, 클라이언트 디바이스 및/또는 본 명세서에서 논의된 임의의 기타 장치 또는 모듈 중 하나 이상을 구현하는 로직을 포함할 수 있다.
이들 소프트웨어 모듈들은 일반적으로 프로세서(714) 단독으로 또는 다른 프로세서들과의 조합에 의해 실행된다. 저장 서브시스템(724)에서 사용된 메모리(725)는 프로그램 실행 중에 명령어들 및 데이터의 저장을 위한 메인 RAM(730) 및 고정된 명령어들이 저장되는 ROM(732)을 포함하는 다수의 메모리들을 포함할 수 있다. 파일 저장 서브시스템(726)은 프로그램 및 데이터 파일에 대한 영구적 저장을 제공할 수 있고, 하드 디스크 드라이브, 연관된 이동식 매체와 함께인 플로피 디스크 드라이브, CD-ROM 드라이브, 광학 드라이브 또는 이동식 매체 카트리지들을 포함할 수 있다. 특정 구현예들의 기능을 구현하는 모듈들은 파일 저장 서브시스템(726)에 의해 저장 서브시스템(724)에 또는 프로세서(들)(714)에 의해 액세스가능한 다른 기계에 저장될 수 있다.
버스 서브시스템(712)은 의도된 대로 컴퓨터 시스템(710)의 다양한 컴포넌트들 및 서브시스템들이 서로 통신하게 하기 위한 메커니즘을 제공한다. 버스 서브시스템(712)이 개략적으로 단일의 버스로 도시되었지만, 버스 서브시스템의 대안적 구현예들은 다수의 버스들을 사용할 수 있다.
컴퓨터 시스템(710)은 워크스테이션, 서버, 컴퓨팅 클러스터, 블레이드 서버, 서퍼팜 또는 임의의 기타 데이터 프로세싱 시스템 또는 컴퓨팅 디바이스를 포함하는 다양한 유형들일 수 있다. 컴퓨터들 및 네트워크들의 변하지 않는 성질 때문에, 도 7에 도시된 컴퓨터 시스템(710)의 기술은 일부 구현예들을 도시하기 위한 목적의 특정 예시로만 의도된다. 컴퓨터 시스템(710)의 많은 다른 구성들이 도 7에 도시된 컴퓨터 시스템보다 많거나 적은 컴포넌트들을 가질 수 있다.
본 명세서에서 논의된 시스템들이 사용자들(또는 "참여자들"로 종종 지칭됨)에 관한 개인 정보를 수집하거나 또는 개인 정보를 사용하는 경우들에 있어서, 사용자들에게 프로그램들 또는 구성들이 사용자 정보(예를 들면, 사용자의 소셜 네트워크, 소셜 액션들 또는 활동들, 직업, 사용자의 선호들 또는 사용자의 현재 지리적 위치)에 관한 정보를 수집할 것인지 여부를 제어할, 사용자와 더 관련된 콘텐츠 서버로부터의 콘텐츠를 수신할지 및/또는 어떻게 수신할지 제어할 기회가 제공될 수 있다. 추가로, 특정 데이터는 그것이 저장되거나 사용되기 전에 하나 이상의 다양한 방식들로 취급되어, 개인적으로 식별가능한 정보는 제거된다. 예를 들면, 사용자의 신원은 사용자에 관한 개인적으로 식별가능한 정보가 결정될 수 없도록 취급되거나 또는 사용자의 지리적 위치는 위치 정보가 획득된 곳에서 일반화되어(시, 우편번호 또는 주 수준으로), 사용자의 특정한 지리적 위치가 결정될 수 없도록 한다. 따라서, 사용자는 사용자에 관한 정보가 어떻게 수집되는지 그리고 사용되는지에 관한 제어를 가질 수 있다.
몇몇 구현예가 본 명세서에서 기술되고 도시되었지만, 기능을 수행하고 및/또는 결과 및/또는 본 명세서에 기술된 하나 이상의 이점을 획득하기 위한 다양한 다른 수단들 및/또는 구조들이 활용될 수 있으며, 그러한 변형들 및/또는 수정들은 본 명세서에서 기술된 구현예들의 범위 내에 있는 것으로 간주된다. 보다 일반적으로, 본 명세서에 기술된 모든 파라미터, 치수, 재료 및 구성은 예시적인 것으로 의도되었으며, 실제 파라미터, 치수, 재료 및/또는 구성은 교시를 사용되는 특정 애플리케이션 또는 애플리케이션들에 의존할 것이다. 통상의 기술자는 일상적인 실험만을 사용하여 본 명세서에 기술된 특정 구현예들에 대한 많은 균등물들을 인식할 수 있거나 또는 확인할 수 있을 것이다. 따라서, 전술한 구현예들은 단지 예일 뿐이며, 첨부된 청구범위 및 그 균등물의 범위 내에서 구현은 구체적으로 기술되고 청구된 것과 다르게도 실시될 수 있음을 이해해야 한다. 본 개시의 구현은 본 명세서에 기술된 각각의 개별적인 구성, 시스템, 물품, 재료, 키트 및/또는 방법에 관한 것이다. 또한 구성, 시스템, 물품, 재료, 키트 및/또는 방법이 상호 불일치하지 않는다면, 그러한 두 개 이상의 구성, 시스템, 물품, 재료, 키트 및/또는 방법의 모든 조합이 본 발명의 범위 내에 포함된다.
Claims (20)
- 하나 이상의 프로세서에 의해 수행되는 방법으로서,
발화된 발언이 제1 클라이언트 디바이스에서 수신되었다고 결정하는 단계, 상기 발화된 발언은 상기 제1 클라이언트 디바이스의 어시스턴트 인터페이스를 통해 액세스 가능한 자동화된 어시스턴트와의 통신을 지원하기 위해 사용자에 의해 제공되며, 상기 발화된 발언은 상기 제1 클라이언트 디바이스를 포함하는 다수의 클라이언트 디바이스에 의해 수신되며;
상기 발화된 발언을 수신한 제2 클라이언트 디바이스로부터, 통신을 수신하는 단계, 상기 제2 클라이언트 디바이스에 의해 제공되는 통신은 상기 제2 클라이언트 디바이스의 제2 동작 상태와 연관된 컨텍스트를 나타내는 제1 컨텍스트 데이터를 포함하며;
상기 제1 클라이언트 디바이스의 제1 동작 상태와 연관된 다른 컨텍스트를 나타내는 다른 컨텍스트 데이터를 결정하는 단계;
상기 다수의 클라이언트 디바이스에 대한 순위를 결정하는 단계, 상기 순위는 상기 제1 컨텍스트 데이터에 기초한 적어도 제1 순위 및 상기 제2 컨텍스트 데이터에 기초한 제2 순위를 포함하고, 상기 순위 중 각 순위는 상기 발화된 발언에 응답하기 위해 상기 다수의 클라이언트 디바이스 중 특정한 클라이언트 디바이스의 선택에 적어도 부분적으로 영향을 미치며; 및
상기 다수의 클라이언트 디바이스 중 후보 클라이언트 디바이스가 상기 순위 중 다른 순위와 구별되는 대응 순위를 갖는 경우:
상기 순위 중 대응 순위에 적어도 기초하여, 상기 자동화된 어시스턴트가 상기 후보 디바이스를 통해 상기 발화된 발언에 응답하게 하는 단계를 포함하는, 방법. - 청구항 1에 있어서, 상기 통신은 상기 제1 클라이언트 디바이스에 의해 상기 발화된 발언이 수신되기 전에 상기 제2 클라이언트 디바이스로부터 수신되는, 방법.
- 청구항 2에 있어서, 상기 순위를 결정하는 단계는 상기 발화된 발언이 상기 제1 클라이언트 디바이스에서 수신되기 전 또는 상기 발화된 발언이 상기 제1 클라이언트 디바이스에서 수신되는 동안 수행되는, 방법.
- 청구항 1에 있어서,
상기 발화된 발언이 상기 오디오 인터페이스에서 수신되기 전에 상기 제2 컨텍스트 데이터를 생성하는 단계, 및
상기 네트워크 인터페이스가 상기 다른 디바이스에 별도의 통신을 제공하게 하는 단계를 더 포함하며, 상기 다른 디바이스는 상기 자동화된 어시스턴트를 통해 상기 발화된 발언에 응답하도록 상기 다른 디바이스에 작업이 주어질(tasking) 것인지 여부를 결정하도록 구성되는, 방법. - 청구항 1에 있어서,
별도의 통신을 상기 제1 클라이언트 디바이스와 통신하지만 상기 발화된 발언을 인식하지 않은 별도의 디바이스에 송신하는 단계, 및
상기 자동화된 어시스턴트를 통해 상기 발화된 발언에 응답하도록 상기 별도의 디바이스에 작업이 주어질 것인지 여부를 결정하는 단계를 더 포함하는, 방법. - 청구항 1에 있어서, 상기 발화된 발언을 수신한 상기 제2 클라이언트 디바이스로부터의 통신은 상기 제2 클라이언트 디바이스가 상기 발화된 발언을 수신하는 것에 대한 응답인, 방법.
- 청구항 1에 있어서,
상기 다수의 클라이언트 디바이스 중 둘 이상의 클라이언트 디바이스가 각각의 순위를 가지며 상기 순위가 상기 둘 이상의 클라이언트 디바이스 간에 동 순위인 경우:
상기 둘 이상의 클라이언트 디바이스의 특성을 나타내는 보충 컨텍스트 데이터 결정하는 단계, 및
상기 보충 컨텍스트 데이터에 기초하여, 순위가 상기 다수의 클라이언트 디바이스 중 다른 클라이언트 디바이스의 순위와 구별되는 각각의 클라이언트 디바이스에 유리하게 동 순위가 해소되게 하는 단계를 더 포함하는, 방법. - 하나 이상의 프로세서에 의해 수행되는 방법으로서,
데이터베이스에 복수의 동적 조정을 저장하는 단계, 각 동적 조정은 사용자 명령과 연관되며, 상기 사용자 명령에 대응하는 액션을 수행하기 위해 복수의 제어된 디바이스 각각과 상기 사용자 및/또는 상기 각각의 제어된 디바이스를 포함하는 복수의 클라이언트 디바이스 중 적어도 하나에 대한 컨텍스트 정보 간의 대응을 특정하며;
저장된 복수의 조정을 트레이닝하는 단계를 포함하며, 상기 트레이닝하는 단계는:
복수의 클라이언트 디바이스 중 하나로부터 사용자 명령을 표현하는 제1 입력을 수신하는 단계,
상기 수신된 사용자 명령에 대응하는 저장된 복수의 동적 조정 중 하나를 식별하는 단계,
상기 사용자 및/또는 상기 제어된 디바이스를 포함하는 복수의 클라이언트 디바이스 중 적어도 하나에 대한 컨텍스트 정보를 요청하고 획득하는 단계,
상기 저장된 동적 조정과 연관된 상기 컨텍스트 정보에 기초하여, 상기 복수의 클라이언트 디바이스 중 클라이언트 디바이스를 상기 제어된 디바이스로 식별하는 단계,
상기 식별된 클라이언트 디바이스에 의해 상기 식별된 동적 조정의 실행 개시하는 단계,
상기 복수의 클라이언트 디바이스 중 하나로부터 상기 사용자 명령의 업데이트를 표현하는 제2 입력을 수신하는 단계, 상기 수정은 제어될 업데이트된 클라이언트 디바이스를 특정하며, 및
상기 업데이트된 클라이언트 디바이스와 상기 획득된 컨텍스트 정보 간의 대응을 특정하기 위해 상기 데이터베이스에 저장된 동적 조정을 업데이트하는 단계에 의해 트레이닝되며; 및
상기 업데이트된 클라이언트 디바이스에 의해 상기 식별된 동적 조정의 실행을 개시하는 단계를 포함하는, 방법. - 청구항 8에 있어서, 상기 사용자 및/또는 상기 복수의 클라이언트 디바이스 중 적어도 하나에 대한 컨텍스트 정보를 요청하고 획득하는 단계는:
상기 복수의 클라이언트 디바이스 중 하나 이상을 포함하는 영역 내에서 상기 사용자의 위치를 요청하고 획득하는 단계를 포함하는, 방법. - 청구항 9에 있어서, 상기 사용자의 위치를 요청하고 획득하는 단계는 상기 사용자의 궤적을 요청하고 획득하는 단계를 더 포함하고, 상기 사용자의 궤적은 상기 복수의 클라이언트 디바이스 중 하나 이상을 포함하는 영역과 추가 영역 사이에서 상기 사용자의 움직임을 나타내는, 방법.
- 청구항 8에 있어서, 상기 사용자 및/또는 상기 제어된 디바이스를 포함하는 복수의 클라이언트 디바이스 중 적어도 하나에 대한 컨텍스트 정보를 요청하고 획득하는 단계는:
상기 복수의 클라이언트 디바이스 중 각각의 클라이언트 디바이스에 대응하는 위치를 요청하고 획득하는 단계를 포함하는, 방법. - 청구항 8에 있어서, 상기 복수의 클라이언트 디바이스 중 하나로부터의 사용자 명령을 나타내는 제1 입력은 상기 사용자 명령을 식별하는 사용자가 말한 발화된 발언을 포함하는, 방법.
- 청구항 12에 있어서, 상기 사용자 명령의 업데이트를 나타내는 상기 제2 입력은 상기 업데이트된 클라이언트 디바이스가 제어되도록 지정하는 상기 사용자가 말한 추가적인 발화된 발언을 포함하는, 방법.
- 하나 이상의 프로세서들에 의해 실행될 때 상기 하나 이상의 프로세서들로 하여금 동작들을 수행하게 하는 명령어들을 저장하도록 구성된 비일시적 컴퓨터 판독가능 저장 매체에 있어서, 상기 동작들은:
발화된 발언이 제1 클라이언트 디바이스에서 수신되었다고 결정하는 동작, 상기 발화된 발언은 상기 제1 클라이언트 디바이스의 어시스턴트 인터페이스를 통해 액세스 가능한 자동화된 어시스턴트와의 통신을 지원하기 위해 사용자에 의해 제공되며, 상기 발화된 발언은 상기 제1 클라이언트 디바이스를 포함하는 다수의 클라이언트 디바이스에 의해 수신되며;
상기 발화된 발언을 수신한 제2 클라이언트 디바이스로부터, 통신을 수신하는 동작, 상기 제2 클라이언트 디바이스에 의해 제공되는 통신은 상기 제2 클라이언트 디바이스의 제2 동작 상태와 연관된 컨텍스트를 나타내는 제1 컨텍스트 데이터를 포함하며;
상기 제1 클라이언트 디바이스의 제1 동작 상태와 연관된 다른 컨텍스트를 나타내는 다른 컨텍스트 데이터를 결정하는 동작;
상기 다수의 클라이언트 디바이스에 대한 순위를 결정하는 동작, 상기 순위는 상기 제1 컨텍스트 데이터에 기초한 적어도 제1 순위 및 상기 제2 컨텍스트 데이터에 기초한 제2 순위를 포함하고, 상기 순위 중 각 순위는 상기 발화된 발언에 응답하기 위해 상기 다수의 클라이언트 디바이스 중 특정한 클라이언트 디바이스의 선택에 적어도 부분적으로 영향을 미치며; 및
상기 다수의 클라이언트 디바이스 중 후보 클라이언트 디바이스가 상기 순위 중 다른 순위와 구별되는 대응 순위를 갖는 경우:
상기 순위 중 대응 순위에 적어도 기초하여, 상기 자동화된 어시스턴트가 상기 후보 디바이스를 통해 상기 발화된 발언에 응답하게 하는 동작을 포함하는, 비일시적 컴퓨터 판독가능 저장 매체. - 청구항 14에 있어서, 상기 통신은 상기 제1 클라이언트 디바이스에 의한 상기 발화된 발언 이전에 상기 제2 클라이언트 디바이스로부터 수신되는, 비일시적 컴퓨터 판독가능 저장 매체.
- 청구항 15에 있어서, 상기 순위를 결정하는 동작은 상기 발화된 발언이 상기 제1 클라이언트 디바이스에서 수신되기 전 또는 상기 발화된 발언이 상기 제1 클라이언트 디바이스에서 수신되는 동안 수행되는, 비일시적 컴퓨터 판독가능 저장 매체.
- 청구항 14에 있어서, 상기 동작들은:
상기 발화된 발언이 상기 오디오 인터페이스에서 수신되기 전에 상기 제2 컨텍스트 데이터를 생성하는 동작, 및
상기 네트워크 인터페이스가 상기 다른 디바이스에 별도의 통신을 제공하게 하는 동작을 더 포함하며, 상기 다른 디바이스는 상기 자동화된 어시스턴트를 통해 상기 발화된 발언에 응답하도록 상기 다른 디바이스에 작업이 주어질(tasking) 것인지 여부를 결정하도록 구성되는, 비일시적 컴퓨터 판독가능 저장 매체. - 청구항 14에 있어서, 상기 동작들은:
별도의 통신을 상기 제1 클라이언트 디바이스와 통신하지만 상기 발화된 발언을 인식하지 않은 별도의 디바이스에 송신하는 동작, 및
상기 자동화된 어시스턴트를 통해 상기 발화된 발언에 응답하도록 상기 별도의 디바이스에 작업이 주어질 것인지 여부를 결정하는 동작을 더 포함하는, 비일시적 컴퓨터 판독가능 저장 매체. - 청구항 14에 있어서, 상기 발화된 발언을 수신한 상기 제2 클라이언트 디바이스로부터의 통신은 상기 제2 클라이언트 디바이스가 상기 발화된 발언을 수신하는 것에 대한 응답인, 비일시적 컴퓨터 판독가능 저장 매체.
- 청구항 14에 있어서, 상기 동작들은:
상기 다수의 클라이언트 디바이스 중 둘 이상의 클라이언트 디바이스가 각각의 순위를 가지며 상기 순위가 상기 둘 이상의 클라이언트 디바이스 간에 동 순위인 경우:
상기 둘 이상의 클라이언트 디바이스의 특성을 나타내는 보충 컨텍스트 데이터 결정하는 동작, 및
상기 보충 컨텍스트 데이터에 기초하여, 순위가 상기 다수의 클라이언트 디바이스 중 다른 클라이언트 디바이스의 순위와 구별되는 각각의 클라이언트 디바이스에 유리하게 동 순위가 해소되게 하는 동작을 더 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2018/047762 WO2020040775A1 (en) | 2018-08-23 | 2018-08-23 | Regulating assistant responsiveness according to characteristics of a multi-assistant environment |
KR1020207035647A KR102586990B1 (ko) | 2018-08-23 | 2018-08-23 | 멀티-어시스턴트 환경의 특성에 따른 어시스턴트 응답성 규정하기 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207035647A Division KR102586990B1 (ko) | 2018-08-23 | 2018-08-23 | 멀티-어시스턴트 환경의 특성에 따른 어시스턴트 응답성 규정하기 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230145521A true KR20230145521A (ko) | 2023-10-17 |
Family
ID=63492007
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207035647A KR102586990B1 (ko) | 2018-08-23 | 2018-08-23 | 멀티-어시스턴트 환경의 특성에 따른 어시스턴트 응답성 규정하기 |
KR1020237033836A KR20230145521A (ko) | 2018-08-23 | 2018-08-23 | 멀티-어시스턴트 환경의 특성에 따른 어시스턴트 응답성 규정하기 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207035647A KR102586990B1 (ko) | 2018-08-23 | 2018-08-23 | 멀티-어시스턴트 환경의 특성에 따른 어시스턴트 응답성 규정하기 |
Country Status (6)
Country | Link |
---|---|
US (3) | US11037562B2 (ko) |
EP (2) | EP3642837B1 (ko) |
JP (2) | JP7159355B2 (ko) |
KR (2) | KR102586990B1 (ko) |
CN (1) | CN112313742A (ko) |
WO (1) | WO2020040775A1 (ko) |
Families Citing this family (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US20120309363A1 (en) | 2011-06-03 | 2012-12-06 | Apple Inc. | Triggering notifications associated with tasks items that represent tasks to perform |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
EP3809407A1 (en) | 2013-02-07 | 2021-04-21 | Apple Inc. | Voice trigger for a digital assistant |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9966065B2 (en) | 2014-05-30 | 2018-05-08 | Apple Inc. | Multi-command single utterance input method |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US10200824B2 (en) | 2015-05-27 | 2019-02-05 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
US10740384B2 (en) | 2015-09-08 | 2020-08-11 | Apple Inc. | Intelligent automated assistant for media search and playback |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10331312B2 (en) | 2015-09-08 | 2019-06-25 | Apple Inc. | Intelligent automated assistant in a media environment |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK180048B1 (en) | 2017-05-11 | 2020-02-04 | Apple Inc. | MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK201770429A1 (en) | 2017-05-12 | 2018-12-14 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
US10303715B2 (en) | 2017-05-16 | 2019-05-28 | Apple Inc. | Intelligent automated assistant for media exploration |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
US10546583B2 (en) * | 2017-08-30 | 2020-01-28 | Amazon Technologies, Inc. | Context-based device arbitration |
US11100146B1 (en) * | 2018-03-23 | 2021-08-24 | Amazon Technologies, Inc. | System management using natural language statements |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
DK179822B1 (da) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
CN112313742A (zh) | 2018-08-23 | 2021-02-02 | 谷歌有限责任公司 | 根据多助理环境的特性来调节助理响应性 |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
WO2020070878A1 (ja) * | 2018-10-05 | 2020-04-09 | 本田技研工業株式会社 | エージェント装置、エージェント制御方法、およびプログラム |
CN113348505A (zh) | 2019-02-08 | 2021-09-03 | 谷歌有限责任公司 | 适应第三方服务器的设备状态报告的差异 |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
WO2020218650A1 (ko) * | 2019-04-26 | 2020-10-29 | 엘지전자 주식회사 | 전자기기 |
WO2020222988A1 (en) | 2019-04-30 | 2020-11-05 | Apple Inc. | Utilizing context information with an electronic device |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
WO2020242493A1 (en) * | 2019-05-31 | 2020-12-03 | Google Llc | Dynamically assigning multi-modality circumstantial data to assistant action requests for correlating with subsequent requests |
DK201970511A1 (en) | 2019-05-31 | 2021-02-15 | Apple Inc | Voice identification in digital assistant systems |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | USER ACTIVITY SHORTCUT SUGGESTIONS |
US11468890B2 (en) | 2019-06-01 | 2022-10-11 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
US11429344B1 (en) * | 2019-09-27 | 2022-08-30 | Amazon Technologies, Inc. | Locally grouping voice-enabled device state communications |
US20210194716A1 (en) * | 2019-12-19 | 2021-06-24 | Lenovo (Singapore) Pte. Ltd. | Methods and devices to manage action of remote electronic devices |
KR20210089295A (ko) * | 2020-01-07 | 2021-07-16 | 엘지전자 주식회사 | 인공지능 기반의 정보 처리 방법 |
KR20210098250A (ko) * | 2020-01-31 | 2021-08-10 | 삼성전자주식회사 | 전자 장치 및 이의 제어 방법 |
US11335335B2 (en) * | 2020-02-03 | 2022-05-17 | International Business Machines Corporation | Disambiguation of generic commands for controlling objects |
WO2021167654A1 (en) * | 2020-02-17 | 2021-08-26 | Cerence Operating Company | Coordinating electronic personal assistants |
US11393471B1 (en) * | 2020-03-30 | 2022-07-19 | Amazon Technologies, Inc. | Multi-device output management based on speech characteristics |
US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
US11038934B1 (en) | 2020-05-11 | 2021-06-15 | Apple Inc. | Digital assistant hardware abstraction |
US11490204B2 (en) | 2020-07-20 | 2022-11-01 | Apple Inc. | Multi-device audio adjustment coordination |
US11438683B2 (en) | 2020-07-21 | 2022-09-06 | Apple Inc. | User identification using headphones |
KR20220057046A (ko) * | 2020-10-29 | 2022-05-09 | 삼성전자주식회사 | 전자 장치 및 전자 장치에서 태스크 수행을 위한 장치를 결정하는 방법 |
CN112543342B (zh) | 2020-11-26 | 2023-03-14 | 腾讯科技(深圳)有限公司 | 虚拟视频直播处理方法及装置、存储介质、电子设备 |
KR20220118766A (ko) * | 2021-02-19 | 2022-08-26 | 삼성전자주식회사 | 발화 입력에 기초한 커맨드를 처리하는 방법 및 모바일 디바이스 |
Family Cites Families (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2295756C (en) * | 1997-06-25 | 2003-04-15 | Samsung Electronics Co., Ltd. | Browser based command and control home network |
IL140805A0 (en) * | 1998-10-02 | 2002-02-10 | Ibm | Structure skeletons for efficient voice navigation through generic hierarchical objects |
KR100513292B1 (ko) * | 2003-04-16 | 2005-09-09 | 삼성전자주식회사 | 홈 네트워크에서 홈상태 정보를 구성하고 이용하는 방법및 시스템 |
US10237237B2 (en) * | 2007-06-12 | 2019-03-19 | Icontrol Networks, Inc. | Communication protocols in integrated systems |
US7949529B2 (en) * | 2005-08-29 | 2011-05-24 | Voicebox Technologies, Inc. | Mobile systems and methods of supporting natural language human-machine interactions |
EP1933499B1 (en) * | 2006-12-13 | 2016-03-30 | Alcatel Lucent | Policy-based management method for remote management of home devices |
US8140335B2 (en) * | 2007-12-11 | 2012-03-20 | Voicebox Technologies, Inc. | System and method for providing a natural language voice user interface in an integrated voice navigation services environment |
US9836276B2 (en) * | 2009-05-27 | 2017-12-05 | Hon Hai Precision Industry Co., Ltd. | Voice command processing method and electronic device utilizing the same |
US8375118B2 (en) * | 2010-11-18 | 2013-02-12 | Verizon Patent And Licensing Inc. | Smart home device management |
US8995981B1 (en) * | 2010-12-13 | 2015-03-31 | Csr Technology Inc. | Systems and methods for remote control adaptive configuration |
US9942304B2 (en) * | 2011-01-08 | 2018-04-10 | N99 Llc | Remote control authority and authentication |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US20140135952A1 (en) * | 2012-11-15 | 2014-05-15 | Samsung Electronics Co., Ltd. | Home network system |
EP2936742B1 (en) * | 2012-12-21 | 2019-10-09 | Koninklijke KPN N.V. | Low-latency streaming |
US9466286B1 (en) * | 2013-01-16 | 2016-10-11 | Amazong Technologies, Inc. | Transitioning an electronic device between device states |
US9922580B2 (en) * | 2013-04-30 | 2018-03-20 | Google Llc | Apparatus and method for the virtual demonstration of a smart phone controlled smart home using a website |
US9443527B1 (en) * | 2013-09-27 | 2016-09-13 | Amazon Technologies, Inc. | Speech recognition capability generation and control |
US11651258B2 (en) | 2014-01-08 | 2023-05-16 | Yechezkal Evan Spero | Integrated docking system for intelligent devices |
JP2015166971A (ja) * | 2014-03-04 | 2015-09-24 | 富士通株式会社 | 情報処理装置、情報処理システム、情報処理方法、及び、情報処理プログラム |
US10250937B2 (en) | 2014-05-30 | 2019-04-02 | Apple Inc. | Item to item transitions |
US9990129B2 (en) * | 2014-05-30 | 2018-06-05 | Apple Inc. | Continuity of application across devices |
US9966065B2 (en) | 2014-05-30 | 2018-05-08 | Apple Inc. | Multi-command single utterance input method |
US10410630B2 (en) * | 2014-06-19 | 2019-09-10 | Robert Bosch Gmbh | System and method for speech-enabled personalized operation of devices and services in multiple operating environments |
KR102261552B1 (ko) * | 2014-06-30 | 2021-06-07 | 삼성전자주식회사 | 음성 명령어 제공 방법 및 이를 지원하는 전자 장치 |
CN104197299A (zh) * | 2014-08-21 | 2014-12-10 | 浙江生辉照明有限公司 | 照明装置及基于该装置的语音播报系统及方法 |
US20160055240A1 (en) * | 2014-08-22 | 2016-02-25 | Microsoft Corporation | Orphaned utterance detection system and method |
US10631123B2 (en) * | 2014-09-24 | 2020-04-21 | James Thomas O'Keeffe | System and method for user profile enabled smart building control |
US9318107B1 (en) * | 2014-10-09 | 2016-04-19 | Google Inc. | Hotword detection on multiple devices |
US9466297B2 (en) * | 2014-12-09 | 2016-10-11 | Microsoft Technology Licensing, Llc | Communication system |
KR102371697B1 (ko) * | 2015-02-11 | 2022-03-08 | 삼성전자주식회사 | 음성 기능 운용 방법 및 이를 지원하는 전자 장치 |
US9613503B2 (en) * | 2015-02-23 | 2017-04-04 | Google Inc. | Occupancy based volume adjustment |
TWI569679B (zh) * | 2015-04-08 | 2017-02-01 | 普易科技股份有限公司 | 居家控制閘道器及其閘道控制方法 |
US10861449B2 (en) * | 2015-05-19 | 2020-12-08 | Sony Corporation | Information processing device and information processing method |
KR102354943B1 (ko) * | 2015-05-20 | 2022-01-25 | 삼성전자주식회사 | 전자 장치가 외부 기기를 제어하는 방법 및 상기 전자 장치 |
US9875081B2 (en) | 2015-09-21 | 2018-01-23 | Amazon Technologies, Inc. | Device selection for providing a response |
US10419877B2 (en) * | 2015-10-07 | 2019-09-17 | Samsung Electronics Co., Ltd. | Electronic apparatus and IoT device controlling method thereof |
US9922648B2 (en) * | 2016-03-01 | 2018-03-20 | Google Llc | Developer voice actions system |
KR20170132622A (ko) * | 2016-05-24 | 2017-12-04 | 삼성전자주식회사 | 음성 인식 기능을 갖는 전자 장치 및 전자 장치의 동작 방법 |
JP6767206B2 (ja) * | 2016-08-30 | 2020-10-14 | シャープ株式会社 | 応答システム |
US10783883B2 (en) * | 2016-11-03 | 2020-09-22 | Google Llc | Focus session at a voice interface device |
US10157613B2 (en) * | 2016-11-17 | 2018-12-18 | BrainofT Inc. | Controlling connected devices using a relationship graph |
US10332523B2 (en) | 2016-11-18 | 2019-06-25 | Google Llc | Virtual assistant identification of nearby computing devices |
US11354089B2 (en) * | 2016-12-09 | 2022-06-07 | Robert Bosch Gmbh | System and method for dialog interaction in distributed automation systems |
US10726835B2 (en) * | 2016-12-23 | 2020-07-28 | Amazon Technologies, Inc. | Voice activated modular controller |
US10679608B2 (en) * | 2016-12-30 | 2020-06-09 | Google Llc | Conversation-aware proactive notifications for a voice interface device |
EP3590230B1 (en) * | 2017-03-02 | 2020-06-24 | Signify Holding B.V. | Control events in a system of networked home devices |
KR102416782B1 (ko) * | 2017-03-28 | 2022-07-05 | 삼성전자주식회사 | 음성 인식 서비스 운용 방법 및 이를 지원하는 전자 장치 |
KR101925034B1 (ko) * | 2017-03-28 | 2018-12-04 | 엘지전자 주식회사 | 스마트 컨트롤링 디바이스 및 그 제어 방법 |
KR102348758B1 (ko) * | 2017-04-27 | 2022-01-07 | 삼성전자주식회사 | 음성 인식 서비스 운용 방법 및 이를 지원하는 전자 장치 |
DK179549B1 (en) * | 2017-05-16 | 2019-02-12 | Apple Inc. | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
US10873658B2 (en) * | 2017-08-17 | 2020-12-22 | Hubbell Incorporated | Configurable multi-function ruggedized voice over internet protocol (VoIP) communications device with universal application platform |
US10818290B2 (en) * | 2017-12-11 | 2020-10-27 | Sonos, Inc. | Home graph |
US11057238B2 (en) * | 2018-01-08 | 2021-07-06 | Brilliant Home Technology, Inc. | Automatic scene creation using home device control |
US10157042B1 (en) * | 2018-02-06 | 2018-12-18 | Amazon Technologies, Inc. | Audio output control |
KR20190113130A (ko) * | 2018-03-27 | 2019-10-08 | 삼성전자주식회사 | 사용자 음성 입력을 처리하는 장치 |
US10985972B2 (en) * | 2018-07-20 | 2021-04-20 | Brilliant Home Technoloy, Inc. | Distributed system of home device controllers |
CN112313742A (zh) | 2018-08-23 | 2021-02-02 | 谷歌有限责任公司 | 根据多助理环境的特性来调节助理响应性 |
JP2020112692A (ja) * | 2019-01-11 | 2020-07-27 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | 方法、制御装置、及びプログラム |
-
2018
- 2018-08-23 CN CN201880095112.6A patent/CN112313742A/zh active Pending
- 2018-08-23 JP JP2020569892A patent/JP7159355B2/ja active Active
- 2018-08-23 EP EP18765523.8A patent/EP3642837B1/en active Active
- 2018-08-23 EP EP24156064.8A patent/EP4343534A3/en active Pending
- 2018-08-23 KR KR1020207035647A patent/KR102586990B1/ko active IP Right Grant
- 2018-08-23 US US16/343,934 patent/US11037562B2/en active Active
- 2018-08-23 WO PCT/US2018/047762 patent/WO2020040775A1/en unknown
- 2018-08-23 KR KR1020237033836A patent/KR20230145521A/ko not_active Application Discontinuation
-
2021
- 2021-06-14 US US17/346,797 patent/US11756546B2/en active Active
-
2022
- 2022-10-12 JP JP2022164140A patent/JP2022188251A/ja active Pending
-
2023
- 2023-09-11 US US18/244,738 patent/US20240013783A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4343534A2 (en) | 2024-03-27 |
JP2021533400A (ja) | 2021-12-02 |
KR102586990B1 (ko) | 2023-10-10 |
CN112313742A (zh) | 2021-02-02 |
US20200302925A1 (en) | 2020-09-24 |
US11756546B2 (en) | 2023-09-12 |
JP2022188251A (ja) | 2022-12-20 |
JP7159355B2 (ja) | 2022-10-24 |
WO2020040775A1 (en) | 2020-02-27 |
US20210304764A1 (en) | 2021-09-30 |
US11037562B2 (en) | 2021-06-15 |
KR20210010501A (ko) | 2021-01-27 |
US20240013783A1 (en) | 2024-01-11 |
EP3642837A1 (en) | 2020-04-29 |
EP4343534A3 (en) | 2024-05-29 |
EP3642837B1 (en) | 2024-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102586990B1 (ko) | 멀티-어시스턴트 환경의 특성에 따른 어시스턴트 응답성 규정하기 | |
US11693533B2 (en) | Providing composite graphical assistant interfaces for controlling various connected devices | |
EP3788620B1 (en) | Supplementing voice inputs to an automated assistant according to selected suggestions | |
KR102621636B1 (ko) | 루틴 실행 중에 클라이언트 디바이스간 자동화 어시스턴트 루틴 전송 | |
CN113168304A (zh) | 有条件地将各种自动助理功能分配给与外围助理控制设备的交互 | |
KR102477072B1 (ko) | 자동화된 어시스턴트를 통해 수행되도록 요청된 일련의 동작들의 실행 조정 | |
JP7250887B2 (ja) | IoTベースの通知の生成、およびクライアントデバイスの自動化アシスタントクライアントによるIoTベースの通知の自動レンダリングを引き起こすコマンドの提供 | |
JP2022522104A (ja) | アシスタントの応答を動的に適応させること | |
CN112313606A (zh) | 为自动助理扩展物理运动手势词典 | |
CN114981772A (zh) | 在不需要自动助理的基于语音的调用的情况下基于检测到的环境状况来选择性地调用自动助理 | |
US20230031461A1 (en) | Providing certain reasoning with respect to fulfillment of an assistant command | |
CN116711283A (zh) | 提供关于履行助理命令的确定性推理 | |
WO2023009156A1 (en) | Providing certain reasoning with respect to fulfillment of an assistant command |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
E902 | Notification of reason for refusal |