KR102364401B1 - 문맥형 음성-구동 딥 북마킹 - Google Patents

문맥형 음성-구동 딥 북마킹 Download PDF

Info

Publication number
KR102364401B1
KR102364401B1 KR1020217028741A KR20217028741A KR102364401B1 KR 102364401 B1 KR102364401 B1 KR 102364401B1 KR 1020217028741 A KR1020217028741 A KR 1020217028741A KR 20217028741 A KR20217028741 A KR 20217028741A KR 102364401 B1 KR102364401 B1 KR 102364401B1
Authority
KR
South Korea
Prior art keywords
bookmark
resource
user
application
voice input
Prior art date
Application number
KR1020217028741A
Other languages
English (en)
Other versions
KR20210113696A (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 KR20210113696A publication Critical patent/KR20210113696A/ko
Application granted granted Critical
Publication of KR102364401B1 publication Critical patent/KR102364401B1/ko

Links

Images

Classifications

    • 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/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9562Bookmark management
    • 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/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/134Hyperlinking
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Acoustics & Sound (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephone Function (AREA)

Abstract

컴퓨터로 구현되는 방법이 서술된다. 본 방법은 컴퓨팅 시스템이 북마크를 생성하기 위해 사용자로부터 제 1 음성 입력을 수신하는 단계를 포함한다. 음성 입력을 수신하는 것에 응답하여, 컴퓨팅 시스템은 리소스 페이지와 연관된 리소스 식별자를 획득한다. 본 방법은 컴퓨팅 시스템이 사용자 디바이스로부터의 요청에 응답하여 액세스가능한 북마크 인덱스에 북마크로서 리소스 식별자를 저장하는 단계를 포함한다. 본 방법은 컴퓨팅 시스템이 북마크로서 저장된 리소스 식별자를 사용하여 리소스 페이지에 액세스하는 단계을 더 포함한다. 컴퓨팅 시스템은 사용자 디바이스로부터의 요청에 기초하여 리소스 페이지를 액세스하기 위해 리소스 식별자를 사용한다. 요청은 사용자 디바이스가 사용자로부터 제 2 음성 입력을 수신함에 응답하여 사용자 디바이스에 의해 생성된다.

Description

문맥형 음성-구동 딥 북마킹{CONTEXTUAL VOICE-DRIVEN DEEP BOOKMARKING}
본 발명은 모바일 디바이스에 관한 발명이다.
웹 사이트 및 어플리케이션 리소스들은 임의 개수의 링크들, 내장된 파일들, 및/또는 사용자와 관련될 수도 있고 관련되지 않을 수도 있는 다른 정보를 포함할 수 있다. 특히, 사용자는 사용자의 관심과 직접 관련이 있는 정보 소스들 또는 기타 리소스들을 탐지할 수 있다. 따라서 사용자들은 특별하게 관련된 웹-기반 또는 어플리케이션 리소스에 대한 신속한 액세스를 원할 수 있다.
사용자는 관련된 웹-기반 혹은 어플리케이션 콘텐츠에 대한 전자적인 링크를 저장하는 북마크를 생성할 수 있다. 사용자는 나중에 상기 북마크에 액세스하여, 관련 콘텐츠로 빠르게 이동할 수 있다. 컴퓨팅 시스템의 맥락에서, 북마크는 예시적인 전자 디바이스를 통한 후속 액세스를 위해, 로컬 또는 원격으로 생성 및 저장될 수 있다.
사용자로부터 음성 입력(voice input)을 수신하는 사용자 디바이스 및 사용자 디바이스에 의해 액세스가능한 다수의 북마크를 저장하기 위해 사용자 디바이스와 상호작용하는 컴퓨팅 서버를 포함하는 컴퓨팅 시스템이 설명된다. 특히, 설명된 시스템은 사용자 디바이스의 음성 입력 방법을 통해 사용자로부터 제 1 음성 입력, 예를 들어 질의를 수신한다. 상기 질의는, 사용자가 웹 기반 콘텐츠 또는 어플리케이션 특정 콘텐츠를 볼 때 시스템에 의해 수신될 수 있다.
시스템은 음성 입력을 인식하고 그리고 다수의 데이터 요소들을 생성하는바, 다수의 데이터 요소들은, 사용자가 말한 음성 입력의 트랜스크립션 및 웹 기반 또는 어플리케이션 특정 콘텐츠에 대한 리소스 식별자를 적어도 포함할 수 있다. 상기 시스템의 컴퓨팅 서버는 북마크 엔진을 포함하되, 상기 북마크 엔진은 다수의 데이터 요소들을 수신하고 그리고 수신된 데이터 요소를 사용하여 북마크 엔진의 북마크 인덱스에 저장되는 북마크를 생성한다. 저장된 북마크는, 특정 북마크를 시작하라는 커맨드를 지정하는 사용자로부터 음성 입력을 사용자 디바이스가 수신하는 것에 응답하여 사용자 디바이스에 의해 액세스될 수 있다.
본 명세서에 서술된 본 발명의 주제에 대한 일 양상은 컴퓨터로 구현되는 방법으로 구현될 수 있다. 상기 방법은, 북마크를 생성하기 위해 사용자로부터 제 1 음성 입력을 컴퓨팅 시스템에 의해 수신하는 단계; 상기 음성 입력을 수신하는 것에 응답하여, 상기 컴퓨팅 시스템에 의해 리소스 페이지와 연관된 리소스 식별자를 획득하는 단계; 상기 컴퓨팅 시스템에 의해, 사용자 디바이스로부터의 요청에 응답하여 액세스가능한 북마크 인덱스에 북마크로서 리소스 식별자를 저장하는 단계; 및 상기 컴퓨팅 시스템에 의해, 상기 사용자 디바이스로부터의 요청에 기초하여 상기 리소스 페이지에 액세스하도록, 북마크로서 저장된 상기 리소스 식별자를 사용하는 단계를 포함하며, 상기 요청은, 상기 사용자로부터의 제 2 음성 입력을 상기 사용자 디바이스가 수신함에 응답하여 상기 사용자 디바이스에 의해 생성된다.
본 명세서에 서술된 본 발명의 주제에 대한 일 양상은 사용자 디바이스(모바일 디바이스일 수도 있음) 및 사용자 디바이스로부터 원격의 서버를 포함하는 컴퓨팅 시스템에 의해서 수행되는, 컴퓨터로 구현되는 방법으로 구현될 수 있다. 상기 방법은, 상기 컴퓨팅 시스템의 사용자 디바이스에 의해, 북마크를 생성하기 위해 사용자로부터의 제 1 음성 입력을 수신하는 단계, 상기 음성 입력의 수신에 응답하여, 상기 제 1 음성 입력 또는 상기 제 1 음성 입력을 나타내는 데이터를 서버로 전송하는 단계를 포함한다. 상기 방법은 컴퓨팅 시스템의 서버에 의해 리소스 페이지와 연관된 리소스 식별자를 획득하는 단계와, 컴퓨팅 시스템의 서버에 의해 상기 리소스 식별자를 북마크로서 북마크 인덱스에 저장하는 단계를 포함하며, 상기 북마크 인덱스는 상기 사용자 디바이스에 의해 액세스 가능하거나 또는 사용자 디바이스로부터의 요청에 응답하여 액세스 가능하다. 또한, 상기 방법은, 상기 사용자 디바이스로부터의 추가 요청에 기초하여 리소스 페이지에 액세스하도록, 북마크로서 저장된 상기 리소스 식별자를 상기 컴퓨팅 디바이스가 사용하는 단계를 포함할 수 있으며, 상기 추가 요청은 사용자로부터의 제 2 음성 입력을 사용자 디바이스가 수신하는 것에 응답하여 사용자 디바이스에 의해 생성될 수 있는바, 예를 들어, 제 2 음성 입력의 수신에 응답하여, 사용자 디바이스는 저장된 특정 북마크에 액세스하기 위해 요청을 서버에 전송할 수 있고 그리고 사용자 디바이스가 북마크 데이터로부터 특정 리소스 페이지를 식별하도록 상기 요청에 응답하여 서버는 북마크 데이터를 사용자 디바이스로 전송할 수 있다. 그러면 사용자 디바이스는 특정 리소스 페이지에 액세스하여 리소스 페이지를 사용자에게 제시할 수 있다. 대안적으로, 북마크 데이터가 사용자 디바이스에 로컬적으로 저장된다면, 사용자 디바이스는 북마크 데이터를 검색하고 특정 리소스 페이지를 식별할 수 있고, 다시 특정 리소스 페이지에 액세스하여 리소스 페이지를 사용자에게 제시 할 수 있다.
본 명세서에 서술된 본 발명의 주제에 대한 일 양상은 서버에 의해 수행되는 컴퓨터 구현 방법으로 구현될 수 있다. 상기 방법은 북마크를 생성하기 위한 사용자로부터 사용자 디바이스로의 제 1 음성 입력을 나타내는 데이터를, 서버에 의해서 그리고 사용자 디바이스로부터 수신하는 단계를 포함한다. 상기 방법은 서버에 의해 리소스 페이지와 관련된 리소스 식별자를 획득하는 단계와, 상기 리소스 식별자를 북마크 인덱스에 북마크로서 저장하는 단계를 포함하며, 상기 북마크 인덱스는 상기 사용자 디바이스에 의해 액세스 가능하거나 또는 상기 사용자 디바이스로부터의 요청에 응답하여 액세스 가능하다. 상기 방법은 또한 서버에 의해서 그리고 사용자 디바이스로부터, 그 저장된 위치로부터 특정 북마크를 얻거나 액세스하기 위한 요청을 수신하는 단계를 포함할 수 있으며, 상기 요청은 상기 사용자 디바이스가 상기 사용자로부터 제 2 음성 입력을 수신하는 것에 응답하여 상기 사용자 디바이스에 의해 생성된다. 또한, 상기 방법은 상기 요청의 수신에 응답하여, 서버가 북마크 데이터를 사용자 디바이스로 전송하여, 사용자 디바이스가 상기 북마크 데이터로부터 특정 리소스 페이지를 식별할 수 있게하는 단계를 포함할 수 있다.
이들 및 다른 구현예들은 각각의 하나 이상의 다음 특징들을 임의로 포함할 수 있다. 예를 들어,일부 구현예에서, 리소스 페이지는 웹-브라우저 어플리케이션에 의해 생성되고, 리소스 식별자는 리소스 페이지에 액세스하기 위한 리소스 어드레스를 제공하는 URL(Uniform Resource Locator)이다. 일부 구현예에서, i) 리소스 페이지는 사용자 디바이스 상에 설치된 네이티브 어플리케이션에 의해 생성되고, 네이티브 어플리케이션은 어플리케이션 인덱스에 하나 이상의 딥-링크를 저장하도록 구성되며, ⅱ) 리소스 식별자는 리소스 페이지에 대한 유니폼 리소스 로케이터(URL)이며, 네이티브 어플리케이션에 관한 어드레스 데이터를 포함하는 어플리케이션 인덱스로부터 획득된다.
일부 구현예에서, 상기 리소스 식별자를 획득하는 단계는, ⅰ) 상기 네이티브 어플리케이션과 연관된 상기 하나 이상의 딥 링크들을 저장하는 상기 어플리케이션 인덱스에 액세스하는 단계와, ⅱ) 상기 어플리케이션 인덱스로부터, 리소스 페이지에 대한 URL을 나타내는 딥-링크를 선택하는 단계를 포함하며, 딥 링크는 리소스 페이지에 액세스하기 위한 리소스 어드레스를 제공한다. 일부 구현예에서, i) 네이티브 어플리케이션 인덱스에 대한 하나 이상의 어플리케이션 딥 링크를 저장하지 않는, 웹 브라우저가 아닌 네이티브 어플리케이션에 의해 리소스 페이지가 생성되고, ⅱ) 리소스 식별자는 리소스 페이지에 대한 컴퓨팅 경로와 연관된 전자 주소를 제공한다.
일부 구현예에서, i) 상기 리소스 페이지는 사용자 디바이스 상에 설치된 특정 유형의 어플리케이션의 적용에 의해 생성되고, ii) 상기 리소스 식별자는 다음 중 적어도 하나이다: a) 상기 어플리케이션에 의해 생성된 리소스 페이지의 스크린 이미지를 식별하는 데이터, 또는 b) 상기 어플리케이션에 의해 생성된 리소스 페이지에 액세스하기 위한 리소스 어드레스를 제공하는 딥-링크. 일부 실시예에서, 상기 방법은 또한, 상기 컴퓨팅 시스템에 의해 상기 특정 유형의 어플리케이션과 연관된 어플리케이션 콘텐츠의 분석에 기초하여 패턴 데이터를 검출하는 단계; 및 상기 컴퓨팅 시스템에 의해, 상기 패턴 데이터에 기초하여 딥-링크를 생성하는 단계를 포함한다.
일부 구현예에서, i) 상기 리소스 페이지는 상기 사용자 디바이스 상에 설치된 메시징 어플리케이션에 의해 생성되고, ii) 상기 리소스 식별자는 a) 상기 메시징 어플리케이션에 의해 생성된 리소스 페이지의 스크린 이미지를 식별하는 데이터, 또는 b) 상기 메시징 어플리케이션의 리소스 페이지에 액세스하기 위한 리소스 어드레스를 제공하는 딥-링크 중 적어도 하나이다. 일부 구현예에서, 상기 방법은 또한, 상기 메시징 어플리케이션과 관련된 2 이상의 메시지들의 분석에 기초하여 상기 컴퓨팅 시스템에 의해 패턴 데이터를 검출하는 단계; 및 상기 컴퓨팅 시스템에 의해, 상기 패턴 데이터에 기초하여 상기 딥-링크를 생성하는 단계를 포함한다.
일부 구현예에서, 사용자로부터 음성 입력을 수신하는 단계는, 컴퓨팅 시스템에 의해, 콘텍스트 데이터를 수신하는 단계를 포함하며, 상기 콘텍스트 데이터는, a) 네이티브 어플리케이션에 의해 생성되는 것으로서 상기 리소스 페이지를 고유하게 식별하는 네이티브 어플리케이션 유니폼 리소스 로케이터(URL), b) 웹 브라우저 어플리케이션에 의해 생성되는 것으로서 상기 리소스 페이지를 고유하게 식별하는 웹 브라우저 어플리케이션, c) 사용자 디바이스 상에 설치된 가상 어시스턴트 어플리케이션에 의해 생성된 어시스트 데이터, 또는 d) 리소스 페이지의 스크린 이미지를 식별하는 데이터 중 적어도 하나를 포함한다.
일부 구현예에서, 상기 방법은 상기 컴퓨팅 시스템에 의해, 수신된 콘텍스트 데이터의 적어도 서브세트를 나타내는 데이터를 포함하는 템플릿을 생성하는 단계; 상기 컴퓨팅 시스템에 의해 그리고 상기 템플릿에 기초하여, 상기 리소스 식별자에 대응하는 URL 또는 상기 리소스 식별자에 대응하는 딥-링크 중 하나를 생성하는 단계; 및 상기 리소스 페이지에 액세스하기 위한 북마크를 생성하도록, 상기 컴퓨팅 시스템에 의해, 상기 템플릿, 및 상기 URL과 상기 딥-링크 중 하나를 이용하는 단계를 더 포함한다.
일부 구현예에서, 상기 방법은 상기 컴퓨팅 시스템에 의해, 상기 북마크에 대한 식별자를 결정하는 단계를 더 포함하며, 상기 북마크에 대한 식별자는 상기 컴퓨팅 디바이스에 의해 수신된 상기 사용자로부터의 상기 제 1 음성 입력에 기초하여 결정된다. 일부 구현예에서, 상기 북마크에 대한 식별자는 상기 북마크의 이름이고, 상기 방법은, 상기 컴퓨팅 시스템에 의해, 상기 북마크에 대한 식별자를 수정하는 단계를 더 포함하고, 상기 북마크에 대한 식별자를 수정하는 단계는 상기 북마크를 재명명(renaming)하는 단계를 포함한다.
리소스 페이지는 예를 들어 사용자 디바이스의 디스플레이 상에 현재 디스플레이되는 리소스 페이지일 수도 있고, 사용자에게 제안된 리소스 페이지일 수도 있으며, 사용자에 의해 입력된 검색 질의에 응답하여 사용자에게 리턴된 리소스 페이지일 수도 있다(기타 등등).
이러한 양상 및 다른 양상들의 다른 구현예들은 컴퓨터 저장 디바이스 상에 인코딩된, 본 방법의 동작을 수행하도록 구성된 대응하는 시스템, 디바이스 및 컴퓨터 프로그램을 포함한다. 하나 이상의 컴퓨터로 이루어진 시스템은 소프트웨어, 펌웨어, 하드웨어 또는 이들이 조합되어 시스템 상에서 동작함으로써 시스템이 동작을 수행하도록 구성될 수 있다. 하나 이상의 컴퓨터 프로그램은 데이터 프로세싱 디바이스에 의해 실행될 때 디바이스로 하여금 동작을 수행하게하는 명령을 갖도록 구성될 수 있다.
이러한 양상 및 다른 양상들의 다른 구현예들은 전자 시스템을 포함하며, 상기 전자 시스템은, 하나 이상의 프로세싱 디바이스; 및 명령들을 저장하기 위한 하나 이상의 머신 판독가능한 저장 디바이스들을 포함하며, 상기 명령들은 본 명세서에 설명된 임의의 양상들 또는 실시예들에 따른 방법을 포함하는 동작을 수행하기 위해 상기 하나 이상의 프로세싱 디바이스들에 의해 실행가능하다. 이러한 양상 및 다른 양상들의 다른 구현예들은 명령들을 저장하는 하나 이상의 머신 판독가능한 저장 디바이스들을 포함하며, 상기 명령들은 하나 이상의 프로세싱 디바이스들에 의해 실행되어 본 명세서에 설명된 임의의 양상들 또는 실시예들에 따른 방법을 포함하는 동작을 수행할 수 있다.
본 명세서에 서술된 본 발명의 주제는 특정 실시예로 구현될 수 있으며, 다음과 같은 장점들 중 하나 이상을 초래할 수 있다. 로컬 또는 비로컬 북마크 인덱스에 저장된 북마크들에 대한 개선된 생성, 저장 및 액세스를 가능하게하는 컴퓨팅 시스템이 서술된다. 서술된 시스템 및 방법은 사용자로부터의 음성 입력에 기초하여 신속하고도 계산적으로 효율적인 방식으로 북마크를 생성할 수 있게한다.
예를 들어, 사용자로부터의 다수의 터치 또는 물리적 입력들을 컴퓨팅 디바이스가 수신 및 프로세싱하는 대신에, 하나의 음성 입력이 컴퓨팅 시스템에 의해 이용되어, 북마크를 생성하는 것과 관련된 데이터를 신속하게 획득 및 저장할 수 있다. 컴퓨팅 시스템은 기존의 데이터 요소를 이용하여, 북마크를 생성하기 위한 URL/딥-링크와 같은 리소스 식별자를 효율적으로 획득할 수 있다. 또한, 컴퓨팅 디바이스는 북마크의 생성에 사용되는 데이터 요소들의 분석을 위해 시스템의 비로컬 컴퓨팅 로직을 레버리지할 수 있으며, 이는 컴퓨팅 디바이스가 비교적 제한된 프로세싱 능력 및 배터리 수명을 갖는 모바일 디바이스인 경우에 특히 이점이 될 수 있다.
서술된 시스템 및 방법은 프로세서의 효율이 향상되고 프로세서/메모리 활용이 다른 계산 업무로 확장될 수 있도록 로컬 컴퓨팅 디바이스의 프로세서 및 메모리의 최소 이용을 허용한다. 따라서, 전체 컴퓨팅 디바이스 시스템 대역폭이 개선된다.
본 명세서에 기술된 본 발명의 주제에 대한 하나 이상의 구현예들의 세부 내용은 첨부된 도면을 참조하여 아래에 설명된다. 본 발명의 주제의 다른 특징, 양상 및 장점은 상세한 설명, 도면 및 청구 범위로부터 명백해질 것이다.
도 1은 사용자로부터의 음성 입력에 기초하여 북마크들을 생성하고 액세스하기 위한 컴퓨팅 시스템의 예이다.
도 2는 사용자로부터의 음성 입력에 기초하여 북마크를 생성하기 위한 예시적인 프로세스의 흐름도이다.
도 3은 사용자로부터의 음성 입력에 기초하여 북마크들을 생성하고 액세스하기 위한 예시적인 사용자 인터페이스들의 제 1 세트를 도시한다.
도 4는 사용자로부터의 음성 입력에 기초하여 북마크들을 생성하고 액세스하기 위한 예시적인 사용자 인터페이스들의 제 2 세트를 도시한다.
도 5는 사용자로부터의 음성 입력에 기초하여 북마크들을 생성하고 액세스하기 위한 예시적인 사용자 인터페이스들의 제 3 세트를 도시한다.
도 6은 사용자로부터의 음성 입력에 기초하여 하나 이상의 북마크에 액세스하기 위한 예시적인 사용자 인터페이스를 도시한다.
도 7은 본 명세서에서 설명된 컴퓨터 구현 방법과 관련하여 사용될 수 있는 컴퓨팅 시스템의 블록도이다.
다양한 도면들에서 유사한 참조 번호 및 지정은 동일한 요소를 나타낸다.
도 1은 사용자로부터의 제 1 음성 입력에 기초하여 북마크를 생성 및 저장하고, 사용자로부터의 제 2 음성 입력에 기초하여 저장된 북마크에 액세스하기 위한 컴퓨팅 시스템(100)을 도시한다. 시스템(100)은 모바일 디바이스가 웹 기반 URI(Uniform Resource Locator)를 사용하여 리소스 페이지에 액세스하거나 또는 모바일 디바이스의 네이티브 어플리케이션("앱"으로도 알려져 있음)에 의해 생성된 리소스 페이지에 액세스하기 위한 북마크를 생성하도록 음성 입력을 수신할 수 있게 한다. 모바일 디바이스는 다수의 딥 링크를 포함하는 어플리케이션 인덱스에 액세스함으로써 그리고 리소스 페이지에 매핑되는 딥 링크(deep-link)를 사용함으로써 네이티브 어플리케이션의 리소스 페이지에 액세스할 수 있다.
모바일 디바이스는 소정의 북마크 기능을 표시하는 사용자로부터의 음성 입력을 수신한다. 모바일 디바이스는 사용자가 웹 사이트 또는 웹 기반 리소스를 브라우징하는 동안 또는 사용자가 네이티브 어플리케이션의 리소스 페이지를 탐색하는 동안 음성 입력을 수신할 수 있다. 예를 들어, 모바일 디바이스는 사용자로부터 적어도 다음과 같은 음성 질의를 수신할 수 있는바, i) 리소스 페이지에 대한 URL 또는 딥 링크를 포함하는 새로운 북마크를 생성/형성 및 저장하기 위한, ii) 기존의 저장된 북마크에 대한 데이터를 삭제하기 위한, 또는 iii) 북마크에 저장된 URL 또는 딥 링크를 사용하여 리소스 페이지를 보기 위해 저장된 북마크에 액세스하기 위한 음성 질의를 수신할 수 있다.
북마크를 생성하기 위해, 시스템(100)의 컴퓨팅 서버는 적어도, 원하는 북마크 기능을 나타내는 음성 입력에 대한 데이터 또는 특정 리소스 페이지, 웹-기반 리소스, 혹은 네이티브 어플리케이션에 관한 문맥 정보를 나타내는 하나 이상의 데이터 요소들을 수신한다. 예를 들어, 문맥 정보는 리소스 식별자, 예를 들어, 리소스 페이지와 연관된 URL/딥 링크, 리소스 페이지의 스크린 샷/디지털 이미지 또는 네이티브 어플리케이션에 대한 식별자를 포함할 수 있다.
컴퓨팅 서버의 북마크 엔진은 원하는 북마크 기능을 나타내는 음성 입력에 관한 데이터에 기초하여 및/또는 문맥 정보를 나타내는 하나 이상의 데이터 요소에 기초하여 북마크를 생성한다. 하나 이상의 데이터 요소는 새롭게 생성된 대응 북마크와 연관되어 저장될 수 있다. 저장된 북마크에 액세스하여 북마크와 관련된 특정 리소스 페이지를 시청하고자 하는 사용자의 의도를 나타내는 사용자로부터의 입력 음성에 응답하여, 모바일 디바이스는 저장된 북마크에 액세스할 수 있다.
본 명세서에서 사용된 바와 같이, 네이티브 어플리케이션은 전형적으로 "앱"이라 지칭되는 실행가능한 어플리케이션 프로그램이며, 이는 모바일 디바이스(102)의 컴퓨팅 시스템에서 사용하기 위해 개발될 수 있지만, 모바일 디바이스의 기본 운영 체제에 대해 네이티브하지도 혹은 고유하지 않을 수도 있다. 어플리케이션 프로그램은 특정 플랫폼 또는 전자 디바이스 상에서의 사용을 위해 개발될 수 있으며 그리고 플랫폼에 따라, 운영 체제 기능들 또는 해당 플랫폼이나 디바이스에 설치된 다른 소프트웨어 기능과 상호 작용할 수 있다.
도 1의 구현예를 다시 참조하면, 시스템(100)은 일반적으로 사용자/모바일 디바이스(102) 및 컴퓨팅 서버(104)(후술됨)를 포함한다. 모바일 디바이스(102)는 사용자로부터 음성 입력 또는 다른 입력을 수신하도록 구성된 임의의 적합한 전자적인 사용자 디바이스일 수 있다. 일부 구현예에서, 모바일 디바이스(102)는 셀룰러 스마트폰 디바이스, 랩톱 컴퓨터, 데스크탑 컴퓨터, 태블릿 컴퓨터, 전자 판독기 디바이스, 스마트 텔레비전, 또는 음성 입력을 수신하도록 구성된 임의의 다른 모바일 컴퓨팅 디바이스일 수 있다.
모바일 디바이스(102)는 스피치 모듈(106)을 포함한다. 스피치 모듈(106)은 자동 스피치 인식기(Automatic Speech Recognizer: ASR)(107) 및 자연어 프로세서(Natural Language Processor: NLP)(108)를 포함한다. 일부 구현예에서, 모바일 디바이스(102)는 사용자가 새로운 북마크를 생성하기를 원함을 나타내는 음성 입력(103)을 수신한다. 북마크는 모바일 디바이스(102)의 예시적인 디스플레이 상에서 사용자에게 제공될 수 있는 특정 웹-리소스에 대한 후속 액세스를 촉진 또는 간소화하는데 사용될 수 있다. 스피치 모듈(106)은 수신된 음성 입력에 관한 데이터, 예컨대, 오디오 신호 데이터를 생성하고, 음성 입력의 트랜스크립션(transcription)을 생성한다.
ASR(107)은 모바일 디바이스(102)(또는 후술하는 컴퓨팅 서버(104))의 하나 이상의 프로세서에 의해 실행되는 스피치 인식 로직, 프로그램된 명령 또는 알고리즘일 수 있다. 예를 들어, ASR(107)은 수신된 음성 입력(103)의 오디오 특징들의 식별, 추출, 및 분석을 관리하기 위한 프로그램 코드를 실행할 수 있다. 또한, ASR(107)은 수신된 음성 입력(103)의 오디오 특징들을 NLP(108)와 관련하여 저장된 다양한 모델 파라미터들과 비교하는 비교기 로직을 실행할 수 있다. 이러한 비교 결과는 음성 입력(103)의 음성/스피치 발언들에 실질적으로 대응하는 텍스트 트랜스크립션 출력을 생성할 수 있다.
NLP(108)는, 소정의 단어 조합들 또는 시퀀스들을 특정 또는 식별하는 스피치 인식에서 사용되는 예시적인 언어 프로세서일 수 있다. 일부 구현예에서, NLP(108)는 단어 시퀀스 확률 팩터를 생성하도록 구성될 수 있는바, 단어 시퀀스 확률 팩터는 특정한 단어 시퀀스들 또는 단어 조합들의 유사한 발생 혹은 존재를 나타내기 위해 사용될 수 있다. 일부 예에서, 식별된 단어 시퀀스들은, 예컨대, 서면 코퍼스(written corpus)가 아니라 스피치 코퍼스에 고유한 시퀀스들에 주로 대응할 수 있다.
또한, 모바일 디바이스(102)는 어플리케이션 모듈(110)을 포함한다. 어플리케이션 모듈(110)은 적어도 i) 어플리케이션의 리소스 페이지를 생성하기 위한 특정 어플리케이션(11)을 실행하기 위하여, 또는 ⅱ) 특정 어플리케이션(111)과 관련된 데이터를 저장하는 어플리케이션 인덱스(112)에 액세스하기 위하여 이용될 수 있다. 일부 구현예에서, 어플리케이션(11)은 적어도 모바일 디바이스(102)에 저장된 웹 브라우저 또는 네이티브 어플리케이션일 수 있고, 그리고 어플리케이션 인덱스(112)는 네이티브 어플리케이션의 리소스 페이지들에 대한 어드레스 데이터를 포함한다.
일부 경우들에서, 어플리케이션 인덱스(112)을 통해 저장된 데이터는 어플리케이션(111)에 의해 생성된 특정 리소스 페이지에 대한 딥 링크를 포함할 수 있다. 네이티브 어플리케이션들은 하나 이상의 딥-링크들을 어플리케이션 인덱스(112)에 저장하도록 구성될 수 있으며, 그리고 각각의 딥-링크는 네이티브 어플리케이션에 의해 생성된 리소스 페이지에 맵핑될 수 있다. 또한, 각각의 딥-링크는, 딥-링크에 맵핑된 리소스 페이지에 액세스하기 위한 리소스 어드레스를 제공한다.
또한, 모바일 디바이스(102)는 북마크 인덱스(114), 디바이스 어시스턴트(116) 및 콘텍스트 데이터 엔진(118)을 포함한다. 인덱스(114)는 생성된 북마크들에 대한 로컬 스토리지 및 액세스를 제공한다. 예를 들어, 인덱스(114)는 적어도 음성 입력(103)에 기초하여 생성된 다수의 북마크들의 리스트를 저장하도록 구성될 수 있다.
디바이스 어시스턴트(116)는 하나 이상의 가상 어시스턴트 기능들을 사용자에게 제공하도록 구성된 소프트웨어 프로그램에 대응할 수 있다. 예를 들어, 디바이스 어시스턴트(116)는 사용자로부터 음성 질의를 검출 또는 수신하고, 상기 질의에 응답하는 웹 결과를 획득하도록 계산들을 수행하고 그리고 획득된 웹 결과에 기초하여 청각적 응답을 제공하도록 구성될 수 있다. 다음에 보다 상세히 설명하는 바와 같이, 일부 구현예에서, 디바이스 어시스턴트(116)에 의해 생성되고 모바일 디바이스(102)에 의해 수신된 사용자 음성 질의에 응답하는 웹 결과를 사용하여 북마크들이 생성될 수 있다.
콘텍스트 데이터 엔진(118)은 웹-기반 리소스들 또는 네이티브 어플리케이션(예컨대, 어플리케이션 111)에 대한 콘텍스트 데이터를 획득하도록 구성되는바, 네이티브 어플리케이션(예컨대, 어플리케이션 111)은 음성 입력(103)이 디바이스에 의해 수신될 때 모바일 디바이스(102)에 의해 실행된다. 예를 들어, 데이터 엔진(118)은 i) 네이티브 어플리케이션의 리소스 페이지를 고유하게 식별하는 URL, ii) 네이티브 어플리케이션에 대한 식별자, iii) 웹사이트의 리소스 페이지를 고유하게 식별하는 웹사이트 URL, 또는 iv) 음성 입력(103)이 디바이스에 의해 수신될 때 모바일 디바이스(102)의 디스플레이 상에서 사용자에게 제공되는 리소스 페이지의 스크린 샷 중 하나 이상을 추출하도록 구성될 수 있다.
일부 구현예에서, 디바이스 어시스턴트(116)는 디스플레이된 리소스 페이지에 관련된 데이터, 예컨대 디바이스 어시스트 데이터(137)를 생성할 수 있다. 이러한 디바이스 어시스트 데이터(137)는 디스플레이된 리소스 페이지의 속성들을 나타내는 다수의 데이터 요소들을 포함할 수 있다. 예를 들어, 디바이스 어시스트 데이터(137)는 예시적인 메시징 어플리케이션에 의해 표시되는 전자 메시지의 송신자 혹은 수신자의 사용자 이름 또는 특정한 리소스 페이지를 통해 디스플레이되는 정보에 관한 데이터를 포함할 수 있다.
어시스트 데이터(137) 뿐만 아니라 스크린 샷 데이터는 다수의 주석들을 사용하여 주석이 달릴 수 있다. 예를 들어, 엔티티들, 이름들, 연락처들, 사용자 이름들, 주소들 또는 전화 번호들과 같은 정보가 주석될 수 있으며, 따라서 북마크를 생성하기 위한 데이터는 이러한 주석에 기초하여 추출될 수 있다.
요소 데이터(elements data)(138)는 콘텍스트 데이터(136), 디바이스 어시스트 데이터(137), 트랜스크립션(138), 어플리케이션 식별자(140)("앱 ID 140") 및 리소스 식별자(ID)(142)를 포함할 수 있다. 콘텍스트 데이터(136)는 사용자에게 디스플레이하기 위해 생성된 특정 리소스 페이지에 대한 콘텍스트 정보 또는 모바일 디바이스(102)를 통해 액세스 가능한 웹 기반 리소스 또는 네이티브 어플리케이션에 관한 정보를 나타낼 수 있다.
예를 들어, 콘텍스트 데이터(136)의 콘텍스트 정보는, i) 특정 리소스 페이지에 액세스하기 위한 어드레스를 제공하는 URL/딥 링크(URL/deep-link)와 같은 리소스 식별자(142), ii) 새로운 북마크를 식별하는데 사용될 수 있는 설명 데이터, iii) 특정 리소스 페이지의 스크린 샷/디지털 이미지, 또는 iv) 모바일 디바이스(102)에 의해 실행되고 사용자가 북마크를 생성하기를 원하는 네이티브 어플리케이션을 식별하는 앱 ID(140) 중 적어도 하나를 포함할 수 있다.
일반적으로, 요소들(134)은 모바일 디바이스(102)에 의해 수신된 질의 음성 입력에 관한 데이터를 포함할 수 있다. 이러한 데이터는 모바일 디바이스(102)에 의해 수신된 하나 이상의 원하는 북마크 기능들을 나타내는 트랜스크립션(138)을 포함할 수 있다. 도 1에 도시된 바와 같이, 모바일 디바이스(102)는 사용자로부터 음성 입력 (103, 105)을 수신할 수 있고, 이는 원하는 북마크 기능을 나타낸다. 예를 들어, 모바일 디바이스는 적어도 다음과 같은 음성 질의를 사용자로부터 수신할 수 있다: i ) 특정 리소스 페이지에 대한 URL 또는 딥-링크를 포함하는 새로운 북마크를 생성/형성하고 저장하기 위한 음성 질의, ii) 북마크에 저장된 URL 또는 딥-링크를 사용하여 특정 리소스 페이지를 시청하기 위해 저장된 북마크에 액세스하기 위한 음성 질의.
또한, 모바일 디바이스(102)는 웹 사이트 또는 웹 기반 리소스를 사용자가 브라우징하는 동안 또는 사용자가 네이티브 어플리케이션의 리소스 페이지를 네비게이팅하는 동안 음성 입력을 수신할 수 있다. 북마크를 생성/형성하기 위한 질의를 시스템(100)이 수신함에 응답하여, 컴퓨팅 서버(104)는 모바일 디바이스(102)로부터 요소들(134)을 수신 또는 획득한다. 서버(104)는 수신된 요소들(134)을 사용하여 하나 이상의 북마크들을 생성 및 저장한다.
일반적으로, 컴퓨팅 서버(104)는 요소들(134)을 수신하고 상기 요소들(134)에 기초하여 하나 이상의 북마크들을 생성하는 북마크 엔진(BM 엔진)(120)을 포함한다. BM 엔진(120)은 데이터 분석 로직(122), 광학 문자 인식(Optical Character Recognition: OCR) 로직, 북마크 인덱스(126), 어플리케이션 템플릿(128), 및 데이터 저장소(130)를 포함한다. BM 엔진(120)은 서버(104)의 예시적인 컴퓨팅 모듈(또는 서버 104에 의해 액세스 가능한)일 수 있으며, 북마크 인덱스(126) 및 데이터 저장소(130)에 저장하도록 다수의 북마크들을 생성하기 위해 다수의 데이터 요소를 수신 및 처리하도록 구성될 수 있다.
본 명세서에서 사용된 바와 같이, "모듈"이라는 용어는 컴퓨터의 프로세싱 디바이스(들)로 하여금 하나 이상의 기능을 수행하게 하는 프로그램 코드를 포함하는 하나 이상의 소프트웨어 프로그램을 실행하도록 구성된 하나 이상의 컴퓨터들을 포함하도록 의도되지만 이에 한정되는 것은 아니다. "컴퓨터"라는 용어는 데스크탑 컴퓨터, 랩톱 컴퓨터, 메인 프레임 컴퓨터, 태블릿 디바이스, 서버, 휴대용 디바이스, 모바일 디바이스 또는 스마트 폰 디바이스 또는 데이터를 프로세싱할 수 있는 임의의 다른 디바이스와 같은 임의의 데이터 프로세싱 디바이스를 포함하도록 의도된다.
일부 구현예에서, BM 엔진(120)은 데이터 분석 로직(122)을 사용하여 모바일 디바이스(102)로부터 수신된 요소 데이터(134)를 분석하도록 구성될 수 있다. OCR 로직(124)은 BM 엔진(120)에 의해 이용되어, 모바일 디바이스(102)로부터 수신된 예시적인 트랜스크립션의 광학 문자들을 인식할 수 있으며, 그리고 이는 모바일 디바이스(102)로부터 수신된 음성 질의에 대응한다.
로직(122)이 이용되어, 요소 데이터(134)로부터 소정 데이터를 추출하고 추출된 데이터를 사용하여 북마크를 생성/형성할 수 있다. 예를 들어, i) 네이티브 어플리케이션 딥-링크, ii) 웹 사이트 URL, 또는 iii) 리소스 페이지의 스크린 샷 중 하나에 대응하는 리소스 식별자를 추출하거나 획득하기 위해, 로직(122)을 사용하여 BM 엔진(120)에 의해 북마크가 생성될 수 있다.
일부 구현예에서, 리소스 식별자를 획득하는 단계는, 시스템(100)이 네이티브 어플리케이션과 관련된 하나 이상의 딥 링크들을 저장하는 어플리케이션 인덱스(112)에 액세스하는 것, 그리고 리소스 페이지에 대한 링크(예컨대, URL)를 나타내는 딥-링크를 어플리케이션 인덱스로부터 선택하는 것을 포함할 수 있다. 선택된 딥-링크는 리소스 ID(142)에 대응할 수 있고 요소 데이터(134)와 함께 BM 엔진(120)에 제공될 수 있다. BM 엔진(120)은 북마크를 생성하기 위해 획득된 리소스 식별자로서 선택된 딥-링크를 사용할 수 있으며, 따라서 딥-링크는 리소스 페이지에 액세스하기 위한 리소스 어드레스를 제공할 수 있다.
일부 구현예에서, 콘텍스트 데이터(136)는 북마크를 생성하도록 다른 기존의 데이터와 결합될 수 있다. 예시적인 기존의 데이터는 네이티브 어플리케이션의 하나 이상의 딥-링크의 구조가 모바일 디바이스(102)에 알려져 있는 적어도 하나의 네이티브 어플리케이션을 포함할 수 있다. 일부 예에서, 이러한 예시적인 기존의 데이터는 북마크를 생성하기 위한 적어도 하나의 딥-링크를 획득하도록 서버(104)에 의해 이용될 수 있다.
BM 엔진(120)은 콘텍스트 데이터(136)를 형성하는 데이터 아이템들의 적어도 서브 세트에 대한 데이터를 포함하는 어플리케이션 템플릿(128)을 생성하도록 구성될 수 있다. 일부 구현예에서, BM 엔진(120)은 생성된 템플릿(128)을 이용하여, 웹 기반 리소스의 리소스 식별자에 해당하는 URL 또는 네이티브 어플리케이션의 리소스 식별자에 해당하는 딥-링크 중 적어도 하나를 획득할 수 있다. 다음으로, 북 엔진(120)은 템플릿(128) 및 URL 또는 딥-링크 중 하나를 사용하여, 특정 리소스 페이지에 액세스하기 위한 북마크를 생성할 수 있다.
생성된 북마크들은 북마크 인덱스(126)에 저장될 수 있다. 모바일 디바이스(102)는 모바일 디바이스(102)에 의해 수신된 음성 입력(105)에 응답하여 상기 인덱스(126)에 액세스하도록 구성될 수 있다. 일부 구현예에서, BM 엔진(120)은 북마크를 북마크 인덱스(126)(서버측)에 저장하고 그리고 디바이스 상에서 북마크 인덱스(114)에 로컬 저장을 위해 북마크 데이터(143)(후술함)를 모바일 디바이스(102)로 전송한다.
예를 들어, 특정 북마크에 액세스하기 위한 사용자 커맨드를 수신하는 것에 응답하여, 모바일 디바이스(102)는 북마크 인덱스(126)(서버 측)에서 그 저장된 위치로부터 특정 북마크를 획득/액세스하기 위해 서버(104)에 요청을 보낼 수 있다. 대안적으로는, 서버(104)에 요청을 보내는 것이 아니라, 특정 북마크에 액세스하기 위한 사용자 커맨드를 수신하는 것에 응답하여, 모바일 디바이스(102)는 특정 인덱스를 북마크 인덱스(114)(디바이스 102에 로컬인)의 저장된 위치로부터 획득/액세스할 수 있다.
일부 구현예에서, 음성 입력(105)은 디바이스로 하여금 북마크 인덱스(114) 또는 북마크 인덱스(126) 중 하나에 저장된 북마크에 액세스하게하는 모바일 디바이스(102)에 의해 수신된 사용자 커맨드이다. 일부 일례에서, 생성된 북마크들 및 적어도 요소 데이터(134)를 형성하는 요소의 서브세트는 각각 저장된 북마크에 대한 액세스를 용이하게하거나 간소화하기 위해 데이터 저장소(130)에 저장될 수 있다. 모바일 디바이스(102)는 음성 입력(105)을 수신하는 것에 응답하여 북마크 데이터(143)를 수신 또는 액세스/획득한다.
예를 들어, 모바일 디바이스(102)에 의한 음성 입력(105)의 수신은 디바이스가 북마크 인덱스(126)에 저장된 특정 북마크에 액세스하기 위해 서버(104)에 요청을 전송하게할 수 있다. 요청 수신에 응답하여 서버(102)는 북마크 데이터(143)를 전송할 수 있다. 북마크 데이터(143)(BM 데이터 143)는 전술한 바와 같은, 디스크립션(144), 딥-링크(146), 웹 URL(148), 스크린 샷 데이터(150), 및 앱 ID(140)를 포함할 수 있다. 모바일 디바이스(102)는 BM 데이터(143)의 리소스 식별자를 사용하여, 특정 리소스 페이지에 액세스하고 그리고 모바일 디바이스(102)의 디스플레이를 통해 사용자에게 리소스 페이지를 제공할 수 있다.
BM 데이터(143)와 관련하여, 디스크립션(144)은 새로 생성된 북마크를 식별하기 위해 사용되는 북마크 디스크립션 데이터를 포함한다. 예시적인 디스크립션(144)은 "나의 인터넷 뱅크" 또는 "G. Doe's 레스토랑"과 같은 텍스트일 수 있다. 딥-링크(146)는 네이티브 어플리케이션의 리소스 페이지에 액세스하기 위해 모바일 디바이스(102)에 의해 사용되는 리소스 식별자이다. 웹 URL(148)은 웹 브라우저 어플리케이션의 리소스 페이지에 액세스하기 위해 모바일 디바이스(102)에 의해 사용되는 리소스 식별자이다. 스크린 샷(150)은 리소스 페이지의 디지털 이미지이며, 모바일 디바이스(102)가 저장된 북마크에 액세스할 때 사용자에게 제공될 수 있다.
도 2는 사용자로부터의 음성 입력에 기초하여 북마크들을 생성하기 위한 예시적인 프로세스(200)의 흐름도이다. 프로세스(200)의 서술된 동작들 또는 단계들은 예시적인 모바일/사용자 디바이스들 및 시스템(100)의 예시적인 컴퓨팅 서버들의 프로세서 및 메모리에 의해 실행가능한 컴퓨팅 로직 또는 프로그래밍된 명령의 실행에 기초하여 인에이블되거나 수행될 수 있다.
박스(202)는 북마크를 생성하는 것과 관련된 프로세스(200)의 동작을 나타낸다. 박스(204)에서, 모바일 디바이스(102)는 특정 리소스 페이지에 액세스하기 위한 북마크를 생성하고자 하는 사용자의 바램을 나타내는 사용자 음성 질의 예컨대, 음성 입력(103)을 수신한다. 일부 구현예에서, 북마크를 생성하고자 하는 바램을 나타내는 것은, 사용자가 리소스 페이지에 대한 북마크를 생성하기를 명시적으로 언급하는 것을 포함한다. 박스(206)에서, 사용자 질의를 수신하는 것에 응답하여, 시스템(100)은 컴퓨팅 서버(104)로의 전송을 위해 요소들(134)을 준비, 추출 또는 획득할 수 있다.
사용자가 북마크를 생성하고자 하는 리소스 페이지는 모바일 디바이스(102)의 디스플레이를 통해 사용자에 의해 현재 보여질 수 있다. 일부 경우에서, 사용자가 북마크를 생성하고자 하는 리소스 페이지는 디바이스 어시스턴트(116)에 의해서 사용자에게 제시되는 웹 결과일 수도 있다. 북마크를 생성하고자 하는 사용자 음성 질의는, 생성된 북마크에 사용자가 할당하기를 원하는 이름을 포함할 수 있다.
일부 구현예에서, 시스템(100)은 음성 질의를 분석하여, 사용자 질의의 의도가 시스템(100)이 북마크를 생성하는 것인지의 여부를 판별할 수 있다. 예를 들어, 시스템(100)은 문법 분석 또는 n-그램 분석과 같은 하나 이상의 기법들을 사용하여, 북마크를 생성하기 위한 의도를 나타내는 소정의 단어들 또는 어구들을 검출할 수 있다. 또한, 시스템(100)은 머신-러닝 논리를 사용하여, 북마크를 생성하기 위한 의도를 나타내는 내장된 질의(embedded query)를 판별하거나 검출할 수 있다.
박스(208)에서, 프로세스(200)는 시스템(100)이 북마크를 생성하기를 사용자가 의도하는지의 여부를 결정하는 것을 포함한다. 시스템이 북마크를 생성하기를 사용자가 의도하지 않는다라고 시스템(100)이 판별하면, 프로세스(200)는 박스(210)에서 종료한다. 시스템이 북마크를 생성하기를 사용자가 의도한다라고 시스템(100)이 판별하면, 프로세스(200)는 박스(212)로 진행하며, 시스템(100)은 컴퓨팅 서버(104)로 요소들을 전송한다.
박스(212)에서, 시스템(100)이 사용자가 시스템이 북마크를 생성할 의도가 있다고 결정하면, 프로세스(200)는시스템(100)은 요소(134)를 컴퓨팅 서버(104)에 전송한다. 박스(212)에서, 시스템(100)은 BM 엔진(120)을 사용하여 요소 데이터(134)의 데이터 아이템을 분석하고, 요소 데이터(134)의 하나 이상의 아이템들을 저장소(130)에 저장한다. 예를 들어, 박스(214)에서 BM 엔진(120)은 서버(104)로부터 요소 데이터(134)의 적어도 일부를 획득 또는 수신하고 그리고 박스(216)에서 BM 엔진(120)은 데이터 요소(134)의 적어도 일부를 데이터 저장소(130)에 저장할 수 있다. 박스(218)에서, BM 엔진(120)은 로직(122)을 사용하여 요소 데이터(134)를 분석할 수 있으며 그리고 북마크를 식별하는데 사용되는 북마크에 할당될 적어도 이름을 추출할 수 있다. 전술한 바와 같이, 요소 데이터(134)의 일부분 또는 서브세트는 콘텍스트 데이터(136), 어시스트 데이터(137), 트랜스크립션(138), 앱 ID(140) 또는 리소스 ID(142) 중 하나 이상을 포함할 수 있다.
북마크를 생성하기 위한 사용자의 의도를 나타내는 음성 입력(103)은 또한, 생성된 북마크를 식별하기 위해 사용자가 할당하기를 원하는 이름을 포함할 수 있다. 예를 들어, 음성 입력(103)은 사용자 명세서 "나의 은행으로서의 북마크 페이지" 라는 사용자 발언을 포함할 수 있으며, 따라서 "나의 은행(my banking)"은 북마크를 식별하는데 사용되는 이름이 될 것이다. 모바일 디바이스(102)는 하나의 사용자 세션 동안 다수의 음성 입력(103)들을 수신할 수 있다. 일부 구현예에서, 사용자가 적어도 하나의 북마크를 이전에 생성한 현재 사용자 세션에 대해, BM 엔진(120)은 가장 최근의 이전 질의의 콘텐츠 데이터를 이용하여, 북마크를 식별하기 위한 이름을 획득하거나 추출할 수 있다.
일부 구현예에서, 음성 입력(103)을 수신하는 것(박스 204)에 응답하여, 시스템(100)은 BM 엔진(120)을 사용하여 사용자가 북마크를 생성하기를 원하는 리소스 페이지와 관련된 리소스 식별자를 생성 또는 획득한다. 네이티브 어플리케이션에 의해 생성된 리소스 페이지의 경우, BM 엔진(120)은 리소스 페이지에 액세스하기 위한 리소스 어드레스를 제공하는 어플리케이션 딥-링크를 사용하여 리소스 식별자를 획득할 수 있다. 대안적으로 또는 부가적으로, 웹 브라우저 어플리케이션에 의해 생성된 리소스 페이지의 경우, BM 엔진(120)은 리소스 페이지에 액세스하기 위한 리소스 어드레스를 제공하는 URL을 사용하여 리소스 식별자를 생성할 수 있다.
일부 구현예에서, 시스템(100)이 북마크를 생성할 때, BM 엔진(120)은 사용자가 모바일 디바이스(102)의 디스플레이를 통해 현재 보고있는 리소스 페이지에 대한 리소스 식별자를 생성하거나 획득한다. 일부 구현예에서, 네이티브 어플리케이션에 의해 생성된 리소스 페이지에 대한 리소스 식별자를 획득하는 것은 또한, 네이티브 어플리케이션의 어플리케이션 식별자(앱 ID)를 획득하는 것 및 그 앱 ID를 리소스 식별자와 연관시키는 것을 포함할 수 있다. 전술한 바와 같이, 북마크를 생성하기 위한 리소스 식별자는 요소 데이터(134)로부터 획득될 수 있거나, 또는 이하에서 설명되는 하나 이상의 프로세스 단계들에 기초하여 시스템(100)에 의해 적어도 부분적으로 생성될 수 있다.
예를 들어, 박스(220)에서, 프로세스(200)는 예컨대 콘텍스트 데이터(136) 또는 어시스트 데이터(137)를 사용하여 요소 데이터(134)로부터 URL 또는 딥-링크에 대응하는 리소스 식별자가 획득될 수 있는지 여부를 결정한다. 마찬가지로, 박스(220)에서, 프로세스(200)는 네이티브 어플리케이션에 대한 앱 ID가 예를 들어, 앱 ID(140)를 사용하여 요소 데이터(134)로부터 획득될 수 있는지 여부를 결정한다.
만일, 시스템(100)이 URL 또는 딥-링크에 대한 리소스 식별자 또는 네이티브 어플리케이션에 대한 앱 ID가 요소 데이터(134)로부터 획득될 수 있다고 결정한다면, 시스템(100)은 적어도 다음 중 하나를 수행할 수 있는바, i) 네이티브 어플리케이션의 리소스 페이지에 액세스하기 위한 북마크를 생성 및 저장하기 위해, 앱 ID를 포함하여, 획득된 딥-링크(222)를 리소스 식별자로서 사용하거나(박스 222); ii) 웹 브라우저의 리소스 페이지에 액세스하기 위한 북마크를 생성 및 저장하기 위해 획득된 URL을 리소스 식별자로서 사용하거나(박스 224); 또는 iii) 콘텍스트 데이터(136)로부터 추출가능한 임의의 스크린 샷 데이터를 저장한다(박스 226). 일부 예에서, 스크린 샷 데이터는 데이터 저장소(130)에 저장되고 그리고 생성된 북마크와 링크될 수 있다.
만일, 시스템(100)이 URL 또는 딥-링크에 대한 리소스 식별자 또는 네이티브 어플리케이션에 대한 앱 ID가 요소 데이터(134)로부터 획득될 수 없다라고 결정한다면, 시스템(100)은 콘텍스트 데이터(136)에 포함된 스크린샷 데이터를 이용하여 앱 ID를 획득할 수 있다(박스 228). 대안적으로, 시스템(100)은 또한, 어시스트 데이터(137)를 사용하여 앱 ID를 획득할 수 있다.
일부 구현예에서, 어플리케이션 인덱스(112)는 네이티브 어플리케이션에 의해 생성된 리소스 페이지에 대한 딥-링크를 포함하지 않을 수도 있으며, 어플리케이션 인덱스(112)는 특정 네이티브 어플리케이션에 대한 앱 ID를 포함하지 않을 수도 있다. 따라서, 일부 예에서, 모바일 디바이스(102)는 네이티브 어플리케이션 인덱스, 예컨대 인덱스(112)에 대한 어플리케이션 딥-링크들을 저장하지 않는 웹 브라우저 이외의, 네이티브 어플리케이션에 의해 생성되는 사용자에게 디스플레이하기 위한 리소스 페이지를 제공할 수 있다.
박스(230)에서, 그리고 인덱스(112)가 특정 딥-링크 또는 앱 ID를 포함하지 않는 구현예들의 경우, 시스템(100)은 북마크를 생성하는데 사용될 수 있는 패턴 데이터가 존재하는지를 검출하거나 결정할 수 있다. 패턴 데이터는 어플리케이션 딥-링크를 생성하는 공지된 패턴이 시스템(100) 내에 존재하거나 및/또는 시스템(100)의 메모리에 저장되는 네이티브 어플리케이션에 대응할 수 있다. 패턴 데이터는 사용자 디바이스에 설치되거나 사용자 디바이스에서 액세스할 수 있는 상이한 유형들의 다양한 네이티브 어플리케이션들에 대해 존재할 수 있다. 따라서, 패턴 데이터는 어플리케이션 딥-링크를 일상적으로 만드는 임의 유형의 어플리케이션을 위해 이용될 수 있다.
일부 구현예에서, 패턴 데이터는 어시스트 데이터(137) 또는 콘텍스트 데이터(136)의 스크린 샷 이미지와 같은 요소 데이터(134)의 하나 이상의 아이템들과 연관될 수 있다. 예를 들어, 어시스트 데이터(137) 및/또는 스크린 샷 데이터는 메시징 어플리케이션, 예컨대, 모바일 디바이스(102) 상에 설치된 네이티브 어플리케이션에 대응할 수 있다. 패턴 데이터는 채팅 앱에 디스플레이된 사용자 이름 또는 연락처 이름, 또는 채팅 앱이 액세스할 수 있는 사용자 연락처 목록에 저장된 전화번호와 같은 2 이상의 메시지들에서 식별된 사용자의 속성들을 포함할 수 있다.
다른 구현예에서, 요소 데이터(134)의 아이템과 연관된 패턴 데이터는 모바일 디바이스(102)를 사용하여 액세스 가능한 다양한 다른 유형들의 네이티브 어플리케이션들에 대응할 수 있다. 예를 들어, 패턴 데이터는 게임 어플리케이션, 레스토랑 리뷰 어플리케이션, 은행 어플리케이션, 소셜 미디어 어플리케이션 또는 어플리케이션 딥-링크를 포함 할 수 있는 데이터를 일상적으로 생성하는 임의의 다른 유형의 어플리케이션에 대응하거나 혹은 이를 위해 존재할 수 있다.
예를 들어, 사용자가 매우 유명한 게임 어플리케이션인 "앵그리 게임(Angry Games)"을 앵그리 게임의 레벨 7에서 플레이하고 있다면, "레벨 7" 이라는 텍스트가 모바일 디바이스(102)를 통해 사용자에게 디스플레이하기 위해 생성될 수 있다. 특히, 앵그리 게임 앱에 대한 패턴 데이터와 관련된 적어도 하나의 딥-링크는, 딥-링크를 정의하는 고유 식별자 또는 하이퍼 링크 내의 레벨 번호를 포함하거나 보유할 수 있다. 예를 들어, 앵그리 게임의 특정한 인덱스 레벨(또는 섹션)에 대한 딥 링크는 "angry-games://$level" 이라는 일반적인 패턴을 가질 수 있으며, 보다 구체적으로, 앵그리 게임의 레벨 7에 대한 딥-링크는 일반적인 패턴 "angry-games://7" 를 가질 수 있다. 일부 경우들에서, 전술한 예시적인 일반적인 패턴은 다양한 다른 유형들의 어플리케이션들에 적용될 수 있으며, 예를 들어, "any-app://$section/level "과 같이 나타낼 수 있다.
이러한 문맥에서, 이러한 패턴 데이터의 존재를 검출하거나 결정하는 것에 응답하여, 시스템(100)은 패턴 데이터(예를 들어, 어시스트 데이터(137) 또는 콘텍스트 데이터(136)의 스크린 샷 이미지)를 포함하거나 또는 이와 관련된 요소 데이터의 아이템들(134)로부터 적어도 레벨/섹션 번호를 분석 및/또는 추출할 수 있다. 따라서, 시스템(100)은 이 패턴 데이터를 사용하여, 앵그리 게임 레벨 7 또는 임의의 앱 섹션에 대한 딥-링크를 사용하여 예시적인 북마크를 생성하거나 생성할 수 있다. 앵그리 게임의 북마크와 관련하여, 북마크를 선택하면 게이밍 어플리케이션이 실행되어, 사용자에게 디스플레이되도록 이전에 생성되었던 레벨 7의 양상들을 볼 수 있다. 일반적으로, 패턴 데이터를 분석하고 추출하여, 어플리케이션 딥-링크 및 딥-링크에 대한 리소스 식별자를 생성하는데 이용되는 데이터 세트들을 형성할 수 있다.
일부 구현예에서, 사용자가 북마크를 생성하기를 원하는 리소스 페이지는 메시징 어플리케이션에 의해서, 또는 모바일 디바이스(102)에 설치된 하나 이상의 다른 유형의 어플리케이션들에 의해 생성된 페이지일 수 있다. 이 구현예에서, 리소스 페이지에 대한 리소스 식별자는 다음 중 적어도 하나일 수 있다: i) 메시징 어플리케이션/다른 어플리케이션에 의해 생성된 리소스 페이지의 스크린 이미지를 식별하는 데이터, 예를 들어 메시징/채팅 윈도우의 스크린 샷; 또는 ii) 메시징 어플리케이션/다른 어플리케이션의 리소스 페이지에 액세스하기 위한 리소스 어드레스를 제공하는 딥-링크. 따라서, 시스템(100)은 메시징 어플리케이션/다른 어플리케이션과 관련된 2개 이상의 메시지들/다른 데이터의 분석에 기초하여 패턴 데이터를 검출하고, 패턴 데이터에 기초하여 딥-링크를 생성하도록 구성될 수 있다.
박스(232)에서, 시스템(100)은 검출된 패턴 데이터의 하나 이상의 데이터 요소들을 사용 및/또는 추출하여 어플리케이션 딥-링크를 생성할 수 있다. 예를 들어, 시스템(100)은 적어도 부분적으로 패턴 데이터를 형성하는 어시스트 데이터(137) 또는 스크린 샷 데이터를 적어도 참조하여, 어플리케이션 딥-링크를 생성하도록 하나 이상의 데이터 요소를 추출할 수 있다. 박스(234)에서, 패턴 데이터의 추출된 데이터 요소는, 북마크 인덱스(126) 및/또는 인덱스(112)에 저장된 북마크를 생성하기 위한 리소스 식별자로서 작용하는 딥 링크를 생성하기 위해 시스템(100)에 의해 사용되는 데이터 세트를 형성할 수 있다.
박스(230)를 다시 참조하면, 인덱스(112)가 특정 딥-링크 또는 앱 ID를 포함하지 않는 구현예들의 경우, 북마크를 생성하기 위한 패턴 데이터가 존재하는지 여부를 시스템(100)이 검출 또는 결정할 수 없다면, 시스템(100)은 특정 네이티브 어플리케이션의 콘텐츠가 공개 도메인에 알려져 있는지를 판별할 수 있다(박스 236).
특정 네이티브 어플리케이션의 콘텐츠가 공개 도메인에 알려져 있다라고 시스템(100)이 판별한다면, 시스템(100)은 어시스트 데이터(137) 및/또는 콘텍스트 데이터(136)로부터의 텍스트 데이터를 이용하여 검색 엔진에 제출하기 위한 예시적인 질의를 생성할 수 있다. 예를 들어, 북마크는 "룩 업(look up)" 또는 모바일 디바이스(102)의 검색 피처를 이용하여 생성될 수 있다. 일부 구현예에서, BM 엔진(120)은 콘텍스트 데이터(136)로부터 추출된 텍스트의 일부분을 사용하여, 검색 질의들을 정형화할 수 있는바, 검색 질의들은 검색 엔진에 의해 수신 및 프로세싱되어 하나 이상의 검색 결과들을 생성한다.
박스(242)에서, 시스템(100)은 생성된 하나 이상의 검색 질의 결과들을 이용하여, 사용자 디바이스(102)를 통해 디스플레이되는 문서 또는 리소스 페이지의 URL, 딥 링크 및/또는 앱 ID를 선택하거나 획득한다. 획득된 URL 또는 딥-링크는 앱 ID와 함께 북마크 인덱스(126) 및/또는 인덱스(112)에 저장되고, 사용자 디바이스(102)를 통해 디스플레이되는 문서 또는 리소스 페이지에 액세스하기 위한 북마크를 생성하는데 사용되는 리소스 식별자로서 기능한다.
몇몇 경우들에서는, 생성된 북마크의 검색을 용이하게하기 위해, 콘텍스트 데이터(136) 또는 어시스트 데이터(137)로부터 추출되고 음성 입력(103) 또는 검색 질의 중 어느 하나를 수반하는 추가 데이터가, 생성된 북마크와 연관되어 저장될 수 있다.
만일, 시스템(100)이 특정 네이티브 어플리케이션의 콘텐츠가 공개 도메인에서 공지되지 않았다고 결정하면, 시스템(100)은 요소 데이터(134)(예를 들어, 스크린 샷 데이터)에서 이용가능한 임의의 데이터를 이용하여, 북마크를 생성하기 위한 리소스 식별자로 사용될 수 있는 URL 또는 딥-링크를 획득할 수 있다. 전술한 바와 같이, 생성된 북마크는 북마크 인덱스(126) 및/또는 인덱스(112)에 저장될 수 있고, 사용자 디바이스(102)를 통해 디스플레이되는 특정 문서 또는 리소스 페이지에 액세스하는데 사용될 수 있다.
일부 구현예에서, 스크린 샷 데이터가 콘텍스트 데이터(136)에 존재하거나 콘텍스트 데이터(136)에 포함되는 경우, BM 엔진(120)은 북마크를 생성하거나 생성할 때 이러한 스크린 샷 데이터를 북마크와 관련하여 저장할 수 있다. 그러나, 일부 실시예에서, 시스템(100)은 어플리케이션 딥-링크 및 대응하는 앱 ID를 얻을 수 없을 수도 있으며, 또는 웹 URL을 획득하지 못할 수도 있다. 이러한 상황이 발생하면, 시스템(100)은 스크린 샷 데이터를 사용하여 북마크를 생성하고 그리고 스크린 샷 데이터를 북마크의 리소스 식별자로서 저장할 수 있다. 따라서, 스크린 샷을 리소스 식별자로서 사용하는 이러한 특정 북마크에 액세스하면, 모바일 디바이스(102)는 스크린 샷에 대응하는 이미지 데이터를 디스플레이할 것이다.
다시 박스(242)를 참조하면, 일부 구현예에서, 시스템(100)은 검색 엔진을 사용하여 검색 결과들의 세트를 계산하거나 생성한다. 예를 들어, 시스템(100)은 다수의 발행된 질의들에 대해 획득된 검색 결과의 조합으로서 검색 결과의 세트를 계산할 수 있다. 그 후, 시스템(100)은 검색 결과들의 세트로부터의 각각의 검색 결과에 대한 스코어를 생성할 수 있다. 일부 구현예에서, 생성된 스코어는 검색 결과가 상위 검색 결과들(예컨대, 상위 5개 또는 상위 10개 검색 결과들)의 일부였던 질의들의 개수에 따라 달라질 수 있다.
특정 개수의 상위 검색 결과들에 대하여, 시스템(100)은 특정 검색 결과가 소정의 임계 스코어를 초과하는 스코어를 갖는지를 검출하거나 결정할 수 있다. 임계 스코어를 초과하는 스코어를 갖는 특정 검색 결과에 대해, 시스템(100)은 북마크를 생성하기 위한 리소스 식별자로서 사용하기 위해, 이용가능한 앱 ID 데이터와 함께, 그 검색 결과의 임의의 웹 URL 또는 딥-링크를 선택할 수 있다. 생성된 북마크는 북마크 인덱스(126) 또는 인덱스(112)에 저장될 수 있다.
일부 구현예에서, 북마크를 생성하기 전에, 시스템(100)은 BM 엔진(120)을 사용하여, 시스템 내에, 예를 들어, 인덱스(126 또는 112)에 저장된 기존 북마크가 새로운 북마크에 할당될 북마크 이름/식별자와 매칭되는 북마크 이름/식별자를 갖는지를 결정할 수 있다. 만일, 시스템에 저장된 북마크가 새로운 북마크에 할당될 북마크 이름/식별자와 매칭되는 북마크 이름/식별자를 가짐을 시스템(100)이 검출한다면, 시스템(100)은 i) 기존 북마크에 대한 데이터를 새로운 북마크에 대한 데이터로 자동으로 덮어쓰거나, 또는 ii) 모바일 디바이스(102)를 이용하여 텍스트 기반 또는 청각적 질의를 생성할 수 있는바, 이러한 텍스트 기반 또는 청각적 질의에 대하여, 모바일 디바이스(102)는 원하는 북마크 기능을 나타내는 응답 데이터를 예컨대, 사용자로부터 수신할 수 있다.
예를 들어, 수신된 응답 데이터에 기초하여, 텍스트 기반 또는 청각적 질의는 시스템(100)에 의해서 이용되어, i) 기존 북마크에 대한 데이터를 새로운 북마크에 대한 데이터로 덮어쓰기하거나, ii) 새로운 북마크의 생성을 취소하거나, 또는 iii) 새로운 북마크에 할당될 북마크 이름/식별자를 수정할 수 있다. 따라서, 시스템(100)은 디바이스(102)에 의해 수신된 제 1 음성 입력에 기초하여 북마크에 대한 식별자를 결정할 수 있다. 북마크에 대한 식별자가 북마크의 이름일 수 있기 때문에, 시스템(100)은 기존 북마크에 대한 식별자를 수정하도록 구성될 수 있으며, 여기서 기존 북마크에 대한 식별자를 수정하는 것은 기존 북마크를 재명명(renaming)하는 것을 포함한다.
도 3은 사용자로부터의 음성 입력에 기초하여 하나 이상의 북마크들을 생성하고 액세스하기 위한 예시적인 사용자 인터페이스들(302, 304 및 306)의 제 1 세트를 도시한다. 인터페이스(302)는 모바일 디바이스(102)를 사용하여 보여지거나 액세스될 수 있는 예시적인 뱅킹 리소스 페이지를 도시한다. 인터페이스(302)는 웹 URL("www.bankofexample.com")을 통해 액세스되는 예시적인 웹사이트에 대응할 수 있다. 인터페이스(304)는 디바이스 어시스턴트(116)와 관련된 예시적인 인터페이스일 수 있다. 인터페이스(304)는 입력(308), 출력(310) 및 제안(312)을 도시한다. 일부 구현예에서, 입력(308)은 모바일 디바이스(102)에 의해 수신된 음성 입력(103)의 트랜스크립션일 수 있다.
예를 들어, 사용자는 예시적인 인터넷 뱅킹 웹사이트의 은행을 보고있을 수 있으며 그리고 다음과 같은 예시적인 질의들 중 하나를 말함으로써 음성 입력(103)을 모바일 디바이스(102)로 발행할 수 있다: i) "이것을 나의 인터넷 뱅킹으로 저장해라(save this as my internet banking)" , ii) "이것을 나의 인터넷 뱅킹으로 북마크해라(bookmark this as my internet banking)" , 또는 iii) "이것을 나의 인터넷 뱅킹으로 기억해라(remember it as my internet banking)." 모바일 디바이스(102)의 디스플레이는 모바일 디바이스(102)의 청취 모드가 활성화되었다는 표시를 사용자에게 제공하기 위해 점등되는(예를 들어, 사용자에 의해 탭될 때) 마이크로폰 아이콘(303)을 보여줄 수 있으며, 따라서 모바일 디바이스(102)는 음성 입력을 수신할 준비가 된다. 일부 구현예에서, 사용자는 제안(312)을 선택하여 인터넷 뱅킹 웹 사이트에 대한 예시적인 북마크를 생성하는 것을 취소할 수 있다.
질의를 수신하는 것에 응답하여, 모바일 디바이스(102)는 입력(308)에 대응하는 트랜스크립션(138)을 생성할 수 있다. 전술한 바와 같이,모바일 디바이스(102)는 적어도 웹 사이트 URL 및 요소 데이터(134)에 포함될 수 있는 다른 데이터를 제공하고, 서버(104)는 이를 수신한다. BM 엔진(120)은 "나의 인터넷 뱅킹(my internet banking)"으로 식별될 수 있는 북마크를 생성 및 저장한다. 북마크를 생성하면, 시스템(100)은 출력(310)을 모바일 디바이스(102)로 하여금 생성하게 할 수 있으며, 상기 출력(310)은 "나의 인터넷 뱅킹"이라는 북마크 이름으로서 웹 URL/리소스 식별자가 기억되었음(예컨대, 북마크 인덱스에 저장됨)을 사용자에게 나타낸다.
인터페이스(306)는 디바이스 어시스턴트(116)와 관련된 또 다른 예시적인 인터페이스일 수 있다. 인터페이스(306)는 입력(314), 출력(316) 및 북마크(318)를 도시한다. 일부 구현예에서, 입력(314)은 모바일 디바이스(102)에 의해 수신된 음성 입력(105)의 트랜스크립션일 수 있다. 예를 들어, 사용자는 저장된 북마크를 사용하여 예시적인 은행의 인터넷 뱅킹 웹 사이트를 보려고 할 수 있다. 사용자는 디바이스(102)의 청취 모드를(예를 들어, 아이콘(303)을 사용하여) 활성화시킬 수 있으며 그리고 다음의 예시적인 질의들/커맨드들 중 하나를 말함으로써 음성 입력 커맨드(105)를 모바일 디바이스(102)로 발행할 수 있다: i) "나의 인터넷 뱅킹" , ii) "나의 인터넷 뱅킹을 오픈하라(open my internet banking)" , iii) "내 인터넷 뱅킹으로 가라(go to my internet banking)", 또는 iv) "나의 인터넷 뱅킹으로 찾아가라(navigate to my internet banking)."
커맨드를 수신하는 것에 응답하여, 모바일 디바이스(102)는 입력(314)에 대응하는 트랜스크립션(138)을 생성할 수 있다. 다음으로, 서버(104)는 적어도 웹 URL 및 북마크 데이터(143)에 포함할 수 있는 다른 데이터를 제공할 수 있으며, 모바일 디바이스(102)는 이를 수신할 수 있다. BM 엔진(120)은, 인덱스(126)로부터, "나의 인터넷 뱅킹"으로 식별될 수 있는 저장된 북마크에 액세스할 수 있다.
북마크 데이터(143)를 제공한 후에, 시스템(100)은 모바일 디바이스(102)로 하여금, i) 시스템이 커맨드의 수신을 확인함을 나타내는 출력(316)을 생성하게 하거나, ii) "나의 인터넷 뱅킹" 이라는 북마크 이름으로 북마크 인덱스(126)에 저장되었던 웹 URL/리소스 식별자를 나타내는 출력(316)을 생성하게 한다.
전술한 바와 같이, 일부 구현예에서는, "나의 인터넷 뱅킹"으로 식별된 북마크를 서버(104)로부터 수신하기보다는, 모바일 디바이스(102)는 로컬 북마크 인덱스(112)에 액세스하여 음성 입력(105)에 의해 표시된 북마크 이름에 기초하여 북마크를 획득할 수 있다. 북마크에 대한 URL 또는 리소스 식별자를 획득한 후, 모바일 디바이스(102)는 음성 입력 커맨드(105)에 의해 표시된 북마크로서 북마크 인덱스(112)에 저장된 웹 URL/리소스 식별자를 사용자(108)에게 나타내는 출력(316)을 생성할 수 있다.
다음의 설명은 채팅 또는 메시징 어플리케이션과 같은 네이티브 어플리케이션을 통해 발생하는 전자 대화에 대한 리소스 페이지를 저장하기 위해 북마크가 생성되는 시스템(100)의 예시적인 동작 또는 프로세스를 도시한다. 사용자는 모바일 디바이스(102)에 설치된 채팅 어플리케이션을 통해 사용자와 아버지 사이에서 교환된 채팅 메시지를 보고있을 수 있다. 사용자가 "이것을 아버지와 나의 채팅으로 저장하라"라고 말할 때, 사용자는 음성 입력(103)을 제공할 수 있으며 모바일 디바이스(102)는 이를 수신할 수 있다.
이러한 음성 입력(103)의 수신에 응답하여, 디바이스(102)는 서버(104)에 어시스트 데이터(137)를 전송하며, 이 데이터는 사용자가 보고있는 채팅 어플리케이션의 스크린 또는 인터페이스에 대응할 수 있다. 일부 구현예에서, 디바이스(102)는 네이티브 채팅 어플리케이션 또는 웹 URL에 대응하는 요소 데이터(134)를 전송하지 않을 수도 있다. 서버(104)에 의해 수신된 어시스트 데이터(137)는 스크린 샷 이미지의 특정 위치, 예를 들어 이미지의 상부 막대(top bar)에 위치한 "아버지"에 대응하는 사용자 이름을 포함할 수 있다.
서버(104)가 어시스트 데이터(137)를 수신하면, 다음과 같은 결과가 발생할 수 있다. 사용자 이름 예를 들어, "아버지" 뿐만 아니라 앱 ID가 어시스트 데이터(137)로부터 추출되고 네이티브 채팅 어플리케이션에 대한 딥-링크가 구성된다. 일부 구현예에서, 채팅 어플리케이션에 대한 딥 링크는 추출될 수 있는 사용자 이름을 가진 공지된 데이터 패턴을 가질 수 있다. 구성된 딥-링크 및 앱 ID는 북마크 인덱스(126) 또는 인덱스(112) 중 적어도 하나에 저장된다.
따라서, 다음번에 디바이스(102)가 사용자로부터 음성 입력(예를 들어, 음성 커맨드 105)을 수신할 때, 디바이스(102)는 사용자의 아버지와의 전자 대화를 나타내는 네이티브 채팅 어플리케이션의 채팅 인터페이스/리소스 페이지를 사용자에게 디스플레이할 것이다. 커맨드(105)에 대한 예시적인 음성 입력은 사용자가 다음 중 하나를 말하는 것을 포함할 수 있다: i) "아버지와 나의 채팅" , ii) "아버지와의 대화를 나에게 보여줘" 또는 iii) "아버지와의 대화로 가라(go to my chats with dad)."
대안적인 구현예에서, 어시스트 데이터(137)는 예컨대, "아버지" 혹은 "마이클"과 같은 연락처(contact)의 전체 이름 또는 부분 이름을 포함할 수 있으며, 그리고 연락처의 성씨(surname)를 또한 포함할 수도 있다. 따라서, 전술한 예시적인 동작/프로세스에 부가하여, 서버(104)가 어시스트 데이터(137)를 수신하는 경우, 어시스트 데이터(137)로부터 연락처의 전체 이름 또는 부분 이름을 추출할 수 있다. 연락처의 이름은 사용자의 연락처와 함께 예시적인 연락처 목록에 저장될 수 있으며, "마이클(Michael)"에 해당하는 전화 번호가 추출된다.
네이티브 채팅 어플리케이션에 대한 딥-링크가 구성되고, 딥-링크는 마이클에 대한 전화 번호를 포함할 수 있다. 일부 경우, 채팅 어플리케이션에 대한 딥-링크는 추출될 수 있으며 그리고 제 1 사용자가 채팅하고 싶어하는 제 2 사용자에 대응하는 전화 번호를 갖는 공지된 데이터 패턴을 가질 수 있다. 구성된 딥-링크 및 앱 ID는 북마크 인덱스(126) 또는 인덱스(112) 중 적어도 하나에 저장된다.
따라서, 디바이스(102)는 음성 명령(105) 과 같은 사용자로부터 음성 입력을 수신할 때, 디바이스(102)는 마이클과의 사용자 전자 대화를 나타내는 네이티브 채팅 어플리케이션의 채팅 인터페이스/리소스 페이지를 사용자에게 표시할 것이다. 커맨드(105)에 대한 음성 입력의 일례는 다음 중 하나를 말하는 사용자를 포함할 수 있다: i) "마이클과의 나의 메시지" , ii) "마이클과의 나의 메시지를 보여줘" 또는 iii) "마이클과의 나의 메시지로 이동해."
도 4는 사용자로부터의 음성 입력에 기초하여 북마크들을 생성하고 액세스하기 위한 예시적인 사용자 인터페이스들(402, 404, 406)의 제 2 세트를 도시한다. 인터페이스(402)는 모바일 디바이스(102)를 사용하여 보여지거나 액세스될 수 있는 레스토랑 리뷰 리소스 페이지의 일례를 도시한다. 인터페이스(402)는 딥-링크 및 앱 ID를 통해 액세스되는 예시적인 네이티브 어플리케이션에 대응할 수 있다. 인터페이스(404)는 디바이스 어시스턴트(116)와 관련된 예시적인 인터페이스일 수 있다. 인터페이스(404)는 입력(408), 출력(410) 및 제안(412)을 나타낸다. 일부 구현예에서, 입력(408)은 모바일 디바이스(102)에 의해 수신된 음성 입력(103)의 트랜스크립션일 수 있다.
예를 들어, 사용자는 레스토랑 리뷰를 위한 네이티브 어플리케이션 리소스 페이지를 보고있을 수 있으며 그리고 "이것을 Gary D로 기억해라(remember it Gary D)"와 같은 예시적인 질의를 말함으로써, 모바일 디바이스(102)에 음성 입력(103)을 발행할 수 있다. 일부 구현예에서, 사용자는 제안(412)을 선택하여 네이티브 어플리케이션 리소스 페이지에 대한 예시적인 북마크를 생성하는 것을 취소할 수 있다. 질의를 수신하는 것에 응답하여, 모바일 디바이스(102)는 입력(408)에 대응하는 트랜스크립션(138)을 생성할 수 있다.
전술한 바와 같이, 모바일 디바이스(102)는, 네이티브 어플리케이션에 의해 생성된 리소스 페이지를 고유하게 식별하는 어플리케이션 딥-링크/리소스 식별자, 네이티브 어플리케이션에 대한 앱 ID, 및 요소 데이터(134)에 포함될 수 있는 다른 데이터를 제공할 수 있으며, 서버(104)는 이를 수신할 수 있다. 일부 구현예에서, 모바일 디바이스(102)는 또한, 딥-링크와 구별되는 네이티브 어플리케이션 URL과 동일할 수 있는 웹 URL을 제공할 수 있으며, 서버(104)는 이를 수신할 수 있다. BM 엔진(120)은 "Gary D"로 식별될 수 있는 북마크를 생성 및 저장한다.
북마크를 생성하면, 시스템(100)은 모바일 디바이스(102)로 하여금 출력(410)을 생성하게 할 수 있으며, 상기 출력(410)은 URL(딥-링크)/리소스 식별자가 북마크 이름 "Gary D"로서 북마크 인덱스에 기억되었음(예컨대, 북마크 인덱스에 저장됨)을 사용자에게 나타낸다.
인터페이스(406)는 디바이스 어시스턴트(116)와 관련된 또 다른 예시적인 인터페이스일 수 있다. 인터페이스(406)는 입력(414), 출력(416) 및 북마크(418)를 도시한다. 일부 구현예에서, 입력(414)은 모바일 디바이스(102)에 의해 수신된 음성 입력(105)의 트랜스크립션일 수 있다. 예를 들어, 사용자는 저장된 북마크를 사용하여 레스토랑 리뷰들에 대한 네이티브 어플리케이션 리소스 페이지를 시청하기를 원할 수 있다. 사용자는 다음과 같은 예시적인 질의들/커맨드들을 말함으로써 음성 입력 커맨드(105)를 모바일 디바이스(102)로 발행할 수 있다: i) "Gary D" , ii) "Gary D를 오픈해" , 또는 iii) "나에게 Gary D를 보여줘."
커맨드를 수신하는 것에 응답하여, 모바일 디바이스(102)는 입력(414)에 대응하는 트랜스크립션(138)을 생성할 수 있다. 서버(104)는 적어도 딥-링크(146), 앱 ID(140), 및 북마크 데이터(143)에 포함될 수 있는 다른 데이터를 제공할 수 있고, 모바일 디바이스(102)는 이를 수신할 수 있다. BM 엔진(120)은 인덱스(126)로부터 "Gary D"로 식별될 수 있는 저장된 북마크에 액세스할 수 있다.
북마크 데이터(143)를 제공한 후, 시스템(100)은 모바일 디바이스(102)로 하여금, i) 시스템이 커맨드의 수신을 확인함을 나타내는 출력(416)을 생성하게 하거나, ii) "Gary D" 라는 북마크 이름으로 북마크 인덱스(126)에 저장되었던 URL/딥-링크/리소스 식별자를 나타내는 출력(416)을 생성하게 한다. 일부 구현예에서, 북마크의 리소스 식별자에 액세스하는 것은 모바일 디바이스(102)가 딥-링크와 연관된 네이티브 어플리케이션을 사용하여 딥-링크에 매핑된 리소스 페이지를 디스플레이하게 한다.
일부 구현예에서, 딥-링크와 연관된 특정 네이티브 어플리케이션은 더 이상 모바일 디바이스(102)에 설치될 수 없을 수도 있다. 이 경우, 네이티브 어플리케이션의 리소스 페이지에 대한 웹 URL은 북마크 "Gary D"를 만들 때 시스템에 의해서 획득되었을 수도 있다. 따라서, 북마크의 리소스 페이지를 디스플레이하기 위한 네이티브 어플리케이션이 모바일 디바이스(102)에 의해서 액세스될 수 없다면, 리소스 페이지, 예를 들어 "Gary Doe" 레스토랑 리뷰 페이지는, 북마크를 생성할 때 획득된 웹 URL을 사용하여 웹 브라우저를 통해 디스플레이될 수 있다.
전술한 바와 같이, 일부 구현예에서, "Gary D"로 식별된 북마크를 서버(104)로부터 수신하는 대신에, 모바일 디바이스(102)는 로컬 북마크 인덱스(112)에 액세스하여 음성 입력 커맨드(105)에 의해 표시된 북마크를 획득할 수 있다. URL, 딥-링크 또는 북마크에 대한 리소스 식별자를 획득한 후, 모바일 디바이스(102)는 출력(416)을 생성할 수 있는바, 상기 출력(416)은 북마크로서 북마크 인덱스(112)에 저장된 URL/딥-링크/리소스 식별자가 음성 입력 커맨드(105)에 의해 표시됨을 사용자에게 나타낸다.
다음의 설명은 북마크 인덱스(126, 112)에 저장된 북마크를 검색하기 위한 시스템(100)의 예시적인 동작 또는 프로세스를 나타낸다. 모바일 디바이스(102)가 사용자 음성 입력(105)을 수신함에 응답하여, 우선 순위의 감소되는 순서대로 동작들의 시퀀스가 시스템(100)에 의해서 실행 혹은 수행될 수 있다. 예를 들어, 우선 순위가 감소하는 순서의 동작들은 다음을 포함할 수 있다: i) 네이티브 어플리케이션을 사용하여 리소스 페이지를 생성하기 위해 북마크의 딥-링크에 액세스하는 동작, ii) 웹 브라우저를 사용하여 북마크의 웹 URL에 액세스하는 동작, 또는 iii) 북마크의 스크린 샷 데이터를 디스플레이하는 동작.
일부 구현예에서, 동작들의 시퀀스 중 하나의 동작이 성공적으로 실행되면, 나머지 동작들을 실행되지 않는다. 몇몇 경우에서, 사용자가 의도치않게(accidentally) 북마크를 트리거했다라고 시스템(100)이 결정한다면, 상기 시스템(100)은 북마크를 삭제하기 위한 제안을 사용자에게 제시 혹은 디스플레이할 수 있다.
저장된 북마크를 검색하기 위한 예시적인 동작 또는 프로세스는 다음을 포함할 수 있는바, 소정의 리소스 페이지를 보기 위하여 북마크를 액세스 혹은 오픈하는 것이, 상기 음성 입력/질의(105)의 사용자 의도라고 시스템(100)이 결정하는 것을 포함할 수 있다. 일부 구현예에서, 시스템(100)은, 저장된 북마크의 이름에 대응하는 상기 질의(105)의 하나 이상의 단어들을 판별함으로써, 음성 입력/질의(105)의 사용자 의도가 저장된 북마크를 오픈 또는 액세스하고자 하는 것인지를 판별할 수 있다. 예를 들어, 시스템(100)은 상기 질의(105)의 하나 이상의 단어들이 상기 저장된 북마크를 액세스 또는 오픈하기 위한 소정의 문법 구조와 매칭하는지를 결정할 수 있고, 그 다음 이러한 매칭에 기초하여 북마크에 액세스하기 위한 사용자의 의도를 판별할 수 있다.
일부 구현예에서, 시스템(100)은 저장된 북마크에 액세스하는 사용자의 의도를 판별하는 다른 기술들을 이용할 수 있다. 예를 들어, 시스템(100)은 질의 의도 모델을 생성하도록 머신 러닝 시스템을 훈련시킬 수 있다. 그 다음, 시스템(100)은 생성된 질의 의도 모델을 사용하여, 질의(105)의 사용자 의도를 검출하고 그리고 질의(105)의 하나 이상의 단어들과 매칭되거나 실질적으로 매칭되는 북마크 이름을 검출할 수 있다.
사용자가 저장된 북마크에 액세스하고자 함을 판별하는 것에 응답하여, 시스템(100)은 질의(105)로부터 북마크 이름을 추출하고, 추출된 북마크 이름과 매칭되는 북마크 이름을 상기 저장된 북마크가 포함하는지 여부를 결정할 수 있다. 일부 구현예에서, 시스템(100)은 질의(105)로부터 다수의 후보 북마크 이름들을 추출할 수 있으며 그리고, 저장된 북마크 이름과 최상으로 매칭되는 또는 실질적으로 매칭되는 후보 북마크 이름을 검출 또는 결정하기 위해 각각의 후보 북마크 이름을 테스트할 수 있다. 예를 들어, 시스템(100)은 전체 질의(105)로부터 또는 질의(105)의 일부로부터 다수의 후보 북마크 이름을 추출할 수 있다.
특정 후보 북마크 이름과 매칭되는 이름을 갖는 저장된 북마크를 검출함에 응답하여, 시스템(100)은 저장된 북마크를 선택하고, 비어있는 동작 시퀀스를 초기화하며, 하나 이상의 우선 순위가 부여된 동작들로 빈 동작 시퀀스를 채우도록 진행할 수 있다. 예를 들어, 선택된 저장된 북마크에 대해, 시스템(100)은 어플리케이션 딥-링크 및 앱 ID가 상기 선택된 북마크와 관련하여 저장되었는지를 결정할 수 있다. 이러한 결정에 기초하여, 시스템(100)은 특정 네이티브 어플리케이션을 사용하여 딥-링크를 개시, 실행 또는 오픈하도록 동작을 추가함으로써, 동작들의 시퀀스를 채울 수 있다.
또한, 선택된 저장된 북마크에 대해, 시스템(100)은 웹 URL이 상기 선택된 북마크와 관련하여 저장되었는지를 결정할 수 있다. 이러한 결정에 기초하여, 시스템(100)은 또한, 모바일 디바이스(102)의 예시적인 웹-브라우저 어플리케이션을 사용하여 웹 URL을 개시, 실행 또는 오픈하도록 동작을 추가함으로써 동작 시퀀스를 채울 수 있다.
또한, 선택된 저장된 북마크에 대해, 시스템(100)은 스크린샷이 상기 선택된 북마크와 관련하여 저장되었는지를 결정할 수 있다. 이러한 결정에 기초하여, 시스템(100)은 또한, 모바일 디바이스(102)의 예시적인 이미지 뷰잉 어플리케이션을 사용하여 스크린샷에 액세스, 디스플레이 또는 오픈하도록 동작을 추가함으로써 동작 시퀀스를 채울 수 있다. 다수의 동작들을 포함하도록 동작들의 빈 시퀀스를 채우는 것에 응답하여, 시스템(100)은 시스템(100)의 하나 이상의 컴포넌트들에 의한 사용을 위해, 동작들의 채워진 시퀀스를 출력한다.
도 5는 사용자로부터의 음성 입력에 기초하여 북마크들을 생성하고 액세스하기 위한 예시적인 사용자 인터페이스들(502 및 504)의 제 3 세트를 도시한다. 인터페이스(502)는 디바이스 어시스턴트(116)와 관련된 예시적인 인터페이스일 수 있다. 인터페이스(502)는 입력(506), 출력(508), 제안 칩(suggestion chip)(510) 및 제안 칩(512)을 나타낸다. 입력(506)은 음성 입력(103, 105)이 아닌, 가령, USB 은행에 대한 웹 사이트와 같은 리소스 페이지를 보고자 하는 사용자로부터 모바일 디바이스(102)에 의해 수신된 질의의 트랜스크립션일 수 있다.
제안 칩(510)은 사용자의 질의에 대한 응답으로서 사용자에게 디스플레이하기 위해 제공되는, 디바이스 어시스턴트(116)에 의해 적어도 부분적으로 생성된 데이터일 수 있다. 일부 구현예에서, 제안 칩(510)은 USB 인터넷 뱅킹을 위한 웹 사이트에 관한 데이터일 수 있고, 상기 데이터는 사용자의 질의의 하나 이상의 단어들에 기초하여 제안될 수 있다. 예를 들어, 사용자는 모바일 디바이스(102)를 통해 수신되는 디바이스 어시스턴트(116)에게 "USB 인터넷 뱅킹"이라는 질의를 발행할 수 있다. 디바이스 어시스턴트(116)는 사용자에게 디스플레이하도록 제안 칩(510)에 대응하는 카드를 제공하는바, 사용자는 상기 카드를 탭하거나, 선택하거나, 또는 달리 사용하여, USB 인터넷 뱅킹 리소스 페이지(예컨대, 웹 사이트)에 액세스할 수 있다.
일부 구현예에서는, 제안 디바이스 칩(510) 이외에도, 디바이스 어시스턴트(116)는 모바일 디바이스에 의해 수신된 사용자 질의에 대한 응답으로서 사용자에게 디스플레이하기 위해, 제안 칩(512) 또는 하나 이상의 추가적인 제안 칩들을 생성하거나 달리 제공할 수 있다. 예를 들어, 추가적인 제안 칩은 사용자가 액세스하거나 새로운 북마크를 생성하도록 선택할 수 있는 "바로 가기 생성(Create shortcut)" 또는 "북마크하기(Bookmark it)"를 포함할 수 있다. 따라서, 제안 칩(512)을 선택하면, 시스템(100)은 전술한 하나 이상의 프로세스를 실행함으로써 예시적인 북마크를 생성 및 저장할 것이다.
인터페이스(504)는 또한 입력(506), 출력(508), 제안 칩(510) 및 제안 칩(512)를 도시한다. 또한, 인터페이스(504)는 사용자가 제안 칩(512)을 선택했음을 도시하며 그리고 시스템(100)에 의해 생성되고 디바이스 어시스턴트(116)의 인터페이스를 통해 디스플레이되는 출력을 도시한다. 상기 출력(514)은 사용자가 제안 칩(512)을 선택했음에 응답하여 시스템(100)에 의해 생성될 수 있다. 시스템(100)은, 시스템(100)이 "USB 인터넷 뱅킹"이라는 명칭의 북마크, URL, 혹은 출력(510)의 데이터에 대응하는 리소스 식별자를 기억(가령, 저장)할 것임을 사용자에게 알리기 위해 출력(514)을 생성할 수 있다.
다음의 예시적인 동작은 또한, 상기 인터페이스(504)의 프로세스 단계들을 예시한다. 사용자는 "USB 인터넷 뱅킹" 이라는 질의를 모바일 디바이스 상의 디지털 어시스턴트에게 발행한다(예를 들어, 음성으로). 디지털 어시스턴트는, USB 은행의 인터넷 뱅킹 페이지에 액세스 및 보기위하여 선택할 수 있는 제안 칩에 대응하는 카드, 예컨대, 출력(510)을 사용자에게 디스플레이 혹은 출력할 수 있다. 디지털 어시스턴트(116)는 추가적인 제안 칩(예를 들어, 제안 칩 512)를 디스플레이 혹은 출력할 수 있다. 제안 칩들 중 하나는 "바로 가기 생성(Create shortcut)" 또는 "북마크하기(Bookmark it)" 일 수 있다.
바로가기를 생성하거나 혹은 북마크하기 위하여 사용자가 제안 칩(512)을 누르거나 혹은 선택하는 경우, 다음의 결과들이 발생할 수 있다. USB 은행의 인터넷 뱅킹 웹 사이트에 대응하는 웹 URL, 북마크를 생성하고자 하는 의도 및 사용자에 의해 발행된 이전의 질의("USB 인터넷 뱅킹")가 서버(104)로 전송되며 그리고 웹 URL을 가리키는 북마크가 "USB 인터넷 뱅킹"이라는 이름과 함께 생성된다. 따라서, 다음 번에 모바일 디바이스(102)가 사용자 음성 질의 "USB 인터넷 뱅킹"(또는 유사한 질의)을 수신하면, 모바일 디바이스(102)는 USB 은행의 인터넷 뱅킹 웹 사이트를 사용자에게 디스플레이할 것이다.
다음의 설명은 사용자에게 디스플레이하기 위해 "바로 가기 생성"또는 "북마크하기" 제안 칩을 생성, 생성 또는 달리 추가하기 위한 시스템(100)의 예시적인 동작 또는 프로세스를 도시한다. 일부 구현예에서, 모바일 디바이스(102)는 음성 입력(103, 105) 이외의 음성 입력/질의를 사용자로부터 수신하고, 디바이스 어시스턴트(116)는 수신된 질의에 기초하여 응답 결과를 제공할 수 있다.
디바이스(102)가 질의를 수신함에 응답하여, 시스템(100)은 디바이스 어시스턴트(116)에 의해 제공된 응답 결과가 웹 결과(web result)라고 결정할 수 있다. 이러한 결정에 기초하여, 시스템(100)은 사용자에게 디스플레이하기 위해 "바로 가기 생성"또는 "북마크하기" 제안 칩("북마크 칩")을 제공할 수 있다. 일부 경우에는, 북마크 칩 이외에도, 시스템(100)은 디바이스 어시스턴트(116)에 의해 생성된 응답 결과에 기초하여 사용자에게 제시하기 위한 다수의 다른 제안 칩을 포함할 수 있다.
일부 구현예에서는, 하나의 결과가 아니라, 디바이스 어시스턴트(116)는 모바일 디바이스(102)에 의해 수신된 사용자의 질의에 응답하는 다수의 응답 결과를 제공할 수 있다. 시스템(100)은 다수의 응답 결과를 분석하여, 사용자에게 디스플레이하기 위해 시스템(100)에 의해 제공될 수 있는 잠재적인 제안 칩들을 최상으로 랭킹하는 법을 결정할 수 있다.
예를 들어, 다수의 응답 결과 중 하나 이상을 사용하여, 시스템(100)은 매칭 스코어에 기초하여 다른 잠재적인 제안 칩들과 관련하여 북마크 칩을 순위화할 수 있다. 매칭 스코어는 수신된 질의에 응답하여 디바이스 어시스턴트(116)에 의해 제공된 웹 결과의 콘텐츠와 상기 수신된 질의의 콘텐츠 사이의 매칭을 나타낼 수 있다. 매칭 스코어는 하나 이상의 조건들에 기초하여 계산될 수 있다.
제 1 조건과 관련하여, 일부 구현예에서, 다수의 웹 결과들 중 적어도 하나가 웹 URL을 포함하는 경우, 시스템(100)은 수신된 질의의 일부분들이 디바이스 어시스턴트(116)에 의해 제공된 웹 URL의 일부분들과 매칭되는 정도 혹은 느슨하게 매칭되는 정도를 결정할 수 있다. 시스템(100)은 수신된 질의의 일부분들과 웹 URL의 일부분들 사이의 매칭의 정도 또는 크기를 나타내는 매칭 스코어를 생성한다.
예를 들어, 시스템(100)은 수신된 질의의 일부분들과 웹 URL의 일부분들 사이의 일관성(consistency)의 임계 레벨을 나타내기 위해, 엔티티 매칭, n-그램 유사성, 구문 매칭 및 피쳐 유사성과 같은 데이터 매칭 및 데이터 비교 프로세스를 위한 프로그램 코드를 사용 혹은 실행할 수 있다. 그런 다음, 시스템(100)은 데이터 매칭 프로세스의 결과에 기초하여 매칭 스코어를 생성하고, 매칭 스코어가 임계 매칭 스코어를 초과하는지를 결정한다.
전술한 바와 같이, 시스템(100)은 매칭 스코어에 기초하여 다른 잠재적인 제안 칩들과 관련하여 북마크 칩을 순위화할 수 있다. 따라서, 생성된 매칭 스코어(예를 들어, 0.85)가 임계 매칭 스코어(예를 들어, 0.8)를 초과하는 경우, 시스템(100)은 다른 잠재적인 제안 칩들 중에서 상기 북마크 칩을 최상으로 랭킹할 수 있으며, 그리고 이러한 순위에 기초하여 사용자에게 디스플레이하기 위해 북마크 칩을 제공할 수 있다.
일부 구현예에서, 상기 북마크 칩은 특정 랭킹 및/또는 매칭 스코어에 기초하여 사용자에게 디스플레이를 위해 제공되는 유일한 제안 칩일 수 있다. 다른 구현예들에서, 상기 북마크 칩은 특정 랭킹 및/또는 매칭 스코어에 기초하여 사용자에게 디스플레이를 위해 제공되는 다수의 제안 칩들 중 제 1 제안 칩일 수 있다.
일부 구현예에서, 웹 결과의 웹 URL의 도메인과 매칭되는 수신된 질의의 일부분은, 북마크 칩이 사용자에게 디스플레이되도록 제공되어야 하는지를 결정하기 위한 보다 중요한 매칭을 나타낼 수 있다. 따라서, 시스템(100)은 웹 URL의 도메인과 매칭되는, 수신된 질의 부분들에 대해 더 높은 매칭 스코어를 생성할 수 있다. 예를 들어, 상기 질의에 "마이크의 레스토랑(Mike's restaurant)"이 포함되어 있고 그리고 웹 URL이 "mikesrestaurant.com" 이라는 도메인을 포함하고 있는 경우, 이러한 특정한 매칭은, 웹 URL의 도메인과 매칭되지 않는 부분들을 포함하는 다른 수신된 질의와 비교하여 더 높은 매칭 스코어를 생성할 수 있다.
제 2 조건과 관련하여, 일부 구현예에서, 웹 결과의 웹 URL과 매칭되는 수신된 질의의 관련 부분들은 북마크 칩이 사용자에게 디스플레이되도록 제공되어야 하는지를 결정하기 위한 보다 중요한 매칭을 나타낼 수 있다. 북마크 칩이 사용자에게 디스플레이되도록 제공되어야 하는지를 결정하기 위해보다 중요한 매칭을 나타낼 수 있다. 수신된 질의의 관련 부분은 특정 유형의 엔터티(예컨대, 비즈니스, 웹 사이트 또는 주석이 달린 엔터티를 교차하지 않는 수신된 질의의 일부)일 수 있다.
예를 들어, 수신된 질의가 "마이크의 레스토랑에 대한 웹사이트(website for Mike's restaurant)"를 포함하고 그리고 웹 URL이 비즈니스 및 웹 사이트 유형 "mikesrestaurant.com"을 포함한다면, 이러한 특정한 매칭은, 웹 URL의 도메인과 매칭되지 않는 부분들을 포함하는 다른 수신된 질의와 비교하여 더 높은 매칭 스코어를 생성할 수 있다.
다른 조건들과 관련하여, 일부 구현들에서, 수신된 질의의 부분들 및 웹 결과가 각각 공통된 또는 매칭되는 엔티티들, 예컨대, 비지니스 엔티티 "마이크의 레스토랑(Mike's restaurant)"을 포함하며, 그리고 시스템(100)은 엔티티의 중요도를 나타내는 중요도 팩터를 결정한다. 시스템(100)은 중요도 팩터에 기초하여 매칭 스코어를 생성할 수 있다. 달리 말하면, 시스템(100)은 웹 결과 및 수신된 질의가 공통으로 갖는 엔티티의 중요도를 결정할 수 있고, 결정된 중요도에 기초하여 매칭 스코어를 생성할 수 있다. 일부 경우에서, 생성된 매칭 스코어는 엔티티의 결정된 중요도에 비례할 수 있다.
다른 조건들은, 시스템(100)이, 웹 결과 및 수신된 질의가 공통으로 갖지 않는 엔티티들의 중요도에 따라 매칭 스코어를 생성하는 것을 포함할 수 있다. 일부 구현예에서는, 수신된 질의와 웹 결과 사이의 관련성 또는 관련성의 부재를 제안할 수 있는 다수의 다른 신호들이 시스템(100)에 의해 사용되어 매칭 스코어를 생성할 수 있다.
도 6은 사용자로부터의 음성 입력에 기초하여 하나 이상의 북마크에 액세스하기 위한 예시적인 사용자 인터페이스(602)를 도시한다. 일부 구현예에서, 시스템(100)은 모바일 디바이스(102)를 통해 사용자에게 디스플레이하기 위해 저장된 북마크들의 리스트를 제공한다. 저장된 북마크의 리스트는 모바일 디바이스(102)가 사용자 입력(604)으로서 전사(transcribed)될 수 있는 음성 입력을 사용자로부터 수신하는 것에 응답하여 사용자에게 디스플레이하기 위해 제공될 수 있다. 시스템(100)은 북마크(608, 610 및 612)를 포함할 수 있는 북마크들의 리스트를 식별하는 출력(606)을 생성한다.
일부 구현예에서, 시스템(100)은 입력(604)의 사용자 의도가 이전에 생성된 북마크들의 리스트를 수신하거나 볼 것인지를 결정한다. 이전에 생성된 북마크의 리스트를 수신하는 것이 사용자의 의도라고 시스템(100)이 결정한다면, 시스템(100)은 질의/입력(604)으로부터 식별될 수 있는 임의의 잠재적인 선택 기준 또는 필터링 기준을 추출하도록 구성될 수 있다. 이후, 시스템(100)은 추출된 선택 기준 또는 필터링 기준과 매칭되는 하나 이상의 북마크들을 선택할 수 있다. 일부 경우에, 입력(604)에 의해 상기 기준이 특정되지 않았거나, 입력(604)으로부터 상기 기준이 추출될 수 없는 경우, 시스템(100)은 사용자에게 디스플레이하기 위해 제공되도록 이전에 생성된 모든 북마크를 선택할 수 있다.
일부 구현예에서, 선택 기준 혹은 필터링 기준은 북마크의 이름뿐만 아니라, 이전에 생성된 북마크와 연계하여 저장되었을 수 있는 임의의 추가 데이터를 참조할 수 있다. 예컨대, "나의 선호하는 뉴욕의 레스토랑(my favorite restaurant in New York)" 및 "나의 선호하는 샌프란시스코의 레스토랑" 이라는 2개의 북마크를 사용자가 저장했다면, 가령, "나의 선호하는 레스토랑 북마크 보여줘라(show me my restaurant bookmarks)"과 같은 질의/입력(604)에 응답하여, 이들 2개의 북마크들 모두가 사용자에게 제공되어 디스플레이될 수 있다. 이러한 일례에서, 질의/입력(604)으로부터 식별된 선택 기준 또는 필터링 기준은, "레스토랑"이라는 단어에 대응하는 음성 입력이다.
북마크들(608, 610, 612)의 리스트는 사용자가 적어도 하나의 북마크를 즉석에서 탭하거나, 클릭하거나 또는 다른 방식으로 선택할 수 있게하는 포맷으로 사용자에게 디스플레이하기 위해 제공될 수 있다. 예를 들어, 북마크들(608, 610, 612) 각각은 특정 하이퍼 링크를 포함하여, 디스플레이를 위해 제공될 수 있다. 이러한 하이퍼 링크 포맷은 특정 리소스 페이지를 생성하기 위해 하이퍼 링크의 연관된 어플리케이션 딥-링크 또는 웹 URL을 사용하여 모바일 디바이스(102)에서 북마크 선택을 가능하게할 수 있다. 또한, 북마크 리스트를 제시하는 포맷은 또한 사용자가 북마크들(608, 610, 612)의 일부 또는 전부를 삭제할 수 있게한다.
일부 구현예에서, 시스템(100)은 입력(604)의 사용자 의도가 저장된 특정 북마크를 삭제하고자 하는 것인지의 여부를 결정한다. 사용자의 의도가 저장된 특정 북마크를 삭제하는 것이라고 시스템(100)이 결정하면, 특정 북마크의 이름 X 또는 이름 X의 변형예(예컨대, 이름 X와 유사한 입력 Y)가 질의/입력(604)의 일부인 경우, 시스템(100)은 저장된 특정 북마크를 삭제할 것이다.
도 7은 클라이언트 또는 서버로서 또는 복수의 서버로서 본 명세서에 설명된 시스템 및 방법을 구현하는데 사용될 수 있는 컴퓨팅 디바이스(700, 750)의 블록도이다. 컴퓨팅 디바이스(700)는 랩탑, 데스크탑, 워크 스테이션, 개인 휴대 정보 단말기(PDA), 서버, 블레이드 서버, 메인 프레임 및 다른 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내기 위한 것이다. 컴퓨팅 디바이스(750)는 PDA, 셀룰러 전화, 스마트 폰, 스마트 워치(smartwatches), 헤드 장착 디바이스 및 다른 유사한 컴퓨팅 디바이스와 같은 다양한 형태의 모바일 디바이스를 나타내기 위한 것이다. 여기에 표시된 구성 요소들, 이들의 연결 및 관련성 및 해당 기능들은 단지 예시적인 것으로 의도되었으며, 본 문서에서 설명되거나 청구되는 구현들을 제한하는 것으로 의도되지 않는다.
컴퓨팅 디바이스(700)는 프로세서(702), 메모리(704), 저장 디바이스(706), 메모리(704) 및 고속 확장 포트(710)에 연결되는 고속 인터페이스(708), 저속 버스(714)와 저장 디바이스(706)에 연결되는 저속 인터페이스(712)를 포함한다. 프로세서(702)는 메모리(704) 또는 저장 디바이스(706)에 저장된 명령을 포함하여, 컴퓨팅 디바이스(700) 내에서의 실행을 위해 명령들을 프로세싱하여, 고속 인터페이스(708)에 접속된 디스플레이(716)와 같은 외부 입/출력 디바이스 상에 GUI를 위한 그래픽 정보를 디스플레이한다. 다른 구현예에서는, 다수의 메모리들 및 메모리 유형들과 함께, 다수의 프로세서들 및/또는 다수의 버스들이 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(700)이 연결될 수도 있는바, 여기서 각각의 디바이스는 필요한 동작들의 일부분을 제공한다(예를 들어, 서버 뱅크, 블레이드 서버들의 그룹 또는 멀티 프로세서 시스템으로서).
메모리(704)는 컴퓨팅 디바이스(700) 내에서 정보를 저장한다. 일 실시예에서 상기 메모리(704)는 컴퓨터 판독 가능 매체이다. 일 실시예에서, 메모리(704)는 휘발성 메모리 유닛(들)이다. 또 다른 구현예에서, 메모리(704)는 비휘발성 메모리 유닛(들)이다.
저장 디바이스(706)는 대용량 저장소를 컴퓨팅 디바이스(700)에 제공할 수 있다. 일 구현예에서, 저장 디바이스(706)는 컴퓨터 판독가능 매체이다. 다양한 구현예에서, 저장 디바이스(706)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성의 디바이스들을 포함하는 디바이스들의 어레이일 수 있다. 일부 구현예에서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 구현될 수 있다. 컴퓨터 프로그램 제품은 실행될 때, 전술한 바와 같은 하나 이상의 방법들을 수행하는 명령들을 포함할 수 있다. 정보 캐리어는 메모리(704), 저장 디바이스(706) 또는 프로세서(702) 상의 메모리와 같은, 컴퓨터-판독가능 또는 머신-판독가능한 매체이다.
고속 제어기(708)는 컴퓨팅 디바이스(700)를 위해, 대역폭-집중형 연산들을 관리하고, 저속 제어기(712)는 낮은 대역폭-집중형 연산들을 관리한다. 이러한 임무 할당은 단지 예시일 뿐이다. 일 구현예에서, 고속 제어기(708)는 메모리(704), 디스플레이(716)(예를 들어, 그래픽 프로세서 또는 가속기를 통해)에 접속되며, 그리고 다양한 확장 카드(미도시)를 수용할 수 있는 고속 확장 포트(710)에 접속된다. 일 구현예에서, 저속 제어기(712)는 저장 디바이스(706) 및 저속 확장 포트(714)에 접속된다. 다양한 통신 포트들(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함하는 저속 확장 포트는 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입력/출력 디바이스에 접속되거나 또는 네트워크 어댑터를 통해 스위치 또는 라우터와 같은 네트워킹 디바이스에 접속될 수 있다.
컴퓨팅 디바이스(700)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(720)로서 구현되거나, 또는 그러한 서버들의 그룹에서 여러 번 구현될 수도 있다. 또한, 랙 서버(rack server) 시스템(724)의 일부로서 구현될 수도 있다. 또한, 랩탑 컴퓨터(722)와 같은 개인용 컴퓨터로 구현될 수도 있다. 대안적으로, 컴퓨팅 디바이스(700)의 구성 요소들은 가령, 디바이스(750)와 같은 모바일 디바이스(미도시)의 다른 구성요소들과 결합될 수 있다. 이러한 디바이스들 각각은 하나 이상의 컴퓨팅 디바이스(700, 750)를 포함할 수 있으며, 그리고 전체 시스템은 서로 통신하는 다수의 컴퓨팅 디바이스(700, 750)로 구성될 수 있다.
컴퓨팅 디바이스(750)는 다른 구성요소들 중에서 프로세서(752), 메모리(764), 디스플레이(754)와 같은 입/출력 디바이스, 통신 인터페이스(766) 및 송수신기(768)를 포함한다. 디바이스(750)에는 추가 저장소를 제공하기 위해 마이크로 드라이브 또는 다른 디바이스와 같은 저장 디바이스가 제공될 수 있다. 구성요소들(750, 752, 764, 754, 756 및 768) 각각은 다양한 버스를 사용하여 상호접속되고, 구성요소들 중 몇몇은 공통 마더 보드 상에 또는 적절하게 다른 방식으로 마운트될 수 있다.
프로세서(752)는 메모리(764)에 저장된 명령들을 포함하여, 컴퓨팅 디바이스(750) 내의 명령들을 실행할 수 있다. 프로세서는 개별적인 다수의 아날로그 및 디지털 프로세서들을 포함할 수 있다. 프로세서는 예를 들어 사용자 인터페이스들의 제어, 디바이스(750)에 의해 실행되는 어플리케이션들 및 디바이스(750)에 의한 무선 통신과 같은 디바이스(750)의 다른 구성요소들 간의 조정을 제공할 수 있다.
프로세서(752)는 제어 인터페이스(758) 및 디스플레이(754)에 연결된 디스플레이 인터페이스(756)를 통해 사용자와 통신할 수 있다. 디스플레이(754)는 예를 들어, TFT LCD(박막 트랜지스터 액정 디스플레이) 또는 OLED(Organic Light Emitting Diode: 유기 발광 다이오드) 디스플레이, 또는 다른 적절한 디스플레이 기술을 이용할 수 있다. 디스플레이 인터페이스(756)는 사용자에게 그래픽 및 다른 정보를 제공하기 위해 디스플레이(754)를 구동하기 위한 적절한 회로를 포함할 수 있다.
제어 인터페이스(758)는 사용자로부터 커맨드들을 수신하고 그리고 프로세서(752)에 제출하기 위해 이들을 변환할 수 있다. 또한, 프로세서(752)와 통신하기 위해 외부 인터페이스(762)가 제공되는바, 따라서 다른 디바이스들과 디바이스(750)의 근거리 통신이 가능해진다. 예를 들어, 외부 인터페이스(762)는 예를 들어, 도킹 절차를 통해 유선 통신을 제공하고, 또는 블루투스 혹은 다른 기술들을 통해 무선 통신을 제공할 수 있다.
메모리(764)는 컴퓨팅 디바이스(750) 내에 정보를 저장한다. 일부 구현예에서, 메모리(764)는 컴퓨터 판독가능 매체이다. 일부 구현예에서, 메모리(764)는 휘발성 메모리 유닛(들) 또는 비휘발성 메모리 유닛(들)이다. 또한, 예를 들어 SIMM(Single In Line Memory Module) 카드 인터페이스를 포함할 수 있는 확장 인터페이스(772)를 통해 확장 메모리(774)가 디바이스(750)에 제공되고 접속될 수 있다. 이러한 확장 메모리(774)는 여분의 저장 공간을 디바이스(750)에 제공할 수 있으며, 또는 디바이스(750)를 위한 어플리케이션들 혹은 다른 정보를 저장할 수도 있다.
특히, 확장 메모리(774)는 전술한 프로세스들을 수행하거나 보충하기 위한 명령들을 포함할 수 있고, 또한 보안 정보를 포함할 수 있다. 따라서, 예를 들어, 확장 메모리(774)는 디바이스(750)에 대한 보안 모듈로서 제공될 수 있고, 디바이스(750)의 보안 사용을 허용하는 명령들로 프로그램될 수 있다. 또한, 보안 어플리케이션은 SIMM 카드를 통해 제공될 수 있는데 가령, 식별 정보를 해킹불가능한 방식으로 SIMM 카드에 배치하는 것과 같이 추가 정보와 함께 제공될 수 있다.
메모리는, 예를 들어, 후술되는 바와 같이, 플래시 메모리 및/또는 MRAM 메모리를 포함할 수 있다. 일 실시예에서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 구현된다. 컴퓨터 프로그램 제품은 실행될 때 전술한 방법들과 같은 하나 이상의 방법들을 수행하는 명령들을 포함한다. 예를 들어 정보 캐리어는 가령, 메모리(764)와 같은 컴퓨터 판독가능 또는 머신 판독가능한 매체, 확장 메모리(774) 또는 프로세서(752) 상의 메모리이다.
디바이스(750)는 필요한 경우 디지털 신호 처리 회로를 포함할 수 있는 통신 인터페이스(766)를 통해 무선으로 통신할 수 있다. 통신 인터페이스(766)는 GSM 음성 호출, SMS, EMS 또는 MMS 메시징, CDMA, TDMA, PDC, WCDMA, CDMA2000 또는 GPRS와 같은 다양한 모드들 또는 프로토콜들 하에서 통신을 제공할 수 있다. 이러한 통신은 예를 들어 무선 주파수 송수신기(768)를 통해 수행될 수 있다. 또한, 블루투스, Wi-Fi 또는 다른 트랜시버(미도시)를 사용하여 단거리 통신이 수행될 수 있다. 또한, GPS(Global Positioning System) 수신기 모듈(770)은 추가적인 무선 데이터를 디바이스(750)에 제공할 수 있는바, 이는 디바이스(750) 상에서 구동되는 어플리케이션들에 의해 적절히 사용될 수 있다.
또한, 디바이스(750)는 오디오 코덱(760)을 사용하여 청각적으로 통신할 수 있는바, 이는 사용자로부터 음성 정보를 수신하고 이것을 이용가능한 디지털 정보로 변환할 수 있다. 이와 유사하게, 오디오 코덱(760)은, 예를 들어 디바이스(750)의 핸드셋 내의 스피커를 통하는 것과 같이, 사용자를 위한 가청 사운드를 생성할 수 있다. 이러한 사운드는 음성 전화 호출로부터의 사운드를 포함할 수 있고, 기록된 사운드(예를 들어, 음성 메시지들, 음악 파일들 기타 등등)를 포함할 수 있으며 그리고 디바이스(750) 상에서 동작하는 어플리케이션에 의해 생성된 사운드를 또한 포함할 수 있다. 컴퓨팅 디바이스(750)는 도면에 도시된 바와 같이 다수의 상이한 형태들로 구현될 수 있다. 예를 들어, 디바이스는 셀룰러 전화(780)로서 구현될 수 있다. 또한, 스마트 폰(782), 개인 휴대 정보 단말기(personal digital assistant: PDA), 또는 다른 유사한 모바일 디바이스의 일부로서 구현될 수도 있다.
본 명세서에 서술된 시스템들 및 기술들의 다양한 구현예들은, 디지털 전자 회로, 집적 회로, 특별히 설계된 ASIC(주문형 집적 회로), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 구현될 수 있다. 이러한 다양한 구현들은 적어도 하나의 프로그램가능한 프로세서를 포함하는 프로그램가능한 시스템 상에서 실행 및/또는 해석가능한 하나 이상의 컴퓨터 프로그램들에서의 구현을 포함하며, 프로세서는 특수용 혹은 범용일 수 있으며, 데이터와 명령들을 송수신하도록 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스에 접속될 수 있다.
이들 컴퓨터 프로그램들(프로그램, 소프트웨어, 소프트웨어 어플리케이션 또는 코드로도 알려짐)은 프로그램가능 프로세서에 대한 머신 명령어들을 포함하고, 그리고 고레벨 절차적 프로그래밍 언어 및/또는 객체-지향 프로그래밍 언어 및/또는 어셈블리/기계어로 구현될 수 있다. 본 명세서에서 사용되는 바와 같이, "머신 판독가능 매체", "컴퓨터 판독가능 매체"라는 용어는 프로그램가능 프로세서에 머신 명령들 및/또는 데이터를 제공하는데 이용되는 임의의 컴퓨터 프로그램 제품, 장치 및/또는 디바이스(예를 들어, 자기 디스크, 광 디스크, 메모리, 프로그램가능 논리 디바이스(PLD))를 지칭하며, 머신-판독가능 신호로서 머신 명령들을 수신하는 머신-판독가능 매체를 포함한다. "머신 판독가능 신호"라는 용어는 머신 명령들 및/또는 데이터를 프로그램가능 프로세서에 제공하는데 사용되는 임의의 신호를 지칭한다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에 서술된 시스템들 및 기술들은 컴퓨터 상에서 구현될 수 있는바, 이러한 컴퓨터는 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스(예를 들어, CRT 또는 LCD 모니터)와 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 갖는다. 사용자와의 상호작용을 제공하는데 다른 종류의 디바이스들이 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백(예를 들어, 시각적 피드백, 청각 피드백 또는 촉각 피드백)일 수 있다. 그리고 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다.
본 명세서에 서술된 시스템들 및 기술들은 컴퓨팅 시스템에서 구현될 수 있으며, 이러한 컴퓨팅 시스템은 백 엔드 구성 요소(예컨대, 데이터 서버)를 포함하거나, 또는 미들웨어 구성 요소(예컨대, 어플리케이션 서버)를 포함하거나, 또는 프론트 엔드 구성 요소(예컨대, 사용자가 여기에 설명된 시스템 및 기술의 구현과 상호작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저가 있는 클라이언트 컴퓨터)를 포함하거나, 또는 이러한 백 엔드, 미들웨어 또는 프론트 엔드 구성요소들의 임의의 조합을 포함할 수 있다. 시스템의 구성요소들은 디지털 데이터 통신의 임의의 형태 또는 매체(예컨대, 통신 네트워크)에 의하여 상호연결될 수 있다. 통신 네트워크의 일례는, 근거리 통신망(LAN), 광대역 통신망(WAN), 및 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며, 통신 네트워크를 통해 상호작용하는 것이 통상적이다. 클라이언트와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램의 덕택으로 발생한다.
또한, 특정 데이터는 그것이 저장되거나 사용되기 전에 하나 이상의 방식으로 처리되어, 개인 식별 정보가 제거될 수 있다. 예를 들어, 일부 실시예들에서, 사용자의 신원은 사용자에 대해 어떠한 개인 식별 정보도 결정될 수 없도록 처리될 수 있거나, 또는 사용자의 지리적 위치는 위치 정보가 획득되는 곳에서 일반화되므로(도시 레벨, 우편 번호 레벨, 또는 주 레벨로), 사용자의 특정 위치를 결정할 수 없다. 따라서, 사용자는 사용자에 관해 수집되는 정보, 정보의 사용 방법 및 사용자에게 제공되는 정보를 제어할 수 있다.
다수의 실시예들이 설명되었다. 그럼에도 불구하고, 본 발명의 사상 및 범위를 벗어나지 않고 다양한 변형이 이루어질 수 있음을 이해할 것이다. 따라서, 다른 실시예들은 다음의 청구항들의 범위 내에 있다. 본 명세서는 다수의 특정 구현 세부 사항을 포함하지만, 이들은 청구될 수 있는 범위에 대한 제한으로서 해석되어서는 안되며, 오히려 특정 실시예에 특정될 수 있는 특징에 대한 설명으로 해석되어야한다. 별도의 실시예와 관련하여 본 명세서에서 설명되는 특정 특징은 또한 단일 실시예에서 조합하여 구현될 수 있다.
반대로, 단일 실시예의 문맥에서 설명되는 여러 가지 특징은 또한 별도로 또는 임의의 적합한 하위 조합으로 여러 실시예로 구현될 수 있다. 더욱이, 특징들은 특정 조합으로 작용하고 심지어 처음에는 그러한 것으로서 주장되는 경우조차도 상기한 바와 같이 특징될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징이 어떤 경우에는 상기 조합으로부터 제거될 수 있고, 청구된 조합은 부분 조합 또는 변형으로 유도될 수 있다.
유사하게, 동작들이 특정 순서로 도면들에 도시되어 있지만, 이는 이러한 동작들이 도시된 특정 순서 또는 순차적 순서로 수행되거나, 모든 예시된 동작들이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 특정 상황에서는 멀티 태스킹 및 병렬 처리가 유리할 수 있다. 또한, 상술한 실시예에서 다양한 시스템 모듈 및 컴포넌트의 분리는 모든 실시예에서 그러한 분리를 요구하는 것으로 이해되어서는 안되며, 설명된 프로그램 컴포넌트 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 여러 소프트웨어 제품에 패키지로 제공될 수 있다.
본 발명의 주제에 대한 특정 실시예가 설명되었다. 다른 실시예들은 다음의 청구항들의 범위 내에 있다. 예를 들어, 청구 범위에서 열거된 동작은 상이한 순서로 수행될 수 있으며 여전히 바람직한 결과를 달성한다. 하나의 예로서, 첨부된 도면에 도시된 일부 공정은 바람직한 결과를 얻기 위해 도시된 특정 순서 또는 순차적 순서를 반드시 필요로 하지는 않는다.

Claims (20)

  1. 컴퓨터로 구현되는 방법으로서,
    컴퓨팅 시스템에 의해, 사용자로부터 하나의 제 1 음성 입력을 수신하는 단계;
    상기 컴퓨팅 시스템에 의해, 상기 하나의 제 1 음성 입력의 트랜스크립션(transcription)이 북마크를 생성하고자 하는 사용자 의도를 나타내는 트리거 어구(trigger phrase)를 포함하는지를 결정하는 단계;
    상기 컴퓨팅 시스템에 의해, 북마크를 생성하고자 하는 사용자 의도를 나타내는 트리거 어구를 포함하는 상기 하나의 제 1 음성 입력의 트랜스크립션으로부터, 후속으로 수신되는 음성 입력에서 북마크를 식별하는데 사용될 이름을 나타내는, 상기 하나의 제 1 음성 입력의 트랜스크립션에 있는 다른 용어를 결정하는 단계;
    후속으로 수신되는 음성 입력에서 북마크를 식별하는데 사용될 이름을 나타내는, 상기 하나의 제 1 음성 입력의 트랜스크립션에 있는 다른 용어를 결정함에 응답하여, 상기 컴퓨팅 시스템이 북마크를 생성할 것임을 나타내고 그리고 후속으로 수신되는 음성 입력에서 북마크를 식별하기 위해 상기 컴퓨팅 시스템에 의해 사용될 상기 이름을 식별하는, 상기 하나의 제 1 음성 입력에 대한 확인(acknowledge)을 제공하는 단계;
    상기 컴퓨팅 시스템에 의해, 리소스 페이지와 연관된 리소스 식별자를 획득하는 단계;
    상기 컴퓨팅 시스템에 의해, 사용자 디바이스로부터의 요청에 응답하여 액세스될 수 있는 북마크 인덱스에 상기 리소스 식별자를 북마크로서 저장하는 단계; 및
    상기 리소스 식별자를 북마크로서 저장한 이후에:
    상기 컴퓨팅 시스템에 의해 사용자 디바이스로부터 요청을 수신하는 단계, 상기 요청은, 후속으로 수신되는 음성 입력에서 북마크를 식별하는데 사용될 이름을 나타내는 상기 다른 용어를 포함하는 하나의 제 2 음성 입력을 사용자 디바이스가 수신함에 응답하여 생성되며, 상기 요청은 상기 다른 용어를 적어도 포함하며;
    상기 컴퓨팅 시스템에 의해, 상기 요청이 상기 다른 용어를 적어도 포함한다고 결정함에 응답하여:
    상기 컴퓨팅 시스템에 의해 그리고 그래픽 출력을 위해 상기 사용자 디바이스로, 북마크로서 저장된 리소스 식별자를 포함하는 통지를 제공하는 단계;
    상기 컴퓨팅 시스템에 의해, 상기 사용자 디바이스로부터의 요청에 기초하여 상기 리소스 페이지에 액세스하도록, 북마크로서 저장된 상기 리소스 식별자를 사용하는 단계
    를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  2. 제1항에 있어서,
    i) 상기 리소스 페이지는 웹-브라우저 어플리케이션에 의해 생성되며,
    ⅱ) 상기 리소스 식별자는 상기 리소스 페이지에 액세스하기 위한 리소스 어드레스를 제공하는 유니폼 리소스 로케이터(URL)인 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  3. 제1항에 있어서,
    i) 상기 리소스 페이지는 상기 사용자 디바이스에 설치된 네이티브 어플리케이션에 의해 생성되고, 상기 네이티브 어플리케이션은 어플리케이션 인덱스에 하나 이상의 딥-링크들(deep-links)을 저장하도록 구성되며,
    ⅱ) 상기 리소스 식별자는 상기 리소스 페이지에 대한 URL이고, 상기 네이티브 어플리케이션에 관한 어드레스 데이터를 포함하는 어플리케이션 인덱스로부터 획득되는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  4. 제3항에 있어서, 상기 리소스 식별자를 획득하는 것은,
    i) 상기 네이티브 어플리케이션과 관련된 하나 이상의 딥-링크를 저장하는 어플리케이션 인덱스에 액세스하는 것, 및
    ⅱ) 상기 리소스 페이지에 대한 URL을 나타내는 딥-링크를 상기 어플리케이션 인덱스로부터 선택하는 것을 포함하며,
    상기 딥-링크는 상기 리소스 페이지에 액세스하기 위한 리소스 어드레스를 제공하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  5. 제1항에 있어서,
    i) 상기 리소스 페이지는 웹 브라우저가 아닌, 네이티브 어플리케이션에 의해 생성되되, 상기 네이티브 어플리케이션은 네이티브 어플리케이션 인덱스에 대한 하나 이상의 어플리케이션 딥-링크들을 저장하지 않으며,
    ii) 상기 리소스 식별자는 상기 리소스 페이지로의 컴퓨팅 경로와 관련된 전자 어드레스를 제공하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  6. 제1항에 있어서,
    i) 상기 리소스 페이지는 상기 사용자 디바이스에 설치된 특정 유형의 어플리케이션의 적용에 의해 생성되고,
    ⅱ) 리소스 식별자는,
    a) 어플리케이션에 의해 생성된 리소스 페이지의 스크린 이미지를 식별하는 데이터, 또는
    b) 어플리케이션에 의해 생성된 리소스 페이지에 액세스하기 위한 리소스 어드레스를 제공하는 딥-링크 중 적어도 하나인 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  7. 제6항에 있어서,
    상기 컴퓨팅 시스템에 의해, 상기 특정 유형의 어플리케이션과 관련된 어플리케이션 콘텐츠의 분석에 기초하여 패턴 데이터를 검출하는 단계; 및
    상기 컴퓨팅 시스템에 의해, 상기 패턴 데이터에 기초하여 상기 딥-링크를 생성하는 단계
    를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  8. 제1항에 있어서,
    상기 사용자로부터 상기 제 1 음성 입력을 수신한 후,
    상기 컴퓨팅 시스템에 의해, 콘텍스트 데이터를 획득하는 단계를 더 포함하되, 상기 콘텍스트 데이터는,
    a) 네이티브 어플리케이션에 의해 생성되는 것으로서 상기 리소스 페이지를 고유하게 식별하는 네이티브 어플리케이션 유니폼 리소스 로케이터(URL),
    b) 웹-브라우저 어플리케이션에 의해 생성되는 것으로서 상기 리소스 페이지를 고유하게 식별하는 웹-브라우저 어플리케이션 URL,
    c) 상기 사용자 디바이스에 설치된 가상 어시스턴트 어플리케이션에 의해 생성되는 어시스트 데이터, 또는
    d) 상기 리소스 페이지의 스크린 이미지를 식별하는 데이터
    중 적어도 하나를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  9. 제8항에 있어서,
    상기 컴퓨팅 시스템에 의해, 수신된 콘텍스트 데이터의 적어도 서브세트를 나타내는 데이터를 포함하는 템플릿을 생성하는 단계;
    상기 컴퓨팅 시스템에 의해 그리고 상기 템플릿에 기초하여, 상기 리소스 식별자에 대응하는 URL 또는 상기 리소스 식별자에 대응하는 딥-링크 중 하나를 생성하는 단계; 및
    상기 리소스 페이지에 액세스하기 위한 북마크를 생성하도록, 상기 컴퓨팅 시스템에 의해, 상기 템플릿, 및 상기 URL과 상기 딥-링크 중 하나를 이용하는 단계
    를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  10. 전자 시스템으로서,
    하나 이상의 프로세싱 디바이스들;
    명령들을 저장하기 위한 하나 이상의 머신 판독가능한 저장 디바이스들을 포함하고, 상기 명령들은 상기 하나 이상의 프로세싱 디바이스들에 의해 실행될 때,
    사용자로부터 하나의 제 1 음성 입력을 수신하는 동작;
    상기 하나의 제 1 음성 입력의 트랜스크립션이 북마크를 생성하고자 하는 사용자 의도를 나타내는 트리거 어구를 포함하는지를 결정하는 동작;
    북마크를 생성하고자 하는 사용자 의도를 나타내는 트리거 어구를 포함하는 상기 하나의 제 1 음성 입력의 트랜스크립션으로부터, 후속으로 수신되는 음성 입력에서 북마크를 식별하는데 사용될 이름을 나타내는, 상기 하나의 제 1 음성 입력의 트랜스크립션에 있는 다른 용어를 결정하는 동작;
    후속으로 수신되는 음성 입력에서 북마크를 식별하는데 사용될 이름을 나타내는, 상기 하나의 제 1 음성 입력의 트랜스크립션에 있는 다른 용어를 결정함에 응답하여, 상기 전자 시스템이 북마크를 생성할 것임을 나타내고 그리고 후속으로 수신되는 음성 입력에서 북마크를 식별하기 위해 상기 전자 시스템에 의해 사용될 상기 이름을 식별하는, 상기 하나의 제 1 음성 입력에 대한 확인을 제공하는 동작;
    리소스 페이지와 연관된 리소스 식별자를 획득하는 동작;
    사용자 디바이스로부터의 요청에 응답하여 액세스될 수 있는 북마크 인덱스에 상기 리소스 식별자를 북마크로서 저장하는 동작; 및
    상기 리소스 식별자를 북마크로서 저장한 이후에:
    사용자 디바이스로부터 요청을 수신하는 동작, 상기 요청은, 후속으로 수신되는 음성 입력에서 북마크를 식별하는데 사용될 이름을 나타내는 상기 다른 용어를 포함하는 하나의 제 2 음성 입력을 사용자 디바이스가 수신함에 응답하여 생성되며, 상기 요청은 상기 다른 용어를 적어도 포함하며;
    상기 요청이 상기 다른 용어를 적어도 포함한다고 결정함에 응답하여:
    그래픽 출력을 위해 상기 사용자 디바이스로, 북마크로서 저장된 리소스 식별자를 포함하는 통지를 제공하는 동작;
    상기 사용자 디바이스로부터의 요청에 기초하여 상기 리소스 페이지에 액세스하도록, 북마크로서 저장된 상기 리소스 식별자를 사용하는 동작
    을 포함하는 동작들을 수행하는 것을 특징으로 하는 전자 시스템.
  11. 제10항에 있어서,
    i) 상기 리소스 페이지는 웹-브라우저 어플리케이션에 의해 생성되며,
    ⅱ) 상기 리소스 식별자는 상기 리소스 페이지에 액세스하기 위한 리소스 어드레스를 제공하는 유니폼 리소스 로케이터(URL)인 것을 특징으로 하는 전자 시스템.
  12. 제10항에 있어서,
    i) 상기 리소스 페이지는 상기 사용자 디바이스에 설치된 네이티브 어플리케이션에 의해 생성되고, 상기 네이티브 어플리케이션은 어플리케이션 인덱스에 하나 이상의 딥-링크들(deep-links)을 저장하도록 구성되며,
    ⅱ) 상기 리소스 식별자는 상기 리소스 페이지에 대한 URL이고, 상기 네이티브 어플리케이션에 관한 어드레스 데이터를 포함하는 어플리케이션 인덱스로부터 획득되는 것을 특징으로 하는 전자 시스템.
  13. 제12항에 있어서,
    상기 리소스 식별자를 획득하는 것은,
    i) 상기 네이티브 어플리케이션과 관련된 하나 이상의 딥-링크를 저장하는 어플리케이션 인덱스에 액세스하는 것, 및
    ⅱ) 상기 리소스 페이지에 대한 URL을 나타내는 딥-링크를 상기 어플리케이션 인덱스로부터 선택하는 것을 포함하며,
    상기 딥-링크는 상기 리소스 페이지에 액세스하기 위한 리소스 어드레스를 제공하는 것을 특징으로 하는 전자 시스템.
  14. 제10항에 있어서,
    i) 상기 리소스 페이지는 웹 브라우저가 아닌, 네이티브 어플리케이션에 의해 생성되되, 상기 네이티브 어플리케이션은 네이티브 어플리케이션 인덱스에 대한 하나 이상의 어플리케이션 딥-링크들을 저장하지 않으며,
    ii) 상기 리소스 식별자는 상기 리소스 페이지로의 컴퓨팅 경로와 관련된 전자 어드레스를 제공하는 것을 특징으로 하는 전자 시스템.
  15. 제10항에 있어서,
    i) 상기 리소스 페이지는 상기 사용자 디바이스에 설치된 메시징 어플리케이션의 적용에 의해 생성되고,
    ⅱ) 리소스 식별자는,
    a) 상기 메시징 어플리케이션에 의해 생성된 리소스 페이지의 스크린 이미지를 식별하는 데이터, 또는
    b) 상기 메시징 어플리케이션의 리소스 페이지에 액세스하기 위한 리소스 어드레스를 제공하는 딥-링크 중 적어도 하나인 것을 특징으로 하는 전자 시스템.
  16. 제15항에 있어서,
    상기 메시징 어플리케이션과 관련된 2 이상의 메시지들의 분석에 기초하여 패턴 데이터를 검출하는 동작; 및
    상기 패턴 데이터에 기초하여 상기 딥-링크를 생성하는 동작
    을 더 포함하는 것을 특징으로 하는 전자 시스템.
  17. 제10항 내지 제16항 중 어느 한 항에 있어서,
    상기 사용자로부터 상기 제 1 음성 입력을 수신한 후,
    콘텍스트 데이터를 획득하는 동작을 더 포함하되, 상기 콘텍스트 데이터는,
    a) 네이티브 어플리케이션에 의해 생성되는 것으로서 상기 리소스 페이지를 고유하게 식별하는 네이티브 어플리케이션 유니폼 리소스 로케이터(URL),
    b) 웹-브라우저 어플리케이션에 의해 생성되는 것으로서 상기 리소스 페이지를 고유하게 식별하는 웹-브라우저 어플리케이션 URL,
    c) 상기 사용자 디바이스에 설치된 가상 어시스턴트 어플리케이션에 의해 생성되는 어시스트 데이터, 또는
    d) 상기 리소스 페이지의 스크린 이미지를 식별하는 데이터
    중 적어도 하나를 포함하는 것을 특징으로 하는 전자 시스템.
  18. 제17항에 있어서,
    수신된 콘텍스트 데이터의 적어도 서브세트를 나타내는 데이터를 포함하는 템플릿을 생성하는 동작;
    상기 템플릿에 기초하여, 상기 리소스 식별자에 대응하는 URL 또는 상기 리소스 식별자에 대응하는 딥-링크 중 하나를 생성하는 동작; 및
    상기 리소스 페이지에 액세스하기 위한 북마크를 생성하도록, 상기 템플릿, 및 상기 URL과 상기 딥-링크 중 하나를 이용하는 동작
    을 더 포함하는 것을 특징으로 하는 전자 시스템.
  19. 명령들을 저장하는 하나 이상의 머신 판독가능한 저장 디바이스들로서, 상기 명령들은 하나 이상의 프로세싱 디바이스들에 의해 실행될 때,
    컴퓨팅 시스템에 의해, 사용자로부터 하나의 제 1 음성 입력을 수신하는 동작;
    상기 컴퓨팅 시스템에 의해, 상기 하나의 제 1 음성 입력의 트랜스크립션이 북마크를 생성하고자 하는 사용자 의도를 나타내는 트리거 어구를 포함하는지를 결정하는 동작;
    상기 컴퓨팅 시스템에 의해, 북마크를 생성하고자 하는 사용자 의도를 나타내는 트리거 어구를 포함하는 상기 하나의 제 1 음성 입력의 트랜스크립션으로부터, 후속으로 수신되는 음성 입력에서 북마크를 식별하는데 사용될 이름을 나타내는, 상기 하나의 제 1 음성 입력의 트랜스크립션에 있는 다른 용어를 결정하는 동작;
    후속으로 수신되는 음성 입력에서 북마크를 식별하는데 사용될 이름을 나타내는, 상기 하나의 제 1 음성 입력의 트랜스크립션에 있는 다른 용어를 결정함에 응답하여, 상기 컴퓨팅 시스템이 북마크를 생성할 것임을 나타내고 그리고 후속으로 수신되는 음성 입력에서 북마크를 식별하기 위해 상기 컴퓨팅 시스템에 의해 사용될 상기 이름을 식별하는, 상기 하나의 제 1 음성 입력에 대한 확인을 제공하는 동작;
    상기 컴퓨팅 시스템에 의해, 리소스 페이지와 연관된 리소스 식별자를 획득하는 동작;
    상기 컴퓨팅 시스템에 의해, 사용자 디바이스로부터의 요청에 응답하여 액세스될 수 있는 북마크 인덱스에 상기 리소스 식별자를 북마크로서 저장하는 동작; 및
    상기 리소스 식별자를 북마크로서 저장한 이후에:
    상기 컴퓨팅 시스템에 의해 사용자 디바이스로부터 요청을 수신하는 동작, 상기 요청은, 후속으로 수신되는 음성 입력에서 북마크를 식별하는데 사용될 이름을 나타내는 상기 다른 용어를 포함하는 하나의 제 2 음성 입력을 사용자 디바이스가 수신함에 응답하여 생성되며, 상기 요청은 상기 다른 용어를 적어도 포함하며;
    상기 컴퓨팅 시스템에 의해, 상기 요청이 상기 다른 용어를 적어도 포함한다고 결정함에 응답하여:
    상기 컴퓨팅 시스템에 의해 그리고 그래픽 출력을 위해 상기 사용자 디바이스로, 북마크로서 저장된 리소스 식별자를 포함하는 통지를 제공하는 동작;
    상기 컴퓨팅 시스템에 의해, 상기 사용자 디바이스로부터의 요청에 기초하여 상기 리소스 페이지에 액세스하도록, 북마크로서 저장된 상기 리소스 식별자를 사용하는 동작
    을 포함하는 동작들을 수행하는 것을 특징으로 하는 머신 판독가능한 저장 디바이스들.
  20. 제19항에 있어서,
    i) 상기 리소스 페이지는 상기 사용자 디바이스에 설치된 네이티브 어플리케이션에 의해 생성되고, 상기 네이티브 어플리케이션은 어플리케이션 인덱스에 하나 이상의 딥-링크들(deep-links)을 저장하도록 구성되며,
    ⅱ) 상기 리소스 식별자는 상기 리소스 페이지에 대한 URL이고, 상기 네이티브 어플리케이션에 관한 어드레스 데이터를 포함하는 어플리케이션 인덱스로부터 획득되는 것을 특징으로 하는 머신 판독가능한 저장 디바이스들.
