KR102667842B1 - 가상 어시스턴트를 위한 입력 모드 선택 - Google Patents

가상 어시스턴트를 위한 입력 모드 선택 Download PDF

Info

Publication number
KR102667842B1
KR102667842B1 KR1020237003271A KR20237003271A KR102667842B1 KR 102667842 B1 KR102667842 B1 KR 102667842B1 KR 1020237003271 A KR1020237003271 A KR 1020237003271A KR 20237003271 A KR20237003271 A KR 20237003271A KR 102667842 B1 KR102667842 B1 KR 102667842B1
Authority
KR
South Korea
Prior art keywords
input
mobile device
virtual assistant
input mode
assistant application
Prior art date
Application number
KR1020237003271A
Other languages
English (en)
Other versions
KR20230020019A (ko
Inventor
이브라힘 바드르
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/981,536 external-priority patent/US11169668B2/en
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20230020019A publication Critical patent/KR20230020019A/ko
Application granted granted Critical
Publication of KR102667842B1 publication Critical patent/KR102667842B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72454User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to context-related or environment-related conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72448User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
    • H04M1/72457User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to geographic location

Abstract

입력 모드를 선택하는 방법, 시스템 및 장치가 설명된다. 일 양태에서, 방법은 모바일 장치의 잠금 스크린으로부터 가상 어시스턴트 애플리케이션을 시작하기 위한 요청을 지정하는 요청 데이터를 수신하는 단계를 포함한다. 요청 데이터를 수신하면 입력 신호가 획득된다. 가상 어시스턴트 애플리케이션에 대한 입력 모드는 입력 신호를 기반으로 후보 입력 모드에서 선택된다. 각 후보 입력 모드는 서로 다른 입력 유형의 서로 다른 후보 입력 모드의 입력 유형이다. 입력 유형에는 이미지 유형과 오디오 유형이 포함된다. 이미지 유형의 입력 모드는 가상 어시스턴트 애플리케이션에 입력하기 위한 픽셀 데이터를 수신한다. 오디오 유형의 입력 모드는 가상 어시스턴트 애플리케이션에 대한 오디오 입력을 수신한다. 가상 어시스턴트 애플리케이션은 선택된 입력 모드를 사용하여 수신된 입력 신호에 따라 선택된 콘텐츠를 제시한다.입력 모드를 선택하는 방법, 시스템 및 장치가 설명된다. 일 양태에서, 방법은 모바일 장치의 잠금 스크린으로부터 가상 어시스턴트 애플리케이션을 시작하기 위한 요청을 지정하는 요청 데이터를 수신하는 단계를 포함한다. 요청 데이터를 수신하면 입력 신호가 획득된다. 가상 어시스턴트 애플리케이션에 대한 입력 모드는 입력 신호를 기반으로 후보 입력 모드에서 선택된다. 각 후보 입력 모드는 서로 다른 입력 유형의 서로 다른 후보 입력 모드의 입력 유형이다. 입력 유형에는 이미지 유형과 오디오 유형이 포함된다. 이미지 유형의 입력 모드는 가상 어시스턴트 애플리케이션에 입력하기 위한 픽셀 데이터를 수신한다. 오디오 유형의 입력 모드는 가상 어시스턴트 애플리케이션에 대한 오디오 입력을 수신한다. 가상 어시스턴트 애플리케이션은 선택된 입력 모드를 사용하여 수신된 입력 신호에 따라 선택된 콘텐츠를 제시한다.

Description

가상 어시스턴트를 위한 입력 모드 선택{SELECTING AN INPUT MODE FOR A VIRTUAL ASSISTANT}
본 명세서는 가상 어시스턴트를 위한 입력 모드 선택에 관한 것이다.
가상 어시스턴트는 질문에 대답하고, 음악을 재생하고, 캘린더 애플리케이션에서 이벤트를 스케줄링하는 등과 같이 사용자를 위한 태스크 또는 서비스를 수행할 수 있는 소프트웨어 애플리케이션이다. 가상 어시스턴트는 일반적으로 자연어 형식의 음성 또는 텍스트를 통해 요청을 수신한다. 예를 들어, 사용자는 음성을 이용하여 가상 어시스턴트에 질문할 수 있고, 가상 어시스턴트는 음성 입력을 인식하고, 스피커를 사용하여 질문에 대한 답변을 제공하거나 사용자 인터페이스에서 답변을 제시할 수 있다.
본 명세서는 하나 이상의 신호를 기반으로 사용자에게 콘텐츠를 제공하기 위한 입력 모드를 선택하는 것에 관련된 기술을 설명한다. 일반적으로, 본 명세서에 기술된 요지의 하나의 혁신적인 양태는, 모바일 장치의 잠금 화면에서 가상 어시스턴트 애플리케이션을 시작하도록 하는 요청을 지정하는 요청 데이터를 수신하는 단계; 요청 데이터를 수신하는 것에 응답하여, 복수의 입력 신호들을 획득하는 단계 -입력 신호들 각각은 서로 다른 입력 유형의 서로 다른 입력 신호의 입력 유형이고, 각 입력 신호는 가상 어시스턴트에 대한 입력이고, 입력 신호들에 대한 입력 유형들은 이미지 유형 및 오디오 유형을 포함하고, 이미지 유형의 입력 신호는 모바일 장치의 카메라에 의해 캡처된 이미지에 대한 픽셀 데이터이고, 오디오 유형의 입력 신호는 모바일 장치의 마이크로폰에 의해 캡처된 오디오 입력에 대한 오디오 데이터임-; 복수의 입력 신호들에 기초하여 그리고 복수의 후보 입력 모드들로부터 가상 어시스턴트 애플리케이션에 대한 입력 모드를 선택하는 단계 -각각의 후보 입력 모드는 서로 다른 입력 유형의 서로 다른 후보 입력 모드의 입력 유형이고, 입력 유형들은 이미지 유형과 오디오 유형을 포함하고, 이미지 유형의 입력 모드는 가상 어시스턴트 애플리케이션에 대한 입력을 위한 픽셀 데이터를 수신하고, 오디오 유형의 입력 모드는 가상 어시스턴트 애플리케이션에 대한 오디오 입력을 수신함-; 그리고 가상 어시스턴트 애플리케이션에 의해, 모바일 장치의 사용자에게 콘텐츠를 제시하는 단계 -제시된 콘텐츠는 선택된 입력 모드를 사용하여 수신된 입력 신호에 기초하여 선택됨-를 포함하는 방법으로 구현될 수 있다. 이 양태의 다른 구현은 컴퓨터 저장 장치에 인코딩된, 방법의 액션들을 수행하도록 구성된, 장치, 디바이스, 시스템 및 컴퓨터 프로그램을 포함한다.
이러한 구현 및 기타 구현은 각각 다음 기능 중 하나 이상을 선택적으로 포함할 수 있다. 일부 양태들에서, 복수의 입력 신호들에 기초하여 그리고 복수의 후보 입력 모드들로부터 가상 어시스턴트 애플리케이션에 대한 입력 모드를 선택하는 단계는, 픽셀 데이터에 기초하여, 이미지가 하나 이상의 인식된 객체들을 포함하는지 여부를 결정하는 단계; 오디오 데이터에 기초하여, 오디오가 하나 이상의 인식된 음성 단어들을 포함하는지 여부를 결정하는 단계; 그리고 각각의 결정에 기초하여, 입력 모드들 중 적어도 하나를 선택하는 단계를 포함한다.
일부 양태들은 선택된 입력 모드에 기초하여 상기 복수의 입력 신호들 중 입력을 원격 서버로 전송하는 단계를 포함하며, 사용자에게 제시되는 콘텐츠는 복수의 입력 신호들의 상기 전송된 입력에 기초하여 원격 서버로부터 수신될 수 있다.
일부 양태들은, 선택된 입력 모드에 기초하여 가상 어시스턴트 애플리케이션에 의해 제시(presentation)하기 위한 사용자 인터페이스를 선택하는 단계를 포함하며, 상기 콘텐츠는 선택된 사용자 인터페이스를 사용하여 제시될 수 있다.
일부 양태들에서, 복수의 입력 신호들을 획득하는 단계는 모바일 장치의 가속도계 또는 모바일 장치의 자이로스코프 중 하나 이상으로부터 수신된 데이터에 기초하여 사용자에 대한 모바일 장치의 위치를 결정하는 단계를 포함한다. 복수의 입력 신호들에 기초하여 그리고 복수의 후보 입력 모드들로부터 가상 어시스턴트 애플리케이션에 대한 입력 모드를 선택하는 단계는 사용자에 대한 모바일 장치의 위치에 기초하여 입력 모드를 선택하는 단계를 포함할 수 있다.
일부 양태들에서, 복수의 입력 신호들을 획득하는 단계는 모바일 장치의 가속도계 또는 모바일 장치의 자이로스코프 중 하나 이상으로부터 수신된 데이터에 기초하여 모바일 장치의 카메라가 가리키는 방향을 결정하는 단계를 포함한다. 복수의 입력 신호들에 기초하여 그리고 복수의 후보 입력 모드들로부터 가상 어시스턴트 애플리케이션에 대한 입력 모드를 선택하는 단계는 모바일 장치의 카메라가 가리키는 방향에 기초하여 입력 모드를 선택하는 단계를 포함할 수 있다.
일부 양태들에서, 가상 어시스턴트에 대한 입력들과 관련된 하나 이상의 신호들을 획득하는 것은, 모바일 장치의 지리적 위치를 지정하는 지리적 위치 데이터를 획득하는 것을 포함할 수 있다. 하나 이상의 신호들에 기초하여 그리고 복수의 후보 입력 모드들로부터 가상 어시스턴트 애플리케이션에 대한 입력 모드를 선택하는 것은 모바일 장치의 지리적 위치에 기초하여 입력 모드를 선택하는 것을 포함할 수 있다.
일부 양태에서, 하나 이상의 신호들에 기초하여 그리고 복수의 후보 입력 모드들로부터 가상 어시스턴트 애플리케이션에 대한 입력 모드를 선택하는 것은 음성 입력이 쿼리를 포함하는지 여부를 결정하고 그리고 음성 입력이 쿼리를 포함한다는 결정에 응답하여 오디오 입력 모드를 선택하는 것을 포함할 수 있다. 일부 양태에서, 가상 어시스턴트 애플리케이션에 의해, 모바일 장치의 사용자에게 콘텐츠를 제시하는 단계는, 가상 어시스턴트 애플리케이션의 사용자 인터페이스에 이미지 콘텐츠를 제시하는 단계, 가상 어시스턴트 애플리케이션의 사용자 인터페이스에 비디오 콘텐츠를 제시하는 단계, 또는 오디오 콘텐츠를 재생하는 단계 중 적어도 하나를 포함할 수 있다.
본 명세서에 설명된 요지는 다음의 장점 중 하나 이상을 실현하기 위해 특정 실시 예에서 구현될 수 있다. 수신된 입력 신호에 따라 입력 모드를 자동으로 결정함으로써, 입력 신호를 보다 효과적이고 효율적으로 처리할 수 있다. 예를 들면, 먼저 수신된 신호에 기초하여 입력 모드를 결정함으로써, 유용한 입력을 제공하지 않는 입력 신호의 추가 처리(프로세싱)를 회피할 수 있다. 예를 들면, 수신된 이미지 또는 오디오 데이터가 쿼리의 일부로 제공된 입력 신호가 아니라고 결정될 수 있으며, 따라서 객체 인식 및/또는 분류를 위한 기술과 같이 계산 비용이 많이 드는 이미지 또는 오디오 처리 기술은 수신된 이미지 기반 입력 신호에 적용되지 않을 수 있다. 원격 장치로의 입력 신호 전송은 추가적으로 또는 대안적으로 회피될 수 있으며, 원격 장치에서의 처리에 적합하지 않은 신호를 원격 장치로 전송하기 위한 대역폭 사용을 회피할 수 있다. 사용자가 잠금 화면(또는 기타 사용자 인터페이스 요소)에서 가상 어시스턴트 애플리케이션을 시작하는 것에 응답하여 입력 모드를 선택함으로써, 가상 어시스턴트 애플리케이션은 사용자가 입력 모드를 선택하기를 기다리거나 사용자에게 여러 입력 모드를 선택하도록 촉구하는 것보다 선택된 입력 모드에서 수신된 입력 신호를 기반으로 콘텐츠를 더 빠르게 식별하고 표시(제시)할 수 있다. 적절한 입력 모드를 사용하면, 가상 어시스턴트 애플리케이션이 사용자의 요청에 응답하여 적절한 콘텐츠를 제공하는 등 사용자의 요청에 보다 정확하게 응답할 수 있다.
이는 사용자가 다중 요청을 할 필요가 없도록 하여 컴퓨팅 시스템(들)이 콘텐츠를 식별하고 선택하기 위해 요청을 처리하는 횟수를 줄여준다. 많은 사용자에 대해 집계되어 컴퓨터에 부과되는 처리 요구를 줄임으로써 콘텐츠를 선택하는 콘텐츠 배포 시스템의 컴퓨터 기능을 크게 향상시킬 수 있다. 콘텐츠 배포 시스템이 네트워크를 통해 액세스될 수 있으므로 요청 수를 줄이면 소비되는 대역폭의 양도 줄어들어 다른 네트워크 트래픽에 대한 대역폭을 허용하고 및/또는 네트워크의 속도를 높일 수 있다.
사용자에게 적합한 입력 모드를 선택함으로써 사용자는 각 요청에 대해 입력 모드를 선택해야하는 부담이 없다. 이는 사용자 경험을 향상시키고 사용자의 더 빠른 요청과 사용자에게 더 많은 유연성을 허용할 수 있다. 예를 들어, 사용자는 카메라가 객체를 가리키도록 모바일 장치를 잡고 카메라 입력 모드를 선택하기 위해 모바일 장치와 상호작용할 필요없이 객체에 대한 정보를 획득할 수 있다.
전술한 요지의 다양한 특징 및 장점은 도면과 관련하여 아래에서 설명된다. 추가 특징 및 장점은 여기에 설명된 요지 및 청구 범위로부터 명백해진다.
도 1은 가상 어시스턴트 어플리케이션이 입력 모드를 선택하고 그리고 선택된 입력 모드를 이용하여 수신한 입력 신호에 기초하여 선택된 콘텐츠를 제시하는 환경의 블록도이다.
도 2는 입력 모드를 선택하고 그리고 선택된 입력 모드를 사용하여 수신된 입력 신호에 기초하여 선택된 콘텐츠를 제시하는 모바일 장치의 예시적인 스크린 샷의 시퀀스를 도시한다.
도 3은 입력 모드를 선택하고 그리고 선택된 입력 모드를 사용하여 수신된 입력 신호에 기초하여 선택된 콘텐츠를 제시하는 모바일 장치의 예시적인 스크린 샷의 다른 시퀀스를 도시한다.
도 4는 가상 어시스턴트 애플리케이션에 대한 입력 모드를 선택하고 그리고 선택된 입력 모드를 사용하여 수신된 입력 신호에 기초하여 콘텐츠를 제시하기 위한 예시적인 프로세스의 흐름도이다.
다양한 도면에서 유사한 참조 번호 및 지정은 유사한 요소를 나타낸다.
일반적으로, 여기에 설명된 시스템 및 기술은 사용자에게 제공할 콘텐츠를 선택하는 데 사용하기 위한 입력 모드를 선택할 수 있다. 입력 모드는 서로 다른 입력 모드의 입력 유형이 서로 다른 여러 입력 모드에서 선택될 수 있다. 예를 들어, 입력 모드는 오디오 유형(예: 음성 입력)의 오디오 입력 모드, 이미지 유형의 이미지 입력 모드, 텍스트 유형의 텍스트 입력 모드 및/또는 둘 이상의 입력 유형의 조합(예: 음성 및 이미지)의 입력 모드를 포함할 수 있다. 가상 어시스턴트 애플리케이션(또는 다른 애플리케이션)을 시작하라는 요청에 응답하여 입력 모드를 선택할 수 있다. 가상 어시스턴트 애플리케이션은 여러 다른 후보 입력 모드로부터 수신된 입력 신호(들)에 기초하여 입력 모드를 선택할 수 있다.
예를 들어, 사용자는 잠금 화면에 표시된 아이콘을 특정 방향으로 스와이프(swiping)하는 것과 같은 제스처를 수행하여 모바일 장치의 잠금 화면에서 가상 어시스턴트 애플리케이션을 시작(실행)하도록 요청할 수 있다. 요청을 검출하는 것에 응답하여, 가상 어시스턴트 애플리케이션은 하나 이상의 신호를 획득하고 그리고 하나 이상의 신호에 기초하여 콘텐츠를 식별하는 데 사용할 입력 모드를 결정할 수 있다.
신호는 가상 어시스턴트 애플리케이션의 입력 모드와 관련될 수 있다. 예를 들어, 신호는 음성 입력에서 인식된 단어 또는 구, 모바일 장치의 카메라 뷰파인더의 픽셀 데이터(예: 뷰파인더에서 객체(물체)가 검출되었는지 여부 및/또는 객체 또는 인식된 객체의 유형) 및/또는 모바일 장치의 위치 및/또는 방향(예: 모바일 장치가 사용자의 얼굴 가까이에 있는지 또는 아래쪽을 향하고 있는지 여부)을 포함할 수 있다. 신호는 또한 모바일 장치의 지리적 위치(예: 모바일 장치가 있는 건물 유형), 환경 신호(예: 조명 및/또는 주변 소음의 양), 이전 신호(들)에 기반한 입력 모드에 대한 사용자의 이력 또는 선호도 및/또는 기타 적절한 신호를 포함할 수 있다.
예를 들어, 음성 입력에 질문이 포함되어 있고 뷰파인더에 표시되는 내용(예: 카메라에 캡처된 내용)을 나타내는 픽셀 데이터에서 객체가 인식되지 않는 경우, 음성 입력 모드는 사용자가 가상 어시스턴트 애플리케이션에 질문을 하고 사용자가 관심있는 객체를 카메라로 가리키지 않을 가능성이 높기 때문에 선택될 수 있다. 다른 예에서, 사용자가 사용자 얼굴 근처에서 모바일 장치를 잡고 있고 픽셀 데이터에서 하나 이상의 객체가 검출(감지)되면, 사용자는 객체들 중 하나에 대한 정보를 요청할 가능성이 높다.
도 1은 가상 어시스턴트 애플리케이션(116)이 입력 모드를 선택하고 그리고 선택된 입력 모드를 사용하여 수신된 입력 신호에 기초하여 선택된 콘텐츠를 제시하는 환경(100)의 블록도이다. 가상 어시스턴트 애플리케이션(116)은 모바일 장치(110)에 설치 및/또는 모바일 장치(110)에 의해 실행될 수 있다. 모바일 장치(110)는 데이터 통신 네트워크(140)를 통해 데이터를 송수신할 수 있는 전자 장치이다. 예시적인 모바일 장치(110)에는 스마트 폰, 태블릿 컴퓨팅 장치, 웨어러블 컴퓨팅 장치(예: 스마트 시계) 및 네트워크(140)를 통해 데이터를 송수신할 수 있는 기타 장치가 포함된다. 네트워크(140)는 근거리 통신망(LAN), 광역 통신망(WAN), 인터넷, 모바일 네트워크, 또는 이들의 조합을 포함할 수 있다.
가상 어시스턴트 애플리케이션(116)은 특정 플랫폼 또는 특정 장치를 위해 개발된 네이티브 애플리케이션으로 구현될 수 있다. 가상 어시스턴트 애플리케이션(116)은 모바일 장치(110)의 사용자를 위한 태스크 또는 서비스를 수행할 수 있다. 예를 들어, 가상 어시스턴트 애플리케이션(116)은 사용자 질문에 답하고, 객체(예: 카메라(111)의 이미지 또는 뷰파인더에 묘사된 객체)와 관련된 데이터를 식별 및 제시하고, 음악을 재생하고, 다른 애플리케이션(예: 캘린더 애플리케이션에서 회의 설정)을 구성하고, 기타 적절한 태스크 또는 서비스를 구성할 수 있다.
가상 어시스턴트 애플리케이션(116)은 복수의 상이한 입력 모드를 통해 요청(예를 들어, 질문, 명령 또는 정보 요청)을 수신할 수 있다. 예를 들어, 가상 어시스턴트 애플리케이션(116)은 모바일 장치(110)의 마이크로폰(112)으로부터 음성 요청을 수신할 수 있다. 가상 어시스턴트 애플리케이션(116)은 또한 모바일 장치(110)의 카메라(111)의 뷰파인더에서 객체를 감지 및/또는 인식할 수 있고, 사용자가 객체에 대한 추가 정보에 대한 요청으로서 객체에서 카메라(111)를 가리키고 있다는 사실을 해석(interpret)할 수 있다. 일부 구현에서는, 가상 어시스턴트 애플리케이션(116)은 또한 예를 들어 모바일 장치(110)의 물리적 또는 터치 키패드를 사용하여 입력된 텍스트 요청을 수신할 수 있다.
모바일 장치(110)는 모바일 장치(110)의 잠금 화면으로부터 가상 어시스턴트 애플리케이션(116)에 대한 액세스를 허용할 수 있다. 잠금 화면은 사용자가 모바일 장치(110)에 액세스하기 위한 액션을 수행하도록 요구함으로써 모바일 장치(110)에 대한 액세스를 규제하는 사용자 인터페이스 요소이다. 모바일 장치(110)는 모바일 장치(110)가 잠겨있는 동안 특정 사용자 액션(예를 들어, 제스처)을 검출하는 것에 응답하여 가상 어시스턴트 애플리케이션(116)을 시작(실행)하도록 구성될 수 있다. 예를 들어, 사용자 액션은 특정 방향으로의 아이콘의 스와이프(swiping), 특정 모션으로 모바일 장치(116)를 이동, 특정 명령의 발화, 또는 다른 적절한 액션일 수 있다.
특정 사용자 액션을 검출하는 것에 응답하여, 모바일 장치(110)는 가상 어시스턴트 애플리케이션(116)을 시작하고 가상 어시스턴트 애플리케이션(116)의 사용자 인터페이스를 제시할 수 있다. 또한, 가상 어시스턴트 애플리케이션(116)은 복수의 상이한 후보 입력 모드로부터 선택하기 위한 하나 이상의 입력 신호를 획득할 수 있다. 각 후보 입력 모드는 서로 다른 입력 유형의 서로 다른 후보 입력 모드 일 수 있다. 후보 입력 모드는 이미지 유형의 이미지 입력 모드와 오디오 유형의 오디오 입력 모드를 포함할 수 있다. 이미지 입력 모드는 가상 어시스턴트 애플리케이션에 입력하기 위한 픽셀 데이터를 수신할 수 있다. 마찬가지로 오디오 입력 모드는 가상 어시스턴트 애플리케이션에 대한 오디오 입력을 수신할 수 있다.
후보 입력 모드는 또한 둘 이상의 유형(예: 픽셀 데이터 및 오디오 데이터 또는 오디오 데이터 및 텍스트 데이터)의 입력을 수신하는 조합 입력 모드를 포함할 수 있다. 전술한 바와 같이, 입력 모드는 예를 들어 일련의 규칙 또는 기계 학습 모델을 사용하여 하나 이상의 입력 신호에 기초하여 선택될 수 있다.
각각의 입력 신호는 서로 다른 입력 신호의 서로 다른 입력 유형일 수 있다. 예를 들어, 입력 유형에는 이미지 유형과 오디오 유형이 포함될 수 있다. 이미지 유형의 입력 신호는 모바일 장치의 카메라에 의해 캡처된 하나 이상의 이미지에 대한 픽셀 데이터일 수 있으며, 예를 들어 모바일 장치가 가상 어시스턴트 애플리케이션을 시작하라는 요청을 감지한 후에 캡처된다. 픽셀 데이터는 각각의 이미지에 대한 각각의 픽셀 데이터 세트를 포함할 수 있다. 각 픽셀 데이터 세트는 특정 시점에 대한 카메라 뷰파인더의 픽셀을 나타낼 수 있다. 각 픽셀 데이터 세트의 픽셀 데이터에는 카메라 뷰파인더의 각 픽셀의 시각적 특성(예: 색상, 강도, 밝기 등)을 지정하는 데이터가 포함될 수 있다.
오디오 유형의 입력 신호는 모바일 장치의 마이크로폰에 의해 캡처된 오디오 입력에 대한 오디오 데이터일 수 있다. 예를 들어, 오디오 입력이 음성 단어를 포함하는 경우, 오디오 데이터는 음성 입력의 발화된 텍스트를 나타내는 텍스트를 포함할 수 있다. 예를 들어, 가상 어시스턴트 애플리케이션(또는 다른 애플리케이션)은 오디오 트랜스크립션(transcription) 기술을 사용하여 오디오 데이터를 텍스트로 변환할 수 있다.
가상 어시스턴트 애플리케이션(116)은 입력 신호(들)에 기초하여 입력 모드를 선택하는 입력 모드 선택기(117)를 포함한다. 가상 어시스턴트 애플리케이션(116)은 가상 어시스턴트 애플리케이션(116)이 시작될 때 신호 획득을 시작할 수 있다. 예를 들어, 가상 어시스턴트 애플리케이션(116)은 가상 어시스턴트 애플리케이션(116)이 시작될 때 마이크로폰(마이크)(112)로부터의 오디오 입력 및 카메라(111)로부터 뷰파인더에 대한 픽셀 데이터를 획득하기 시작할 수 있다. 입력 모드 선택기(117)는 입력 모드 선택기(117)가 입력 모드를 선택하기에 충분한 정보를 가질 때까지 이들 신호를 모니터링할 수 있다. 예를 들어, 입력 모드 선택기(117)는 입력 모드 선택기(117)가 어떤 입력 모드를 선택할지 결정하기 위해 충분한 데이터를 획득할 때까지 오디오 스트림, 이미지 스트림에 대한 픽셀 데이터 및/또는 다른 신호를 모니터링할 수 있다.
충분한 데이터가 획득되었는지의 결정은 오디오 입력에서 쿼리가 감지되는지 여부, 객체가 뷰파인더의 픽셀 데이터에서 감지되는지 여부, 객체가 인식(예: 실제 객체가 식별됨)되는지 여부, 사용자에 대한 모바일 장치의 위치가 결정되었는지 여부, 또는 이러한 신호들 중 하나 이상의 조합에 기초할 수 있다. 일부 구현에서, 입력 모드 선택기(117)는 이들 신호 중 하나 이상에 기초하여 후보 입력 모드에 대한 신뢰도 점수를 결정한다. 신뢰도 점수가 임계치를 충족하거나 초과하면, 입력 모드 선택기(117)는 후보 입력 모드를 선택할 수 있다.
가상 어시스턴트 애플리케이션(116)은 마이크로폰(112)으로부터 오디오 입력을 수신하고 그리고 오디오를 텍스트로 번환하고(오디오가 음성(발화된) 단어를 포함하는 경우), 텍스트를 가상 어시스턴트 애플리케이션(116)에 제공할 수 있는 음성 인식기(119)를 포함한다. 가상 어시스턴트 애플리케이션(116)은 입력 모드를 선택하기 위해(단독으로 또는 다른 신호(들)와 조합하여) 텍스트를 사용할 수 있다.
일부 구현에서, 입력 모드 선택기(117)는 음성 인식기(119)에 의해 출력된 텍스트가 쿼리를 포함하는지 여부에 기초하여 입력 모드를 선택할 수 있다. 예를 들어, 입력 모드 선택기(117)는 텍스트를 쿼리 세트(예를 들어, 하나 이상의 사용자로부터 가상 어시스턴트 애플리케이션에 의해 수신된 이전 쿼리 또는 정의된 쿼리 세트)와 비교할 수 있다. 텍스트가 쿼리와 매칭(일치)하면, 입력 모드 선택기(117)는 오디오 입력 모드를 선택하고 텍스트를 사용하여 사용자에게 제시할 콘텐츠를 식별할 수 있다. 다른 예에서, 입력 모드 선택기(117)는 텍스트가 쿼리를 포함할 가능성을 결정하기 위해 언어 모델을 사용한다. 언어 모델은 쿼리 세트를 사용하여(예를 들어 어떤 텍스트가 쿼리이고 어떤 텍스트가 쿼리가 아닌지 지정하는 레이블이 지정된 학습 데이터를 사용하여) 학습될 수 있다. 언어 모델은 입력 텍스트가 입력 텍스트를 기반으로 하는 쿼리를 포함할 가능성을 출력할 수 있다.
입력 모드 선택기(117)는 텍스트가 쿼리를 단독으로 포함하는지 또는 입력 모드를 선택하기 위해 다른 신호와 조합하는지를 지정하는 데이터를 사용할 수 있다. 텍스트가 쿼리를 포함하는 경우, 사용자가 텍스트로 변환된 사용자의 음성 입력을 기반으로 콘텐츠를 요청할 가능성이 높다. 따라서, 입력 모드 선택기(117)는 오디오 입력 모드를 선택하고, 텍스트가 쿼리를 포함할 때 사용자에게 제시할 콘텐츠를 선택하기 위해 텍스트를 사용할 수 있다.
입력 모드 선택기(117)는 카메라(111)의 뷰파인더에 대한 픽셀 데이터에 기초하여 입력 모드를 선택할 수 있다. 가상 어시스턴트 애플리케이션(116)은 가상 어시스턴트 애플리케이션(116)이 실행(시작)된 후에 카메라(111)로부터 픽셀 데이터를 획득할 수 있다. 예를 들어, 가상 어시스턴트 애플리케이션(116)은 픽셀 데이터 세트의 스트림을 획득할 수 있다. 각 픽셀 데이터 세트는 특정 시점에 대한 뷰파인더의 픽셀을 나타낼 수 있다. 각 픽셀 데이터 세트의 픽셀 데이터에는 뷰파인더의 각 픽셀의 시각적 특성(예: 색상, 강도, 밝기 등)을 지정하는 데이터가 포함될 수 있다.
일부 구현에서, 입력 모드 선택기(117)는 픽셀의 전체 밝기에 기초하여 입력 모드를 선택한다. 예를 들어, 전체 밝기가 낮은 경우(예: 임계치 미만), 사용자는 밤에 외부에 있거나 카메라(111)의 뷰파인더에서 감지될 수 있는 내용에 기초하여 사용자가 콘텐츠를 요청할 가능성이 없는 어두운 장소에 있을 수 있다. 그러나 픽셀의 전체 밝기가 높으면(예: 임계치 이상), 사용자는 낮 동안 밖에 있거나 카메라(111)의 뷰파인더에서 정보를 확득하려고 할 수 있는 조명이 밝은 방에 있을 수 있다. 픽셀 데이터 세트의 전체 밝기는 픽셀 데이터 세트의 각 픽셀의 시각적 특성의 조합(예를 들어, 픽셀 데이터 세트의 모든 픽셀에 대한 밝기 값의 평균)에 기초하여 결정될 수 있다.
입력 모드 선택기(117)는 뷰파인더에서 객체가 감지되는지 여부(예: 픽셀 데이터 세트 중 하나 이상)와 감지된 경우 객체의 신원정보 또는 객체의 클래스에 따라 입력 모드를 선택할 수 있다. 예를 들어, 가상 어시스턴트 애플리케이션(116)은 픽셀 데이터(또는 이미지)에서 객체를 검출 및 인식(예를 들어, 식별)하려고 시도하는 객체 인식기(120)를 포함할 수 있다. 객체 인식기(120)는 에지 검출 및/또는 다른 객체 인식 기술을 사용하여 사람, 바코드, 랜드마크, 그림, 차량 및/또는 다른 유형의 객체와 같은 다양한 객체를 검출할 수 있다.
일부 구현에서, 객체 인식기(120)는 픽셀 데이터 세트가 객체의 하나 이상의 특정 클래스(예를 들어, 카테고리)에 객체를 포함하는지 여부를 결정하는 코스(coarse) 분류기를 포함한다. 예를 들어, 코스 분류기는 픽셀 데이터 세트가 실제 객체를 인식하거나 인식하지 않고 특정 클래스의 객체를 포함하고 있음을 감지(검출)할 수 있다.
코스 분류기는 이미지에 객체 클래스를 나타내는 하나 이상의 특징이 포함되어 있는지 여부에 따라 객체 클래스의 존재를 감지할 수 있다. 코스 분류기는 객체의 클래스(들) 내에서 객체의 존재를 감지하기 위해 낮은 계산 분석을 수행하는 경량 모델(light-weight model)을 포함할 수 있다. 예를 들어, 코스 분류기는 각 객체 클래스에 대해 이미지에 묘사된 제한된 시각적 특징 세트를 감지하여 이미지가 객체 클래스에 속하는 객체를 묘사하는지 여부를 결정할 수 있다. 특정 예에서, 코스 분류기는 이미지가 텍스트, 바코드, 랜드마크, 미디어 객체(예: 앨범 표지, 영화 포스터 등) 또는 아트워크 객체(예: 페인팅, 조각(sculpture) 등) 중 하나 이상의 클래스로 분류된 객체를 묘사하는지 여부를 검출할 수 있다. 바코드의 경우, 코스 분류기는 이미지에 너비가 다른 평행선이 포함되어 있는지 여부를 확인할 수 있다.
일부 구현에서, 코스 분류기는 훈련된(학습된) 기계 학습 모델(예를 들어, 컨볼루션 신경망)을 사용하여 이미지의 시각적 특징을 기반으로 이미지를 분류한다. 예를 들어 기계 학습 모델은 각 클래스로 레이블이 지정된 이미지를 사용하여 훈련(학습)될 수 있다. 기계 학습 모델은 이미지를 0개 이상의 특정 객체 클래스 세트로 분류하도록 훈련될 수 있다. 기계 학습 모델은 이미지의 시각적 특징과 관련된 데이터를 입력으로 수신하고 특정 객체 클래스 세트에 있는 0개 이상의 객체 클래스로 분류(classification)를 출력할 수 있다.
코스 분류기는 이미지에서 객체의 클래스가 감지되었는지 여부를 지정하는 데이터를 출력할 수 있다. 코스 분류기는 이미지에서 객체 클래스의 존재가 감지되었다는 신뢰도를 나타내는 신뢰도 값 및/또는 이미지에서 실제 객체(예: 에펠 탑)가 묘사된다는 신뢰도를 표시하는 신뢰도 값을 출력할 수도 있다.
객체 인식기(120)는 입력 모드 선택기(117)에 픽셀 데이터 세트에서 객체가 감지되었는지 여부를 지정하는 데이터와 객체가 인식되면 인식된 객체를 식별하는 데이터를 제공할 수 있다. 코스 분류기가 사용되는 경우, 객체 인식기(120)는 객체의 적어도 하나의 클래스 내의 객체의 존재가 검출되었는지 여부를 지정하는 데이터를 입력 모드 선택기(117)에 제공할 수 있다(검출된 클래스를 제공). 위에서 설명한대로, 가상 어시스턴트 애플리케이션(116)은 픽셀 데이터 세트의 스트림을 수신할 수 있다. 이 예에서, 객체 인식기(120)는 각각의 픽셀 데이터 세트를 평가하고 스트림의 픽셀 데이터 세트 각각(또는 적어도 일부)에 대한 이 데이터를 입력 모드 선택기(117)에 제공할 수 있다.
입력 모드 선택기(117)는 하나 이상의 픽셀 데이터 세트가 객체, 인식된 실제 객체 및/또는 픽셀 데이터 세트에서 검출된 객체(들)의 클래스(들)를 포함하는지 여부에 기초하여 입력 모드를 선택할 수 있다. 예를 들어, 뷰파인더에서 객체가 감지되면(뷰 파인더에 설정된 픽셀 데이터 기준), 뷰파인더에 감지 가능한 객체가없는 경우보다 사용자가 뷰파인더에 있는 내용을 기반으로 콘텐츠를 요청할 가능성이 높다. 따라서, 입력 모드 선택기(117)는 픽셀 데이터에서 객체 또는 객체의 클래스(class)가 검출되면 이미지 입력 모드를 선택할 수 있다.
입력 모드 선택기(117)는 특정 객체 또는 객체 클래스가 결함이 있는 경우 다른 입력 모드보다 이미지 입력 모드를 선택할 수 있다. 예를 들어, 랜드마크나 유명한 그림(페인팅)이 감지되면, 사용자가 나무 바닥이나 모래가 감지되는 경우보다 랜드마크나 유명한 그림에 대한 콘텐츠를 요청할 가능성이 더 크다.
입력 모드 선택기(117)는 또한, 예를 들어 스트림에서 픽셀 데이터 세트의 시퀀스에 기초하여 입력 모드를 선택할 수 있다. 예를 들어, 픽셀 데이터 세트에서 인식된 객체가 짧은 시간(예: 2 ~ 5 초)에 걸쳐 변경되는 경우, 사용자가 모바일 장치(110)를 움직이고 있고 특정 객체에 대한 콘텐츠를 획득하려고 하지 않을 수 있으며 오디오 입력이 쿼리를 포함하는 경우 오디오 입력 모드가 선택될 수 있다. 그러나 픽셀 데이터 세트의 시퀀스에서 동일한 객체가 인식되면, 사용자가 해당 객체에 대한 콘텐츠를 요청할 가능성이 높고 이미지 입력 모드가 선택될 수 있다.
입력 모드 선택기(117)는 또한 예를 들어 사용자에 대한 모바일 장치(110)의 위치 및/또는 모바일 장치(110)의 방향에 기초하여 입력 모드를 선택할 수 있다. 예를 들어, 모바일 장치(110)가 사용자 또는 사용자의 얼굴 근처에 있는 경우(예를 들어, 임계 거리 이내), 사용자가 뷰파인더를 보고 있고 뷰파인더에서 객체(들)에 대한 콘텐츠를 요청하고 있을 수 있으며 이미지 입력 모드가 선택될 수 있다. 모바일 장치가 사용자 또는 사용자의 얼굴에서 멀리 떨어져있는 경우(예: 임계 거리 이상), 사용자가 뷰파인더를 볼 가능성이 적고 오디오 입력 모드를 선택할 수 있다.
일부 구현에서는, 입력 모드 선택기(117)는 최근 움직임에 기초하여(예를 들어, 가상 어시스턴트 애플리케이션을 실행하기 위한 요청이 수신되기전의 임계 시간 내에) 모바일 장치(110)가 사용자의 얼굴에 가까이 있는지 여부를 결정할 수 있다. 예를 들어, 입력 모델 선택기(117)는 예를 들어 연속 스트림에서 모바일 장치(110)의 움직임을 설명하는 가속도계(113) 및/또는 자이로스코프(114)로부터 데이터를 획득할 수 있다. 입력 모드 선택기(117)는 요청이 수신되기 전에 임계 시간 양 내에서 모바일 장치(110)가 위쪽(upwards)으로(예를 들어, 적어도 임계 거리) 이동되었는지 여부를 결정할 수 있다. 그렇다면, 입력 모드 선택기(117)는 모바일 장치(117)가 사용자의 얼굴에 가까울 가능성이 있다고 결정할 수 있다. 유사하게, 모바일 장치(110)가 적어도 임계 거리만큼 아래(downwards)로 이동하면, 모바일 장치가 사용자의 얼굴에 가까이 있지 않을 가능성이 있다.
일부 구현에서, 입력 모드 선택기(117)는 오디오 입력에 기초하여 모바일 장치(117)가 사용자의 얼굴에 가까운지 여부를 결정할 수 있다. 예를 들어, 입력 모드 선택기(117)는 오디오 입력에서 감지된 음성 입력의 강도를 기반으로 모바일 장치(117)가 사용자의 얼굴에 가까이 있는지 여부를 결정할 수 있다. 음성 입력이 임계 강도 이상이면, 입력 모드 선택기(117)는 모바일 장치(110)가 사용자의 얼굴에 가깝다고 결정할 수 있다.
입력 모드 선택기(117)는 또한 모바일 장치(110)의 방향 또는 지면에 대한 모바일 장치(110)의 각도에 기초하여 입력 모드를 선택할 수 있다. 입력 모드 선택기(117)는 가속도계(113) 및/또는 자이로스코프(114)로부터 수신된 데이터에 기초하여 모바일 장치(110)의 방향 또는 각도를 결정할 수 있다. 카메라(111)가 사용자로부터 수평 또는 위쪽을 향하도록 모바일 장치(110)가 배향된 경우, 이는 사용자가 객체와 관련된 콘텐츠를 획득하기 위해 객체를 카메라로 포인팅(pointing)하고 있음을 나타낼 수 있으며, 이미지 입력 모드가 선택될 수 있다. 카메라(111)가 사용자로부터 아래쪽을 향하도록 모바일 장치(110)가 배향된 경우, 이는 사용자가 카메라로 객체를 포인팅하는 것이 아니라 모바일 장치(110)에게 말하고 있음을 나타낼 수 있으며, 오디오 입력 모드가 선택될 수 있다.
입력 모드 선택기(117)는 또한 모바일 장치(110)의 위치, 예를 들어 모바일 장치(110)의 지리적 위치에 기초하여 입력 모드를 선택할 수 있다. 예를 들어, 모바일 장치(110)는 모바일 장치(110)의 지리적 위치를 결정하는 GPS(Global Positioning System) 센서를 포함할 수 있다. 입력 모드 선택기(117)는 지리적 위치를 사용하여 건물, 건물의 유형, 외부 영역(예를 들어, 공원, 랜드마크, 기념물) 또는 모바일 장치(110)가 위치하는 다른 영역을 결정할 수 있다. 예를 들어, 입력 모드 선택기(117)는 모바일 장치(110)가 위치하는 건물 또는 영역의 유형을 결정하기 위해 모바일 장치(110)에 대한 GPS 좌표를 알려진 위치의 GPS 좌표와 비교할 수 있다. 사용자는 특정 유형의 위치(예: 박물관, 랜드마크 등)에서 음성보다 객체들의 이미지를 기반으로 콘텐츠를 요청할 가능성이 더 높다. 모바일 장치(110)가 이들 위치 중 하나에(또는 그로부터 임계 거리 내에 있을 때), 입력 모드 선택기(117)는 이미지 입력 모드를 선택할 수 있다. 사용자가 음성 요청을 사용하여 콘텐츠를 요청할 가능성이 높은 유형의 위치에 모바일 장치(110)가 있는 경우, 입력 모드 선택기(117)는 오디오 입력 모드를 선택할 수 있다.
입력 모드 선택기(117)는 이전 신호(들)에 기초한 입력 모드에 대한 사용자의 히스토리(history) 또는 선호도에 기초하여 입력 모드를 선택할 수 있다. 예를 들어, 사용자는 신호와 관련된 특정 상황에서 사용자가 선호하는 입력 모드를 선택할 수 있다. 특정 예에서, 사용자는 모바일 장치가 위쪽을 향하고 있을 때, 뷰파인더에서 특정 클래스의 객체가 감지될 때 또는 사용자가 특정 문구를 말할 때 이미지 입력 모드를 선택할 수 있다. 신호가 이러한 상황 중 하나와 매칭하면, 입력 모드 선택기(117)는 이미지 입력 모드를 선택할 수 있다.
다른 예에서, 입력 모드 선택기(117)는 다양한 신호 값에 대해 사용자에 의해 선택된 입력 모드의 히스토리를 유지할 수 있다. 예를 들어, 입력 모드 선택기(117)는 사용자를 위해, 사용자가 각 개별 신호의 각 값 또는 각 신호 조합에 대한 각 입력 모드를 선택하는 횟수를 유지할 수 있다. 사용자가 신호가 특정 값을 갖거나 특정 범위 내에 있을 때 다른 입력 모드들보다 하나의 입력 모드를 더 자주 선택하는 경우, 입력 모드 선택기(117)는 신호(들)가 특정 값(들) 또는 값(들)의 범위를 가질 때 상기 하나의 입력 모드를 선택할 수 있다. 예를 들어, 전체 픽셀 밝기가 임계치보다 클 때 사용자가 이미지 입력 모드를 선택하면, 입력 모드 선택기(117)는 뷰파인더에 대해 설정된 픽셀 데이터에 대한 전체 밝기 값이 임계치보다 클 때 이미지 입력 모드를 선택할 수 있다.
입력 모드 선택기(117)는 가상 어시스턴트 애플리케이션이 실행(시작)될 때 여러 신호를 획득할 수 있으므로, 적절한 입력 모드의 선택은 어려울 수 있다. 일부 구현에서, 입력 모드 선택기(117)는 신호에 기초하여 입력 모드를 선택하기 위해 일련의 규칙(규칙 세트) 또는 다른 로직을 처리한다. 한 예에서 규칙은 신호의 계층(hierarchy) 또는 상대적 중요도를 지정할 수 있다. 예를 들어, 객체의 검출은 모바일 장치(110)의 위치 또는 방향보다 더 높은 가중치를 가질 수 있다. 이 예에서, 픽셀 데이터에서 객체가 검출되면, 입력 모드 선택기(117)는 모바일 장치(110)의 위치 또는 방향에 관계없이 이미지 입력 모드를 선택할 수 있다.
입력 모드 선택기(117)는 입력 모드를 선택하기 위해 규칙을 처리할 수 있다. 예를 들어, 제1 규칙은 객체가 감지되면 이미지 입력 모드를 선택하고 그렇지 않은 경우 제2 규칙을 처리하도록 지정할 수 있다. 제2 규칙은 오디오 입력에 쿼리가 포함된 경우 오디오 입력 모드를 선택해야 함을 지정할 수 있다. 그렇지 않은 경우 입력 모드 선택이 선택될 때까지 제3 규칙을 처리해야한다.
일부 구현에서, 입력 모드 선택기(117)는 훈련된(학습된) 기계 학습 모델을 사용하여 입력 모드를 선택한다. 기계 학습 모델은 여러 다른 신호들의 조합 각각에 대해 선택해야 하는 입력 모드를 지정하는 레이블이 지정된 학습 데이터(labeled training data)를 사용하여 학습될 수 있다. 입력 모드 선택기(117)에 의해 획득된 다양한 신호는 기계 학습 모델에 대한 입력으로서 제공될 수 있다. 기계 학습 모델의 출력은 입력에 기초하여 입력 모드들 중 하나의 선택이다.
일부 구현에서, 입력 모드 선택기(117)는 오디오 및 이미지 입력 모두에 기초한 입력 모드를 선택할 수 있다. 예를 들어, 입력 모드 선택기(117)는 오디오로부터 변환된 텍스트가 뷰파인더용 픽셀 데이터에서 인식된 객체와 관련된 경우 이러한 입력 모드를 선택할 수 있다. 입력 모드 선택기(117)는 텍스트가 동일한 객체, 동일한 객체 클래스 또는 객체의 특성을 참조하는 경우 텍스트가 객체와 관련된 것으로 결정할 수 있다. 특정 예에서, 사용자는 모바일 장치(110)의 카메라(111)를 자동차에 가리키면서 "이 자동차 가격이 얼마입니까"라고 말할 수 있다. 입력 모드 선택기(117)는 두 입력 모두가 자동차와 관련된 것으로 결정하고 오디오 및 이미지 입력 모드를 선택할 수 있다.
입력 모드 선택기(117)가 입력 모드를 선택한 후, 가상 어시스턴트 애플리케이션(116)은 입력 모드에 대한 입력을 네트워크(140)를 통해 콘텐츠 배포 시스템(150)으로 전송할 수 있다. 예를 들어, 이미지 입력 모드가 선택되면, 가상 어시스턴트 애플리케이션(116)은 하나 이상의 픽셀 데이터 세트를 콘텐츠 배포 시스템(150)으로 전송할 수 있다. 픽셀 데이터 세트(들)는 이미지 입력 모드를 선택하는 데 사용되는 뷰파인더에 대한 픽셀 데이터 및/또는 이미지 입력 모드가 선택된 후에 캡처된 픽셀 데이터 세트를 포함할 수 있다. 예를 들어, 가상 어시스턴트 애플리케이션(116)은 먼저 이미지 입력 모드를 선택하는 데 사용되는 픽셀 데이터 세트(들)를 전송할 수 있다. 뷰파인더가 나중에 다른 객체를 가리키는 경우, 가상 어시스턴트 애플리케이션(116)은 다른 객체에 대한 픽셀 데이터를 콘텐츠 배포 시스템(150)으로 전송할 수 있다. 따라서 가상 어시스턴트 애플리케이션(116)은 선택된 입력 모드에 기초하여 콘텐츠 배포 시스템(150)에 입력을 전송할 수 있다. 예를 들어, 선택된 입력 모드와 관련된 입력만이 콘텐츠 배포 시스템으로 전송될 수 있다. 따라서, 가상 어시스턴트 애플리케이션(116)은 입력 신호를 사전 처리하여 사용자에게 콘텐츠를 제공하는 데 유용하고 및/또는 사용자로부터 입력으로 의도된 입력 신호를 결정하고, 사용자에게 콘텐츠를 제공하는 데 유용하다고 결정된 입력 신호 만 전송할 수 있다. 따라서 통신 네트워크를 통한 입력 신호의 전송처리(Transmittal)는 유용한 입력 신호만 전송함으로써 감소될 수 있다.
유사하게, 가상 어시스턴트 애플리케이션(116)은 오디오 입력 모드가 선택되기 전 및/또는 후에 캡처된 오디오 입력으로부터 변환된 텍스트를 콘텐츠 배포 시스템(150)으로 전송할 수 있다. 예를 들어, 오디오 입력 모드를 선택한 후 변환된 텍스트가 오디오 입력 모드가 선택되기 전에 캡처된 오디오에서 변환된 텍스트와 다른 쿼리를 포함하는 경우, 가상 어시스턴트 애플리케이션(116)은 다른 쿼리를 포함하는 텍스트를 콘텐츠 배포 시스템(150)에 전송할 수 있다.
콘텐츠 배포 시스템(150)은 모바일 장치(110)로부터 수신된 데이터(예를 들어, 오디오로부터 변환된 텍스트 및/또는 픽셀 데이터)에 기초하여 모바일 장치(110)에서 사용자에게 제시(presentation)할 콘텐츠를 선택할 수 있다. 콘텐츠 배포 시스템(150)은 하나 이상의 프런트-엔드 서버(152) 및 하나 이상의 백-엔드 서버(154)를 포함한다. 프런트-엔드 서버(152)는 모바일 장치(110)로부터 데이터를 수신하고 데이터를 백-엔드 서버(154)에 제공할 수 있다. 프런트-엔드 서버(152)는 또한 데이터 수신에 응답하여 모바일 장치(110)에 콘텐츠를 전송할 수 있다.
백-엔드 서버(154)는 모바일 장치(110)로부터 수신된 데이터에 응답하여 모바일 장치(110)에 제공하기 위한 콘텐츠를 선택하는 콘텐츠 선택 엔진(156)을 포함한다. 본 명세서에서 사용되는 용어 엔진은 일련의 태스크를 수행하는 데이터 처리 장치를 의미한다. 콘텐츠 선택 엔진(156)은 객체와 관련된 콘텐츠, 사용자가 요청할 수 있는 정보, 음악, 비디오, 이미지, 바코드와 관련된 정보 및/또는 다른 적절한 콘텐츠를 저장하는 콘텐츠 데이터 저장 유닛(콘텐츠)(예: 하나 이상의 하드 드라이브, 플래시 메모리 등)(158)으로부터 콘텐츠를 선택할 수 있다. 콘텐츠 선택 엔진(156)은 콘텐츠 데이터 저장 유닛(158)에 저장된 콘텐츠로부터, 모바일 장치(110)로부터 수신된 데이터와 가장 관련이 있는 하나 이상의 콘텐츠 아이템을 선택할 수 있다.
예를 들어, 모바일 장치(110)로부터 수신된 픽셀 데이터가 바코드의 이미지를 나타내는 경우, 콘텐츠 선택 엔진(156)은 바코드가 나타내는 객체를 식별하고 객체와 관련된 콘텐츠(예를 들어, 이미지, 제목 등)를 선택할 수 있다. 픽셀 데이터가 랜드마크의 이미지를 나타내는 경우, 콘텐츠 선택 엔진(156)은 랜드마크와 관련된 콘텐츠, 예를 들어 랜드마크의 사진, 랜드마크에 대한 지도 등을 선택할 수 있다. 음성 입력에서 변환된 텍스트에 객체의 특정 사실 또는 특징에 대한 쿼리가 포함된 경우(예: 플로리다의 4월 평균 기온은 얼마입니까?), 콘텐츠 선택 엔진(156)은 콘텐츠 데이터 저장 유닛(158)에 저장된 데이터로부터 이 평균 온도를 식별할 수 있다.
백-엔드 서버(154)는 콘텐츠 선택 엔진(156)에 의해 선택된 콘텐츠를 프론트-엔드 서버(152)에 제공할 수 있다. 이어서, 프런트-엔드 서버(152)는 콘텐츠를 선택하는데 사용된 데이터가 수신된 모바일 장치(110)에 콘텐츠를 제공할 수 있다.
가상 어시스턴트 애플리케이션(116)은 모바일 장치(110)에서 사용자 인터페이스(122)를 생성, 업데이트 및 제시하는 사용자 인터페이스(UI) 생성기(118)를 포함한다. 사용자 인터페이스(122)는 선택된 입력 모드에 대한 데이터를 콘텐츠 배포 시스템(150)으로 전송하는 것에 응답하여 콘텐츠 배포 시스템(150)으로부터 수신된 콘텐츠를 제시할 수 있다. 사용자 인터페이스(122)는 또한 콘텐츠 배포 시스템(150)으로 전송된 데이터(또는 데이터의 일부)를 제공(제시)할 수 있다. 예를 들어, 사용자가 가상 어시스턴트 애플리케이션(116)에 질문을 했다면, 질문에 대한 답변을 제공하는 사용자 인터페이스(122)는 질문 자체를 포함할 수도있다. 이러한 방식으로 사용자는 사용자가 질문한 질문에 대한 답변임을 확인하게 된다. 유사하게, 콘텐츠가 카메라(111)의 뷰파인더에 대한 픽셀 데이터에 기초하여 제공되는 경우, 픽셀 데이터에 의해 표현되는 이미지가 사용자 인터페이스(122)에 제시될 수 있다. 이는 유사한 확인을 제공한다.
사용자 인터페이스 생성기(118)는 선택된 입력 모드에 기초하여 사용자 인터페이스(122)를 선택 및/또는 구성할 수 있다. 예를 들어, 이미지 입력 모드 선택시 생성되는 사용자 인터페이스는 오디오 입력 모드 선택시 생성되는 사용자 인터페이스와 다를 수 있다(예: 다양한 유형의 콘텐츠 포함, 다른 레이아웃 포함, 다른 인터페이스 제어 등을 포함). 특정 예에서, 이미지 입력 모드를 위한 사용자 인터페이스는 콘텐츠를 선택하는 데 사용되는 픽셀 데이터로 표현되는 이미지를 포함할 수 있고, 오디오 입력 모드를 위한 사용자 인터페이스는 사용자의 쿼리 및 쿼리에 대한 답변을 제공하는 채팅(chat) 인터페이스를 포함할 수 있다.
일부 구현에서, 입력 모드 선택기(117) 및/또는 사용자 인터페이스 생성기(118)는 모바일 장치(110)로부터 원격으로 구현될 수 있다. 예를 들어, 입력 모드 선택기(117) 및/또는 사용자 인터페이스 생성기(118)는 콘텐츠 배포 시스템(150)에서 구현될 수 있다. 이러한 구현에서, 사용자는 가상 어시스턴트 애플리케이션(116)이 픽셀 데이터 및/또는 오디오 데이터를 콘텐츠 배포 시스템(150)으로 전송하도록 허용하는 기능을 선택할 수 있다.
일부 구현에서, 콘텐츠 선택 엔진(156)은 모바일 장치(110)상에서 구현된다. 예를 들어, 가상 어시스턴트 애플리케이션(116)은 콘텐츠 선택 엔진(156) 및 콘텐츠, 예를 들어 콘텐츠 데이터 저장 유닛(158)보다 더 제한된 콘텐츠 세트를 저장하는 콘텐츠 데이터 저장 유닛을 포함할 수 있다. 이 예에서, 가상 어시스턴트 애플리케이션(116)은 가상 어시스턴트 애플리케이션(116)의 콘텐츠 데이터 저장 유닛에서 콘텐츠를 식별하려고 시도할 수 있다. 적절한 콘텐츠가 식별되지 않으면, 가상 어시스턴트 애플리케이션(116)은 콘텐츠 배포 시스템(150)으로부터 콘텐츠를 요청할 수 있다. 이러한 방식으로, 콘텐츠 배포 시스템(150)으로부터 콘텐츠를 획득하는 것보다 일부 경우에 콘텐츠가 사용자에게 더 빠르게 제시될 수 있다.
도 2는 입력 모드를 선택하고 선택된 입력 모드를 사용하여 수신된 입력 신호에 기초하여 선택된 콘텐츠를 제시하는 모바일 장치의 예시적인 스크린 샷(210, 220, 230)의 시퀀스를 도시한다.
제1 스크린 샷(210)은 모바일 장치의 예시적인 잠금 스크린(212)을 도시한다. 전술한 바와 같이, 잠금 화면(212)은 모바일 장치에 대한 액세스를 조절할 수 있다. 잠금 화면(212)은 또한 사용자에게 정보를 제공할 수 있다. 예를 들어, 잠금 화면(212)은 현재 날짜 및 시간(214)을 제시한다.
이 예에서, 사용자는 예를 들어 특정 방향으로 터치 스크린을 스와이프하여 모바일 장치에 액세스할 수 있다. 이렇게 하면 모바일 장치가 메인 사용자 인터페이스로 오픈된다. 잠금 화면(212)은 또한 가상 어시스턴트 애플리케이션에 대한 아이콘(216)을 제공한다. 이 예에서, 아이콘(216)은 마이크로폰 심볼을 나타낸다. 그러나, 아이콘은 카메라 심볼, 마이크 심볼과 카메라 심볼, 또는 가상 어시스턴트 애플리케이션에 대한 다른 적절한 심볼(또는 기타 시각적 요소)를 표시할 수 있다.
사용자가 아이콘(216)을 위쪽(또는 다른 적절한 방향)으로 스와이프하면, 모바일 장치는 모바일 장치에 대한 액세스를 허용하고 가상 어시스턴트 애플리케이션에 대한 사용자 인터페이스를 제공할 수 있다. 제2 스크린 샷(220)은 가상 어시스턴트 애플리케이션에 대한 초기 사용자 인터페이스(222)를 제공한다. 이 예에서, 초기 사용자 인터페이스(222)는 오디오 입력 모드 선택기 제어(223) 및 이미지 입력 모드 선택기 제어(224)를 제공한다. 사용자가 오디오 입력 모드 선택기 제어(컨트롤)(223)와 상호작용(예를 들어, 선택)하면, 가상 어시스턴트 애플리케이션은 오디오 입력을 사용하여 사용자에게 제시할 콘텐츠를 선택할 수 있다. 유사하게, 사용자가 이미지 입력 모드 선택기 제어(224)와 상호작용(예를 들어, 선택)하면, 가상 어시스턴트 애플리케이션(116)은 이미지 입력(예를 들어, 카메라의 뷰파인더에 대한 픽셀 데이터)을 사용하여 사용자에게 제시할 콘텐츠를 선택할 수 있다. 다른 입력 모드가 이용 가능하다면, 초기 사용자 인터페이스(222)는 사용자가 다른 입력 모드를 선택할 수 있도록 하는 선택기 제어를 포함할 수 있다.
일부 구현에서, 초기 사용자 인터페이스(222)는 가상 어시스턴트 애플리케이션이 콘텐츠를 식별하려고 시도하고 있음을 나타내는 콘텐츠 또는 애니메이션을 제공할 수 있다. 예를 들어, 초기 사용자 인터페이스(222)는 가상 어시스턴트 애플리케이션이 사용자에게 제시할 콘텐츠를 식별하고 있음을 신호하는 루프 또는 다른 애니메이션으로 애니메이션되는 트로버(throbber) 애니메이션을 제공할 수 있다.
전술한 바와 같이, 가상 어시스턴트 애플리케이션은 사용자가 가상 어시스턴트 애플리케이션을 실행하는 것에 응답하여, 예를 들어 잠금 화면(212)으로부터 입력 모드를 선택할 수 있다. 입력 모드를 선택하기 위해 가상 어시스턴트 애플리케이션은 하나 이상의 신호를 획득할 수 있다. 이 예에서, 가상 어시스턴트 애플리케이션은 오디오 입력(225), 이미지 입력(228)(예를 들어, 픽셀 데이터 형태), 및 사용자의 얼굴에 대한 모바일 장치의 위치를 지정하는 근접 데이터(227)를 획득한다.
오디오 입력(225)은 텍스트로 변환될 수 있다. 이 예에서 오디오 입력(225)은 "1981 슈퍼 로드스터(Super Roadster)가 얼마나 빠른가?(How fast was a 1981 Super Roadster?)"라는 질문으로 변환되었다. 예를 들어, 사용자가 가상 어시스턴트 애플리케이션에 변환된 질문을 요청했을 수 있다.
이미지 입력(226)은 각 픽셀이 동일한 색상을 갖는 단색(solid color)의 이미지를 나타낸다. 예를 들어 카메라는 그라운드, 벽, 또는 단색을 가진 다른 표면을 향하고 있을 수 있다. 근접 데이터(227)는 모바일 장치가 사용자의 얼굴 아래에 있음을 나타낸다(예를 들어, 가상 어시스턴트 애플리케이션이 시작되기 전 및/또는 가상 어시스턴트 애플리케이션이 시작될 때 모바일 장치가 아래로 이동했음을 나타내는 모바일 장치의 모션 데이터를 기반으로 함).
가상 어시스턴트 애플리케이션은 입력 모드를 선택하기 위해 오디오 입력(225), 이미지 입력(228) 및 근접 데이터(227)를 사용할 수 있다. 이 예에서, 가상 어시스턴트 애플리케이션은 오디오 입력(예를 들어, 질문 쿼리)에서 쿼리를 식별하고, 이미지 입력(226)에 객체가 없음을 결정하고, 모바일 장치가 사용자의 얼굴 근처에 있지 않다고 결정할 수 있다. 따라서, 가상 어시스턴트 애플리케이션은 이러한 신호가 사용자가 이미지 입력(226)의 단색(solid color)보다는 변환된 질문에 기초하여 콘텐츠를 요청할 가능성이 더 높다는 것을 나타내기 때문에 오디오 입력 모드를 선택할 수 있다.
입력 모드가 선택된 후, 가상 어시스턴트 애플리케이션은 스크린 샷(230)에 도시된 바와 같이, 선택된 입력 모드로부터의 입력(들)을 사용하여 선택된 콘텐츠를 제시하는 사용자 인터페이스(UI)(232)를 제시할 수 있다. 이 예시 스크린 샷(230)에서, 사용자 인터페이스(232)는 질문 및 질문에 대한 답변을 포함하는 텍스트 박스(234)를 제공한다. 다른 예에서, 질문 및 답변은 사용자가 음성 또는 텍스트를 사용하여 다른 질문을 할 수 있는 채팅 박스에 표시될 수 있다.
위에서 설명한 바와 같이 사용자 인터페이스는 선택한 입력 모드에 따라 선택될 수 있다. 이 예에서 선택한 입력 모드는 오디오 입력 모드이고, 텍스트 기반 사용자 인터페이스가 선택되었다. 사용자 인터페이스는 제시(프레젠테이션)을 위해 선택한 콘텐츠에 따라 선택될 수도 있다. 예를 들어, 사용자의 질문은 "1981 슈퍼 로드스터는 어떤 모습일까" 였으며, 1961 슈퍼 로드스터의 이미지를 제공하는 사용자 인터페이스가 선택되어 사용자에게 제공될 수 있다.
예시적인 사용자 인터페이스(232)는 또한 오디오 입력 모드가 선택된 입력 모드임을 나타내기 위해 오디오 입력 모드 선택기 제어(컨트롤)(223) 주위에 박스(236)를 제공한다. 다른 시각적 표시기를 사용하여 오디오 입력 모드가 선택한 입력 모드임을 나타낼 수도 있다. 사용자가 이미지 입력 모드 선택기 제어(224)를 선택하면, 가상 어시스턴트 애플리케이션은 카메라로부터 이미지 입력을 획득하기 시작하고 이미지 입력에 기초하여 현재 콘텐츠를 선택할 수 있다. 가상 어시스턴트 애플리케이션은 사용자 인터페이스를 업데이트하거나 이미지 입력 모드에 대한 사용자 인터페이스를 생성할 수도 있다.
도 3은 입력 모드를 선택하고, 선택된 입력 모드를 사용하여 수신된 입력 신호에 기초하여 선택된 콘텐츠를 제시(제공)하는 모바일 장치의 예시적인 스크린 샷(310, 320 및 330)의 다른 시퀀스를 도시한다. 제1 스크린 샷(310)은 모바일 장치의 예시적인 잠금 스크린(212)을 도시한다. 잠금 화면(312)은 도 2의 잠금 화면(212)과 동일하거나 유사할 수 있다. 예를 들어, 잠금 화면(312)은 가상 어시스턴트 애플리케이션에 대한 현재 날짜 및 시간(314) 및 아이콘(316)을 제공한다.
제2 스크린 샷(320)은 가상 어시스턴트 애플리케이션을 위한 초기 사용자 인터페이스(322)를 제공하며, 이는 도 2의 초기 사용자 인터페이스(222)와 동일하거나 유사할 수 있다. 예를 들어, 초기 사용자 인터페이스(322)는 오디오 입력 모드 선택기 제어(323) 및 이미지 입력 모드 선택기 제어(324)를 제공한다.
전술한 바와 같이, 가상 어시스턴트 애플리케이션은 사용자가 가상 어시스턴트 애플리케이션을 실행하는 것에 응답하여, 예를 들어 잠금 화면(312)으로부터 입력 모드를 선택할 수 있다. 입력 모드를 선택하기 위해, 가상 어시스턴트 애플리케이션은 하나 이상의 신호, 예를 들어 오디오 입력(325), 이미지 입력(326)(예를 들어, 픽셀 데이터의 형태로) 및 사용자의 얼굴에 대한 모바일 장치의 위치를 지정하는 근접 데이터(327)를 획득할 수 있다.
이 예에서, 오디오 입력(325)은 "그녀가 어디서 샀는지 궁금해(I wonder where she bought that)"라는 질문으로 변환되었고, 이미지 입력(326)은 예를 들어, 자동차를 가리키는 카메라의 뷰파인더로부터의 픽셀 데이터에 기초하여 자동차의 이미지를 나타낸다. 예를 들어, 사용자가 자동차에 대해 친구와 이야기하면서 카메라를 자동차로 향했을 수 있다. 근접 데이터(327)는 모바일 장치가 사용자의 얼굴과 거의 같은 레벨(또는 근처)에 있음을 나타낸다(예: 가상 어시스턴트 애플리케이션이 시작되기 전 및/또는 가상 어시스턴트 애플리케이션이 시작될 때 모바일 장치가 위쪽으로 이동했음을 나타내는 모바일 장치의 모션 데이터 및/또는 적어도 임계 강도를 갖는 음성을 포함하는 오디오 데이터에 기초함).
가상 어시스턴트 애플리케이션은 입력 모드를 선택하기 위해 오디오 입력(325), 이미지 입력(326) 및 근접 데이터(327)를 사용할 수 있다. 이 예에서, 가상 어시스턴트 애플리케이션은 변환된 텍스트에 식별가능한 객체가 없기 때문에 오디오 입력(325)이 쿼리를 포함하지 않는다고 결정할 수 있다. 가상 어시스턴트 애플리케이션은 또한 이미지 입력(326)이 (예를 들어, 객체 검출 기술을 사용하여) 객체 또는 자동차의 이미지를 나타내는 것으로 결정할 수 있고, 이미지 입력(326)이 (예를 들어, 코스(coarse) 분류기를 사용하여) 차량 클래스의 객체의 이미지를 나타내는지 결정하고, 및/또는 이미지 입력(326)이 (예를 들어, 객체 인식 기술을 사용하여) 특정 자동차, 예를 들어 1961 슈퍼 로드스터의 이미지를 나타내는지 결정할 수 있다.
이미지 입력(326)이 객체의 이미지를 나타내기 때문에, 근접 데이터(327)는 모바일 장치가 사용자의 얼굴과 같은 레벨이거나 얼굴 가까이에 있음을 나타내며, 오디오 입력는 쿼리를 포함하지 않으며, 가상 어시스턴트 애플리케이션은 이미지 입력 모드를 선택할 수 있다.
입력 모드가 선택된 후, 가상 어시스턴트 애플리케이션은 스크린 샷(330)에 도시된 바와 같이, 선택된 입력 모드로부터의 입력(들)을 사용하여 선택된 콘텐츠를 제시하는 사용자 인터페이스(332)를 제시할 수 있다. 이 예시 스크린 샷(330)에서, 사용자 인터페이스(332)는 이미지 입력(324) 및 이미지에 묘사된 자동차에 대한 정보를 포함하는 정보 박스(335)에 의해 표현되는 이미지(334)를 제시한다. 예를 들면, 가상 어시스턴트 애플리케이션(또는 콘텐츠 배포 시스템)은 이미지에서 자동차를 인식하고, 사용자 인터페이스(332)에 제시(표시)하기 위해 자동차와 관련된 콘텐츠를 선택할 수 있다. 이 예에서는 자동차에 대한 정보(예: 자동차의 신원정보(identity))가 선택되고 제시되었다. 다른 예들에서, 자동차의 다른 이미지, 자동차의 비디오, 또는 자동차에 대한 다른 정보가 선택되고 제시될 수 있다. 오디오 입력에 자동차에 대한 질문이 포함되어 있거나, 자동차에 대한 질문(예: 저건 무슨 색인가요? 또는 저 차는 몇년식인가요?)으로 분류될 수 있는 경우, 가상 어시스턴트 애플리케이션은 질문에 답하는 콘텐츠를 선택할 수 있다.
예시적인 사용자 인터페이스(332)는 또한 이미지 입력 모드가 선택된 입력 모드임을 나타내기 위해 이미지 입력 모드 선택기 제어(324) 주위의 박스(336)를 제공한다. 사용자가 오디오 입력 모드 선택기 제어(컨트롤)(323)를 선택하면, 가상 어시스턴트 애플리케이션은 마이크로폰으로부터 오디오 입력을 확득하기 시작하고 오디오 입력에 기초하여 제시할 콘텐츠를 선택할 수 있다. 가상 어시스턴트 애플리케이션은 사용자 인터페이스를 업데이트하거나 오디오 입력 모드에 대한 사용자 인터페이스를 생성할 수도 있다.
도 4는 가상 어시스턴트 애플리케이션에 대한 입력 모드를 선택하고, 선택된 입력 모드를 사용하여 수신된 입력 신호에 기초하여 콘텐츠를 제시하기 위한 예시적인 프로세스(400)의 흐름도이다. 프로세스(400)의 동작은 예를 들어, 도 1의 모바일 장치(110)와 같은 하나 이상의 데이터 처리 장치에 의해 수행될 수 있다. 프로세스(400)의 동작은 또한 비-일시적 컴퓨터 판독 가능 매체에 저장된 명령어로서 구현될 수 있다. 명령어(명령)의 실행은 하나 이상의 데이터 처리 장치가 프로세스(400)의 동작을 수행하게 한다.
모바일 장치의 잠금 화면에서 가상 어시스턴트 애플리케이션을 시작(실행)하라는 요청을 지정하는 요청 데이터가 수신된다(402). 모바일 장치는 사용자가 모바일 장치의 잠금을 해제하고 가상 어시스턴트 애플리케이션을 시작하도록 모바일 장치에 요청하고 있음을 나타내는 잠금 화면(또는 모바일 장치가 잠겨있는 동안)에서 특정 액션, 제스처 또는 음성 명령을 검출(감지)할 수 있다. 예를 들어 모바일 장치는 잠금 화면에 표시된 아이콘의 사용자 스와이프를 검출할 수 있다.
가상 어시스턴트에 대한 입력 신호가 획득된다(404). 각각의 입력 신호는 서로 다른 입력 신호의 서로 다른 입력 유형일 수 있다. 예를 들어, 입력 유형에는 이미지 유형과 오디오 유형이 포함될 수 있다. 이미지 유형의 입력 신호는 모바일 장치의 카메라에 의해 캡처된(예를 들어 모바일 장치가 가상 어시스턴트 애플리케이션을 시작하라는 요청을 검출한 후에 캡처된) 하나 이상의 이미지에 대한 픽셀 데이터일 수 있다. 픽셀 데이터는 각각의 이미지에 대한 각 픽셀 데이터 세트를 포함할 수 있다. 각 픽셀 데이터 세트는 특정 시점에 대한 카메라 뷰파인더의 픽셀을 나타낼 수 있다. 각 픽셀 데이터 세트의 픽셀 데이터에는 카메라 뷰파인더의 각 픽셀의 시각적 특성(예: 색상, 강도, 밝기 등)을 지정하는 데이터가 포함될 수 있다.
오디오 유형의 입력 신호는 모바일 장치의 마이크로폰에 의해 캡처된 오디오 입력에 대한 오디오 데이터일 수 있다. 예를 들어, 오디오 입력에 발화된 단어가 포함된 경우, 오디오 데이터는 오디오(음성) 입력에 발화된 단어를 나타내는 텍스트를 포함할 수 있다. 예를 들어, 가상 어시스턴트 애플리케이션(또는 다른 애플리케이션)은 오디오 트랜스크립션 기술을 사용하여 오디오 데이터를 텍스트로 변환할 수 있다.
획득된 신호는 또한 사용자 또는 사용자의 얼굴에 대한 모바일 장치의 위치를 나타내는 근접거리 유형의 입력을 포함할 수 있다. 근접거리 유형의 입력 신호는 모바일 장치와 사용자(또는 사용자의 얼굴) 사이의 거리 및 사용자(또는 사용자의 얼굴)에 대한 모바일 장치의 상대적 위치(예를 들어 특정 측면에 대해 위, 같은 높이, 아래 등)를 지정할 수 있다.
획득된 신호는 지리적 위치 유형의 입력을 포함할 수도 있다. 지리적 위치 유형의 입력 신호는 모바일 장치의 지리적 위치를 포함할 수 있다. 예를 들어, 가상 어시스턴트 애플리케이션은 모바일 장치의 GPS 센서로부터 GPS 좌표를 얻을 수 있다. 가상 어시스턴트 애플리케이션은 좌표 및 위치 인덱스를 사용하여, 예를 들어, 모바일 장치가 위치한 건물 또는 지역의 유형(예: 박물관, 공원, 경기장, 거주지, 소매점 등)을 결정할 수 있다.
획득된 신호는 환경 유형의 입력을 포함할 수 있다. 환경 유형의 입력은 조명, 소음 및/또는 기타 환경 신호와 관련된 신호를 포함할 수 있다. 예를 들어, 모바일 장치는 모바일 장치의 위치에서 주변 광의 양을 검출하는 광 센서 및/또는 모바일 장치의 위치에서 주변 노이즈의 양을 검출하는 주변 노이즈 센서를 포함할 수 있다. 다른 예에서, 가상 어시스턴트 애플리케이션(또는 다른 애플리케이션)은 픽셀 데이터를 사용하여 주변 조명의 양을 결정하고 및/또는 오디오 데이터를 사용하여 주변 노이즈의 양을 결정할 수 있다.
획득된 신호는 이전 신호(들)에 기반한 입력 모드들에 대한 사용자의 히스토리 또는 선호도를 포함할 수 있다. 예를 들어, 사용자가, 이미지에서 객체가 인식될 때 선호 입력 모드로 가상 어시스턴트에 대한 이미지 모드를 미리 선택했다면, 이 데이터는 입력 모드 선택시 가상 어시스턴트 애플리케이션에 의해 획득될 수 있다.
가상 어시스턴트 애플리케이션에 대한 입력 모드는 하나 이상의 신호에 기초하여 복수의 후보 입력 모드로부터 선택된다(406). 각 후보 입력 모드는 서로 다른 입력 유형의 서로 다른 후보 입력 모드일 수 있다. 후보 입력 모드는 이미지 유형의 이미지 입력 모드와 오디오 유형의 오디오 입력 모드를 포함할 수 있다. 이미지 입력 모드는 가상 어시스턴트 애플리케이션에 입력하기 위한 픽셀 데이터를 수신할 수 있다. 마찬가지로 오디오 입력 모드는 가상 어시스턴트 애플리케이션에 대한 오디오 입력을 수신할 수 있다.
후보 입력 모드는 또한 둘 이상의 유형(예: 픽셀 데이터 및 오디오 데이터 또는 오디오 데이터 및 텍스트 데이터)의 입력을 수신하는 조합 입력 모드를 포함할 수 있다. 전술한 바와 같이, 입력 모드는 예를 들어 일련의 규칙(규칙 세트) 또는 기계 학습 모델을 사용하여 하나 이상의 입력 신호에 기초하여 선택될 수 있다.
한 예에서, 입력 모드는, 이미지 입력 모드를 사용하여 수신된 이미지에 대한 픽셀 데이터에 기초하여, 이미지에 하나 이상의 인식된 객체가 포함되어 있는지 여부를 결정하고, 오디오 입력 모드를 사용하여 수신된 오디오 데이터에 기초하여 오디오가 하나 이상의 인식된 발화된 워드를 포함하는지 여부를 결정함으로써 선택된다. 입력 모드는 이미지에 인식된 객체가 하나 이상 포함되어 있는지 여부와 오디오에 인식된 발화된(음성) 단어가 하나 이상 포함되어 있는지 여부에 따라 결정된다. 예를 들어, 이미지에 인식된 객체가 하나 이상 포함되어 있고 그리고 오디오에 음성 단어가 포함되지 않은 경우, 사용자가 이미지의 객체에 관심을 가질 가능성이 더 높으며 이미지 입력 모드를 선택할 수 있다. 마찬가지로 오디오에 인식된 음성 단어가 하나 이상 포함되어 있고 이미지에 인식된 객체가 포함되어 있지 않은 경우, 사용자가 음성 단어와 관련된 콘텐츠를 수신하는 데 관심이 가질 가능성이 높다.
이미지가 하나 이상의 인식된 객체를 포함하고 오디오에 하나 이상의 인식된 객체와 관련된 하나 이상의 음성 단어(spoken words)가 포함된 경우, 사용자는 인식된 객체(들)에 대해 질문하거나 사용자가 찾고있는 객체(들)와 관련된 콘텐츠를 지정할 수 있다. 이미지가 하나 이상의 인식된 객체를 포함하고 오디오에 하나 이상의 인식된 객체와 관련된 하나 이상의 음성 단어가 포함된 경우, 오디오 데이터와 픽셀 데이터를 모두 사용하는 조합 입력 모드는 가상 어시스턴트 애플리케이션에서 프레젠테이션할 콘텐츠를 식별할 때 선택될 수 있다.
콘텐츠는 모바일 장치의 사용자에게 제공된다(408). 제시(제공)된 콘텐츠는 선택한 입력 모드를 사용하여 수신된 입력 신호를 기반으로 선택될 수 있다. 예를 들어, 오디오 입력 모드가 선택되면 오디오 입력에 대한 오디오 데이터(예: 오디오 입력의 트랜스크립션)를 기반으로 콘텐츠를 선택할 수 있다. 이미지 입력 모드를 선택하면 하나 이상의 이미지에 대한 픽셀 데이터에서 인식된 하나 이상의 객체를 기반으로 콘텐츠를 선택할 수 있다. 이미지 및 오디오 입력 모드를 선택하면 이미지 입력과 오디오 입력의 조합을 기반으로 콘텐츠를 선택할 수 있다. 콘텐츠는 원격 시스템, 예를 들어 콘텐츠 배포 시스템에 의해 선택될 수 있으며, 제시(표시)를 위해 모바일 장치로 전송될 수 있다.
본 명세서에서 설명된 요지 및 기능적 동작의 실시 예는 디지털 전자 회로, 유형적으로 구현된 컴퓨터 소프트웨어 또는 펌웨어, 컴퓨터 하드웨어로 구현될 수 있으며, 본 명세서 및 그 구조적 균등물에 개시된 구조를 포함하거나, 그들 중 하나 이상의 조합을 포함한다. 본 명세서에서 설명된 요지의 실시 예는 하나 이상의 컴퓨터 프로그램, 즉 데이터 프로세싱 장치에 의해 실행되거나 또는 데이터 프로세싱 장치의 동작을 제어하기 위한 유형의 비-일시적인 프로그램 캐리어상에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈로서 구현될 수 있다. 선택적으로 또는 부가적으로, 상기 프로그램 명령어들은 데이터 프로세싱 장치에 의한 실행을 위해 적절한 수신기 장치로의 송신을 위한 정보를 인코딩하기 위해 생성된 인위적으로 생성된 전파 신호, 예를 들어, 기계 - 생성 전기, 광학 또는 전자기 신호 상에 인코딩될 수 있다. 컴퓨터 저장 매체는 기계 판독 가능 저장 장치, 기계 판독 가능 저장 기판, 랜덤 또는 시리얼 액세스 메모리 장치, 또는 이들 중 하나 이상의 조합일 수 있다.
"데이터 프로세싱 장치"라는 용어는 예를 들어 프로그램 가능 프로세서, 컴퓨터, 또는 복수의 프로세서 또는 컴퓨터를 포함하는 데이터 프로세싱을 위한 모든 종류의 장치, 디바이스 및 기계를 포함한다. 상기 장치는 특수 목적 논리 회로, 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)을 포함할 수 있다. 또한, 상기 장치는 하드웨어 이외에, 해당 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 모듈, 소프트웨어 모듈, 스크립트 또는 코드로 지칭되거나 설명될 수 있음)은 컴파일된 또는 해석된 언어, 또는 선언적 또는 절차적 언어를 포함한 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램이나 모듈, 컴포넌트, 서브루틴 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 장치를 포함하여 어떤 형태로든 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 해당할 수 있지만 반드시 그런 것은 아니다. 프로그램은 프로그램 전용 단일 파일, 여러 개의 조정된 파일(예를 들어, 하나 이상의 모듈, 하위 프로그램 또는 코드의 부분들을 저장하는 파일들), 또는 마크업 언어 문서에 저장된 하나 이상의 스크립트와 같은 다른 프로그램들 또는 데이터를 보유하고 있는 파일의 부분에 저장될 수 있다. 컴퓨터 프로그램은 한 사이트에 있거나 여러 사이트에 분산되어 있으며 통신 네트워크로 상호 연결된 여러 대의 컴퓨터 또는 하나의 컴퓨터에서 실행되도록 배포될 수 있다.
본 명세서에서 설명되는 프로세스들 및 로직 흐름은 입력 데이터를 오퍼레이팅하고 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능 컴퓨터에 의해 수행될 수 있다. 상기 프로세스들 및 로직 흐름은 또한 FPGA(field programmable gate array), ASIC(application-specific integrated circuit), 또는 GPGPU(General purpose graphics processing unit)과 같은 특수 목적의 논리 회로에 의해 수행될 수 있고, 장치는 또한 상기 특수 목적의 논리 회로로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 컴퓨터들은 예를 들어 범용 또는 특수 목적 마이크로프로세서들 또는 둘 모두, 또는 임의의 다른 종류의 중앙 처리 장치를 포함하고, 이들에 기반될 수 있다. 일반적으로, 중앙 처리 장치는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 구성요소들은 명령어들을 수행하거나 실행하기 위한 중앙 처리 장치 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 예를 들어, 자기, 광 자기 디스크 또는 광학 디스크와 같은 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치로부터 데이터를 수신하거나 그 하나 이상의 대용량 저장 장치에 데이터를 전송하기 위해 동작 가능하게 결합될 것이다. 그러나, 컴퓨터는 그러한 장치들을 가질 필요가 없다. 또한, 컴퓨터는 다른 장치, 예를 들어, 이동 전화기, 개인 휴대 정보 단말기(PDA), 이동 오디오 또는 비디오 플레이어, 게임 콘솔, GPS 수신기 또는 예를 들어 범용 직렬 버스(USB) 플래시 드라이브와 같은 휴대용 저장 장치에 내장될 수 있다.
컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는 예를 들어 EPROM, EEPROM 및 플래시 메모리 장치들과 같은 반도체 메모리 장치들; 내부 하드 디스크 또는 이동식 디스크와 같은 자기 디스크; 광 자기 디스크; 그리고 CD-ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치들을 포함한다. 상기 프로세서 및 메모리는 특수 목적 논리 회로에 의해 통합되거나 보완될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에서 설명된 요지의 실시예들은 사용자에게 정보를 디스플레이하기 위한 디스플레이 장치(예를 들어 CRT(cathode ray tube) 모니터, LCD(liquid crystal display) 모니터), 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 장치(예를 들어 마우스 또는 트랙볼)를 갖는 컴퓨터상에서 구현될 수 있다. 다른 종류의 디바이스들이 사용자와의 상호 작용을 제공하는 데 사용될 수 있으며, 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각 피드백일 수 있으며, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 사용자가 사용하는 디바이스로부터 자원들을 수신하고 그 자원들을 보냄으로써, 예를 들어, 웹 브라우저로부터 수신된 요청들에 응답하여 사용자의 클라이언트 디바이스상의 웹 브라우저에 웹 페이지들을 전송함으로써 사용자와 상호 작용할 수 있다.
본 명세서에서 설명된 요지의 실시예들은 데이터 서버와 같은 백 엔드 컴포넌트, 또는 예를 들어 애플리케이션 서버와 같은 미들웨어 컴포넌트, 또는 본 명세서에 설명된 요지의 구현예와 사용자가 상호 작용할 수 있는 웹 브라우저를 또는 그래픽 사용자 인터페이스를 갖는 클라이언트 컴퓨터와 같은 프론트 엔드 컴포넌트, 또는 하나 이상의 백엔드, 미들웨어 또는 프런트 엔드 컴포넌트의 모든 조합을 포함하는 컴퓨팅 시스템으로 구현될 수 있다. 상기 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호 접속될 수 있다. 예시적인 통신 네트워크들은 근거리 통신망("LAN") 및 광역 통신망("WAN"), 예를 들어 인터넷을 포함한다.
상기 컴퓨팅 시스템은 클라이언트들과 서버들을 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며, 일반적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터들에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들에 의해 발생한다.
본 명세서는 복수의 특정 구현 세부 사항을 포함하지만, 이들은 청구될 수 있는 범위에 대한 제한으로서 해석되어서는 안되며, 오히려 특정 실시예들에 특정 될 수 있는 특징들에 대한 설명으로 해석되어야 한다. 별도의 실시예들과 관련하여 본 명세서에서 설명되는 특정 특징들은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예의 문맥에서 설명된 다양한 특징은 또한 복수의 실시예에서 개별적으로 또는 임의의 적합한 하위 조합으로 구현될 수 있다. 더욱이, 특징들은 특정 조합으로 동작하는 것으로 상술될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징이 일부 경우에서 그 조합으로부터 제거될 수 있으며, 청구된 조합은 서브 조합 또는 서브 조합의 변형에 관한 것일 수 있다.
유사하게, 동작들이 특정 순서로 도면들에 도시되어 있지만, 이는 바람직한 결과들을 달성하기 위해 상기 동작들이 도시된 특정 순서 또는 순차적 순서로 수행되거나 모든 예시된 동작이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 특정 상황에서 멀티 태스킹 및 병렬 처리가 유리할 수 있다. 또한, 전술한 실시예들에서 다양한 시스템 컴포넌트들의 분리는 모든 실시예들에서 그러한 분리를 요구하는 것으로 이해되어서는 안되며, 서술된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품에 함께 통합되거나 다중 소프트웨어 제품들로 패키징될 수 있다는 것을 이해해야 한다.
본 발명의 특정 실시예들이 설명되었다. 다른 실시예들은 다음의 청구항들의 범위 내에 있다. 예를 들어, 청구 범위에 열거된 동작들은 상이한 순서로 수행될 수 있으며 여전히 바람직한 결과들을 달성한다. 하나의 예로서, 첨부된 도면들에 도시된 프로세스들은 바람직한 결과들을 얻기 위해 나타낸 특정 순서 또는 순차적 순서를 반드시 필요로 하지는 않는다. 특정 구현예들에서, 멀티태스킹 및 병렬 처리가 유리할 수 있다.

