KR20210082250A - 하나 이상의 컴퓨터 애플리케이션에서 사용 가능한 액션을 선택하고 사용자에게 제공하기 위한 시스템 및 방법 - Google Patents

하나 이상의 컴퓨터 애플리케이션에서 사용 가능한 액션을 선택하고 사용자에게 제공하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20210082250A
KR20210082250A KR1020217016763A KR20217016763A KR20210082250A KR 20210082250 A KR20210082250 A KR 20210082250A KR 1020217016763 A KR1020217016763 A KR 1020217016763A KR 20217016763 A KR20217016763 A KR 20217016763A KR 20210082250 A KR20210082250 A KR 20210082250A
Authority
KR
South Korea
Prior art keywords
application
output
indicator
user
computing device
Prior art date
Application number
KR1020217016763A
Other languages
English (en)
Other versions
KR102688533B1 (ko
Inventor
팀 원트랜드
브랜든 바벨로
로버트 베리
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20210082250A publication Critical patent/KR20210082250A/ko
Application granted granted Critical
Publication of KR102688533B1 publication Critical patent/KR102688533B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • G06N3/0445
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0454
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

컴퓨팅 시스템은 컨텍스트 데이터를 포함하는 모델 입력을 기계 학습 모델에 입력하고, 컨텍스트 데이터에 의해 참조되는 하나 이상의 시맨틱 엔터티를 기술하는 모델 출력을 수신하도록 구성될 수 있다. 컴퓨팅 시스템은 시맨틱 엔터티 또는 엔터티들을 기술하는 데이터를 컴퓨터 애플리케이션(들)에 제공하고, 시맨틱 엔터티 또는 엔터티들을 기술하는 데이터를 컴퓨터 애플리케이션(들)에 제공함에 응답하여 상기 컴퓨팅 애플리케이션(들)으로부터 각각 애플리케이션 출력(들)을 수신하도록 구성될 수 있다. 각 컴퓨터 애플리케이션으로부터 수신된 애플리케이션 출력(들)은 시맨틱 엔터티 또는 엔터티들과 관련하여 대응하는 컴퓨터 애플리케이션의 가용 액션(들)을 기술할 수 있다. 컴퓨팅 시스템은 시맨틱 엔터티 또는 엔터티들과 관련하여 대응하는 컴퓨터 애플리케이션의 가용 액션(들)을 기술하는 적어도 하나의 표시자를 사용자에게 제공하도록 구성될 수 있다.

Description

하나 이상의 컴퓨터 애플리케이션에서 사용 가능한 액션을 선택하고 사용자에게 제공하기 위한 시스템 및 방법
본 개시는 일반적으로 컴퓨팅 시스템과 컴퓨팅 시스템에서 동작 가능한 컴퓨터 애플리케이션 간의 인터렉션에 관한 것이다. 보다 구체적으로, 본 개시는 하나 이상의 컴퓨터 애플리케이션으로부터 가용 액션을 선택하고 사용자에게 제공하기 위한 시스템 및 관련된 방법에 관한 것이다.
컴퓨팅 디바이스(예: 데스크톱 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트폰, 웨어러블 컴퓨팅 디바이스 등)는 현대 사회에서 어디에나 존재한다. 컴퓨팅 디바이스는 사용자 간의 통신을 지원하고 사용자에게 환경, 현재 이벤트, 넓은 세상 등에 대한 정보를 제공할 수 있다. 다양한 액션을 수행하기 위해 이러한 컴퓨팅 디바이스에서 무수히 많은 다른 컴퓨터 애플리케이션이 동작할 수 있다. 사용자는 일반적으로 사용자가 수행하려는 액션에 따라 특정 컴퓨터 애플리케이션을 수동으로 선택해야 한다.
본 발명의 실시예의 양태들 및 이점들이 후술하는 설명에서 부분적으로 기술될 것이며, 또는 설명으로부터 학습될 수 있거나 또는 실시예의 실시를 통해 학습될 수 있다.
본 발명의 일 예시적 양태는 컴퓨팅 시스템에 관한 것이다. 컴퓨팅 시스템은 적어도 하나의 프로세서를 포함할 수 있다. 컴퓨팅 시스템은 컨텍스트 데이터를 포함하는 모델 입력을 수신하고, 상기 모델 입력의 수신에 응답하여, 상기 컨텍스트 데이터에 의해 참조되는 하나 이상의 시맨틱 엔터티를 기술하는 모델 출력을 출력하도록 구성된 기계 학습 모델을 포함할 수 있다. 컴퓨팅 시스템은 하나 이상의 컴퓨터 애플리케이션을 포함할 수 있다. 컴퓨팅 시스템은 명령어를 저장하는 적어도 하나의 유형적, 비일시적 컴퓨터 판독가능 매체를 포함하며, 상기 명령어는 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금 동작들을 수행한다. 동작들은 모델 입력을 기계 학습 모델에 입력하고, 기계 학습 모델의 출력으로 수신하는 것을 포함할 수 있다. 모델 출력은 컨텍스트 데이터에 의해 참조되는 하나 이상의 시맨틱 엔터티를 기술할 수 있다. 상기 동작들은 상기 하나 이상의 시맨틱 엔터티를 기술하는 데이터를 상기 하나 이상의 컴퓨터 애플리케이션에 제공하는 것을 포함할 수 있다. 상기 동작들은 하나 이상의 시맨틱 엔터티를 기술하는 데이터를 하나 이상의 컴퓨터 애플리케이션에 제공하는 것에 응답하여 하나 이상의 컴퓨팅 애플리케이션으로부터 각각 하나 이상의 애플리케이션 출력을 수신하는 것을 포함할 수 있다. 각각의 컴퓨터 애플리케이션으로부터 수신된 애플리케이션 출력은 하나 이상의 시맨틱 엔터티와 관련하여 대응하는 컴퓨터 애플리케이션의 하나 이상의 가용 액션을 기술할 수 있다. 동작들은 컴퓨팅 시스템의 사용자에게 적어도 하나의 표시자를 제공하는 것을 포함할 수 있다. 상기 적어도 하나의 표시자는 상기 하나 이상의 시맨틱 엔터티에 대한 대응하는 컴퓨터 애플리케이션의 하나 이상의 가용 액션 중 적어도 하나를 기술할 수 있다.
본 개시의 다른 예시적 양태는 하나 이상의 컴퓨터 애플리케이션으로부터 가용 액션을 선택하고 사용자에게 제공하기 위한 컴퓨터로 구현되는 방법에 관한 것이다. 상기 방법은 하나 이상의 컴퓨팅 디바이스에 의해, 컨텍스트 데이터를 포함하는 모델 입력을 상기 모델 입력을 수신하고 상기 모델 입력의 수신에 응답하여, 상기 컨텍스트 데이터에 의해 참조되는 하나 이상의 시맨틱 엔터티를 기술하는 모델 출력을 출력하도록 구성된 기계 학습 모델에 입력하는 단계를 포함할 수 있다. 상기 방법은 하나 이상의 컴퓨팅 디바이스에 의해, 모델 출력을 기계 학습 모델의 출력으로서 수신하는 단계를 포함할 수 있다. 모델 출력은 컨텍스트 데이터에 의해 참조되는 하나 이상의 시맨틱 엔터티를 기술할 수 있다. 상기 방법은 상기 하나 이상의 컴퓨팅 디바이스에 의해, 상기 하나 이상의 시맨틱 엔터티를 기술하는 데이터를 상기 하나 이상의 컴퓨터 애플리케이션에 제공하는 단계를 포함할 수 있다. 상기 방법은 하나 이상의 컴퓨터 디바이스에 의해 하나 이상의 시맨틱 엔터티를 기술하는 데이터를 하나 이상의 컴퓨터 애플리케이션에 제공하는 것에 응답하여 하나 이상의 컴퓨팅 애플리케이션으로부터 각각 하나 이상의 애플리케이션 출력을 수신하는 단계를 포함할 수 있다. 각각의 컴퓨터 애플리케이션으로부터 수신된 애플리케이션 출력은 하나 이상의 시맨틱 엔터티와 관련하여 대응하는 컴퓨터 애플리케이션의 하나 이상의 가용 액션을 기술할 수 있다. 상기 방법은 상기 하나 이상의 컴퓨팅 디바이스에 의해 컴퓨팅 시스템의 사용자에게 적어도 하나의 표시자를 제공하는 단계를 포함할 수 있다. 상기 적어도 하나의 표시자는 상기 하나 이상의 시맨틱 엔터티에 대한 대응하는 컴퓨터 애플리케이션의 하나 이상의 가용 액션 중 적어도 하나를 기술할 수 있다.
본 발명의 다른 양태는 다양한 시스템, 디바이스, 비일시적 컴퓨터 판독가능 매체, 사용자 인터페이스 및 전자 디바이스에 관한 것이다.
본 발명의 다양한 실시예의 이들 및 다른 구성들, 양태들 및 이점들은 후술하는 설명 및 첨부된 청구항들을 참조하여 보다 잘 이해될 것이다. 본 명세서에 통합되고 본 명세서의 일부를 구성하는 첨부 도면들은 설명과 함께 본 발명의 실시예를 도시하며, 관련된 원리들을 설명하기 위해 제공된다.
통상의 기술자 중 누군가를 위한 실시예의 상세한 논의가 첨부된 도면들을 참조하는 명세서에서 기술된다.
도 1a는 본 발명의 예시적 실시예들에 따른 예시적 컴퓨팅 시스템의 블록도를 도시한다.
도 1b는 본 발명의 예시적 실시예들에 따른 예시적 컴퓨팅 시스템의 블록도를 도시한다.
도 1c는 본 발명의 예시적 실시예들에 따른 예시적 컴퓨팅 시스템의 블록도를 도시한다.
도 1d는 하나 이상의 시맨틱 엔터티를 기술하는 데이터를 하나 이상의 컴퓨터 애플리케이션에 제공하고, 컴퓨터 애플리케이션(들)으로부터 애플리케이션 출력을 수신하고, 컴퓨터 애플리케이션(들)에 의해 수행될 수 있는 가용 액션(들)을 기술하는 표시자(들)를 사용자에게 제공하도록 구성된 예시적인 사용자 컴퓨팅 디바이스를 도시한다.
도 2a는 본 발명의 예시적 실시예들에 따른 기계 학습 인식 모델을 도시한다.
도 2b는 본 발명의 예시적 실시예들에 따른 기계 학습 순위 모델을 도시한다.
도 3은 하나 이상의 컴퓨터 애플리케이션으로부터 가용 액션을 선택하고 사용자에게 제공하기 위한 예시적인 방법의 흐름도를 도시한다.
도 4는 본 개시의 양태에 따라 컴퓨터 애플리케이션으로부터 가용 액션을 보여주는 사용자 인터페이스에서 표시자들을 디스플레이하는 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 5a는 본 개시의 양태에 따라 모바일 컴퓨팅 디바이스가 사용자 인터페이스에서 텍스트 메시지 교환을 디스플레이하고 있는 제1 상태의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 5b는 모바일 컴퓨팅 디바이스가 본 개시의 양태에 따라 도 5a의 텍스트 메시지 교환으로부터의 인식된 텍스트와 관련하여 다수의 컴퓨터 애플리케이션으로부터 가용 액션의 표시자를 제공하는 제2 상태의 도 5a의 모바일 컴퓨팅 디바이스를 도시한다.
도 6은 본 개시의 양태에 따라 사용자 인터페이스에 텍스트 메시지 통지와 텍스트 메시지로부터 인식된 텍스트와 관련하여 다수의 컴퓨터 애플리케이션으로부터 가용 액션의 표시자를 디스플레이하는 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 7a는 본 개시의 양태에 따라 역사적 인물을 언급하는 주변 오디오가 검출되고 표시자가 모바일 컴퓨팅 디바이스의 잠금 화면에 디스플레이되는 제1 상태의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 7b는 본 개시의 양태에 따라 역사적 인물과 관련하여 가용 액션을 기술하는 표시자가 디스플레이되는 제2 상태의 도 7a의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 7c는 본 개시의 양태에 따라 나중에 보기 위해 표시자가 "북마크된" 제3 상태에 있는 도 7a의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 8a는 본 개시의 양태에 따라 모바일 디바이스의 사용자 인터페이스에 비디오 및 표시자가 디스플레이되는 제1 상태의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 8b는 본 개시의 양태에 따라 영화 티켓 구매와 같이 영화와 연관된 가용 액션을 기술하는 추가 표시자가 사용자 인터페이스에 디스플레이되는 제2 상태의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 9a는 본 개시의 양태에 따라 비디오 및 표시자가 사용자 인터페이스에 디스플레이되는 제1 상태의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 9b는 도 9a의 표시자와 연관된 가용 액션이 수행되는 제2 상태에 있는 도 9a의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 10a는 본 개시의 양태에 따라 모바일 컴퓨팅 디바이스의 사용자 인터페이스에 텍스트가 디스플레이되는 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 10b는 본 개시의 양태에 따라 영화 제목이 텍스트에서 하이라이팅되고 영화 제목과 관련한 가용 액션을 기술하는 표시자가 디스플레이되는 제2 상태의 도 10a의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 10c는 본 개시의 양태에 따라 영화 제목과 관련한 가용 액션을 기술하는 표시자가 디스플레이되는 제3 상태의 도 10a의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 11a는 본 개시의 양태에 따라 텍스트가 하이라이팅되고 모바일 디바이스의 사용자 인터페이스에 표시자가 디스플레이되는 제1 상태의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 11b는 본 개시의 양태에 따라 도 11a의 표시자들 중 하나에 의해 기술된 선택된 액션에 대한 추가 정보를 제공하는 표시자가 디스플레이되는 제2 상태에 있는 도 11a의 예시적인 모바일 컴퓨팅 디바이스(1100)를 도시한다.
도 12a는 본 개시의 양태에 따라 모바일 컴퓨팅 디바이스의 사용자 인터페이스에 텍스트가 디스플레이되는 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 12b는 본 개시의 양태에 따라 텍스트의 부분과 관련한 가용 액션을 기술하는 표시자가 디스플레이되는 제2 상태에 있는 도 12a의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 12c는 본 개시의 양태에 따라 도 12a의 선택된 표시자에 관한 추가 정보가 디스플레이되고 추가적 가용 액션을 기술하는 추가 표시자가 디스플레이되는 제3 상태의 도 12a의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 13a는 본 개시의 양태에 따라 모바일 컴퓨팅 디바이스가 전화 통화 동안 오디오를 프로세싱하고 있는 제1 상태의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 13b는 본 개시의 양태에 따라 전화 통화의 오디오로부터 번득인 시맨틱 엔터티들에 관한 가용 액션을 기술하는 표시자가 디스플레이되는 제2 상태의 도 13a의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 13c는 본 개시의 양태에 따라 전화 통화의 오디오로부터 번득인 시맨틱 엔터티들에 관한 추가 가용 액션을 기술하는 표시자가 디스플레이되는 제3 상태의 도 13a의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 14a는 본 개시의 양태에 따라 모바일 컴퓨팅 디바이스의 카메라로부터의 이미지가 모바일 컴퓨팅 디바이스의 사용자 인터페이스에 디스플레이되는 카메라 모드의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 14b는 본 개시의 양태에 따른 카메라로부터의 이미지에 도시된 랜드마크에 관한 가용 액션을 기술하는 표시자가 디스플레이되는 제2 상태의 도 14a의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 14c는 본 개시의 양태에 따라 카메라로부터의 이미지에 도시된 랜드마크에 관한 추가 가용 액션을 기술하는 표시자가 디스플레이되는 제3 상태의 도 14a의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 15a는 본 개시의 양태에 따른 모바일 컴퓨팅 디바이스의 사용자 인터페이스에 텍스트가 디스플레이되는 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 15b는 본 개시의 양태에 따른 텍스트의 부분들에 관한 가용 액션을 기술하는 표시자가 디스플레이되는 제2 상태의 도 15a의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 15b는 본 개시의 양태에 따라 텍스트의 부분과 관련한 추가 가용 액션을 기술하는 표시자가 디스플레이되는 제3 상태에 있는 도 15a의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 16a는 본 개시의 양태에 따라 발화된 스페인어의 주변 오디오가 검출되고, 발화된 스페인어를 영어로 번역하는 것을 포함하는 가용 액션을 기술하는 표시자가 모바일 컴퓨팅 디바이스의 잠금 화면에 디스플레이되는 제1 상태의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 16b는 발화된 스페인어에 관한 가용 액션을 기술하는 표시자가 디스플레이되는 제2 상태의 도 16a의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 16c는 본 개시의 양태에 따라 번역과 관련한 추가 가용 액션을 기술하는 표시자가 디스플레이되는 제3 상태에 있는 도 16a의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 17a는 본 개시의 양태에 따라 다가오는 항공편을 포함하는 캘린더 데이터에 기초하여 가용 액션을 보여주는 모바일 컴퓨팅 디바이스의 잠금 화면에 표시자가 디스플레이되는 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 17b는 본 개시의 양태에 따라 캘린더 데이터에 관한 추가 가용 액션을 기술하는 표시자가 디스플레이되는 제2 상태의 도 17a의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 18a는 본 개시의 양태에 따라 모바일 컴퓨팅 디바이스의 위치에 기초하여 가용 액션을 보여주는 모바일 컴퓨팅 디바이스의 잠금 화면에 표시자가 디스플레이되는 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
도 18b는 본 개시의 양태에 따라 모바일 컴퓨팅 디바이스의 위치에 기초하여 추가 가용 액션을 기술하는 표시자가 디스플레이되는 제2 상태의 도 18a의 예시적인 모바일 컴퓨팅 디바이스를 도시한다.
복수의 도면들에 걸쳐 반복되는 참조 번호는 다양한 구현예에서 동일한 구성을 식별하도록 의도되었다.
개요
본 개시의 예시적 양태는 하나 이상의 컴퓨터 애플리케이션으로부터 가용 액션을 선택하고 사용자에게 제공하기 위한 시스템 및 관련된 방법에 관한 것이다. 본 문서의 시스템 및 관련 방법은 컴퓨팅 시스템이 사용자에게 모바일 디바이스에 상주하는 애플리케이션과 같은 하나 이상의 컴퓨팅 애플리케이션에 의해 수행될 수 있는 컨텍스트적으로 관련된 액션에 관한 프롬프트, 제안 또는 힌트(예: "표면 칩"내에서)를 지능적으로 제공할 수 있는 시스템 또는 플랫폼(예: 미리 정의된 애플리케이션 프로그래밍 인터페이스(API) 포함)을 제공할 수 있다. 그렇게 함에 있어서, 시스템 및 관련 방법은 안내된 인간-기계 인터렉션 프로세스에 의해 아래에서 더 상세히 논의되는 바와 같이 사용자가 기술적 작업을 수행하는데 도움을 줄 수 있다. 컴퓨팅 시스템은 컨텍스트 데이터(예를 들어, 컴퓨팅 시스템에 의해 디스플레이, 검출 또는 프로세싱되는 정보)로부터 시맨틱 엔터티를 검출하는 인공 지능 시스템(예를 들어, 하나 이상의 기계 학습 모델을 포함)을 포함할 수 있다. 컴퓨팅 시스템은 예를 들어 미리 정의된 API를 통해 컴퓨터 애플리케이션과 인터렉션하거나 질의하여 컴퓨터 애플리케이션에서 사용 가능한 컨텍스트적으로 관련된 액션을 수신할 수 있다. 미리 정의된 API는 컴퓨팅 시스템과 컴퓨터 애플리케이션이 인터렉션하는 방식에 대한 규칙, 프로토콜 또는 기타 정보를 기술할 수 있다. 컴퓨터 애플리케이션의 가용 액션을 나타내기 위해 하나 이상의 표시자(예를 들어, 시각적 표시자)가 사용자에게 제공될 수 있다. 이 구성 또는 플랫폼은 애플리케이션 개발자가 여기에 설명된 컴퓨팅 시스템과 인터페이스하도록 구성된 애플리케이션을 설계하도록 장려할 수 있다. 결과적으로, 컴퓨팅 시스템은 예를 들어 기술적 작업 수행을 통해 사용자를 안내하기 위해 보다 안정적이고 지능적이며 유용한 방식으로 컴퓨터 애플리케이션의 관련 프롬프트, 제안 또는 힌트를 사용자에게 제공할 수 있다.
일례로, 컴퓨팅 시스템은 레스토랑 이름과 같은 사용자 인터페이스에 디스플레이된 텍스트에 의해 참조되는 하나 이상의 시맨틱 엔터티를 인식할 수 있다. 컴퓨팅 시스템은 (예를 들어, 미리 정의된 API 또는 다른 프로토콜에 따라) 컴퓨터 애플리케이션에 시맨틱 엔터티를 기술하는 데이터를 제공할 수 있다. 데이터는 레스토랑 이름 및/또는 레스토랑 이름이 사용자 인터페이스에 디스플레이된 위치 또는 컨텍스트에 대한 추가 정보를 포함할 수 있다(예를 들어, 텍스트 메시징 애플리케이션, 웹 브라우징 애플리케이션에 디스플레이된 기사 등). 컴퓨팅 시스템은 (예를 들어, 미리 정의된 API 또는 다른 프로토콜에 따라) 시맨틱 엔터티를 기술하는 데이터에 응답하여 컴퓨터 애플리케이션(들)로부터 하나 이상의 애플리케이션 출력을 수신할 수 있다. 예를 들어, 컴퓨터 애플리케이션은 미리 정의된 API에 의해 특정된 규칙 또는 프로토콜에 따라 애플리케이션 출력(들)에 관한 컴퓨팅 시스템을 포맷, 전송 및/또는 경고할 수 있다. 컴퓨팅 시스템은 컴퓨터 애플리케이션(들)에서 가용 액션을 기술하거나 제안하는 표시자를 사용자에게 제공할 수 있다(예: 레스토랑 이름으로 디스플레이된 텍스트 번역, 예약 애플리케이션을 사용하여 예약하기, 리뷰 애플리케이션을 사용하여 리뷰 읽기 및/또는 내비게이션 애플리케이션을 사용하여 레스토랑으로 길안내).
중요하게는, 여기에 설명된 시스템, 프로그램 또는 기능이 사용자 정보(예: 주변 오디오, 사용자 인터페이스에 제시되는 텍스트 등)의 수집을 가능하게 할 수 있는지 여부와 그 시기 둘 모두에 대해 사용자가 선택할 수 있도록 하는 제어가 사용자에게 제공될 수 있다. 추가로, 특정 데이터는 그것이 저장되거나 사용되기 전에 하나 이상의 다양한 방식들로 취급되어, 개인적으로 식별가능한 정보는 제거된다. 예를 들면, 사용자의 신원은 사용자에 대한 개인적으로 식별가능한 정보가 결정될 수 없도록 취급될 수 있다. 따라서, 사용자는 사용자에 관한 어떤 정보가 수집될지, 정보가 어떻게 사용될지, 그리고 어떤 정보가 사용자에게 제공될지에 관한 제어를 가질 수 있다.
본 개시의 일 양태에 따르면, 컴퓨팅 시스템은 기계 학습 모델(예를 들어, 인식 모델) 및 하나 이상의 컴퓨터 애플리케이션을 포함할 수 있다. 기계 학습 모델은 컨텍스트 데이터를 포함하는 모델 입력을 수신하고, 상기 모델 입력에서 참조되는 하나 이상의 시맨틱 엔터티를 기술하는 모델 출력을 출력하도록 구성할 수 있다. 컨텍스트 데이터의 예는 사용자 인터페이스에 디스플레이되는 텍스트, 컴퓨팅 시스템에 의해 재생 또는 프로세싱된 오디오, 컴퓨팅 시스템에 의해 검출된 오디오, 사용자 위치에 관한 정보(예: 컴퓨팅 시스템의 모바일 컴퓨팅 디바이스의 위치), 캘린더 데이터 및/또는 연락처 데이터를 포함할 수 있다. 예를 들어, 컨텍스트 데이터는 컴퓨팅 시스템의 마이크에 의해 검출된 주변 오디오 및/또는 전화 통화 중에 프로세싱된 전화 오디오를 포함할 수 있다. 캘린더 데이터는 미래의 이벤트 또는 계획(예: 항공편, 호텔 예약, 저녁 식사 계획 등)을 기술할 수 있다. 모델 출력으로 기술될 수 있는 예시적인 시맨틱 엔터티는 텍스트 및/또는 오디오에서 인식되는 단어 또는 문구를 포함한다. 추가 예는 도시 이름, 주 이름, 거리 이름, 주변 명소 이름 등과 같은 사용자 위치에 관한 정보를 포함한다.
컴퓨팅 시스템은 하나 이상의 시맨틱 엔터티를 기술하는 데이터를 하나 이상의 컴퓨터 애플리케이션에 제공하도록 구성될 수 있다. 데이터는 시맨틱 엔터티 및/또는 시맨틱 엔터티에 대한 추가 컨텍스트 정보이거나 이를 포함할 수 있다. 예를 들어, 데이터는 텍스트를 다른 언어로 번역, 컴퓨팅 시스템에 의해 재생되는 오디오의 텍스트 캡션, 예를 들어 휠체어 사용자와 같이 하나 이상의 특정한 빌딩에 대한 액세스에 관한 정보 또는 상기 컴퓨팅 시스템에 의해 인식된 노래 이름을 포함할 수 있다. 데이터는 노래를 연주하는 아티스트의 이름과 같은 다른 연관 정보를 포함할 수 있다.
컴퓨팅 시스템은 하나 이상의 시맨틱 엔터티를 기술하는 데이터를 제공하는 것에 응답하여 하나 이상의 컴퓨팅 애플리케이션으로부터 하나 이상의 애플리케이션 출력을 수신하도록 구성될 수 있다. 각각의 컴퓨터 애플리케이션으로부터 수신된 애플리케이션 출력은 하나 이상의 시맨틱 엔터티와 관련하여 대응하는 컴퓨터 애플리케이션의 하나 이상의 가용 액션을 기술할 수 있다. 위에 설명된 예를 사용하기 위해, 애플리케이션 출력(들)은 텍스트를 하나 이상의 다른 언어로 번역, 컴퓨팅 시스템에 의해 재생되는 오디오의 텍스트 캡션(예: 청각 장애가 있는 사용자), 하나 이상의 특정한 빌딩에 대한 액세스에 관한 정보 건물(예: 휠체어 사용자) 또는 음악 스트리밍 애플리케이션으로 스트리밍할 수 있는 노래 및/또는 아티스트의 이름을 포함할 수 있다. 또 다른 예로서, 도시 이름(예: 사용자가 방문할 계획이 있는 도시)을 포함하는 시맨틱 엔터티를 수신하는 것에 응답하여, 애플리케이션 출력(들)은 여행 예약 애플리케이션으로부터 해당 도시에서 이용 가능한 잠재적 숙박 및/또는 렌터카를 포함할 수 있다.
컴퓨팅 시스템은 대응하는 컴퓨터 애플리케이션의 가용 액션 중 하나 이상을 기술하는 적어도 하나의 표시자를 사용자에게 제공하도록 구성될 수 있다. 표시자는 가용 액션을 기술하는 단어 또는 문구와 같이 사용자 인터페이스에 제시되는 그래픽 표시자이거나 이를 포함할 수 있다. 예를 들어, 노래 이름과 관련된 위의 예에서, 표시자는 비디오에서 인식되었던 노래 이름 옆에 "재생"이라는 라벨이 붙은 버튼이거나 이를 포함할 수 있다. 다른 예로서, 그래픽 표시자는 텍스트를 다른 언어로 번역, 재생된 오디오의 텍스트 캡션 및/또는 휠체어 입구 위치와 같은 기타 접근성 정보를 포함할 수 있다. 다른 예로서, 그래픽 표시자는 사용자 인터페이스에 디스플레이되었거나 주변 오디오에 포함된 영화 제목을 포함하는 시맨틱 엔터티(예를 들어, 컴퓨팅 디바이스에 의해 프로세싱된 및/또는 컴퓨팅 디바이스의 마이크로폰에 의해 검출된 오디오)에 기초하여 영화 시간 및/또는 극장 위치이거나 이를 포함할 수 있다. 또 다른 예로서, 표시자는 사용자에게 재생되는 오디오 표시자를 포함할 수 있다. 예를 들어, 오디오 표시자는 사용자 인터페이스 또는 주변 오디오에 나타나는 텍스트를 다른 언어로 번역해야하는지 사용자에게 묻는 음성 또는 기타 사운드를 포함할 수 있다.
표시자는 액션을 수행하는데 사용할 수 있는 컴퓨터 애플리케이션에 관한 식별 정보를 포함하거나 기술할 수 있다. 일례로서, 일부 구현예에서, 컴퓨터 애플리케이션은 식별 정보를 포함할 수 있는 미적 구성을 기술하는 스타일화 출력을 제공할 수 있다. 컴퓨팅 시스템은 스타일화 출력에 기초하여 사용자 인터페이스에 표시자를 디스플레이할 수 있다. 미적 구성은 컴퓨터 애플리케이션의 이름, 로고, 글꼴, 색상, 모양, 사용자 인터페이스 내의 위치 및/또는 임의의 다른 적절한 시각적 특징 중 하나 이상을 포함할 수 있다.
일부 구현예에서, 컴퓨팅 시스템은 인공 지능 시스템(예를 들어, "구글 어시스턴트")을 포함할 수 있다. 인공 지능 시스템은 기계 학습 모델을 포함할 수 있으며, 본 명세서에 기술된 동작의 일부 또는 전부를 수행한다. 인공 지능 시스템은 하나 이상의 컴퓨터 애플리케이션과 분리되어 구분될 수 있지만 하나 이상의 컴퓨터 애플리케이션과 통신할 수 있다. 인공 지능 시스템은 하나 이상의 시맨틱 엔터티를 기술하는 데이터를 컴퓨터 애플리케이션(들)에 제공할 수 있고, 미리 정의된 애플리케이션 프로그래밍 인터페이스를 통해 컴퓨팅 애플리케이션(들)에서 각각 애플리케이션 출력을 수신할 수 있다.
일부 구현예에서, 본 명세서에 기술된 동작의 일부 또는 전부는 그들의 수행을 요청하는 사용자 입력 없이 사전에 수행될 수 있다. 컴퓨팅 시스템(예를 들어, 인공 지능 시스템)은 사용자가 그러한 액션을 요청하는 사용자 입력없이 컴퓨팅 디바이스를 사용하는 동안 컨텍스트 데이터를 식별할 수 있다. 예를 들어, 텍스트의 음역, 오디오의 텍스트 캡션 및/또는 기타 접근성 정보는 정보에 대한 선행하는 사용자 입력 요청없이 시스템에 의해 사전에 제공될 수 있다. 이러한 정보는 예를 들어 사용자가 특정 유형의 정보 수신에 관심이 있는 것으로 알려진 경우에 제공될 수 있다. 예를 들어, 사용자는 사용자 인터페이스에 디스플레이되는 기사를 읽을 수 있다. 컴퓨팅 시스템은 기사 텍스트의 일부 또는 전부를 기계 학습 모델에 입력하고, 텍스트 내의 시맨틱 엔터티를 기술하는 모델 출력을 수신할 수 있다. 시맨틱 엔터티는 이름 또는 제품, 접근 가능한 입구 및 출구, 사람, 이벤트 또는 기타 관심 아이템이 포함할 수 있다. 컴퓨팅 시스템은 컴퓨터 애플리케이션(들)에서 가용 액션을 기술하는 하나 이상의 표시자를 사용자 인터페이스에 제시할 수 있다. 표시자(들)는 가용 액션에 대한 추가 정보와 선택적으로 결합된 시맨틱 엔터티의 강조(예를 들어, 하이라이팅, 개요, 밑줄 등)를 포함할 수 있다. 예를 들어, 시맨틱 엔터티는 건물에 접근 가능한 입구 및/또는 출구의 위치를 포함할 수 있으며, 표시자는 사용자에게 내비게이션 애플리케이션이 휠체어에 적합한 경로와 같이 적절하게 접근 가능한 경로를 따라 사용자를 입구/출구로 이동하기 위해 사용가능함을 알릴 수 있다. 또 다른 예에서, 시맨틱 엔터티는 기사의 텍스트에 언급된 제품의 이름을 포함할 수 있으며, 표시자는 아이템 구매와 같은 액션을 수행하는데 쇼핑 애플리케이션(예: Amazon 앱)을 사용할 수 있음을 사용자에게 알릴 수 있다.
그러나, 일부 구현예에서, 적어도 하나의 표시자를 제공하는 동작은 사용자 입력에 응답하여 반응적으로 수행될 수 있다. 사용자는 하나 이상의 컴퓨터 애플리케이션(예: 길게 누르기, 두번 탭하기, 요청 말하기 등)에서 사용 가능한 액션을 구체적으로 요청하는 액션을 수행할 수 있다. 대안적으로, 사용자는 복사 및 붙여넣기 할 텍스트 하이라이팅과 같이 사용 가능한 액션을 특별히 요청하지 않는 액션을 수행할 수 있다. 컴퓨팅 시스템은 사용자가 하이라이팅하는 텍스트에 응답하여 표시자를 제공할 수 있다. 예를 들어, 사용자는 도시의 이름을 하이라이팅할 수 있고, 컴퓨팅 시스템은 도시와 관련하여 가용 액션을 기술하는 표시자를 제공할 수 있다(예를 들어, 도시에서 숙박 예약).
일부 구현예에서, 컴퓨팅 시스템은 컴퓨팅 시스템에 의해 수신된 애플리케이션 출력에 대응하는 모든 가용 액션보다 적은 수를 기술하는 표시자를 제공하도록 구성될 수 있다. 다시 말해서, 컴퓨팅 시스템은 다수의 가용 액션을 기술하는 다수의 애플리케이션 출력(예를 들어, 다수의 컴퓨터 애플리케이션으로부터)을 수신할 수 있다.
컴퓨팅 시스템은 예를 들어 다양한 요인 또는 데이터에 기초하여 사용자에게 제공할 다수의 가용 액션의 적절한 서브세트와 같은 서브세트를 선택할 수 있다. 예시는 하나 이상의 시맨틱 엔터티에 대한 관련성, 과거 사용자 인터렉션, 하나 이상의 시맨틱 엔터티 유형 또는 하나 이상의 가용 액션의 유형을 포함한다.
예를 들어, 시맨틱 엔터티 유형과 가용 액션 유형 간의 비교에 기초하여 가용 액션이 선택될 수 있다. 시맨틱 엔터티 유형은 명소(예: 레스토랑, 랜드마크 등), 미디어(예: 텍스트, 노래, 비디오 등), 위치(예: 도시, 거리 등), 제품 및/또는 사람(예: 역사적 인물, 작가, 연락처 등). 가용 액션 유형은 내비게이션, 예약(예: 숙박, 식사 등), 미디어 디스플레이(예: 오디오 자막, 음역 텍스트, 노래, 이미지, 비디오 등) 및/또는 반드시 실행가능하지 않은 정보 제공(예: 메뉴, 캡션 텍스트, 번역 또는 기타 정보 디스플레이)을 포함할 수 있다. 적절한 가용 액션 유형을 시맨틱 엔터티에 매칭시켜 가용 액션이 선택될 수 있다. 예를 들어, 미디어 유형 시맨틱 엔터티를 제공하고 다수의 가용 액션 유형을 수신하는 것에 응답하여, 컴퓨팅 시스템은 미디어 디스플레이를 포함하는 가용 액션을 선택(또는 선호)할 수 있다.
다른 예로, 과거 사용자 인터렉션에 기초하여 가용 액션이 선택될 수 있다. 과거 사용자 인터렉션의 예는 특정 유형의 가용 액션을 수신하기 위한 선호 또는 특정 컴퓨터 애플리케이션 또는 컴퓨터 애플리케이션 그룹의 액션에 대한 선호를 포함한다. 따라서, 컴퓨팅 시스템은 컴퓨팅 디바이스의 사용자를 위해 컴퓨터 애플리케이션(들)로부터 가용 액션의 선택을 커스터마이징할 수 있다.
일부 구현예에서, 가용 액션의 선택은 기계 학습 모델에 의해 수행될 수 있다. "순위 기계 학습 모델"은 각 컴퓨터 애플리케이션으로부터 수신된 출력에 의해 기술된 하나 이상의 가용 액션을 기술하는 입력을 수신하도록 구성될 수 있다. 입력의 수신에 응답하여, 기계 학습 모델은 가용 액션의 순위를 기술하는 순위 출력을 출력하도록 구성될 수 있다. 컴퓨팅 시스템은 가용 액션(들)을 기술하는 입력을 순위 기계 학습 모델에 입력하고, 각각의 출력의 순위를 기술하는 순위 출력을 순위 기계 학습 모델의 출력으로 수신하도록 구성될 수 있다. 컴퓨팅 시스템은 순위 출력에 기초하여 사용자에게 제시하기 위해 가용 액션을 선택하도록 구성될 수 있다. 예를 들어, 가장 높은 순위의 액션(들)(예를 들어, 상위 단일 결과, 상위 2개 동작, 3개 동작 등)이 사용자에게 제시되도록 선택될 수 있다.
일부 구현예에서, 컴퓨팅 시스템은 사용자가 나중에 보기 위한 표시자를 포함하거나 기술하는 "북마크"와 같은 정보를 저장하도록 구성될 수 있다. 컴퓨터 시스템은 나중에 보기 위한 표시자를 저장하도록 요청하는 사용자 입력 액션을 검출하도록 구성될 수 있다. 컴퓨팅 시스템은 표시자와 연관된(예를 들어, 근처에 디스플레이되는) "북마크" 아이콘을 디스플레이할 수 있다. 사용자는 "북마크" 아이콘을 탭하거나 터치하여 나중에 보기 위한 표시자를 메모리에 저장할 수 있다. 사용자는 "나중을 위해 저장됨" 패널에서 저장된 표시자를 볼 수 있으며, 이는 사용자가 이전에 제공된 표시자를 다시 방문하려고 할 때 검색될 수 있다.
일부 구현예에서, 저장된 표시자는 예를 들어 표시자의 생성 및/또는 디스플레이와 연관된 컨텍스트 데이터에 기초하여 함께 그룹화 및/또는 저장될 수 있다. 저장된 표시자는 특정 엔터티, 이벤트 또는 위치와 관련된 것으로 함께 그룹화되거나 다른 정보에 기초하여 함께 그룹화될 수 있다. 예를 들어, 저장된 표시자는 사람(예: 연락처)에 관한 것으로 함께 그룹화될 수 있고, 이는 가용 액션 및/또는 표시자와 연관된 컴퓨터 애플리케이션의 유형, 표시자가 사용자에게 제공된 당시의 모바일 컴퓨팅 디바이스의 위치, 가용 액션이 초점을 둔 위치(예: 사용 가능한 숙박 목록이 위치된 도시, 비행기 티켓이 제공되는 목적지 도시) 및/또는 날짜 또는 날짜 범위(예: 특정 휴가 또는 여행에 대한 표시자를 함께 그룹화할 수 있음)에 기초한 시간적 그룹화에 기초할 수 있다.
일부 구현예에서, 컴퓨팅 시스템은 예를 들어 모바일 컴퓨팅 디바이스에서 로컬로 본 명세서에 기술된 동작의 일부 또는 전부를 수행하도록 구성될 수 있다. 모바일 디바이스는 본 명세서에 기술된 기계 학습 모델(들)을 저장하고 기계 학습 모델(들)을 로컬적으로 실행할 수 있다. 사용자의 모바일 디바이스에서 로컬 실행은 시스템 전체의 대기 시간을 줄일 수 있을 뿐만 아니라 모바일 디바이스로부터 원격적으로 위치된 하나 이상의 백엔드 서버 컴퓨터와의 네트워크 트래픽을 줄일 수 있다. 정보가 디바이스 외부로 전송되기 전에(예를 들어, 클라우드 컴퓨팅을 위해) 사용자에게 통지 또는 시그널링될 수 있다. 이러한 시그널링은 본 명세서에 기술된 구성을 사용하여 사용자 신뢰를 향상시킬 수 있다. 예를 들어, 사용자는 특정 유형의 컨텍스트 데이터(예를 들어, 마이크로폰으로 검출된 주변 오디오 및/또는 전화 통화 중에 수집된 오디오)가 디바이스 외부로 전송되는지 여부를 아는데 특히 관심이 있을 수 있다. 따라서, 일부 구현예에서, 컨텍스트 데이터의 디바이스 외부 전송을 허용하는 사용자로부터 동의가 수신되지 않는 한 일부 또는 모든 컨텍스트 데이터는 디바이스에 남아있을 수 있다.
본 발명의 시스템 및 방법은 다수의 기술적 효과 및 이점을 제공할 수 있다. 위의 일부 위치에서 언급한 바와 같이, 시스템 및 관련 방법은 사용자를 지원하기 위해 사전적으로 동작할 수 있다. 그렇게 함으로써, 시스템 및 방법은 예를 들어 사용자의 모바일 디바이스를 통해 시스템에 주어지는 사용자 입력의 수를 줄일 수 있으며, 따라서 그러한 입력(예: 검색 엔진을 통해 요청 또는 검색)을 프로세싱하는데 필요한 컴퓨팅 및 전력 관련 리소스를 절약할 수 있다. 예를 들어, 사용자 디바이스에서 로컬적으로 저장되고 실행되는 기계 학습 모델을 통한 방법의 디바이스 내 구현은 사용자를 지원하기 위해 정보를 제공할 때 대기 시간을 줄일 수 있으며, 나아가 원격에 위치한 서버 컴퓨터로부터 이러한 정보를 요청/제공하기 위해 요구되었을 네트워크 트래픽을 줄일 수 있다. 앞서 논의된 유형의 프롬프트 및/또는 기타 정보의 사전적 제공은 또한 예를 들어 휠체어 사용자가 건물의 접근 가능한 입구로 이동하거나 청각 장애인에게 오디오로부터 기술 정보의 텍스트 캡션을 제공하기 위해 안내된 사람-기계 인터렉션을 용이하게 하는 방식으로 정보를 제시함으로써 사용자 디바이스에서 화면 공간의 효율적 사용을 제공할 수 있다.
이제 도면들을 참조하여, 본 발명의 예시적 실시예들이 더 자세히 논의될 것이다.
예시적 디바이스 및 시스템
도 1a는 본 발명의 예시적 실시예에 따라 하나 이상의 컴퓨터 애플리케이션으로부터 가용 액션을 선택하고 사용자에게 제공하는 예시적 컴퓨팅 시스템(100)의 블록도를 도시한다. 시스템(100)은 네트워크(180)를 통해 통신적으로 연결된 사용자 컴퓨팅 디바이스(102), 서버 컴퓨팅 시스템(130) 및/또는 트레이닝 컴퓨팅 시스템(150)을 포함할 수 있다.
사용자 컴퓨팅 디바이스(102)는 예를 들어 개인 컴퓨팅 디바이스(예: 랩톱 또는 데스크톱), 모바일 컴퓨팅 디바이스(예: 스마트폰 또는 태블릿), 게임 콘솔 또는 컨트롤러, 웨어러블 컴퓨팅 디바이스, 임베디드 컴퓨팅 디바이스 또는 임의의 다른 유형의 컴퓨팅 디바이스와 같은 임의의 유형의 컴퓨팅 디바이스일 수 있다.
사용자 디바이스(102)는 하나 이상의 프로세서들(112) 및 메모리(114)를 포함한다. 하나 이상의 프로세서들(112)은 임의의 적절한 프로세싱 디바이스(예를 들어, 프로세서 코어, 마이크로 프로세서, ASIC, FPGA, 제어기, 마이크로 컨트롤러 등)일 수 있고, 하나의 프로세서 또는 동작적으로 연결된 하나 이상의 프로세서 또는 복수의 프로세서들일 수 있다. 메모리(114)는 RAM, ROM, EEPROM, EPROM, 플래시 메모리 디바이스, 자기 디스크 등과 같은 하나 이상의 비일시적 컴퓨터 판독가능 저장 매체 및 이들의 조합을 포함할 수 있다. 메모리(114)는 사용자 컴퓨팅 디바이스(102)가 동작을 수행하게 하기 위한 프로세서(112)에 의해 실행되는 데이터(116) 및 명령어들(118)을 저장할 수 있다.
사용자 컴퓨팅 디바이스(102)는 하나 이상의 컴퓨터 애플리케이션(119)을 저장 또는 포함할 수 있다. 컴퓨터 애플리케이션(들)은 본 명세서에 기술된 바와 같이 다양한 동작을 수행하고 애플리케이션 출력을 제공하도록 구성될 수 있다.
사용자 컴퓨팅 디바이스(102)는 인공지능 시스템(120)을 저장 또는 포함할 수 있다. 인공 지능 시스템(120)은 본 명세서에 기술된 동작의 일부 또는 전부를 수행할 수 있다. 인공 지능 시스템(120)은 하나 이상의 컴퓨터 애플리케이션(119)과 분리되어 구분될 수 있지만 하나 이상의 컴퓨터 애플리케이션(119)과 통신할 수 있다.
인공 지능 시스템(120)은 하나 이상의 인식 모델(122) 및/또는 하나 이상의 순위 모델(들)(124)을 포함할 수 있다. 인식 모델(122) 및/또는 하나 이상의 순위 모델(들)(124)은 신경 네트워크들(예: 딥 신경 네트워크)과 같은 다양한 기계 학습 모델들 또는 다른 다중 레이어 비선형 모델일 수 있거나 또는 이와 달리 이들을 포함할 수 있다. 신경 네트워크는 순환 신경 네트워크(예: 장단기 메모리 순환 신경 네트워크들), 피드-포워드 신경 네트워크들(feed-forward neural networks) 또는 다른 형태의 신경 네트워크들을 포함할 수 있다. 예시적 인식 모델(122)은 도 2a를 참조하여 논의된다. 예시적 순위 모델(들)(124)은 도 2b를 참조하여 논의된다.
일부 구현예에서, 하나 이상의 인식 모델(122) 및/또는 하나 이상의 순위 모델(들)(124)은 네트워크(180)를 통해 서버 컴퓨팅 시스템(130)으로부터 수신되고, 사용자 컴퓨팅 디바이스 메모리(114)에 저장되며, 하나 이상의 프로세서(112)에 의해 사용되거나 이와 달리 구현될 수 있다. 일부 구현예에서, 사용자 컴퓨팅 디바이스(102)는 (예를 들어, 인식 모델(122)의 다수의 인스턴스들에 대해 병렬 인식 동작을 수행하기 위해) 단일 인식 모델(122)의 다수의 병렬 인스턴스를 구현할 수 있다. 일부 구현예에서, 사용자 컴퓨팅 디바이스(102)는 (예를 들어, 순위 모델(122)의 다수의 인스턴스들에 대해 병렬 인식 동작을 수행하기 위해) 순위 모델(122)의 다수의 병렬 인스턴스를 구현할 수 있다.
보다 구체적으로, 인식 모델(122)은 컨텍스트 데이터에 의해 기술된 하나 이상의 시맨틱 엔터티를 인식하도록 구성될 수 있다. 인식 모델(122)은 컨텍스트 데이터를 포함하는 모델 입력을 수신하고, 상기 모델 입력에서 참조되는 하나 이상의 시맨틱 엔터티를 기술하는 모델 출력을 출력하도록 구성할 수 있다. 컨텍스트 데이터의 예는 사용자 인터페이스에 디스플레이되는 텍스트, 컴퓨팅 시스템에 의해 재생 또는 프로세싱된 오디오, 컴퓨팅 시스템에 의해 검출된 오디오, 사용자 위치에 관한 정보(예: 컴퓨팅 시스템의 모바일 컴퓨팅 디바이스의 위치), 캘린더 데이터 및/또는 연락처 데이터를 포함할 수 있다. 예를 들어, 컨텍스트 데이터는 컴퓨팅 시스템의 마이크에 의해 검출된 주변 오디오 및/또는 전화 통화 중에 프로세싱된 전화 오디오를 포함할 수 있다. 캘린더 데이터는 미래의 이벤트 또는 계획(예: 항공편, 호텔 예약, 저녁 식사 계획 등)을 기술할 수 있다. 모델 출력으로 기술될 수 있는 예시적인 시맨틱 엔터티는 텍스트 및/또는 오디오에서 인식되는 단어 또는 문구를 포함한다. 추가 예는 도시 이름, 주 이름, 거리 이름, 주변 명소 이름 등과 같은 사용자 위치에 관한 정보를 포함한다.
순위 모델(124)은 각 컴퓨터 애플리케이션으로부터 수신된 출력에 의해 기술된 하나 이상의 가용 액션을 기술하는 입력을 수신하도록 구성될 수 있다. 입력의 수신에 응답하여, 기계 학습 모델은 가용 액션의 순위를 기술하는 순위 출력을 출력하도록 구성될 수 있다. 컴퓨팅 시스템은 가용 액션(들)을 기술하는 입력을 순위 기계 학습 모델에 입력하고, 각각의 출력의 순위를 기술하는 순위 출력을 순위 기계 학습 모델의 출력으로 수신하도록 구성될 수 있다. 컴퓨팅 시스템은 순위 출력에 기초하여 사용자에게 제시하기 위해 가용 액션을 선택하도록 구성될 수 있다. 예를 들어, 가장 높은 순위의 액션(들)(예를 들어, 상위 단일 결과, 상위 2개 동작, 3개 동작 등)이 사용자에게 제시되도록 선택될 수 있다.
추가적으로 또는 대안적으로, 인공 지능 시스템(140)은 클라이언트-서버 관계에 따라 사용자 컴퓨팅 디바이스(102)와 통신하는 서버 컴퓨팅 시스템(130)에 포함되거나 이와 달리 저장되고 구현될 수 있다. 예를 들어, 인공 지능 시스템(140)은 인식 모델(142) 및/또는 순위 모델(144)을 포함할 수 있다. 인식 모델(142) 및/또는 순위 모델(144)은 웹 서비스의 일부로서 서버 컴퓨팅 시스템(140)에 의해 구현될 수 있다. 따라서, 하나 이상의 모델(122, 124)은 사용자 컴퓨팅 디바이스(102)에 저장되고 구현될 수 있고 및/또는 하나 이상의 모델(142, 144)은 서버 컴퓨팅 시스템(130)에 저장되고 구현될 수 있다.
또한 사용자 컴퓨팅 디바이스(102)는 사용자 입력을 수신하는 하나 이상의 사용자 입력 컴포넌트(122)를 포함할 수 있다. 예를 들어, 사용자 입력 컴포넌트(122)는 사용자 입력 객체(예를 들어, 손가락 또는 스타일러스)의 터치에 감응하는 터치 감지 컴포넌트(예를 들어, 터치 감지 디스플레이 스크린 또는 터치 패드)일 수 있다. 터치 감지 컴포넌트는 가상 키보드를 구현하는데 사용할 수 있다. 다른 예시적 사용자 입력 컴포넌트는 마이크로폰, 전통적 키보드 또는 사용자가 통신을 입력할 수 있는 다른 수단들을 포함한다.
서버 컴퓨팅 시스템(130)은 하나 이상의 프로세서들(132) 및 메모리(134)를 포함한다. 하나 이상의 프로세서들(132)은 임의의 적절한 프로세싱 디바이스(예를 들어, 프로세서 코어, 마이크로 프로세서, ASIC, FPGA, 제어기, 마이크로 컨트롤러 등)일 수 있고, 하나의 프로세서 또는 동작적으로 연결된 하나 이상의 프로세서 또는 복수의 프로세서들일 수 있다. 메모리(134)는 RAM, ROM, EEPROM, EPROM, 플래시 메모리 디바이스, 자기 디스크 등과 같은 하나 이상의 비일시적 컴퓨터 판독가능 저장 매체 및 이들의 조합을 포함할 수 있다. 메모리(134)는 서버 컴퓨팅 시스템(130)이 동작을 수행하게 하기 위한 프로세서(132)에 의해 실행되는 데이터(136) 및 명령어들(138)을 저장할 수 있다.
일부 구현예에서, 서버 컴퓨팅 시스템(130)은 하나 이상의 서버 컴퓨팅 디바이스들을 포함하거나 이와 달리 그에 의해 구현된다. 서버 컴퓨팅 시스템(130)이 복수의 서버 컴퓨팅 디바이스들을 포함하는 경우에, 그러한 서버 컴퓨팅 디바이스들은 순차적 컴퓨팅 아키텍처, 병렬 컴퓨팅 아키텍처 또는 이들의 조합에 따라 동작할 수 있다.
상기 기술된 바와 같이, 서버 컴퓨팅 시스템(130)은 하나 이상의 기계 학습 모델(142, 144)을 포함할 수 있는 인공 지능 시스템을 저장하거나 또는 포함할 수 있다. 예를 들면, 모델(142, 144)은 신경 네트워크들(예: 딥 순환 신경 네트워크)과 같은 다양한 기계 학습 모델들 또는 다른 다중 레이어 비선형 모델일 수 있거나 또는 이와 달리 이들을 포함할 수 있다. 예시적 모델(140)은 도 2a 및 2b를 참조하여 논의된다.
서버 컴퓨팅 시스템(130)은 네트워크(180)를 통해 통신적으로 연결된 트레이닝 컴퓨팅 시스템(150)과의 인터렉션을 통해 모델(140)을 트레이닝할 수 있다. 트레이닝 컴퓨팅 시스템(150)은 서버 컴퓨팅 시스템(130)과 별개이거나 서버 컴퓨팅 시스템(130)의 일부일 수 있다.
트레이닝 컴퓨팅 시스템(150)은 하나 이상의 프로세서들(152) 및 메모리(154)를 포함한다. 하나 이상의 프로세서들(152)은 임의의 적절한 프로세싱 디바이스(예를 들어, 프로세서 코어, 마이크로 프로세서, ASIC, FPGA, 제어기, 마이크로 컨트롤러 등)일 수 있고, 하나의 프로세서 또는 동작적으로 연결된 하나 이상의 프로세서 또는 복수의 프로세서들일 수 있다. 메모리(154)는 RAM, ROM, EEPROM, EPROM, 플래시 메모리 디바이스, 자기 디스크 등과 같은 하나 이상의 비일시적 컴퓨터 판독가능 저장 매체 및 이들의 조합을 포함할 수 있다. 메모리(154)는 트레이닝 컴퓨팅 시스템(150)이 동작을 수행하게 하기 위한 프로세서(152)에 의해 실행되는 데이터(156) 및 명령어들(158)을 저장할 수 있다. 일부 구현예에서, 트레이닝 컴퓨팅 시스템(150)은 하나 이상의 서버 컴퓨팅 디바이스들을 포함하거나 이와 달리 그에 의해 구현된다.
트레이닝 컴퓨팅 시스템(150)은, 예를 들어 에러의 역방향 전파와 같은 다양한 트레이닝 또는 학습 기법을 사용하여, 서버 컴퓨팅 시스템(130)에 저장된 기계 학습 모델(120)을 트레이닝하는 모델 트레이너(160)를 포함할 수 있다. 일부 구현예에서, 에러의 역방향 전파를 수행하는 것은 시간을 통한 잘린 역 전파(truncated backpropagation through time)를 수행하는 것을 포함할 수 있다. 모델 트레이너(160)는 트레이닝되는 모델의 일반화 능력을 향상시키기 위해 다수의 일반화 기법들(예를 들어, 가중치 감소, 드롭 아웃 등)을 수행할 수 있다.
특히, 모델 트레이너(160)는 트레이닝 데이터(142)의 세트에 기초하여 모델(122, 124, 142, 144)을 트레이닝할 수 있다. 트레이닝 데이터(142)는 예를 들어 라벨링되거나 라벨링되지 않은 이미지, 사운드 등과 같은 공개적으로 이용 가능한 데이터 세트를 포함할 수 있다.
일부 구현예에서, 사용자가 동의를 제공한 경우, 트레이닝 예시는 사용자 컴퓨팅 디바이스(102)에 의해 제공될 수 있다(예를 들어, 사용자 컴퓨팅 디바이스(102)의 사용자에 의해 이전에 제공된 통신에 기초함). 따라서, 이러한 구현예에서, 사용자 컴퓨팅 디바이스(102)에 제공되는 모델(120)은 사용자 컴퓨팅 디바이스(102)로부터 수신된 사용자 특정 통신 데이터에 대한 트레이닝 컴퓨팅 시스템(150)에 의해 트레이닝될 수 있다. 일부 경우에, 이 프로세스를 모델 개인화로 지칭될 수 있다.
모델 트레이너(160)는 원하는 기능을 제공하기 위해 활용되는 컴퓨터 로직을 포함한다. 모델 트레이너(160)는 범용 프로세서를 제어하는 하드웨어, 펌웨어 및/또는 소프트웨어로 구현될 수 있다. 예를 들어, 일부 구현예에서, 모델 트레이너(160)는 저장 디바이스에 저장된 프로그램 파일을 포함하고, 메모리에 로딩되고 하나 이상의 프로세서에 의해 실행된다. 다른 구현예에서, 모델 트레이너(160)는 RAM 하드 디스크 또는 광학 또는 자기적 매체와 같은 유형적 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 실행가능 명령어들의 하나 이상의 세트들을 포함한다.
네트워크(180)는 근거리 네트워크(예를 들어, 인트라넷), 광역 네트워크(예를 들어, 인터넷) 또는 그들의 조합과 같은 임의의 유형의 통신 네트워크일 수 있고, 임의의 수의 유선 또는 무선 링크들을 포함할 수 있다. 일반적으로, 네트워크(180)를 통한 통신은 임의의 유형의 유선 및/또는 무선 연결을 사용하여, 다양한 통신 프로토콜들(예를 들어, TCP/IP, HTTP, SMTP, FTP), 인코딩 또는 포맷들(예를 들어, HTML, XML), 및/또는 보호 스키마(예를 들어, VPN, 시큐어 HTTP, SSL)를 통해 수행될 수 있다.
도 1a는 본 발명을 구현하는데 사용될 수 있는 하나의 예시적 컴퓨팅 시스템을 도시한다. 다른 컴퓨팅 시스템도 사용될 수 있다. 예를 들어, 일부 구현예에서, 사용자 컴퓨팅 디바이스(102)는 모델 트레이너(160) 및 트레이닝 데이터 세트(162)를 포함할 수 있다. 이러한 구현예에서, 모델(120)은 사용자 컴퓨팅 디바이스(102)에서 로컬적으로 트레이닝되고 사용될 수 있다. 이러한 구현예 중 일부에서, 사용자 컴퓨팅 디바이스(102)는 사용자 특정 데이터에 기초하여 모델(120)을 개인화하기 위해 모델 트레이너(160)를 구현할 수 있다.
도 1b는 본 발명의 예시적 실시예에 따라 하나 이상의 컴퓨터 애플리케이션으로부터 가용 액션을 선택하고 사용자에게 제공하는 예시적 컴퓨팅 디바이스(10)의 블록도를 도시한다. 컴퓨팅 디바이스(10)는 사용자 컴퓨팅 디바이스(예: 모바일 컴퓨팅 디바이스) 또는 서버 컴퓨팅 디바이스일 수 있다.
컴퓨팅 디바이스(10)는 다수의 애플리케이션(예를 들어, 애플리케이션 1 내지 애플리케이션 N)을 포함한다. 각 애플리케이션은 자체적 기계 학습 라이브러리 및 기계 학습 모델(들)을 포함한다. 예를 들어, 각 애플리케이션은 기계 학습 모델을 포함할 수 있다. 예시적 애플리케이션은 텍스트 메시징 애플리케이션, 이메일 애플리케이션, 받아쓰기 애플리케이션, 가상 키보드 애플리케이션, 브라우저 애플리케이션 등을 포함한다.
도 1b에 도시된 바와 같이, 각 애플리케이션은 예를 들어, 하나 이상의 센서, 컨텍스트 관리자, 디바이스 상태 컴포넌트 및/또는 추가 컴포넌트들과 같은 컴퓨팅 디바이스의 다수의 다른 컴포넌트들과 통신할 수 있다. 일부 구현예에서, 각 애플리케이션은 API(예를 들어, 퍼블릭 API)를 사용하여 각 디바이스 컴포넌트와 통신할 수 있다. 일부 구현예에서 각 애플리케이션에 의해 사용되는 API는 해당 애플리케이션에 대해 특정적이다.
도 1c는 본 발명의 예시적 실시예에 따라 수행하는 예시적 컴퓨팅 디바이스(50)의 블록도를 도시한다. 컴퓨팅 디바이스(50)는 사용자 컴퓨팅 디바이스 또는 서버 컴퓨팅 디바이스일 수 있다.
컴퓨팅 디바이스(50)는 다수의 애플리케이션(예를 들어, 애플리케이션 1 내지 애플리케이션 N)을 포함한다. 각 애플리케이션은 중앙 인텔리전스 레이어와 통신한다. 예시적 애플리케이션은 텍스트 메시징 애플리케이션, 이메일 애플리케이션, 받아쓰기 애플리케이션, 가상 키보드 애플리케이션, 브라우저 애플리케이션 등을 포함한다. 일부 구현예에서, 각 애플리케이션은 API(예: 모든 애플리케이션에 걸쳐 공통 API)를 사용하여 중앙 인텔리전스 레이어(및 그 안에 저장된 모델)과 통신할 수 있다.
중앙 인텔리전스 레이어는 다수의 기계 학습 모델들을 포함한다. 예를 들어, 도 1c에 도시된 바와 같이, 각각의 기계 학습 모델(예: 모델)은 각 애플리케이션에 대해 제공될 수 있고, 중앙 인텔리전스 레이어에 의해 관리될 수 있다. 다른 구현예에서, 2개 이상의 애플리케이션들은 단일의 기계 학습 모델을 공유할 수 있다. 예를 들어, 일부 구현예에서, 중앙 인텔리전스 레이어는 모든 애플리케이션에 대해 단일 모델(예를 들어, 단일 모델)을 제공할 수 있다. 일부 구현예에서, 중앙 인텔리전스 레이어는 컴퓨팅 디바이스(50)의 운영 체제 내에 포함되거나 이와 다르게 구현될 수 있다.
중앙 인텔리전스 레이어는 중앙 디바이스 데이터 레이어와 통신할 수 있다. 중앙 디바이스 데이터 레이어는 컴퓨팅 디바이스(50)에 대한 중앙 집중식 데이터 저장소일 수 있다. 도 1c에 도시된 바와 같이, 중앙 디바이스 데이터 레이어는 예를 들어, 하나 이상의 센서, 컨텍스트 관리자, 디바이스 상태 컴포넌트 및/또는 추가 컴포넌트들과 같은 컴퓨팅 디바이스의 다수의 다른 컴포넌트들과 통신할 수 있다. 일부 구현예에서, 중앙 디바이스 데이터 레이어는 API(예를 들어, 사설 API)를 사용하여 각 디바이스 컴포넌트와 통신할 수 있다.
도 1d는 본 개시의 양태에 따라 하나 이상의 컴퓨터 애플리케이션(172)으로부터 가용 액션을 선택하고 사용자에게 제공하도록 구성된 예시적인 사용자 컴퓨팅 디바이스(170)(예를 들어, 모바일 컴퓨팅 디바이스)를 도시한다. 보다 구체적으로, 사용자 컴퓨팅 디바이스(170)는 하나 이상의 시맨틱 엔터티를 기술하는 데이터(174)를 하나 이상의 컴퓨터 애플리케이션(172)에 제공하도록 구성될 수 있다. 데이터는 시맨틱 엔터티 및/또는 시맨틱 엔터티에 대한 추가 컨텍스트 정보이거나 이를 포함할 수 있다. 예를 들어, 데이터는 컴퓨팅 시스템에 의해 재생되는 비디오에서 인식된 노래의 이름을 포함할 수 있다. 데이터는 노래를 연주하는 아티스트의 이름도 포함할 수 있다. 컴퓨팅 시스템은 미리 정의된 API 또는 다른 프로토콜에 따라 컴퓨터 애플리케이션에 시맨틱 엔터티를 기술하는 데이터(174)를 제공할 수 있다.
사용자 컴퓨팅 디바이스(170)은 하나 이상의 시맨틱 엔터티를 기술하는 데이터(174)를 하나 이상의 컴퓨터 애플리케이션(172)에 제공하는 것에 응답하여 하나 이상의 컴퓨팅 애플리케이션(172)으로부터 각각 하나 이상의 애플리케이션 출력(176)을 수신하는 것을 포함할 수 있다. 각각의 컴퓨터 애플리케이션으로부터 수신된 애플리케이션 출력(174)은 하나 이상의 시맨틱 엔터티와 관련하여 대응하는 컴퓨터 애플리케이션(172)의 하나 이상의 가용 액션을 기술할 수 있다. 위에서 설명된 예에서, 애플리케이션 출력(들)(174)은 음악 스트리밍 애플리케이션에 의해 스트리밍될 수 있는 노래 및/또는 아티스트의 이름을 포함할 수 있다. 또 다른 예로서, 도시 이름(예: 사용자가 방문할 계획이 있는 도시)을 포함하는 시맨틱 엔터티를 포함하는 데이터(174)를 수신하는 것에 응답하여, 애플리케이션 출력(들)(176)은 여행 예약 애플리케이션으로부터 해당 도시에서 이용 가능한 잠재적 숙박 및/또는 렌터카를 포함할 수 있다. 컴퓨터 애플리케이션은 (예: 미리 정의된 API에 의해 특정된) 규칙 또는 프로토콜에 따라 애플리케이션 출력(들)에 관한 컴퓨팅 시스템을 포맷, 전송 및/또는 경고할 수 있다).
사용자 컴퓨팅 디바이스(170)는 대응하는 컴퓨터 애플리케이션(172)의 가용 액션 중 하나 이상을 기술하는 적어도 하나의 표시자(178)를 사용자에게 제공하도록 구성될 수 있다. 표시자(178)는 가용 액션을 기술하는 단어 또는 문구와 같이 사용자 인터페이스에 제시되는 그래픽 표시자이거나 이를 포함할 수 있다. 예를 들어, 위의 예에서, 표시자는 비디오에서 인식되었던 노래 이름 옆에 "재생"이라는 라벨이 붙은 버튼이거나 이를 포함할 수 있다. 다른 예로서, 그래픽 표시자는 사용자 인터페이스에 디스플레이되었거나 주변 오디오에 포함된 영화 제목을 포함하는 시맨틱 엔터티(예를 들어, 컴퓨팅 디바이스에 의해 프로세싱된 및/또는 컴퓨팅 디바이스의 마이크로폰에 의해 검출된 오디오)에 기초하여 영화 시간 및/또는 극장 위치이거나 이를 포함할 수 있다. 또 다른 예로서, 표시자는 사용자에게 재생되는 오디오 표시자를 포함할 수 있다. 예를 들어, 오디오 표시자는 사용자 인터페이스 또는 주변 오디오에 나타나는 텍스트를 다른 언어로 번역해야하는지 사용자에게 묻는 음성 또는 기타 사운드를 포함할 수 있다. 그러나, 본 명세서에 기술된 임의의 그래픽 표시자는 본 개시의 범위 내에서 오디오 형식으로 제공될 수 있음을 이해해야 한다.
표시자는 액션을 수행하는데 사용할 수 있는 컴퓨터 애플리케이션에 관한 식별 정보를 포함하거나 기술할 수 있다. 일례로서, 일부 구현예에서, 컴퓨터 애플리케이션은 식별 정보를 포함할 수 있는 미적 구성을 기술하는 스타일화 출력을 제공할 수 있다. 컴퓨팅 시스템은 스타일화 출력에 기초하여 사용자 인터페이스에 표시자를 디스플레이할 수 있다. 미적 구성은 컴퓨터 애플리케이션의 이름, 로고, 글꼴, 색상, 모양, 사용자 인터페이스 내의 위치 및/또는 임의의 다른 적절한 시각적 특징 중 하나 이상을 포함할 수 있다.
예시적 모델 구성
도 2a는 본 개시의 예시적 실시예에 따른 예시적 인식 모델(202)의 블록도를 도시한다. 일부 구현예에서, 인식 모델(202)은 컨텍스트 데이터(204)를 포함하는 모델 입력을 수신하고, 상기 모델 입력에서 참조되는 하나 이상의 시맨틱 엔터티(206)를 기술하는 모델 출력을 출력하도록 구성할 수 있다. 컨텍스트 데이터(204)의 예는 사용자 인터페이스에 디스플레이되는 텍스트, 컴퓨팅 시스템에 의해 재생 또는 프로세싱된 오디오, 컴퓨팅 시스템에 의해 검출된 오디오, 사용자 위치에 관한 정보(예: 컴퓨팅 시스템의 모바일 컴퓨팅 디바이스의 위치), 캘린더 데이터 및/또는 연락처 데이터를 포함할 수 있다. 예를 들어, 컨텍스트 데이터(204)는 컴퓨팅 시스템의 마이크로폰에 의해 검출된 주변 오디오 및/또는 (예를 들어, 전화 통화 중에 또는 비디오, 팟 캐스트 등과 같은 미디어를 재생하는 동안) 컴퓨팅 디바이스에 의해 프로세싱된 오디오를 포함할 수 있다. 캘린더 데이터는 미래의 이벤트 또는 계획(예: 항공편, 호텔 예약, 저녁 식사 계획 등)을 기술할 수 있다. 모델 출력으로 기술될 수 있는 예시적인 시맨틱 엔터티는 텍스트 및/또는 오디오에서 인식되는 단어 또는 문구를 포함한다. 추가 예는 도시 이름, 주 이름, 거리 이름, 주변 명소 이름 등과 같은 사용자 위치에 관한 정보를 포함한다.
도 2b는 각 컴퓨터 애플리케이션으로부터 수신된 출력에 의해 기술된 하나 이상의 가용 액션(252)을 기술하는 입력을 수신하도록 구성될 수 있는 순위 모델(250)을 도시한다. 입력의 수신에 응답하여, 기계 학습 모델은 가용 액션의 순위를 기술하는 순위 출력(254)을 출력하도록 구성될 수 있다. 컴퓨팅 시스템은 가용 액션(들)(252)을 기술하는 입력을 순위 기계 학습 모델(250)에 입력하고, 순위 기계 학습 모델(250)의 출력으로서 각 출력의 순위를 기술하는 순위 출력(254)을 수신하도록 구성될 수 있다. 컴퓨팅 시스템은 순위 출력(254)에 기초하여 사용자에게 제시하기 위해 가용 액션(252)을 선택하도록 구성될 수 있다. 예를 들어, 가장 높은 순위의 액션(들)(예를 들어, 상위 단일 결과, 상위 2개 동작, 3개 동작 등)이 사용자에게 제시되도록 선택될 수 있다.
일부 구현예에서, 컴퓨팅 시스템은 인공 지능 시스템(예를 들어, "구글 어시스턴트")을 포함할 수 있다. 인공 지능 시스템은 도 2a 및 2b를 참조하여 전술한 기계 학습 모델(202, 250) 중 하나 이상을 포함할 수 있다. 인공 지능 시스템은 본 명세서에 기술된 동작의 일부 또는 전부를 수행할 수 있다. 인공 지능 시스템은 하나 이상의 컴퓨터 애플리케이션과 분리되어 구분될 수 있지만 하나 이상의 컴퓨터 애플리케이션과 통신할 수 있다. 인공 지능 시스템은 하나 이상의 시맨틱 엔터티를 기술하는 데이터를 컴퓨터 애플리케이션(들)에 제공할 수 있고, 미리 정의된 애플리케이션 프로그래밍 인터페이스를 통해 컴퓨팅 애플리케이션(들)에서 각각 애플리케이션 출력을 수신할 수 있다.
예시적 방법들
도 3은 본 발명의 예시적 실시예에 따라 하나 이상의 컴퓨터 애플리케이션으로부터 가용 액션을 선택하고 사용자에게 제공하는 예시적 방법(10)의 흐름도를 도시한다. 도 3은 도시 및 설명을 위해 특정한 순서로 수행된 단계들을 도시하고 있지만, 본 발명의 방법은 특별히 설명된 순서 또는 구성에 한정되지 않는다. 방법(300)의 다양한 단계들은 본 발명의 범위를 벗어나지 않고 다양한 방식으로 생략, 재배열, 결합 및/또는 구성될 수 있다.
302에서, 컴퓨팅 시스템은 예를 들어 도 2a를 참조하여 위에서 설명된 바와 같이 순위 기계 학습 모델과 같은 기계 학습 모델에 모델 입력을 입력하도록 구성될 수 있다. 모델 입력은 컨텍스트 데이터를 포함할 수 있다. 컨텍스트 데이터의 예는 사용자 인터페이스에 디스플레이되는 텍스트, 컴퓨팅 시스템에 의해 재생 또는 프로세싱된 오디오, 컴퓨팅 시스템에 의해 검출된 오디오, 사용자 위치에 관한 정보(예: 컴퓨팅 시스템의 모바일 컴퓨팅 디바이스의 위치), 캘린더 데이터 및/또는 연락처 데이터를 포함할 수 있다. 예를 들어, 컨텍스트 데이터는 컴퓨팅 시스템의 마이크에 의해 검출된 주변 오디오 및/또는 전화 통화 중에 프로세싱된 전화 오디오를 포함할 수 있다. 캘린더 데이터는 미래의 이벤트 또는 계획(예: 항공편, 호텔 예약, 저녁 식사 계획 등)을 기술할 수 있다.
일부 구현예에서, 컴퓨팅 시스템은 인공 지능 시스템(예를 들어, "구글 어시스턴트")을 포함할 수 있다. 인공 지능 시스템은 순위 기계 학습 모델을 포함할 수 있으며, 본 명세서에 기술된 동작의 일부 또는 전부를 수행할 수 있다. 인공 지능 시스템은 하나 이상의 컴퓨터 애플리케이션과 분리되어 구분될 수 있지만 하나 이상의 컴퓨터 애플리케이션과 통신할 수 있다. 인공 지능 시스템은 하나 이상의 시맨틱 엔터티를 기술하는 데이터를 컴퓨터 애플리케이션(들)에 제공할 수 있고, 미리 정의된 애플리케이션 프로그래밍 인터페이스를 통해 컴퓨팅 애플리케이션(들)에서 각각 애플리케이션 출력을 수신할 수 있다.
304에서, 컴퓨팅 시스템은 기계 학습 모델(예를 들어, 순위 기계 학습 모델)의 출력으로서, 시맨틱 엔터티 또는 컨텍스트 데이터에 의해 참조된 엔터티를 기술하는 모델 출력을 수신하도록 구성될 수 있다. 모델 출력으로 기술될 수 있는 예시적인 시맨틱 엔터티는 컨텍스트 데이터에 의해 기술된 텍스트 및/또는 오디오에서 인식되는 단어 또는 문구를 포함한다. 추가 예는 도시 이름, 주 이름, 거리 이름, 주변 명소 이름 등과 같은 사용자 위치에 관한 정보를 포함한다.
306에서, 컴퓨팅 시스템은 하나 이상의 시맨틱 엔터티를 기술하는 데이터를 하나 이상의 컴퓨터 애플리케이션에 제공하도록 구성될 수 있다. 데이터는 시맨틱 엔터티 및/또는 시맨틱 엔터티에 대한 추가 컨텍스트 정보이거나 이를 포함할 수 있다. 예를 들어, 데이터는 컴퓨팅 시스템에 의해 재생되는 비디오에서 인식된 노래의 이름을 포함할 수 있다. 데이터는 노래를 연주하는 아티스트의 이름도 포함할 수 있다. 컴퓨팅 시스템은 사전 정의된 API 또는 기타 프로토콜에 따라 컴퓨터 애플리케이션에 시맨틱 엔터티를 기술하는 데이터를 제공할 수 있다.
308에서, 컴퓨팅 시스템은 하나 이상의 시맨틱 엔터티를 기술하는 데이터를 하나 이상의 컴퓨터 애플리케이션에 제공하는 것에 응답하여 하나 이상의 컴퓨팅 애플리케이션으로부터 각각 하나 이상의 애플리케이션 출력을 수신하도록 구성될 수 있다. 각각의 컴퓨터 애플리케이션으로부터 수신된 애플리케이션 출력은 하나 이상의 시맨틱 엔터티와 관련하여 대응하는 컴퓨터 애플리케이션의 하나 이상의 가용 액션을 기술할 수 있다. 위에서 설명된 예에서, 애플리케이션 출력(들)은 음악 스트리밍 애플리케이션에 의해 스트리밍될 수 있는 노래 및/또는 아티스트의 이름을 포함할 수 있다. 또 다른 예로서, 도시 이름(예: 사용자가 방문할 계획이 있는 도시)을 포함하는 시맨틱 엔터티를 수신하는 것에 응답하여, 애플리케이션 출력(들)은 여행 예약 애플리케이션으로부터 해당 도시에서 이용 가능한 잠재적 숙박 및/또는 렌터카를 포함할 수 있다.
310에서, 컴퓨팅 시스템은 대응하는 컴퓨터 애플리케이션의 가용 액션 중 하나 이상을 기술하는 적어도 하나의 표시자를 사용자에게 제공하도록 구성될 수 있다. 표시자는 가용 액션을 기술하는 단어 또는 문구와 같이 사용자 인터페이스에 제시되는 그래픽 표시자이거나 이를 포함할 수 있다. 예를 들어, 위의 예에서, 표시자는 비디오에서 인식되었던 노래 이름 옆에 "재생"이라는 라벨이 붙은 버튼이거나 이를 포함할 수 있다. 다른 예로서, 그래픽 표시자는 사용자 인터페이스에 디스플레이되었거나 주변 오디오에 포함된 영화 제목을 포함하는 시맨틱 엔터티(예를 들어, 컴퓨팅 디바이스에 의해 프로세싱된 및/또는 컴퓨팅 디바이스의 마이크로폰에 의해 검출된 오디오)에 기초하여 영화 시간 및/또는 극장 위치이거나 이를 포함할 수 있다. 또 다른 예로서, 표시자는 사용자에게 재생되는 오디오 표시자를 포함할 수 있다. 예를 들어, 오디오 표시자는 사용자 인터페이스 또는 주변 오디오에 나타나는 텍스트를 다른 언어로 번역해야하는지 사용자에게 묻는 음성 또는 기타 사운드를 포함할 수 있다. 그러나, 본 명세서에 기술된 임의의 그래픽 표시자는 본 개시의 범위 내에서 오디오 형식으로 제공될 수 있음을 이해해야 한다.
표시자는 액션을 수행하는데 사용할 수 있는 컴퓨터 애플리케이션에 관한 식별 정보를 포함하거나 기술할 수 있다. 일례로서, 일부 구현예에서, 컴퓨터 애플리케이션은 식별 정보를 포함할 수 있는 미적 구성을 기술하는 스타일화 출력을 제공할 수 있다. 컴퓨팅 시스템은 스타일화 출력에 기초하여 사용자 인터페이스에 표시자를 디스플레이할 수 있다. 미적 구성은 컴퓨터 애플리케이션의 이름, 로고, 글꼴, 색상, 모양, 사용자 인터페이스 내의 위치 및/또는 임의의 다른 적절한 시각적 특징 중 하나 이상을 포함할 수 있다.
예시적 구현예
도 4는 본 개시의 양태의 예시적 구현예를 도시한다. 더 구체적으로, 도 4는 본 개시의 양태에 따라 컴퓨터 애플리케이션으로부터 가용 액션을 보여주는 사용자 인터페이스(401)에 표시자(402)를 디스플레이하는 예시적인 모바일 컴퓨팅 디바이스(400)를 도시한다. 모바일 컴퓨팅 디바이스(400)는 도 1a의 사용자 컴퓨팅 디바이스(102)에 대응할 수 있다. 모바일 컴퓨팅 디바이스(400)는 컴퓨터 애플리케이션을 저장하거나 구현할 수 있다. 이 예에서, 모바일 컴퓨팅 디바이스(400)는 레스토랑 리뷰 애플리케이션 "Eater"에 의해 생성된 레스토랑의 리뷰를 디스플레이할 수 있다.
모바일 컴퓨팅 디바이스(400)는 컨텍스트 데이터를 포함하는 모델 입력을 예를 들어 도 2a를 참조하여 설명된 바와 같이 인식 기계 학습 모델에 입력하도록 구성될 수 있다. 이 예에서, 컨텍스트 데이터는 사용자 인터페이스(401)에 디스플레이되는 텍스트의 일부 또는 전부를 포함할 수 있다.
모바일 컴퓨팅 디바이스(400)는 컨텍스트 데이터에 의해 참조되는 하나 이상의 시맨틱 엔터티를 기술하는 모델 출력을 수신하도록 구성될 수 있다. 이 예에서, 모델 출력은 하이라이팅된 텍스트를 포함할 수 있다. 보다 구체적으로, 이 예에서, 사용자는 사용자 인터페이스(401)에 디스플레이된 텍스트에서 도시 이름 "Port Angeles"를 하이라이팅했다.
모바일 컴퓨팅 디바이스(400)는 시맨틱 엔터티를 기술하는 데이터를 하나 이상의 컴퓨터 애플리케이션에 제공하도록 구성될 수 있다. 이 예에서 데이터는 "Port Angeles"라는 이름을 포함할 수 있다. 모바일 컴퓨팅 디바이스(400)는 숙박 애플리케이션, 내비게이션 애플리케이션 및/또는 다른 적절한 애플리케이션을 포함하는 여러 컴퓨터 애플리케이션에 데이터를 제공할 수 있다. 모바일 컴퓨팅 디바이스(400)는 사전 정의된 API 또는 다른 프로토콜(들)에 따라 데이터를 제공할 수 있다.
또한, 하나 이상의 컴퓨터 애플리케이션은 "서드파티" 컴퓨터 애플리케이션일 수 있다. 즉, 모든 컴퓨터 애플리케이션의 일부는 운영 체제 및/또는 모바일 컴퓨팅 디바이스에서 동작할 수 있는 인공 지능 시스템의 개발자가 아닌 다른 엔터티에 의해 개발될 수 있다.
모바일 컴퓨팅 디바이스(400)는 상기 모델 출력과 복수의 애플리케이션에 관한 각각의 정보 간의 비교에 기초하여, 상기 하나 이상의 시맨틱 엔터티를 기술하는 데이터를 제공하기 위한 컴퓨터 애플리케이션을 선택하도록 구성될 수 있다. 이 예에서, 모바일 컴퓨팅 디바이스(400)(예를 들어, 인공 지능 시스템)는 모델 출력(예를 들어, "Port Angeles" 포함)을 숙박 애플리케이션, 내비게이션 애플리케이션, 영화 티켓 애플리케이션, 영화 리뷰 애플리케이션, 레스토랑 리뷰 애플리케이션, 레스토랑 예약 애플리케이션 등과 같은 잠재적 애플리케이션에 관한 정보와 비교하도록 구성될 수 있다. 모바일 컴퓨팅 디바이스(400)는 데이터(예를 들어, "Port Angeles"포함)를 제공할 하나 이상의 애플리케이션을 선택할 수 있다. 이 예에서, 모바일 컴퓨팅 디바이스(400)(예를 들어, 인공 지능 시스템)는 잠재적 애플리케이션에 대한 정보(예를 들어, 일반적 입력 및/또는 출력)의 비교에 기초하여 숙박 애플리케이션 및/또는 내비게이션 애플리케이션을 선택할 수 있다. 예를 들어, 숙박 애플리케이션 및/또는 내비게이션 애플리케이션은 그러한 애플리케이션에 대한 일반적 입력이 도시 이름을 포함하기 때문에 선택될 수 있다.
모바일 컴퓨팅 디바이스(400)는 시맨틱 엔터티를 기술하는 데이터를 컴퓨터 애플리케이션에 제공하는 것에 응답하여 컴퓨팅 애플리케이션으로부터 각각 애플리케이션 출력을 수신하도록 구성될 수 있다. 컴퓨터 애플리케이션은 (예: 미리 정의된 API에 의해 특정된) 규칙 또는 프로토콜에 따라 애플리케이션 출력(들)에 관한 컴퓨팅 시스템을 포맷, 전송 및/또는 경고할 수 있다). 각 컴퓨터 애플리케이션으로부터 수신된 애플리케이션 출력은 시맨틱 엔터티와 관련하여 대응하는 컴퓨터 애플리케이션의 하나 이상의 가용 액션을 기술할 수 있다. 이 예에서, 애플리케이션 출력은 숙박 애플리케이션 'Airbnb'으로부터의 출력을 포함한다. 애플리케이션 출력은 Port Angeles에서 사용 가능한 숙박 옵션에 대한 정보를 포함할 수 있다. 애플리케이션 출력은 내비게이션 애플리케이션 및/또는 검색 애플리케이션으로부터의 출력을 포함할 수 있다.
모바일 컴퓨팅 디바이스(400)는 사용자에게 제공하기 위해 애플리케이션 출력(들)에 의해 기술된 다수의 가용 액션의 서브세트를 선택할 수 있다. 모바일 컴퓨팅 디바이스(400)는 다양한 요인 또는 데이터에 기초하여 서브세트 가용 액션을 선택할 수 있다. 예시는 하나 이상의 시맨틱 엔터티에 대한 관련성, 컴퓨팅 시스템의 모바일 컴퓨팅 디바이스(400)의 위치, 과거 사용자 인터렉션, 하나 이상의 시맨틱 엔터티 유형 또는 하나 이상의 가용 액션의 유형을 포함한다.
이 예에서, 모바일 컴퓨팅 디바이스(400)는 숙박 애플리케이션, 내비게이션 애플리케이션, 검색 애플리케이션 및/또는 추가 애플리케이션(예를 들어, 레스토랑 예약 애플리케이션, 레스토랑 리뷰 애플리케이션 등)으로부터 각각의 가용 액션을 기술하는 애플리케이션 출력을 수신할 수 있다. 모바일 컴퓨팅 디바이스(400)는 예를 들어, 과거 사용자 인터렉션에 기초하여 숙박 애플리케이션으로부터 사용자에게 디스플레이하기 위한 애플리케이션 출력을 선택할 수 있다. 과거 사용자 인터렉션의 예는 다른 애플리케이션과 비교하여 숙박 애플리케이션의 사용 증가, 숙박 애플리케이션의 액션을 기술하는 표시자에 대한 참여 증가 등을 포함할 수 있다. 따라서, 컴퓨팅 시스템은 컴퓨팅 디바이스의 사용자를 위해 컴퓨터 애플리케이션(들)로부터 가용 액션의 선택을 커스터마이징할 수 있다.
일부 구현예에서, 가용 액션의 선택은 기계 학습 모델, 예를 들어 도 2b를 참조하여 기술된 "순위 기계 학습 모델"에 의해 수행될 수 있다. 모바일 컴퓨팅 디바이스(400)은 가용 액션(들)을 기술하는 입력을 순위 기계 학습 모델에 입력하고, 각각의 출력의 순위를 기술하는 순위 출력을 순위 기계 학습 모델의 출력으로 수신하도록 구성될 수 있다. 모바일 컴퓨팅 디바이스(400)은 순위 출력에 기초하여 사용자에게 제시하기 위해 가용 액션을 선택하도록 구성될 수 있다. 예를 들어, 가장 높은 순위의 액션(들)(예를 들어, 상위 단일 결과, 상위 2개 동작, 3개 동작 등)이 사용자에게 제시되도록 선택될 수 있다. 이 예에서, 모바일 컴퓨팅 디바이스(400)는 둘 이상의 컴퓨터 애플리케이션(예를 들어, 숙박 애플리케이션, 내비게이션 애플리케이션, 검색 애플리케이션 및/또는 추가 애플리케이션(예를 들어, 레스토랑 예약 애플리케이션, 레스토랑 리뷰 애플리케이션 등))으로부터 애플리케이션 출력을 기술하는 모델 입력을 입력할 수 있다. 모바일 컴퓨팅 디바이스(400)는 컴퓨터 애플리케이션의 순위를 포함하는 모델 출력을 순위 기계 학습 모델의 출력으로서 수신할 수 있다. 모바일 컴퓨팅 디바이스(400)는 순위에 기초하여 사용자에게 제공할 가용 액션(들)을 선택할 수 있다. 이 예에서, 모바일 컴퓨팅 디바이스(400)는 사용자에게 제공하기 위해 숙박 애플리케이션으로부터 가용 액션을 선택할 수 있다.
보다 구체적으로, 모바일 컴퓨팅 디바이스(400)는 사용자 인터페이스(401)에 디스플레이하기 위해 숙박 애플리케이션으로부터 가용 액션을 기술하는 표시자(402)를 제공할 수 있다. 이 예에서, 표시자(402)는 숙박 애플리케이션의 이름 및 로고를 포함한다. 사용자가 표시자에 대한 입력을 수행하는 경우(예: 모바일 컴퓨팅 디바이스(400)의 터치 스크린에 대한 사용자 터치 액션을 사용하여), 모바일 컴퓨팅 디바이스(400)는 숙박 애플리케이션을 열어(또는 사용자 인터페이스(401)에 디스플레이하기 위해 숙박 애플리케이션으로부터의 출력을 제공), 숙박 애플리케이션으로부터 포트 앤젤레스에서 이용 가능한 숙박 옵션을 표시한다.
표시자(402)는 패널(404)에서 제공될 수 있다. 추가 가용 액션 또는 표시자(406)가 패널(404)에 디스플레이될 수 있다. 예를 들어, 이 예에서, 하이라이팅된 텍스트를 복사하거나 공유하는 옵션과 모든 텍스트를 선택하는 옵션도 패널(404)에 제공된다. 추가로, 수직 타원(408)이 패널(404)에 디스플레이될 수 있다. 수직 타원(408)으로 향하는 사용자 입력 액션을 수신하는 것에 응답하여, 모바일 컴퓨팅 디바이스(400)는 추가 컴퓨터 애플리케이션으로부터의 추가 표시자 및/또는 패널(404)에 현재 디스플레이된 표시자(402, 406)에 대한 추가 정보를 디스플레이할 수 있다.
모바일 컴퓨팅 디바이스(400)는 운영 체제 레벨 내비게이션 바(412)에 표시자(410)를 디스플레이할 수 있다. 운영 체제 레벨 내비게이션 바(412)는 다수의 애플리케이션을 사용하는 동안 및/또는 모바일 컴퓨팅 디바이스의 "홈 화면"에 디스플레이될 수 있다. 이 예에서, 내비게이션 바(412)의 표시자(410)는 "에어비앤비 예약하기"를 제안하는 텍스트를 포함한다.
전술한 바와 같이, 표시자(402)는 또한 액션을 수행하기 위해 이용 가능한 컴퓨터 애플리케이션에 대한 식별 정보(예를 들어, 컴퓨팅 애플리케이션의 로고 또는 이름)를 포함하거나 기술할 수 있다. 일부 구현예에서, 컴퓨터 애플리케이션은 식별 정보를 포함할 수 있는 미적 구성을 기술하는 스타일화 출력을 제공할 수 있다. 이 예에서 숙박 애플리케이션은 디스플레이할 숙박 애플리케이션의 로고를 포함하는 스타일화 출력을 제공할 수 있다. 스타일화 출력은 글꼴, 색상, 모양, 사용자 인터페이스 내의 위치 및/또는 표시자(402)의 임의의 다른 적절한 시각적 특성과 같은 다양한 미적 구성을 포함할 수 있다.
일부 구현예에서, 모바일 컴퓨팅 디바이스(400)는 사용자에게 재생될 수 있는 오디오 표시자를 제공할 수 있다. 예를 들어, 오디오 표시자는 사용자 인터페이스 또는 주변 오디오에 나타나는 텍스트를 다른 언어로 번역해야하는지 사용자에게 묻는 음성 또는 기타 사운드를 포함할 수 있다. 이 예에서, 오디오 표시자는 발화된 스페인어의 영어 번역을 말하는 음성을 포함할 수 있다. 그러나, 본 명세서에 기술된 임의의 그래픽 표시자는 본 개시의 범위 내에서 오디오 형식으로 제공될 수 있음을 이해해야 한다.
추가로, 일부 구현예에서, 모바일 컴퓨팅 디바이스(400)는 시각적 신호(414)를 제공할 수 있다(예를 들어, 내비게이션 바(412)에서). 시각적 신호(414)는 모바일 컴퓨팅 디바이스의 상태를 나타낼 수 있다. 예를 들어, 시각적 신호(414)는 컨텍스트 데이터(예를 들어, 사용자 인터페이스에 디스플레이된 텍스트)가 디바이스 외부로 전송되거나 전송되지 않을 때 사용자에게 신호를 보낼 수 있다. 다른 예로서, 시각적 신호(414)는 인공 지능 시스템의 상태를 나타낼 수 있다. 시각적 신호(414)는 인공 지능 시스템이 컨텍스트 데이터를 수집하고, 컴퓨터 애플리케이션(들)로부터 가용 액션을 검색하도록 구성된 하나 이상의 동작을 수행하는 때(예를 들어, 컨텍스트 데이터를 "프로세싱") 및/또는 사용자에게 제공되는 표시자(들)(402, 410)의 관련성과 연관된 신뢰도를 나타낼 수 있다.
도 5a 및 5b는 본 개시의 양태의 다른 예시적 구현예를 도시한다. 보다 구체적으로, 도 5a는 본 개시의 양태에 따라 모바일 컴퓨팅 디바이스(500)가 사용자 인터페이스(502)에서 텍스트 메시지 교환을 디스플레이하고 있는 제1 상태의 예시적인 모바일 컴퓨팅 디바이스(500)를 도시한다. 도 5b는 모바일 컴퓨팅 디바이스(500)가 본 개시의 양태에 따라 도 5a의 텍스트 메시지 교환으로부터의 인식된 텍스트와 관련하여 다수의 컴퓨터 애플리케이션으로부터 가용 액션의 표시자를 제공하는 제2 상태의 도 5a의 모바일 컴퓨팅 디바이스를 도시한다. 모바일 컴퓨팅 디바이스(500)는 예를 들어 도 2a를 참조하여 전술한 바와 같이 컨텍스트 데이터를 포함하는 모델 입력을 인식 모델에 입력할 수 있다. 이 예에서, 컨텍스트 데이터는 사용자 인터페이스(502)에 디스플레이되는 텍스트의 일부 또는 전부를 포함할 수 있다. 인식 모델은 레스토랑 "Sushi Tomi"의 이름 및/또는 문자 메시지 교환에 대한 하나 이상의 정보와 같은 컨텍스트 데이터에 의해 참조되는 하나 이상의 시맨틱 엔터티를 기술하는 모델 출력을 출력할 수 있다. 모델 출력에서 기술될 수 있는 시맨틱 엔터티의 추가 예는 사용자가 문자 메시지를 교환하는 사람의 이름 및/또는 "점심"이라는 단어를 포함한다.
모바일 컴퓨팅 디바이스(500)는 시맨틱 엔터티 또는 엔터티들을 기술하는 데이터를 하나 이상의 컴퓨터 애플리케이션에 제공하도록 구성될 수 있다. 이 예에서, 데이터는 시맨틱 엔터티를 포함할 수 있다. 모바일 컴퓨팅 디바이스(400)는 예약 애플리케이션 및/또는 내비게이션 애플리케이션을 포함하는 여러 컴퓨터 애플리케이션에 데이터를 제공할 수 있다. 모바일 컴퓨팅 디바이스(400)는 사전 정의된 API 또는 다른 프로토콜(들)에 따라 데이터를 제공할 수 있다.
모바일 컴퓨팅 디바이스(500)는 시맨틱 엔터티 또는 엔터티들을 기술하는 데이터를 컴퓨터 애플리케이션에 제공하는 것에 응답하여 컴퓨팅 애플리케이션으로부터 각각 애플리케이션 출력을 수신하도록 구성될 수 있다. 컴퓨터 애플리케이션은 (예: 미리 정의된 API에 의해 특정된) 규칙 또는 프로토콜에 따라 애플리케이션 출력(들)에 관한 컴퓨팅 시스템을 포맷, 전송 및/또는 경고할 수 있다). 각 컴퓨터 애플리케이션으로부터 수신된 애플리케이션 출력은 시맨틱 엔터티와 관련하여 대응하는 컴퓨터 애플리케이션의 하나 이상의 가용 액션을 기술할 수 있다. 이 예에서, 애플리케이션 출력은 예약 애플리케이션 'Open Table'로부터의 출력과 내비게이션 애플리케이션 'Google Maps'로부터의 출력을 포함한다. 애플리케이션 출력은 예약 정보 및/또는 레스토랑 Sushi Tomi의 위치를 포함할 수 있다.
모바일 컴퓨팅 디바이스(500)는 사용자 인터페이스(401)에 표시자를 디스플레이함으로써 컴퓨팅 시스템의 사용자에게 하나 이상의 표시자를 제공하도록 구성될 수 있다. 예를 들어, 모바일 컴퓨팅 디바이스(500)는 예약 애플리케이션을 사용하여 예약을 할 수 있는 가용 액션을 기술하는 표시자(552)를 디스플레이할 수 있다. 표시자(552)는 "반쪽 칸(half-shelf)"(554)으로 디스플레이될 수 있다. 반쪽 칸(554)은 사용자 인터페이스(502)의 하부에 위치할 수 있다.
모바일 컴퓨팅 디바이스(500)는 내비게이션 애플리케이션으로부터 가용 액션을 기술하는 표시자(556)를 디스플레이할 수 있다. 예를 들어, 가용 액션은 레스토랑에 전화(아이콘(558)으로 표시됨), 레스토랑으로 길안내(아이콘(560)으로 표시됨), 및/또는 지도에서 레스토랑 위치 보기(아이콘(562)로 표시됨)를 포함할 수 있다. 표시자(556)는 레스토랑의 웹 사이트로부터의 사진(564) 및/또는 지도(566)와 같은 레스토랑에 대한 추가 정보를 포함할 수 있다.
모바일 컴퓨팅 디바이스(500)는 검색 애플리케이션을 사용하여 레스토랑을 검색하는 것을 포함하는 가용 액션을 기술하는 표시자(568)를 디스플레이할 수 있다. 모바일 컴퓨팅 디바이스(500)는 검색 애플리케이션을 사용하여 레스토랑을 검색하는 것을 포함하는 가용 액션을 기술하는 표시자(568) 및/또는 예를 들어 웹 브라우저 애플리케이션 또는 레스토랑 리뷰/예약 애플리케이션에서 레스토랑의 영업 시간을 보는 것을 포함하는 가용 액션을 기술하는 표시자(570)를 표시할 수 있다.
도 6은 본 개시의 양태에 따라 사용자 인터페이스(604)에 텍스트 메시지 알림(602)과 텍스트 메시지로부터 인식된 텍스트와 관련하여 다수의 컴퓨터 애플리케이션으로부터 가용 액션의 표시자를 디스플레이하는 예시적인 모바일 컴퓨팅 디바이스(600)를 도시한다. 보다 구체적으로, 모바일 컴퓨팅 디바이스(600)는 사용자 인터페이스(604)에 디스플레이된 잠금 화면(606)에 문자 메시지 알림을 표시할 수 있다.
이 예에서, 컨텍스트 데이터는 수신된 텍스트 메시지의 텍스트 및/또는 발신자의 이름을 포함할 수 있다. 시맨틱 엔터티는 다음 중 하나 이상을 포함할 수 있다: 날짜("8월 6일"), 이벤트("크리스의 결혼식") 또는 컨텍스트 데이터에 의해 기술되는 장소("수목원").
모바일 컴퓨팅 디바이스(600)는 컴퓨터 애플리케이션(들)에 시맨틱 엔터티 또는 엔터티들을 기술하는 데이터를 제공하도록 구성될 수 있다. 이 예에서 데이터는 시맨틱 엔터티 또는 엔터티들을 포함할 수 있다. 모바일 컴퓨팅 디바이스(400)는 사전 정의된 API 또는 다른 프로토콜(들)에 따라 데이터를 제공할 수 있다.
모바일 컴퓨팅 디바이스(600)는 컴퓨터 애플리케이션으로부터 하나 이상의 애플리케이션 출력을 수신하도록 구성될 수 있다. 컴퓨터 애플리케이션은 (예: 미리 정의된 API에 의해 특정된) 규칙 또는 프로토콜에 따라 애플리케이션 출력(들)에 관한 컴퓨팅 시스템을 포맷, 전송 및/또는 경고할 수 있다). 이 예시에서, 애플리케이션 출력은 내비게이션 애플리케이션으로부터 수목원으로 내비게이션하는 것을 포함하는 가용 액션에 대한 정보 및/또는 캘린더 애플리케이션으로부터 캘린더 이벤트 생성을 포함하는 가용 액션에 대한 정보를 포함할 수 있다.
모바일 컴퓨팅 디바이스(600)는 내비게이션 애플리케이션을 사용하여 수목원으로의 길안내를 포함하는 가용 액션을 기술하는 표시자(608) 및/또는 캘린더 애플리케이션으로부터 캘린더 이벤트 생성을 기술하는 표시자(610)를 제공하도록 구성될 수 있다.
모바일 컴퓨팅 디바이스(600)는 제안된 응답을 포함하는 하나 이상의 표시자(612)를 디스플레이할 수 있다. 예를 들어, 인텔리전트 시스템은 컨텍스트 데이터를 분석하고, 제안된 응답을 생성할 수 있다. 대안적으로, 모바일 컴퓨팅 디바이스(600)는 예를 들어 다른 표시자(608, 610)에 대해 전술한 바와 같이 인텔리전트 시스템과 별개인 컴퓨터 애플리케이션으로부터 제안된 응답을 포함하는 표시자(612)를 수신할 수 있다.
도 7a는 본 개시의 양태에 따라 역사적 인물을 언급하는 주변 오디오가 검출되고 표시자(702)가 모바일 컴퓨팅 디바이스(700)의 사용자 인터페이스(704)에 디스플레이되는 잠금 화면(702)에 디스플레이되는 제1 상태의 예시적인 모바일 컴퓨팅 디바이스(700)를 도시한다. 예를 들어, 모바일 컴퓨팅 디바이스(700)는 마이크로폰을 사용하여 주변 오디오(오디오 심볼(706)로 표시됨)를 검출하도록 구성될 수 있다.
모바일 컴퓨팅 디바이스(700)는 컨텍스트 데이터를 포함하는 모델 입력을 예를 들어 도 2a를 참조하여 설명된 바와 같이 인식 기계 학습 모델에 입력하도록 구성될 수 있다. 이 예에서 컨텍스트 데이터는 검출된 주변 오디오의 일부 또는 전부를 포함할 수 있다.
모바일 컴퓨팅 디바이스(700)는 컨텍스트 데이터에 의해 참조되는 하나 이상의 시맨틱 엔터티를 기술하는 모델 출력을 수신하도록 구성될 수 있다. 이 예에서, 모델 출력은 역사적 인물의 이름, Enrico Fermi 및/또는 역사적 인물의 이름이 언급된 문장 또는 컨텍스트에 대한 역사적 인물에 대한 추가 정보를 포함할 수 있다. 예를 들어, "엔리코 페르미가 쓴 책은 무엇입니까?" 또는 "엔리코 페르미는 누구였습니까?"와 같은 질문에서 역사적 인물의 이름이 언급된 경우, 모델 출력은 질문에 대한 추가 정보를 설명하거나 질문의 추가 시맨틱 엔터티(예: "책")를 포함할 수 있다.
모바일 컴퓨팅 디바이스(700)는 시맨틱 엔터티를 기술하는 데이터를 하나 이상의 컴퓨터 애플리케이션에 제공하도록 구성될 수 있다. 이 예에서, 데이터는 "Enrico Fermi"라는 이름 및/또는 "책"을 포함할 수 있다. 모바일 컴퓨팅 디바이스(700)는 검색 애플리케이션, 쇼핑 애플리케이션 및/또는 다른 적절한 애플리케이션을 포함하는 여러 컴퓨터 애플리케이션에 데이터를 제공할 수 있다. 모바일 컴퓨팅 디바이스(400)는 사전 정의된 API 또는 다른 프로토콜(들)에 따라 데이터를 제공할 수 있다.
모바일 컴퓨팅 디바이스(700)는 시맨틱 엔터티를 기술하는 데이터를 컴퓨터 애플리케이션에 제공하는 것에 응답하여 컴퓨팅 애플리케이션으로부터 각각 애플리케이션 출력을 수신하도록 구성될 수 있다. 컴퓨터 애플리케이션은 (예: 미리 정의된 API에 의해 특정된) 규칙 또는 프로토콜에 따라 애플리케이션 출력(들)에 관한 컴퓨팅 시스템을 포맷, 전송 및/또는 경고할 수 있다). 각 컴퓨터 애플리케이션으로부터 수신된 애플리케이션 출력은 시맨틱 엔터티와 관련하여 대응하는 컴퓨터 애플리케이션의 하나 이상의 가용 액션을 기술할 수 있다. 이 예에서, 애플리케이션 출력은 검색 애플리케이션과 쇼핑 애플리케이션 "Amazon"의 출력을 포함한다. 검색 애플리케이션 출력으로부터의 애플리케이션 출력은 시맨틱 엔터티를 포함하는 인터넷 쿼리의 결과와 같은 시맨틱 엔터티에 관한 관련 정보를 포함할 수 있다. 이 예에서 검색 애플리케이션의 애플리케이션 출력은 Enrico Fermi에 대한 Wikipedia 글의 텍스트를 포함할 수 있다. 쇼핑 애플리케이션의 애플리케이션 출력은 시맨틱 엔터티와 관련된 하나 이상의 제품 구매를 포함하는 가용 액션을 포함할 수 있다. 이 예에서, 쇼핑 애플리케이션의 애플리케이션 출력은 쇼핑 애플리케이션을 사용하여 구매할 수 있는 Enrico Fermi의 책이나 관련 책을 포함할 수 있다.
도 7b는 주변 오디오에서 언급된 역사적 인물과 관련하여 가용 액션을 기술하는 표시자가 디스플레이되는 제2 상태의 도 7a의 예시적인 모바일 컴퓨팅 디바이스를 도시한다. 보다 구체적으로, 검색 애플리케이션으로부터 수신된 정보를 기술하는 표시자(720)가 디스플레이될 수 있다. 이 예에서, 표시자(720)는 역사적 인물에 대해 수행된 웹 쿼리로부터의 텍스트를 포함한다.
시맨틱 엔터티에 대해 쇼핑 애플리케이션에 의해 수행될 수 있는 가용 액션을 포함하는 표시자(722)가 디스플레이될 수 있다. 보다 구체적으로, 시맨틱 엔터티와 관련된 아이템(724)이 판매를 위해 제공될 수 있다. 이 예에서, 아이템(724)은 역사적 인물에 의해 또는 그에 대해 쓰여진 책 및/또는 역사적 인물과 관련된 주제(예를 들어, 물리학)에 대해 쓰여진 책을 포함할 수 있다.
일부 구현예에서, 모바일 컴퓨팅 디바이스(700)은 사용자가 나중에 보기 위한 표시자(720, 722)를 포함하거나 기술하는 "북마크"와 같은 정보를 저장하도록 구성될 수 있다. 예를 들어, 모바일 컴퓨팅 디바이스(700)는 북마크 아이콘(726)을 디스플레이할 수 있다. 나중에 보기 위한 표시자(720, 722) 중 하나 이상의 저장을 요청하는 사용자 입력(예: 북마크 아이콘(726)으로 향하는 사용자 터치 액션)에 응답하여, 모바일 컴퓨팅 디바이스(700)는 예를 들어 도 7c를 참조하여 아래에 설명된 바와 같이, 나중에 보기 위한 표시자(들)(720, 722)를 기술하는 정보를 저장하고 및/또는 "나중을 위해 저장됨" 패널을 디스플레이할 수 있다.
도 7c는 본 개시의 양태에 따라 나중에 보기 위해 표시자가 "북마크된" 제3 상태에 있는 도 7a의 예시적인 모바일 컴퓨팅 디바이스(700)를 도시한다. 모바일 컴퓨팅 디바이스(700)는 "나중을 위해 저장됨" 패널(742)에서 저장된 표시자(740)를 디스플레이할 수 있으며, 이는 사용자가 이전에 제공된 표시자(740)를 다시 방문하려고 할 때 검색될 수 있다. 일부 구현예에서, 저장된 표시자(740)는 예를 들어 표시자(740)의 생성 및/또는 디스플레이와 연관된 컨텍스트 데이터에 기초하여 함께 그룹화 및/또는 저장될 수 있다 740. 이 예에서, 다수의 저장된 표시자(740)는 특정 사람(예를 들어, 연락처)과 관련된 것으로 함께 그룹화될 수 있다. 추가적 예는 가용 액션 및/또는 표시자와 연관된 컴퓨터 애플리케이션의 유형, 표시자가 사용자에게 제공된 당시의 모바일 컴퓨팅 디바이스의 위치, 가용 액션이 초점을 둔 위치(예: 사용 가능한 숙박 목록이 위치된 도시, 비행기 티켓이 제공되는 목적지 도시) 및/또는 날짜 또는 날짜 범위(예: 특정 휴가 또는 여행에 대한 표시자를 함께 그룹화할 수 있음)에 기초한 시간적 그룹화에 기초한 저장 또는 그룹화 표시자를 포함한다.
도 8a는 본 개시의 양태에 따라 모바일 컴퓨팅 디바이스(800)의 사용자 인터페이스(806)에 비디오(802) 및 표시자(804)가 디스플레이되는 제1 상태의 예시적인 모바일 컴퓨팅 디바이스(800)를 도시한다. 이 예에서, 비디오(802)는 영화 예고편, 영화 리뷰 또는 영화의 다른 부분이거나 이를 포함할 수 있다. 모바일 컴퓨팅 디바이스(800)는 인식 모델에 모델 입력을 입력할 수 있다. 예를 들어 도 2a를 참조하여 전술한 바와 같이, 모델 입력은 비디오(802)의 하나 이상의 프레임 및/또는 비디오(802)로부터의 오디오의 일부를 포함할 수 있다. 인식 모델은 하나 이상의 시맨틱 엔터티를 기술하는 모델 출력을 출력할 수 있다. 예를 들어, 시맨틱 엔터티는 영화에서 발화된 단어를 포함할 수 있다. 일부 구현예에서, 인식 모델은 영화 제목을 식별하도록 구성될 수 있고, 시맨틱 엔터티는 영화 제목을 포함할 수 있다.
모바일 컴퓨팅 디바이스(800)는 시맨틱 엔터티를 기술하는 데이터를 하나 이상의 컴퓨터 애플리케이션에 제공하도록 구성될 수 있다. 이 예에서, 데이터는 영화 제목 및/또는 영화에서 발화된 단어를 포함할 수 있다. 모바일 컴퓨팅 디바이스(800)는 검색 애플리케이션, 내비게이션 애플리케이션, 영화 시간을 보기 위한 애플리케이션 및/또는 영화 티켓 구매를 위한 애플리케이션을 포함하는 여러 컴퓨터 애플리케이션에 데이터를 제공할 수 있다. 모바일 컴퓨팅 디바이스(800)는 사전 정의된 API 또는 다른 프로토콜(들)에 따라 데이터를 제공할 수 있다.
모바일 컴퓨팅 디바이스(800)는 시맨틱 엔터티를 기술하는 데이터를 컴퓨터 애플리케이션에 제공하는 것에 응답하여 컴퓨팅 애플리케이션으로부터 각각 애플리케이션 출력을 수신하도록 구성될 수 있다. 컴퓨터 애플리케이션은 (예: 미리 정의된 API에 의해 특정된) 규칙 또는 프로토콜에 따라 애플리케이션 출력(들)에 관한 컴퓨팅 시스템을 포맷, 전송 및/또는 경고할 수 있다). 각 컴퓨터 애플리케이션으로부터 수신된 애플리케이션 출력은 시맨틱 엔터티 또는 엔터티들과 관련하여 대응하는 컴퓨터 애플리케이션의 하나 이상의 가용 액션을 기술할 수 있다. 이 예에서, 애플리케이션 출력은 검색 애플리케이션, 내비게이션 애플리케이션, 영화 시간을 보기 위한 애플리케이션 및/또는 영화 티켓을 구매하기 위한 애플리케이션으로부터의 출력을 포함할 수 있다. 애플리케이션 출력은 영화와 관련하여 각 컴퓨터 애플리케이션에서 수행될 수 있는 가용 액션을 기술할 수 있다.
표시자(804)는 예를 들어 도 8b를 참조하여 아래에 설명된 바와 같이, 영화에 관한 정보 검색 및/또는 추가 표시자 보기를 포함하는 가용 액션을 기술할 수 있다. 모바일 컴퓨팅 디바이스(800)는 표시자(804)로 향하는 사용자 입력에 응답하여 디스플레이하기 위한 추가 표시자를 제공하도록 구성될 수 있다. 따라서, 일부 구현예에서, 모바일 컴퓨팅 디바이스(800)는 액션이 사용 가능함을 보여주는 표시자(804)를 제공하도록 구성될 수 있다. 그 다음 사용자는 도 8b를 참조하여 아래에 기술될 바와 같이 추가 표시자를 볼지 여부를 결정할 수 있다.
도 8b는 추가 표시자(850, 852, 854)가 사용자 인터페이스(806)에 디스플레이되는 제2 상태의 도 8a의 예시적인 모바일 컴퓨팅 디바이스(800)를 도시한다. 추가 표시자(850, 852, 854)는 영화 티켓 구매와 같은 영화와 연관된 가용 액션일 수 있다. 추가 표시자(850, 852, 854)는 패널(856)에 디스플레이될 수 있다. 영화관 이름과 같은 가용 액션의 공통 구성이 패널(856)에 디스플레이될 수 있다. 추가 표시자(850, 852, 854)는 영화와 관련하여 가용 액션을 기술할 수 있다. 제1 표시자(850)는 영화관으로의 내비게이션을 포함하는 가용 액션을 기술할 수 있다. 제2 표시자(852)는 영화관에서 영화의 상영 시간을 보는 것을 포함하는 가용 액션을 기술할 수 있다. 제3 표시자(854)는 (예를 들어, 사용자 인터페이스(806)에서 보고 있는 영화의 일부에 대해 나열된 영화관에서) 영화 티켓 구매를 포함하는 가용 액션을 기술할 수 있다. 모바일 컴퓨팅 디바이스(800)는 예를 들어 도 7b를 참조하여 위에서 설명한 바와 같이 북마크 아이콘(858)을 디스플레이할 수 있다.
도 9a는 본 개시의 양태에 따라 비디오(902) 및 표시자(904)가 사용자 인터페이스에 디스플레이되는 제1 상태의 예시적인 모바일 컴퓨팅 디바이스(900)를 도시한다. 모바일 컴퓨팅 디바이스(900)는 인식 모델에 모델 입력을 입력할 수 있다. 예를 들어 도 2a를 참조하여 전술한 바와 같이, 모델 입력은 비디오(902)의 하나 이상의 프레임 및/또는 비디오(902)로부터의 오디오의 일부를 포함할 수 있다. 인식 모델은 하나 이상의 시맨틱 엔터티를 기술하는 모델 출력을 출력할 수 있다. 예를 들어, 시맨틱 엔터티는 비디오에서 발화된 단어 또는 비디오에서 재생되는 노래로부터의 단어를 포함할 수 있다. 일부 구현예에서, 인식 모델은 비디오에서 재생되는 노래의 제목을 식별하도록 구성될 수 있다.
표시자(904)는 비디오에서 재생되었던 노래를 듣는 것을 포함하는 가용 액션을 기술할 수 있다. 예를 들어, 표시자(904)는 음악 재생 애플리케이션의 로고를 포함할 수 있다. 모바일 컴퓨팅 디바이스(900)는 표시자(904)로 향하는 사용자 터치 액션에 응답하여 음악 재생 애플리케이션을 사용하여 노래를 재생하도록 구성될 수 있다. 모바일 컴퓨팅 디바이스(900)는 또한 예를 들어 도 9b를 참조하여 아래에서 설명되는 바와 같이 이러한 사용자 입력에 응답하여 디스플레이하기 위한 추가 표시자를 제공하도록 구성될 수 있다.
도 9b는 도 9a의 표시자(904)와 연관된 가용 액션이 수행되고 있는 제2 상태에 있는 도 9a의 예시적인 모바일 컴퓨팅 디바이스(900)를 도시한다. 보다 구체적으로 음악 재생 애플리케이션은 비디오에서 식별된 노래를 재생할 수 있다. 패널(952)이 디스플레이될 수 있으며, 요청된 액션(예: 노래 재생)을 수행하는 애플리케이션은 액션에 대한 정보(예: 노래 제목, 노래가 표시된 앨범의 앨범 표지)를 디스플레이하고 및/또는 사용자가 요청된 액션을 제어하게 하기 위한 제어(953)를 제공할 수 있다.
추가 표시자(956, 958)가 디스플레이될 수 있다(예를 들어, 패널(952)에서). 추가 표시자(956, 958)는 노래와 관련하여 추가 가용 액션을 기술할 수 있다. 예를 들어, 추가 표시자(956, 958)는 하나 이상의 추가 음악 재생 또는 스트리밍 애플리케이션에서 노래를 듣는 것을 기술할 수 있다. 모바일 컴퓨팅 디바이스(900)는 예를 들어 도 7b를 참조하여 위에서 설명한 바와 같이 북마크 아이콘(960)을 디스플레이할 수 있다.
도 10a는 본 개시의 양태에 따라 모바일 컴퓨팅 디바이스(1000)의 사용자 인터페이스(1002)에 텍스트가 디스플레이되는 예시적인 모바일 컴퓨팅 디바이스(1000)를 도시한다. 더 구체적으로, 영화를 리뷰하는 기사가 사용자 인터페이스(1002)에 디스플레이된다.
도 10b는 영화 제목(1020)이 텍스트에서 하이라이팅되는 제2 상태의 도 10a의 예시적인 모바일 컴퓨팅 디바이스(1000)를 도시한다. 본 개시의 양태에 따라 영화 제목(1020)에 대해 가용 액션을 기술하는 표시자(1022, 1024, 1026)가 디스플레이된다. 보다 구체적으로, 모바일 컴퓨팅 디바이스(1000)는 사용자가 영화 제목(1020)을 하이라이팅하는 것에 응답하여 표시자(1022, 1024, 1026)를 디스플레이하도록 구성될 수 있다. 일부 구현예에서, 모바일 컴퓨팅 디바이스(1000)는 사용자가 영화 제목(1020)을 하이라이팅하는 것에 응답하여, 예를 들어 도 2a를 참조하여 설명된 바와 같이 인식 모델에 모델 입력을 입력하도록 구성될 수 있다.
모바일 컴퓨팅 디바이스(1000)는 사용자 인터페이스(1002)에 디스플레이된 텍스트의 일부 또는 전부를 포함하는 인식 모델에 모델 입력을 입력하도록 구성될 수 있다. 예를 들어, 모델 입력은 영화 제목(1020) 및/또는 사용자 인터페이스(1002)에 디스플레이된 추가 텍스트 및/또는 이미지를 포함할 수 있다. 인식 모델은 모델 입력에 의해 기술된 하나 이상의 시맨틱 엔터티를 기술하는 모델 출력을 출력할 수 있다. 예를 들어, 시맨틱 엔터티는 영화의 제목 및/또는 시맨틱 입력의 유형 또는 카테고리를 포함할 수 있다(예를 들어, 모델 출력은 모델 입력이 영화 제목을 포함한다는 것을 기술하거나 인식할 수 있다).
모바일 컴퓨팅 디바이스(1000)는 시맨틱 엔터티를 기술하는 데이터를 하나 이상의 컴퓨터 애플리케이션에 제공하도록 구성될 수 있다. 이 예에서, 데이터는 영화 제목 및/또는 시맨틱 엔터티의 유형 또는 카테고리(예를 들어, 영화 제목)를 포함할 수 있다. 모바일 컴퓨팅 디바이스(1000)는 영화 티켓 구매 애플리케이션, 영화 리뷰 애플리케이션 및/또는 검색 애플리케이션을 포함하는 하나 이상의 컴퓨터 애플리케이션에 데이터를 제공할 수 있다. 모바일 컴퓨팅 디바이스(1000)는 사전 정의된 API 또는 다른 프로토콜(들)에 따라 데이터를 제공할 수 있다.
모바일 컴퓨팅 디바이스(1000)는 시맨틱 엔터티를 기술하는 데이터를 컴퓨터 애플리케이션에 제공하는 것에 응답하여 컴퓨팅 애플리케이션으로부터 각각 애플리케이션 출력을 수신하도록 구성될 수 있다. 컴퓨터 애플리케이션은 (예: 미리 정의된 API에 의해 특정된) 규칙 또는 프로토콜에 따라 애플리케이션 출력(들)에 관한 컴퓨팅 시스템을 포맷, 전송 및/또는 경고할 수 있다). 각 컴퓨터 애플리케이션으로부터 수신된 애플리케이션 출력은 시맨틱 엔터티 또는 엔터티들과 관련하여 대응하는 컴퓨터 애플리케이션의 하나 이상의 가용 액션을 기술할 수 있다. 이 예에서, 애플리케이션 출력은 영화 티켓 구매 애플리케이션, 영화 리뷰 애플리케이션 및/또는 검색 애플리케이션으로부터의 출력을 포함할 수 있다. 애플리케이션 출력은 영화와 관련하여 각 컴퓨터 애플리케이션에서 수행될 수 있는 가용 액션을 기술할 수 있다.
모바일 컴퓨팅 디바이스(1000)는 사용자 인터페이스(1002)에 표시자(1022, 1024, 1026)를 디스플레이할 수 있다. 표시자(1022, 1024, 1026)는 영화 티켓 구매 애플리케이션을 사용하여 영화 티켓을 구매하는 것, 영화 리뷰 애플리케이션을 사용하여 영화 리뷰를 보는 것 및/또는 검색 애플리케이션을 사용하여 웹 검색을 수행하는 것을 포함할 수 있는 가용 액션을 기술할 수 있다. 표시자(1022, 1024, 1026)는 사용자 인터페이스의 패널(1028)에 디스플레이될 수 있다. 예를 들어, 도 7b를 참조하여 전술한 바와 같이, 나중을 위한 표시자(1022, 1024, 1026)를 저장하도록 구성된 북마크 아이콘(1030)이 패널(1028)에 디스플레이될 수 있다.
도 10c는 본 개시의 양태에 따라 영화 제목과 관련한 가용 액션을 기술하는 추가 표시자(1044, 1046)가 디스플레이되는 제3 상태의 도 10a의 예시적인 모바일 컴퓨팅 디바이스(1000)를 도시한다. 모바일 컴퓨팅 디바이스(1000)는 도 10b의 표시자(1022, 1024, 1026) 중 하나 이상으로 향하는 사용자 입력을 검출하는 것에 응답하여, 추가 표시자(1044, 1046)를 디스플레이하도록 구성될 수 있다. 추가 표시자(1044, 1046)는 사용자 인터페이스(1002)의 하부 영역에 디스플레이될 수 있는 패널(1048)(예를 들어, 하프 패널)에 디스플레이될 수 있다. 추가 표시자(1044, 1046)는 (예를 들어, 특정 시간 및/또는 특정 극장에서) 영화 티켓 구매의 가용 액션을 기술할 수 있다.
도 11a는 본 개시의 양태에 따라 텍스트(1102)가 하이라이팅되고, 표시자(1104, 1106, 1108)가 모바일 컴퓨팅 디바이스(1100)의 사용자 인터페이스(1110)(예: 사용자 인터페이스(1110)에 디스플레이된 패널 또는 타일(1112))에 디스플레이되는 제1 상태의 예시적인 모바일 컴퓨팅 디바이스(1100)를 도시한다. 이 예에서, 사용자는 "Oculus Rift"라는 제품 이름을 하이라이팅했다. 하나의 표시자(1104)는 쇼핑 애플리케이션인 Amazon으로부터의 가용 액션을 기술한다. 다른 표시자(1106)는 검색 애플리케이션으로부터 가용 액션을 기술한다. 또 다른 표시자(1108)는 Oculus Rift에 대한 추가 정보를 포함하는 Wikipedia의 웹 페이지 보기를 포함하는 가용 액션을 기술한다. 예를 들어, 도 7b를 참조하여 전술한 바와 같이, 나중을 위한 표시자(1104, 1106, 1108)를 저장하도록 구성된 북마크 아이콘(1114)이 패널(1112)에 디스플레이될 수 있다.
도 11b는 본 개시의 양태에 따라 선택된 액션에 대한 정보가 디스플레이되는 제2 상태에 있는 도 11a의 예시적인 모바일 컴퓨팅 디바이스(1100)를 도시한다. 보다 구체적으로, 쇼핑 애플리케이션으로부터 가용 액션을 기술하는 표시자(1104)로 향하는 사용자 입력에 응답하여, 모바일 컴퓨팅 디바이스(1100)는 선택된 가용 액션에 대한 추가 정보를 제공하는 표시자(1152)를 디스플레이할 수 있다. 이 예에서, 표시자(1152)는 구매 가격 및 배송 옵션과 같은 하이라이팅된 제품(1102)에 대한 정보를 포함할 수 있다. 모바일 컴퓨팅 디바이스(1100)는 표시자(1152)로 향하는 사용자 입력 액션에 응답하여 제품을 구매하도록 구성될 수 있다.
도 12a는 본 개시의 양태에 따라 모바일 컴퓨팅 디바이스(1200)의 사용자 인터페이스(1202)에 텍스트가 디스플레이되는 예시적인 모바일 컴퓨팅 디바이스(1200)를 도시한다. 보다 구체적으로, 기사가 사용자 인터페이스(1200)에 디스플레이될 수 있다.
모바일 컴퓨팅 디바이스(1200)는 예를 들어 도 2a를 참조하여 전술한 바와 같이, 사용자 인터페이스(1202)에 디스플레이된 기사의 텍스트의 일부 또는 전부를 포함하는 모델 입력을 인식 모델에 입력하도록 구성될 수 있다. 인식 모델은 모델 입력에 의해 기술된 하나 이상의 시맨틱 엔터티를 기술하는 모델 출력을 출력할 수 있다. 예를 들어, 시맨틱 엔터티는 제품 이름, 기술, 역사적 인물 및/또는 기사에 언급된 기타 관심 엔터티를 포함할 수 있다. 이 예에서, 모델 출력은 Oculus Rift 및 HTC Vibe와 같은 제품 이름을 포함할 수 있다. 모델 출력은 가상 현실(VR)과 같은 기술의 이름을 포함할 수 있다.
모바일 컴퓨팅 디바이스(1200)는 시맨틱 엔터티들을 기술하는 데이터를 하나 이상의 컴퓨터 애플리케이션에 제공하도록 구성될 수 있다. 이 예에서, 데이터는 기사에 언급된 제품 및/또는 기술의 이름을 포함할 수 있다. 모바일 컴퓨팅 디바이스(1200)는 예를 들어 쇼핑 애플리케이션 및/또는 다른 적절한 컴퓨터 애플리케이션을 포함하는 하나 이상의 컴퓨터 애플리케이션에 데이터를 제공할 수 있다. 모바일 컴퓨팅 디바이스(1200)는 사전 정의된 API 또는 다른 프로토콜(들)에 따라 데이터를 제공할 수 있다.
모바일 컴퓨팅 디바이스(1200)는 시맨틱 엔터티를 기술하는 데이터를 컴퓨터 애플리케이션에 제공하는 것에 응답하여 컴퓨팅 애플리케이션으로부터 각각 애플리케이션 출력을 수신하도록 구성될 수 있다. 컴퓨터 애플리케이션은 (예: 미리 정의된 API에 의해 특정된) 규칙 또는 프로토콜에 따라 애플리케이션 출력(들)에 관한 컴퓨팅 시스템을 포맷, 전송 및/또는 경고할 수 있다). 각 컴퓨터 애플리케이션으로부터 수신된 애플리케이션 출력(들)은 시맨틱 엔터티 또는 엔터티들과 관련하여 대응하는 컴퓨터 애플리케이션의 하나 이상의 가용 액션을 기술할 수 있다. 이 예에서, 애플리케이션 출력은 쇼핑 애플리케이션으로부터의 출력을 포함할 수 있다.
도 12b는 본 개시의 양태에 따라 텍스트의 부분과 관련한 가용 액션을 기술하는 표시자(1222, 1224, 1226)가 디스플레이되는 제2 상태에 있는 도 12a의 예시적인 모바일 컴퓨팅 디바이스(1200)를 도시한다. 보다 구체적으로, 이 예에서, 표시자(1222, 1224, 1226)는 아웃 라인, 하이라이트, 또는 달리 변경된 외양(예를 들어, 글꼴, 크기, 색상 등)으로 디스플레이되는 각각의 시맨틱 엔터티를 포함할 수 있다. 표시자(122, 1224, 1226)는 시맨틱 엔터티에 대해 액션이 사용 가능하다는 것을 사용자에게 알릴 수 있다.
도 12c는 본 개시의 양태에 따라 도 12a의 선택된 표시자에 관한 추가 정보가 디스플레이되고 추가적 가용 액션을 기술하는 추가 표시자가 디스플레이되는 제3 상태의 도 12a의 예시적인 모바일 컴퓨팅 디바이스(1200)를 도시한다. 보다 구체적으로, "Oculus Rift"라는 텍스트를 포함하는 표시자(1224)로 향하는 사용자 터치 액션에 응답하여, 모바일 컴퓨팅 디바이스(1200)는 표시자(1224)에 의해 기술된 가용 액션에 대한 추가 정보(1242)를 디스플레이하도록 구성될 수 있다. 이 예에서, 추가 정보(1242)는 쇼핑 애플리케이션으로 Oculus Rift 시스템을 구매하는 것과 관련된 가격, 배송 옵션 등을 포함할 수 있다.
모바일 컴퓨팅 디바이스(1200)는 또한 추가 가용 액션을 기술하는 추가 표시자(1244, 1246)를 디스플레이할 수 있다. 이 예에서, 하나의 추가 표시자(1244)는 시맨틱 엔터티 "Oculus Rift"에 대해 웹 검색을 수행하는 것을 기술한다. 다른 추가 표시자(1246)는 시맨틱 엔터티에 대한 추가 정보를 제공하는 웹 페이지(예를 들어, Wikipedia에서) 보기를 포함하는 가용 액션을 기술한다.
도 13a는 본 개시의 양태에 따른 전화 통화 동안 오디오를 프로세싱하는 예시적 모바일 컴퓨팅 디바이스(1300)를 도시한다. 모바일 컴퓨팅 디바이스(1300)는 전화 통화 동안 프로세싱된 오디오의 일부 또는 전부를 포함하는 기계 학습 모델(예를 들어, 도 2a를 참조하여 전술한 인식 모델)에 모델 입력을 입력하도록 구성될 수 있다. 중요하게는, 본 명세서에 기술된 시스템, 프로그램 또는 기능이 이러한 정보 수집을 가능하게 할 수 있는지 여부와 그 시기 모두에 대해 사용자가 선택할 수 있는 제어가 사용자에게 제공될 수 있다.
도 13b는 본 개시의 양태에 따라 전화 통화의 오디오에서 인식되거나 식별된 시맨틱 엔터티들에 대해 가용 액션을 기술하는 표시자(1302)가 사용자 인터페이스(1304)에 디스플레이되는 제2 상태의 도 13a의 예시적인 모바일 컴퓨팅 디바이스(1300)를 도시한다. 예를 들어, 사용자가 "오후 7시에 툴 룰라의 저녁 식사"를 언급하면, 모바일 컴퓨팅 디바이스(1300)는 전화 통화에서 언급된 레스토랑에서 저녁 식사를 하는 것과 관련된 하나 이상의 표시자(들)를 제공할 수 있다.
모바일 컴퓨팅 디바이스(1300)는 시맨틱 엔터티를 기술하는 데이터를 하나 이상의 컴퓨터 애플리케이션에 제공하도록 구성될 수 있다. 이 예에서 데이터는 모델 출력에 의해 기술되고 전화 통화의 오디오에서 인식되는 하나 이상의 시맨틱 엔터티를 포함할 수 있다. 모바일 컴퓨팅 디바이스(1300)는 캘린더 애플리케이션, 레스토랑 예약 애플리케이션 및/또는 추가 애플리케이션(예: 검색 애플리케이션, 내비게이션 애플리케이션, 영화 시간을 보기 위한 애플리케이션 및/또는 영화 티켓 구매를 위한 애플리케이션)을 포함하는 여러 컴퓨터 애플리케이션에 데이터를 제공할 수 있다. 모바일 컴퓨팅 디바이스(1300)는 사전 정의된 API 또는 다른 프로토콜(들)에 따라 데이터를 제공할 수 있다.
중요하게는, 본 명세서에 기술된 시스템, 프로그램 또는 기능이 사용자 정보 수집을 가능하게 할 수 있는지 여부와 그 시기 모두에 대해 사용자가 선택할 수 있는 제어가 사용자에게 제공될 수 있다. 추가적으로, 일부 구현예에서, 잠재적으로 민감한 또는 개인 정보는 디바이스 상에 남아 있을 수 있고 및/또는 그러한 정보가 디바이스(1300)로부터(예를 들어, 프로세싱을 위해 서버 컴퓨팅 시스템으로) 전송될 때 사용자에게 통지 또는 신호가 제공될 수 있다.
모바일 컴퓨팅 디바이스(1300)는 시맨틱 엔터티를 기술하는 데이터를 컴퓨터 애플리케이션에 제공하는 것에 응답하여 컴퓨팅 애플리케이션(들)으로부터 각각 애플리케이션 출력을 수신하도록 구성될 수 있다. 컴퓨터 애플리케이션은 (예: 미리 정의된 API에 의해 특정된) 규칙 또는 프로토콜에 따라 애플리케이션 출력(들)에 관한 컴퓨팅 시스템을 포맷, 전송 및/또는 경고할 수 있다). 각 컴퓨터 애플리케이션으로부터 수신된 애플리케이션 출력은 시맨틱 엔터티 또는 엔터티들과 관련하여 대응하는 컴퓨터 애플리케이션의 하나 이상의 가용 액션을 기술할 수 있다. 애플리케이션 출력은 수행될 수 있는 가용 액션을 기술할 수 있다. 이 예에서, 애플리케이션 출력(들)은 캘린더 애플리케이션, 레스토랑 예약 애플리케이션 및/또는 다른 컴퓨터 애플리케이션으로부터의 출력을 포함할 수 있다.
모바일 컴퓨팅 디바이스(1300)는 사용자 인터페이스(1304)에 표시자(1302)를 디스플레이하도록 구성될 수 있다. 이 예에서, 표시자(1302)는 전화 대화의 오디오에서 언급된 이벤트에 대응하는 캘린더 이벤트를 생성하는 것을 포함하는 가용 액션을 기술할 수 있다.
도 13c는 선택된 가용 액션에 대한 정보(1306)가 디스플레이되는 제3 상태에 있는 도 13a의 예시적 모바일 컴퓨팅 디바이스(1300)를 도시한다. 보다 구체적으로, 표시자(1302)로 향하는 사용자 입력 액션에 응답하여, 모바일 컴퓨팅 디바이스(1300)는 가용 액션(들)에 대한 정보(1306)를 디스플레이하도록 구성될 수 있다. 이 예에서, 정보(1306)는 사용자가 확인할 수 있는 제안된 캘린더 이벤트를 포함할 수 있다(예를 들어, "이벤트 추가"(1307)에 대한 사용자 입력을 수행함으로써).
모바일 컴퓨팅 디바이스(1300)는 본 개시의 양태에 따라 전화 통화의 오디오로부터 검출된 시맨틱 엔터티들에 대해 추가적 가용 액션을 기술하는 추가 표시자(1308, 1310, 1312)를 디스플레이할 수 있다. 이 예에서, 추가 표시자(1308, 1310, 1312)는 각 컴퓨터 애플리케이션을 사용하여 전화 통화에서 언급된 레스토랑으로 내비게이션, 전화에서 언급된 레스토랑에 예약하기, 레스토랑 시간 보기 등을 포함하는 가용 액션을 기술할 수 있다.
도 14a는 본 개시의 양태에 따라 모바일 컴퓨팅 디바이스(1400)의 카메라로부터의 이미지가 모바일 컴퓨팅 디바이스(1400)의 사용자 인터페이스(1402)에 디스플레이되는 카메라 모드의 예시적 모바일 컴퓨팅 디바이스(1400)를 도시한다. 모바일 컴퓨팅 디바이스(1400)는 사용자 인터페이스(1402)에 도시된 하나 이상의 엔터티를 인식할 수 있다(예를 들어, 도 2a를 참조하여 전술한 바와 같은 기계 학습 모델을 사용함). 모바일 컴퓨팅 디바이스(1400)는 예를 들어, 도 4 내지 13c를 참조하여 상기 기술된 바와 같이, 하나 이상의 시맨틱 엔터티를 기술하는 데이터를 하나 이상의 컴퓨터 애플리케이션에 제공하고 및/또는 컴퓨터 애플리케이션(들)으로부터 애플리케이션 출력(들)을 수신하도록 구성될 수 있다.
도 14b는 도 14a의 사용자 인터페이스에 도시된 엔터티에 대한 추가 정보(1422)가 디스플레이되는 제2 상태에 있는 도 14a의 예시적인 모바일 컴퓨팅 디바이스(1400)를 도시한다. 예를 들어, 모바일 컴퓨팅 디바이스(1400)는 도 14a의 표시자(1404)로 향하는 사용자 입력에 응답하여 가용 액션(들)에 대한 정보(1422)를 제공하도록 구성될 수 있다. 이 예에서, 정보(1422)는 랜드마크의 이름, 랜드마크의 설명 및/또는 지도 상의 랜드마크의 위치를 포함할 수 있다. 정보는 내비게이션 애플리케이션에 의해 제공될 수 있다. 모바일 컴퓨팅 디바이스(1400)는 내비게이션 앱에 의해 수행될 수 있는 추가 액션을 기술하는 추가 표시자(1424, 1426, 1428)를 제공하도록 구성될 수 있다. 이 예에서, 추가 표시자(1424, 1426, 1428)는 내비게이션 애플리케이션으로 수행될 수 있는 추가 액션을 기술할 수 있다. 모바일 컴퓨팅 디바이스(1400)는 또한 검색 애플리케이션 및/또는 예약 애플리케이션과 같은 다른 애플리케이션에 의해 수행될 수 있는 가용 액션을 기술하는 추가 표시자(1430, 1432, 1423)를 제공하도록 구성될 수 있다. 정보(1422) 및/또는 표시자(1424, 1426, 1428, 1430, 1432, 1434)는 사용자 인터페이스(1402)의 패널(1436)(예를 들어, 하프-쉘프) 내에 디스플레이될 수 있다.
도 14c는 본 개시의 양태에 따라 카메라로부터의 이미지에 도시된 랜드마크에 관한 추가 가용 액션을 기술하는 표시자가 디스플레이되는 제3 상태의 도 14a의 예시적인 모바일 컴퓨팅 디바이스(1400)를 도시한다. 보다 구체적으로, 일부 구현예에서, 모바일 컴퓨팅 디바이스(1400)는 도 14b에 디스플레이된 것들에 대한 추가 정보 및/또는 가용 액션을 요청하는 사용자 입력 액션에 응답하여, 더 큰 패널 또는 쉘프(1438)를 디스플레이하도록 구성될 수 있다. 예를 들어, 사용자는 더 큰 패널(1438)이 디스플레이되도록 요청하기 위해 도 14a의 패널(1436)을 위로 스와이프하거나 드래그할 수 있다. 더 큰 패널(1438)은 (예를 들어, 다른 컴퓨터 애플리케이션으로부터의) 추가 정보(1450, 1460) 및/또는 (예를 들어, 다른 컴퓨터 애플리케이션으로부터의) 추가 가용 액션(들)을 기술하는 추가 표시자(1452, 1456, 1458, 1464)를 포함할 수 있다. 예를 들어, 추가 표시자(1464)는 도 14a 및 14b의 사용자 인터페이스(1402)에 도시된 랜드마크에서 투어 또는 다른 이벤트에 대한 티켓 구매를 포함할 수 있다.
도 15a는 본 개시의 양태에 따라 모바일 컴퓨팅 디바이스의 사용자 인터페이스(1502)에 텍스트가 디스플레이되는 예시적인 모바일 컴퓨팅 디바이스(1500)를 도시한다. 텍스트는 한 언어로된 기사를 포함할 수 있다. 모바일 컴퓨팅 디바이스(1500)는 텍스트의 일부 또는 전부를 다른 언어로 번역하는 것을 포함하는 가용 액션을 기술하는 표시자(1504)를 디스플레이하도록 구성될 수 있다.
도 15b는 본 개시의 양태에 따른 텍스트의 부분들에 관한 가용 액션을 기술하는 표시자가 디스플레이되는 제2 상태의 도 15a의 예시적인 모바일 컴퓨팅 디바이스(1500)를 도시한다. 모바일 컴퓨팅 디바이스(1500)는 기사의 텍스트의 일부 또는 전부를 번역하는 것을 포함하는 가용 액션을 기술하는 표시자(1506, 1508, 1510)를 제공하도록 구성될 수 있다. 예를 들어, 모바일 컴퓨팅 디바이스(1500)는 사용자가 텍스트의 일부를 하이라이팅하는 것에 응답하여 표시자(1506, 1508, 1510)를 제공하도록 구성될 수 있다.
도 15c는 요청된 액션이 수행되는 제3 상태에 있는 도 15a의 예시적인 모바일 컴퓨팅 디바이스(1500)를 도시한다. 예를 들어, 번역은 패널 또는 쉘프(1542)에 디스플레이될 수 있다.
도 16a는 본 개시의 양태에 따라 발화된 스페인어의 주변 오디오가 검출되고, 발화된 스페인어를 영어로 번역하는 것을 포함하는 가용 액션을 기술하는 표시자(1602)가 모바일 컴퓨팅 디바이스(1600)의 잠금 화면(1604)에 디스플레이되는 제1 상태의 예시적인 모바일 컴퓨팅 디바이스(1600)를 도시한다. 모바일 컴퓨팅 디바이스(1600)는 도 2a를 참조하여 기술된 바와 같이, 마이크로폰으로 오디오를 검출하고, 인식 기계 학습에 오디오의 녹음을 포함하는 모델 입력을 입력할 수 있다.
도 16b는 오디오에서 언급된 번역 및/또는 엔터티에 대해 가용 액션을 기술하는 표시자(1622, 1624, 1626)가 디스플레이되는 제2 상태의 도 16a의 예시적인 모바일 컴퓨팅 디바이스(1600)를 도시한다. 예를 들어, 하나의 표시자(1622)는 번역 애플리케이션으로부터 발화된 스페인어의 번역을 제공할 수 있다. 또 다른 표시자(1624)는 발화된 스페인어로 언급된 위치로의 내비게이션을 포함하는 내비게이션 애플리케이션으로부터의 가용 액션을 기술할 수 있다. 제3 표시자(1626)는, 예를 들어, 발화된 스페인어에서 언급된 시간 또는 그 부근에, 예를 들어, 스페인어로 언급된 레스토랑에서 예약하는 것을 포함하는 예약 애플리케이션으로부터 가용 액션을 기술할 수 있다.
도 16c는 추가 정보(1642, 1644) 및/또는 표시자(1646, 1648)가 번역 애플리케이션으로부터 디스플레이되는 제3 상태의 도 16a의 예시적인 모바일 컴퓨팅 디바이스(1600)를 도시한다. 예를 들어, 모바일 컴퓨팅 디바이스(1600)는 도 16b의 표시자(1622)로 향하는 사용자 입력 액션에 응답하여 추가 정보(1642, 1644) 및/또는 표시자(1646, 1648)를 디스플레이하도록 구성될 수 있다.
도 17a는 본 개시의 양태에 따라 다가오는 항공편을 포함하는 캘린더 데이터에 기초하여 가용 액션을 보여주는 모바일 컴퓨팅 디바이스(1700)의 잠금 화면(1704)에 표시자(1702)가 디스플레이되는 예시적인 모바일 컴퓨팅 디바이스(1700)를 도시한다. 모바일 컴퓨팅 디바이스(1700)는 도 2a를 참조하여 상기 기술된 바와 같이, 컴퓨팅 시스템에 의해 저장된 캘린더 데이터의 일부 또는 전부를 인식 기계 학습 모델에 입력하도록 구성될 수 있다. 모바일 컴퓨팅 디바이스(1700)는 모델 입력에 의해 기술된 하나 이상의 시맨틱 엔터티를 기술하는 모델 출력을 수신하도록 구성될 수 있다. 예를 들어, 시맨틱 엔터티는 사용자가 취할 예정인 예정된 비행에 대한 정보를 포함할 수 있다.
모바일 컴퓨팅 디바이스(1700)는 시맨틱 엔터티를 기술하는 데이터를 하나 이상의 컴퓨터 애플리케이션에 제공하도록 구성될 수 있다. 이 예에서, 데이터는 목적지 공항의 공항 코드(예: "LAX"), 예정된 항공편의 날짜 및/또는 예정된 항공편의 시간을 포함할 수 있다. 모바일 컴퓨팅 디바이스(1700)는 예를 들어 항공사 애플리케이션, 숙박 애플리케이션, 엔터테인먼트 애플리케이션 및/또는 날씨 애플리케이션을 포함하는 하나 이상의 컴퓨터 애플리케이션에 데이터를 제공할 수 있다. 모바일 컴퓨팅 디바이스(1700)는 사전 정의된 API 또는 다른 프로토콜(들)에 따라 데이터를 제공할 수 있다.
모바일 컴퓨팅 디바이스(1700)는 시맨틱 엔터티를 기술하는 데이터를 컴퓨터 애플리케이션에 제공하는 것에 응답하여 컴퓨팅 애플리케이션으로부터 각각 애플리케이션 출력을 수신하도록 구성될 수 있다. 컴퓨터 애플리케이션은 (예: 미리 정의된 API에 의해 특정된) 규칙 또는 프로토콜에 따라 애플리케이션 출력(들)에 관한 컴퓨팅 시스템을 포맷, 전송 및/또는 경고할 수 있다). 각 컴퓨터 애플리케이션으로부터 수신된 애플리케이션 출력은 시맨틱 엔터티 또는 엔터티들과 관련하여 대응하는 컴퓨터 애플리케이션의 하나 이상의 가용 액션을 기술할 수 있다. 이 예에서, 애플리케이션 출력(들)은 항공사 애플리케이션, 숙박 애플리케이션, 엔터테인먼트 애플리케이션 및/또는 날씨 애플리케이션으로부터의 출력을 포함할 수 있다. 애플리케이션 출력은 예정된 항공편과 관련하여 각 컴퓨터 애플리케이션에서 수행될 수 있는 가용 액션을 기술할 수 있다. 모바일 컴퓨팅 디바이스(1700)는 사용자 인터페이스(1704)에 표시자(1702)를 디스플레이할 수 있다. 표시자(1702)는 다가오는 비행과 관련하여 하나 이상의 컴퓨터 애플리케이션으로부터 액션이 사용 가능하다는 것을 사용자에게 알릴 수 있다.
도 17b는 본 개시의 양태에 따라 캘린더 데이터에 관한 추가 가용 액션을 기술하는 표시자(1742, 1744, 1746, 1748)가 디스플레이되는 제2 상태의 도 17a의 예시적인 모바일 컴퓨팅 디바이스(1700)를 도시한다. 예를 들어, 다가오는 항공편(예를 들어, 비행 시간, 탑승권 등)과 연관된 정보 및/또는 문서를 보는 것을 포함하는 가용 액션을 기술하는 표시자(1742) 중 하나가 디스플레이될 수 있다. 다른 표시자(1744)는 다가오는 항공편의 목적지 도시에서 숙박 시설을 보거나 예약하는 것을 포함하는 가용 액션을 기술할 수 있다. 다른 표시자(1746)는 비행 중에 시청하기 위해 엔터테인먼트 콘텐츠(예를 들어, 영화, 팟캐스트 등)를 다운로드하는 것을 포함하는 가용 액션을 기술할 수 있다. 다른 표시자(1748)는 목적지 도시 및/또는 사용자가 목적지 도시에 있을 날짜에 관한 일기 예보 정보를 제공할 수 있다.
도 18a는 표시자(1802)가 사용자 인터페이스(1800)에 디스플레이되는 잠금 화면(1804)에 디스플레이되는 예시적인 모바일 컴퓨팅 디바이스의 사용자 인터페이스(1800)를 도시한다. 표시자(1802)는 본 개시의 양태에 따라 모바일 컴퓨팅 디바이스의 위치에 기초한 가용 액션을 기술할 수 있다. 보다 구체적으로, 모바일 컴퓨팅 디바이스는 예를 들어 과거 사용자 인터렉션 또는 학습된 선호도에 기초하여 인근 레스토랑 또는 다른 관심 지점을 식별하기 위해 모바일 컴퓨팅 디바이스의 위치를 사용할 수 있다. 사용자가 이전에 특정 레스토랑 또는 관심 지점에 대한 관심을 표명한 경우(예: 문자 메시지, 레스토랑에 대한 기사 보기, 레스토랑에서 음식 주문, 레스토랑에서 식사 등), 모바일 컴퓨팅 디바이스(예를 들어, 인공 지능 시스템)은 모바일 컴퓨팅 디바이스가 근처에 있을 때 레스토랑 또는 관심 지점을 식별할 수 있다.
도 18b는 도 18a의 표시자(1802)에 의해 기술된 레스토랑에 대해 가용 액션을 기술하는 표시자(1852, 1854)가 디스플레이되는 도 18a의 사용자 인터페이스(1800)를 도시한다. 예를 들어, 모바일 컴퓨팅 디바이스는 도 18a의 표시자(1802)로 향하는 사용자 입력 액션을 검출하는 것에 응답하여, 표시자(1852, 1854)를 디스플레이하도록 구성될 수 있다. 하나의 표시자(1852)는 레스토랑에서 배달할 음식을 주문하는 것을 포함하는 가용 액션을 기술할 수 있다. 또 다른 표시자(1854)는 레스토랑과 관련하여 소셜 미디어를 보는 것을 포함하는 가용 액션을 기술할 수 있다.
일부 구현예에서, 표시자는 레스토랑 또는 관심 지점의 휠체어 접근 가능 입구 및/또는 출구로의 내비게이션을 포함하는 가용 액션일 수 있다. 예를 들어, 표시자는 사용자에게 내비게이션 애플리케이션이 휠체어에 적합한 경로와 같이 적절하게 접근 가능한 경로를 따라 사용자를 입구/출구로 이동하기 위해 사용가능함을 알릴 수 있다.
추가 개시
본 명세서에 논의된 기술은 서버, 데이터베이스, 소프트웨어 애플리케이션들 및 다른 컴퓨터 기반 시스템들 뿐만 아니라 취해진 액션들 및 상기 시스템으로 전송되거나 그로부터 전송된 정보를 참조할 수 있다. 컴퓨터 기반 시스템들의 내재적 유연성은 광범위한 가능한 구성들, 조합들 및 작업의 분할 및 컴포넌트들 간의 및 그로부터의 기능성을 허용함을 인식할 것이다. 예를 들어, 본 명세서에서 논의된 프로세스들은 단일의 디바이스 또는 컴포넌트 또는 조합으로 작동하는 다수의 디바이스들 또는 컴포넌트들을 사용하여 구현될 수 있다. 데이터베이스 및 애플리케이션들은 단일 시스템 또는 다수의 시스템들에 걸처 분산된 시스템에서 구현될 수 있다. 분산 컴포넌트들은 순차적으로 또는 병렬로 동작할 수 있다.
본 발명의 주제가 그 다양한 특정 예시적 실시예와 관련하여 상세히 설명되었지만, 각 예시는 본 발명의 설명을 위한 것이지 본 발명의 한정을 위한 것은 아니다. 통상의 기술자는 전술한 내용을 이해할 때 상기 실시예에 대한 변형, 변형 및 균등물을 용이하게 생성할 수 있다. 따라서, 본 발명은 통상의 기술자에게 쉽게 명백해질 수 있는 상기 수정, 변형 및/또는 본 발명에 대한 추가의 포함을 배제하지 않는다. 예를 들어, 일 실시예의 일부로서 도시되거나 기술된 구성들은 여전히 추가적 실시예를 만들어내기 위해 다른 실시예와 함께 사용될 수 있다. 따라서, 본 발명은 상기 수정들 및 변형들을 커버하도록 의도되었다.