KR1020217028741A 2017-04-18 2018-01-10 문맥형 음성-구동 딥 북마킹 KR102364401B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201762486601P 2017-04-18 2017-04-18
US62/486,601 2017-04-18
US15/836,599 2017-12-08
US15/836,599 US10810278B2 (en) 2017-04-18 2017-12-08 Contextual deep bookmarking
PCT/US2018/013130 WO2018194730A1 (en) 2017-04-18 2018-01-10 Contextual voice-driven deep bookmarking
KR1020197023245A KR20190104197A (ko) 2017-04-18 2018-01-10 문맥형 음성-구동 딥 북마킹

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020197023245A Division KR20190104197A (ko) 2017-04-18 2018-01-10 문맥형 음성-구동 딥 북마킹

Publications (2)

Publication Number Publication Date
KR20210113696A KR20210113696A (ko) 2021-09-16
KR102364401B1 true KR102364401B1 (ko) 2022-02-17

Family

ID=63790133

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020197023245A KR20190104197A (ko) 2017-04-18 2018-01-10 문맥형 음성-구동 딥 북마킹
KR1020217028741A KR102364401B1 (ko) 2017-04-18 2018-01-10 문맥형 음성-구동 딥 북마킹

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020197023245A KR20190104197A (ko) 2017-04-18 2018-01-10 문맥형 음성-구동 딥 북마킹