Claims (20)

  1. 하나 이상의 데이터 처리 장치에 의해 수행되는 방법으로서,
    모바일 장치의 잠금 화면에서 가상 어시스턴트 애플리케이션을 시작하도록 하는 요청을 지정하는 요청 데이터를 수신하는 단계;
    상기 요청 데이터를 수신하는 것에 응답하여, 복수의 입력 신호들을 획득하는 단계 -상기 입력 신호들 각각은 서로 다른 입력 유형의 서로 다른 입력 신호의 입력 유형이고, 상기 입력 신호들에 대한 입력 유형들은 이미지 유형 및 오디오 유형을 포함함-;
    상기 입력 유형들에 대응하는 복수의 입력 모드들에 대한 복수의 신뢰도 점수를 각각 결정하기 위해 상기 복수의 입력 신호들 각각을 평가하는 단계;
    상기 복수의 입력 모드들 중에서, 상기 복수의 입력 모드들에 대해 생성된 복수의 신뢰도 점수에 기초하여 상기 가상 어시스턴트 애플리케이션에 대한 입력 모드를 선택하는 단계; 그리고
    상기 가상 어시스턴트 애플리케이션에 의해, 상기 모바일 장치의 사용자에게 콘텐츠를 제시하는 단계를 포함하며, 상기 제시된 콘텐츠는 상기 선택된 입력 모드를 사용하여 수신된 입력 신호에 기초하여 선택되는 것을 특징으로 하는 하나 이상의 데이터 처리 장치에 의해 수행되는 방법.
  2. 제1항에 있어서, 복수의 신뢰도 점수를 각각 결정하기 위해 상기 복수의 입력 신호들 각각을 평가하는 단계는,
    상기 복수의 입력 신호들의 상기 이미지 유형의 제1 입력 신호에 적어도 부분적으로 기초하여 -상기 이미지 유형의 제1 입력 신호는 상기 모바일 장치의 카메라에 의해 캡처된 이미지에 대한 픽셀 데이터임- 상기 이미지가 하나 이상의 객체들을 포함하는지 여부를 결정하는 단계;
    적어도 상기 픽셀 데이터에 기초하여, 상기 하나 이상의 객체들이 하나 이상의 지정된 객체 클래스들의 하나 이상의 인식된 객체들을 포함한다고 결정하는 단계;
    상기 복수의 입력 신호들의 상기 오디오 유형의 제2 입력 신호에 적어도 부분적으로 기초하여 -상기 오디오 유형의 제2 입력 신호는 상기 모바일 장치의 마이크로폰에 의해 캡처된 오디오 입력에 대한 오디오 데이터임- 상기 오디오 데이터가 쿼리를 포함하는지 여부를 결정하는 단계; 그리고
    상기 오디오 데이터에 적어도 부분적으로 기초하고 그리고 언어 모델을 사용하여, 상기 오디오 데이터가 상기 쿼리를 포함할 가능성을 결정하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 데이터 처리 장치에 의해 수행되는 방법.
  3. 제1항에 있어서, 상기 방법은,
    상기 선택된 입력 모드에 기초하여 상기 복수의 입력 신호들의 입력을 원격 서버로 전송하는 단계를 더 포함하며,
    상기 사용자에게 제시되는 콘텐츠는 복수의 입력 신호들의 전송된 입력에 기초하여 상기 원격 서버로부터 수신되는 것을 특징으로 하는 하나 이상의 데이터 처리 장치에 의해 수행되는 방법.
  4. 제1항에 있어서, 상기 방법은,
    상기 선택된 입력 모드에 기초하여 상기 가상 어시스턴트 애플리케이션에 의해 제시하기 위한 사용자 인터페이스를 선택하는 단계를 더 포함하며, 상기 콘텐츠는 상기 선택된 사용자 인터페이스를 사용하여 제시되는 것을 특징으로 하는 하나 이상의 데이터 처리 장치에 의해 수행되는 방법.
  5. 제1항에 있어서,
    상기 복수의 입력 신호들을 획득하는 단계는 상기 모바일 장치의 가속도계 또는 상기 모바일 장치의 자이로스코프 중 하나 이상으로부터 수신된 데이터에 기초하여 상기 사용자에 대한 상기 모바일 장치의 위치를 결정하는 단계를 포함하고; 그리고
    상기 복수의 신뢰도 점수에 기초하여 그리고 상기 복수의 입력 모드들로부터, 상기 가상 어시스턴트 애플리케이션에 대한 입력 모드를 선택하는 단계는 상기 사용자에 대한 상기 모바일 장치의 위치 및 상기 복수의 신뢰도 점수에 기초하여 상기 입력 모드를 선택하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 데이터 처리 장치에 의해 수행되는 방법.
  6. 제2항에 있어서,
    상기 복수의 입력 신호들을 획득하는 단계는 상기 모바일 장치의 가속도계 또는 상기 모바일 장치의 자이로스코프 중 하나 이상으로부터 수신된 데이터에 기초하여 상기 모바일 장치의 카메라가 가리키는 방향을 결정하는 단계를 포함하고; 그리고
    상기 복수의 입력 모드들로부터, 상기 가상 어시스턴트 애플리케이션에 대한 입력 모드를 선택하는 단계는 상기 모바일 장치의 카메라가 가리키는 방향 및 상기 복수의 신뢰도 점수에 기초하여 상기 입력 모드를 선택하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 데이터 처리 장치에 의해 수행되는 방법.
  7. 제1항에 있어서,
    상기 가상 어시스턴트에 대한 입력과 관련된 하나 이상의 신호들을 획득하는 단계는 상기 모바일 장치의 지리적 위치를 지정하는 지리적 위치 데이터를 획득하는 단계를 포함하고; 그리고
    상기 복수의 입력 모드들로부터, 상기 가상 어시스턴트 애플리케이션에 대한 입력 모드를 선택하는 단계는 상기 모바일 장치의 지리적 위치 및 상기 복수의 신뢰도 점수에 기초하여 상기 입력 모드를 선택하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 데이터 처리 장치에 의해 수행되는 방법.
  8. 제1항에 있어서,
    상기 복수의 입력 모드들로부터 가상 어시스턴트 애플리케이션에 대한 입력 모드를 선택하는 단계는 음성 입력이 쿼리를 포함하는지 여부를 결정하고 그리고 상기 음성 입력이 상기 쿼리를 포함한다는 결정에 응답하여 오디오 입력 모드를 선택하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 데이터 처리 장치에 의해 수행되는 방법.
  9. 제1항에 있어서,
    상기 가상 어시스턴트 애플리케이션에 의해, 상기 모바일 장치의 사용자에게 콘텐츠를 제시하는 단계는 상기 가상 어시스턴트 애플리케이션의 사용자 인터페이스에 이미지 콘텐츠를 제시하는 단계, 상기 가상 어시스턴트 애플리케이션의 사용자 인터페이스에 비디오 콘텐츠를 제시하는 단계 또는 오디오 콘텐츠를 재생하는 단계 중 적어도 하나를 포함하는 것을 특징으로 하는 하나 이상의 데이터 처리 장치에 의해 수행되는 방법.
  10. 시스템으로서,
    하나 이상의 데이터 처리 장치; 그리고
    상기 하나 이상의 데이터 처리 장치와 데이터 통신하는 메모리 저장 장치를 포함하며, 상기 메모리 저장 장치는 상기 하나 이상의 데이터 처리 장치에 의해 실행 가능한 명령어를 저장하고 그리고 명령어 실행 시에 상기 하나 이상의 데이터 처리 장치로 하여금 동작들을 수행하게 하며; 상기 동작들은,
    모바일 장치의 잠금 화면에서 가상 어시스턴트 애플리케이션을 시작하도록 하는 요청을 지정하는 요청 데이터를 수신하는 동작;
    상기 요청 데이터를 수신하는 것에 응답하여, 복수의 입력 신호들을 획득하는 동작 -상기 입력 신호들 각각은 서로 다른 입력 유형의 서로 다른 입력 신호의 입력 유형이고, 상기 입력 신호들에 대한 입력 유형들은 이미지 유형 및 오디오 유형을 포함함-;
    상기 입력 유형들에 대응하는 복수의 입력 모드들에 대한 복수의 신뢰도 점수를 각각 결정하기 위해 상기 복수의 입력 신호들 각각을 평가하는 동작;
    상기 복수의 입력 모드들 중에서, 상기 복수의 입력 모드들에 대해 생성된 복수의 신뢰도 점수에 기초하여 상기 가상 어시스턴트 애플리케이션에 대한 입력 모드를 선택하는 동작; 그리고
    상기 가상 어시스턴트 애플리케이션에 의해, 상기 모바일 장치의 사용자에게 콘텐츠를 제시하는 동작을 포함하며, 상기 제시된 콘텐츠는 상기 선택된 입력 모드를 사용하여 수신된 입력 신호에 기초하여 선택되는 것을 특징으로 하는 시스템.
  11. 제10항에 있어서, 복수의 신뢰도 점수를 각각 결정하기 위해 상기 복수의 입력 신호들 각각을 평가하는 동작은,
    상기 복수의 입력 신호들의 상기 이미지 유형의 제1 입력 신호에 적어도 부분적으로 기초하여 -상기 이미지 유형의 제1 입력 신호는 상기 모바일 장치의 카메라에 의해 캡처된 이미지에 대한 픽셀 데이터임- 상기 이미지가 하나 이상의 객체들을 포함하는지 여부를 결정하는 동작;
    적어도 상기 픽셀 데이터에 기초하여, 상기 하나 이상의 객체들이 하나 이상의 지정된 객체 클래스들의 하나 이상의 인식된 객체들을 포함한다고 결정하는 동작;
    상기 복수의 입력 신호들의 상기 오디오 유형의 제2 입력 신호에 적어도 부분적으로 기초하여 -상기 오디오 유형의 제2 입력 신호는 상기 모바일 장치의 마이크로폰에 의해 캡처된 오디오 입력에 대한 오디오 데이터임- 상기 오디오 데이터가 쿼리를 포함하는지 여부를 결정하는 동작; 그리고
    상기 오디오 데이터에 적어도 부분적으로 기초하고 그리고 언어 모델을 사용하여, 상기 오디오 데이터가 상기 쿼리를 포함할 가능성을 결정하는 동작을 포함하는 것을 특징으로 하는 시스템.
  12. 제10항에 있어서, 상기 동작들은,
    상기 선택된 입력 모드에 기초하여 상기 복수의 입력 신호들의 입력을 원격 서버로 전송하는 동작을 더 포함하며,
    상기 사용자에게 제시되는 콘텐츠는 복수의 입력 신호들의 전송된 입력에 기초하여 상기 원격 서버로부터 수신되는 것을 특징으로 하는 시스템.
  13. 제10항에 있어서, 상기 동작들은,
    상기 선택된 입력 모드에 기초하여 상기 가상 어시스턴트 애플리케이션에 의해 제시하기 위한 사용자 인터페이스를 선택하는 동작을 포함하며, 상기 콘텐츠는 상기 선택된 사용자 인터페이스를 사용하여 제시되는 것을 특징으로 하는 시스템.
  14. 제10항에 있어서,
    상기 복수의 입력 신호들을 획득하는 동작은 상기 모바일 장치의 가속도계 또는 상기 모바일 장치의 자이로스코프 중 하나 이상으로부터 수신된 데이터에 기초하여 상기 사용자에 대한 상기 모바일 장치의 위치를 결정하는 동작을 포함하고; 그리고
    상기 복수의 신뢰도 점수에 기초하여 그리고 복수의 입력 모드들로부터, 상기 가상 어시스턴트 애플리케이션에 대한 입력 모드를 선택하는 동작은 상기 사용자에 대한 상기 모바일 장치의 위치 및 상기 복수의 신뢰도 점수에 기초하여 상기 입력 모드를 선택하는 동작을 포함하는 것을 특징으로 하는 시스템.
  15. 제11항에 있어서,
    상기 복수의 입력 신호들을 획득하는 동작은 상기 모바일 장치의 가속도계 또는 상기 모바일 장치의 자이로스코프 중 하나 이상으로부터 수신된 데이터에 기초하여 상기 모바일 장치의 카메라가 가리키는 방향을 결정하는 동작을 포함하고; 그리고
    상기 복수의 입력 모드들로부터, 상기 가상 어시스턴트 애플리케이션에 대한 입력 모드를 선택하는 동작은 상기 모바일 장치의 카메라가 가리키는 방향 및 상기 복수의 신뢰도 점수에 기초하여 상기 입력 모드를 선택하는 동작을 포함하는 것을 특징으로 하는 시스템.
  16. 제10항에 있어서,
    상기 가상 어시스턴트에 대한 입력과 관련된 하나 이상의 신호들을 획득하는 동작은 상기 모바일 장치의 지리적 위치를 지정하는 지리적 위치 데이터를 획득하는 동작을 포함하고; 그리고
    상기 복수의 입력 모드들로부터, 상기 가상 어시스턴트 애플리케이션에 대한 입력 모드를 선택하는 동작은 상기 모바일 장치의 지리적 위치 및 상기 복수의 신뢰도 점수에 기초하여 상기 입력 모드를 선택하는 동작을 포함하는 것을 특징으로 하는 시스템.
  17. 제10항에 있어서,
    상기 복수의 입력 모드들로부터, 가상 어시스턴트 애플리케이션에 대한 입력 모드를 선택하는 동작은 음성 입력이 쿼리를 포함하는지 여부를 결정하고 그리고 상기 음성 입력이 상기 쿼리를 포함한다는 결정에 응답하여 오디오 입력 모드를 선택하는 동작을 포함하는 것을 특징으로 하는 시스템.
  18. 제10항에 있어서,
    상기 가상 어시스턴트 애플리케이션에 의해, 상기 모바일 장치의 사용자에게 콘텐츠를 제시하는 동작은 상기 가상 어시스턴트 애플리케이션의 사용자 인터페이스에 이미지 콘텐츠를 제시하는 동작, 상기 가상 어시스턴트 애플리케이션의 사용자 인터페이스에 비디오 콘텐츠를 제시하는 동작 또는 오디오 콘텐츠를 재생하는 동작 중 적어도 하나를 포함하는 것을 특징으로 하는 시스템.
  19. 컴퓨터 프로그램이 인코딩되어 저장된 비일시적 컴퓨터 저장 매체로서,
    상기 프로그램은 데이터 처리 장치에 의해 실행될 때 상기 데이터 처리 장치로 하여금 동작들을 수행하게 하는 명령어를 포함하며; 상기 동작들은,
    모바일 장치의 잠금 화면에서 가상 어시스턴트 애플리케이션을 시작하도록 하는 요청을 지정하는 요청 데이터를 수신하는 동작;
    상기 요청 데이터를 수신하는 것에 응답하여, 복수의 입력 신호들을 획득하는 동작 -상기 입력 신호들 각각은 서로 다른 입력 유형의 서로 다른 입력 신호의 입력 유형이고, 상기 입력 신호들에 대한 입력 유형들은 이미지 유형 및 오디오 유형을 포함함-;
    상기 입력 유형들에 대응하는 복수의 입력 모드들에 대한 복수의 신뢰도 점수를 각각 결정하기 위해 상기 복수의 입력 신호들 각각을 평가하는 동작;
    상기 복수의 입력 모드들 중에서, 상기 복수의 입력 모드들에 대해 생성된 복수의 신뢰도 점수에 기초하여 상기 가상 어시스턴트 애플리케이션에 대한 입력 모드를 선택하는 동작; 그리고
    상기 가상 어시스턴트 애플리케이션에 의해, 상기 모바일 장치의 사용자에게 콘텐츠를 제시하는 동작을 포함하며, 상기 제시된 콘텐츠는 상기 선택된 입력 모드를 사용하여 수신된 입력 신호에 기초하여 선택되는 것을 특징으로 하는 컴퓨터 프로그램이 인코딩되어 저장된 비일시적 컴퓨터 저장 매체.
  20. 제19항에 있어서, 복수의 신뢰도 점수를 각각 결정하기 위해 상기 복수의 입력 신호들 각각을 평가하는 동작은,
    상기 복수의 입력 신호들의 상기 이미지 유형의 제1 입력 신호에 적어도 부분적으로 기초하여 -상기 이미지 유형의 제1 입력 신호는 상기 모바일 장치의 카메라에 의해 캡처된 이미지에 대한 픽셀 데이터임- 상기 이미지가 하나 이상의 객체들을 포함하는지 여부를 결정하는 동작;
    적어도 상기 픽셀 데이터에 기초하여, 상기 하나 이상의 객체들이 하나 이상의 지정된 객체 클래스들의 하나 이상의 인식된 객체들을 포함한다고 결정하는 동작;
    상기 복수의 입력 신호들의 상기 오디오 유형의 제2 입력 신호에 적어도 부분적으로 기초하여 -상기 오디오 유형의 제2 입력 신호는 상기 모바일 장치의 마이크로폰에 의해 캡처된 오디오 입력에 대한 오디오 데이터임- 상기 오디오 데이터가 쿼리를 포함하는지 여부를 결정하는 동작; 그리고
    상기 오디오 데이터에 적어도 부분적으로 기초하고 그리고 언어 모델을 사용하여, 상기 오디오 데이터가 상기 쿼리를 포함할 가능성을 결정하는 동작을 포함하는 것을 특징으로 하는 컴퓨터 프로그램이 인코딩되어 저장된 비일시적 컴퓨터 저장 매체.
