KR102243993B1 - 사용자-선택 콘텐츠용 액션 제안들 - Google Patents

사용자-선택 콘텐츠용 액션 제안들 Download PDF

Info

Publication number
KR102243993B1
KR102243993B1 KR1020207024504A KR20207024504A KR102243993B1 KR 102243993 B1 KR102243993 B1 KR 102243993B1 KR 1020207024504 A KR1020207024504 A KR 1020207024504A KR 20207024504 A KR20207024504 A KR 20207024504A KR 102243993 B1 KR102243993 B1 KR 102243993B1
Authority
KR
South Korea
Prior art keywords
query
action
selection
action suggestion
actions
Prior art date
Application number
KR1020207024504A
Other languages
English (en)
Other versions
KR20200103877A (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 KR20200103877A publication Critical patent/KR20200103877A/ko
Application granted granted Critical
Publication of KR102243993B1 publication Critical patent/KR102243993B1/ko

Links

Images

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/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
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3322Query formulation using system suggestions
    • 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/957Browsing optimisation, e.g. caching or content distillation
    • 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
    • G06F3/04817Interaction 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 using icons
    • 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
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • G06F3/04895Guidance during keyboard input operation, e.g. prompting
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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
    • G06F9/547Remote procedure calls [RPC]; Web services
    • 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
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

시스템들 및 방법들이 모바일 디바이스 상에 디스플레이된 콘텐츠에 기초하여 선택된 텍스트에 대한 액션들을 제안하기 위하여 제공된다. 예시적 방법은 디스플레이 디바이스를 통해 이루어진 선택을 쿼리로 변환하는 단계, 상기 쿼리를 주어진 쿼리에 대한 액션을 예측하도록 트레이닝된 액션 제안 모델에 제공하는 단계, 각각의 액션은 모바일 애플리케이션과 연관되며, 하나 이상의 예측된 액션들을 수신하는 단계, 및 상기 디스플레이 디바이스 상에 상기 하나 이상의 예측된 액션들의 디스플레이를 개시하는 단계를 포함할 수 있다. 다른 예시적 방법은 웹사이트가 높게 랭킹된 쿼리들을 검색 기록들로부터 식별하는 단계를 포함할 수 있으며, 상기 웹사이트는 모바일 애플리케이션들에 대한 웹사이트들 매핑 내의 복수의 웹사이트들 중 하나이다. 상기 방법은 또한 상기 식별된 쿼리들로부터 액션 제안 모델에 대한 포지티브 트레이닝 예시들을 생성하는 단계, 및 상기 포지티브 트레이닝 예시들을 사용하여 상기 액션 제안 모델을 트레이닝하는 단계를 포함할 수 있다.

Description

사용자-선택 콘텐츠용 액션 제안들{ACTION SUGGESTIONS FOR USER-SELECTED CONTENT}
본 출원은 2015년 10월 1일자로 출원된 미국 특허 출원 제14/872,582호 "사용자-선택 콘텐츠용 액션 제안들" 의 계속 출원이며, 우선권을 주장한다.
스마트폰들 및 태블릿들과 같은 모바일 디바이스들의 사용으로 인해, 모바일 애플리케이션들과 사용자의 인터랙션이 증가하였다. 사용자들이 웹기반 브라우저들로부터 모바일 디바이스들을 사용하는 것으로 이동함에 따라 하나의 모바일 앱에서 다른 모바일 앱으로 데이터를 쉽게 전송할 수 있는 능력을 종종 잃게된다. 일반적으로, 모바일 애플리케이션들은 단일 용도이며 한 가지 특정적인 것에 매우 우수하지만, 모바일 애플리케이션들 간에 정보를 이동하는 것은 번거롭고 사용자는 어떤 앱이 주어진 용도에 우수한지 알지 못하거나, 언제 그들을 도와줄 앱을 찾아야 하는지 모를 수 있다.
구현예들은 모바일 앱 환경에서 액션 제안들을 제공한다. 액션들은 다른 모바일 애플리케이션들을 위한 의도들일 수 있다. 이 액션들은 웹사이트들의 모바일 애플리케이션들에 대한 매핑과 웹사이트들이 높게 랭킹되었던 검색들의 예시들을 사용하여 트레이닝된 모델에 기초한다. 이 모델은 컴팩트하며, 교육을 받으면, 모델이 개인화될 수 있는 모바일 디바이스에 푸싱될 수 있다. 개인화는 더 높은 가중치들을 갖는 추가적인 포지티브 예시들로써 모바일 디바이스 상에 저장된 검색 기록들을 사용하는 것을 포함할 수 있다. 일부 구현예들에서, 모델은 쿼리에 대한 네거티브 예시들인 "다른" 액션들에 대한 트레이닝 예시들을 포함할 수 있으며, 예를 들어, 쿼리는 웹사이트/모바일 애플리케이션과 상관되지 않는다.
시스템은 화면 상에서 선택된 이미지들 또는 단어들에 대한 액션들을 예측하도록 상기 모델을 사용할 수 있다. 선택은 사용자가 특별히 텍스트를 선택하거나 시스템에서 자동으로 일부 단어들을 선택하고 제안들을 제시하는 것으로부터 발생할 수 있다. 일부 구현예들에서, 시스템은 사용자로 하여금 예를 들어, 타이핑 또는 발화함으로써 사용자가 쿼리로써 선택을 제공할 수 있게 하는 사용자 인터페이스를 포함할 수 있으며, 상기 타이핑된 또는 발화된 단어들은 상기 선택이 된다. 이미지가 선택될 때, 시스템은 선택된 이미지에 대한 쿼리를 결정하기 위해 이미지에 대한 텍스트 설명이나 이미지에 대한 엔티티 인식을 사용할 수 있다. 상기 시스템은 사용자 상기 선택을 수정하고 및/또는 상기 선택을 위한 공통 확장들을 제시할 수 있게 하는 사용자 인터페이스를 포함할 수 있다. 선택된 텍스트 또는 쿼리는 그 후 모델에 제공될 수 있고 모델은 쿼리에 대한 하나 이상의 액션들을 예측할 수 있다. 액션들은 현재 화면의 오버레이로써 제시될 수 있으며 각 액션(예를 들어, 아이콘)에 대한 선택 가능한 제어를 포함할 수 있다. 사용자가 제어를 선택하면, 선택된 쿼리는 의도를 갖는 선택된 제어에 대응하는 애플리케이션(예를 들어, 검색 의도 모바일 애플리케이션)으로 전송될 수 있다. 쿼리는 모델에 제공될 수 있으며, 그 후 모델은 쿼리에 대한 액션들을 예측할 수 있다.
양태에 따르면, 제공되는 방법은: 모바일 디바이스의 디스플레이 디바이스를 통해 이루어진 선택을 쿼리로 변환하는 단계, 상기 쿼리를 액션 제안 모델에 제공하는 단계, 상기 액션 제안 모델은 주어진 쿼리에 대한 액션을 예측하기 위해 트레이닝 되며, 각각의 액션은 모바일 애플리케이션과 연관되며, 하나 이상의 예측된 액션들을 수신하는 단계, 및 상기 디스플레이 디바이스 상에 상기 하나 이상의 예측된 액션들의 디스플레이를 개시하는 단계를 포함한다.
상기 방법은 상기 하나 이상의 예측된 액션들 중 하나의 선택을 수신하는 단계; 및 상기 선택과 연관된 상기 모바일 애플리케이션에 대한 상기 쿼리를 사용하여 의도를 개시하는 단계를 더 포함할 수 있다. 상기 하나 이상의 예측된 액션들의 디스플레이를 개시하는 단계는 각각의 예측된 액션에 대하여, 상기 예측된 액션과 연관된 상기 모바일 애플리케이션에 대한 아이콘을 디스플레이하는 단계를 포함할 수 있다. 상기 하나 이상의 예측된 액션들에 대한 상기 아이콘들은 상기 디스플레이 디바이스 상에 디스플레이된 콘텐츠를 오버레이할 수 있다. 상기 선택은 이미지이며 상기 선택을 쿼리로 변환하는 단계는: 상기 이미지와 관련된 텍스트를 식별하는 단계; 및 상기 텍스트의 적어도 일부를 상기 쿼리로 사용하는 단계를 포함할 수 있다. 상기 선택은 이미지이며 상기 선택을 쿼리로 변환하는 단계는: 상기 이미지 내의 엔티티(entity)를 식별하는 단계; 및 상기 엔티티를 상기 쿼리로 사용하는 단계를 포함할 수 있다. 상기 방법은: 서버로부터 상기 액션 제안 모델을 수신하는 단계; 상기 모바일 디바이스의 사용자에 대한 검색 기록들 내의 화이트리스트된 웹사이트들을 식별하는 단계; 높은 랭킹으로 화이트리스트된 상기 웹사이트들을 포함하는 쿼리들로부터 트레이닝 예시들을 생성하는 단계, 상기 트레이닝 예시들은 상기 검색 기록들 내의 상기 화이트리스트된 웹사이트의 랭킹보다 높은 가중치를 가지며; 및 상기 트레이닝 예시들을 사용하여 상기 액션 제안 모델을 트레이닝하여, 개인화된 액션 제안 모델을 얻는 단계를 더 포함할 수 있다. 상기 선택은 음성 명령이며 상기 선택을 쿼리로 변환하는 단계는: 상기 음성 명령 상의 단어 인식을 수행하는 단계; 및 인식된 단어들을 상기 쿼리로 사용하는 단계를 포함할 수 있다. 상기 선택을 쿼리로 변환하는 단계는: 적어도 하나의 확장된 쿼리를 생성하도록 상기 선택에 대한 확장들을 결정하는 단계; 제2 예측된 액션들을 생성하도록 상기 확장된 쿼리를 상기 액션 제안 모델에 제공하는 단계; 상기 적어도 하나의 확장된 쿼리의 디스플레이를 개시하는 단계; 및 상기 확장된 쿼리의 선택을 수신하는 것에 응답하여, 제2 예측된 액션들의 디스플레이를 개시하는 단계를 포함할 수 있다. 상기 모바일 애플리케이션들 중 적어도 하나는 상기 모바일 디바이스 상에 설치되지 않을 수 있다. 상기 방법은: 상기 예측된 액션의 선택을 수신하는 단계; 및 상기 모바일 디바이스 상에 상기 모바일 애플리케이션의 설치를 개시하는 단계를 더 포함할 수 있다.
본 게시의 일정 양태들에 따르면, 모바일 디바이스는 적어도 하나의 프로세서, 디스플레이 디바이스, 및 적어도 하나의 프로세서에 의해 실행될 때 모바일 디바이스로 하여금 동작들을 수행하게 하는 명령어들을 저장하는 메모리를 포함한다. 상기 동작들은 디스플레이 디바이스를 통해 이루어진 선택을 쿼리로 변환하는 단계, 상기 쿼리를 액션 제안 모델에 제공하는 단계, 상기 액션 제안 모델은 주어진 쿼리에 대한 액션을 예측하기 위해 트레이닝 되며, 각각의 액션은 모바일 애플리케이션과 연관되며, 하나 이상의 예측된 액션들을 수신하는 단계, 및 상기 디스플레이 디바이스 상에 상기 하나 이상의 예측된 액션들의 디스플레이를 개시하는 단계를 포함한다.
본 게시의 일정 양태들에 따르면, 방법은 검색 기록들로부터, 검색 결과들에 대응하여 웹사이트가 높게 랭킹된 쿼리들을 식별하는 단계를 포함하며, 상기 웹사이트는 모바일 애플리케이션들에 대한 웹사이트들의 매핑 내의 복수의 웹사이트들 중 하나이다. 상기 방법은 또한 상기 식별된 쿼리들로부터 액션 제안 모델에 대한 포지티브 트레이닝 예시들을 생성하는 단계, 각각의 포지티브 트레이닝 예시는 상기 쿼리, 상기 웹사이트, 상기 쿼리에 대한 검색 결과들 내의 상기 웹사이트의 랭킹에 대응하는 가중치 및 모바일 애플리케이션을 가지며, 및 상기 포지티브 트레이닝 예시들을 사용하여 상기 액션 제안 모델을 트레이닝하는 단계를 포함한다.
상기 방법은: 제1 모바일 애플리케이션의 매니페스트에서 웹사이트를 식별하는 단계; 및 상기 웹사이트 및 상기 제1 모바일 애플리케이션을 상기 매핑에 추가하는 단계를 더 포함할 수 있다. 상기 방법은: 웹 저장소 내의 유사한 모바일 애플리케이션들을 클러스터링 하는 단계, 제1 모바일 애플리케이션은 제1 클러스터에 나타나며; 상기 웹사이트가 높게 랭킹 되어있는 쿼리를 식별하는 단계; 상기 제1 모바일 애플리케이션에 의해 생성된 상기 쿼리에 대한 검색 결과가 제2 모바일 애플리케이션에 의해 생성된 상기 쿼리에 대한 검색 결과와 유사하다는 것을 검증하는 단계, 상기 제2 모바일 애플리케이션은 상기 제1 클러스터에 있으며; 및 상기 검증에 응답하여, 상기 웹사이트 및 상기 제2 모바일 애플리케이션을 상기 매핑에 추가하는 단계를 더 포함할 수 있다. 상기 방법은: 모바일 디바이스 상에 저장된 검색 기록들에 기초하여 상기 모델을 개인화하는 단계를 더 포함할 수 있다. 상기 방법은: 상기 모델을 클라이언트 디바이스에 푸싱하는 단계; 및 상기 클라이언트 디바이스의 사용자와 연관된 검색 기록들에 기초하여 상기 모델을 개인화하는 단계를 더 포함할 수 있다.
본 게시의 일정 양태들에 따르면, 방법은 액션 제안 표시의 수신에 응답하여, 모바일 컴퓨팅 디바이스의 디스플레이 디바이스를 통해 이루어진 선택을 쿼리로 변환하는 단계, 액션 제안 모델을 사용하여 상기 쿼리에 대한 적어도 하나의 모바일 애플리케이션을 예측하는 단계, 상기 액션 제안 모델은 주어진 쿼리에 대한 모바일 애플리케이션들을 예측하도록 트레이닝되며, 및 상기 디스플레이 디바이스 상에 상기 적어도 하나의 모바일 애플리케이션에 대한 선택 가능한 제어의 디스플레이를 개시하는 단계를 포함할 수 있다.
상기 방법은: 상기 선택 가능한 제어의 선택을 수신하는 단계; 및 상기 모바일 애플리케이션에 대한 상기 쿼리를 사용하여 검색 의도를 개시하는 단계를 더 포함할 수 있다. 상기 선택 가능한 제어의 디스플레이를 개시하는 단계는 상기 모바일 애플리케이션에 대한 아이콘을 디스플레이 하는 단계를 포함할 수 있다. 상기 선택을 쿼리로 변환하는 단계는: 적어도 하나의 확장된 쿼리를 생성하도록 상기 선택에 대한 확장들을 결정하는 단계; 제2 모바일 애플리케이션을 생성하도록 상기 확장된 쿼리를 상기 액션 제안 모델에 제공하는 단계; 상기 적어도 하나의 확장된 쿼리의 디스플레이를 개시하는 단계; 및 상기 확장된 쿼리의 선택을 수신하는 것에 응답하여, 상기 제2 모바일 애플리케이션에 대한 선택 가능한 제어의 디스플레이를 개시하는 단계를 포함할 수 있다. 상기 모바일 컴퓨팅 디바이스 상에 적어도 하나의 상기 모바일 애플리케이션이 설치되어 있지 않을 수 있으며 상기 방법은: 선택 가능한 제어의 선택을 수신하는 단계; 및 상기 모바일 디바이스 상에 상기 모바일 애플리케이션의 설치를 개시하는 단계를 더 포함할 수 있다.
하나의 일반적인 양태에서, 컴퓨터 판독 가능 저장 디바이스 상에 내장된 컴퓨터 프로그램 제품은 명령어들을 포함하며, 상기 명령어들은 기판에 형성된 적어도 하나의 프로세서에 의해 실행될 때, 컴퓨팅 디바이스로 하여금 게시된 방법들, 동작들 또는 프로세스들 중 임의의 것을 수행하게 한다. 다른 일반적인 양태는, 화면 상에 디스플레이된 텍스트를 탐지하고 의도 내의 텍스트 선택을 사용하는 모바일 애플리케이션에 다이렉트 링크를 제공하기 위한 방법 및/또는 시스템을 포함하며, 실질적으로 도면들 중 적어도 하나와 관련하여 도시되고 및/또는 기술되며, 청구항들에서 보다 완전하게 설명된다.
여기에 기술된 발명의 구현예들 중 하나 이상은 다음 이점들 중 하나 이상을 실현하도록 구현될 수 있다. 하나의 예시로써, 사용자는 디바이스 리소스들에 대한 지식이 없는 상태에서, 애플리케이션들과 같은 디바이스에서 사용 가능한 리소스들을 보다 효율적으로 사용할 수 있다. 디바이스에서 사용 가능한 리소스들의 사용을 개선시키는 것은 예를 들어, 작업에 가장 효율적인 리소스가 자동으로 선택되고 사용될 수 있기 때문에 작업들이 보다 신속하고 효율적으로 수행될 수 있도록 한다. 다른 예시로써, 구현예들은 사용자가 보다 신속하게 작업을 수행하도록 도와줌으로써 사용자 경험을 개선할 수 있다, 예를 들어, 사용자의 제스처들을 줄임으로써 인간-컴퓨터 인터페이스를 개선한다. 하나의 예시로써, 구현예들은 사용자에게 모바일 애플리케이션들 간에 정보를 원활하게 전송할 수 있는 방법을 제공할 수 있으며, 사용자가 최소한의 노력으로 추가 정보를 조사할 수 있게 한다. 다른 예시로써, 구현예들은 사용자가 애플리케이션에 대한 지식이 없더라도, 사용자가 정보를 찾거나 핸들링(handle)하는데 도움이 되는 애플리케이션들을 제안함으로써 사용자 경험을 개선할 수 있다. 따라서 구현예들은 사용자가 보다 효율적이고 인기 있는 툴(tool)들을 발견하도록 도와준다. 일부 구현예들에서, 제안된 액션들은 모바일 디바이스의 사용자를 위해 커스터마이징될 수 있으며, 이로써 사용자는 제안된 액션들이 도움이 된다는 것을 찾을 가능성이 더 높아진다. 구현예들은 개인 또는 공용 지식 그래프의 엔티티에 대응하는 텍스트뿐만 아니라, 임의의 선택된 텍스트에 대한 액션들을 또한 제공한다. 따라서, 구현예들은 엔티티 기반 액션 제안 시스템들보다 넓은 유용성을 갖는다. 구현예들은 사용자가 선택에 대한 보다 많은 정보를 찾도록 도와주는 애플리케이션들을 예측하고 사용자가 사용자의 입력을 최소화하면서 애플리케이션을 탐색할 수 있게 함으로써 사용자 경험을 개선한다.
양태들 n은 임의의 편리한 형태로 구현될 수 있다. 예를 들어, 양태들은 유형의 캐리어 매체(예를 들어, 디스크들)일 수 있는 적절한 캐리어 매체 상에 운반될 수 있는 적절한 컴퓨터 프로그램들에 의해 구현될 수 있다. 양태들은 적합한 장치를 사용하여 또한 구현될 수 있으며, 상기 장치는 본 발명을 구현하도록 배열된 컴퓨터 프로그램들을 작동시키는 프로그램 가능한 컴퓨터들의 형태를 취할 수 있다. 양태들은 하나의 양태의 컨텍스트에서 기술된 구성들이 다른 양태에서 구현될 수 있도록 결합될 수 있다. 하나 이상의 구현예들의 세부 사항들은 첨부된 도면 및 이하의 설명에서 설명된다. 다른 구성들은 설명 및 도면들, 및 청구항들로부터 명백해질 것이다.
도 1은 게시된 발명에 따른 예시적인 시스템을 나타내는(illustrate) 블럭도이다.
도 2a 및 도 2b는 게시된 발명에 따른 모바일 컴퓨팅 디바이스의의 예시적인 디스플레이다.
도 3a 및 도 3b는 게시된 발명에 따른 모바일 컴퓨팅 디바이스의의 예시적인 디스플레이다.
도 4는 게시된 구현예들에 따른, 모바일 컴퓨팅 디바이스 상에 디스플레이된 콘텐츠에 기초하여 텍스트 선택에 대한 액션들을 제안하기 위한 예시적인 프로세스의 흐름도를 도시한다.
도 5는 게시된 구현예들에 따른, 액션 제안 모델을 생성하기 위한 예시적인 프로세스의 흐름도를 도시한다.
도 6a 및 도 6b는 게시된 구현예들에 따라, 선택 향상들을 갖는 모바일 컴퓨팅 디바이스의 예시적인 디스플레이들이다.
도 7은 기술된 기술을 구현하는데 사용될 수 있는 컴퓨터 디바이스의 예시를 도시한다.
도 8은 기술된 기술을 구현하는데 사용될 수 있는 분배된 컴퓨터 디바이스의 예시를 도시한다.
다양한 도면에서 동일한 참조 부호들은 동일한 요소들을 표시한다.
구현예들은 화면 상의 선택을 위해 모바일 애플리케이션을 예측하는 방법들 및 시스템들을 포함한다. 상기 선택은 텍스트 또는 화면 상에 디스플레이된 이미지, 텍스트 또는 음성 입력을 통해, 사용자 인터페이스에 입력된 쿼리일 수 있다. 아직 쿼리 형태가 아니라면, 상기 선택은 쿼리로 변환될 수 있다. 시스템은 쿼리에 대한 액션들을 예측하도록 트레이닝된 모델에 쿼리를 제공할 수 있다. 액션들은 모바일 애플리케이션 또는 모바일 애플리케이션 유형을 위한 것일 수 있다. 모델은 검색 기록들로부터 획득된 정보에 기초하여 트레이닝될 수 있다. 모델은 선택 가능한 제어 형태로 쿼리에 대한 하나 이상의 액션들을 제공할 수 있다. 사용자가 선택 가능한 제어들 중 하나를 선택할 때, 시스템은 쿼리를 사용하여 의도를 갖는 제어에 대응하는 모바일 애플리케이션을 런칭(launch)할 수 있다. 의도는 모바일 애플리케이션에 의해 지원되는 액션이다. 검색 또는 공유 의도는 의도의 일반적 유형이다. 검색 의도는 시스템이 모바일 애플리케이션의 검색 상태에서 주어진 쿼리에 대해 모바일 애플리케이션에 링크하도록 한다. 시스템은 비표준 의도들을 또한 사용할 수 있다. 예를 들어, 모바일 신청자는 매니페스트 파일 내의 의도를 표시할 수 있다. 이러한 비표준 의도들은 모바일 애플리케이션에서 지원되지만 반드시 운영 체제에서 지원되는 것은 아니다. 일반적으로 액션은 쿼리를 파라미터로 사용할 수 있는 임의의 의도들일 수 있다. 시스템은 모바일 디바이스에서 사용되는 모든 애플리케이션들에 걸쳐서 작동하며, 사용자 경험이 유지되도록 한다. 액션 제안 기능은 특정한 모바일 애플리케이션에 제한될 필요는 없다. 액션 제안은 인식된 엔티티들 예를 들어, 개인 또는 공공 지식 기반 내에 표현된 엔티티들, 로 제한되지 않는다. 또한, 제안된 액션들은 사용자가 아직 설치하지 않은 모바일 애플리케이션들을 위한 것일 수 있으므로, 사용자에게 유용한 모바일 애플리케이션들을 알리는 방법으로 서비스할 수 있다.
도 1은 예시적인 구현에 따른 액션 제안 시스템의 블럭도이다. 시스템(100)은 모바일 디바이스 상에 디스플레이된 콘텐츠의 선택에 대한 또는 사용자에 의해 입력된 선택에 대한 액션들을 제공하기 위해 사용될 수 있다. 액션들은 모바일 애플리케이션들에 대한 의도들(예를 들어, 표준 또는 비표준)을 표현할 수 있으며, 사용자가 모바일 디바이스 상에 아직 설치하지 않은 모바일 애플리케이션들을 포함할 수 있다. 일부 구현예들에서, 액션들은 모바일 애플리케이션에 대한 웹 미러를 또한 런칭할 수 있다. 액션에 의해 표현되는 모바일 애플리케이션은 목적지 애플리케이션으로 지칭될 수 있으며, 사용자에 의해 선택된 콘텐츠를 생성했던 모바일 애플리케이션은 소스 애플리케이션으로 고려될 수 있다. 특정한 선택을 위해 제공되는 액션들은 트레이닝된 모델, 예를 들어, 주어진 쿼리에 대한 하나 이상의 액션들을 예측하도록 트레이닝된 기계 학습 모델에 기초할 수 있다. 시스템은 따라서 선택을 쿼리로 변환할 수 있다. 도 1 내의 시스템(100)의 도시는 클라이언트-서버 시스템이며, 일부 데이터 프로세싱이 서버(110)에서 발생한다. 그러나, 다른 구성들 및 애플리케이션들이 사용될 수 있다. 예를 들어, 데이터 프로세싱은 클라이언트 디바이스(150) 상에서 독점적으로 발생할 수 있다. 일부 구현예들에서, 클라이언트 디바이스(150)의 사용자는 프로세싱의 일부가 서버(110)에서 수행된다는 것을 표시할 수 있다. 따라서, 구현예들은 나타낸 정확한 구성들에 제한되지 않는다.
액션 제안 시스템(100)은, 예를 들어 표준 서버, 그러한 서버들의 그룹, 또는 랙 서버 시스템과 같은 여러가지 상이한 디바이스들의 형태를 취하는 디바이스들 또는 컴퓨팅 디바이스일 수 있는 서버(110)를 포함할 수 있다. 예를 들어, 서버(110)는 다수의 컴퓨팅 디바이스들에 걸쳐 분배된 방식으로 구현될 수 있다. 추가로, 서버(110)는 개인용 컴퓨터, 예를 들어 랩탑 컴퓨터에 구현될 수 있다. 서버(110)는 도 7에 도시된 바와 같은 컴퓨터 디바이스(700), 또는 도 8에 도시된 바와 같은 시스템(800)의 예시일 수 있다. 서버(110)는 하나 이상의 기계 실행 가능 명령어들 또는 소프트웨어, 펌웨어 또는 이들 조합의 조각들을 실행하도록 구성된 기판에 형성된 하나 이상의 프로세서들을 포함할 수 있다. 프로세서들은 반도체 기반일 수 있으며, 즉, 프로세서들은 디지털 로직을 수행할 수 있는 반도체 소자를 포함할 수 있다. 서버(110)는 또한 하나 이상의 컴퓨터 메모리들을 포함할 수 있다. 메모리들, 예를 들어 메인 메모리는 일시적으로, 영구적으로, 반영구적으로, 또는 이들의 조합들로 하나 이상의 데이터 조각들을 저장하도록 구성될 수 있다. 메모리들은 하나 이상의 프로세서들에 의해 실행 및/또는 판독될 수 있는 포맷으로 정보를 저장하는 임의의 유형의 저장 디바이스를 포함할 수 있다. 메모리들은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 조합을 포함할 수 있으며, 하나 이상의 프로세서들에 의해 실행될 때, 일정 동작들을 수행하는 엔진들 또는 모듈들을 저장할 수 있다. 일부 구현예들에서, 모듈들은 외부 저장 디바이스에 저장될 수 있고, 서버(110)의 메모리에 로딩될 수 있다.
액션 제안 시스템(100)의 모듈들은 액션 제안 모듈(120)을 포함할 수 있다. 액션 제안 모듈(120)은 모바일 애플리케이션들에 대하여 화이트리스트된 웹사이트들의 매핑(132)에 기초하여 액션 제안 모델(130)을 트레이닝하기 위한 트레이닝 예시들을 생성하도록 구성될 수 있다. 화이트리스트된 웹사이트들은 액션들 수행에 유용한 웹사이트들일 수 있다. 달리 말해, 웹사이트들은 검색 인터페이스를 포함하고 쿼리에 대한 응답으로 콘텐츠를 제공하는 웹사이트들일 수 있다. 그러한 웹사이트들의 완전하지 않은 예시들은 쇼핑 사이트들, 위키들, 예약 사이트들, 등급 사이트들, 여행 사이트들, 티켓 사이트들 등이 있다. 일부 구현예들에서, 화이트리스트 및 화이트리스트된 웹사이트들의 매핑은 손으로 큐레이트(curate)되고 액션 제안 모듈(120)에 제공된다. 일부 구현예들에서, 의도(예를 들어, 검색, 공유 등)의 유형이 매핑(132)에 포함될 수 있다. 액션 제안 모듈(120)(또는 다른 모듈)은 화이트리스트 및 매핑(132)을 생성할 수 있다. 예를 들어, 액션 제안 모듈(120)은 매니페스트에서 언급된 웹사이트들을 결정하기 위해 모바일 애플리케이션 매니페스트들(136)을 검색할 수 있다. 이러한 매니페스들(136)는 통상적으로 개발자, 아이콘, 설명, 버전 등과 같은 애플리케이션에 관한 정보를 포함한다. 이 정보 중 일부는 사용자들이 애플리케이션 설치 여부를 결정하는데 도움이 되도록 사용될 수 있다. 일부 정보는 애플리케이션 프로그래밍 인터페이스들(APIs)과 같은 다른 애플리케이션 개발자들 및 모바일 애플리케이션에 의해 지원된 의도들을 위한 것일 수 있다. 일부 모바일 애플리케이션들은 비표준 의도들을 포함할 수 있으며, 이러한 의도들은 매니페스트 파일(136)에서 식별될 수 있다. 매니페스트들(136)은 따라서 모바일 애플리케이션에 관한 다양한 종류의 데이터를 포함할 수 있으며, 때때로 매니페스트는 모바일 애플리케이션의 것과 유사한 기능을 제시하는 웹사이트에 대한 참조를 포함한다. 이러한 웹사이트들은 때때로 웹 미러들로 지칭된다. 매니페스트들(136)은 모바일 애플리케이션 개발자에 의해 웹 저장소에 제출될 수 있다. 액션 제안 모듈(120)은 모바일 애플리케이션 매니페스트들(136)에서 언급된 임의의 웹사이트를 화이트리스트된 웹사이트로 고려하고, 예를 들어, 웹사이트 및 모바일 애플리케이션을 웹사이트-모바일 애플리케이션 맵(132)에 추가함으로써 웹사이트를 모바일 애플리케이션에 매핑할 수 있다. 모바일 애플리케이션이 둘 이상의 의도를 지원하는 경우, 액션 제안 모듈(120)은 웹사이트를 모바일 애플리케이션에 매핑하여 다수의 기록들을 추가할 수 있으며, 각각은 상이한 의도를 갖는다.
일부 구현예들에서, 액션 제안 모듈(120) (또는 다른 모듈)은 에뮬레이터(122)를 사용하여 웹사이트-모바일 애플리케이션 맵(132)에서 엔트리(entry)들을 생성할 수 있다. 에뮬레이터(122)는 배치 환경(batch environment)에서 클라이언트 디바이스를 에뮬레이트 하도록 구성될 수 있다. 달리 말해, 에뮬레이터(122)는 모바일 애플리케이션을 실행하고 모바일 애플리케이션에 의해 생성된 화면 콘텐츠를 결정하도록 구성될 수 있다. 일부 구현예들에서, 에뮬레이터(122)는 쿼리와 함께 의도를 모바일 애플리케이션에 전송하고, 모바일 애플리케이션이 콘텐츠를 리턴 하는지 또는 달리 말해 쿼리에 대한 결과들을 리턴 하는지 여부를 결정할 수 있다. 일부 구현예들에서, 콘텐츠는 프레임 버퍼 내의 정보일 수 있다. 일부 구현예들에서, 콘텐츠는 프레임 버퍼를 생성하기 위해 운영 체제에 의해 사용되는 정보일 수 있다. 모바일 애플리케이션이 콘텐츠를 리턴할 때, 에뮬레이터(122)는 동등한 웹사이트, 예를 들어 쿼리에 대해 동일하거나 유사한 결과들을 리턴하는 웹사이트를 찾을 수 있다. 에뮬레이터(122)가 동등한 웹사이트를 찾았을 때, 에뮬레이터(122)는 웹사이트 및 모바일 애플리케이션 및 의도를 웹사이트-모바일 애플리케이션 맵(132)에 추가할 수 있다.
액션 제안 모듈(120)은 액션 제안 모델(130)을 트레이닝하기 위한 포지티브 트레이닝 예시들을 생성하기 위해 웹사이트-모바일 애플리케이션 맵(132) 및 검색 기록들(134)을 사용할 수 있다. 예를 들어, 액션 제안 모듈(120)은 높게 랭킹된 검색 결과로써 화이트리스트된 웹사이트들(예를 들어, 웹사이트-모바일 애플리케이션 맵(132) 내의 웹사이트) 중 하나를 갖는 쿼리들에 대한 검색 기록들(134)을 조사할 수 있다. 검색 기록들(134)은 검색 로그들, 쿼리들로부터 수집된 집합 데이터, 또는 쿼리들에 기초한 임의의 다른 데이터를 포함할 수 있다. 일부 구현예들에서, 검색 기록들(134)은 검색 결과들을 생성하는 정상 프로세스에서 검색 엔진에 의해 생성될 수 있다. 높게 랭킹된 웹사이트들은 검색 결과들의 초기 페이지에 있거나 쿼리 요청자들에 의해 자주 선택되었던 웹사이트들일 수 있다. 검색 기록들 내의 쿼리가 높게 랭킹된 검색 결과로써 화이트리스트된 웹사이트를 포함하면, 액션 제안 모듈(120)은 상기 쿼리와 예를 들어, 웹사이트-모바일 애플리케이션 맵(132)에서 웹사이트에 매핑된 모바일 애플리케이션을 포지티브 트레이닝 예시로써 사용할 수 있다. 달리 말해, 액션 제안 모듈(120)은 주어진 쿼리에 대한 액션 제안 모델(130)을 교시하는 트레이닝 예시를 포함할 수 있으며, 모바일 애플리케이션은 쿼리를 핸들링하기 위한 좋은 후보이다. 액션 제안 모듈(120)은 검색 기록들(134)을 사용하여 많은 양의 트레이닝 예시들을 생성할 수 있다.
일부 구현예들에서, 액션 제안 모델(130)은 유사한 모바일 애플리케이션들을 클러스터링 함으로써 예시들의 양을 증가시킬 수 있다. 예를 들어, 액션 제안 모듈(120)은, 예를 들어 웹 저장소 또는 모바일 애플리케이션 매니페스트들(136)에서 사용 가능한 데이터에 기초하여 모바일 애플리케이션들을 클러스터링할 수 있고, 추가적인 트레이닝 예시들을 제작하기 위해 상기 클러스터들을 사용할 수 있다. 일부 구현예들에서, 클러스터 내의 모바일 애플리케이션들은 모바일 애플리케이션 유형으로 고려될 수 있고, 웹사이트-모바일 애플리케이션 맵(132)은 웹사이트를 클러스터, 예를 들어, 모바일 애플리케이션 유형에 매핑함으로써, 클러스터 내의 임의의 모바일 애플리케이션을 웹사이트에 매핑한다. 일부 구현예들에서, 액션 제안 모듈(120)은 클러스터 내의 모바일 애플리케이션들이 주어진 쿼리들에 대해 유사한 결과들을 생산하는지 여부를 검증하기 위해 에뮬레이터(122)를 사용할 수 있다. 클러스터 내의 특정한 모바일 애플리케이션이 클러스터 내의 다른 모바일 애플리케이션에 유사한 결과들을 제공하지 않으면, 특정한 모바일 애플리케이션은 상기 클러스터에서 제거되어 네거티브 트레이닝 예시로 사용될 수 있다. 따라서, 액션 제안 모델(130)은 일정 애플리케이션들을 배제하도록 트레이닝될 수 있다. 유사하게, 액션 제안 모듈(120)은 다른 네거티브 트레이닝 예시들을 생성하기 위해 검색 기록들(134) 및 모바일 애플리케이션 매니페스트들(136) 내의 정보를 사용할 수 있다. 예를 들어, 특정한 쿼리에 모바일 애플리케이션에 대한 웹 미러가 부족하게 되면, 즉, 액션 제안 모듈(120)이 쿼리에 대해 높게 랭킹된 웹페이지들 및 대응하는 모바일 애플리케이션 사이에 양호한 매칭(match)을 할 수 없게 되면, 상기 쿼리는 하나 이상의 모바일 애플리케이션들에 대한 네거티브 예시로 사용될 수 있다.
액션 제안 모델(130)은 long-term-term memory(LSTM) 신경 네트워크, 피드-포워드 신경 네트워크, support vector machine(SVM) 분류기 등과 같은 임의의 유형의 기계 학습 알고리즘일 수 있으며, 주어진 쿼리에 대한 하나 이상의 액션들(예를 들어, 모바일 애플리케이션들)을 예측할 수 있다. 일부 구현예들에서, 액션 제안 모듈(120)은 액션 제안 모델(130)이 문자 순서로 쿼리를 받아들이도록 트레이닝할 수 있고, 모델(130)은 입력 문자의 엔도(endo)를 접한 경우에만 예측할 수 있다. 그러한 구현예들에서, 모델(130)은 매우 적은 어휘를 사용하여 그것을 소형으로 만들어 모바일 디바이스에 상에서 저장 및 실행에 적합하도록 한다. 일부 구현예들에서, 모델(130)은 문자 임베딩 레이어(character embedding layer), 각각 64 노드들을 갖는 두 개의 LSTM 레이어들, 및 소프트맥스 분류 레이어를 포함할 수 있다. 일부 구현예들에서, 모델(130)은 문자들 대신에 입력으로써 단어들을 취하도록 트레이닝될 수 있다.
시스템은 액션 제안 모델(130)을 하나 이상의 클라이언트 디바이스들, 예를 들어 클라이언트 디바이스(150) 및 클라이언트 디바이스(190)에 푸싱할 수 있다. 클라이언트 디바이스(150)는 종래의 열린 웹-기반 환경 보다 닫힌 모바일 환경에서 동작하는 스마트폰 또는 다른 핸드헬드(handheld) 컴퓨팅 디바이스, 태블릿, 웨어러블 컴퓨팅 디바이스 등과 같은 임의의 모바일 개인 컴퓨팅 디바이스일 수 있다. 클라이언트 디바이스는 또한 임의의 개인 컴퓨팅 디바이스일 수 있다. 클라이언트 디바이스(150)는 도 7에 도시된 바와 같이 컴퓨터 디바이스(700)의 예시일 수 있다. 클라이언트 디바이스(150)는 사용자(180)에 의해 사용되는 하나의 모바일 디바이스일 수 있다. 사용자(180)는 또한 클라이언트 디바이스(190)와 같은 다른 모바일 디바이스들을 가질 수 있다.
클라이언트 디바이스(150)는 하나 이상의 기계 실행 가능 명령어들 또는 소프트웨어, 펌웨어 또는 이들 조합의 조각들을 실행하도록 구성된 기판에 형성된 하나 이상의 프로세서들을 포함할 수 있다. 클라이언트 디바이스(150)는 따라서 일시적으로, 영구적으로, 반영구적으로, 또는 이들의 조합들로 하나 이상의 데이터 조각들을 저장하도록 구성될 수 있다. 클라이언트 디바이스(150)는 따라서 소프트웨어, 펌웨어 또는 이들 조합 형태의 기계 실행 가능 명령어들을 표현하는 애플리케이션들(155)을 포함할 수 있다. 애플리케이션들(155)에서 식별된 컴포넌트들은 운영 체제의 일부일 수 있다. 일부 구현예들에서, 애플리케이션들(155)은 모바일 프로세싱 환경을 위해 개발된 모바일 애플리케이션들일 수 있다. 통상적으로 모바일 애플리케이션들은 닫힌 환경에서 작동한다, 즉, 보통 웹-기반 브라우저 환경에서 수행되는 활동들을 수행하기 위해 사용자는 별도의 애플리케이션들을 사용한다. 예를 들어, 호텔을 예약하기 위해 bookit.com에 접속하기 보다는, 클라이언트 디바이스(150)의 사용자는 bookit.com에 의해 제공되는 모바일 애플리케이션들(155) 내의 모바일 애플리케이션을 사용할 수 있다. 앞서 논의된 바와 같이, 모바일 애플리케이션은 상기 모바일 애플리케이션을 미러링(mirror)하는, 예를 들어, 상기 모바일 애플리케이션과 동일하거나 유사한 콘텐츠를 제공하는 웹페이지들을 가질 수 있다. 따라서, 일부 구현예들에서, 웹페이지(들)(예를 들어, bookit.com)는 모바일 애플리케이션(예를 들어, bookit.com에 의해 제공되거나 bookit.com과 연관된 앱)의 웹 미러로 고려될 수 있다.
애플리케이션들(155)은 화면 캡쳐 애플리케이션(160) 및 액션 제안 애플리케이션(162)을 포함할 수 있다. 일부 구현예들에서, 하나 이상의 이 애플리케이션들은 클라이언트 디바이스(150)의 운영 체제에 의해 제공될 수 있다. 일부 구현예들에서, 이 애플리케이션들 중 하나 이상은 사용자에 의해 다운로드되어 설치될 수 있다.
화면 캡쳐 애플리케이션(160)은 다양한 기능들을 포함할 수 있다. 일부 구현예들에서, 화면 캡쳐 애플리케이션(160)은 애플리케이션 프로그램 인터페이스(API)로부터 화면 상에 표현된 텍스트 정보를 얻도록 구성될 수 있다. 일부 구현예들에서, 화면 캡쳐 애플리케이션(160)은 운영 체제에 내장될 수 있으며, 그것은 현재 화면 상에 디스플레이된 텍스트 필드들의 콘텐츠를 결정할 수 있다. 일부 구현예들에서, 화면 캡쳐 애플리케이션(160)은 클라이언트 디바이스(150)의 현재 화면을 캡쳐하도록 구성될 수 있다. 화면 캡쳐 애플리케이션(160)은 디바이스의 프레임 버퍼의 콘텐츠들을 복사하거나 판독함으로써 화면을 캡쳐할 수 있다. 캡쳐된 화면은, 따라서 이미지이며 캡쳐된 이미지로 지칭된다. 화면 캡쳐 애플리케이션(160)은 간격들로 화면을 캡쳐할 수 있다. 간격은 작을 수 있으며, 예를 들어 0.5초마다 또는 1초마다 일 수 있다. 일부 구현예들에서, 명백한 사용자 요청 또는 명령에 대한 응답으로, 또는 디바이스가 하나의 모바일 애플리케이션에서 다른 모바일 애플리케이션으로 전환할 때, 화면 캡쳐 애플리케이션(160)은 터치 이벤트가 발생할 때마다(예를 들어, 사용자가 스크롤, 줌, 링크 클릭 등을 하기 위해 화면을 터치할 때마다) 화면을 캡쳐하도록 구성될 수 있다. 일부 구현예들에서, 화면 캡쳐 애플리케이션(160)은 화면이 변경되지 않을 때, 화면 캡쳐가 발생하는 간격을 증가시킬 수 있다. 달리 말해, 화면이 정적인 경우, 화면 캡쳐 애플리케이션(160)은 이미지들을 적게 캡쳐할 수 있다. 화면 캡쳐 애플리케이션(160)은 캡쳐된 화면 이미지들 및 메타데이터를 클라이언트 디바이스(150) 또는 서버(110)와 같은 서버 상에 있을 수 있는 인식 엔진에 제공할 수 있다. 메타데이터는 타임스탬프, 모바일 디바이스 유형, 모바일 디바이스 식별자, 화면이 캡쳐 되었었을때 작동하는 모바일 애플리케이션, 예를 들어 상기 화면을 생성했던 애플리케이션 등을 포함할 수 있다. 일부 구현예들에서, 메타데이터는 또한 어떤 애플리케이션이 활성인지, 디바이스의 위치, 주변 광, 디바이스의 모션(motion) 등을 포함할 수 있다. 시스템은 이러한 추가 디바이스 정보를 사용하여 콘텐츠 분석(예를 들어, 명확화), 제안된 액션 생성(예를 들어, 디바이스가 움직일 때 제안들의 양을 줄이고 가장 관련성이 높은 콘텐츠를 결정), 등을 어시스트할 수 있다.
일부 구현예들에서, 화면 캡쳐 애플리케이션(160)은 이미지에서 식별된 텍스트, 엔티티들, 이미지들, 로고들 등에 따라 화면 캡쳐 이미지를 인덱싱 하도록 구성된 인덱싱 엔진을 포함할 수 있다. 따라서, 예를 들어, 인덱싱 엔진은 캡쳐된 이미지에 대한 인덱스 엔트리들을 생성할 수 있다. 일부 구현예들에서, 인덱싱 엔진은 서버(110)와 같은 서버 상에 있을 수 있고, 화면 캡쳐 애플리케이션(160)은 캡쳐된 이미지 및/또는 캡쳐된 이미지 내의 인식된 아이템들을 서버에 제공할 수 있다. 인덱스는 역 인덱스일 수 있으며, 키 값(예를 들어, 단어, 구문, 엔티티, 이미지, 로고 등)은 상기 키 값을 포함하거나 상기 키 값이 인식되었던 이미지들의 리스트와 연관된다. 인덱스는 리스트 내의 각각의 캡쳐된 이미지와 관련된 메타데이터(예를 들어, 캡쳐된 이미지 상에서 키 값이 발생하는 곳, 이미지에 대한 키 값의 랭킹 등)를 포함할 수 있다. 일부 구현예들에서, 인덱스는 타임스탬프에 의해 인덱싱된 캡쳐된 이미지들의 리스트를 또한 포함할 수 있다. 인덱싱 엔진은 인덱스를 예를 들어, 화면 캡쳐 인덱스(172)와 같은 메모리에 저장할 수 있다. 물론, 일부 구현예들에서, 시스템은 클라이언트 디바이스(150) 이외에 또는 클라이언트 디바이스(150) 대신에 서버 상의 사용자 계정에 인덱스를 저장할 수 있다. 클라이언트 디바이스(150)의 사용자는 화면 캡쳐 애플리케이션(160)이 활성일 때를 제어할 수 있다. 예를 들어, 사용자는 다른 지정된 모바일 애플리케이션들(155)이 작동 중일 때만(예를 들어, 소셜 미디어 모바일 애플리케이션 내에서만) 활성하는 화면 캡쳐 애플리케이션(160)을 지정할 수 있다. 사용자는 또한 예를 들어, 세팅 애플리케이션을 통해 수동으로 화면 캡쳐 애플리케이션(160)을 켜고 끌 수 있다. 일부 구현예들에서, 사용자는 액션 제안 애플리케이션(162)을 또한 호출하는 액션 또는 제스처로 화면 캡쳐 애플리케이션(160)을 호출할 수 있다.
클라이언트 디바이스(150)는 또한 액션 제안 애플리케이션(162)을 포함할 수 있다. 액션 제안 애플리케이션(162)은 사용자에 의해 제공된 선택으로부터 쿼리를 결정하고 쿼리에 대한 제안된 액션들을 제공하기 위해 액션 제안 모델(170) 또는 액션 제안 모델(130)을 사용할 수 있다. 일부 구현예들에서, 사용자(180)는 액션 제안 표시를 사용하여 액션 제안 애플리케이션(162)을 구체적으로 호출하거나 개시할 수 있다. 일부 구현예들에서, 액션 제안 표시는 또한 화면 캡쳐 애플리케이션(160)을 호출할 수 있다. 일부 구현예들에서, 제스처/액션, 즉 액션 제안 표시는, 긴 누르기, 두 손가락 클릭, 또는 메뉴(예를 들어, 스와이프 업 또는 스와이프 다운 후에 나타나는 메뉴)로부터의 선택일 수 있으며, 사용자(180)가 화면의 일부를 능동적으로 선택할 수 있게 하는 사용자 인터페이스 제어를 개시한다. 일부 구현예들에서, 액션 제안 표시는 선택 제어를 선택될 화면의 부분으로 드래그할 수 있다. 일부 구현예들에서, 액션 제안 표시는 예를 들어 액션 제안 애플리케이션(162)에 특정된 사용자 인터페이스를 실행하는 사용자에 의해 암시적일 수 있다. 예를 들어, 사용자는 사용자 인터페이스를 열어 선택을 타이핑하거나 발화할 수 있다. 사용자(180)가 예를 들어, 아이콘 또는 그림에 대한 긴 누르기를 통해 이미지가 있는 화면의 일부를 선택하면, 액션 제안 애플리케이션(162)은 이미지와 연관된 텍스트를 결정하고 텍스트를 선택으로 사용하도록 구성될 수 있다. 일부 구현예들에서, 화면 캡쳐 애플리케이션(160)은 선택된 영역 상의 인식을 수행하고 액션 제안 애플리케이션(162)에 텍스트를 제공할 수 있다. 액션 제안 애플리케이션(162)은 액션 제안 모델에 대한 쿼리로써 선택, 예를 들어, 화면 상에 현재 디스플레이된 텍스트, 사용자 인터페이스에 타이핑되거나 발화된 텍스트, 또는 선택된 이미지와 연관된 텍스트를 사용할 수 있다.
일부 구현예들에서, 액션 제안 애플리케이션(162)은 선택에 응답하여 재작성된 쿼리들을 제시할 수 있다. 예를 들어, 액션 제안 애플리케이션(162)은 현재의 쿼리에 대해, 또는 달리 말해 선택으로부터 결정된 쿼리에 대해 예를 들어, 액션 제안 모델(170), 액션 제안 모델(130), 또는 다른 모듈로부터 공통 쿼리 완료들 또는 관련된 쿼리들을 결정할 수 있다. 일부 구현예들에서, 액션 제안 애플리케이션(162)은 현재 쿼리에 대한 제안된 액션들 이외에 쿼리 완료들을 제시할 수 있다. 도 6a 및 도 6b와 관련하여 아래에 보다 구체적으로 기술된 바와 같이, 사용자가 재작성된 쿼리들 중 하나를 선택하면, 액션 제안 애플리케이션(162)은 선택된 재작성된 쿼리를 현재 쿼리로써 사용하고, 재작성된 쿼리에 대한 새로운 제안된 액션들을 제시할 수 있다.
액션 제안 애플리케이션(162)은 쿼리에 대한 제안된 액션들을 결정하기 위해 액션 제안 모델(170) 또는 액션 제안 모델(130)과 같은 액션 제안 모델을 사용할 수 있다. 일부 구현예들에서, 액션 제안 모델(170)은 액션 제안 모델(130)의 복사본일 수 있다. 일부 구현예들에서, 액션 제안 모델(170)은 액션 제안 모델(130)의 개인화된 복사본일 수 있다. 예를 들어, 클라이언트 디바이스(150)는 서버(110)로부터 액션 제안 모델(130)을 수신하거나 업데이트된 액션 제안 모델(130)을 수신할 수 있고, 클라이언트 디바이스(150)상에서 모델의 추가 트레이닝을 수행할 수 있다. 예를 들어, 액션 제안 애플리케이션(162)은 사용자 데이터(176)를 사용할 수 있으며, 상기 사용자 데이터(176)는 액션 제안 모델(170)에 대한 포지티브 트레이닝 예시들을 생성 또는 재가중 하기 위해 클라이언트 디바이스(150)로부터 제출된 쿼리들 또는 일정 모바일 애플리케이션들(155)의 사용에 관한 정보를 포함할 수 있다. 이러한 추가적인 트레이닝 예시들은 액션 제안 모델(170)을 개인화할 수 있고, 이로써 액션 제안 애플리케이션(162)은 사용자(180)와 보다 관련 있는 제안된 또는 예측된 액션들을 제시한다. 예를 들어, 사용자(180)가 제1 예약 모바일 애플리케이션을 종종 사용하지만 제2 예약 모바일 애플리케이션을 결코 사용하지 않는 경우, 액션 제안 애플리케이션(162)은 모델에 대한 제1 예약 모바일 애플리케이션에 가중치를 더 둘 수 있으므로, 액션 제안 애플리케이션(162)은 제2 예약 모바일 애플리케이션이 아닌 제1 예약 모바일 애플리케이션을 제안한다.
액션 제안 모델(170)은 주어진 쿼리에 대한 하나 이상의 액션들을 예측하도록 구성되거나 트레이닝된다. 예를 들어, 액션 제안 애플리케이션(162)은 모델(170)에 쿼리를 제공할 수 있고, 모델(170)은 쿼리에 대해 하나 이상의 제안된 액션들을 제공할 수 있다. 제안된 액션들은 쿼리를 핸들링하도록 구성된 모바일 애플리케이션들의 형태이다. 액션 제안 애플리케이션(162)은 제안된 액션(들)을 디바이스의 사용자에게 모바일 애플리케이션들에 걸쳐서 일관된 방식으로 제시하는 사용자 인터페이스를 제공할 수 있다. 일부 구현예들에서, 제안된 액션들은 선택 가능한 제어의 형태일 수 있다. 제어는 디스플레이 되고 있는 화면의 상부에 디스플레이된 오버레이, 디스플레이 되고 있는 화면 하부에 디스플레이된 언더레이, 또는 모바일 디바이스의 디스플레이 버퍼 내의 현재 화면에 추가되도록 구성된 정보일 수 있다. 달리 말해, 제안된 액션 제어는 모바일 디바이스에서 생성된 화면에 추가된 정보를 표현하며, 상기 정보는 화면에 표시될 때 화면 위 또는 아래에 디스플레이 되거나 화면에 통합된다.
제안된 액션 제어는, 예를 들어 의도를 개시하는 형태로, 대응하는 액션을 개시하는 선택을 탐지하도록 구성될 수 있다. 제안된 액션은 따라서, HTML-기반 문서 내의 하이퍼링크처럼 행동한다. 액션 제안 시스템(100)은 모바일 디바이스 상에서 작동하는 임의의 모바일 애플리케이션에 대한 제안된 액션 제어를 제공할 수 있기 때문에, 액션들은 모바일 애플리케이션들 전반에 걸쳐 일관된다.
클라이언트 디바이스(150) 상에서 실행되는 것으로 나타나 있지만, 일부 구현예들에서, 액션 제안 애플리케이션(162)은 서버(110)와 같은 서버 상에서 실행되는 모듈일 수 있다. 이러한 구현예들에서, 화면 캡쳐 애플리케이션(160)은 서버에서 액션 제안 애플리케이션(162)에 선택, 예를 들어 선택된 텍스트, 이미지 등을 제공할 수 있고, 액션 제안 애플리케이션(162)은 액션 제안 모델(130)을 사용하여 대응하는 액션(들)을 화면 캡쳐 애플리케이션(160)에 제공할 수 있다. 일부 구현예들에서, 화면 캡쳐 애플리케이션(160)은 인터페이스를 제공하기 위해 대응하는 액션(들)을 사용할 수 있으며, 상기 인터페이스는 제안된 액션을 화면상의 선택과 통합하고 액션을 선택 가능하게 한다. 일부 구현예들에서, 액션 제안 애플리케이션(162)은 제안된 액션 제어를 캡쳐된 이미지 내의 선택 위치에 대응하는 화면 좌표들과 연관시킬 수 있다. 좌표들은 가깝지만 상기 선택을 가리지는 않도록 선택될 수 있다.
일부 구현예들에서, 화면 캡쳐 애플리케이션(160)은 제안된 액션 제어들을 현재 화면과 통합할 수 있다. 예를 들어, 화면 캡쳐 애플리케이션(160)이 액션 제안 애플리케이션(162)으로부터 선택된 액션들을 수신하면, 화면 캡쳐 애플리케이션(160)은 선택된 액션 제어들을 현재의 디스플레이와 결합할 수 있다. 일부 구현예들에서, 화면 캡쳐 애플리케이션(160)은 언더레이로써 오버레이를 생성할 수 있거나, 또는 디스플레이 버퍼 내에서 현재 화면과 제안된 액션 제어들을 인터리빙(interleave)할 수 있다. 일부 구현예들에서, 화면 캡쳐 애플리케이션(160)은 현재 디스플레이된 화면이 제안된 액션 제어들을 디스플레이하기 전에 캡쳐된 화면 이미지와 충분히 유사하다는 것을 검증하도록 구성될 수 있다. 예를 들어, 화면 캡쳐 애플리케이션(160)은 캡쳐된 이미지로부터 시각적 큐를 결정하고 현재 디스플레이된 이미지에 대한 동일한 좌표와 시각적 큐를 비교하기 위해 제어 또는 대응하는 선택에 대한 좌표들을 사용할 수 있다. 일부 구현예들에서, 화면 캡쳐 애플리케이션(160)은 시각적 큐에 대한 시각적 요소들과 유사한 현재 이미지 내의 시각적 요소들에 대한 짧은 거리를 보도록 구성될 수 있다. 발견되면, 화면 캡쳐 애플리케이션(160)은 언더레이 화면의 움직임과 매칭되도록 제안된 액션 제어들의 좌표들을 조정할 수 있다. 일부 구현예들에서, 화면 캡쳐 애플리케이션(160)은 캡쳐된 이미지, 선택된 텍스트 또는 이미지, 및 현재 화면 상부의 액션들을 디스플레이하는 모드 또는 활동을 개시할 수 있다. 이전에 캡쳐된 이미지, 선택된 텍스트 또는 이미지, 및 액션들은 사용자가 액션을 선택하거나 디스플레이를 취소할 때까지(예를 들어, 취소 또는 '뒤로 가기' 명령으로) 디스플레이될 수 있다.
일부 구현예들에서, 액션 제안 애플리케이션(162)은 모델로부터 제안된 액션들 중 어떤 것을 디스플레이할지 결정하기 위해 랭킹 엔진을 사용할 수 있다. 예를 들어, 액션 제안 애플리케이션(162)은 최상위 랭킹 중 수량(예를 들어, 3 또는 4개)을 선택하거나, 또는 달리 말해 가장 가능성 있는 액션들 또는 특정 임계값보다 높은 확률 점수를 갖는 임의의 액션 또는 이들의 조합을 선택할 수 있다. 일부 구현예들에서, 상기 수량 또는 임계값은 디바이스에 관한 메타데이터에 의존한다(예를 들어, 디바이스가 움직이는 경우 보다 적은 수량 또는 보다 높은 임계값). 일부 구현예들에서, 제안된 액션들의 디스플레이는 예를 들어, 사용자가 초기에 디스플레이된 것보다 많은 액션들로부터 선택하도록, 스크롤이 가능할 수 있다.
클라이언트 디바이스(150)는 클라이언트 디바이스(150)의 메모리에 저장되고 애플리케이션들(155)에 의해 사용되는 데이터 저장소들(157)을 포함할 수 있다. 일부 구현예들에서, 데이터 저장소들(157)은 액션 제안 모델(170), 화면 캡쳐 인덱스(172), 및 사용자 데이터(176)를 포함할 수 있다. 이러한 데이터 저장소들 중 하나 이상은 사용자 계정 또는 프로필과 연관될 수 있다. 따라서, 데이터 저장소들은 또한 서버(110) 상에 존재할 수 있다. 추가로, 데이터 저장소들(157) 중 하나 이상은 서버(110) 상에 또는 사용자에 의해 지정된 다른 위치에 저장된 데이터의 사본들 또는 서브세트들일 수 있다. 데이터 저장소들(157)은 임의의 비일시적인 메모리에 저장될 수 있다.
클라이언트 디바이스(150)는 네트워크(140)를 통해 서버(110) 및 다른 클라이언트 디바이스들(190)과 통신할 수 있다. 네트워크(140)는 예를 들어, 인터넷일 수 있거나 네트워크(140)는 예를 들어, 게이트웨이 디바이스들, 브리지들, 스위치들, 및/또는 등을 사용하여 구현된 유선 또는 무선 근거리 통신망(LAN), 광역망(WAN) 등일 수 있다. 네트워크(140)는 또한 셀룰러 통신들 네트워크를 표현할 수 있다. 네트워크(140)를 통해, 서버(110)는 클라이언트 디바이스들(150 및 190)과 통신하고 클라이언트 디바이스들(150 및 190)로 데이터를 송신 또는 클라이언트 디바이스들(150 및 190)로부터 데이터를 수신할 수 있으며, 클라이언트 디바이스(150)는 다른 클라이언트 디바이스들(190)(도시되지 않음)과 통신할 수 있다.
액션 제안 시스템(100)은 하나의 예시적인 구성을 표현하며 구현예들은 다른 구성들을 통합할 수 있다. 예를 들어, 일부 구현예들은 에뮬레이터(122), 액션 제안 모듈(120), 또는 액션 제안 애플리케이션(162)의 컴포넌트들 중 하나 이상을 단일 모듈 또는 엔진으로 결합할 수 있다. 유사하게, 일부 구현예들은 화면 캡쳐 애플리케이션(160) 및 액션 제안 애플리케이션(162) 중 하나 이상을 단일 모듈 또는 애플리케이션으로 결합할 수 있다. 또한, 액션 제안 애플리케이션(162) 또는 화면 캡쳐 애플리케이션(160)의 컴포넌트들 중 하나 이상은 서버(110)에서 수행될 수 있는 반면, 에뮬레이터(122) 또는 액션 제안 모듈(120)의 컴포넌트들 중 하나 이상은 클라이언트 디바이스(150)에서 수행될 수 있다. 다른 예시로써, 모바일 애플리케이션 매니페스트들(136), 검색 기록들(134), 액션 제안 모델(130) 또는 웹사이트-모바일 애플리케이션 맵(132)과 같은 하나 이상의 데이터 저장소들은 단일 데이터 저장소에 결합되거나 다수의 컴퓨팅 디바이스들에 걸쳐서 분배되거나, 또는 클라이언트 디바이스(150)에 저장될 수 있다. 마찬가지로, 화면 캡쳐 인덱스(172) 및 사용자 데이터(176) 중 하나 이상은 서버(110) 또는 사용자에 의해 지정된 다른 위치에 저장될 수 있다.
액션 제안 시스템(100)이 사용자-특정 데이터를 수집 및 저장하거나 개인 정보를 사용하는 한, 사용자는 프로그램들 또는 구성들이 사용자 정보(예를 들어, 사용자의 소셜 네트워크에 관한 정보, 소셜 액션들 또는 활동들, 사용자의 선호도들 또는 사용자의 현재 위치)를 수집 하는지 여부를 제어하거나, 사용자와 보다 관련 있는 콘텐츠를 수신할지 여부 및/또는 수신 방법을 제어할 기회를 제공받을 수 있다. 추가로, 일정 데이터는 저장되거나 사용되기 전에 하나 이상의 방법들로 처리될 수 있고, 이로써 개인 식별 정보가 제거된다. 예를 들어, 검색 기록들이 처리되어 사용자에 대해 개인 식별 정보가 결정될 수 없고 및/또는 사용자의 지리적 위치가 위치 정보가 획득된 곳(예를 들어, 도시, 우편 번호 또는 주 수준)으로 일반화될 수 있어 사용자의 특정 위치가 결정되지 못할 수 있다. 즉, 사용자는 사용자에 관한 정보가 액션 제안 시스템(100)에 의해 어떻게 수집되고 사용되는지를 제어할 수 있다.
도 2a 및 도 2b는 게시된 발명에 따른 클라이언트 컴퓨팅 디바이스의 예시적인 디스플레이들(200a 및 200b)이다. 상기 디스플레이는 도 1의 클라이언트 디바이스(150)와 같은 모바일 디바이스의 디스플레이일 수 있다. 도 2a에서, 사용자는 화면(200a) 상에 표시된 콘텐츠를 선택(205) 하였다. 선택(205)은 소스 프로그램에 의해 화면 상에 디스플레이된 텍스트 “patio"다. 선택(205)은 시각적으로 마킹(mark)되어 주변 콘텐츠와 일부 양태가 상이할 수 있다. 예를 들어, 선택(205)은 하이라이트될 수 있고, 폰트 컬러 변경을 가질 수 있고, 그것을 둘러싼 모양 등을 가질 수 있다. 액션 제안 애플리케이션(162)은 선택된 텍스트를 쿼리로써 사용하고 쿼리 patio를 액션 제안 모델(170)에 보낼 수 있다. 액션 제안 모델(170)은 쿼리에 응답하여 하나 이상의 제안된 액션들을 제공할 수 있다. 도 2b는 제안된 액션들 중 일부의 예시를 도시한다. 예를 들어, 액션(210)은 쇼핑 모바일 애플리케이션 또는 온라인 마켓플레이스 모바일 애플리케이션을 표현하는 아이콘일 수 있다. 사용자가 액션(210)을 선택하면, 액션 제안 애플리케이션(162)은 검색 의도를 가지고 쇼핑 모바일 애플리케이션을 활성화(예를 들어, 쇼핑 모바일 애플리케이션 또는 달리 말해 목적지 애플리케이션으로 포커스를 스위칭)할 수 있다. 검색 의도는 검색 상태, 또는 달리 말해 검색 사용자 인터페이스 내의 애플리케이션을 여는 운영 체제 표준이다. 검색 의도들은 모바일 애플리케이션들 및 웹 애플리케이션들과 함께 작동할 수 있다. 검색 의도는 쿼리 파라미터를 지원할 수 있으므로, 모바일 애플리케이션은 검색 의도의 일부로써 쿼리를 제공받고 검색 결과 페이지 또는 사용자 인터페이스를 시작하거나 활성화한다. 구현예들은 쿼리를 파라미터로 취할 수 있는 표준(즉, 운영 체제에 의해 지원되는) 또는 비표준(즉, 운영 체제가 아닌 모바일 애플리케이션에 의해 지원되는)인 다른 의도들을 또한 사용할 수 있다. 따라서, 액션(210)의 선택은 쿼리 patio를 쇼핑 모바일 애플리케이션에 전달하고, 클라이언트 디바이스로 하여금 쇼핑 모바일 애플리케이션을 시작하거나 쇼핑 모바일 애플리케이션으로 포커스를 스위칭하도록 할 수 있으며, 쇼핑 모바일 애플리케이션은 쿼리에 대한 결과 페이지를 디스플레이할 수 있다. 이러한 방식으로 액션 제안 애플리케이션(162)은 검색을 수행하고 컨텍스트를 스위칭하는데 필요한 입력을 감소시켜 사용자 경험을 개선한다.
액션(220)은 레스토랑 예약 모바일 애플리케이션을 표현할 수 있다. 쇼핑 모바일 애플리케이션과 마찬가지로, 레스토랑 예약 모바일 애플리케이션은 검색 의도를 또한 포함할 수 있고, 사용자가 액션(220)을 선택하면, 예약 모바일 애플리케이션은 쿼리 patio에 응답하여 검색 결과 인터페이스와 함께 시작될 수 있다. 액션(230)은 예를 들어, 단어의 정의를 제공하는 사전 모바일 애플리케이션일 수 있다. 액션(230)의 선택은 쿼리 patio에 대한 검색 결과를 갖는 인터페이스에서의 사전 모바일 애플리케이션으로 컨텍스트를 스위칭할 수 있다. 액션(240)은 검색 엔진, 예를 들어 클라이언트 디바이스(150) 또는 인터넷 검색 엔진에 국부적인 검색 엔진을 표현할 수 있다. 액션(240)의 선택은 컨텍스트를 쿼리 patio에 대한 검색 결과 페이지에 대한 검색 엔진으로 스위칭할 수 있다. 물론, 도 2b에 도시된 액션들은 단지 예시들이며 다른 제안된 액션들이 사용자에게 제시될 수 있다. 도 2b 내의 액션들의 프리젠테이션은 소스 애플리케이션에 의해 생성된 화면 콘텐츠의 일부를 오버레이하는 바(bar)로 나타난다. 구현예들은 캐러셀(carousel) 디스플레이, 원형 디스플레이, 메뉴 디스플레이 등과 같은 액션들의 다른 장치들을 포함할 수 있다.
도 3a 및 3b는 게시된 발명에 따른 모바일 컴퓨팅 디바이스의 예시적인 디스플레이들이다. 도 1의 시스템(100)과 같은 액션 제안 시스템은, 예를 들어, 쿼리(305)를 입력함으로써 사용자가 특정 선택을 입력하도록 도 3a 및 3b의 사용자 인터페이스(300)를 제공할 수 있다. 쿼리(305)는 타이핑되거나 발화될 수 있다. 따라서, 상기 선택이 소스 애플리케이션에 의한 디스플레이를 위해 생성된 콘텐츠라기 보다는, 사용자 인터페이스(300)는 액션 제안 애플리케이션 자체에 의해 생성될 수 있고, 사용자로 하여금 액션 제안 애플리케이션에 직접 선택을 제공하게 할 수 있다. 이러한 사용자 인터페이스(300)는 액션 제안 애플리케이션에 대한 런처(launcher)로 고려될 수 있다. 시스템은, 예를 들어, 도 1의 액션 제안 모델(170)과 같은 액션 제안 모델에 대한 입력으로써 쿼리(305)를 사용할 수 있다. 모델은 제안된 액션들을 쿼리에 제공할 수 있다. 도 3b의 예시에서, 모델은 예약 액션(310), 여행 액션(320), 도움 액션(330) 및 항공사 액션(340)을 제안할 수 있다. 상술한 바와 같이, 각 액션은 선택 가능한 제어와 연관될 수 있다. 선택 가능한 제어는 액션과 연관된 모바일 애플리케이션과 연관된 아이콘일 수 있다. 따라서, 예약 액션(310)은 예약 모바일 애플리케이션에 대한 아이콘과 연관될 수 있고, 액션(310)의 선택, 달리 말해 액션(310)에 대한 제어의 선택은 검색 의도와 함께 예약 애플리케이션을 런칭할 수 있다. 검색 의도는 파라미터로써 쿼리(305)를 가질 수 있다. 따라서, 클라이언트 디바이스는 쿼리(305)에 응답 결과들과 함께 검색 결과 화면에 예약 애플리케이션(310)을 런칭할 수 있다. 사용자 인터페이스(300)는 따라서 사용자로 하여금 특정 쿼리를 제공하고 상기 쿼리에 대한 적절한 액션들을 제공받을 수 있게 한다.
일부 구현예들에서, 사용자는 모바일 애플리케이션들 중 하나를 설치하지 않을 수 있다. 예를 들어, 사용자는 설치된 여행 액션(320)에 대응하는 여행 애플리케이션을 가지지 않을 수 있다. 액션(320)에 대한 제어의 선택은 디바이스로 하여금 애플리케이션에 대한 다운로드 프로세스를 개시하게 할 수 있다. 따라서, 사용자 인터페이스(300)는 사용자가 모바일 애플리케이션들에 대해 알지 못하더라도 다른 사용자들이 도움이 된다고 생각하는 액션들, 달리 말해 모바일 애플리케이션들을 사용자에게 제공할 수 있다. 일부 구현예들에서, 사용자가 여행 애플리케이션을 설치하지 않은 경우, 시스템은 인터넷 검색 모바일 애플리케이션, 사전 앱, 위키 앱 등에 대한 검색 의도로 상기 액션을 변환할 수 있다. 도 2a, 2b, 3a 및 3b에 도시된 사용자 인터페이스들은, 지식 기반의 엔티티에 묶인 선택들 또는 엔티티 유형에 대한 템플릿에 맞는 선택이 아닌, 임의의 선택에서도 동작한다. 따라서, 이 도면들의 사용자 인터페이스들은 연관된 액션들을 가진 선택들을 크게 확장한다. 또한, 액션 제어들은 아이콘-기반으로 나타나지만, 액션 제어들은 텍스트-기반 또는 텍스트와 이미지들의 조합일 수 있다. 따라서 액션 제어들은 텍스트 기반, 이미지 기반, 또는 텍스트 및 이미지 제어들의 조합을 포함하는 것으로 이해된다.
도 4는 게시된 구현예들에 따라, 모바일 컴퓨팅 디바이스 상에 디스플레이된 콘텐츠에 기초하여 텍스트 선택을 위한 액션들을 제안하는 예시적인 프로세스(400)의 흐름도를 도시한다. 프로세스(400)는 도 1의 시스템(100)과 같은, 액션 제안 시스템에 의해 수행될 수 있다. 프로세스(400)는 쿼리에 대해 제안된 액션들을 결정하는데 사용될 수 있으며, 쿼리는 화면 캡쳐 이미지 또는 액션 제안 런칭 사용자 인터페이스로부터 식별된다. 프로세스(400)는 액션 제안 모델을 생성함으로써 시작될 수 있다(405). 액션 제안 모델은 제안된 액션들, 즉 주어진 쿼리를 사용하는 의도를 갖는 모바일 애플리케이션들을 제공할 수 있다. 이 쿼리는 모바일 컴퓨팅 디바이스의 사용자에 의한 선택에 기초할 수 있다. 상기 의도는 표준 또는 비표준 의도들 중 하나일 수 있다. 도 5는 액션 제안 모델을 구축하는 하나의 예시를 나타낸다. 도 4에는 구체적으로 도시되어 있지 않지만, 시스템은 서버 상에 모델을 구축하고 클라이언트 디바이스에 모델을 푸싱할 수 있다.
시스템은 액션 제안 표시를 수신한 후에 선택을 수신(410)할 수 있다. 상기 선택은 액션 제안 사용자 인터페이스에 직접 입력된 쿼리의 형태일 수 있다. 상기 선택은 또한 클라이언트 디바이스의 화면 상에 디스플레이된 콘텐츠로부터 선택된 이미지 또는 텍스트의 형태일 수 있다. 예를 들어, 사용자는 화면 상의 콘텐츠를 선택하려는 의도를 표시하는 액션 제안 표시를 제공할 수 있다. 시스템은 화면 상의 요소들 중에서 텍스트, 이미지 또는 텍스트 및 이미지들의 조합을 선택할 수 있는 능력을 사용자에게 제공할 수 있다. 액션 제안 표시는 예를 들어 길게 누름, 두 손가락 누름이거나, 또는 사용자가 선택될 화면의 영역 위로 선택 툴을 드래그할 수 있다. 일부 구현예들에서, 사용자는 예를 들어, 추가적 단어들을 추가하거나 선택을 좁히기 위해 선택의 경계들을 변경할 기회를 가질 수 있다.
시스템은 그 후 선택을 쿼리로 전환할 수 있다(415). 사용자가 화면 상의 텍스트를 선택하거나 쿼리를 타이핑하면, 시스템에서 선택을 쿼리로 직접 전환할 수 있다. 따라서, 도 2a의 예시에서, 선택된 텍스트 patio는 쿼리로 사용된다. 사용자가 이미지를 선택하면, 시스템은 이미지와 연관된 텍스트를 결정하고 그 텍스트를 선택으로 사용할 수 있다. 예를 들어, 일부 이미지들은 이미지의 텍스트 설명이 포함된 이미지 태그를 포함한다. 이러한 태그들은 화면에 보이진 않지만, 시각 장애인을 돕기 위해 소프트웨어에서 사용될 수 있으며 이미지들을 인덱싱 하기 위해 검색 엔진들에 의해 사용될 수 있다. 시스템은 이미지 태그의 텍스트를 쿼리로 사용하여 선택된 이미지를 쿼리로 전환할 수 있다. 다른 예시로써, 이미지는 텍스트 인식 프로세스를 통해 결정될 수 있는 텍스트를 포함할 수 있다. 시스템은 이미지에서 인식된 텍스트를 쿼리로 사용하여 선택된 이미지를 쿼리로 전환할 수 있다. 다른 예시로써, 이미지는 지식 기반의 엔티티와 연관될 수 있다. 지식 기반은 이미지에 대한 제목 또는 텍스트 설명을 포함할 수 있다. 시스템은 텍스트 설명 또는 제목을 쿼리로 사용할 수 있다.
시스템은 액션 제안 모델에 쿼리를 제공할 수 있다(420). 모델은 주어진 쿼리에 대한 하나 이상의 동작들을 예측하도록 트레이닝된 기계 학습 알고리즘일 수 있다. 일부 구현예들에서, 시스템은 모델의 어휘를 줄이기 위해 한 번에 한 문자씩 모델에 쿼리를 제공한다. 모델은 시스템이 사용자에게 제공할 수 있는 쿼리에 대한 예측되거나 제안된 액션들을 제공할 수 있다(425). 예를 들어, 시스템은 사용자가 액션을 선택할 수 있도록 하는, 각 액션에 대한 선택 가능한 제어를 제공할 수 있다. 액션들은 검색 의도들 또는 공유 의도들과 같은 모바일 애플리케이션들에 대한 의도들을 표현한다. 액션들은 예를 들어, 클라이언트 디바이스가 브라우저를 작동 시키는 랩탑일 때, 웹사이트들에 대한 검색 의도들을 또한 표현할 수 있다. 시스템은 사용자가 액션을 선택하거나(430, 예) 또는 액션 제안 인터페이스를 종료(430, 아니오)할 때까지 기다린다. 사용자가 제안된 액션을 선택하면(430, 예), 시스템은 의도 내에서 쿼리를 파라미터로 사용하여, 의도를 갖는 액션에 의해 표현된 모바일 애플리케이션의 실행을 개시할 수 있다(435). 일부 구현예들에서, 의도는 검색 의도 또는 공유 의도와 같은 표준 의도이다. 따라서, 클라이언트 디바이스는 현재 실행중인 애플리케이션, 예를 들어 소스 애플리케이션으로부터 선택된 액션에 의해 표현된 모바일 애플리케이션, 예를 들어 목적지 애플리케이션으로 컨텍스트를 스위칭 한다. 클라이언트 디바이스가 모바일 디바이스가 아닌 구현예에서, 액션은 모바일 애플리케이션을 미러링하는 특정 웹사이트 내의 검색 인터페이스와 연관될 수 있고, 시스템은 브라우저로 하여금 쿼리를 파라미터로 사용하여 검색 의도를 갖는 검색 인터페이스를 탐색하게 할 수 있다. 따라서, 사용자는 목적지 애플리케이션(예를 들어, 모바일 애플리케이션 또는 모바일 애플리케이션의 웹 미러)으로 자동으로 스위칭할 수 있다.
일부 구현예들에서, 액션은 모바일 디바이스에 설치되지 않은 모바일 애플리케이션과 연관될 수 있다. 이 경우, 선택된 엔티티에 대한 액션은, 선택되었을 때, 사용자가 모바일 애플리케이션을 다운로드하고 설치할 수 있는 인터페이스로 사용자를 이동시키거나, 또는 모바일 애플리케이션의 설치를 자동으로 개시하는 보조 액션일 수 있다. 따라서, 액션의 선택은 사용자로 하여금 모바일 애플리케이션을 설치할 수 있게 하는 것으로 이해된다. 일부 구현예들에서, 모바일 애플리케이션이 성공적으로 설치된 후, 시스템은 새로 설치된 모바일 애플리케이션을 시작하도록 파라미터로써 쿼리를 사용하여 의도를 자동으로 개시할 수 있다. 일부 구현예들에서, 사용자가 특정한 모바일 애플리케이션을 설치하지 않은 경우, 시스템은 쿼리의 브라우저-기반 검색을 대신할 수 있다. 일부 구현예들에서, 액션이 지정되지 않은 경우 시스템은 쿼리를 핸들링하기 위해 브라우저 검색 또는 잘라 내기/복사 옵션과 같은 디폴트 옵션들을 사용자 인터페이스를 통해 제공할 수 있다.
도 5는 게시된 구현예들에 따라, 액션 제안 모델을 생성하기 위한 예시적인 프로세스(500)의 흐름도를 도시한다. 프로세스(500)는 도 1의 시스템(100)과 같은 액션 제안 시스템에 의해 수행될 수 있다. 프로세스(500)은 도 4의 단계(405)의 예시이며 도 1의 모델(130) 또는 모델(170)과 같은 액션 제안 액션 모델을 구축하는데 사용될 수 있다. 프로세스(500)는 모바일 애플리케이션 매핑을 위한 웹사이트를 획득함으로써 시작될 수 있다(505). 일부 구현예들에서, 매핑은 예를 들어 손으로 큐레이팅되어 제공될 수 있다. 일부 구현예들에서, 시스템은 매핑을 구축할 수 있다. 예를 들어, 시스템은 모바일 애플리케이션에 대한 웹사이트 미러를 결정하기 위해 모바일 애플리케이션 매니페스트들을 사용할 수 있다. 일부 구현예들에서, 시스템은 유사한 모바일 애플리케이션들을 함께 클러스터링하고 모든 유사한 애플리케이션들을 웹사이트 미러에 매핑함으로써 매핑을 보강할 수 있다. 예를 들어, 항공편, 렌터카, 호텔 등을 예약하기 위한 여러 가지 예약 모바일 애플리케이션들이 있을 수 있으며, 이들은 종래의 클러스터링 알고리즘들을 사용하여 함께 클러스터링될 수 있다. 일부 구현예들에서, 시스템은 클러스터 내의 각 애플리케이션을 웹사이트 미러에 매핑할 수 있다. 일부 구현예들에서, 시스템은 웹사이트가 매핑되는 모바일 애플리케이션들을 결정하기 위해 에뮬레이터를 사용할 수 있다. 예를 들어, 에뮬레이터는 검색 기록들로부터 쿼리를 획득하고 다양한 모바일 애플리케이션들(예를 들어, 웹 저장소를 통해 사용 가능한 것들)의 실행을 시뮬레이트 하도록 구성될 수 있다. 에뮬레이터는 특정한 모바일 애플리케이션이 동일하게 주어진 쿼리에 대한 웹사이트의 결과들과 유사한 결과들을 리턴하는지 여부를 결정할 수 있다. 그렇다면, 에뮬레이터는 웹사이트를 모바일 애플리케이션에 매핑할 수 있다. 일부 구현예들에서, 에뮬레이터는 모바일 애플리케이션에 쿼리를 제공하고 모바일 애플리케이션이 콘텐츠 상태로 끝나는지, 또는 달리 말해 쿼리에 대한 유효한 검색 결과를 리턴 하는지를 결정하도록 구성될 수 있다. 그렇다면, 시스템은 웹사이트 미러, 예를 들어, 동일하게 주어진 쿼리에 대한 유사한 결과들을 리턴하는 미러를 발견할 수 있다. 이러한 방식들 중 임의의 방식으로 시스템은 모바일 애플리케이션 매핑에 웹사이트를 구축할 수 있다.
시스템은 모델 트레이닝을 위한 포지티브 트레이닝 예시들을 식별할 수 있다(510). 포지티브 트레이닝 예시들은 검색 기록들에서 추출될 수 있다. 검색 기록들은 인터넷 검색 엔진 사용자에 의해 제출된 쿼리들의 익명 기록일 수 있다. 시스템은 검색 기록들의 쿼리들에 대해 높게 랭킹된 결과들을 선택할 수 있다. 결과가 쿼리와의 관련성이 높거나 높은 클릭률을 가질 때, 예를 들어, 쿼리 요청자에 의해 추가 시청을 위해 종종 선택되는 경우에 상기 결과는 높은 랭킹으로 고려될 수 있다. 높게 랭킹된 웹사이트들은 쿼리의 포지티브 예시들로 고려되므로 높게 랭킹된 웹사이트들에 매핑된 모바일 애플리케이션들은 쿼리에 대한 예상 액션들을 표현한다. 일부 구현예들에서, 포지티브 트레이닝 예시는 검색 기록들 내의 쿼리에 대한 웹사이트의 관련성과 동일한 가중치를 가질 수 있다. 일부 구현예들에서, 포지티브 트레이닝 예시는 클릭률에 비례하는 가중치를 가질 수 있다. 일부 구현예들에서, 시스템은 네거티브 예시들을 또한 생성할 수 있다. 예를 들어, 쿼리에 대해 높게 랭킹된 웹사이트에 매핑되지 않은 모바일 애플리케이션은 네거티브 예시일 수 있다. 유사하게, 높게 랭킹된 검색 결과가 대응하는 모바일 애플리케이션을 갖지 않을 때(예를 들어, 매핑 없음), 임의의 모바일 애플리케이션이 그 쿼리에 대한 네거티브 예시로써 사용될 수 있다.
시스템은 액션 제안 모델을 트레이닝 하도록 포지티브 트레이닝 예시들과 네거티브 트레이닝 예시들을 사용할 수 있다(515). 시스템은 트레이닝된 모델을 클라이언트 디바이스에 제공할 수 있다(520). 일부 구현예들에서, 액션 제안 애플리케이션이 설치 되거나 모델이 업데이트될 때, 상기 모델은 클라이언트 디바이스들로 푸싱될 수 있다. 일부 구현예들에서, 액션 제안 애플리케이션은 예를 들어, 애플리케이션 업데이트의 일부로써, 서버로부터 모델을 풀(pull)할 수 있다. 클라이언트 디바이스에서, 시스템은 모델을 개인화할지 여부를 결정할 수 있다(525). 개인화되지 않으면(525, 아니오), 프로세스(500)는 종료된다. 그렇지 않으면(525, 예), 시스템은 클라이언트 디바이스 또는 클라이언트 디바이스의 사용자와 연관된 검색 기록들로부터 포지티브 트레이닝 예시들을 식별할 수 있다(530). 예를 들어, 상술한 바와 같이, 시스템은 추가적인 포지티브 트레이닝 예시들을 추가하기 위해 사용자 프로필과 연관된 검색 기록들을 사용할 수 있다. 추가로 또는 대안적으로, 클라이언트 디바이스 및/또는 사용자와 연관된 검색 기록들은 트레이닝 예시들을 재가중(reweight) 하는데 사용될 수 있다. 시스템은 업데이트된 예시들을 사용하여 모델을 더 트레이닝할 수 있다(535). 따라서, 모델은 사용자에게 가장 관련 있는 액션들을 예측하도록 트레이닝될 수 있다. 프로세스(500)는 그 후 종료된다.
또한, 도 6a 및 도 6b는 게시된 구현에 따라, 선택 향상들을 갖는 모바일 컴퓨팅 디바이스의 예시적인 디스플레이들이다. 도 1의 시스템(100)과 같은 액션 제안 시스템은, 쿼리 향상들을 제시하기 위해 도 6a 및 도 6b의 사용자 인터페이스(600)를 제공할 수 있다. 도 6a의 예시에서, 사용자는 텍스트 "Dark Knight"를 선택한다(605). 시스템은 선택(605)에 대한 4개의 제안된 액션들, 즉 영화 데이터베이스 액션(620), 영화 리뷰 액션(625), 식사 예약 액션(630) 및 검색 액션(635)을 제공한다. 제안된 액션들(620 내지 635) 이외에, 시스템은 또한 쿼리 확장들(610)을 제공한다. 쿼리 확장들(610)은 다른 사람이 검색한 선택(605)의 쿼리와 유사하거나 다른 사람이 검색한 선택(605)을 포함하는 쿼리들을 표현할 수 있다. 시스템은 액션 제안 모델, 검색 기록들 또는 서버, 또는 쿼리 확장 모듈로부터, 서버 또는 클라이언트 디바이스에서 실행할 수 있는 쿼리 확장들(610)을 획득할 수 있다. 쿼리 확장 모듈은 검색 기록들로부터 결정된 공통 쿼리들 확장들 대한 액세스를 가질 수 있다. 도 6a의 예시에서, "Dark Knight" 쿼리에 대한 쿼리 확장들은 “Dark Knight trailer", "Dark Knight reviews" 및 "Dark Knight show times"이다. 도 6b의 예시에서, 사용자는 "Dark Knight show times"을 선택하고, 이는 현재 선택(615)이 되어 쿼리 Dark Knight show times로 변환된다. 시스템은 이 쿼리를 액션 제안 모델에 제공할 수 있으며, 액션 제안 모델은 상기 정제된 쿼리를 사용하여 액션들을 다시 랭킹할 수 있다. 일부 구현예들에서, 모델은 도 6b에 도시된 바와 같이 제안된 액션들(640, 625 및 620)과 같은 새로운 제안된 액션들의 세트를 제공할 수 있다. 액션(640)은 지역의 영화 시간들을 제공하는 모바일 애플리케이션에 대한 것일 수 있다. 액션들(625 및 620)은 도 6a와 관련하여 논의된 것들과 동일하지만, 순서가 변경되어, 영화 리뷰 액션(625)이 영화 데이터베이스 액션(620)보다 우선하게 된다. 따라서, 도 6a 및 도 6b는 선택에 대한 쿼리 확장들을 제안하는 사용자 인터페이스 및 상기 쿼리 확장들이 액션들을 상이하게 랭킹하는 방법 및/또는 기존의 쿼리와 상이한 제안된 액션들을 도시한다.
본 명세서에 명시되며, 명세서에 기술된 다양한 실시예들에 또한 적용 가능한 능력들이, 액션들의 제공이 콘텐츠, 레이아웃, 기능 또는 디바이스 화면 상에 디스플레이되는 이미지의 다른 양태들의 사용 권한들과 일치하는지 여부를 결정하고, 그에 따라 능력들을 세팅하도록 제공될 수 있다. 예를 들어, 서비스 조건들, 콘텐츠 라이센스 또는 다른 사용 제한들에 위배될 수 있는 선택 또는 콘텐츠를 제한하는 세팅들이 제공될 수 있다. 세팅들은 새로운 서비스 또는 디바이스 사용 권한들을 설정할 때 사용자에 의해 또는 앱 설치 루틴 또는 그와 같은 것에 의해 수동 또는 자동으로 이루어질 수 있다.
도 7은 도 1의 서버(110) 및/또는 클라이언트(150)로써 동작되는 일반 컴퓨터 디바이스(700)의 예시를 도시하며, 여기에 기술된 기법들과 함께 사용될 수 있다. 컴퓨팅 디바이스(700)는 랩탑들, 데스크탑들, 워크 스테이션들, 개인 휴대 정보 단말기들, 셀룰러 전화기들, 스마트폰들, 태블릿들, 서버들, 착용 가능한 디바이스들을 포함하여, 다른 컴퓨팅 디바이스들과 같은 컴퓨팅 디바이스들의 다양한 예시적인 형태들을 표현하도록 의도된 것이다. 여기에 도시된 컴포넌트들, 이들의 연결들 및 관계들 및, 이들의 기능들은 예시적일 뿐이며, 본 명세서에 기술되거나 청구된 발명의 구현예들을 제한하는 것을 의미하지 않는다.
컴퓨팅 디바이스(700)는 프로세서(702), 메모리(704), 저장 디바이스(706), 및 인터페이스(708)을 통해 연결된 확장 포트들(710)을 포함한다. 일부 구현예들에서, 컴퓨팅 디바이스는(700)는 인터페이스(708)를 통해 연결된 다른 컴포넌트들 중에서, 송수신기(746), 통신 인터페이스(744), 및 GPS(Global Positioning System)를 포함할 수 있다. 디바이스(700)는 통신 인터페이스(744)를 통해 무선으로 통신할 수 있으며, 그것은 필요한 경우 디지털 신호 프로세싱 회로를 포함할 수 있다. 각각의 컴포턴트들(702, 704, 706, 708, 710, 740, 744, 746 및 748)은 공통 마더보드 상에 또는 적절한 다른 방식들로 마운트될 수 있다.
프로세서(702)는 디스플레이(716)와 같은 외부 입/출력 디바이스 상의 GUI에 대한 그래픽 정보를 디스플레이하기 위해 메모리(704) 또는 저장 디바이스(706)에 저장된 명령어들을 포함하여, 컴퓨팅 디바이스(700) 내에서 실행하기 위한 명령어들을 프로세스할 수 있다. 디스플레이(716)는 모니터 또는 플랫 터치 화면 디스플레이일 수 있다. 일부 구현예들에서, 다수의 메모리들 및 메모리의 유형들과 함께, 적절하게, 다수의 프로세서들 및/또는 다수의 버스들이 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(700)이 연결될 수 있으며, 각각의 디바이스는 필요한 동작들의(예를 들어, 서버 뱅크, 블레이드 서버들의 그룹 또는 멀티-프로세서 시스템과 같은) 부분들을 제공한다.
메모리(704)는 컴퓨팅 디바이스(700) 내의 정보를 저장한다. 하나의 구현예에서, 메모리(704)는 휘발성 메모리 유닛 또는 유닛들이다. 다른 구현예에서, 메모리(704)는 비휘발성 메모리 유닛 또는 유닛들이다. 메모리(704)는 또한 자기 또는 광학 디스크와 같은 컴퓨터 판독 가능 매체의 다른 형태일 수 있다. 일부 구현예들에서, 메모리(704)는 확장 인터페이스를 통해 제공되는 확장 메모리를 포함할 수 있다.
저장 디바이스(706)는 컴퓨팅 디바이스(700)를 위한 대용량 저장소를 제공할 수 있다. 하나의 구현예에서, 저장 디바이스(706)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스와 같은 컴퓨터 판독 가능 매체, 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 디바이스, 또는 디바이스들의 어레이 이거나 이들을 포함할 수 있으며, 저장 영역 네트워크 내의 디바이스들 또는 다른 구성들을 포함한다. 컴퓨터 프로그램 제품은 그러한 컴퓨터 판독 가능 매체에 유형적으로 구현될 수 있다. 컴퓨터 프로그램 제품은 실행될 때, 상술한 바와 같은 하나 이상의 방법을 수행하는 명령어들을 또한 포함할 수 있다. 컴퓨터 판독 가능 매체 또는 기계 판독 가능 매체는 메모리(704), 저장 디바이스(706) 또는 프로세서(702)상의 메모리와 같은 저장 디바이스이다.
인터페이스(708)는 컴퓨팅 디바이스(700)에 대한 대역폭-집중적인 동작들을 관리하는 고속 제어기 또는 저 대역폭-집중적인 동작들을 관리하는 저속 제어기 또는 이러한 제어기들의 조합일 수 있다. 외부 인터페이스(740)가 디바이스(700)의 다른 디바이스들과의 근거리 통신을 가능하게 하도록 제공될 수 있다. 일부 구현예들에서, 제어기(708)는 저장 디바이스(706) 및 확장 포트(714)에 결합될 수 있다. 다양한 통신 포트들(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)을 포함할 수 있는 확장 포트는 스위치 또는 라우터와 같은 네트워킹 디바이스, 키보드, 포인팅 디바이스, 또는 스캐너와 같은 하나 이상의 입/출력 디바이스들에, 네트워크 어댑터를 통해 결합될 수 있다.
컴퓨팅 디바이스(700)는 도면에 도시된 바와 같이, 여러가지 상이한 형태들로 구현될 수 있다. 예를 들어, 표준 서버(730)로 구현되거나, 또는 그러한 서버들의 그룹에서 여러번 구현될 수 있다. 컴퓨팅 디바이스(700)는 또한 랙 서버 시스템의 일부로 구현될 수 있다. 추가로, 그것은 랩탑 컴퓨터(732), 개인용 컴퓨터(734) 또는 태블릿/스마트폰(736)과 같은 컴퓨팅 디바이스에서 구현될 수 있다. 전체 시스템은 서로 통신하는 다수의 컴퓨팅 디바이스들(700)로 구성될 수 있다. 다른 구성들도 가능하다.
도 8은, 도 1의 서버(110)일 수 있는, 일반 컴퓨터 디바이스(800)의 예시를 도시하며, 여기에 기술된 기법들과 함께 사용될 수 있다. 컴퓨팅 디바이스(800)는 서버들, 블레이드 서버들, 데이터센터들, 메인프레임들 및 다른 대규모 컴퓨팅 디바이스들과 같은 대규모 데이터 프로세싱 디바이스들의 다양한 예시적인 형태들을 표현하도록 의도된 것이다. 컴퓨팅 디바이스(800)는 네트워크 결합 스토리지 노드들을 가능하게 포함하며, 하나 이상의 통신 네트워크들에 의해 상호연결 되는 다수의 프로세서들을 갖는 분배된 시스템일 수 있다. 여기에 도시된 컴포넌트들, 이들의 연결들 및 관계들 및, 이들의 기능들은 예시적일 뿐이며, 본 명세서에 기술되거나 청구된 발명의 구현예들을 제한하는 것을 의미하지 않는다.
분배된 컴퓨팅 시스템(800)은 임의의 수의 컴퓨팅 디바이스들(880)을 포함할 수 있다. 컴퓨팅 디바이스들(880)은 로컬 또는 광역 네트워크, 전용 광 링크들, 모뎀들, 브리지들, 라우터들, 스위치들, 유선 또는 무선 네트워크들 등을 통해 통신하는 서버 또는 랙 서버들, 메인프레임들 등을 포함할 수 있다.
일부 구현예들에서, 각각의 컴퓨팅 디바이스는 다수의 랙들을 포함할 수 있다. 예를 들어, 컴퓨팅 디바이스(880a)는 다수의 랙들(858a-858n)을 포함한다. 각 랙은 프로세서들(852a-852n 및 862a-862n)과 같은 하나 이상의 프로세서들을 포함할 수 있다. 프로세서들은 데이터 프로세서들, 네트워크 결합 스토리지 디바이스들, 및 다른 컴퓨터 제어 디바이스들을 포함할 수 있다. 일부 구현예들에서, 하나의 프로세서는 마스터 프로세서로써 동작하고 스케쥴링 및 데이터 배포 작업들을 제어할 수 있다. 프로세서들은 하나 이상의 랙 스위치들(858)을 통해 상호연결될 수 있고, 하나 이상의 랙들은 스위치(878)를 통해 연결될 수 있다. 스위치(878)는 다수의 연결된 컴퓨팅 디바이스들(880) 간의 통신들을 핸들링할 수 있다.
각 랙은 메모리(854) 및 메모리(864)와 같은 메모리, 및 (856) 및 (866)과 같은 저장소를 포함할 수 있다. 저장소(856 및 866)는 대용량 저장소를 제공할 수 있으며, 네트워크-결합 디스크들, 플로피 디스크들, 하드 디스크들, 광학 디스크들, 테이프들, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 디바이스들과 같은 비휘발성 또는 휘발성 저장소 또는 디바이스들의 어레이를 포함할 수 있으며, 저장 영역 네트워크 내의 디바이스들 또는 다른 구성들을 포함한다. 저장소(856 또는 866)는 다수의 프로세서들, 다수의 랙들 또는 다수의 컴퓨팅 디바이스들 간에 공유될 수 있으며, 하나 이상의 프로세서들에 의해 실행 가능한 명령어들을 저장하는 컴퓨터 판독 가능 매체를 포함할 수 있다. 메모리(854 및 864)는 예를 들어, 휘발성 메모리 유닛 또는 유닛들, 비휘발성 메모리 유닛 또는 유닛들, 및/또는 자기 또는 광학 디스크들, 플래시 메모리, 캐시, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 및 이들의 조합들과 같은 컴퓨터 판독 가능 매체의 다른 형태들을 포함할 수 있다. 메모리(854)와 같은 메모리는 또한 프로세서들(852a-852n) 사이에서 공유될 수 있다. 인덱스와 같은 데이터 구조들은 예를 들어, 저장소(856) 및 메모리(854)에 걸쳐 저장될 수 있다. 컴퓨팅 디바이스(880)는 제어기들, 버스들, 입/출력 디바이스들, 통신 모듈들 등과 같은 도시되지 않은 다른 컴포넌트들을 포함할 수 있다.
시스템(100)과 같은 전체 시스템은 서로 통신하는 다수의 컴퓨팅 디바이스들(880)로 구성될 수 있다. 예를 들어, 디바이스(880a)는 디바이스들(880b, 880c, 및 880d)과 통신할 수 있고, 이들은 집합적으로 시스템 (100)으로 알려질 수 있다. 다른 예시로써, 도 1의 시스템(100)은 하나 이상의 컴퓨팅 디바이스들(880)을 포함할 수 있다. 컴퓨팅 디바이스들의 일부는 서로 지리적으로 가깝게 위치될 수 있고, 다른 것들은 지리적으로 멀리 떨어져 위치될 수 있다. 시스템(800)의 레이아웃은 단지 예시이며, 시스템은 다른 레이아웃들 또는 구성들을 취할 수 있다.
본 게시의 일정 양태들에 따르면, 모바일 디바이스는 적어도 하나의 프로세서, 디스플레이 디바이스, 및 명령어들을 저장하는 메모리를 포함하며, 상기 명령어들은 적어도 하나의 프로세서에 의해 실행될 때 모바일 디바이스로 하여금 동작들을 수행하게 한다. 상기 동작들은 디스플레이 디바이스를 통해 만들어진 선택을 쿼리로 변환하는 단계, 액션 제안 모델에 쿼리를 제공하는 단계, 액션 제안 모델이 주어진 쿼리에 대한 액션을 예측하도록 트레이닝 되는 단계, 각각의 액션이 모바일 애플리케이션과 연관되는 단계, 하나 이상의 예측된 액션들을 수신하는 단계, 그리고 디스플레이 디바이스 상에 하나 이상의 예측된 액션들의 디스플레이를 개시하는 단계를 포함한다.
이 양태 및 다른 양태들은 다음의 구성들 중 하나 이상을 포함할 수 있다. 예를 들어, 동작들은 하나 이상의 예측된 액션들 중 하나의 선택을 수신하고 선택과 연관된 모바일 애플리케이션에 대한 쿼리를 사용하여 의도를 개시하는 단계를 또한 포함할 수 있다. 다른 예시로써, 하나 이상의 예측된 액션들의 디스플레이를 개시하는 단계는 각각의 예측된 액션에 대하여, 상기 예측된 액션과 연관된 모바일 애플리케이션에 대한 아이콘을 디스플레이하는 단계를 포함한다. 일부 구현예들에서, 하나 이상의 예측된 액션들에 대한 아이콘들은 디스플레이 디바이스 상에 디스플레이된 콘텐츠를 오버레이한다. 다른 예시로써, 상기 선택은 이미지이며 상기 선택을 쿼리로 변환하는 단계는 상기 이미지와 관련된 텍스트를 식별하고 상기 텍스트의 적어도 일부를 상기 쿼리로 사용하는 단계를 포함한다. 다른 예시로써, 상기 선택은 이미지이며 상기 선택을 쿼리로 변환하는 단계는 상기 이미지 내의 엔티티를 식별하고 상기 엔티티를 쿼리로써 사용하는 단계를 포함한다.
다른 예시로써, 상기 동작들은 서버로부터 상기 액션 제안 모델을 수신하는 단계, 상기 모바일 디바이스의 사용자에 대한 검색 기록들 내의 화이트리스트된 웹사이트들을 식별하는 단계, 높은 랭킹으로 화이트리스트된 상기 웹사이트들을 포함하는 쿼리들로부터 트레이닝 예시들을 생성하는 단계, 상기 트레이닝 예시들은 상기 검색 기록들 내의 상기 화이트리스트된 웹사이트의 랭킹보다 높은 가중치를 가지며, 및 상기 트레이닝 예시들을 사용하여 상기 액션 제안 모델을 트레이닝하여, 개인화된 액션 제안 모델을 얻는 단계를 또한 포함할 수 있다. 다른 예시로써, 상기 선택은 음성 명령이며 상기 선택을 쿼리로 변환하는 단계는 상기 음성 명령 상의 단어 인식을 수행하는 단계, 및 인식된 단어들을 상기 쿼리로 사용하는 단계를 포함할 수 있다. 다른 예시로써, 상기 선택을 쿼리로 변환하는 단계는 적어도 하나의 확장된 쿼리를 생성하도록 상기 선택에 대한 확장들을 결정하는 단계, 제2 예측된 액션들을 생성하도록 상기 확장된 쿼리를 상기 액션 제안 모델에 제공하는 단계, 상기 적어도 하나의 확장된 쿼리의 디스플레이를 개시하는 단계, 및 상기 확장된 쿼리의 선택을 수신하는 것에 응답하여, 제2 예측된 액션들의 디스플레이를 개시하는 단계를 포함할 수 있다. 다른 예시로써, 모바일 애플리케이션들 중 적어도 하나는 모바일 디바이스 상에 설치되지 않을 수 있다.
본 게시의 일정 양태들에 따르면, 방법은 검색 기록들로부터, 검색 결과들에 대응하여 웹사이트가 높게 랭킹된 쿼리들을 식별하는 단계를 포함하며, 상기 웹사이트는 모바일 애플리케이션들에 대한 웹사이트들의 매핑내의 복수의 웹사이트들 중 하나이다. 상기 방법은 또한 상기 식별된 쿼리들로부터 액션 제안 모델에 대한 포지티브 트레이닝 예시들을 생성하는 단계를 포함하며, 각각의 포지티브 트레이닝 예시는 상기 쿼리, 상기 웹사이트, 상기 쿼리에 대한 검색 결과들 내의 상기 웹사이트의 랭킹에 대응하는 가중치 및 모바일 애플리케이션을 가지며, 상기 포지티브 트레이닝 예시들을 사용하여 상기 액션 제안 모델을 트레이닝하는 단계를 포함한다.
이 양태 및 다른 양태들은 다음의 구성들 중 하나 이상을 포함할 수 있다. 예를 들어, 상기 방법은 또한 제1 모바일 애플리케이션의 매니페스트에서 웹사이트를 식별하는 단계, 및 상기 웹사이트 및 상기 제1 모바일 애플리케이션을 상기 매핑에 추가하는 단계를 포함할 수 있다. 다른 예시로써, 상기 방법은 또한 웹 저장소 내의 유사한 모바일 애플리케이션들을 클러스터링 하는 단계, 제1 모바일 애플리케이션은 제1 클러스터에 나타나며, 상기 웹사이트가 높게 랭킹 되어있는 곳의 쿼리를 식별하는 단계, 상기 제1 모바일 애플리케이션에 의해 생성된 상기 쿼리에 대한 검색 결과가 제2 모바일 애플리케이션에 의해 생성된 상기 쿼리에 대한 검색 결과와 유사하다는 것을 검증하는 단계, 상기 제2 모바일 애플리케이션은 상기 제1 클러스터에 있으며, 및 상기 검증에 응답하여, 상기 웹사이트 및 상기 제2 모바일 애플리케이션을 상기 매핑에 추가하는 단계를 포함할 수 있다. 다른 예시로써, 상기 방법은 또한 모바일 디바이스 상에 저장된 검색 기록들에 기초하여 상기 모델을 개인화하는 단계를 포함할 수 있다. 다른 예시로써, 상기 방법은 상기 모델을 클라이언트 디바이스에 푸싱하는 단계, 및 상기 클라이언트 디바이스의 사용자와 연관된 검색 기록들에 기초하여 상기 모델을 개인화하는 단계를 포함할 수 있다.
본 게시의 일정 양태들에 따르면, 방법은 액션 제안 표시의 수신에 응답하여, 모바일 컴퓨팅 디바이스의 디스플레이 디바이스를 통해 이루어진 선택을 쿼리로 변환하는 단계, 액션 제안 모델을 사용하여 상기 쿼리에 대한 적어도 하나의 모바일 애플리케이션을 예측하는 단계, 상기 액션 제안 모델은 주어진 쿼리에 대한 모바일 애플리케이션을 예측하도록 검색 기록들로부터 획득된 포지티브 트레이닝 예시들을 사용하여 트레이닝되며, 및 상기 디스플레이 디바이스 상에 상기 적어도 하나의 모바일 애플리케이션에 대한 선택 가능한 제어의 디스플레이를 개시하는 단계를 포함할 수 있다.
이 양태 및 다른 양태들은 다음의 구성들 중 하나 이상을 포함할 수 있다. 예를 들어, 상기 방법은 또한 상기 선택 가능한 제어의 선택을 수신하는 단계, 및 상기 모바일 애플리케이션에 대한 상기 쿼리를 사용하여 검색 의도를 개시하는 단계를 포함할 수 있다. 다른 예시로써, 상기 선택 가능한 제어의 디스플레이를 개시하는 단계는 상기 모바일 애플리케이션에 대한 아이콘을 디스플레이 하는 것을 포함한다. 다른 예시로써, 상기 선택을 쿼리로 변환하는 단계는 적어도 하나의 확장된 쿼리를 생성하도록 상기 선택에 대한 확장들을 결정하는 단계, 제2 모바일 애플리케이션을 생성하도록 상기 확장된 쿼리를 상기 액션 제안 모델에 제공하는 단계, 상기 적어도 하나의 확장된 쿼리의 디스플레이를 개시하는 단계; 및 상기 확장된 쿼리의 선택을 수신하는 것에 응답하여, 상기 제2 모바일 애플리케이션에 대한 선택 가능한 제어의 디스플레이를 개시하는 단계를 포함할 수 있다. 다른 예시로써, 상기 모바일 컴퓨팅 디바이스 상에 적어도 하나의 상기 모바일 애플리케이션이 설치되어 있지 않을 수 있으며, 상기 방법은 상기 선택 가능한 제어의 선택을 수신하는 단계 및 상기 모바일 컴퓨팅 디바이스 상에 상기 모바일 애플리케이션의 설치를 개시하는 단계를 더 포함한다.
제1 양태에 따르면, 제공되는 방법은: 모바일 디바이스의 디스플레이 디바이스를 통해 이루어진 선택을 쿼리로 변환하는 단계, 상기 쿼리를 액션 제안 모델에 제공하는 단계, 상기 액션 제안 모델은 주어진 쿼리에 대한 액션을 예측하기 위해 트레이닝 되며, 각각의 액션은 모바일 애플리케이션과 연관되며, 하나 이상의 예측된 액션들을 수신하는 단계, 및 상기 디스플레이 디바이스 상에 상기 하나 이상의 예측된 액션들의 디스플레이를 개시하는 단계를 포함한다.
상기 제1 양태에 기초한 제2 양태에 따르면, 상기 방법은 상기 하나 이상의 예측된 액션들 중 하나의 선택을 수신하는 단계; 및 상기 선택과 연관된 상기 모바일 애플리케이션에 대한 상기 쿼리를 사용하여 의도를 개시하는 단계를 더 포함할 수 있다.
상기 제2 양태에 기초한 제3 양태에 따르면, 상기 하나 이상의 예측된 액션들의 디스플레이를 개시하는 단계는 각각의 예측된 액션에 대하여, 상기 예측된 액션과 연관된 상기 모바일 애플리케이션에 대한 아이콘을 디스플레이하는 단계를 포함할 수 있다. 상기 하나 이상의 예측된 액션들에 대한 상기 아이콘들은 상기 디스플레이 디바이스 상에 디스플레이된 콘텐츠를 오버레이할 수 있다.
제1, 제2, 또는 제3 양태에 기초한 제4 양태에 따르면, 상기 선택은 이미지이며 상기 선택을 쿼리로 변환하는 단계는: 상기 이미지와 관련된 텍스트를 식별하는 단계; 및 상기 텍스트의 적어도 일부를 상기 쿼리로 사용하는 단계를 포함할 수 있다.
제1 양태 내지 제4 양태 중 어느 하나에 기초한 제5 양태에 따르면, 상기 선택은 이미지이며 상기 선택을 쿼리로 변환하는 단계는: 상기 이미지 내의 엔티티를 식별하는 단계; 및 상기 엔티티를 상기 쿼리로 사용하는 단계를 포함할 수 있다.
제1 양태 내지 제5 양태 중 어느 하나에 기초한 제6 양태에 따르면, 상기 선택은 서버로부터 상기 액션 제안 모델을 수신하는 단계; 상기 모바일 디바이스의 사용자에 대한 검색 기록들 내의 화이트리스트된 웹사이트들을 식별하는 단계; 높은 랭킹으로 화이트리스트된 상기 웹사이트들을 포함하는 쿼리들로부터 트레이닝 예시들을 생성하는 단계, 상기 트레이닝 예시들은 상기 검색 기록들 내의 상기 화이트리스트된 웹사이트의 랭킹보다 높은 가중치를 가지며; 및 상기 트레이닝 예시들을 사용하여 상기 액션 제안 모델을 트레이닝하여, 개인화된 액션 제안 모델을 얻는 단계를 더 포함할 수 있다.
제1 양태 내지 제6 양태 중 어느 하나에 기초한 제7 양태에 따르면, 상기 선택은 음성 명령이며 상기 선택을 쿼리로 변환하는 단계는: 상기 음성 명령 상의 단어 인식을 수행하는 단계; 및 인식된 단어들을 상기 쿼리로 사용하는 단계를 포함할 수 있다.
제1 양태 내지 제7 양태 중 어느 하나에 기초한 제8 양태에 따르면, 상기 선택을 쿼리로 변환하는 단계는: 적어도 하나의 확장된 쿼리를 생성하도록 상기 선택에 대한 확장들을 결정하는 단계; 제2 예측된 액션들을 생성하도록 상기 확장된 쿼리를 상기 액션 제안 모델에 제공하는 단계; 상기 적어도 하나의 확장된 쿼리의 디스플레이를 개시하는 단계; 및 상기 확장된 쿼리의 선택을 수신하는 것에 응답하여, 제2 예측된 액션들의 디스플레이를 개시하는 단계를 포함할 수 있다.
제1 양태 내지 제8 양태 중 어느 하나에 기초한 제9 양태에 따르면, 상기 모바일 애플리케이션들 중 적어도 하나는 상기 모바일 디바이스 상에 설치되지 않을 수 있다. 상기 방법은 상기 예측된 액션의 선택을 수신하는 단계; 및 상기 모바일 디바이스 상에 상기 모바일 애플리케이션의 설치를 개시하는 단계를 더 포함할 수 있다.
본 게시의 제10 양태에 따르면, 방법은 검색 기록들로부터, 검색 결과들에 대응하여 웹사이트가 높게 랭킹된 쿼리들을 식별하는 단계를 포함하며, 상기 웹사이트는 모바일 애플리케이션들에 대한 웹사이트들의 매핑내의 복수의 웹사이트들 중 하나이다. 상기 방법은 또한 상기 쿼리들로부터 액션 제안 모델에 대한 포지티브 트레이닝 예시들을 생성하는 단계, 각각의 포지티브 트레이닝 예시는 상기 쿼리, 상기 웹사이트, 상기 쿼리에 대한 검색 결과들 내의 상기 웹사이트의 랭킹에 대응하는 가중치 및 모바일 애플리케이션을 가지며, 및 상기 포지티브 트레이닝 예시들을 사용하여 상기 액션 제안 모델을 트레이닝하는 단계를 포함한다.
제10 양태에 기초한 제11 양태에 따르면, 상기 방법은: 제1 모바일 애플리케이션의 매니페스트에서 웹사이트를 식별하는 단계; 및 상기 웹사이트 및 상기 제1 모바일 애플리케이션을 상기 매핑에 추가하는 단계를 더 포함할 수 있다.
제10 양태 또는 제11 양태에 기초한 제12 양태에 따르면, 상기 방법은: 웹 저장소 내의 유사한 모바일 애플리케이션들을 클러스터링 하는 단계, 제1 모바일 애플리케이션은 제1 클러스터에 나타나며; 상기 웹사이트가 높게 랭킹 되어있는 쿼리를 식별하는 단계; 상기 제1 모바일 애플리케이션에 의해 생성된 상기 쿼리에 대한 검색 결과가 제2 모바일 애플리케이션에 의해 생성된 상기 쿼리에 대한 검색 결과와 유사하다는 것을 검증하는 단계, 상기 제2 모바일 애플리케이션은 상기 제1 클러스터에 있으며; 및 상기 검증에 응답하여, 상기 웹사이트 및 상기 제2 모바일 애플리케이션을 상기 매핑에 추가하는 단계를 더 포함할 수 있다.
제10 양태 내지 제12 양태 중 어느 하나에 기초한 제13 양태에 따르면, 상기 방법은: 모바일 디바이스 상에 저장된 검색 기록들에 기초하여 상기 모델을 개인화하는 단계를 더 포함할 수 있다.
제10 양태 내지 제13 양태 중 어느 하나에 기초한 제14 양태에 따르면, 상기 방법은: 상기 모델을 클라이언트 디바이스에 푸싱하는 단계; 및 상기 클라이언트 디바이스의 사용자와 연관된 검색 기록들에 기초하여 상기 모델을 개인화하는 단계를 더 포함할 수 있다.
본 게시의 제15 양태에 따르면, 방법은 액션 제안 표시의 수신에 응답하여, 모바일 컴퓨팅 디바이스의 디스플레이 디바이스를 통해 이루어진 선택을 쿼리로 변환하는 단계, 액션 제안 모델을 사용하여 상기 쿼리에 대한 적어도 하나의 모바일 애플리케이션을 예측하는 단계, 상기 액션 제안 모델은 주어진 쿼리에 대한 모바일 애플리케이션들을 예측하도록 트레이닝되며, 및 상기 디스플레이 디바이스 상에 적어도 하나의 모바일 애플리케이션에 대한 선택 가능한 제어의 디스플레이를 개시하는 단계를 포함할 수 있다.
제15 양태에 기초한 제16 양태에 따르면, 상기 방법은: 선택 가능한 제어의 선택을 수신하는 단계; 및 상기 모바일 애플리케이션에 대한 상기 쿼리를 사용하여 검색 의도를 개시하는 단계를 더 포함할 수 있다.
제15 양태 또는 제16 양태에 기초한 제17 양태에 따르면, 상기 선택 가능한 제어의 디스플레이를 개시하는 단계는 상기 모바일 애플리케이션에 대한 아이콘을 디스플레이 하는 단계를 포함할 수 있다.
제15 양태 내지 제17 양태 중 어느 하나에 기초한 제18 양태에 따르면, 상기 선택을 쿼리로 변환하는 단계는: 적어도 하나의 확장된 쿼리를 생성하도록 상기 선택에 대한 확장들을 결정하는 단계; 제2 모바일 애플리케이션을 생성하도록 상기 확장된 쿼리를 상기 액션 제안 모델에 제공하는 단계; 상기 적어도 하나의 확장된 쿼리의 디스플레이를 개시하는 단계; 및 상기 확장된 쿼리의 선택을 수신하는 것에 응답하여, 상기 제2 모바일 애플리케이션에 대한 선택 가능한 제어의 디스플레이를 개시하는 단계를 포함할 수 있다.
제15 양태 내지 제18 양태 중 어느 하나에 기초한 제19 양태에 따르면, 상기 모바일 컴퓨팅 디바이스 상에 적어도 하나의 상기 모바일 애플리케이션이 설치되어 있지 않으며 상기 방법은: 상기 선택 가능한 제어의 선택을 수신하는 단계; 및 상기 모바일 컴퓨팅 디바이스 상에 상기 모바일 애플리케이션의 설치를 개시하는 단계를 더 포함할 수 있다.
제20 양태에 따르면, 컴퓨터 장치는: 적어도 하나의 프로세서; 및 컴퓨터 판독 가능 명령어들을 저장하는 메모리를 포함하며, 상기 명령어들은 적어도 하나의 프로세서에 의해 실행될 때, 상기 프로세서로 하여금 제1 양태 내지 제19 양태 중 어느 하나에 따른 방법을 수행하게 한다.
제21 양태에 따르면, 컴퓨터 판독 가능 매체는 프로세서로 하여금 제1 양태 내지 제19 양태 중 어느 하나에 따른 방법을 수행하게 하도록 배열된 컴퓨터 판독 가능 명령어들을 운반한다.
다양한 구현예들은 적어도 하나의 프로그램 가능한 프로세서를 포함하는 프로그램 가능한 시스템 상에서 실행 가능하고 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램들 내의 구현을 포함할 수 있으며, 상기 구현은 저장 시스템, 적어도 하나의 입력 장치, 및 적어도 하나의 출력 장치로 데이터 및 명령어들을 전송하고 이들로부터 데이터 및 명령어들을 수신하도록 결합된, 전용적이고 범용적인 목적일 수 있다.
이러한 컴퓨터 프로그램들(프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 또는 코드로 또한 알려짐)은 프로그램 가능한 프로세서에 대한 기계 명령어들을 포함하며, 높은 수준의 절차 및/또는 객체 지향 프로그래밍 언어, 및/또는 어셈블리/기계 언어에서 구현될 수 있다. 본 명세서에 사용된 바와 같이, "기계 판독 가능 매체", "컴퓨터 판독 가능 매체"라는 용어들은 임의의 비 일시적 컴퓨터 프로그램 제품, 장치 및/또는 디바이스(예를 들어, 자기 디스크들, 광학 디스크들, 기계 명령어들 및/또는 데이터를 프로그램 가능한 프로세서에 제공하는데 사용되는 메모리(Read Access Memory 포함), Programmable Logic Devices(PLDs))를 지칭한다.
시스템들 및 기법들은 백 엔드 컴포넌트(예를 들어, 데이터 서버)를 포함하거나 미들웨어 컴포넌트(예를 들어, 애플리케이션 서버)를 포함하거나, 프론트 엔드 컴포넌트(예를 들어, 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터, 그것을 통해 사용자는 여기에 기술된 시스템들 및 기법들의 구현과 인터랙팅할 수 있다), 또는 그러한 백 엔드, 미들웨어 또는 프론트 엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신(예를 들어, 통신 네트워크)의 매체 또는 임의의 형태에 의해 상호연결될 수 있다. 통신 네트워크들의 예시들은 근거리 통신망("LAN"), 광역 통신망("WAN"), 및 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트들과 서버들을 포함할 수 있다.클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 전형적으로 통신 네트워크를 통해 인터랙팅 한다. 클라이언트와 서버의 관계는 컴퓨터 프로그램들 때문에 생기며, 상기 프로그램들은 각각의 컴퓨터들에서 동작하고 서로 클라이언트-서버 관계를 갖는다.
다양한 구현예들이 기술되었다. 그럼에도 불구하고, 본 발명의 범위와 사상을 벗어나지 않고서 다양한 수정들이 가능하다. 추가로, 도면들에 도시된 논리 흐름들은 바람직한 결과들을 달성하기 위해, 도시된 특정 순서, 또는 순차적 순서를 요구하지 않는다. 추가로, 다른 단계들이 제공되거나, 기술된 흐름들로부터 단계들이 제거될 수 있으며, 그리고 기술된 시스템들에 다른 컴포넌트들이 추가되거나 시스템들로부터 제거될 수 있다. 따라서, 다른 구현예들은 다음의 청구항들의 범위 내에 있다.

Claims (18)

  1. 모바일 디바이스로서,
    디스플레이 디바이스;
    적어도 하나의 프로세서; 및
    명령어를 포함하는 메모리를 포함하며, 상기 명령어는 상기 적어도 하나의 프로세서에 의해 실행될 때 상기 모바일 디바이스로 하여금:
    상기 모바일 디바이스에서, 원격 서버로부터 액션 제안 모델을 수신하게 하고, 상기 액션 제안 모델은 대응하는 쿼리에 응답하여 하나 이상의 액션들을 예측하기 위해 복수의 사용자들의 익명 검색 기록으로부터 획득된 트레이닝 예시들을 사용하여 트레이닝되며, 상기 하나 이상의 액션들 각각은 대응하는 모바일 애플리케이션과 연관되며, 상기 트레이닝 예시들은 상기 복수의 사용자들의 익명 검색 기록에서 상기 대응하는 쿼리에 대해 높게 랭킹된 웹사이트들에 기초하는 포지티브 트레이닝 예시들을 포함하며;
    상기 모바일 디바이스의 사용자의 검색 기록에 기초하여 추가 트레이닝 예시들을 생성하게 하고, 상기 추가 트레이닝 예시들은 상기 모바일 디바이스의 사용자의 검색 기록으로부터의 포지티브 트레이닝 예시들을 포함하며;
    상기 모바일 디바이스에서, 상기 액션 제안 모델을 수신함에 후속하여 상기 액션 제안 모델을 추가로 트레이닝하게 하고, 상기 액션 제안 모델을 추가로 트레이닝하는 것은 상기 사용자에게 개인화되는 개인화된 액션 제안 모델을 생성하기 위해 상기 추가 트레이닝 예시들을 사용하여 상기 액션 제안 모델을 트레이닝하는 것이며;
    상기 개인화된 액션 제안 모델을 생성하기 위해 상기 액션 제안 모델을 추가로 트레이닝하는 것에 후속하여:
    상기 디스플레이 디바이스를 통해 이루어진 선택을 특정한 쿼리로 변환하게 하고; 그리고
    상기 특정한 쿼리에 기초하여 상기 하나 이상의 액션들 중 적어도 하나의 액션을 예측하기 위해 상기 특정한 쿼리를 상기 개인화된 액션 제안 모델에 제공하게 하는, 모바일 디바이스.
  2. 청구항 1에 있어서, 상기 검색 기록에 기초하여 상기 추가 트레이닝 예시들을 생성하는 것은, 상기 모바일 디바이스가:
    상기 검색 기록에서 화이트리스트된 웹사이트를 식별하고; 그리고
    상기 화이트리스트된 웹사이트를 높은 랭킹으로 포함하는 쿼리들로부터 상기 트레이닝 예시들을 생성하는 것인, 모바일 디바이스.
  3. 청구항 1에 있어서, 상기 선택은 음성 명령이고, 상기 선택을 상기 쿼리로 변환하는 것은, 상기 모바일 디바이스가:
    인식된 단어를 생성하기 위해 상기 음성 명령에 대해 단어 인식을 수행하고; 그리고
    상기 인식된 단어를 상기 쿼리로서 사용하는 것인, 모바일 디바이스.
  4. 청구항 1에 있어서, 상기 선택을 상기 쿼리로 변환하는 것은, 상기 모바일 디바이스가:
    적어도 하나의 확장된 쿼리를 생성하기 위해 상기 선택에 대한 확장들을 결정하고;
    제2 예측된 액션을 생성하기 위해 상기 확장된 쿼리를 상기 액션 제안 모델에 제공하고;
    상기 적어도 하나의 확장된 쿼리의 디스플레이를 개시하고; 그리고
    상기 확장된 쿼리의 선택을 수신함에 응답하여, 상기 제2 예측된 액션의 디스플레이를 개시하는 것인, 모바일 디바이스
  5. 청구항 1에 있어서, 상기 명령어는 상기 모바일 디바이스로 하여금:
    상기 디스플레이 디바이스에서 상기 하나 이상의 예측된 액션들의 디스플레이를 개시하게 하는, 모바일 디바이스.
  6. 청구항 5에 있어서, 상기 명령어는 상기 모바일 디바이스로 하여금:
    상기 하나 이상의 예측된 액션들 중 하나의 선택을 수신하게 하고; 그리고
    상기 쿼리를 사용하여 상기 선택과 연관된 상기 모바일 애플리케이션에 대한 의도를 개시하게 하는, 모바일 디바이스.
  7. 청구항 1에 있어서, 상기 하나 이상의 예측된 액션들의 디스플레이를 개시하는 것은 각각의 예측된 액션에 대해, 상기 예측된 액션과 연관된 상기 모바일 애플리케이션에 대한 아이콘을 디스플레이하는 것을 포함하는, 모바일 디바이스.
  8. 청구항 7에 있어서, 상기 하나 이상의 예측된 액션들에 대한 상기 아이콘은 상기 디스플레이 디바이스에 디스플레이된 콘텐츠에 오버레이되는, 모바일 디바이스.
  9. 청구항 1에 있어서, 상기 선택은 이미지이며, 상기 선택을 상기 쿼리로 변환하는 것은, 상기 모바일 디바이스가:
    상기 이미지에서 엔터티를 식별하고; 그리고
    상기 엔터티를 상기 쿼리로서 사용하는 것인, 모바일 디바이스.
  10. 모바일 디바이스의 하나 이상의 프로세서들에 의해 구현되는 방법으로서,
    상기 모바일 디바이스에서, 원격 서버로부터 액션 제안 모델을 수신하는 단계, 상기 액션 제안 모델은 대응하는 쿼리에 응답하여 하나 이상의 액션들을 예측하기 위해 복수의 사용자들의 익명 검색 기록으로부터 획득된 트레이닝 예시들을 사용하여 트레이닝되며, 상기 하나 이상의 액션들 각각은 대응하는 모바일 애플리케이션과 연관되며, 상기 트레이닝 예시들은 상기 복수의 사용자들의 익명 검색 기록에서 상기 대응하는 쿼리에 대해 높게 랭킹된 웹사이트들에 기초하는 포지티브 트레이닝 예시들을 포함하며;
    상기 모바일 디바이스의 사용자의 검색 기록에 기초하여 추가 트레이닝 예시들을 생성하는 단계, 상기 추가 트레이닝 예시들은 상기 모바일 디바이스의 사용자의 검색 기록으로부터의 포지티브 트레이닝 예시들을 포함하며;
    상기 모바일 디바이스에서, 상기 액션 제안 모델을 수신함에 후속하여 상기 액션 제안 모델을 추가로 트레이닝하는 단계, 상기 액션 제안 모델을 추가로 트레이닝하는 것은 상기 사용자에게 개인화되는 개인화된 액션 제안 모델을 생성하기 위해 상기 추가 트레이닝 예시들을 사용하여 상기 액션 제안 모델을 트레이닝하는 것이며;
    상기 개인화된 액션 제안 모델을 생성하기 위해 상기 액션 제안 모델을 추가로 트레이닝하는 것에 후속하여:
    디스플레이 디바이스를 통해 이루어진 선택을 특정한 쿼리로 변환하는 단계; 그리고
    상기 특정한 쿼리에 기초하여 상기 하나 이상의 액션들 중 적어도 하나의 액션을 예측하기 위해 상기 특정한 쿼리를 상기 개인화된 액션 제안 모델에 제공하는 단계를 포함하는, 방법.
  11. 청구항 10에 있어서, 상기 검색 기록에 기초하여 상기 추가 트레이닝 예시들을 생성하는 단계는:
    상기 검색 기록에서 화이트리스트된 웹사이트를 식별하는 단계; 및
    상기 화이트리스트된 웹사이트를 높은 랭킹으로 포함하는 쿼리들로부터 상기 트레이닝 예시들을 생성하는 단계를 포함하는, 방법.
  12. 청구항 10에 있어서, 상기 선택은 음성 명령이고, 상기 선택을 상기 쿼리로 변환하는 단계는:
    인식된 단어를 생성하기 위해 상기 음성 명령에 대해 단어 인식을 수행하는 단계; 및
    상기 인식된 단어를 상기 쿼리로서 사용하는 단계를 포함하는, 방법.
  13. 청구항 10에 있어서, 상기 선택을 상기 쿼리로 변환하는 단계는:
    적어도 하나의 확장된 쿼리를 생성하기 위해 상기 선택에 대한 확장들을 결정하는 단계;
    제2 예측된 액션을 생성하기 위해 상기 확장된 쿼리를 상기 액션 제안 모델에 제공하는 단계;
    상기 적어도 하나의 확장된 쿼리의 디스플레이를 개시하는 단계; 그리고
    상기 확장된 쿼리의 선택을 수신함에 응답하여, 상기 제2 예측된 액션의 디스플레이를 개시하는 단계를 포함하는, 방법.
  14. 청구항 10에 있어서,
    상기 디스플레이 디바이스에서 상기 하나 이상의 예측된 액션들의 디스플레이를 개시하는 단계를 더 포함하는, 방법.
  15. 청구항 14에 있어서,
    상기 하나 이상의 예측된 액션들 중 하나의 선택을 수신하는 단계; 및
    상기 쿼리를 사용하여 상기 선택과 연관된 상기 모바일 애플리케이션에 대한 의도를 개시하는 단계를 포함하는, 방법.
  16. 청구항 10에 있어서,
    상기 하나 이상의 예측된 액션들의 디스플레이를 개시하는 단계는 각각의 예측된 액션에 대해, 상기 예측된 액션과 연관된 상기 모바일 애플리케이션에 대한 아이콘을 디스플레이하는 것을 포함하는, 방법.
  17. 청구항 16에 있어서,
    상기 하나 이상의 예측된 액션들에 대한 상기 아이콘은 상기 디스플레이 디바이스에 디스플레이된 콘텐츠에 오버레이되는, 방법.
  18. 청구항 10에 있어서, 상기 선택은 이미지이며, 상기 선택을 상기 쿼리로 변환하는 단계는:
    상기 이미지에서 엔터티를 식별하는 단계; 및
    상기 엔터티를 상기 쿼리로서 사용하는 단계를 포함하는, 방법.
KR1020207024504A 2015-10-01 2016-09-30 사용자-선택 콘텐츠용 액션 제안들 KR102243993B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/872,582 US10970646B2 (en) 2015-10-01 2015-10-01 Action suggestions for user-selected content
US14/872,582 2015-10-01
PCT/US2016/055055 WO2017059388A1 (en) 2015-10-01 2016-09-30 Action suggestions for user-selected content

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020187011820A Division KR102150508B1 (ko) 2015-10-01 2016-09-30 사용자-선택 콘텐츠용 액션 제안들

Publications (2)

Publication Number Publication Date
KR20200103877A KR20200103877A (ko) 2020-09-02
KR102243993B1 true KR102243993B1 (ko) 2021-04-23

Family

ID=58428007

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020207024504A KR102243993B1 (ko) 2015-10-01 2016-09-30 사용자-선택 콘텐츠용 액션 제안들
KR1020187011820A KR102150508B1 (ko) 2015-10-01 2016-09-30 사용자-선택 콘텐츠용 액션 제안들

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020187011820A KR102150508B1 (ko) 2015-10-01 2016-09-30 사용자-선택 콘텐츠용 액션 제안들

Country Status (6)

Country Link
US (2) US10970646B2 (ko)
EP (1) EP3341825A4 (ko)
JP (2) JP6695966B2 (ko)
KR (2) KR102243993B1 (ko)
CN (2) CN113434067A (ko)
WO (1) WO2017059388A1 (ko)

Families Citing this family (98)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US20120309363A1 (en) 2011-06-03 2012-12-06 Apple Inc. Triggering notifications associated with tasks items that represent tasks to perform
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
CN113470640B (zh) 2013-02-07 2022-04-26 苹果公司 数字助理的语音触发器
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
WO2015020942A1 (en) 2013-08-06 2015-02-12 Apple Inc. Auto-activating smart responses based on activities from remote devices
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
EP3480811A1 (en) 2014-05-30 2019-05-08 Apple Inc. Multi-command single utterance input method
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9916328B1 (en) 2014-07-11 2018-03-13 Google Llc Providing user assistance from interaction understanding
US9965559B2 (en) 2014-08-21 2018-05-08 Google Llc Providing automatic actions for mobile onscreen content
US9940352B1 (en) * 2015-01-05 2018-04-10 Relcy, Inc. Method and system for smart data input relay
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10970646B2 (en) 2015-10-01 2021-04-06 Google Llc Action suggestions for user-selected content
US10178527B2 (en) 2015-10-22 2019-01-08 Google Llc Personalized entity repository
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10055390B2 (en) 2015-11-18 2018-08-21 Google Llc Simulated hyperlinks on a mobile device based on user intent and a centered selection of text
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US10409488B2 (en) * 2016-06-13 2019-09-10 Microsoft Technology Licensing, Llc Intelligent virtual keyboards
US10535005B1 (en) 2016-10-26 2020-01-14 Google Llc Providing contextual actions for mobile onscreen content
US11169660B2 (en) * 2016-12-14 2021-11-09 Microsoft Technology Licensing, Llc Personalized adaptive task framework for user life events
US11237696B2 (en) 2016-12-19 2022-02-01 Google Llc Smart assist for repeated actions
US11695711B2 (en) * 2017-04-06 2023-07-04 International Business Machines Corporation Adaptive communications display window
US11153411B2 (en) * 2017-04-10 2021-10-19 Samsung Electronics Co., Ltd. Method and apparatus for processing user request
US11170285B2 (en) * 2017-05-05 2021-11-09 Google Llc Virtual assistant configured to recommended actions in furtherance of an existing conversation
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. MULTI-MODAL INTERFACES
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US11263399B2 (en) * 2017-07-31 2022-03-01 Apple Inc. Correcting input based on user context
US10891126B2 (en) 2017-09-11 2021-01-12 Mx Technologies, Inc. On-device feature and performance testing and adjustment
US10963819B1 (en) * 2017-09-27 2021-03-30 Amazon Technologies, Inc. Goal-oriented dialog systems and methods
CN109814938A (zh) * 2017-11-20 2019-05-28 广东欧珀移动通信有限公司 应用程序预测模型建立、预加载方法、装置、介质及终端
US11210286B2 (en) 2017-12-28 2021-12-28 Microsoft Technology Licensing, Llc Facet-based conversational search
KR20190102587A (ko) * 2018-02-26 2019-09-04 엘지전자 주식회사 이동 단말기 및 그 동작방법
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US20190392345A1 (en) * 2018-06-26 2019-12-26 Holland & Hart LLP Automatic action loading based on a data context and a machine-learned model
US10678571B2 (en) * 2018-07-13 2020-06-09 Microsoft Technology Licensing, Llc Image-based skill triggering
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
CN113168283A (zh) * 2018-12-18 2021-07-23 西门子股份公司 建模的知识获取方法、装置和系统
US20220108693A1 (en) * 2019-01-16 2022-04-07 Sony Group Corporation Response processing device and response processing method
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11468881B2 (en) * 2019-03-29 2022-10-11 Samsung Electronics Co., Ltd. Method and system for semantic intelligent task learning and adaptive execution
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
KR102352654B1 (ko) * 2019-05-06 2022-01-18 구글 엘엘씨 추론된 의도에 기반한 로컬 확장 트리거
EP3759595B1 (en) * 2019-05-06 2021-08-25 Google LLC Proactive caching of transient assistant action suggestions at a feature phone
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
US11468890B2 (en) 2019-06-01 2022-10-11 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US10938952B2 (en) * 2019-06-13 2021-03-02 Microsoft Technology Licensing, Llc Screen reader summary with popular link(s)
CN112130714B (zh) * 2019-06-25 2021-08-20 华为技术有限公司 可进行学习的关键词搜索方法和电子设备
WO2021006906A1 (en) * 2019-07-11 2021-01-14 Google Llc System and method for providing an artificial intelligence control surface for a user of a computing device
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11183193B1 (en) 2020-05-11 2021-11-23 Apple Inc. Digital assistant hardware abstraction
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
CN115668140A (zh) * 2020-05-29 2023-01-31 谷歌有限责任公司 当使用默认建议模型不合理时使用临时机器学习模型生成能够选择的建议
DK202070658A1 (en) 2020-06-01 2022-01-13 Apple Inc Suggesting executable actions in response to detecting events
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
US11181988B1 (en) 2020-08-31 2021-11-23 Apple Inc. Incorporating user feedback into text prediction models via joint reward planning
US11410653B1 (en) 2020-09-25 2022-08-09 Amazon Technologies, Inc. Generating content recommendation based on user-device dialogue
CN112328341B (zh) * 2020-10-23 2021-07-23 前海飞算云创数据科技(深圳)有限公司 模型显示方法,装置,电子设备及存储介质
CN114995661A (zh) * 2021-02-20 2022-09-02 花瓣云科技有限公司 一种联想词展示方法、终端设备及计算机存储介质
US20220415319A1 (en) * 2021-06-28 2022-12-29 Google Llc On-device generation and personalization of zero-prefix suggestion(s) and use thereof
CN113515633B (zh) * 2021-07-02 2023-08-08 福州大学 基于计算机视觉的屏幕浏览场景分类方法
WO2023022427A1 (en) 2021-08-18 2023-02-23 Samsung Electronics Co., Ltd. Systems and methods for smart capture to provide input and action suggestions
US11709691B2 (en) * 2021-09-01 2023-07-25 Sap Se Software user assistance through image processing
US11914644B2 (en) * 2021-10-11 2024-02-27 Microsoft Technology Licensing, Llc Suggested queries for transcript search
KR20230103577A (ko) * 2021-12-31 2023-07-07 삼성전자주식회사 전자 장치 및 그의 동작 방법
US20230334073A1 (en) * 2022-04-19 2023-10-19 Microsoft Technology Licensing, Llc Inline search based on intent-detection

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014512046A (ja) * 2011-03-31 2014-05-19 マイクロソフト コーポレーション 拡張された会話理解アーキテクチャ

Family Cites Families (203)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2566309B2 (ja) 1989-01-26 1996-12-25 松下電工株式会社 樹脂被覆磁気回路部品及びその製造方法
KR100348915B1 (ko) 1994-05-12 2002-12-26 마이크로소프트 코포레이션 텔레비젼프로그램선택방법및그시스템
US5946647A (en) 1996-02-01 1999-08-31 Apple Computer, Inc. System and method for performing an action on a structure in computer-generated data
JPH10105562A (ja) 1996-09-26 1998-04-24 Hitachi Ltd 検索システム
US6662226B1 (en) 2000-01-27 2003-12-09 Inbit, Inc. Method and system for activating and capturing screen displays associated with predetermined user interface events
US8224776B1 (en) 2000-07-26 2012-07-17 Kdl Scan Designs Llc Method and system for hosting entity-specific photo-sharing websites for entity-specific digital cameras
AU2002210300A1 (en) 2000-10-18 2002-04-29 Chipworks Design analysis workstation for analyzing integrated circuits
JP2002197104A (ja) 2000-12-27 2002-07-12 Communication Research Laboratory 情報検索処理装置,情報検索処理方法および情報検索処理プログラムを記録した記録媒体
US7027987B1 (en) * 2001-02-07 2006-04-11 Google Inc. Voice interface for a search engine
US7421153B1 (en) 2002-04-05 2008-09-02 Bank Of America Corporation Image and data processing system
CA2481080C (en) 2002-04-05 2010-10-12 At&T Corp. Method and system for detecting and extracting named entities from spontaneous communications
US7843495B2 (en) * 2002-07-10 2010-11-30 Hewlett-Packard Development Company, L.P. Face recognition in a digital imaging system accessing a database of people
US7054917B1 (en) 2002-08-07 2006-05-30 Propel Software Corporation Method for accelerating delivery of content in a computer network
US7376696B2 (en) 2002-08-27 2008-05-20 Intel Corporation User interface to facilitate exchanging files among processor-based devices
US7373612B2 (en) 2002-10-21 2008-05-13 Battelle Memorial Institute Multidimensional structured data visualization method and apparatus, text visualization method and apparatus, method and apparatus for visualizing and graphically navigating the world wide web, method and apparatus for visualizing hierarchies
RU2330767C2 (ru) 2003-08-26 2008-08-10 Тойота Дзидося Кабусики Кайся Транспортное средство (варианты)
US20050083413A1 (en) 2003-10-20 2005-04-21 Logicalis Method, system, apparatus, and machine-readable medium for use in connection with a server that uses images or audio for initiating remote function calls
KR20120038000A (ko) 2004-01-20 2012-04-20 코닌클리케 필립스 일렉트로닉스 엔.브이. 대화의 주제를 결정하고 관련 콘텐트를 획득 및 제시하는 방법 및 시스템
US7707039B2 (en) 2004-02-15 2010-04-27 Exbiblio B.V. Automatic modification of web pages
US7536382B2 (en) 2004-03-31 2009-05-19 Google Inc. Query rewriting with entity detection
US8078607B2 (en) 2006-03-30 2011-12-13 Google Inc. Generating website profiles based on queries from webistes and user activities on the search results
US7639387B2 (en) 2005-08-23 2009-12-29 Ricoh Co., Ltd. Authoring tools using a mixed media environment
US8745483B2 (en) 2004-10-07 2014-06-03 International Business Machines Corporation Methods, systems and computer program products for facilitating visualization of interrelationships in a spreadsheet
US8812551B2 (en) 2004-11-18 2014-08-19 International Business Machines Corporation Client-side manipulation of tables
US7702611B2 (en) 2005-01-07 2010-04-20 Xerox Corporation Method for automatically performing conceptual highlighting in electronic text
US7653244B2 (en) 2005-02-22 2010-01-26 Potts Wesley F Intelligent importation of information from foreign applications user interface
WO2006092839A1 (ja) 2005-02-28 2006-09-08 Pandanet Inc., 囲碁の対局システム
US7702128B2 (en) 2005-03-03 2010-04-20 Cssn Inc. Card Scanning Solutions System and method for scanning a business card from within a contacts address book and directly inserting into the address book database
US7809722B2 (en) 2005-05-09 2010-10-05 Like.Com System and method for enabling search and retrieval from image files based on recognized information
US7788132B2 (en) 2005-06-29 2010-08-31 Google, Inc. Reviewing the suitability of Websites for participation in an advertising network
US20070008321A1 (en) 2005-07-11 2007-01-11 Eastman Kodak Company Identifying collection images with special events
US7752209B2 (en) 2005-09-14 2010-07-06 Jumptap, Inc. Presenting sponsored content on a mobile communication facility
US7548915B2 (en) 2005-09-14 2009-06-16 Jorey Ramer Contextual mobile content placement on a mobile communication facility
US7933897B2 (en) 2005-10-12 2011-04-26 Google Inc. Entity display priority in a distributed geographic information system
US7822759B2 (en) 2005-12-13 2010-10-26 Microsoft Corporation Query-driven sharing and syndication
US8533199B2 (en) 2005-12-14 2013-09-10 Unifi Scientific Advances, Inc Intelligent bookmarks and information management system based on the same
US20070168379A1 (en) 2006-01-17 2007-07-19 Patel Sushma B Method and apparatus for cataloging screen shots of a program
CN101075236A (zh) 2006-06-12 2007-11-21 腾讯科技(深圳)有限公司 一种加快浏览器网页显示的装置和方法
US8347237B2 (en) 2006-06-27 2013-01-01 Palo Alto Research Center Incorporated Method, apparatus, and program product for efficiently detecting relationships in a comprehension state of a collection of information
US7917514B2 (en) 2006-06-28 2011-03-29 Microsoft Corporation Visual and multi-dimensional search
US8489987B2 (en) 2006-07-31 2013-07-16 Ricoh Co., Ltd. Monitoring and analyzing creation and usage of visual content using image and hotspot interaction
US9176984B2 (en) 2006-07-31 2015-11-03 Ricoh Co., Ltd Mixed media reality retrieval of differentially-weighted links
JP5223284B2 (ja) 2006-11-10 2013-06-26 株式会社リコー 情報検索装置、方法およびプログラム
US8090222B1 (en) 2006-11-15 2012-01-03 Google Inc. Selection of an image or images most representative of a set of images
US7930313B1 (en) * 2006-11-22 2011-04-19 Adobe Systems Incorporated Controlling presentation of refinement options in online searches
CN101201827B (zh) 2006-12-14 2013-02-20 阿里巴巴集团控股有限公司 一种网页显示的方法和系统
US8671341B1 (en) 2007-01-05 2014-03-11 Linguastat, Inc. Systems and methods for identifying claims associated with electronic text
KR101370895B1 (ko) 2007-01-19 2014-03-10 엘지전자 주식회사 콘텐츠 표시 방법 및 이를 이용한 단말기
US8869191B2 (en) 2007-01-23 2014-10-21 Cox Communications, Inc. Providing a media guide including parental information
US8214367B2 (en) 2007-02-27 2012-07-03 The Trustees Of Columbia University In The City Of New York Systems, methods, means, and media for recording, searching, and outputting display information
US20080282160A1 (en) 2007-04-06 2008-11-13 James Ian Tonnison Designated screen capturing and automatic image exporting
US20080275701A1 (en) 2007-04-25 2008-11-06 Xiaotao Wu System and method for retrieving data based on topics of conversation
US8639826B2 (en) 2007-05-07 2014-01-28 Fourthwall Media, Inc. Providing personalized resources on-demand over a broadband network to consumer device applications
US8688089B2 (en) 2007-06-26 2014-04-01 Gosub 60, Inc. Methods and systems for providing in-game hot spots
GB2462399A (en) 2007-06-28 2010-02-10 Taptu Ltd Search result ranking
US7921069B2 (en) 2007-06-28 2011-04-05 Yahoo! Inc. Granular data for behavioral targeting using predictive models
JP2009026096A (ja) 2007-07-20 2009-02-05 Fuji Xerox Co Ltd ネットワークシステム
US20090228777A1 (en) 2007-08-17 2009-09-10 Accupatent, Inc. System and Method for Search
WO2009026193A2 (en) 2007-08-17 2009-02-26 Accupatent, Inc. System and method for search
US9137377B2 (en) 2007-08-22 2015-09-15 Citrix Systems, Inc. Systems and methods for at least partially releasing an appliance from a private branch exchange
WO2009052308A1 (en) 2007-10-17 2009-04-23 Roseman Neil S Nlp-based content recommender
US8594996B2 (en) 2007-10-17 2013-11-26 Evri Inc. NLP-based entity recognition and disambiguation
WO2009054619A2 (en) 2007-10-22 2009-04-30 Moon Key Lee Augmented reality computer device
US9159034B2 (en) 2007-11-02 2015-10-13 Ebay Inc. Geographically localized recommendations in a computing advice facility
US20110246471A1 (en) 2010-04-06 2011-10-06 Selim Shlomo Rakib Retrieving video annotation metadata using a p2p network
US7984004B2 (en) * 2008-01-17 2011-07-19 Microsoft Corporation Query suggestion generation
US8255386B1 (en) 2008-01-30 2012-08-28 Google Inc. Selection of documents to place in search index
JP5336748B2 (ja) 2008-03-06 2013-11-06 インターナショナル・ビジネス・マシーンズ・コーポレーション コンテンツ中のアクセシビリティに関する問題箇所を他人へ効果的に伝達するためのコンピュータ、方法、プログラム
US8959104B2 (en) * 2008-03-21 2015-02-17 Microsoft Corporation Presenting query suggestions based upon content items
US8131066B2 (en) 2008-04-04 2012-03-06 Microsoft Corporation Image classification
US7970808B2 (en) 2008-05-05 2011-06-28 Microsoft Corporation Leveraging cross-document context to label entity
US7962444B2 (en) 2008-05-19 2011-06-14 Qualcomm Incorporated System and method for presenting a contextual action for an indicator
US8630972B2 (en) 2008-06-21 2014-01-14 Microsoft Corporation Providing context for web articles
US20100010987A1 (en) 2008-07-01 2010-01-14 Barry Smyth Searching system having a server which automatically generates search data sets for shared searching
CN101667185B (zh) 2008-09-05 2012-10-17 深圳富泰宏精密工业有限公司 行动装置及其图片快速显示方法
CN101763357B (zh) 2008-11-13 2016-09-14 北京搜狗科技发展有限公司 一种用于浏览器加载互联网资源的方法及系统
JP5993575B2 (ja) 2008-12-18 2016-09-14 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. ソフトウェアのバグ及び性能不足レポート作成システム、デジタル記憶媒体及び方法
CN102369724B (zh) 2009-02-18 2016-05-04 谷歌公司 自动捕获信息,例如使用文档感知设备捕获信息
US8229883B2 (en) 2009-03-30 2012-07-24 Sap Ag Graph based re-composition of document fragments for name entity recognition under exploitation of enterprise databases
US20120044137A1 (en) 2009-04-01 2012-02-23 Chandar Kumar Oddiraju Screen capture
US8370762B2 (en) 2009-04-10 2013-02-05 Cellco Partnership Mobile functional icon use in operational area in touch panel devices
JP5911796B2 (ja) 2009-04-30 2016-04-27 サムスン エレクトロニクス カンパニー リミテッド マルチモーダル情報を用いるユーザ意図推論装置及び方法
US8533223B2 (en) 2009-05-12 2013-09-10 Comcast Interactive Media, LLC. Disambiguation and tagging of entities
US20100306249A1 (en) 2009-05-27 2010-12-02 James Hill Social network systems and methods
US20100313141A1 (en) 2009-06-03 2010-12-09 Tianli Yu System and Method for Learning User Genres and Styles and for Matching Products to User Preferences
CN101587495A (zh) 2009-07-08 2009-11-25 伍帝州 通过浏览器下载部署应用并提供应用入口的方法及系统
US8571319B2 (en) 2009-07-28 2013-10-29 International Business Machines Corporation Enhanced screen capture for form manipulation
US9135277B2 (en) 2009-08-07 2015-09-15 Google Inc. Architecture for responding to a visual query
WO2011026145A2 (en) 2009-08-31 2011-03-03 Google Inc. Framework for selecting and presenting answer boxes relevant to user input as query suggestions
JP2013506175A (ja) 2009-09-25 2013-02-21 インターナショナル・ビジネス・マシーンズ・コーポレーション 統一リソース識別子(uri)による、アプリケーション状態情報の管理
KR101651128B1 (ko) 2009-10-05 2016-08-25 엘지전자 주식회사 이동 단말기 이것의 애플리케이션 실행 제어 방법
US8131786B1 (en) 2009-11-23 2012-03-06 Google Inc. Training scoring models optimized for highly-ranked results
US9405772B2 (en) 2009-12-02 2016-08-02 Google Inc. Actionable search results for street view visual queries
US8977639B2 (en) * 2009-12-02 2015-03-10 Google Inc. Actionable search results for visual queries
US20110128288A1 (en) 2009-12-02 2011-06-02 David Petrou Region of Interest Selector for Visual Queries
US20110145692A1 (en) 2009-12-16 2011-06-16 Peter Noyes Method for Tracking Annotations with Associated Actions
US20110191676A1 (en) 2010-01-29 2011-08-04 Microsoft Corporation Cross-Browser Interactivity Recording, Playback, and Editing
JP2013519162A (ja) 2010-02-01 2013-05-23 ジャンプタップ,インコーポレイテッド 統合化された広告システム
US20110202864A1 (en) 2010-02-15 2011-08-18 Hirsch Michael B Apparatus and methods of receiving and acting on user-entered information
US20110225152A1 (en) 2010-03-15 2011-09-15 Microsoft Corporation Constructing a search-result caption
US8799061B1 (en) 2010-04-26 2014-08-05 Google Inc. Classifying users for ad targeting
US8494439B2 (en) 2010-05-04 2013-07-23 Robert Bosch Gmbh Application state and activity transfer between devices
KR101657545B1 (ko) 2010-05-11 2016-09-19 엘지전자 주식회사 휴대 단말기 및 그 동작 방법
US9158846B2 (en) 2010-06-10 2015-10-13 Microsoft Technology Licensing, Llc Entity detection and extraction for entity cards
JP2012008771A (ja) * 2010-06-24 2012-01-12 Sony Corp 情報処理装置、情報処理システム、情報処理方法およびプログラム
US8468110B1 (en) 2010-07-22 2013-06-18 Intuit Inc. Real-time user behavior prediction
JP4712118B1 (ja) 2010-08-12 2011-06-29 ヤフー株式会社 携帯端末、アプリケーション選択方法及びプログラム
US8972467B2 (en) 2010-08-31 2015-03-03 Sovanta Ag Method for selecting a data set from a plurality of data sets by means of an input device
US9405848B2 (en) * 2010-09-15 2016-08-02 Vcvc Iii Llc Recommending mobile device activities
US20120083294A1 (en) 2010-09-30 2012-04-05 Apple Inc. Integrated image detection and contextual commands
US20120092286A1 (en) 2010-10-19 2012-04-19 Microsoft Corporation Synthetic Gesture Trace Generator
US9189549B2 (en) 2010-11-08 2015-11-17 Microsoft Technology Licensing, Llc Presenting actions and providers associated with entities
EP2646949B1 (en) 2010-12-01 2018-10-03 Google LLC Identifying matching source documents in response to a visual query
KR101757870B1 (ko) 2010-12-16 2017-07-26 엘지전자 주식회사 이동 단말기 및 그 제어방법
US8880555B2 (en) 2010-12-17 2014-11-04 Facebook, Inc. Ranking of address book contacts based on social proximity
KR101741551B1 (ko) 2010-12-20 2017-06-15 엘지전자 주식회사 이동 단말기 및 이것의 애플리케이션 제어 방법
WO2012101585A1 (en) 2011-01-28 2012-08-02 Strangeloop Networks, Inc. Prioritized image rendering based on position within a web page
US10242341B2 (en) 2011-03-03 2019-03-26 Lenovo (Singapore) Pte. Ltd. Automatic taskbar grouping by user tasks
US8341156B1 (en) 2011-04-04 2012-12-25 Google Inc. System and method for identifying erroneous business listings
WO2012142751A1 (en) 2011-04-19 2012-10-26 Nokia Corporation Method and apparatus for flexible diversification of recommendation results
JP2012252742A (ja) 2011-06-02 2012-12-20 Elpida Memory Inc 半導体装置
US9519726B2 (en) 2011-06-16 2016-12-13 Amit Kumar Surfacing applications based on browsing activity
CN103890695B (zh) 2011-08-11 2017-10-13 视力移动技术有限公司 基于手势的接口系统和方法
US8280414B1 (en) 2011-09-26 2012-10-02 Google Inc. Map tile data pre-fetching based on mobile device generated event analysis
US8204966B1 (en) 2011-09-26 2012-06-19 Google Inc. Map tile data pre-fetching based on user activity analysis
US9224100B1 (en) 2011-09-26 2015-12-29 Google Inc. Method and apparatus using accelerometer data to serve better ads
US9305108B2 (en) * 2011-10-05 2016-04-05 Google Inc. Semantic selection and purpose facilitation
US20150212695A1 (en) 2011-10-05 2015-07-30 Google Inc. Suggested action feedback
US20130097507A1 (en) 2011-10-18 2013-04-18 Utc Fire And Security Corporation Filmstrip interface for searching video
EP2587745A1 (en) 2011-10-26 2013-05-01 Swisscom AG A method and system of obtaining contact information for a person or an entity
CA2854142A1 (en) 2011-11-01 2013-05-10 Google Inc. Launching applications from webpages
US20130117252A1 (en) 2011-11-09 2013-05-09 Google Inc. Large-scale real-time fetch service
US9665643B2 (en) 2011-12-30 2017-05-30 Microsoft Technology Licensing, Llc Knowledge-based entity detection and disambiguation
EP2810216B1 (en) 2012-01-31 2017-11-15 Given Imaging Ltd. System and method for displaying motility events in an in vivo image stream
WO2013122840A1 (en) * 2012-02-16 2013-08-22 Microsoft Corporation Location-aware application searching
KR101919008B1 (ko) * 2012-02-24 2018-11-19 삼성전자주식회사 정보 제공 방법 및 이를 위한 이동 단말기
US10984337B2 (en) 2012-02-29 2021-04-20 Microsoft Technology Licensing, Llc Context-based search query formation
US9171068B2 (en) 2012-03-07 2015-10-27 Ut-Battelle, Llc Recommending personally interested contents by text mining, filtering, and interfaces
US20130263098A1 (en) 2012-03-29 2013-10-03 Pawel Piotr Duda Method and system for testing of mobile web sites
JP2013211616A (ja) * 2012-03-30 2013-10-10 Sony Corp 端末装置、端末制御方法、プログラム、および情報処理システム
US9836545B2 (en) 2012-04-27 2017-12-05 Yahoo Holdings, Inc. Systems and methods for personalized generalized content recommendations
US8832066B2 (en) * 2012-05-22 2014-09-09 Eye Street Research Llc Indirect data searching on the internet
WO2013173940A1 (en) 2012-05-22 2013-11-28 Beijing Baina Info - Tech,Co., Ltd A method and system for providing application data
US9582146B2 (en) 2012-05-29 2017-02-28 Nokia Technologies Oy Causing display of search results
US9075974B2 (en) 2012-07-25 2015-07-07 Google Inc. Securing information using entity detection
US9195645B2 (en) 2012-07-30 2015-11-24 Microsoft Technology Licensing, Llc Generating string predictions using contexts
US8959109B2 (en) * 2012-08-06 2015-02-17 Microsoft Corporation Business intelligent in-document suggestions
US9268462B2 (en) * 2012-08-14 2016-02-23 Google Inc. External action suggestions in search results
US10091552B2 (en) 2012-09-19 2018-10-02 Rovi Guides, Inc. Methods and systems for selecting optimized viewing portions
US9165406B1 (en) 2012-09-21 2015-10-20 A9.Com, Inc. Providing overlays based on text in a live camera view
US9274839B2 (en) 2012-09-27 2016-03-01 Intel Corporation Techniques for dynamic physical memory partitioning
US8543397B1 (en) * 2012-10-11 2013-09-24 Google Inc. Mobile device voice activation
US9407824B2 (en) 2012-11-01 2016-08-02 Google Inc. Multi-directional content capture on mobile devices
EP2728481A1 (en) 2012-11-04 2014-05-07 Rightware Oy Evaluation of page load performance of web browser
US20140146200A1 (en) 2012-11-28 2014-05-29 Research In Motion Limited Entries to an electronic calendar
US9245372B2 (en) 2012-12-04 2016-01-26 Nintendo Co., Ltd. Map systems and methods for displaying panoramic images
US20150178786A1 (en) 2012-12-25 2015-06-25 Catharina A.J. Claessens Pictollage: Image-Based Contextual Advertising Through Programmatically Composed Collages
US20140188956A1 (en) 2012-12-28 2014-07-03 Microsoft Corporation Personalized real-time recommendation system
US20140188889A1 (en) 2012-12-31 2014-07-03 Motorola Mobility Llc Predictive Selection and Parallel Execution of Applications and Services
US10445786B2 (en) 2013-01-23 2019-10-15 Facebook, Inc. Sponsored interfaces in a social networking system
US20150169701A1 (en) 2013-01-25 2015-06-18 Google Inc. Providing customized content in knowledge panels
US9959360B2 (en) 2013-03-01 2018-05-01 Samsung Electronics Co., Ltd. Generating search results containing state links to applications
US20140279013A1 (en) 2013-03-13 2014-09-18 Ebay Inc. Online and offline ecommerce connections
US9247309B2 (en) 2013-03-14 2016-01-26 Google Inc. Methods, systems, and media for presenting mobile content corresponding to media content
WO2014139120A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Search intent preview, disambiguation, and refinement
CN103198418A (zh) 2013-03-15 2013-07-10 北京亿赞普网络技术有限公司 一种应用推荐方法和系统
WO2014146265A1 (en) 2013-03-20 2014-09-25 Nokia Corporation Method and apparatus for personalized resource recommendations
US20140298200A1 (en) 2013-03-29 2014-10-02 Google Inc. Providing user interface elements for interactive sessions
JP2016520913A (ja) 2013-04-23 2016-07-14 クイクシー インコーポレイテッド エンティティ入札
US9276883B2 (en) 2013-04-28 2016-03-01 Tencent Technology (Shenzhen) Company Limited Information collection, storage, and sharing platform
US9367625B2 (en) 2013-05-03 2016-06-14 Facebook, Inc. Search query interactions on online social networks
US9786075B2 (en) 2013-06-07 2017-10-10 Microsoft Technology Licensing, Llc Image extraction and image-based rendering for manifolds of terrestrial and aerial visualizations
US9721107B2 (en) 2013-06-08 2017-08-01 Apple Inc. Using biometric verification to grant access to redacted content
KR102136602B1 (ko) 2013-07-10 2020-07-22 삼성전자 주식회사 휴대단말기의 컨텐츠 처리 장치 및 방법
US20150039580A1 (en) 2013-07-31 2015-02-05 Microsoft Corporation App annotation and facilitaton of user search task and user action
CN105493057B (zh) 2013-08-30 2019-06-18 谷歌有限责任公司 利用精确性控制的内容选择
CN103488752B (zh) * 2013-09-24 2017-08-25 沈阳美行科技有限公司 一种poi智能检索的检索方法
US9329692B2 (en) 2013-09-27 2016-05-03 Microsoft Technology Licensing, Llc Actionable content displayed on a touch screen
US9436918B2 (en) 2013-10-07 2016-09-06 Microsoft Technology Licensing, Llc Smart selection of text spans
US9354778B2 (en) 2013-12-06 2016-05-31 Digimarc Corporation Smartphone-based methods and systems
US10235470B2 (en) 2013-12-06 2019-03-19 Here Global B.V. User retrieval enhancement
US9519408B2 (en) 2013-12-31 2016-12-13 Google Inc. Systems and methods for guided user actions
US20150242760A1 (en) * 2014-02-21 2015-08-27 Microsoft Corporation Personalized Machine Learning System
CN104883376B (zh) 2014-02-28 2018-09-21 华为技术有限公司 应用程序推荐方法及终端
CN103995830B (zh) 2014-04-17 2017-09-29 广东欧珀移动通信有限公司 基于输入法的快速切换应用程序的方法及其移动终端
KR102282487B1 (ko) 2014-05-08 2021-07-26 삼성전자주식회사 애플리케이션 실행 장치 및 방법
US9679078B2 (en) 2014-05-21 2017-06-13 Facebook, Inc. Search client context on online social networks
US9916328B1 (en) 2014-07-11 2018-03-13 Google Llc Providing user assistance from interaction understanding
US8954836B1 (en) 2014-08-19 2015-02-10 Adlast, Inc. Systems and methods for directing access to products and services
US9965559B2 (en) * 2014-08-21 2018-05-08 Google Llc Providing automatic actions for mobile onscreen content
US9424668B1 (en) 2014-08-28 2016-08-23 Google Inc. Session-based character recognition for document reconstruction
CN104239454A (zh) 2014-09-02 2014-12-24 百度在线网络技术(北京)有限公司 搜索方法及装置
US9606716B2 (en) 2014-10-24 2017-03-28 Google Inc. Drag-and-drop on a mobile device
JP2015043236A (ja) 2014-11-17 2015-03-05 富士通株式会社 情報提供装置、情報提供方法及びプログラム
CN104462325B (zh) 2014-12-02 2019-05-03 百度在线网络技术(北京)有限公司 搜索推荐方法及装置
WO2016131207A1 (zh) 2015-02-16 2016-08-25 锤子软件(北京)有限公司 一种控制方法、控制装置及电子设备
US9336483B1 (en) 2015-04-03 2016-05-10 Pearson Education, Inc. Dynamically updated neural network structures for content distribution networks
US9703541B2 (en) 2015-04-28 2017-07-11 Google Inc. Entity action suggestion on a mobile device
US10152488B2 (en) 2015-05-13 2018-12-11 Samsung Electronics Co., Ltd. Static-analysis-assisted dynamic application crawling architecture
US10922094B2 (en) 2015-06-05 2021-02-16 Apple Inc. Systems and methods for proactively providing recommendations to a user of a computing device
US10970646B2 (en) 2015-10-01 2021-04-06 Google Llc Action suggestions for user-selected content
US10178527B2 (en) 2015-10-22 2019-01-08 Google Llc Personalized entity repository
US10055390B2 (en) 2015-11-18 2018-08-21 Google Llc Simulated hyperlinks on a mobile device based on user intent and a centered selection of text

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014512046A (ja) * 2011-03-31 2014-05-19 マイクロソフト コーポレーション 拡張された会話理解アーキテクチャ

Also Published As

Publication number Publication date
JP6695966B2 (ja) 2020-05-20
US20170098159A1 (en) 2017-04-06
JP2020129388A (ja) 2020-08-27
JP6883132B2 (ja) 2021-06-09
JP2018536218A (ja) 2018-12-06
CN113434067A (zh) 2021-09-24
CN108139849B (zh) 2021-05-28
KR102150508B1 (ko) 2020-09-01
WO2017059388A1 (en) 2017-04-06
US10970646B2 (en) 2021-04-06
KR20200103877A (ko) 2020-09-02
CN108139849A (zh) 2018-06-08
EP3341825A1 (en) 2018-07-04
KR20180058811A (ko) 2018-06-01
EP3341825A4 (en) 2019-04-24
US12026593B2 (en) 2024-07-02
US20210027203A1 (en) 2021-01-28

Similar Documents

Publication Publication Date Title
KR102243993B1 (ko) 사용자-선택 콘텐츠용 액션 제안들
US10733360B2 (en) Simulated hyperlinks on a mobile device
US11567642B2 (en) Contextual paste target prediction
US9703541B2 (en) Entity action suggestion on a mobile device
US10175860B2 (en) Search intent preview, disambiguation, and refinement
US11734581B1 (en) Providing contextual actions for mobile onscreen content
RU2581840C2 (ru) Регистрация для поискового интерфейса пользователя системного уровня
US20140223372A1 (en) Method, system, and apparatus for executing an action related to user selection
KR20150087200A (ko) 웹 브라우저에 있는 정보 관리 및 디스플레이
WO2014117244A1 (en) Data retrieval by way of context-sensitive icons
CN110462615A (zh) 增强的粘贴板使用的技术

Legal Events

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