Country Status (6)

Country Link
US (4) US10810278B2 (ko)
EP (1) EP3563267B1 (ko)
JP (1) JP2020516980A (ko)
KR (2) KR20190104197A (ko)
CN (1) CN110325987B (ko)
WO (1) WO2018194730A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10769364B2 (en) * 2017-06-09 2020-09-08 Branch Metrics, Inc. Generating custom application links
US11625447B2 (en) * 2018-09-28 2023-04-11 Sap Se Direct link generator for user interface
US11741951B2 (en) * 2019-02-22 2023-08-29 Lenovo (Singapore) Pte. Ltd. Context enabled voice commands
US11620033B2 (en) * 2019-05-31 2023-04-04 Apple Inc. Systems and methods for proactively identifying and providing an internet link on an electronic device
CN111538925B (zh) * 2020-04-09 2023-05-02 支付宝(中国)网络技术有限公司 统一资源定位符url指纹特征的提取方法及装置
US11443006B2 (en) * 2021-01-06 2022-09-13 Vmware, Inc. Intelligent browser bookmark management
KR20220127600A (ko) * 2021-03-11 2022-09-20 삼성전자주식회사 다이얼로그 텍스트에 시각적 효과를 적용하는 전자 장치 및 이의 제어 방법

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3141833B2 (ja) * 1997-12-18 2001-03-07 日本電気株式会社 ネットワークアクセスシステム
US6243445B1 (en) * 1998-11-03 2001-06-05 At&T Corporation Method and apparatus for telephone data network access
JP2002189732A (ja) 2000-12-21 2002-07-05 Sanyo Electric Co Ltd ユーザ支援装置およびシステム
US7313525B1 (en) * 2001-09-26 2007-12-25 Sprint Spectrum L.P. Method and system for bookmarking navigation points in a voice command title platform
US7158936B2 (en) 2001-11-01 2007-01-02 Comverse, Inc. Method and system for providing a voice application bookmark
US20030144984A1 (en) * 2002-01-30 2003-07-31 International Business Machines Corporation Automatic bookmark update method and apparatus
EP1564659A1 (en) * 2004-02-10 2005-08-17 Hewlett-Packard Development Company, L.P. Method and system of bookmarking and retrieving electronic documents
US8230320B2 (en) * 2006-12-26 2012-07-24 International Business Machines Corporation Method and system for social bookmarking of resources exposed in web pages that don't follow the representational state transfer architectural style (REST)
US7974964B2 (en) 2007-01-17 2011-07-05 Microsoft Corporation Context based search and document retrieval
US7881938B2 (en) * 2007-03-27 2011-02-01 Nuance Communications, Inc. Speech bookmarks in a voice user interface using a speech recognition engine and acoustically generated baseforms
US20080313215A1 (en) 2007-06-13 2008-12-18 R-Web, Inc. System and method for the generation and storage of contextually anchored links and for navigation within information systems based on such links
US8255224B2 (en) * 2008-03-07 2012-08-28 Google Inc. Voice recognition grammar selection based on context
US8037070B2 (en) * 2008-06-25 2011-10-11 Yahoo! Inc. Background contextual conversational search
US8731266B2 (en) 2009-12-17 2014-05-20 General Electric Company Method and system for correcting artifacts in image reconstruction
TW201211919A (en) * 2010-04-09 2012-03-16 Citibank Na Computer implemented system and method for storing a user's location in a virtual environment
US20130117263A1 (en) 2010-07-22 2013-05-09 Rajan Lukose Context-Based Item Bookmarking
WO2012037566A1 (en) * 2010-09-17 2012-03-22 Oracle International Corporation Method and apparatus for choosing resources based on context and inheritance
US20130110815A1 (en) 2011-10-28 2013-05-02 Microsoft Corporation Generating and presenting deep links
US9495129B2 (en) * 2012-06-29 2016-11-15 Apple Inc. Device, method, and user interface for voice-activated navigation and browsing of a document
US9195477B1 (en) * 2012-10-09 2015-11-24 Sencha, Inc. Device profiles, deep linking, and browser history support for web applications
WO2014061905A1 (ko) * 2012-10-16 2014-04-24 에스케이플래닛 주식회사 동작 및 음성 기반 북마크 제공 시스템 과 그 방법
US8510764B1 (en) 2012-11-02 2013-08-13 Google Inc. Method and system for deep links in application contexts
CN103400579B (zh) * 2013-08-04 2015-11-18 徐华 一种语音识别***和构建方法
JP2015114527A (ja) * 2013-12-12 2015-06-22 株式会社Nttドコモ ユーザのデータ入力に応じて情報提供を行うための端末装置、プログラム、記録媒体および方法
CN103888528B (zh) * 2014-03-14 2017-10-24 深圳创维-Rgb电子有限公司 一种微信终端与音频终端留言通信的实现方法及***
JP6370408B2 (ja) * 2014-06-25 2018-08-08 グーグル エルエルシー ネイティブアプリケーションに関するディープリンク
US9621650B2 (en) * 2014-09-30 2017-04-11 Google Inc Mobile application state identifier framework
CN107615266A (zh) 2015-03-31 2018-01-19 卡尔加里科学股份有限公司 用于捕获分层屏幕内容的方法
US20160350136A1 (en) 2015-05-27 2016-12-01 Google Inc. Assist layer with automated extraction
US10042933B2 (en) * 2015-07-02 2018-08-07 Oracle International Corporation Deep linking to application objects
JP6562747B2 (ja) * 2015-07-22 2019-08-21 三菱電機株式会社 情報登録端末、サーバ装置、情報受信端末および情報管理活用システム
US9910685B2 (en) * 2015-08-13 2018-03-06 Samsung Electronics Co., Ltd. System and method for identifying, indexing, and navigating to deep states of mobile applications
EP3356965A4 (en) * 2016-01-05 2018-10-03 Samsung Electronics Co., Ltd. Computer-automated generation of application deep links
US11176931B2 (en) * 2016-09-23 2021-11-16 Microsoft Technology Licensing, Llc Conversational bookmarks