KR1020237003271A 2018-05-16 2019-05-13 가상 어시스턴트를 위한 입력 모드 선택 KR102667842B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US15/981,536 2018-05-16
US15/981,536 US11169668B2 (en) 2018-05-16 2018-05-16 Selecting an input mode for a virtual assistant
KR1020207034904A KR102494642B1 (ko) 2018-05-16 2019-05-13 가상 어시스턴트를 위한 입력 모드 선택
PCT/US2019/031969 WO2019222076A1 (en) 2018-05-16 2019-05-13 Selecting an input mode for a virtual assistant

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020207034904A Division KR102494642B1 (ko) 2018-05-16 2019-05-13 가상 어시스턴트를 위한 입력 모드 선택

Publications (2)

Publication Number Publication Date
KR20230020019A KR20230020019A (ko) 2023-02-09
KR102667842B1 true KR102667842B1 (ko) 2024-05-22

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140132505A1 (en) 2011-05-23 2014-05-15 Hewlett-Packard Development Company, L.P. Multimodal interactions based on body postures
US20150088923A1 (en) * 2013-09-23 2015-03-26 Google Inc. Using sensor inputs from a computing device to determine search query
US20150193005A1 (en) 2014-01-03 2015-07-09 Harman International Industries, Inc. User-directed personal information assistant
JP2016062397A (ja) 2014-09-19 2016-04-25 ヤフー株式会社 端末装置、情報処理方法および情報処理プログラム
US20160227411A1 (en) 2015-02-03 2016-08-04 Qualcomm Incorporated Asset accessibility with continuous authentication for mobile devices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140132505A1 (en) 2011-05-23 2014-05-15 Hewlett-Packard Development Company, L.P. Multimodal interactions based on body postures
US20150088923A1 (en) * 2013-09-23 2015-03-26 Google Inc. Using sensor inputs from a computing device to determine search query
US20150193005A1 (en) 2014-01-03 2015-07-09 Harman International Industries, Inc. User-directed personal information assistant
JP2016062397A (ja) 2014-09-19 2016-04-25 ヤフー株式会社 端末装置、情報処理方法および情報処理プログラム
US20160227411A1 (en) 2015-02-03 2016-08-04 Qualcomm Incorporated Asset accessibility with continuous authentication for mobile devices