Claims (20)

  1. 컴퓨팅 시스템으로서,
    적어도 하나의 프로세서;
    컨텍스트 데이터를 포함하는 모델 입력을 수신하고, 상기 모델 입력의 수신에 응답하여, 상기 컨텍스트 데이터에 의해 참조되는 하나 이상의 시맨틱 엔터티를 기술하는 모델 출력을 출력하도록 구성된 기계 학습 모델;
    하나 이상의 컴퓨터 애플리케이션; 및
    명령어를 저장하는 적어도 하나의 유형적, 비일시적 컴퓨터 판독가능 매체를 포함하며, 상기 명령어는 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금 동작들을 수행하게 하며, 상기 동작들은:
    상기 모델 입력을 상기 기계 학습 모델에 입력하는 동작;
    상기 컨텍스트 데이터에 의해 참조되는 하나 이상의 시맨틱 엔터티를 기술하는 상기 모델 출력을 상기 기계 학습 모델의 출력으로서 수신하는 동작;
    상기 하나 이상의 시맨틱 엔터티를 기술하는 데이터를 상기 하나 이상의 컴퓨터 애플리케이션에 제공하는 동작;
    상기 하나 이상의 시맨틱 엔터티를 기술하는 데이터를 상기 하나 이상의 컴퓨터 애플리케이션에 제공하는 것에 응답하여, 상기 하나 이상의 컴퓨팅 애플리케이션으로부터 각각 하나 이상의 애플리케이션 출력을 수신하는 동작, 각각의 컴퓨터 애플리케이션으로부터 수신된 애플리케이션 출력은 상기 하나 이상의 시맨틱 엔터티에 대한 대응하는 컴퓨터 애플리케이션의 하나 이상의 가용 액션을 기술하며; 및
    상기 컴퓨팅 시스템의 사용자에게 적어도 하나의 표시자를 제공하는 동작을 포함하며, 상기 적어도 하나의 표시자는 상기 하나 이상의 시맨틱 엔터티에 대한 대응하는 컴퓨터 애플리케이션의 하나 이상의 가용 액션 중 적어도 하나를 기술하는, 컴퓨팅 시스템.
  2. 청구항 1에 있어서, 상기 컨텍스트 데이터는 사용자 인터페이스에 디스플레이된 정보, 상기 컴퓨팅 시스템에 의해 재생되는 오디오 또는 상기 컴퓨팅 시스템에 의해 검출된 주변 오디오 중 적어도 하나를 포함하는, 컴퓨팅 시스템.
  3. 임의의 선행하는 청구항에 있어서, 상기 컨텍스트 데이터는 캘린더 데이터 또는 상기 컴퓨팅 시스템의 모바일 컴퓨팅 디바이스의 위치 중 적어도 하나를 포함하는, 컴퓨팅 시스템.
  4. 임의의 선행하는 청구항에 있어서, 상기 컴퓨팅 시스템은 상기 기계 학습 모델을 포함하고, 상기 동작들을 수행하는 인공 지능 시스템을 포함하고, 상기 인공 지능 시스템은 상기 하나 이상의 컴퓨터 애플리케이션과 분리되고 구별되지만 상기 하나 이상의 컴퓨터 애플리케이션과 통신할 수 있는, 컴퓨팅 시스템.
  5. 임의의 선행하는 청구항에 있어서, 상기 인공 지능 시스템은 상기 하나 이상의 시맨틱 엔터티를 기술하는 데이터를 상기 하나 이상의 컴퓨터 애플리케이션에 제공하고, 미리 정의된 애플리케이션 프로그래밍 인터페이스를 통해 상기 하나 이상의 컴퓨팅 애플리케이션으로부터 각각 하나 이상의 애플리케이션 출력을 수신하는, 컴퓨팅 시스템.
  6. 임의의 선행하는 청구항에 있어서, 상기 적어도 하나의 표시자는:
    상기 사용자 인터페이스에 제시되는 그래픽 표시자; 또는
    상기 사용자에게 재생되는 오디오 표시자를 포함하는, 컴퓨팅 시스템.
  7. 임의의 선행하는 청구항에 있어서, 상기 동작들은 그 수행을 요청하는 사용자 입력 없이 선행적으로 수행되는, 컴퓨팅 시스템.
  8. 임의의 선행하는 청구항에 있어서, 상기 적어도 하나의 표시자를 제공하는 동작은 사용자 입력에 응답하여 반응적으로 수행되는, 컴퓨팅 시스템.
  9. 임의의 선행하는 청구항에 있어서, 상기 컴퓨팅 시스템의 사용자에게 상기 적어도 하나의 표시자를 제공하는 동작은 상기 사용자 인터페이스의 운영 체제 레벨 내비게이션 바 또는 상기 사용자 인터페이스의 잠금 화면 중 적어도 하나에 상기 적어도 하나의 표시자를 디스플레이하는 동작을 포함하는, 컴퓨팅 시스템.
  10. 임의의 선행하는 청구항에 있어서, 상기 동작들은 상기 모델 출력과 복수의 애플리케이션에 관한 각각의 정보 간의 비교에 기초하여, 상기 하나 이상의 시맨틱 엔터티를 기술하는 데이터를 제공하기 위해 상기 컴퓨팅 시스템에서 동작 가능한 복수의 애플리케이션으로부터 상기 하나 이상의 컴퓨터 애플리케이션을 선택하는 동작을 더 포함하는, 컴퓨팅 시스템.
  11. 임의의 선행하는 청구항에 있어서, 하나 이상의 시맨틱 엔터티에 대한 관련성, 상기 컴퓨팅 시스템의 모바일 컴퓨팅 디바이스의 위치, 과거 사용자 인터렉션, 상기 하나 이상의 시맨틱 엔터티의 유형 또는 상기 하나 이상의 가용 액션의 유형 중 적어도 하나에 기초하여, 상기 사용자에게 제공하기 위해 상기 애플리케이션 출력에 의해 기술된 상기 하나 이상의 가용 액션으로부터 상기 적어도 하나의 표시자에 의해 기술된 적어도 하나 이상의 가용 액션을 선택하는 동작을 더 포함하는, 컴퓨팅 시스템.
  12. 임의의 선행하는 청구항에 있어서, 각각의 컴퓨터 애플리케이션으로부터 수신된 출력에 의해 기술된 상기 하나 이상의 가용 액션을 기술하는 입력을 수신하고, 상기 입력의 수신에 응답하여, 상기 하나 이상의 가용 액션의 순위를 기술하는 순위 출력을 출력하도록 구성되는 순위 기계 학습 모델을 더 포함하며, 상기 동작들은:
    상기 하나 이상의 가용 액션을 기술하는 입력을 상기 순위 기계 학습 모델에 입력하는 동작; 및
    각각의 출력의 순위를 기술하는 상기 순위 출력을 상기 순위 기계 학습 모델의 출력으로서 수신하는 동작을 더 포함하는, 컴퓨팅 시스템.
  13. 임의의 선행하는 청구항에 있어서, 상기 동작들은:
    상기 하나 이상의 컴퓨팅 애플리케이션으로부터 스타일화 출력을 수신하는 동작을 더 포함하고, 상기 스타일화 출력은 상기 사용자 인터페이스에서 적어도 하나의 표시자를 디스플레이하는 것과 연관된 미적 구성을 기술하며; 및
    상기 스타일화 출력에 기초하여 상기 사용자 인터페이스에 적어도 하나의 표시자를 디스플레이하는 동작을 더 포함하는, 컴퓨팅 시스템.
  14. 하나 이상의 컴퓨터 애플리케이션으로부터 가용 액션을 선택하고 사용자에게 제공하기 위한 컴퓨터로 구현되는 방법으로서,
    하나 이상의 컴퓨팅 디바이스에 의해, 컨텍스트 데이터를 포함하는 모델 입력을 상기 모델 입력을 수신하고 상기 모델 입력의 수신에 응답하여, 상기 컨텍스트 데이터에 의해 참조되는 하나 이상의 시맨틱 엔터티를 기술하는 모델 출력을 출력하도록 구성된 기계 학습 모델에 입력하는 단계;
    상기 하나 이상의 컴퓨팅 디바이스에 의해, 상기 컨텍스트 데이터에 의해 참조되는 하나 이상의 시맨틱 엔터티를 기술하는 상기 모델 출력을 상기 기계 학습 모델의 출력으로서 수신하는 단계;
    상기 하나 이상의 컴퓨팅 디바이스에 의해, 상기 하나 이상의 시맨틱 엔터티를 기술하는 데이터를 상기 하나 이상의 컴퓨터 애플리케이션에 제공하는 단계;
    상기 하나 이상의 컴퓨팅 디바이스에 의해, 상기 하나 이상의 시맨틱 엔터티를 기술하는 데이터를 상기 하나 이상의 컴퓨터 애플리케이션에 제공하는 것에 응답하여, 상기 하나 이상의 컴퓨팅 애플리케이션으로부터 각각 하나 이상의 애플리케이션 출력을 수신하는 단계, 각각의 컴퓨터 애플리케이션으로부터 수신된 애플리케이션 출력은 상기 하나 이상의 시맨틱 엔터티에 대한 대응하는 컴퓨터 애플리케이션의 하나 이상의 가용 액션을 기술하며; 및
    상기 하나 이상의 컴퓨팅 디바이스에 의해, 상기 컴퓨팅 시스템의 사용자에게 적어도 하나의 표시자를 제공하는 단계를 포함하며, 상기 적어도 하나의 표시자는 상기 하나 이상의 시맨틱 엔터티에 대한 대응하는 컴퓨터 애플리케이션의 하나 이상의 가용 액션 중 적어도 하나를 기술하는, 방법.
  15. 청구항 14에 있어서, 상기 적어도 하나의 표시자를 제공하는 단계는 사용자 입력에 응답하여 반응적으로 수행되는, 방법.
  16. 청구항 14 내지 15 중 어느 한 항에 있어서, 상기 적어도 하나의 표시자를 제공하는 단계는 사용자 입력에 응답하여 반응적으로 수행되는, 방법.
  17. 청구항 14 내지 16 중 어느 한 항에 있어서, 상기 컴퓨팅 시스템의 사용자에게 상기 적어도 하나의 표시자를 제공하는 단계는 상기 사용자 인터페이스의 운영 체제 레벨 내비게이션 바 또는 상기 사용자 인터페이스의 잠금 화면 중 적어도 하나에 상기 적어도 하나의 표시자를 디스플레이하는 단계를 포함하는, 방법.
  18. 청구항 14 내지 17 중 어느 한 항에 있어서, 상기 모델 출력과 복수의 애플리케이션에 관한 각각의 정보 간의 비교에 기초하여, 상기 하나 이상의 시맨틱 엔터티를 기술하는 데이터를 제공하기 위해 상기 컴퓨팅 시스템에서 동작 가능한 복수의 애플리케이션으로부터 상기 하나 이상의 컴퓨터 애플리케이션을 선택하는 단계를 더 포함하는, 방법.
  19. 청구항 14 내지 18 중 어느 한 항에 있어서, 하나 이상의 시맨틱 엔터티에 대한 관련성, 과거 사용자 인터렉션, 상기 하나 이상의 시맨틱 엔터티의 유형 또는 상기 하나 이상의 가용 액션의 유형 중 적어도 하나에 기초하여, 상기 사용자에게 제공하기 위해 상기 애플리케이션 출력에 의해 기술된 상기 하나 이상의 가용 액션으로부터 상기 적어도 하나의 표시자에 의해 기술된 적어도 하나 이상의 가용 액션을 선택하는 단계를 더 포함하는, 방법.
  20. 청구항 14 내지 19 중 어느 한 항에 있어서,
    각 컴퓨터 애플리케이션에서 수신된 출력에 의해 기술된 하나 이상의 가용 액션을 기술하는 입력을, 상기 입력을 수신하고, 상기 입력의 수신에 응답하여, 상기 하나 이상의 가용 액션의 순위를 기술하는 순위 출력을 출력하도록 구성된 순위 기계 학습 모델에 입력하는 단계; 및
    각각의 출력의 순위를 기술하는 상기 순위 출력을 상기 순위 기계 학습 모델의 출력으로서 수신하는 단계를 더 포함하는, 방법.