Also Published As

Publication number Publication date
US20220391466A1 (en) 2022-12-08
JP2020516980A (ja) 2020-06-11
CN110325987A (zh) 2019-10-11
CN110325987B (zh) 2023-10-20
US11829433B2 (en) 2023-11-28
EP3563267B1 (en) 2022-11-23
US10810278B2 (en) 2020-10-20
KR20210113696A (ko) 2021-09-16
US20240070217A1 (en) 2024-02-29
US11423113B2 (en) 2022-08-23
US20210103628A1 (en) 2021-04-08
EP3563267A1 (en) 2019-11-06
US20180300421A1 (en) 2018-10-18
WO2018194730A1 (en) 2018-10-25
KR20190104197A (ko) 2019-09-06

Similar Documents

Publication Publication Date Title
KR102364401B1 (ko) 문맥형 음성-구동 딥 북마킹
US10847160B2 (en) Using two automated speech recognizers for speech recognition
US11423888B2 (en) Predicting and learning carrier phrases for speech input
US10181322B2 (en) Multi-user, multi-domain dialog system
EP3423994B1 (en) Unified message search
JP6701206B2 (ja) ユーザーエクスペリエンスを向上させるためにあいまいな表現を弁別すること
US9502032B2 (en) Dynamically biasing language models
US8862467B1 (en) Contextual speech recognition
CN113506567A (zh) 基于场境的语音识别语法选择方法和***
US20230169134A1 (en) Annotation and retrieval of personal bookmarks
EP3583514A1 (en) Contextually disambiguating queries
WO2016137549A1 (en) Search query based form populator

Legal Events

Date Code Title Description
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant