KR102148968B1 - 컨텍스트 정보 제공 시스템 및 방법 - Google Patents

컨텍스트 정보 제공 시스템 및 방법 Download PDF

Info

Publication number
KR102148968B1
KR102148968B1 KR1020197002062A KR20197002062A KR102148968B1 KR 102148968 B1 KR102148968 B1 KR 102148968B1 KR 1020197002062 A KR1020197002062 A KR 1020197002062A KR 20197002062 A KR20197002062 A KR 20197002062A KR 102148968 B1 KR102148968 B1 KR 102148968B1
Authority
KR
South Korea
Prior art keywords
resource
resources
user
active resource
request
Prior art date
Application number
KR1020197002062A
Other languages
English (en)
Other versions
KR20190022687A (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 KR20190022687A publication Critical patent/KR20190022687A/ko
Application granted granted Critical
Publication of KR102148968B1 publication Critical patent/KR102148968B1/ko

Links

Images

Classifications

    • 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
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24575Query processing with adaptation to user needs using context
    • 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/248Presentation of query results
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

사용자에게 컨텍스트 정보를 제공하기 위해, 컴퓨터 저장 매체상에 인코딩된 컴퓨터 프로그램을 포함하는 방법, 시스템 및 장치가 개시된다. 일 양태에서, 방법은 사용자 장치로부터, 사용자 장치상의 애플리케이션 환경에 디스플레이된 활성 자원에 관한 컨텍스트 정보에 대한 질의 독립 요청을 수신하는 단계, 상기 질의 독립 요청에 응답하여 상기 활성 자원에 의해 기술된 콘텐트를 결정하는 단계, 상기 질의 독립 요청에 응답하여, 상기 활성 자원에 의해 기술된 상기 콘텐트와 관련된 다수의 자원을 식별하는 단계를 포함한다. 추가적인 동작들은 상기 다수의 자원들의 각각의 자원에 대해, 하나 이상의 사용자에 의한 상기 자원의 참여를 반영하는 사용자 참여도를 결정하는 동작; 상기 다수의 자원에 대한 사용자 참여도에 기초하여 상기 다수의 자원 중 하나 이상의 자원을 선택하는 동작, 상기 활성 자원으로 디스플레이하기 위한 사용자 인터페이스 요소를 상기 사용자 장치에 제공하는 동작을 포함한다.

Description

컨텍스트 정보 제공 시스템 및 방법
본 명세서는 컨텍스트 정보(contextual information)를 사용자에게 제공하는 것에 관한 것이다.
장치는 사용자에게 컨텍스트 정보를 제공할 수 있다. 예를 들어, 장치는 특정 주제에 관한 웹 페이지를 디스플레이하고, 특정 주제에 대한 검색 용어들을 포함하는 검색 질의를 사용자로부터 수신하고, 검색 질의에 응답하여 검색 결과를 검색하고, 그 검색 결과를 사용자에게 제공할 수 있다.
일반적인 상호 작용 모델에서는 사용자가 사용자 장치에 사용자 질의의 일부 형식을 제공해야 한다. 예를 들어 사용자는 스마트폰에서 스포츠 장비의 특정 부분에 대한 기사를 볼 수 있고 "이 아이템에 대한 리뷰 보기"라고 말할 수 있다. 그 다음 검색 프로세스는 기사 및 기사에 의존하는 질의를 분석하여 검색 파라미터들을 결정하고 사용자의 정보 요구를 충족시킬 수 있는 자원을 식별하기 위해 자원 검색을 실행한다.
일반적으로, 본 명세서에 기술된 요지의 하나의 혁신적인 양태는 사용자 장치로부터 상기 사용자 장치상의 애플리케이션 환경에 디스플레이 된 활성 자원과 관련된 컨텍스트 정보에 대한 질의 독립(query-independent) 요청을 수신하는 동작, 상기 질의 독립 요청에 응답하여 상기 활성 자원에 의해 기술된 콘텐트를 결정하는 동작, 상기 질의 독립 요청에 응답하여, 상기 활성 자원에 의해 기술된 상기 콘텐트와 관련된 다수의 자원을 식별하는 동작을 포함하는 방법으로 구현될 수 있다. 추가적인 동작들은 상기 다수의 자원들의 각각의 자원에 대해, 하나 이상의 사용자들에 의한 상기 자원의 참여(engagement)를 반영하는 사용자 참여의 해당 측정치를 결정하는 동작, 상기 다수의 자원에 대한 사용자 참여의 측정치에 기초하여 상기 다수의 자원 중 하나 이상의 자원을 선택하는 동작, 상기 활성 자원으로 디스플레이하기 위한 사용자 인터페이스 요소를 상기 사용자 장치에 제공하는 동작을 포함한다. 사용자 인터페이스 요소는, 선택시, 사용자 장치로 하여금 각각의 자원을 요청하게 하는, 선택된 다수 자원 각각에 대한 네비게이션 링크들을 포함한다.
이 양태의 다른 실시 예는 각각이 방법의 동작을 수행하도록 구성된, 하나 이상의 컴퓨터 저장 장치상에 기록된 컴퓨터 프로그램, 해당 컴퓨터 시스템, 장치를 포함한다. 하나 이상의 컴퓨터로 이루어진 시스템은 작동중인 시스템에 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합을 설치하고 시스템이 해당 동작을 수행하도록 함으로써 특정 동작이나 작업을 수행하도록 구성될 수 있다. 하나 이상의 컴퓨터 프로그램은 데이터 처리 장치에 의해 실행될 때 그 장치로 하여금 동작을 수행하게 하는 명령어들을 포함함으로써 특정 동작 또는 작업을 수행하도록 구성될 수 있다.
전술한 실시 예 및 다른 실시 예는 각각 단독으로 또는 조합하여 하기의 특징들 중 하나 이상을 선택적으로 포함할 수 있다. 특정 양태들에서, 사용자 장치로부터, 사용자 장치상의 애플리케이션 환경에 디스플레이된 활성 자원에 관련된 컨텍스트 정보에 대한 질의 독립 요청을 수신하는 단계는, 사용자 장치로부터, 사용자에 의해 입력된 하나 이상의 질의어들을 포함하지 않는 질의 독립 요청을 수신하는 단계를 포함한다. 일부 양태들에서, 상기 질의 독립 요청에 응답하여, 상기 활성 자원에 의해 기술된 상기 콘텐트와 관련된 다수의 자원을 식별하는 단계는, 상기 활성 자원에 의해 기술된 콘텐트로부터 다수의 검색 아이템들을 식별하고, 상기 활성 자원에 관련된 상기 다수의 자원들로서 상기 다수의 검색 아이템들에 관련된 다수의 자원들을 식별하는 단계를 포함한다. 일부 구현 예에서, 상기 질의 독립 요청에 응답하여, 상기 활성 자원에 의해 기술된 상기 콘텐트와 관련된 다수의 자원들을 식별하는 단계는, 상기 활성 자원을 상기 활성 자원과 관련된 다수의 자원으로 보는 사용자들에 의해 자주 관찰되는 다수의 자원을 식별하는 단계를 포함한다. 특정 양태들에서, 상기 질의 독립 요청에 응답하여, 상기 활성 자원에 의해 기술된 상기 콘텐트와 관련된 다수의 자원을 식별하는 단계는, 상기 활성 자원의 소스를 결정하는 단계 및 적어도 상기 사용자 참여 측정치, 상기 활성 자원의 콘텐트로부터 식별된 아이템들을 검색하기 위한 상기 다수의 자원의 관련 측정치, 및 상기 활성 자원의 소스에 기초하여 상기 다수의 자원 중 하나 이상을 선택하는 단계를 포함한다.
일부 양태들에서, 상기 다수의 자원의 각각의 자원에 대해, 하나 이상의 사용자에 의한 상기 자원의 참여를 반영하는 사용자 참여의 해당 측정치를 결정하는 단계는 상기 자원이 요구되는 횟수에 기초하여 사용자 참여의 해당 측정치를 결정하는 단계를 포함한다. 일부 구현 예에서, 상기 다수의 자원에 대한 사용자 참여의 측정치에 기초하여 상기 다수의 자원 중 하나 이상을 선택하는 단계는 활성 자원 내의 콘텐트로부터 식별된 다수의 자원의 관련도 점수 및 사용자 참여의 측정치에 적어도 기초하여 다수의 자원 중 하나 이상을 선택하는 단계를 포함한다. 특정 양태들에서, 자원은 웹 페이지, 애플리케이션 페이지 또는 텍스트 대화중 하나 이상을 포함한다.
본 명세서에 기술된 요지의 특정 실시 예는 다음의 장점 중 하나 이상을 실현하도록 구현될 수 있다. 사용자의 정보 요구를 만족시킬 가능성이 있는 컨텍스트 정보는 사용자가 장치에 질의를 제공하지 않고도 장치에 의해 사용자에게 제공될 수 있다. 상기 요청은 질의 독립 요청이므로, 사용자 장치는 구두로, 물리적으로 또는 다른 상호 작용에 상관없이 사용자가 질의에 대한 용어를 입력하지 않고도 컨텍스트 정보 서버에 요청을 제공할 수 있다. 상기 컨텍스트 정보는 사용자의 정보 요구를 충족시킬 수 있는 다른 자원의 권장사항(추천사항) 형태일 수 있다. 이러한 권장사항은 자원 권장사항(resource recommendations)이라고 할 수 있으며 다른 자원에 대한 내비게이션 링크의 형태일 수 있다. 이로써 사용자는 장치에 표시된 자원을 기반으로 자원 권장사항을 얻을 수 있다.
특히, 상기 시스템은 사용자 장치상에 디스플레이된 활성 자원에 관련한 컨텍스트 정보에 대한 질의 독립 요청의 입력을 유동적이고 및 직관적인 방식으로 가능하게 한다. 사용자는 컨텍스트 정보를 얻기 위해 더 이상 질의어(검색어)를 입력하거나 질의어를 말할 필요가 없다. 따라서, 사용자는 컨텍스트 정보를 요구할 가능성이 더 많으며, 이는 사용자에게 편리할 뿐만 아니라, 사용자가 장치에 대고 말하는 것에 행인(bystanders)이 방해받지 않도록 비교적 개별적인 방식으로 성취될 수 있기 때문이다. 또한, 사용자가 질의를 입력(타이핑)할 필요가 없기 때문에, 일부 구현 예에서, 사용자가 다른 방법으로는 효과적으로 입력(타이핑)할 수 없을 때 예를 들어 사용자가 한 손만 사용이 가능할 때 상기 정보를 요구할 수 있다.
또한, 컨텍스트 정보에 대한 질의 독립 요청의 입력은 질의 입력을 요구하지 않기 때문에, 상기 시스템은 텍스트-음성 변환(text-to-speech) 처리 또는 입력 타이핑을 수행할 필요가 없다. 결과적으로 입력 오류가 줄어들고 잘못된 질의가 입력된다. 따라서 총체적으로 고려할 때 수천 가지의 잘못된 질의와 부정확한 질의가 회피되므로 검색 시스템 자원을 보다 효율적으로 사용할 수 있다. 즉, 다수의 잘못된 질의 처리주기가 방지하여 필요한 처리(프로세싱) 자원을 줄이고 전체 시스템 대역폭 요구사항(requirement)을 감소시킨다(또는 대안적으로, 많은 수의 사용자가 처리 자원을 상응하게 증가시키지 않고 서비스될 수 있게 한다). 검색 처리의 기술적 분야에서의 개선은 아래에 설명된 시스템 및 방법에 의해 실현된 또 다른 뚜렷한 장점이다.
본 명세서에서 설명된 요지의 하나 이상의 실시 예의 세부 사항은 첨부된 도면 및 이하의 설명에서 설명된다. 요지의 다른 특징, 양태 및 장점은 상세한 설명, 도면 및 청구 범위로부터 명백해질 것이다.
도 1a 및 도 1b는 디스플레이된 자원에 대해 컨텍스트 정보가 제공되는 예시적인 환경의 블록도이다.
도 2는 디스플레이된 자원에 대해 컨텍스트 정보가 제공되는 다른 예시적인 환경의 블록도이다.
도 3은 디스플레이된 자원에 대한 컨텍스트 정보를 제공하기 위한 예시적인 프로세스의 흐름도이다.
도 4는 컴퓨터 시스템의 개략도이다.
다양한 도면에서 유사한 참조 번호 및 명칭은 동일한 요소를 나타낸다.
때로는 사용자가 현재 장치에서 보고있는 자원(리소스)의 주제(subject matter)와 관련된 추가 정보를 받기를 원할 수도 있다. 예를 들어 사용자가 "Paul 's Diner"라는 버거 장소에 대한 웹 페이지를 보고 있을 수 있으며 "Paul 's Diner"에 대한 추가 정보를 얻고자 할 수 있다. 사용자는 검색 엔진에 대한 웹 페이지를 열어 "Paul 's Diner"를 검색어로 입력(type)하고 검색 결과 목록을 스크롤 한 다음 검색 결과를 선택하여 볼 수 있다. 그러나 이 프로세스는 시간이 많이 소요될 수 있으며, 사용자에 의한 다수의 상호 작용을 요구한다.
다음은 디스플레이된 자원(리소스)에 대한 콘텍스트 정보를 제공하기 위한 시스템 및 방법이다. 사용자에 의해 입력된 질의에 기초하여 컨텍스트 정보를 제공하는 대신에, 상기 시스템은 질의 입력과 독립적이고, 그리고 디스플레이된 자원에 대한 컨텍스트 정보를 제공할 수 있다. 컨텍스트 정보를 제공하기 위해, 상기 시스템은 사용자가 컨텍스트 정보를 원하는지를 검출할 수 있다. 예를 들어, "Paul's Diner"이라는 높은 등급의 햄버거 장소에 대한 웹 페이지를 보는 사용자가 3초 동안 버튼을 누르거나 전용 버튼을 누르거나 특정 제스처를 수행하는 것과 같은 다른 표시(indication)를 제공하여 사용자가 상기 디스플레이된 웹 페이지를 기반으로 컨텍스트 정보를 수신하기를 원한다는 것을 나타낼 수 있다. 상기 시스템은 상기 표시(indication)를 검출하고, 응답으로 상기 디스플레이된 자원 내의 텍스트로부터 검색 아이템들을 식별 한 다음 그 식별된 검색 아이템들에 대한 컨텍스트 정보를 사용자에게 제공할 수 있다. 예를 들어, 상기 시스템은 상기 자원에 나타나는 "Paul's Diner" 텍스트가 "Paul's Diner"라는 레스토랑과 일치한다는 것을 식별하고, 이에 응답하여 그 레스토랑 "Paul's Diner"에 대한 웹 페이지를 식별한 다음 레스토랑 "Paul's Diner"에 대한 웹 페이지에 내비게이션 링크를 제공할 수 있다.
사용자에게 식별될 자원의 경우, 상기 시스템은 각 자원에 대한 사용자 참여를 유리하게 고려한다. 사용자 참여의 예는 자원이 다른 자원에 비해 높은 선택률을 갖는 검색 로그들에 의해 식별되는 트레드 측정치(tread measure)를 포함한다. 또 다른 예는 공동 시청한 이미지 및 비디오 또는 공동 접속 기사(article)와 같은 공동 검토된 자원들이다. 사용자가 모바일 장치에 대해 갖는 고유한 상호 작용을 고려할 때 자원에 대한 요청이 질의 독립적(query-independent)인 경우 사용자 참여는 사용자 관심의 중요한 신호로 사용될 수 있다. 사용자가 보고자 하는 자원을 식별하는 것은 자원에서 식별된 검색 아이템들에 대한 일반 정보를 제공하거나 일반 정보 제공에서 자원 아이템들로부터 식별된 검색 아이템들에 대해 제안된 액션들을 제공하거나 사용자가 볼 수 있는 특정 자원을 제공하거나 제안하는 것을 포함하지 않는 액션들을 제안하는 것과는 다를 수 있다.
이들 특징 및 추가적인 특징은 하기에서보다 상세히 설명된다.
도 1a는 디스플레이된 자원에 컨텍스트 정보가 제공되는 예시적인 환경(100)의 블록도이다. 환경(100)은 사용자 장치(110) 및 컨텍스트 정보 서버(150)를 포함한다.
사용자 장치(110)는 디스플레이된 자원에 대한 컨텍스트 정보를 획득하기 위해 사용자에 의해 사용된다. 사용자 장치(110)는 네트워크를 통해 자원을 요청하고 수신할 수 있는 전자 장치이다. 예시적인 사용자 장치들(110)은 퍼스널 컴퓨터들(예를 들어, 데스크톱 또는 랩톱), 모바일 통신 디바이스들(예를 들어, 스마트폰 또는 태블릿), 및 네트워크를 통해 데이터를 송수신할 수 있는 다른 디바이스들(예: 텔레비전, 네트워크 통신 기능이 있는 시계 또는 안경)을 포함한다. 사용자 장치는 전형적으로 네트워크를 통해 데이터의 송신 및 수신을 용이하게 하기 위해 사용자 애플리케이션, 예를 들어 웹 브라우저를 포함한다. 웹 브라우저는 사용자가 월드 와이드 웹 또는 근거리 통신망의 웹 사이트에서 일반적으로 웹 페이지 상에 위치하는 텍스트, 이미지, 비디오, 음악 및 기타 정보를 디스플레이하고 상호 작용할 수 있게 한다. 사용자 장치(110)는 네트워크를 통해 데이터를 송신 및 수신하고, 요청된 자원을 사용자에게 제공하기 위해 임의의 적절한 애플리케이션을 사용할 수 있다.
자원은 사용자 장치(110)에 의해 가시적으로 렌더링될 수 있는 콘텐트를 포함하는 데이터이다. 예를 들어, 자원은 HTML 페이지, 전자 문서, 이미지 파일, 비디오 파일, 문자 메시지 대화, 전자 메일, 애플리케이션의 그래픽 사용자 인터페이스 등을 포함할 수 있다. 활성 자원은 현재 사용자 장치(110) 상에 디스플레이되고 있는 자원으로 간주될 수 있다. 일반적으로 활성 자원은 사용자 장치의 포어그라운드(foreground)에서 실행중인 애플리케이션에 의해 렌더링된다.
사용자 장치(110)는 사용자가 디스플레이된 자원에 대한 컨텍스트 정보를 원한다는 것을 검출한다. 예를 들어, 사용자 장치(110)는 웹 사이트에 의해 호스팅되는 자원을 디스플레이할 수 있으며, 자원은 샌프란시스코를 방문하는 이유를 기술한다. 사용자는 예를 들어, 버튼을 3초 동안 누르거나 미리정의된 탭 패턴에 따라 스크린을 탭핑(가볍게 두드리는)(탭핑) 함으로써 컨텍스트 정보에 대한 표시(indication)를 생성할 수 있다. 설명을 목적으로 사용자가 디스플레이된 자원에 대한 컨텍스트 정보를 원한다는 것을 나타내는 긴 누름(long press)을 수행한다고 가정한다. 이에 응답하여, 사용자 장치(110)는 디스플레이된 자원에 대한 컨텍스트 정보에 대한 요청을 컨텍스트 정보 서버(150)에 제공한다. 예를 들어, 사용자 장치(110)는 활성 자원의 현재 디스플레이된 부분의 스크린샷을 포함하는 요청을 제공할 수 있으며, 상기 부분은 텍스트 "샌프란시스코" 또는 활성 자원의 텍스트, 자원의 URI 등을 포함한다.
상기 요청은 사용자 장치(110)가 구두로, 물리적으로 또는 다른 상호 작용을 위해 질의에 대한 용어를 사용자에게 입력시키지 않고 컨텍스트 정보 서버(150)에 요청을 제공함에 따라 질의 독립 요청(질의 독립적인 요청)으로 간주될 수 있다. 예를 들어, 사용자 장치(110)가 사용자가 오래동안 버튼을 누른 것을 검출한 후, 사용자 장치(110)는 사용자로부터 추가 정보를 요청하지 않고 컨텍스트 정보 서버(150)에 상기 요청을 제공할 수 있다.
컨텍스트 정보 서버(150)에 요청을 제공하는 것이 응답하여, 사용자 장치(110)는 컨텍스트 정보 서버(150)로부터 사용자 인터페이스 요소(element)를 수신한다. 상기 사용자 인터페이스 요소는 요청에 기초하여 식별된 하나 이상의 추천 자원에 대한 내비게이션 링크들을 포함할 수 있다. 예를 들어, 사용자 장치(110)는 "SF Wiki Article", "Top SF To-Do"및 "Golden Gate Homepage"의 웹 페이지들에 대한 내비게이션 링크들 및 텍스트 "추천 자원"을 포함하는 사용자 인터페이스 요소를 수신할 수 있다. 내비게이션 링크들은 선택 가능할 수 있고, 선택시, 사용자 장치(110)가 각각의 자원을 요청한 다음 그 자원을 디스플레이하게 할 수 있다. 내비게이션 링크는 자원의 제목, 자원의 썸네일 또는 자원의 다른 표현의 형태일 수 있다. 일부 구현 예에서, 사용자 인터페이스 요소는 권고사항(추천사항)의 일부를 디스플레이할 수 있다. 예를 들어, 사용자 인터페이스 요소는 추천 자원에 대한 단지 하나, 둘, 또는 다른 개수의 내비게이션 링크가 한번에 표시되는 내비게이션 링크의 캐러셀(carousel)을 포함할 수 있다. 다른 구현 예에서, 사용자 인터페이스 요소는 모든 추천사항(추천)을 즉시 디스플레이할 수 있다. 예를 들어, 사용자 인터페이스 요소는 모든 내비게이션 링크들의 목록을 포함할 수 있다.
예시의 목적상, 사용자 인터페이스 요소는 카드(card)로서 설명된다. 그러나, 예를 들어, 버블챗(chat bubbles), 선택 가능한 링크된 노트 또는 각주(footnotes), 합성된 음성 응답 또는 다른 형태와 같은 다른 사용자 인터페이스 요소가 사용될 수 있다. 일부 구현 예에서, 다수의 내비게이션 링크를 포함하는 단일 사용자 인터페이스 요소 대신에, 사용자 인터페이스 요소는 단일 내비게이션 링크를 포함할 수 있고, 다중 사용자 인터페이스 요소는 상이한 자원들에 대해 수신될 수 있다.
사용자 장치(110)는 수신된 컨텍스트 카드를 사용자에게 디스플레이한다. 예를 들어, 사용자 장치(110)는 디스플레이된 자원의 상부에 중첩되어 도시된 그래픽 패널(160)을 생성할 수 있는데, 그래픽 패널(160)은 카드로부터의 추천 자원에 대한 내비게이션 링크들을 포함한다. 다른 예에서, 사용자 장치(110)는 자원의 디스플레이를 중지하고 그 대신에 그래픽 패널(160)을 디스플레이할 수 있다. 사용자 장치(110)는 사용자가 디스플레이된 자원으로 신속하게 리턴하도록 할 수 있다. 예를 들어, 사용자 장치(110)는 사용자가 그래픽 패널(160)에 의해 오버레이되지 않은 자원의 일부를 상호 작용(예: 클릭 또는 터치)하는 것을 검출한 것에 응답하여 그래픽 패널(160)의 디스플레이를 중단할 수 있다. 다른 예에서, 사용자 장치(110)는 그래픽 패널(160)의 디스플레이를 중지하고, 사용자가 그래픽 패널(160)을 닫기 위한 선택 가능한 옵션과 상호 작용(예: 클릭 또는 터치)하는 것을 검출하는 것에 응답하여 상기 자원을 디스플레이할 수 있다.
도 1b는 디스플레이된 자원에 대한 컨텍스트 정보가 제공되는 예시적인 환경(190)의 블록도이다. 도 1b에 도시된 바와 같이, 사용자 장치(110) 상에 표시된 자원은 현재 사용자 장치상에 표시된 기사의 일부가 레스토랑 "Paul's Diner"에 관련된 좋은 버거 장소에 관한 기사를 포함하는 웹 페이지일 수 있다. 컨텍스트 정보에 대한 요청에 응답하여, 사용자 장치(110)는 "Paul's Diner website" 및 "Burger Lover's website"의 자원 추천(recommendation)을 수신할 수 있으며, 레스토랑 "Paul's Diner"와 관련된 사용자 장치에 현재 표시된 기사의 기본 부분 상단에 표시된 자원 추천을 포함하는 그래픽 패널을 포함한다.
도 2는 디스플레이된 자원을 위해 컨텍스트 정보가 제공되는 다른 예시적인 환경(200)의 블록도이다. 환경(200)은 사용자 장치상의 클라이언트 컨텍스트 모듈(210) 및 컨텍스트 정보 서버(212)를 포함한다. 컨텍스트 정보 서버(212)는 자원 식별 엔진(220), 사용자 참여 엔진(230), 자원 선택 엔진(240) 및 컨텍스트 카드 제공자(250)를 포함한다. 일부 구현 예에서, 클라이언트 컨텍스트 모듈(210)은 도 1a에 도시된 사용자 장치(110) 상에 제공될 수 있다. 다른 구현예들에서, 클라이언트 컨텍스트 모듈(210)은 도 1a에 도시된 사용자 장치(110)와는 상이한 다른 사용자 장치상에 제공될 수 있다. 일부 구현예에서, 컨텍스트 정보 서버(212)는 도 1a에 도시된 컨텍스트 정보 서버(150)일 수 있다. 다른 구현예에서, 컨텍스트 정보 서버(212)는 도 1a에 도시된 컨텍스트 정보 서버(150)와 다를 수 있다.
클라이언트 컨텍스트 모듈(210)은 사용자가 디스플레이된 자원에 대한 컨텍스트 정보를 원하는지를 결정한다. 예를 들어, 클라이언트 컨텍스트 모듈(210)은 레스토랑 "Paul's Diner"에 대한 웹 페이지를 볼 때 사용자가 버튼을 3번 빠르게 눌렀는지를 결정할 수 있다(이 예에서 버튼을 세 번 빠르게 누르는 것은 사용자가 컨텍스트 정보를 원함을 나타냄). 사용자가 디스플레이된 자원에 대한 컨텍스트 정보를 원한다고 결정한 것에 응답하여, 클라이언트 컨텍스트 모듈(210)은 디스플레이된 자원에 대한 컨텍스트 정보를 위해 요청을 컨텍스트 정보 서버(212)에 생성한다. 예를 들어, 클라이언트 컨텍스트 모듈(210)은 "Paul's Diner"에 관한 웹 페이지에 대한 컨텍스트 정보에 대한 요청을 컨텍스트 정보 서버(212)에 생성할 수 있다.
클라이언트 컨텍스트 모듈(210)은 요청에 상기 디스플레이된 자원에 관한 정보를 포함할 수 있다. 예를 들어, 상기 클라이언트 컨텍스트 모듈(210)은 상기 웹 페이지를 나타내는 이미지인 스크린 샷을 생성할 수 있고, 상기 요청에 상기 스크린 샷을 포함할 수 있다. 다른 예에서, 사용자 장치의 운영 시스템이 포어그라운드에 있는 애플리케이션에서 현재 렌더링되고 있는 것을 정의하는 트리 기반 문서 객체 모델을 제공하고, 상기 요청에 상기 모델을 포함한다는 요청에 의해 클라이언트 컨텍스트 모듈(210)을 호출한다. 상기 문서 객체 모델은 디스플레이된 자원에 나타나는 텍스트 및 텍스트의 크기, 색상, 위치, 폰트 또는 다른 포맷팅과 같은 텍스트의 외관을 정의할 수 있다.
일부 구현 예에서, 클라이언트 컨텍스트 모듈(210)은 디스플레이된 자원의 소스를 결정하고 요청에 소스의 표시(indication)를 포함함으로써 요청에 디스플레이된 자원에 관한 정보를 포함할 수 있다. 예를 들어, 클라이언트 컨텍스트 모듈(210)은 디스플레이된 자원이 웹 브라우저 애플리케이션에 의해 제공되는지를 결정할 수 있으며, 이에 응답하여 웹 브라우저 애플리케이션이 디스플레이된 자원에 대한 URL(Uniform Resource Locator)을 제공할 수 있는지를 결정할 수 있고, 이에 응답하여 활성 자원의 소스가 웹 브라우저 애플리케이션이고 디스플에이된 자원에 대한 URL인 요청에 표시(indication)를 포함할 수 있다. 정보는 추가적으로 또는 대안적으로, 디스플레이된 자원, 사용자 장치의 위치, 자원의 현재 디스플레이되지 않은 부분 또는 사용자의 신원정보를 기술하는 메타 데이터를 포함할 수 있다. 예를 들어, 클라이언트 컨텍스트 모듈(210)은 사용자 장치(110)가 애틀란타에 위치함을 결정하고, 상기 요청에 "애틀란타"의 위치를 포함할 수 있다.
그 다음 클라이언트 컨텍스트 모듈(210)은 사용자가 질의를 입력하지 않고 상기 요청을 자원 식별 엔진(220)에 제공한다. 예를 들어, 클라이언트 컨텍스트 모듈(210)은 사용자가 상기 표시(indication)를 제공한 후에 임의의 추가 정보, 예를 들어, 질의어들을 제공하지 않고, 예를 들어 3회의 급속 버튼 누름, 긴 버튼 누름 또는 다른 표시와 같은 디스플레이된 자원에 대한 컨텍스트 정보를 사용자가 원하는 표시를 제공함에 응답하여, 상기 요청을 자원 식별 엔진(220)에 제공한다.
상기 요청을 자원 식별 엔진(220)에 제공하는 것에 응답하여, 클라이언트 컨텍스트 모듈(210)은 컨텍스트 카드를 수신하고, 컨텍스트 카드를 렌더링한다. 예를 들어, 클라이언트 컨텍스트 모듈(210)은 레스토랑 "Paul's Diner"에 관한 다수의 자원에 대한 내비게이션 링크 및 음식 "버거(Burgers)"에 관한 하나의 자원을 포함하는 컨텍스트 카드를 수신한다.
동작시에, 컨텍스트 정보 서버(212)는 질의 독립 요청에 응답하여 자원을 식별하고, 자원에 대한 사용자 참여의 측정치에 기초하여 자원을(전체적로 또는 부분적으로) 순위화(랭킹화)한다. 사용자 참여의 측정치는 자원이 사용자에게 식별될 때 사용자가 자원에 참여하는 빈도를 정량화한다. 다음 예에서,
자원은 사용자 장치상에 디스플레이된 활성 자원으로부터 결정된 검색 엔티티로부터 식별된 다음, 자원에 대한 사용자 참여 측정치에 기초하여 부분적으로 순위화한다.
자원 식별 엔진(220)은 디스플레이된 자원에 대한 컨텍스트 정보에 대한 요청을 수신하고, 활성 자원과 관련된 하나 이상의 자원을 식별한다. 예를 들어, 자원 식별 엔진(220)은 레스토랑 "Paul's Diner"에 관한 웹 페이지의 스크린 샷을 포함하는 요청을 획득한 다음 레스토랑 "Paul's Diner"에 관한 2개의 다른 자원 및 음식 "Burgers"에 관한 2가지 자원을 식별할 수 있다.
자원 식별 엔진(220)은 자원을 식별하기 위해 다양한 상이한 프로세스를 사용할 수 있다. 예를 들어, 자원 식별 엔진(220)은 디스플레이된 자원 내의 콘텐트로부터 하나 이상의 검색 아이템들을 식별한 다음 그 검색 아이템들로부터 자원을 식별함으로써 활성 자원과 관련된 자원을 식별할 수 있다. 예를 들어, 자원 식별 엔진(220)은 "Paul's Diner"에 관한 웹 페이지의 스크린 샷을 포함하는 요청을 획득하고, 레스토랑 "Paul's Diner" 및 음식 "Burgers"를 검색 아이템들로서 식별하고, 그 검색 아이템들과 관련된 자원을 식별할 수 있다. 다른 예에서, 자원 식별 엔진(220)은 "Paul's Diner"에 관한 웹 페이지의 문서 객체 모델을 포함하는 요청을 획득하고, 검색 아이템들로서 레스토랑 "Paul's Diner" 및 음식 "Burgers"을 식별한 다음, 그 검색 아이템들과 관련된 자원을 식별한다. 본 명세서에서 사용되는 "검색 아이템"은 검색 시스템이 정보 검색을 수행하는 데 사용할 수 있는 개념 또는 사안이다. 검색 아이템은 텍스트 프래그먼트, 예를 들어 용어 또는 구문에 의해 참조될 수 있고, 검색 아이템들은 예를 들어 컨텍스트에 기초하여 서로 구별될 수 있다. 예를 들어, 검색 아이템은 키워드, 특정 엔티티의 인스턴스, 적절한 이름, 지식 그래프의 노드 또는 에지에 의해 모델링된 엔티티 또는 관계(relation) 등일 수 있다.
자원 식별 엔진(220)은 요청으로부터 텍스트를 추출함으로써 검색 아이템들을 식별할 수 있다. 예를 들어, 자원 식별 엔진(220)은 요청으로부터 "Paul's Diner는 맛있는 햄버거를 제공하는 레스토랑이다"라는 텍스트를 추출할 수 있다. 자원 식별 엔진(220)은 상기 요청에 대한 이미지 프로세싱을 수행함으로써 텍스트를 추출할 수 있다. 예를 들어, 자원 식별 엔진(220)은 상기 요청에서 스크린 샷을 획득하고, 광학 문자 인식을 수행하여 "Paul's Diner는 맛있는 햄버거를 제공하는 레스토랑이다"라는 텍스트를 식별할 수 있다. 자원 식별 엔진(220)은 상기 요청에 포함된 문서 객체 모델을 파싱(분석)함으로써 추가적으로 또는 대안적으로 텍스트를 추출할 수 있다. 예를 들어, 자원 식별 엔진(220)은 텍스트 "Paul's Diner가 맛있는 햄버거를 제공하는 레스토랑"을 식별하도록 상기 모델을 파싱(분석)할 수 있다. 일부 구현 예에서, 자원 식별 엔진(220)은 상기 스크린 샷 내의 상기 텍스트의 외관을 더 결정할 수 있다. 예를 들어, 자원 식별 엔진(220)은 스크린 샷 또는 문서 객체 모델에 기초하여 텍스트의 크기, 컬러, 폰트, 위치 또는 다른 포맷팅 중 하나 이상을 결정할 수 있다. 이미지의 경우, 자원 식별 엔진(220)은 텍스트, 객체 등을 식별하기 위해 상기 이미지의 시각적 분석을 수행할 수 있다.
자원 식별 엔진(220)은 일부 구현 예에서, 아이템 지식 그래프(item knowledge graph)를 사용하여 상기 추출된 텍스트로부터 더 많은 검색 아이템을 식별할 수 있다. 예를 들어, 자원 식별 엔진(220)은 웹 페이지 내의 텍스트 "Paul's Diner"가 아이템 지식 그래프에서 레스토랑 "Paul's Diner"의 이름과 일치하고, 웹 페이지의 텍스트 "Burger"가 아이템 지식 그래프에서 음식 아이템 "Burger"의 이름과 일치함을 식별할 수 있다. 상기 아이템 지식 그래프는 검색 아이템들에 대한 노드들, 그 노드들 사이의 관계를 나타내는 에지들 및 그 노드들에 의해 표현된 검색 아이템들을 기술하는 컨텍스트 정보를 포함하는 지식 그래프일 수 있다.
부가적으로 또는 대안으로, 자원 식별 엔진(220)은 검색 질의 로그를 사용하여 상기 식별된 검색 아이템들로부터 자원을 식별할 수 있다. 예를 들어, 자원 식별 엔진(220)은 레스토랑 "Paul's Diner"를 식별 할 수 있고, 응답으로 검색 질의 로그들을 분석하여 레스토랑 "Paul's Diner"에 관한 대중적인(popular) 질의들을 식별한 다음 대중적인 질의에들 응답하는 자원을 식별할 수 있다. 또는 "Paul's Diner" 엔티티를 질의 자체로 사용하여 자원을 식별할 수 있다. 다른 예에서, 자원 식별 엔진(220)은 레스토랑 "Paul's Diner"를 식별할 수 있고, 그에 응답하여 검색 질의 로그들을 분석하여 레스토랑 "Paul's Diner"에 관한 질의들을 식별하고, 그 레스토랑에 관한 질의들에 가장 자주 응답하는 자원들을 식별할 수 있다. 부가적으로 또는 대안으로, 자원 식별 엔진(220)은 활성 자원의 소스에 기초하여 활성 자원과 관련된 자원들을 식별할 수 있다.
예를 들어, 자원 식별 엔진은 상기 요청이 활성 자원의 소스가 특정 URL을 갖는 웹 페이지라는 표시를 포함하는 것으로 결정할 수 있고, 이에 응답하여 특정 URL을 갖는 웹 페이지를 보는 사용자가 자주 보는 다른 자원들을 식별할 수 있다. 자원 식별 엔진(220)은 자원들에 대한 관련 점수들을 결정하는 것에 기초하여 자원들을 식별할 수 있다. 상기 자원에 대한 관련 점수들은 상기 자원이 활성 자원을 보는 사용자에게 관심을 가질 것이라는 신뢰도 정도를 나타낸다. 예를 들어, 자원 식별 엔진(220)은 활성 자원이 레스토랑 "Paul's Diner"에 관한 기사일 때 레스토랑 "Paul's Diner"에 대한 웹 사이트의 홈 페이지에 대해 95%의 관련 점수를 결정할 수 있고, 활발한 자원이 "burgers" 텍스트를 포함하는 레스토랑 "Paul's Diner"에 관한 기사일 때 음식 "Burgers"에 대한 기사에 대해 75%의 관련 점수를 결정할 수 있다. 자원 식별 엔진(220)은 관련 임계치를 만족시키는 자원들을 식별할 수 있다. 예를 들어, 자원 식별 엔진(220)은 관련도 점수(relevance score)가 75%, 85%, 90% 또는 몇몇 다른 임계치를 초과하는 자원들을 식별할 수 있다.
사용자 참여 엔진(230)은 식별 엔진(220)으로부터 식별된 자원들을 기술하는 데이터를 수신하고, 자원들에 각각에 대한 사용자 참여의 측정치를 결정한다. 자원에 대한 사용자 참여의 측정치는 하나 이상의 사용자가 자원의 참여를 반영할 수 있다. 예를 들어, 자주 본 트렌드 웹 페이지는 자주 보지 않는 인기없는 웹 페이지보다 더 큰 참여를 할 수 있다. 특정 예에서, 사용자 참여 엔진(230)은 자원 식별 엔진(220)에 의해 "Paul's Diner Resource A", "Paul's Diner Resource B", "Burgers Resource A" 및 "Burgers Resource B"가 식별된다는 표시를 수신하고, 사용자가 높은 비율로 자원에 참여한다는 것을 나타내는 "Paul's Diner Resource A"의 사용자 참여의 측정치(참여도)를 70%로 결정하고, 사용자가 중간 비율로 자원에 참여한다는 것을 나타내는 "Paul's Diner Resource B"의 사용자 참여도를 50%로 결정하고, 사용자가 높은 비율로 자원에 참여한다는 것을 나타내는 "Burger Resource A"에 대해 90%의 사용자 참여도를 결정하고, 사용자가 낮은 비율로 자원에 참여한다는 것을 나타내는 "Burger Resource B"에 대한 사용자 참여도를 30%로 결정할 수 있다.
사용자 참여 엔진(230)은 자원에 대한 요청을 나타내는 로그들(logs)에 기초하여 자원에 대한 참여도를 결정할 수 있다. 예를 들어, 사용자 참여 엔진(230)은 "Paul's Diner Resource A"의 식별정보를 수신할 수 있고, 마지막 날, 주, 달 또는 다른 기간에 "Paul's Diner Resource A"에 액세스한 횟수를 로그로부터 결정하고, 그 횟수에 기초하여 70%의 사용자 참여도를 결정할 수 있다. 일부 구현 예에서, 상기 로그는 검색 결과 페이지에 제공된 내비게이션 링크들을 사용하여 요청된 자원을 나타내는 검색 질의 로그들 중 하나 이상을 포함하거나, 웹 브라우저 애플리케이션, 비디오 재생 애플리케이션 또는 몇몇 다른 애플리케이션과 같은 애플리케이션에 의해 제공되는 자원에 대한 요청을 나타내는 애플리케이션 로그들 중 하나 이상을 포함할 수 있다.
사용될 수 있는 다른 사용자 참여도는 활성 자원과 함께 동시 발생한다. 예를 들어, "Paul's Diner Resource A", "Paul's Diner Resource B", "Burgers Resource A" 및 "Burgers Resource B"의 네 가지 자원을 가정하고, 사용자 장치의 활성 자원인 "Paul's Diner Resource B"는 "Paul's Diner Resource A", "Burgers Resource A" 및 "Burgers Resource B"의 자원과 관련하여 다음에 가장 자주 선택되는 것으로 가정한다. 이 상황에서 "Paul's Diner Resource B"는 사용자 참여도가 가장 높다.
다른 유형의 사용자 참여가 또한 자원을 선택하는데 사용될 수 있다.
자원 선택 엔진(240)은 다수의 자원에 대한 사용자 참여도를 획득하고, 사용자에게 추천할 하나 이상의 자원을 선택할 수 있다. 예를 들어, 자원 선택 엔진(240)은 70%의 사용자 참여도로 표시된 "Paul's Diner Resource A", 50%의 사용자 참여도로 표시된 "Paul's Diner Resource B", 90%의 사용자 참여도로 표시된 "Burgers Resource A", 30%의 사용자 참여도로 표시된 "Burgers Resource B"의 식별정보를 수신하고, 이에 대한 응답으로 "Paul's Diner Resource A", "Paul's Diner Resource B" 및 "Burgers Resource A"에 대한 추천사항을 제공하도록 선택하고, 추천사항을 제공하기 위해 "Burgers Resource B"를 선택하지 않을 수 있다.
자원 선택 엔진(240)은 자원이 참여 임계치를 만족시키는 각각의 참여도를 갖는지 여부를 결정하는 것에 기초하여 자원을 선택할 수 있다. 예를 들어, 자원 선택 엔진(240)은 70%의 사용자 참여도가 50%, 55%, 65% 또는 일부 다른 70% 미만인 참여 임계치보다 크므로 "Paul's Diner Resource A"를 선택할 수 있다. 다른 예에서, 자원 선택 엔진(240)은 30%의 사용자 참여도가 50%, 55%, 65% 또는 30%를 초과하는 어떤 다른 비율의 참여 임계치보다 낮기 때문에 "Burgers Resource B"를 선택할 수 없다.
일부 구현 예에서, 자원 선택 엔진(240)은 추가적으로 또는 대안적으로 최대 개수에 기초하여 자원을 선택할 수 있다. 예를 들어, 자원 선택 엔진(240)은 최대 하나, 둘, 네 또는 일부 다른 자원을 선택하고, 최대 참여도를 반영하는 사용자 참여도로 자원의 최대 수를 선택할 수 있다. 일부 구현 예에서, 자원 선택 엔진(240)은 추가적으로 또는 대안적으로 최소치에 기초하여 자원을 선택할 수 있다. 예를 들어, 자원 선택 엔진(240)은 최대 참여도를 반영하는 사용자 참여도로 최소 하나, 둘, 네 또는 일부 다른 자원을 선택할 수 있다.
일부 구현 예에서, 자원 식별 엔진(220)은 자원 식별 엔진(220)에 의해 결정된 관련 점수들에 기초하여 검색 아이템들을 추가로 선택할 수 있다. 예를 들어, 자원 선택 엔진(240)은 낮은 신뢰도를 반영하는 자원에 대한 관련 점수들이 낮은 수준의 참여를 반영하기 위해 해당 자원에 해당하는 사용자 참여도에 가중치를 부여하도록 관련 점수들에 기초하여 자원에 대한 사용자 참여도에 가중치를 부여할 수 있다. 반대로, 자원 선택 엔진(240)은 높은 신뢰도를 반영하는 자원에 대한 관련 점수들이 높은 수준의 참여를 반영하기 위해 해당 자원에 해당하는 사용자 참여도에 가주치를 부여하도록 관련 점수들에 기초하여 자원에 대한 사용자 참여도에 가중치를 부여할 수 있다. 자원 식별 엔진(220)은 활성 자원의 소스에 기초하여 사용자 참여도에 대한 관련 점수들의 가중치를 증가시킬 수 있다. 예를 들어, 자원 식별 엔진(220)은 요청이 활성 자원의 소스가 엔터테인먼트 목적을 위한 콘텐트를 제공하는 특정 웹 사이트로부터의 웹 페이지라는 표시를 포함하는 것으로 결정할 수 있고, 이에 대한 응답으로 관련성(relevance)이 덜 중요하므로 사용자 참여도에대한 관련 점수들의 가중치를 감소시킬 수 있다. 다른 예에서, 자원 식별 엔진(220)은 상기 요청이 활성 자원의 소스가 교육 콘텐트를 제공하는데 중점을 둔 특정 웹 사이트로부터의 웹 페이지이라는 표시를 포함하는 것으로 결정할 수 있고, 이에 대한 응답으로 관련성이 더 중요하다고 결정하여 사용자 참여도에 대한 관련점수들의 가중치를 증가시킬 수 있다.
컨텍스트 카드 제공자(250)는 선택된 자원의 표시를 획득하고, 클라이언트 컨텍스트 모듈(210)에 상기 선택된 자원에 대한 내비게이션 링크들을 포함하는 컨텍스트 카드를 제공할 수 있다. 예를 들어, 컨텍스트 카드 제공자(250)는 "Paul's Diner Resource A", "Paul's Diner Resource B" 및 "Burgers Resource A"의 식별 정보를 획득할 수 있고, 이에 대한 응답으로 "Paul's Diner Resource A", "Paul's Diner Resource B" 및 "Burgers Resource A"에 대한 내비게이션 링크들을 포함하는 컨텍스트 카드를 생성할 수 있고, 클라이언트 컨텍스트 모듈(210)에 상기 컨텍스트 카드를 제공할 수 있다.
도 3은 디스플레이된 자원에 대한 컨텍스트 정보를 제공하는 프로세스(300)의 흐름도이다. 예를 들어, 프로세스(300)는 환경(200)으로부터 컨텍스트 정보 서버(212)에 의해 사용될 수 있다.
프로세스(300)는 활성 자원과 관련된 컨텍스트 정보에 대한 질의 독립 요청을 수신하는 단계를 포함한다(310). 예를 들어, 자원 식별 엔진(220)은 (i) 기사 "San Francisco를 방문하는 주요 원인"의 웹 페이지의 텍스트 및 (ii) 텍스트가 현재 사용자 장치상에 어떻게 디스플레이되고 있는지를 정의하는 문서 객체 모델을 포함하는 요청을 수신할 수 있다. 다른 예에서, 자원 식별 엔진(220)은 사용자 장치상에 디스플레이되는 웹 페이지의 스크린 샷을 포함하는 요청을 수신할 수 있다.
프로세스(300)는 질의 독립 요청에 응답하여 활성 자원에 의해 기술된 컨텐츠를 결정하는 것을 포함한다(320). 예를 들어, 자원 식별 엔진(220)은 요청의 스크린 샷으로부터 텍스트 "San Francisco"를 추출하거나 디스플레이된 자원의 적어도 일부를 나타내는 문서 객체 모델로부터 텍스트 "San Francisco"를 추출할 수 있다.
프로세스(300)는 활성 자원에 의해 기술된 콘텐트와 관련된 다수의 자원을 식별하는 단계를 포함한다(330). 예를 들어, 자원 식별 엔진(220)은 웹 페이지 "SF Wiki Article", "Top SF To-Do", "Golden Gate Website" 및 "San Francisco Rent"를 식별할 수 있다. 다수의 자원은 활성 자원의 콘텐트로부터 검색 아이템들을 식별하고, 그 식별된 검색 아이템들로부터 자원을 식별하는 것에 기초하여 식별될 수 있다. 예를 들어, 자원 식별 엔진(220)은 스크린 샷으로부터 텍스트 "San Francisco"를 추출하고, 지식 그래프에서 텍스트 "San Francisco"가 도시 "San Francisco"에 대응한다고 결정하고, 도시 "San Francisco"와 관련된 검색 질의에 응답하는 자원을 식별할 수 있다. 부가적으로 또는 대안적으로, 다수의 자원은 활성 자원의 소스에 기초하여 식별될 수 있다. 예를 들어, 자원 식별 엔진(220)은 활성 자원이 웹 브라우저 애플리케이션에 의해 제공되고 있음을 나타내는 요청을 결정할 수 있고, 활성 자원에 대한 URL을 포함하고, 이에 응답하여 URL을 갖는 웹 페이지를 보는 사용자가 자주 보는 웹 페이지를 식별할 수 있다.
프로세스(300)는 다수의 자원에 대한 사용자 참여도를 결정하는 단계를 포함한다(340). 예를 들어, 사용자 참여 엔진(230)은 "SF Wiki Article", "Top SF To-Do", "Golden Gate Website" 및 "San Francisco Tours" 웹 페이지들의 식별정보를 수신하고, 웹 페이지 "SF Wiki Article"는 사용자 참여도가 90%이고, 웹 페이지 "Top SF To-Do"는 사용자 참여도가 70%이고, 웹 페이지 "Golden Gate Website"는 사용자 참여도가 60%이고, 웹 페이지 "San Francisco Tours"는 사용자 참여도가 40%라고 결정할 수 있다. 사용자 참여도는 자원이 요청된 횟수에 기초하여 결정될 수 있다. 예를 들어, 사용자 참여 엔진(230)은 웹 페이지 "SF Wiki Article"이 검색 결과 목록에 제공되는 시간의 90%가 클릭되었음을 나타내는 검색 질의 로그를 획득할 수 있고, 이에 응답하여 90%의 사용자 참여도를 결정할 수 있다. 다른 예에서, 사용자 참여 엔진(230)은 웹 페이지 "Top SF To-Do"가 최근에 많은 사용자에 의해 요청되었음을 나타내는 웹 브라우저 로그를 획득할 수 있고, 이에 응답하여 70%의 높은 사용자 참여도를 결정할 수 있다.
프로세스(300)는 사용자 참여도에 기초하여 자원을 선택하는 단계를 포함한다(350). 예를 들어, 자원 선택 엔진(240)은 웹 페이지에 대한 사용자 참여도가 50%의 참여 임계치 이상이므로 "SF Wiki Article", "Top SF To-Do" 및 "Golden Gate Website"의 웹 페이지를 선택할 수 있고, 웹 페이지에 대한 사용자 참여도가 50%의 참여 임계치 미만이므로 'San Francisco Tours' 웹 페이지를 선택할 수 없다.
프로세스(300)는 선택된 자원 각각에 대해 내비게이션 링크를 제공하는 단계를 포함한다(360). 예를 들어, 컨텍스트 카드 제공자(250)는 웹 페이지 "SF Wiki Article"에 대한 제1 내비게이션 링크, 웹 페이지 "Top SF To-Do"에 대한 제2 내비게이션 링크 및 웹 페이지 "Golden Gate Website"에 대한 제3 내비게이션 링크를 포함하는 컨텍스트 카드를 생성할 수 있다.
일부 구현 예에서, 프로세스(300)는 추가 단계, 적은 단계 또는 일부 단계가 다중 단계로 분할될 수 있다. 예를 들어, 컨텍스트 정보 서버(212)는 자원에 대한 사용자 참여도에 기초하여 활성 자원과 관련된 다수의 자원을 식별할 수 있다.
여기에서 설명된 시스템이 사용자에 관한 개인 정보를 수집하거나 개인 정보를 사용할 수 있는 상황에서, 사용자는 프로그램 또는 특징이 사용자 정보(예: 사용자의 소셜 네트워크, 사회적 행동 또는 활동, 직업, 사용자의 선호도 또는 사용자의 현재 위치에 대한 정보)를 수집하는지 여부를 제어할 수 있는 기회 또는 사용자에게 보다 관련이 있는 콘텐트 서버로부터 콘텐트를 수신할지 여부 및/또는 콘텐트를 수신하는 방법을 제어할 기회를 제공받을 수 있다. 또한, 특정 데이터는 저장되거나 사용되기 전에 하나 이상의 방법으로 취급되어 개인 식별정보가 제거된다. 예를 들어, 사용자의 신원정보는 사용자에 대한 개인 식별 정보가 결정될 수 없도록, 또는 위치 정보가 획득된 사용자의 지리적 위치를 일반화하여(예를 들어, 도시, 우편 번호 또는 주 레벨(state level)) 사용자의 특정 위치가 결정될 수 없도록 처리될 수 있다. 따라서, 사용자는 사용자에 관한 정보 수집 방법 및 콘텐트 서버에 의한 사용 방법을 제어할 수 있다.
본 요지 및 본 명세서에서 설명된 동작들의 실시예들은 본 명세서에 설명된 구조들 및 그 구조적 등가물을 포함하는 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어, 또는 이들 중 하나 이상의 조합으로 구현될 수 있다. 본 명세서에 기술된 요지의 실시예들은 하나 이상의 컴퓨터 프로그램, 즉 데이터 처리 장치에 의한 실행을 위해 또는 데이터 처리 장치의 동작을 제어하기 위해 컴퓨터 저장 매체상에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈로서 구현될 수 있다. 대안으로 또는 부가적으로, 상기 프로그램 명령어들은 인위적으로 생성된 전파된 신호, 예를 들어, 데이터 처리 장치에 의한 실행을 위해 적절한 수신기 장치로의 전송을 위해 정보를 인코딩하기 위해 생성된 기계-생성 전기, 광학 또는 전자기 신호에 인코딩될 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 저장 장치, 컴퓨터 판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 장치, 또는 이들 중 하나 이상의 조합일 수 있거나 이들이 포함될 수 있다. 또한, 컴퓨터 저장 매체는 전파 신호가 아니지만, 컴퓨터 저장 매체는 인위적으로 생성된 전파 신호로 인코딩된 컴퓨터 프로그램 명령어들의 소스 또는 대상일 수 있다. 또한, 상기 컴퓨터 저장 매체는 하나 이상의 개별 물리적 컴포넌트들 또는 매체(예를 들어, 복수의 CD, 디스크 또는 다른 저장 장치)일 수 있거나 이들에 포함될 수 있다.
본 명세서에서 설명된 동작들은 하나 이상의 컴퓨터 판독 가능 저장 장치에 저장되거나 다른 소스로부터 수신된 데이터에 대해 데이터 처리 장치에 의해 수행되는 동작들로서 구현될 수 있다.
"데이터 처리 장치"라는 용어는 예를 들어 프로그램 가능 프로세서, 컴퓨터, 칩의 시스템, 또는 복수의 것들, 또는 전술한 것들의 조합을 포함하는, 데이터를 처리하기 위한 모든 종류의 장치, 디바이스들 및 기계들을 포함한다. 상기 장치는 특수 목적 논리 회로, 예를 들어 FPGA(field programmable gate array) 또는 ASIC (application specific integrated circuit)을 포함할 수 있다. 또한, 상기 장치는 하드웨어 이외에 해당 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드, 예를 들어 프로세서 펌웨어를 구성하는 코드, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스-플랫폼 런타임(cross-platform runtime) 환경, 가상 머신 또는 이들 중 하나 이상의 조합으로 구성되는 코드를 포함할 수 있다. 상기 장치 및 실행 환경은 웹 서비스들, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라와 같은 다양한 다른 컴퓨팅 모델 인프라들을 실현할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 함)은 컴파일된 또는 해석된 언어, 선언적 또는 절차적 언어를 비롯한 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 독립 실행형 프로그램 또는 모듈, 컴포넌트, 서브 루틴, 객체 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 유닛을 포함한 모든 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 해당할 수 있지만 반드시 그런 것은 아니다. 프로그램은 다른 프로그램이나 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트)를 보유하고 있는 파일의 일부분, 해당 프로그램 전용 파일 또는 여러 개의 조정 파일(예를 들어, 하나 이상의 모듈들, 하위 프로그램들 또는 코드의 부분들을 저장하는 파일들)에 저장될 수 있다. 컴퓨터 프로그램은 한 사이트에 있거나 여러 사이트에 분산되어 있으며 통신 네트워크로 상호 연결된 여러 대의 컴퓨터 또는 하나의 컴퓨터에서 실행되도록 배포될 수 있다.
본 명세서에서 설명되는 프로세스들 및 로직 흐름은 입력 데이터를 조작하고 출력을 생성함으로써 액션들을 수행하도록 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능 컴퓨터에 의해 수행될 수 있다. 상기 프로세스들 및 로직 흐름은 또한 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)과 같은 특수 목적 논리 회로에 의해 수행될 수 있고, 장치는 또한 상기 특수 목적 논리 회로로 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 컴퓨터는 예를 들어 범용 또는 특수 목적 마이크로프로세서 또는 둘 모두, 또는 임의의 종류의 하나 이상의 프로세서를 포함할 수 있다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 구성요소들은 명령어들에 따라 액션들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 데이터(예를 들어, 자기, 광 자기 디스크 또는 광 디스크)를 저장하기 위한 하나 이상의 대용량 저장 장치를 포함하거나, 그 하나 이상의 대용량 저장 장치로부터 데이터를 수신하거나 전송하기 위해 동작 가능하게 결합될 것이다. 그러나, 컴퓨터는 그러한 장치들을 가질 필요는 없다. 또한, 컴퓨터는 다른 장치, 예를 들어, 이동 전화기, 개인 휴대 정보 단말기(PDA), 이동 오디오 또는 비디오 플레이어, 게임 콘솔, GPS 수신기 또는 휴대용 저장 장치(예를 들어, 범용 직렬 버스(USB) 플래시 드라이브)에 내장될 수 있다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 장치들은 예를 들어 EPROM, EEPROM 및 플래시 메모리 장치와 같은 반도체 메모리 장치, 내부 하드 디스크 또는 이동식 디스크와 같은 자기 디스크, 광 자기 디스크, 및 CD ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 장치를 포함한다. 상기 프로세서 및 메모리는 특수 목적 논리 회로가 부가되거나 그 안에 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에서 설명된 요지의 실시예들은 사용자에게 정보를 제공하기 위한 CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터와 같은 디스플레이 장치, 사용자가 입력을 컴퓨터에 제공할 수 있는 마우스 또는 트랙볼과 같은 키보드 및 포인팅 장치를 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 장치들은 사용자와의 상호 작용을 제공하는 데 사용될 수 있으며, 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 사용자가 사용하는 장치로 문서를 보내고 문서를 수신하여 사용자와 상호 작용할 수 있으며, 예를 들어, 웹 브라우저로부터 수신된 요청에 응답하여 사용자의 클라이언트 장치상의 웹 브라우저에 웹 페이지를 전송함으로써 수행될 수 있다.
본 명세서에서 설명된 요지의 실시예들은 데이터 서버와 같은 백 엔드 컴포넌트; 애플리케이션 서버와 같은 미들웨어 컴포넌트; 예를 들어 관계 그래픽 사용자 인터페이스 또는 사용자가 본 명세서에 설명된 요지의 구현예와 상호 작용할 수 있는 웹 브라우저를 갖는 클라이언트 컴퓨터와 같은 프론트 엔트 컴포넌트; 또는 하나 이상의 백 엔드, 미들웨어, 프론트 엔트 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 상기 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호 접속될 수 있다. 예시적인 통신 네트워크는 근거리 통신망("LAN") 및 광역 통신망("WAN"), 인터넷 간 네트워크(예를 들어, 인터넷) 및 P2P 네트워크(예를 들어, 애드혹 P2P 네트워크를 포함한다.
상기 컴퓨팅 시스템은 클라이언트들과 서버들을 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며, 일반적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들로 인해 발생한다. 일부 실시예들에서, 서버는 클라이언트 장치에 데이터(예를 들어, HTML 페이지)를 송신한다(예를 들어, 클라이언트 장치와 상호 작용하는 사용자에게 데이터를 표시하고 사용자 입력을 수신하기 위한 목적으로). 클라이언트 장치에서 생성된 데이터(예를 들어, 사용자 상호 작용의 결과)는 서버의 클라이언트 장치로부터 수신될 수 있다.
이러한 유형의 컴퓨터의 일례가 도 4에 도시되어있으며, 도 4는 일반적인 컴퓨터 시스템(400)의 개략도이다. 시스템(400)은 일 실시 예에 따라, 앞서 설명된 임의의 컴퓨터로 구현되는 방법과 관련하여 설명된 동작을 위해 사용될 수 있다. 시스템(400)은 프로세서(410), 메모리(420), 저장 장치(430) 및 입/출력 장치(440)를 포함한다. 구성요소들(410, 420, 430 및 440) 각각은 시스템 버스(450)를 사용하여 상호 접속된다. 프로세서(410)는 시스템(400) 내의 실행을 위한 명령어들을 처리할 수 있다. 일 구현에서, 프로세서(410)는 단일 스레드 프로세서이다. 다른 구현에서, 프로세서(410)는 멀티 스레드 프로세서이다. 프로세서(410)는 메모리(420) 또는 저장 장치(430)에 저장된 명령어들을 처리하여 입/출력 장치(440)상의 사용자 인터페이스에 대한 그래픽 정보를 디스플레이할 수 있다.
메모리(420)는 시스템(400) 내의 정보를 저장한다. 일 구현예에서, 메모리(420)는 컴퓨터 판독 가능 매체이다. 일 구현예에서, 메모리(420)는 휘발성 메모리 유닛이다. 다른 구현예에서, 메모리(420)는 비 휘발성 메모리 유닛이다.
저장 장치(430)는 시스템(400)을 위한 대용량 저장 장치를 제공할 수 있다. 일 구현예에서, 저장 장치(430)는 컴퓨터 판독 가능 매체이다. 다양한 다른 구현예에서, 저장 장치(430)는 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치 또는 테이프 장치일 수 있다.
입/출력 장치(440)는 시스템(400)에 대한 입력/출력 동작을 제공한다. 일 실시 예에서, 입/출력 장치(440)는 키보드 및/또는 포인팅 장치를 포함한다. 다른 구현 예에서, 입/출력 장치(440)는 그래픽 사용자 인터페이스를 디스플레이하기 위한 디스플레이 유닛을 포함한다.
본 명세서는 다수의 특정 구현 세부 사항을 포함하지만, 이들은 임의의 발명 또는 청구될 수 있는 범위에 대한 제한으로서 해석되어서는 안되며, 오히려 특정 발명의 특정 실시예에 특정될 수 있는 특징에 대한 설명으로 해석되어야 한다. 별도의 실시예들과 관련하여 본 명세서에서 설명되는 특정 특징들은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예의 콘텍스트에서 설명된 다양한 특징들은 또한 다수의 실시예에서 개별적으로 또는 임의의 적합한 서브조합으로 구현될 수 있다. 더욱이, 특징들은 소정의 조합으로 작용하고 상술한 바와 같이 초기에 청구된 것으로서 설명될 수 있지만, 청구된 조합의 하나 이상의 특징이 어떤 경우 그 조합으로부터 제거될 수 있고, 그 청구된 조합은 서브조합 또는 그 서브조합의 변형을 지향할 수 있다.
유사하게, 동작들이 특정 순서로 도면들에 도시되어 있지만, 이는 바람직한 동작들을 달성하기 위해, 그러한 동작들이 도시된 순서 또는 순차적인 순서로 수행되거나, 도시된 모든 동작들이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 특정 상황에서 멀티 태스킹 및 병렬 처리가 유리할 수 있다. 또한, 상술한 실시 예에서 다양한 시스템 모듈 및 컴포넌트의 분리는 모든 실시예에서 그러한 분리를 필요로 하는 것으로 이해되어서는 안되며, 서술된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품에 함께 통합되거나 다중 소프트웨어 제품들로 패키징될 수 있다는 것을 이해해야 한다.
따라서, 본 요지의 특정 실시예들이 설명되었다. 다른 실시예들은 다음의 청구항들의 범위 내에 있다. 예를 들어, 청구 범위에 열거된 동작들은 상이한 순서로 수행될 수 있으며 여전히 바람직한 결과를 달성한다. 하나의 예로서, 첨부된 도면에 도시된 프로세스는 바람직한 결과를 얻기 위해 도시된 특정 순서 또는 순차적 순서를 반드시 필요로 하지는 않는다. 특정 구현예들에서, 멀티태스킹 및 병렬 처리가 유리할 수 있다.

Claims (20)

  1. 데이터 처리 장치에서 구현되는 방법으로서,
    사용자 장치로부터, 상기 사용자 장치상의 애플리케이션 환경에 디스플레이된 활성 자원과 관련된 컨텍스트 정보에 대한 질의 독립 요청(query-independent request)을 수신하는 단계;
    상기 질의 독립 요청에 응답하여 상기 활성 자원에 의해 기술된 콘텐트를 결정하는 단계;
    상기 질의 독립 요청에 응답하여, 상기 활성 자원에 의해 기술된 상기 콘텐트와 관련된 다수의 자원들을 식별하는 단계 -상기 식별하는 단계는, 검색 아이템들에 대한 노드들, 상기 노드들 간의 관계를 나타내는 에지들 및 상기 노드들이 나타내는 상기 검색 아이템들을 기술하는 컨텍스트 정보를 포함하는 아이템 지식 그래프(item knowledge graph)를 사용하여 상기 활성 자원에 의해 기술된 상기 콘텐트로부터 다수의 검색 아이템들을 식별하는 단계; 그리고 상기 활성 자원에 관련된 상기 다수의 자원들로서 상기 다수의 검색 아이템들에 관련된 다수의 자원들을 식별하는 단계를 포함함-;
    상기 다수의 자원들의 각각의 자원에 대해, 하나 이상의 사용자들에 의한 상기 자원의 참여를 반영하는 사용자 참여도를 결정하는 단계;
    상기 다수의 자원들에 대한 사용자 참여도에 기초하여 상기 다수의 자원들 중 하나 이상을 선택하는 단계; 그리고
    상기 활성 자원과 함께 디스플레이하기 위한 사용자 인터페이스 요소를 상기 사용자 장치에 제공하는 단계를 포함하며,
    상기 사용자 인터페이스 요소의 디스플레이가 상기 애플리케이션 환경에 디스플레이된 상기 활성 자원상에 중첩되며, 상기 사용자 인터페이스 요소는 선택시 상기 사용자 장치로 하여금 상기 각각의 자원을 요청하게 하는 상기 선택된 다수의 자원들 각각에 대한 내비게이션 링크들을 포함하는 것을 특징으로 하는 데이터 처리 장치에서 구현되는 방법.
  2. 제 1 항에있어서,
    사용자 장치로부터, 상기 사용자 장치상의 애플리케이션 환경에 디스플레이된 활성 자원과 관련된 컨텍스트 정보에 대한 질의 독립 요청을 수신하는 단계는,
    상기 사용자 장치로부터, 사용자에 의해 입력된 하나 이상의 질의어들을 포함하지 않는 질의 독립 요청을 수신하는 단계를 포함하는 것을 특징으로 하는 데이터 처리 장치에서 구현되는 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 질의 독립 요청에 응답하여, 상기 활성 자원에 의해 기술된 상기 콘텐트와 관련된 다수의 자원들을 식별하는 단계는,
    상기 활성 자원과 관련된 상기 다수의 자원들로서 상기 활성 자원을 보는 사용자들이 자주 보는 다수의 자원들을 식별하는 단계를 포함하는 것을 특징으로 하는 데이터 처리 장치에서 구현되는 방법.
  4. 제3항에 있어서,
    상기 질의 독립 요청에 응답하여, 상기 활성 자원에 의해 기술된 상기 콘텐트와 관련된 다수의 자원들을 식별하는 단계는,
    상기 활성 자원의 소스를 결정하는 단계; 그리고
    적어도 상기 사용자 참여도, 상기 활성 자원의 콘텐트로부터 식별된 아이템들을 검색하기 위한 상기 다수의 자원들의 관련도(relevance measures), 및 상기 활성 자원의 소스에 기초하여 상기 다수의 자원들 중 하나 이상을 선택하는 단계를 포함하는 것을 특징으로 하는 데이터 처리 장치에서 구현되는 방법.
  5. 제1항에 있어서,
    상기 다수의 자원들의 각각의 자원에 대해, 하나 이상의 사용자들에 의한 상기 자원의 참여를 반영하는 사용자 참여도를 결정하는 단계는,
    상기 자원이 요구되는 횟수에 기초하여 사용자 참여도를 결정하는 단계를 포함하는 것을 특징으로 하는 데이터 처리 장치에서 구현되는 방법.
  6. 제1항에 있어서,
    상기 다수의 자원들에 대한 사용자 참여도에 기초하여 상기 다수의 자원들 중 하나 이상을 선택하는 단계는,
    상기 활성 자원 내의 콘텐트로부터 식별된 다수의 자원들의 관련 점수들 및 사용자 참여도에 적어도 기초하여 상기 다수의 자원들 중 하나 이상을 선택하는 단계를 포함하는 것을 특징으로 하는 데이터 처리 장치에서 구현되는 방법.
  7. 제1항에 있어서,
    상기 자원은 웹 페이지, 애플리케이션 페이지 또는 텍스트 대화 중 하나 이상을 포함하는 것을 특징으로 하는 데이터 처리 장치에서 구현되는 방법.
  8. 시스템으로서,
    데이터 처리 장치; 그리고
    상기 데이터 처리 장치와 데이터 통신하고, 상기 데이터 처리 장치에 의해 실행 가능한 명령어들을 저장하고, 상기 실행시에 상기 데이터 처리 장치로 하여금 동작들을 수행하게 하는 비-일시적인 컴퓨터 판독 가능 저장 매체를 포함하며, 상기 동작들은,
    사용자 장치로부터, 상기 사용자 장치상의 애플리케이션 환경에 디스플레이된 활성 자원과 관련된 컨텍스트 정보에 대한 질의 독립 요청을 수신하는 동작;
    상기 질의 독립 요청에 응답하여 상기 활성 자원에 의해 기술된 콘텐트를 결정하는 동작;
    상기 질의 독립 요청에 응답하여, 상기 활성 자원에 의해 기술된 상기 콘텐트와 관련된 다수의 자원들을 식별하는 동작 -상기 식별하는 동작은, 검색 아이템들에 대한 노드들, 상기 노드들 간의 관계를 나타내는 에지들 및 상기 노드들이 나타내는 상기 검색 아이템들을 기술하는 컨텍스트 정보를 포함하는 아이템 지식 그래프(item knowledge graph)를 사용하여 상기 활성 자원에 의해 기술된 상기 콘텐트로부터 다수의 검색 아이템들을 식별하는 단계; 그리고 상기 활성 자원에 관련된 상기 다수의 자원들로서 상기 다수의 검색 아이템들에 관련된 다수의 자원들을 식별하는 동작을 포함함-;
    상기 다수의 자원들의 각각의 자원에 대해, 하나 이상의 사용자들에 의한 상기 자원의 참여를 반영하는 사용자 참여도를 결정하는 동작;
    상기 다수의 자원들에 대한 사용자 참여도에 기초하여 상기 다수의 자원들 중 하나 이상을 선택하는 동작; 그리고
    상기 활성 자원과 함께 디스플레이하기 위한 사용자 인터페이스 요소를 상기 사용자 장치에 제공하는 동작를 포함하며,
    상기 사용자 인터페이스 요소의 디스플레이가 상기 애플리케이션 환경에 디스플레이된 상기 활성 자원상에 중첩되며,
    상기 사용자 인터페이스 요소는 선택시 상기 사용자 장치로 하여금 상기 각각의 자원을 요청하게 하는 상기 선택된 다수의 자원들 각각에 대한 내비게이션 링크들을 포함하는 것을 특징으로 하는 시스템.
  9. 제8항에 있어서,
    사용자 장치로부터, 상기 사용자 장치상의 애플리케이션 환경에 디스플레이된 활성 자원과 관련된 컨텍스트 정보에 대한 질의 독립 요청을 수신하는 동작은,
    상기 사용자 장치로부터, 사용자에 의해 입력된 하나 이상의 질의어들을 포함하지 않는 질의 독립 요청을 수신하는 동작을 포함하는 것을 특징으로 하는 시스템.
  10. 제8항 또는 제9항에 있어서,
    상기 질의 독립 요청에 응답하여, 상기 활성 자원에 의해 기술된 상기 콘텐트와 관련된 다수의 자원들을 식별하는 동작은,
    상기 활성 자원과 관련된 상기 다수의 자원들로서 상기 활성 자원을 보는 사용자들이 자주 보는 다수의 자원들을 식별하는 동작을 포함하는 것을 특징으로 하는 시스템.
  11. 제10항에 있어서,
    상기 질의 독립 요청에 응답하여, 상기 활성 자원에 의해 기술된 상기 콘텐트와 관련된 다수의 자원들을 식별하는 동작은,
    상기 활성 자원의 소스를 결정하는 동작; 그리고
    적어도 상기 사용자 참여도, 상기 활성 자원의 콘텐트로부터 식별된 아이템들을 검색하기 위한 상기 다수의 자원들의 관련도, 및 상기 활성 자원의 소스에 기초하여 상기 다수의 자원들 중 하나 이상을 선택하는 동작을 포함하는 것을 특징으로 하는 시스템.
  12. 제8항에 있어서,
    상기 다수의 자원들의 각각의 자원에 대해, 하나 이상의 사용자들에 의한 상기 자원의 참여를 반영하는 사용자 참여도를 결정하는 동작은,
    상기 자원이 요구되는 횟수에 기초하여 사용자 참여도를 결정하는 동작을 포함하는 것을 특징으로 하는 시스템.
  13. 제8항에 있어서,
    상기 다수의 자원들에 대한 사용자 참여도에 기초하여 상기 다수의 자원들 중 하나 이상을 선택하는 동작은,
    상기 활성 자원 내의 콘텐트로부터 식별된 다수의 자원들의 관련 점수들 및 사용자 참여도에 적어도 기초하여 상기 다수의 자원들 중 하나 이상을 선택하는 단계를 포함하는 것을 특징으로 하는 시스템.
  14. 제8항에 있어서,
    상기 자원은 웹 페이지, 애플리케이션 페이지 또는 텍스트 대화 중 하나 이상을 포함하는 것을 특징으로 하는 시스템.
  15. 데이터 처리 장치에 의해 실행 가능한 명령어들을 저장하고, 상기 실행시에 상기 데이터 처리 장치로 하여금 동작들을 수행하게 하는 비-일시적 컴퓨터 판독 가능 저장 매체로서, 상기 동작들은,
    사용자 장치로부터, 상기 사용자 장치상의 애플리케이션 환경에 디스플레이된 활성 자원과 관련된 컨텍스트 정보에 대한 질의 독립 요청을 수신하는 동작;
    상기 질의 독립 요청에 응답하여 상기 활성 자원에 의해 기술된 콘텐트를 결정하는 동작;
    상기 질의 독립 요청에 응답하여, 상기 활성 자원에 의해 기술된 상기 콘텐트와 관련된 다수의 자원들을 식별하는 동작 -상기 식별하는 동작은, 검색 아이템들에 대한 노드들, 상기 노드들 간의 관계를 나타내는 에지들 및 상기 노드들이 나타내는 상기 검색 아이템들을 기술하는 컨텍스트 정보를 포함하는 아이템 지식 그래프(item knowledge graph)를 사용하여 상기 활성 자원에 의해 기술된 상기 콘텐트로부터 다수의 검색 아이템들을 식별하는 단계; 그리고 상기 활성 자원에 관련된 상기 다수의 자원들로서 상기 다수의 검색 아이템들에 관련된 다수의 자원들을 식별하는 동작을 포함함-;
    상기 다수의 자원들의 각각의 자원에 대해, 하나 이상의 사용자들에 의한 상기 자원의 참여를 반영하는 사용자 참여도를 결정하는 동작;
    상기 다수의 자원들에 대한 사용자 참여도에 기초하여 상기 다수의 자원들 중 하나 이상을 선택하는 동작; 그리고
    상기 활성 자원과 함께 디스플레이하기 위한 사용자 인터페이스 요소를 상기 사용자 장치에 제공하는 동작를 포함하며,
    상기 사용자 인터페이스 요소의 디스플레이가 상기 애플리케이션 환경에 디스플레이된 상기 활성 자원상에 중첩되며,
    상기 사용자 인터페이스 요소는 선택시 상기 사용자 장치로 하여금 상기 각각의 자원을 요청하게 하는 상기 선택된 다수의 자원들 각각에 대한 내비게이션 링크들을 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 저장 매체.
  16. 제15항에 있어서,
    사용자 장치로부터, 상기 사용자 장치상의 애플리케이션 환경에 디스플레이된 활성 자원과 관련된 컨텍스트 정보에 대한 질의 독립 요청을 수신하는 동작은,
    상기 사용자 장치로부터, 사용자에 의해 입력된 하나 이상의 질의어들을 포함하지 않는 질의 독립 요청을 수신하는 동작을 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 저장 매체.
  17. 제15항 또는 제16항에 있어서,
    상기 질의 독립 요청에 응답하여, 상기 활성 자원에 의해 기술된 상기 콘텐트와 관련된 다수의 자원들을 식별하는 동작은,
    상기 활성 자원에 의해 기술된 상기 콘텐트로부터 다수의 검색 아이템들을 식별하는 동작; 그리고
    상기 활성 자원에 관련된 상기 다수의 자원들로서 상기 다수의 검색 아이템들에 관련된 다수의 자원들을 식별하는 동작을 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 저장 매체.
  18. 제15항 또는 제16항에 있어서,
    상기 질의 독립 요청에 응답하여, 상기 활성 자원에 의해 기술된 상기 콘텐트와 관련된 다수의 자원들을 식별하는 동작은,
    상기 활성 자원과 관련된 상기 다수의 자원들로서 상기 활성 자원을 보는 사용자들이 자주 보는 다수의 자원들을 식별하는 동작을 포함하는 것을 특징으로 하는 비-일시적 컴퓨터 판독 가능 저장 매체.
  19. 삭제
  20. 삭제
KR1020197002062A 2016-06-22 2016-12-02 컨텍스트 정보 제공 시스템 및 방법 KR102148968B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/189,523 US10152521B2 (en) 2016-06-22 2016-06-22 Resource recommendations for a displayed resource
US15/189,523 2016-06-22
PCT/US2016/064633 WO2017222585A1 (en) 2016-06-22 2016-12-02 Systems and methods for providing contextual information

Publications (2)

Publication Number Publication Date
KR20190022687A KR20190022687A (ko) 2019-03-06
KR102148968B1 true KR102148968B1 (ko) 2020-08-28

Family

ID=57570466

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197002062A KR102148968B1 (ko) 2016-06-22 2016-12-02 컨텍스트 정보 제공 시스템 및 방법

Country Status (6)

Country Link
US (1) US10152521B2 (ko)
EP (1) EP3475839A1 (ko)
JP (1) JP6956119B2 (ko)
KR (1) KR102148968B1 (ko)
CN (1) CN109804368A (ko)
WO (1) WO2017222585A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10467300B1 (en) * 2016-07-21 2019-11-05 Google Llc Topical resource recommendations for a displayed resource
JP7183077B2 (ja) * 2019-02-28 2022-12-05 ヤフー株式会社 情報処理装置、情報処理方法、およびプログラム
US11398164B2 (en) * 2019-05-23 2022-07-26 Microsoft Technology Licensing, Llc Providing contextually relevant information for ambiguous link(s)
US20220292144A1 (en) * 2019-12-06 2022-09-15 Google Llc Provision of different content pages based on varying user interactions with a single content item
KR20210143608A (ko) * 2020-05-20 2021-11-29 삼성전자주식회사 컴퓨팅 장치 및 그 동작 방법
CN114077713A (zh) * 2020-08-11 2022-02-22 华为技术有限公司 内容推荐方法、电子设备和服务器
CN112035717A (zh) * 2020-09-02 2020-12-04 京东数字科技控股股份有限公司 信息处理方法、装置、设备及存储介质
CN116089730B (zh) * 2023-04-07 2023-06-30 深圳市活力天汇科技股份有限公司 一种旅游行程的推荐方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110243655A1 (en) 2008-12-12 2011-10-06 Hans Und Ottmar Binder Gbr Distance device and fastening system having distance device
US20140143243A1 (en) 2010-06-28 2014-05-22 Yahoo! Inc. Infinite browse
WO2016061102A1 (en) 2014-10-14 2016-04-21 Google Inc. Assistive browsing using context

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001167111A (ja) * 1999-12-09 2001-06-22 Sharp Corp 情報収集装置および方法、ならびに関連情報データベース構築方法
US20010053968A1 (en) 2000-01-10 2001-12-20 Iaskweb, Inc. System, method, and computer program product for responding to natural language queries
US7389181B2 (en) 2004-08-31 2008-06-17 Visre, Inc. Apparatus and method for producing video drive-by data corresponding to a geographic location
US7996419B2 (en) 2004-03-31 2011-08-09 Google Inc. Query rewriting with entity detection
US8606781B2 (en) 2005-04-29 2013-12-10 Palo Alto Research Center Incorporated Systems and methods for personalized search
US7788266B2 (en) 2005-08-26 2010-08-31 Veveo, Inc. Method and system for processing ambiguous, multi-term search queries
US20070060114A1 (en) 2005-09-14 2007-03-15 Jorey Ramer Predictive text completion for a mobile communication facility
KR100828539B1 (ko) 2005-09-20 2008-05-13 후지제롯쿠스 가부시끼가이샤 이차원 코드의 검출 방법, 검출 장치, 및 검출 프로그램을기억한 기억 매체
US7917286B2 (en) 2005-12-16 2011-03-29 Google Inc. Database assisted OCR for street scenes and other images
US7818315B2 (en) 2006-03-13 2010-10-19 Microsoft Corporation Re-ranking search results based on query log
US7818332B2 (en) 2006-08-16 2010-10-19 Microsoft Corporation Query speller
US7689613B2 (en) 2006-10-23 2010-03-30 Sony Corporation OCR input to search engine
US20080270110A1 (en) 2007-04-30 2008-10-30 Yurick Steven J Automatic speech recognition with textual content input
US8321406B2 (en) 2008-03-31 2012-11-27 Google Inc. Media object query submission and response
US8391618B1 (en) 2008-09-19 2013-03-05 Adobe Systems Incorporated Semantic image classification and search
US20110213655A1 (en) 2009-01-24 2011-09-01 Kontera Technologies, Inc. Hybrid contextual advertising and related content analysis and display techniques
US20100306249A1 (en) 2009-05-27 2010-12-02 James Hill Social network systems and methods
WO2011014979A1 (en) * 2009-08-04 2011-02-10 Google Inc. Query suggestions from documents
US9135277B2 (en) 2009-08-07 2015-09-15 Google Inc. Architecture for responding to a visual query
US9087059B2 (en) 2009-08-07 2015-07-21 Google Inc. User interface for presenting search results for multiple regions of a visual query
US8670597B2 (en) 2009-08-07 2014-03-11 Google Inc. Facial recognition with social network aiding
US8515185B2 (en) 2009-11-25 2013-08-20 Google Inc. On-screen guideline-based selective text recognition
US20110128288A1 (en) 2009-12-02 2011-06-02 David Petrou Region of Interest Selector for Visual Queries
US8977639B2 (en) 2009-12-02 2015-03-10 Google Inc. Actionable search results for visual queries
US9852156B2 (en) 2009-12-03 2017-12-26 Google Inc. Hybrid use of location sensor data and visual query to return local listings for visual query
US8392435B1 (en) 2010-04-14 2013-03-05 Google Inc. Query suggestions for a document based on user history
US9002924B2 (en) * 2010-06-17 2015-04-07 Microsoft Technology Licensing, Llc Contextual based information aggregation system
US8316019B1 (en) 2010-06-23 2012-11-20 Google Inc. Personalized query suggestions from profile trees
US9436764B2 (en) * 2010-06-29 2016-09-06 Microsoft Technology Licensing, Llc Navigation to popular search results
US8788434B2 (en) 2010-10-28 2014-07-22 Google Inc. Search with joint image-audio queries
US8473433B2 (en) 2010-11-04 2013-06-25 At&T Intellectual Property I, L.P. Systems and methods to facilitate local searches via location disambiguation
JP5574952B2 (ja) * 2010-12-28 2014-08-20 Kddi株式会社 レコメンドシステム、レコメンド方法、およびレコメンドプログラム
US20120191745A1 (en) 2011-01-24 2012-07-26 Yahoo!, Inc. Synthesized Suggestions for Web-Search Queries
US20120215533A1 (en) 2011-01-26 2012-08-23 Veveo, Inc. Method of and System for Error Correction in Multiple Input Modality Search Engines
TWI544350B (zh) 2011-11-22 2016-08-01 Inst Information Industry Input method and system for searching by way of circle
US8984012B2 (en) 2012-06-20 2015-03-17 Microsoft Technology Licensing, Llc Self-tuning alterations framework
US8935246B2 (en) 2012-08-08 2015-01-13 Google Inc. Identifying textual terms in response to a visual query
CN103412896A (zh) * 2013-07-25 2013-11-27 深圳创维-Rgb电子有限公司 浏览器资源展示的方法和系统
US9384213B2 (en) * 2013-08-14 2016-07-05 Google Inc. Searching and annotating within images
US9342567B2 (en) 2013-08-23 2016-05-17 International Business Machines Corporation Control for persistent search results and iterative searching

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110243655A1 (en) 2008-12-12 2011-10-06 Hans Und Ottmar Binder Gbr Distance device and fastening system having distance device
US20140143243A1 (en) 2010-06-28 2014-05-22 Yahoo! Inc. Infinite browse
WO2016061102A1 (en) 2014-10-14 2016-04-21 Google Inc. Assistive browsing using context

Also Published As

Publication number Publication date
EP3475839A1 (en) 2019-05-01
JP6956119B2 (ja) 2021-10-27
US10152521B2 (en) 2018-12-11
CN109804368A (zh) 2019-05-24
US20170371877A1 (en) 2017-12-28
KR20190022687A (ko) 2019-03-06
JP2019522852A (ja) 2019-08-15
WO2017222585A1 (en) 2017-12-28

Similar Documents

Publication Publication Date Title
KR102148968B1 (ko) 컨텍스트 정보 제공 시스템 및 방법
US10547571B2 (en) Message service providing method for message service linked to search service and message server and user terminal to perform the method
US10394841B2 (en) Generating contextual search presentations
KR102340228B1 (ko) 검색 서비스와 연결된 메시지 서비스를 위한 메시지 서비스 제공 방법 및 상기 메시지 서비스 제공 방법을 수행하는 메시지 서버 및 사용자 단말
KR102454954B1 (ko) 검색 동작 출력 엘리먼트에 대한 액션 표시자
US11574013B1 (en) Query recommendations for a displayed resource
CN106471497B (zh) 使用上下文的辅助浏览
US11507253B2 (en) Contextual information for a displayed resource that includes an image
CN106681598B (zh) 信息输入方法和装置
US11003667B1 (en) Contextual information for a displayed resource
US20240046964A1 (en) Video Timed Anchors
JP6162134B2 (ja) ソーシャルページのトリガー
US10467300B1 (en) Topical resource recommendations for a displayed resource
US9529936B1 (en) Search results using query hints
WO2017001944A1 (en) Method, system and computer readable memory for generating ranked search results incorporating suggests
KR20150095129A (ko) 랜덤 검색 엔진을 포함한 검색 서버
US20210232659A1 (en) Query recommendations for a displayed resource
RU2669709C9 (ru) Генерирование представлений контекстного поиска

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right