Similar Documents

Publication Publication Date Title
KR102494642B1 (ko) 가상 어시스턴트를 위한 입력 모드 선택
US11409368B2 (en) Navigating through augmented reality content
US20200412975A1 (en) Content capture with audio input feedback
CN110263213B (zh) 视频推送方法、装置、计算机设备及存储介质
US11317018B2 (en) Camera operable using natural language commands
US20230206912A1 (en) Digital assistant control of applications
US20200412864A1 (en) Modular camera interface
US11410439B2 (en) Sequence-of-sequences model for 3D object recognition
US11769500B2 (en) Augmented reality-based translation of speech in association with travel
US11983461B2 (en) Speech-based selection of augmented reality content for detected objects
KR20190140519A (ko) 전자 장치 및 그의 제어방법
KR20220155601A (ko) 검출된 객체들에 대한 증강 현실 콘텐츠의 음성 기반 선택
KR20180054362A (ko) 사용자의 음성 입력을 인식하는 방법 및 장치
US20190251355A1 (en) Method and electronic device for generating text comment about content
CN108052506B (zh) 自然语言处理方法、装置、存储介质及电子设备
US20240046930A1 (en) Speech-based selection of augmented reality content
US20230394819A1 (en) Displaying object names in association with augmented reality content
KR102667842B1 (ko) 가상 어시스턴트를 위한 입력 모드 선택
US20240021195A1 (en) Boosting words in automated speech recognition
US20230326445A1 (en) Animated speech refinement using machine learning