KR1020217016763A 2018-12-07 2019-01-10 하나 이상의 컴퓨터 애플리케이션에서 사용 가능한 액션을 선택하고 사용자에게 제공하기 위한 시스템 및 방법 KR102688533B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862776586P 2018-12-07 2018-12-07
US62/776,586 2018-12-07
PCT/US2019/013029 WO2020117290A1 (en) 2018-12-07 2019-01-10 System and method for selecting and providing available actions from one or more computer applications to a user

Publications (2)

Publication Number Publication Date
KR20210082250A true KR20210082250A (ko) 2021-07-02
KR102688533B1 KR102688533B1 (ko) 2024-07-26

Family

ID=65366000

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217016763A KR102688533B1 (ko) 2018-12-07 2019-01-10 하나 이상의 컴퓨터 애플리케이션에서 사용 가능한 액션을 선택하고 사용자에게 제공하기 위한 시스템 및 방법

Country Status (6)

Country Link
US (3) US11553063B2 (ko)
EP (1) EP3871092A1 (ko)
JP (1) JP7134357B2 (ko)
KR (1) KR102688533B1 (ko)
CN (1) CN113168354B (ko)
WO (1) WO2020117290A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220164078A1 (en) * 2020-11-20 2022-05-26 Microsoft Technology Licensing, Llc Dynamic and selective presentation of interaction zones by a computer program based on user interaction with content from other computer programs
JP7414868B2 (ja) * 2022-02-18 2024-01-16 Lineヤフー株式会社 情報処理装置、情報処理方法および情報処理プログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170117590A (ko) * 2015-05-27 2017-10-23 구글 엘엘씨 제안되는 보이스 기반의 액션 쿼리들을 제공

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6865528B1 (en) * 2000-06-01 2005-03-08 Microsoft Corporation Use of a unified language model
EP1562111B1 (en) * 2004-02-03 2017-04-26 Sap Se A context modeller for modelling a context representation and a method of modelling a context representation
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US10276170B2 (en) * 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US9519726B2 (en) * 2011-06-16 2016-12-13 Amit Kumar Surfacing applications based on browsing activity
US9305108B2 (en) * 2011-10-05 2016-04-05 Google Inc. Semantic selection and purpose facilitation
US9710545B2 (en) * 2012-12-20 2017-07-18 Intel Corporation Method and apparatus for conducting context sensitive search with intelligent user interaction from within a media experience
US20140188956A1 (en) 2012-12-28 2014-07-03 Microsoft Corporation Personalized real-time recommendation system
KR102202574B1 (ko) 2013-01-31 2021-01-14 삼성전자주식회사 디바이스가 사용자 인터페이스를 디스플레이하는 방법 및 그 디바이스
WO2015094359A1 (en) 2013-12-20 2015-06-25 Intel Corporation Customized contextual user interface information displays
US9965559B2 (en) 2014-08-21 2018-05-08 Google Llc Providing automatic actions for mobile onscreen content
CN105718035B (zh) * 2014-12-04 2019-10-01 深迪半导体(上海)有限公司 一种电子设备基于人机动作交互的安全控制方法及装置
US9959341B2 (en) * 2015-06-11 2018-05-01 Nuance Communications, Inc. Systems and methods for learning semantic patterns from textual data
US10686738B2 (en) * 2015-07-24 2020-06-16 Facebook, Inc. Providing personal assistant service via messaging
US10339916B2 (en) * 2015-08-31 2019-07-02 Microsoft Technology Licensing, Llc Generation and application of universal hypothesis ranking model
CN105068661B (zh) * 2015-09-07 2018-09-07 百度在线网络技术(北京)有限公司 基于人工智能的人机交互方法和系统
US11049147B2 (en) 2016-09-09 2021-06-29 Sony Corporation System and method for providing recommendation on an electronic device based on emotional state detection
US10893011B2 (en) 2016-09-13 2021-01-12 Gluru Limited Semantic interface definition language for action discovery in cloud services and smart devices
US10540055B2 (en) 2017-02-08 2020-01-21 Google Llc Generating interactive content items based on content displayed on a computing device
US11263241B2 (en) * 2018-10-19 2022-03-01 Oracle International Corporation Systems and methods for predicting actionable tasks using contextual models
US11900046B2 (en) * 2020-08-07 2024-02-13 Microsoft Technology Licensing, Llc Intelligent feature identification and presentation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170117590A (ko) * 2015-05-27 2017-10-23 구글 엘엘씨 제안되는 보이스 기반의 액션 쿼리들을 제공

Also Published As

Publication number Publication date
US20230110421A1 (en) 2023-04-13
US20240056512A1 (en) 2024-02-15
US11831738B2 (en) 2023-11-28
US20220021749A1 (en) 2022-01-20
JP2022511518A (ja) 2022-01-31
US11553063B2 (en) 2023-01-10
CN113168354B (zh) 2024-04-16
KR102688533B1 (ko) 2024-07-26
EP3871092A1 (en) 2021-09-01
CN113168354A (zh) 2021-07-23
WO2020117290A1 (en) 2020-06-11
JP7134357B2 (ja) 2022-09-09

Similar Documents

Publication Publication Date Title
US11809886B2 (en) Intelligent automated assistant in a messaging environment
KR101995660B1 (ko) 지능형 자동 어시스턴트
RU2541219C2 (ru) Персонализированный словарь для цифрового помощника
US9619046B2 (en) Determining phrase objects based on received user input context information
WO2017143338A1 (en) User intent and context based search results
WO2017143339A1 (en) Interactive search engine
WO2017143337A1 (en) Intelligent agent and interface to provide enhanced search
US11831738B2 (en) System and method for selecting and providing available actions from one or more computer applications to a user
AU2013205568A1 (en) Paraphrasing of a user request and results by automated digital assistant
RU2785950C2 (ru) Поддержание контекстной информации между пользовательскими взаимодействиями с голосовым помощником

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant