KR20240104206A - Supported search for non-document items - Google Patents

Supported search for non-document items Download PDF

Info

Publication number
KR20240104206A
KR20240104206A KR1020247021188A KR20247021188A KR20240104206A KR 20240104206 A KR20240104206 A KR 20240104206A KR 1020247021188 A KR1020247021188 A KR 1020247021188A KR 20247021188 A KR20247021188 A KR 20247021188A KR 20240104206 A KR20240104206 A KR 20240104206A
Authority
KR
South Korea
Prior art keywords
search
results
items
selected content
database
Prior art date
Application number
KR1020247021188A
Other languages
Korean (ko)
Inventor
신동익
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US18/057,427 external-priority patent/US20230214427A1/en
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20240104206A publication Critical patent/KR20240104206A/en

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/957Browsing optimisation, e.g. caching or content distillation
    • 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/2453Query optimisation
    • G06F16/24532Query optimisation of parallel queries
    • 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/901Indexing; Data structures therefor; Storage structures
    • 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/904Browsing; Visualisation therefor
    • 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/906Clustering; Classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 개시 구현예들은 가이드되는 탐색적 검색(exploratory searching)을 가능하게 하는 데이터베이스로부터 아이템을 표면화하기 위한 간소화된 지원형 검색 프로세스를 제공한다 예를 들어, 시스템은 클라이언트 디바이스로부터 선택된 컨텐츠를 수신하고, 검색 변환기를 사용하여 선택된 컨텐츠에 대한 제1 오브젝트 및 제2 오브젝트를 결정할 수 있다. 본 시스템은 제1 오브젝트를 쿼리로서 사용하여 데이터베이스에서 아이템들의 제1 검색을 수행함으로써 제1 결과들을 생성하고, 제2 오브젝트를 쿼리로서 사용하여 데이터베이스에서 아이템들의 제2 검색을 수행함으로써 제2 결과들을 생성할 수 있다. 본 시스템은 선택된 컨텐츠와 제1 오브젝트의 관련성에 기초한 제1 결과들의 제1 세트 및 선택된 컨텐츠와 제2 오브젝트의 관련성에 기초한 제2 결과들의 제2 세트를 선택할 수 있다. 본 시스템은 제1 세트 및 제2 세트를 포함하는 조합된 검색 결과를 제공할 수 있다.Implementations of the present disclosure provide a streamlined, assisted search process for surfacing items from a database to enable guided exploratory searching. For example, the system may receive selected content from a client device, search A converter can be used to determine the first object and the second object for the selected content. The system generates first results by performing a first search of items in a database using a first object as a query and generates second results by performing a second search of items in a database using a second object as a query. can be created. The system may select a first set of results based on a relationship between the selected content and the first object and a second set of second results based on the relationship between the selected content and the second object. The system may provide combined search results that include the first set and the second set.

Figure P1020247021188
Figure P1020247021188

Description

비도큐멘트 아이템의 지원형 검색Supported search for non-document items

관련 출원 상호 참조Cross-reference to related applications

본 출원은 "Assisted Searching of Non-Document Items"라는 명칭으로 2022년 11월 21일에 출원된 미국 가 특허 출원 제18/057,427호의 계속 출원이고, 이에 대한 우선권을 주장하며, 이는 "Assisted Searching of Non-Document Items"라는 명칭으로 2021년 12월 30일에 출원된 미국 가 특허 출원 제63/266,205호에 대한 우선권을 주장하며, 이들 개시는 각 전문이 본 명세서에 참조로 통합된다.This application is a continuation of, and claims priority to, U.S. Provisional Patent Application No. 18/057,427, filed on November 21, 2022, entitled “Assisted Searching of Non-Document Items.” Priority is claimed on U.S. Provisional Patent Application No. 63/266,205, entitled “Document Items,” filed on December 30, 2021, the disclosure of which is hereby incorporated by reference in its entirety.

현재, 데이터베이스에서 비도큐멘트 아이템, 이를테면 브라우저 익스텐션, 모바일 애플리케이션, 웹 애플리케이션, 카탈로그/인벤토리 아이템 등을 검색하는 것은 (1) 관련 키워드를 결정하고 제공하고, (2) 검색 결과를 스크롤하여 살펴보고 사용자가 찾기 원하는 아이템이 나열되어 있는지 여부를 식별하며, (3) 그렇지 않다면, 해결책에 도달하거나 사용자가 포기할 때까지 단계 (1) 및 (2)를 반복할 것을 사용자에게 요구한다.Currently, searching a database for non-document items, such as browser extensions, mobile applications, web applications, catalog/inventory items, etc., involves (1) determining and providing relevant keywords, and (2) scrolling through the search results to help the user. (3) Identify whether the item you want to find is listed, and (3) if not, ask the user to repeat steps (1) and (2) until a solution is reached or the user gives up.

본 개시 구현예들은 가이드되는 탐색적 검색(exploratory searching)을 가능하게 하는 데이터베이스로부터 아이템을 표면화하기 위한 간소화된 지원형 검색 프로세스(assisted search process)를 제공한다 본 개시 시스템은 사용자가 선택된 컨텐츠로부터의 검색을 트리거할 수 있게 하는 인터페이스를 포함한다 예를 들어, 인터페이스는 사용자가 컨텐츠를 컨트롤 상으로 선택, 드래그, 및 드롭할 수 있게 할 수 있으며(예를 들어, 액션가능한 아이콘/버튼), 이는 드롭을, 예를 들어, 선택된 컨텐츠에 기초하여 개별 아이템들의 데이터 저장을 검색하기 위한 쿼리 요청으로서 해석한다. 또 다른 예로서, 사용자는 컨텐츠를 선택한 다음 컨트롤을 활성화할 수 있으며(예를 들어, 클릭, 선택), 이는 선택된 컨텐츠의 스마트 검색을 트리거한다. 선택된 콘텐츠는 텍스트, 링크 및/또는 이미지일 수 있다. 본 개시 시스템들은 컨텐츠에 의해 제안되는 오브젝트들을 식별하기 위해 컨텐츠의 분석에 기초하여 검색을 위한 키워드를 지능적으로 선택할 수 있다. 오브젝트들은 아이템들의 데이터베이스에 대한 쿼리들로서의 역할을 할 수 있는 키워드들, 토픽들, 엔티티들 등을 나타낸다. 본 개시 시스템들은 식별된 오브젝트들 중 하나, 둘, 또는 그 이상을 쿼리들로서 사용하여 데이터 저장의 검색들을 개시할 수 있다. 컨텐츠 분석은 컨텐츠에서 식별되거나 이에 의해 제안되는 오브젝트들을 데이터베이스와 관련된(이에 커스터마이징된) 키워드들로 변환하는 것을 포함할 수 있다. 두 개 이상의 오브젝트들(두 개 이상의 쿼리들)에 대한 검색들은 병렬로 수행될 수 있다. 검색들은 각 쿼리에 대해 상위 순위 아이템들을 반환할 수 있다. 신규한 병렬 검색 결과 인터페이스는 검출된 오브젝트들 및 이들의 대응하는 결과들의 사일런시(saliency) 및 컨피던스(confidence)에 기초하여, 쿼리에 의해 그룹화된 검색들로부터 상위 순위 아이템들 제시한다.Implementations of the present disclosure provide a streamlined assisted search process for surfacing items from a database to enable guided exploratory searching. The present disclosure system allows users to search from selected content. For example, an interface may allow a user to select, drag, and drop content onto a control (e.g., an actionable icon/button), which triggers the drop. , for example, interpret it as a query request to retrieve a data store of individual items based on the selected content. As another example, a user may select content and then activate a control (e.g., click, select), which triggers a smart search of the selected content. Selected content may be text, links, and/or images. The presently disclosed systems can intelligently select keywords for search based on analysis of the content to identify objects suggested by the content. Objects represent keywords, topics, entities, etc. that can serve as queries to a database of items. The presently disclosed systems can initiate searches of a data store using one, two, or more of the identified objects as queries. Content analysis may include converting objects identified in or suggested by the content into keywords associated with (customized to) the database. Searches for two or more objects (two or more queries) can be performed in parallel. Searches can return top ranking items for each query. A novel parallel search results interface presents top-ranking items from searches grouped by query, based on the saliency and confidence of detected objects and their corresponding results.

도 1은 일부 구현예들에 따른, 웹페이지에 디스플레이된 컨텐츠 및 선택된 컨텐츠 검색 컨트롤(search control)을 예시하는 다이어그램이다.
도 2a 내지 도 2d는 다양한 구현예들에 따른, 도 1의 웹페이지의 선택된 컨텐츠의 지원형 검색을 트리거하는 다양한 컨텐츠 선택을 예시한다.
도 3a 내지 도 3c는 다양한 구현예들에 따른, 다양한 지원형 검색 결과 인터페이스들을 예시한다.
도 4는 본 명세서에서 설명되는 개념들을 구현하기 위한 컴퓨팅 시스템 및 검색 서버를 예시한다.
도 5는 본 명세서에서 설명되는 개념들 중 적어도 일부를 수행하는 방법을 예시하는 흐름도이다.
도 6은 본 명세서에서 설명되는 개념들 중 적어도 일부를 수행하는 방법을 예시하는 흐름도이다.
도 7은 본 명세서에서 설명되는 기법들과 사용될 수 있는, 일반 컴퓨팅 디바이스와 일반 모바일 컴퓨팅 디바이스의 예를 도시한다.
1 is a diagram illustrating content displayed on a webpage and a selected content search control, according to some implementations.
2A-2D illustrate various content selections triggering assisted retrieval of selected content of the webpage of FIG. 1, according to various implementations.
3A-3C illustrate various supported search results interfaces, according to various implementations.
4 illustrates a computing system and search server for implementing the concepts described herein.
5 is a flow diagram illustrating a method of performing at least some of the concepts described herein.
6 is a flow diagram illustrating a method of performing at least some of the concepts described herein.
7 illustrates examples of general computing devices and general mobile computing devices that may be used with the techniques described herein.

본 개시는 사용자에 의해 입력되는 키워드들에 의해 개시되는 것이 아니라, 사용자에 의해 선택되는 웹페이지의 컨텐츠의 분석을 통해, 아이템들의 데이터베이스를 검색하는 것에 관한 것이다. 구체적으로, 웹페이지 영역이 선택될 수 있고(예를 들어, 제스처 및/또는 입력 디바이스를 사용하여 선택됨), 영역의 선택에 응답하여 선택된 영역이 검색될 수 있다. 선택된 영역은 오브젝트들에 대해 분석될 수 있다. 일부 구현예들에서, 선택된 컨텐츠와 함께 추가적인 컨텍스트가 제공될 수 있으며, 이는 오브젝트의 식별에 도움이 될 수 있다. 일부 구현예들에서, 적어도 두 개의 오브젝트들이 아이템들의 데이터베이스를 검색하기 위한 쿼리로서 제출될 수 있다. 쿼리로서 제출된 오브젝트(들)는 응답 아이템들을 찾을 가능성을 증가시키기 위해 아이템들의 데이터베이스에 대해 최적화/커스터마이징될 수 있다.The present disclosure relates to searching a database of items, not through keywords entered by a user, but through analysis of the content of web pages selected by the user. Specifically, a webpage region may be selected (e.g., selected using a gesture and/or an input device), and the selected region may be retrieved in response to selection of the region. The selected area can be analyzed for objects. In some implementations, additional context may be provided along with the selected content, which may aid in identification of the object. In some implementations, at least two objects may be submitted as a query to search a database of items. Object(s) submitted as a query may be optimized/customized against the database of items to increase the likelihood of finding response items.

본 개시 구현예들은 조합된 검색 결과 페이지를 생성하는 것을 또한 포함할 수 있다. 검색 결과 페이지는 복수의 검색 결과들을 포함하고, 브라우저의 사용자 인터페이스에 제시된다. 각 검색 결과는 쿼리에 응답하는 것으로서 식별된 아이템에 대응한다. 검색 결과는 아이템을 식별할 수 있다. 검색 결과는 아이템과 관련된 추가적인 정보(예를 들어, 아이템의 속성)를 포함할 수 있다. 이에 따라, 조합된 검색 결과 페이지는 (예를 들어, 제1 오브젝트에 대한) 제1 쿼리에 응답하는 아이템들의 세트(검색 결과들의 세트) 및 (예를 들어, 제2 오브젝트에 대한) 제2 쿼리에 응답하는 아이템들의 세트(검색 결과들의 세트)를 포함할 수 있다. 아이템들의 세트 내의 아이템들은 서로 독립적으로 순위화될 수 있다. 아이템들의 제1 세트 내의 아이템 개수는 반환된 아이템 개수, 제1 오브젝트와 연관된 컨피던스 스코어, 제1 오브젝트에 대한 사일런시 스코어, 및 제1 오브젝트와 아이템들의 관련성의 함수일 수 있다. 결과들의 제2 세트 내의 아이템 개수도 유사하게 결정될 수 있다. 일부 구현예들에서, 제2 세트 내의 아이템 개수는 또한, 다른 팩터들 외에 제1 세트 내의 아이템 개수의 함수일 수 있다. 일부 구현예들에서, 제1 세트 내의 아이템들은 (예를 들어, 풍부한 결과로서) 추가적인 정보와 함께 제공될 수 있다. 일부 구현예들에서, 제1 세트 내의 아이템들은 제2 세트 내의 아이템들보다 앞서 제시될 수 있다. 일부 구현예들에서, 조합된 검색 결과 페이지는 브라우저 내의 웹페이지의 컨텐츠를 대체할 수 있다. 일부 구현예들에서, 조합된 검색 결과 페이지는 브라우저의 또 다른 탭 내에 디스플레이될 수 있다. 일부 구현예들에서, 조합된 검색 결과 페이지는 브라우저 탭의 또 다른 창에 제시될 수 있다.Implementations of the present disclosure may also include generating a combined search results page. A search results page includes a plurality of search results and is presented in a user interface of a browser. Each search result corresponds to an item identified as answering the query. Search results can identify items. Search results may include additional information related to the item (eg, attributes of the item). Accordingly, the combined search results page is a set of items (set of search results) that respond to a first query (e.g., for a first object) and a second query (e.g., for a second object). It may contain a set of items (a set of search results) that respond to . Items within a set of items may be ranked independently of each other. The number of items in the first set of items may be a function of the number of items returned, the confidence score associated with the first object, the silence score for the first object, and the association of the items with the first object. The number of items in the second set of results may be similarly determined. In some implementations, the number of items in the second set may also be a function of the number of items in the first set in addition to other factors. In some implementations, items in the first set may be provided with additional information (e.g., as an enrichment result). In some implementations, items in the first set may be presented before items in the second set. In some implementations, the combined search results page may replace the content of a webpage within a browser. In some implementations, the combined search results page may be displayed within another tab of the browser. In some implementations, the combined search results page may be presented in another window in a browser tab.

데이터베이스에서 비도큐멘트 아이템들을 검색하는 것과 연관된 기술적인 문제는(예를 들어, 개별 아이템들) 이러한 아이템들에 인덱싱하는 데 의미 있는 텍스트가 부족할 수 있다는 것이다. 인덱싱을 위한 충분한 텍스트를 제공하는 도큐멘트들과는 달리, 비도큐멘트 아이템들, 이를테면 브라우저 익스텐션, 모바일 애플리케이션, 웹 애플리케이션, 카탈로그/인벤토리 아이템 등은 타이틀, 아이템의 간단한 설명, 및/또는 용어들/구문들을 가져와서 인덱싱할 매니페스트 파일을 가질 수 있다. 그러나, 이들 속성들은 사용자들이 검색하는 방법에 맞는 텍스트를 포함하지 않을 수 있다. 이에 따라, 사용자들이 검색하는 방법과 아이템들이 인덱싱되고 검색가능한 방법 사이에 단절이 있을 수 있다.A technical problem associated with searching non-document items in a database (e.g., individual items) is that there may be a lack of meaningful text to index these items. Unlike documents that provide sufficient text for indexing, non-document items, such as browser extensions, mobile applications, web applications, catalog/inventory items, etc., import a title, a brief description of the item, and/or terms/phrases. You can have a manifest file to index. However, these properties may not contain text that matches how users search. Accordingly, there may be a disconnect between how users search and how items are indexed and searchable.

최소한의 검색가능한 텍스트와 연관된 아이템의 데이터베이스를 검색하는 것의 이러한 기술적 문제에 대한 적어도 하나의 기술적 해결책은 검색 변환기의 포함이다. 검색 변환기는 사용자가 개별 아이템들의 데이터베이스를 검색하는 것을 돕기 위해 (예를 들어, 사용자에 의해 작동되는) 클라이언트 컴퓨터와 아이템들의 데이터베이스에 대한 검색 엔진 사이에 배치될 수 있다. 검색 변환기는 선택된 컨텐츠(예를 들어, 사용자에 의해 선택되는 이미지, 텍스트, 하이퍼링크 등)를 분석하고, 컨텐츠 내의 오브젝트들을 식별하며, 식별된 오브젝트들에 기초하여 쿼리들을 생성하도록 구성될 수 있다. 쿼리들을 생성하는 데 있어서, 검색 변환기는 식별된 오브젝트들이 데이터베이스에서의 아이템들과 관련됨을 보장하도록 구성될 수 있다. 예를 들어, 모바일 애플리케이션들의 리포지터리(데이터베이스)에 대한 검색 변환기는 남성, 여성, 사람, 또는 일부 다른 오브젝트를 예측하기 보다는, 사람의 얼굴 사진을 보여주는 이미지로부터 셀피의 오브젝트를 리포지터리에 대한 쿼리로서 예측하도록 구성될 수 있다. 마찬가지로, 책들의 데이터베이스에 대한 검색 변환기는 동일한 이미지를 분석한 후에 저자의 이름을 쿼리로서 예측할 수 있고/거나 이미지에서 인식되는 다른 사람들과 대조적으로 이미지에서 인식되는 저자에게 더 높은 사일런시 스코어를 부여할 수 있다. 검색 변환기는 선택된 컨텐츠에서 식별된 적어도 두 개의 오브젝트들에 대응하는 데이터베이스에서의 검색을 시작하도록 구성될 수 있다. 이들 검색들은 병렬로 개시될 수 있으며, 이는 양쪽 쿼리들(또는 여러 쿼리들)이 동시에 제출될 수 있다는 것을 의미하며, 이는 쿼리를 수신하는 것과 쿼리에 대한 결과 페이지의 제시 간의 지연을 감소시킨다.At least one technical solution to this technical problem of searching a database of items associated with minimal searchable text is the inclusion of a search transformer. A search translator may be placed between a client computer (eg, operated by a user) and a search engine for the database of items to assist the user in searching the database of individual items. The search transformer may be configured to analyze selected content (e.g., images, text, hyperlinks, etc. selected by the user), identify objects within the content, and generate queries based on the identified objects. In generating queries, the search transformer can be configured to ensure that the identified objects are related to items in the database. For example, a search transformer for a repository (database) of mobile applications could predict the object of a selfie from an image showing a picture of a person's face as a query to the repository, rather than predicting a male , female , person , or some other object. It can be configured. Likewise, a search transformer for a database of books may predict the author's name as a query after analyzing the same image and/or may assign a higher silence score to authors recognized in the image as opposed to others recognized in the image. You can. The search transformer may be configured to initiate a search in the database corresponding to at least two objects identified in the selected content. These searches can be initiated in parallel, meaning that both queries (or multiple queries) can be submitted simultaneously, reducing the delay between receiving the query and presenting the results page for the query.

비 키워드 기반 검색과 연관된 또 다른 기술적인 문제는 사용자가 만족스러운 대답에 도달할 수 있게 하는 데 발행되는 개별 검색 요청 개수를 최소화하고 있다. 상기한 바와 같이, 상이한 키워드들을 쿼리 용어들로서 사용하는, 여러 개별 검색들이 사용자가 만족스러운 대답에 도달하는 데 필요할 수 있다. 만족스러운 대답은 의도된 문제에 대답하는 검색 결과 페이지를 적어도 포함하는 검색 결과 페이지를 나타낸다. 사용자 의도는 객관적으로 결정될 수 없기 때문에, 일부 종래의 검색 시스템들은 가장 가능성이 높은 의도(오브젝트)를 검색하고, 선택될 때 상이한 검색을 개시할 수 있는, 다른 오브젝트들을 나타내는 추가적인 링크들(예를 들어, 예를 들어, 과일 애플을 의미했다면 관련된 링크)을 제공할 수 있다. 상이한 오브젝트들이 추론된 의도에 관한 것일 수 있는 경우에, 일부 종래의 검색 시스템들은 예를 들어, 애플사에 대한 검색 결과들을 과일 애플에 대한 상위 결과와 혼합하여, 상이한 오브젝트들에 대한 상위 결과들을 포함할 수 있다. 양 방법은 독립적인 검색 요청 개수를 증가시킬 수 있다.Another technical challenge associated with non-keyword-based searches is minimizing the number of individual search requests issued to enable users to reach a satisfactory answer. As mentioned above, several separate searches, using different keywords as query terms, may be necessary for the user to reach a satisfactory answer. A satisfactory answer represents a search results page that includes at least a search results page that answers the intended problem. Because user intent cannot be objectively determined, some conventional search systems search for the most likely intent (object) and provide additional links representing other objects (e.g. , for example, if you meant the fruit apple, you could provide a related link. In cases where different objects may be relevant for the inferred intent, some conventional search systems may include top results for different objects, for example, by mixing search results for Apple Inc. with top results for the fruit apple. You can. Both methods can increase the number of independent search requests.

이러한 기술적 문제에 대한 기술적 해결책은 상이한 추론 의도들에 대한 병렬 쿼리들을 제출하는 것과, 인터페이스에 함께 각 병렬 쿼리에 대한 상위 응답 아이템들을 디스플레이할 수 있는 신규한 인터페이스를 포함한다. 예를 들어, 검색 변환기가 선택된 이미지 및/또는 텍스트에서 오브젝트들의 비디오 컨퍼런스, 브라우저, 및 비디오 레코딩이 인식된다고 결정한다면, 검색 변환기는 모든 세 개의 오브젝트들을 병렬 쿼리들로서 검색 엔진에 보낼 수 있으며, 이는 각 오브젝트에 대한 상위 결과들을 반환할 것이다. 본 시스템은 오브젝트들에 부여되는 컨피던스 및 사일런시 스코어들에 기초하여 이들 검색 결과들을 선택하고 지시할 수 있어서, 가장 사일런트한 쿼리에 대한 일부 응답 아이템들에 이어서, 두 번째로 가장 사일런트한 쿼리 등으로부터의 일부 응답 아이템들이 함께 반환되고 디스플레이된다. 일부 해결책들에서, 가장 사일런트한 쿼리에 대한 응답 아이템들은 다음 쿼리에 대한 응답 아이템들 전에 제시될 수 있다. 일부 해결책들에서, 가장 사일런트한 쿼리에 대한 응답 아이템들은 다른 쿼리들에 응답하는 아이템들에 대한 결과들에 포함되지 않는 개별 응답 아이템들에 대한 추가적인 정보를 포함할 수 있다. 일부 해결책들에서, (예를 들어, 디스플레이를 위해 선택된 응답 아이템들의 세트 에서의) 각 쿼리에 대해 디스플레이되는 아이템 개수는 쿼리들로서 제출된 오브젝트들의 컨피던스 및 사일런시 스코어들 및 쿼리 자체와 아이템들의 관련성에 따라 달라질 수 있다.The technical solution to this technical problem involves submitting parallel queries for different inference intents and a novel interface that can display the top response items for each parallel query together in the interface. For example, if the search converter determines that the objects video conference, browser, and video recording are recognized in the selected image and/or text, the search converter can send all three objects as parallel queries to the search engine, which It will return the top results for the object. The system can select and direct these search results based on the confidence and silence scores assigned to the objects, so that some response items to the most silent query, followed by the second quietest query, etc. Some response items are returned and displayed together. In some solutions, response items for the most silent query may be presented before response items for the next query. In some solutions, response items to the most silent query may contain additional information about individual response items that is not included in results for items responding to other queries. In some solutions, the number of items displayed for each query (e.g., from the set of response items selected for display) depends on the confidence and silence scores of the objects submitted as queries and the relevance of the items to the query itself. It may vary depending on

본 명세서에서 설명되는 특징들의 기술적 효과들은 검색을 간소화하는 것과 발견을 촉진하는 것과 최소한의 검색가능한 텍스트가 검색 인덱싱에 이용가능한 아이템들의 탐색이다. 구체적으로, 본 개시 기법들은 기계 학습 또는 다른 기법들을 사용하여 예측된 의도에 기초한 스마트 쿼리들을 생성할 수 있으며, 이는 잠재적으로 검색-재시도-검색-재시도 수동 프로세스를 제거할 수 있다. 또한, 다수의 쿼리들(다수의 추론된 의도들)이 병렬로 검색되기 때문에 검색이 빨라질 수 있다. 또한, 스마트 쿼리들이 검색되고 있는 데이터베이스에 대해 조정/커스터마이징될 수 있기 때문에, 스마트 쿼리들은 사일런트한 아이템들을 반환할 가능성이 더 높아, 검색 요청들의 반복을 더 감소시킨다. 병렬 쿼리 제출, 및 상이한 쿼리들로부터의 결과들을 통합하는 신규한 결과 인터페이스는 탐색 및 발견을 촉진하여, 사용자가 찾을 것이라고 생각하지 못했던 결과들을 발견할 수 있게 한다.The technical effects of the features described herein are to simplify search and facilitate discovery and discovery of items for which minimal searchable text is available for search indexing. Specifically, the presently disclosed techniques may use machine learning or other techniques to generate smart queries based on predicted intent, potentially eliminating the search-retry-search-retry manual process. Additionally, searches can be faster because multiple queries (multiple inferred intents) are searched in parallel. Additionally, because smart queries can be tailored/customized to the database being searched, smart queries are more likely to return silent items, further reducing repetition of search requests. Parallel query submission, and a novel results interface that integrates results from different queries promotes exploration and discovery, allowing users to find results they never thought they would find.

도 1은 클라이언트 디바이스 상의 웹페이지(W1)에 디바이스된 컨텐츠를 예시하는 다이어그램이다. 웹페이지(W1)는 브라우저(105)의 탭(112) 내의 디스플레이 영역(110) 내에 디스플레이된다(예를 들어, 렌더링된다). 브라우저(105)는 어드레스 바 영역(114)을 포함한다. 어드레스바 영역(114)은 브라우저(105)(예를 들어, 브라우저 애플리케이션)에 의해 제어되고/거나 이와 연관될 수 있다. 어드레스 바 영역(114)은 웹페이지(W1) 및/또는 웹페이지(W1)의 제공자 대신에 브라우저(105)에 의해 제어될 수 있다. 웹페이지(W1)의 어드레스는 어드레스 바 영역(114)(예를 들어, 입력 어드레스 영역(116))에서 예시될 수 있다. 다른 컨트롤, 아이콘, 및/또는 등이 어드레스 바 영역(114)에 포함될 수 있다. 예를 들어, 어드레스 바 영역(114)은 검색 컨트롤(130)을 포함할 수 있다. 검색 컨트롤(130)은 사용자에 의해 활성화될 때 선택된 컨텐츠의 검색을 개시하도록 구성된 아이콘, 버튼, 또는 이미지일 수 있다. 일부 구현예들에서, 검색 컨트롤(130)은 "드롭" 위치로서 구성될 수 있다. 드롭 위치는 드롭 액션을 수신할 수 있는 디스플레이의 영역을 나타낸다. 드롭 액션은 드래그-앤드-드롭 시퀀스의 마지막 액션이다. 드롭 액션은 전통적으로 마우스 버튼 떼기, 손가락 또는 스타일러스 들어 올리기, 붙여넣기(예를 들어, 컨트롤-v) 키보드 커맨드 등에 대응한다. 검색 컨트롤(130)이 드롭 위치로서 구성될 때, 검색 컨트롤(130)이 활성화되고 드롭 동작을 수신한다. 일부 구현예들에서, 검색 컨트롤(130)은 검색 컨트롤(130)의 사용자 선택에 의해 활성화되는 버튼으로서 구성될 수 있다. 선택 컨트롤을 활성화하는 것은 클라이언트 디바이스의 구성에 따라, 다수의 형태들을 취할 수 있다. 예를 들어, 사용자가 포인터로 검색 컨트롤(130)을 클릭할 수 있으며, 손가락, 두 손가락 등으로 검색 컨트롤(130)을 탭할 수 있으며, 스타일러스로 검색 컨트롤을 탭할 수 있으며, 검색 컨트롤을 보고 깜빡일 수 있는 등이다.1 is a diagram illustrating content deviced on a web page W1 on a client device. Web page W1 is displayed (e.g., rendered) within display area 110 within tab 112 of browser 105. The browser 105 includes an address bar area 114. Address bar area 114 may be controlled by and/or associated with browser 105 (e.g., a browser application). The address bar area 114 may be controlled by the browser 105 on behalf of the web page W1 and/or the provider of the web page W1. The address of the web page W1 may be illustrated in the address bar area 114 (eg, input address area 116). Other controls, icons, and/or the like may be included in address bar area 114. For example, the address bar area 114 may include a search control 130. Search control 130 may be an icon, button, or image configured to initiate a search for selected content when activated by a user. In some implementations, search control 130 may be configured as a “drop” location. The drop location represents the area of the display that can receive the drop action. The drop action is the last action in a drag-and-drop sequence. Drop actions traditionally correspond to keyboard commands such as lifting a mouse button, lifting a finger or stylus, or pasting (e.g. Control-v). When search control 130 is configured as a drop location, search control 130 is activated and receives a drop operation. In some implementations, search control 130 may be configured as a button that is activated by user selection of search control 130. Activating a selection control can take a number of forms, depending on the configuration of the client device. For example, a user can click the search control 130 with a pointer, tap the search control 130 with a finger, two fingers, etc., tap the search control with a stylus, and see the search control blink. It is possible, etc.

웹페이지(W1)는 이미지들(I1, I2, I3, I4, I5), 텍스트 머리글들(T1 및 T2), 및 텍스트 블록들(T3, T4, T5, 및 T6)과 같은, 컨텐츠(118)의 여러 아이템들을 포함한다. 텍스트 블록들은 문장, 단락, 다수의 단락들, 리스트 또는 리스트들, 테이블 또는 테이블들 등을 나타낼 수 있다. 텍스트 블록들은 링크들을 포함할 수 있다. 링크는 앵커 텍스트, 또는 사용자에게 디스플레이되는 텍스트, 및 반드시 디스플레이되는 것은 아닌 도큐멘트의 어드레스를 갖는다. 링크가 사용자 선택에 포함될 때, 선택된 컨텐츠는 링크에 대한 앵커 텍스트뿐만 아니라 링크 어드레스로부터의 컨텐츠, 즉, 링크 어드레스에 의해 가리켜지고/식별되는 도큐멘트를 포함할 수 있다. 사용자는 텍스트 머리글 T1(118a) 또는 이미지 I1(118c)과 같은, 컨텐츠의 아이템을 선택할 수 있다. 사용자는 이미지 I3 및 텍스트 블록들 T4 및 T5와 같은, 컨텐츠의 다수의 아이템들을 선택할 수 있다. 사용자는 텍스트 블록 T3(118b)의 일부분과 같은, 컨텐츠 아이템의 일부분을 선택할 수 있다. 사용자는 하나의 컨텐츠 아이템, 및 또 다른 컨텐츠 아이템의 일부분을 선택할 수 있다.Web page W1 has content 118, such as images (I1, I2, I3, I4, I5), text headers (T1 and T2), and text blocks (T3, T4, T5, and T6). Includes several items. Text blocks can represent a sentence, a paragraph, multiple paragraphs, a list or lists, a table or tables, etc. Text blocks can contain links. A link has anchor text, or text that is displayed to the user, and the address of a document that is not necessarily displayed. When a link is included in a user selection, the selected content may include anchor text for the link as well as content from the link address, i.e., the document pointed to/identified by the link address. The user may select an item of content, such as text header T1 (118a) or image I1 (118c). The user can select multiple items of content, such as image I3 and text blocks T4 and T5. A user may select a portion of a content item, such as a portion of text block T3 118b. A user can select one content item, and a portion of another content item.

도 2a 내지 도 2d는 다양한 구현예들에 따른, 도 1의 웹페이지의 선택된 컨텐츠 아이팀들의 데이터베이스의 의도 추론 검색을 트리거하는 다양한 컨텐츠 선택을 예시한다. 도 2a는 (텍스트 머리글 T1을 나타내는) 컨텐츠 아이템(118a)의 선택을 예시하며, 선택은 사선들로 나타내어진다. 컨텐츠 아이템(118a)의 선택으로, 사용자는 검색 컨트롤(130)을 활성화할 수 있으며, 이는 아이템들의 데이터베이스의 의도 추론 검색을 트리거한다. 검색 컨트롤(130)을 활성화하기 위해, 사용자는 컨텐츠 아이템(118a)을 컨트롤(130)에 선택-앤드-드래그하여, 컨트롤(130) 상에서 컨텐츠 아이템(118a)을 드롭할 수 있다. 이는 도 2a에서 화살표(210)에 의해 나타내어진다. 대안적으로(또는 추가적으로), 사용자는 데이터베이스의 의도 추론 검색을 트리거하기 위해 컨텐츠 아이템(118a)을 선택한 다음 검색 컨트롤(130)을 선택할 수 있다. 검색 컨트롤(130)이 어떻게 활성화되는지에 관계없이, 선택된 컨텐츠, 예를 들어, 머리글 T1의 텍스트가 검색 시스템에 제공된다. 일부 구현예들에서, 추가적인 컨텐츠 아이템들이 또한 검색할 컨텍스트로서 제공될 수 있다. 예를 들어, 컨텐츠 아이템 T3, 또는 컨텐츠 아이템 T3의 일부분(예를 들어, 선택된 컨텐츠 아이템(118a) 근처의 제1 문장, 미리 결정된 개수의 단어들)이 컨텍스트로서 제공할 수 있다. 다른 예에서, 모든 컨텐츠 아이템들 T2-T7 및 I1-I5가 제공될 수 있다. 다른 예에서, 선택된 컨텐츠(118a) 근처의 컨텐츠 아이템들, 예를 들어, 텍스트 박스 T2 및 이미지 I1, 또는 모든 컨텐츠 아이템들보다 적은 아이템들의 일부 다른 조합이 제공될 수 있다.2A-2D illustrate various content selections that trigger an intent inference search of a database of selected content iTeams of the web page of FIG. 1, according to various implementations. Figure 2A illustrates selection of content item 118a (representing text header T1), with selection indicated by slashed lines. Upon selection of content item 118a, the user may activate search control 130, which triggers an intent inference search of the database of items. To activate search control 130 , a user may select-and-drag content item 118a onto control 130 and drop content item 118a on control 130 . This is indicated by arrow 210 in Figure 2A. Alternatively (or additionally), the user may select content item 118a and then select search control 130 to trigger an intent inference search of the database. Regardless of how search control 130 is activated, the selected content, e.g., the text of heading T1, is provided to the search system. In some implementations, additional content items may also be provided as context to search. For example, content item T3, or a portion of content item T3 (e.g., a first sentence near selected content item 118a, a predetermined number of words) may serve as context. In another example, all content items T2-T7 and I1-I5 may be provided. In another example, content items near selected content 118a, for example text box T2 and image I1, or some other combination of less than all content items may be provided.

도 2b는 (텍스트 블록 T2을 나타내는) 컨텐츠 아이템(118b)의 일부분의 선택을 예시하며, 선택은 사선들로 나타내어진다. 컨텐츠 아이템(118b)의 부분은 단어, 다수의 단어들, 문장, 다수의 문장들, 리스트 아이템, 테이블 셀, 테이블 행, 테이블 열, 링크 등, 또는 이들의 임의의 조합일 수 있다. 도 2a에 관하여 위에서 설명된 바와 같이, 사용자가 컨텐츠 아이템(118b)의 부분을 선택한 후에, 사용자는 검색 컨트롤(130)을 활성화할 수 있으며, 이는 컨텐츠 아이템(118b)의 선택된 부분을 사용하여 아이템들의 데이터베이스의 의도 추론 검색을 트리거한다. 이는 컨텐츠 아이템(118b)의 부분이 선택될 때 검색 컨텐츠 아이템(118b)의 선택된 부분을 검색 컨트롤(130) 상에 드래그 앤드 드롭하는 것(화살표(210)에 의해 나타내어짐) 또는 검색 컨트롤(130)의 사용자 선택을 포함할 수 있다. 도 2a에 관하여 설명된 바와 같이, 또 다른 컨텐츠 아이템, 컨텐츠 아이템의 일부분, 다수의 컨텐츠 아이템들, 또는 다수의 컨텐츠 아이템들의 부분들이 검색할 컨텍스트로서 제공될 수 있다.Figure 2B illustrates selection of a portion of content item 118b (representing text block T2), with selection indicated by slashed lines. A portion of content item 118b may be a word, multiple words, sentence, multiple sentences, list item, table cell, table row, table column, link, etc., or any combination thereof. As described above with respect to FIG. 2A, after the user selects a portion of content item 118b, the user may activate search control 130, which uses the selected portion of content item 118b to search for items. Triggers an intent inference search in the database. This can be achieved by dragging and dropping a selected portion of search content item 118b onto search control 130 (indicated by arrow 210) or by dragging and dropping a selected portion of search content item 118b onto search control 130 when a portion of content item 118b is selected. May include user selection. As described with respect to FIG. 2A, another content item, a portion of a content item, multiple content items, or portions of multiple content items may be provided as a context to search for.

도 2c는 (이미지 I1을 나타내는) 이미지 컨텐츠 아이템(118c)의 선택을 예시하며, 선택은 사선들로 나타내어진다. 이미지 컨텐츠 아이템(118c)은 임의의 종류의 이미지일 수 있고, 텍스트뿐만 아니라 아이콘들 또는 다른 이미지들도 포함할 수 있다. 도 2a 및 도 2b에 관하여 위에서 설명된 바와 같이, 사용자가 이미지 컨텐츠 아이템(118c)을 선택한 후에, 사용자는 검색 컨트롤(130)을 활성화할 수 있으며, 이는 선택된 컨텐츠 아이템(118c)을 사용하여 아이템들의 데이터베이스의 의도 추론 검색을 트리거한다. 이는 이미지 컨텐츠 아이템(118c)이 선택되는 동안 선택된 이미지 컨텐츠 아이템(118c)을 검색 컨트롤(130) 상에 드래그 앤드 드롭하는 것(화살표(210)에 의해 나타내어짐) 또는 검색 컨트롤(130)의 사용자 선택을 포함할 수 있다. 도 2a 및 도 2b에 관하여 설명된 바와 같이, 또 다른 컨텐츠 아이템, 컨텐츠 아이템의 일부분, 다수의 컨텐츠 아이템들, 또는 다수의 컨텐츠 아이템들의 부분들이 검색할 컨텍스트로서 제공될 수 있다.Figure 2C illustrates the selection of image content item 118c (representing image I1), with the selection indicated by diagonal lines. Image content item 118c may be any type of image and may include text as well as icons or other images. As described above with respect to FIGS. 2A and 2B , after the user selects image content item 118c, the user may activate search control 130, which uses the selected content item 118c to search for items. Triggers an intent inference search in the database. This can be accomplished by dragging and dropping the selected image content item 118c onto the search control 130 while the image content item 118c is selected (indicated by arrow 210) or by user selection of the search control 130. may include. As described with respect to FIGS. 2A and 2B, another content item, a portion of a content item, multiple content items, or portions of multiple content items may be provided as a context to search.

도 2d는 (이미지 I3, 이미지 I4, 및 텍스트 박스 T5를 나타내는) 다수의 컨텐츠 아이템들(118d)의 선택을 예시하며, 선택은 사선들로 나타내어진다. 다수의 컨텐츠 아이템들(118d)은 텍스트와 이미지 컨텐츠 둘 모두를 포함한다. 도 2a 내지 도 2c에 관하여 위에서 설명된 바와 같이, 사용자가 컨텐츠 아이템들(118d)을 선택한 후에, 사용자는 검색 컨트롤(130)을 활성화할 수 있으며, 이는 다수의 컨텐츠 아이템(118d)을 사용하여 아이템들의 데이터베이스의 의도 추론 검색을 트리거한다. 이는 컨텐츠 아이템들(118d)이 선택되는 동안 선택된 컨텐츠 아이템들(118d)을 검색 컨트롤(130) 상에 드래그 앤드 드롭하는 것(화살표(210)에 의해 나타내어짐) 또는 검색 컨트롤(130)의 사용자 선택을 포함할 수 있다. 도 2a 내지 도 2c에 관하여 설명된 바와 같이, 또 다른 컨텐츠 아이템, 또 다른 컨텐츠 아이템의 일부분, 다수의 컨텐츠 아이템들, 또는 다수의 컨텐츠 아이템들의 부분들이 검색할 컨텍스트로서 제공될 수 있다.Figure 2D illustrates the selection of multiple content items 118d (representing image I3, image I4, and text box T5), with the selection indicated by slashed lines. A number of content items 118d include both text and image content. As described above with respect to FIGS. 2A-2C , after the user selects content items 118d, the user may activate the search control 130, which uses a number of content items 118d to select an item. Triggers an intent inference search of their database. This can be achieved by dragging and dropping selected content items 118d onto the search control 130 while the content items 118d are selected (indicated by arrow 210) or by user selection of the search control 130. may include. As described with respect to FIGS. 2A-2C , another content item, a portion of another content item, multiple content items, or portions of multiple content items may be provided as a context to search for.

도 3a 내지 도 3c는 다양한 구현예들에 따른, 다양한 의도 추론 검색 결과 인터페이스들을 예시한다. 검색 결과 인터페이스들은 의도 추론 검색 쿼리가 완료되는 것에 응답하여 생성된다. 조합된 검색 결과 페이지는 검색 결과 페이지(W2)에 의해 나타내어진다. 도 3a의 예에서, 검색 결과 페이지(W2)는 사이드바, 또는 웹페이지(W1)와의 분할 스크린으로서 디스플레이된다. 이에 따라, 웹페이지(W1) 및 검색 결과 페이지(W2)의 두 부분들 모두는 브라우저 탭(112)의 디스플레이 영역(110)에 디스플레이된다. 의도 추론 검색을 위해 생성된 검색 결과 페이지는 두 개 이상의 쿼리들에 대한 응답 아이템들의 세트를 포함할 수 있다. 도 3a 내지 도 3c의 예에서, 검색 결과 페이지(W2)는 응답 아이템들의 세 개의 세트들을 포함한다. 도 3a의 예에서, 응답 아이템들의 제1 세트(302)는 세로 실선들에 의해 나타내어지고, 검색 결과들 SR1-1, SR1-2, 및 SR1-3를 포함한다. 각 검색 결과 SR1-1, SR1-2, 및 SR1-3는 데이터베이스에서의 각 아이템을 나타낸다. 검색 결과는 아이템의 명칭을 포함할 수 있다. 검색 결과는 아이템에 대한 이미지 또는 아이콘을 포함할 수 있다. 검색 결과는 아이템에 대한 간단한 설명을 포함할 수 있다. 검색 결과는 아이템에 대한 보다 상세한 설명에 대한 링크, 아이템을 구매하거나 다.운로드하기 위한 페이지 등을 포함할 수 있다. 응답 아이템들의 제1 세트(302)는 아이템들의 데이터베이스에 대해 실행된 제1 쿼리에 응답하는 아이템들이다.3A-3C illustrate various intent inference search result interfaces, according to various implementations. Search result interfaces are generated in response to the intent inference search query being completed. The combined search result page is represented by the search result page W2. In the example of Figure 3A, the search results page W2 is displayed as a sidebar, or a split screen with the web page W1. Accordingly, both parts of the web page W1 and the search results page W2 are displayed in the display area 110 of the browser tab 112. A search results page generated for an intent inference search may include a set of response items to two or more queries. In the example of Figures 3A-3C, search results page W2 includes three sets of response items. In the example of Figure 3A, the first set of response items 302 is represented by solid vertical lines and includes search results SR1-1, SR1-2, and SR1-3. Each search result SR1-1, SR1-2, and SR1-3 represents each item in the database. Search results may include the name of the item. Search results may include images or icons for the item. Search results may include a brief description of the item. Search results may include links to more detailed descriptions of the item, pages to purchase or download the item, etc. The first set of response items 302 are items that respond to a first query issued against the database of items.

도 3a의 예는 사선 실선들에 의해 나타내어지는, 응답 아이템들의 제2 세트(303)를 포함한다. 응답 아이템들의 제2 세트(303)는 SR2-1, SR2-2 및 SR2-3(또한 검색 결과들로도 지칭됨)을 포함한다. 응답 아이템들의 제2 세트(303)에 의해 나타내어지는 아이템들은 아이템들의 데이터베이스에 대해 실행된 제2 쿼리에 응답하는 아이템들이다. 검색 결과들 SR2-1, SR2-2, 및 SR2-3은 검색 결과들 SR1-1, SR1-2, 및 SR1-3에 포함되는 것과 유사한 이들 각각의 아이템들에 관한 정보를 포함할 수 있다. 도 3a의 예는 가로 실선들에 의해 나타내어지는, 응답 아이템들의 제3 세트(304)를 포함한다. 응답 아이템들의 제3 세트(304)는 SR3-1, SR3-2, 및 SR3-3을 포함한다. 응답 아이템들의 제3 세트(304)에 의해 나타내어지는 아이템들은 아이템들의 데이터베이스에 대해 실행된 제3 쿼리에 응답하는 아이템들이다. 제3 쿼리, 제2 쿼리, 및 제1 쿼리는 병렬로 제출되었을 수 있어, 검색 시스템이 검색 결과 페이지(W2)를 더 빠르게 제공할 수 있게 함에 따라, 쿼리가 제출된 후의 응답 시간을 감소시킬 수 있다. 검색 결과들 SR3-1, SR3-2, 및 SR3-3은 검색 결과들 SR1-1, SR1-2, 및 SR1-3에 포함되는 것과 유사한 이들 각각의 아이템들에 관한 정보를 포함할 수 있다. 검색 결과들의 각 세트의 아이템 개수는 도 6에 관하여 보다 상세히 설명될 바와 같이, 검색 결과 페이지(W2)의 디스플레이 영역의 사이즈, 쿼리로서 사용되는 추론된 오브젝트의 컨피던스 및 사일런시, 쿼리에 대한 응답 아이템 개수, 쿼리와 아이템들의 관련성, 및 다른 쿼리들에 대한 다른 세트들에서 이미 선택된 아이템 개수를 포함하는, 여러 팩터들의 함수일 수 있다. W2에 의해 점유된 디스플레이 영역(110)의 비교적 작은 비율(상의 공간)은 아이템들(302, 303, 304)의 각 세트 내에 더 적은 아이템들을 초래할 수 있다. 분할 창 외에, 검색 결과 페이지(W2)는 클라이언트 디바이스가 스마트 폰 또는 웨어러블이라면 더 작은 디스플레이 영역을 가질 수 있다.The example of Figure 3A includes a second set of response items 303, indicated by solid diagonal lines. The second set of response items 303 includes SR2-1, SR2-2, and SR2-3 (also referred to as search results). The items represented by the second set of response items 303 are items that respond to a second query issued against the database of items. Search results SR2-1, SR2-2, and SR2-3 may include information about their respective items similar to that included in search results SR1-1, SR1-2, and SR1-3. The example of Figure 3A includes a third set of response items 304, indicated by horizontal solid lines. The third set of response items 304 includes SR3-1, SR3-2, and SR3-3. The items represented by the third set of response items 304 are items that respond to a third query executed against the database of items. The third query, second query, and first query may have been submitted in parallel, allowing the search system to serve the search results page (W2) more quickly, thereby reducing response time after the query is submitted. there is. Search results SR3-1, SR3-2, and SR3-3 may include information about their respective items similar to that included in search results SR1-1, SR1-2, and SR1-3. The number of items in each set of search results depends on the size of the display area of the search results page W2, the confidence and silence of the inferred object used as the query, and the response items to the query, as will be explained in more detail with respect to Figure 6. It may be a function of several factors, including the number, relevance of the items to the query, and the number of items already selected from other sets for other queries. The relatively small percentage (space on) of display area 110 occupied by W2 may result in fewer items within each set of items 302, 303, 304. In addition to the split pane, the search results page (W2) may have a smaller display area if the client device is a smart phone or wearable.

도 3b의 예에서, 브라우저(105)의 새로운 탭(312)에 검색 결과 페이지(W2')가 디스플레이된다. 이 새로운 탭(312)은 활성 탭이고, 이에 따라, 웹페이지(W2')는 브라우저(105)의 디스플레이 영역(110)을 채운다. 탭(112)과 연관된 웹페이지(W1)의 컨텐츠는 더 이상 보이지 않지만, 사용자가 탭(112)을 선택하는 것에 응답하여 다.시 보이게 될 수 있다. 도 3b의 예시적인 인터페이스에서, 검색 결과 페이지(W2')는 응답 아이템들(302', 303', 및 304')의 세 개의 세트들을 디스플레이한다. 도 3a와 같이, 검색 결과들(응답 아이템들)의 세 개의 세트들은 아이템들의 데이터베이스에 대해 실행된 세 개의 상이한 쿼리들을 나타낸다. 이는 웹페이지(W2')에 의해 점유된 디스플레이 영역(110)의 부분(상의 공간)이 도 2a의 웹페이지(W2)에 의해 점유되는 디스플레이 영역(110)의 부분보다 더 크기 때문에, 아이템들의 각 세트 내의 아이템 개수는 더 커질 수 있다. 이에 따라, 예를 들어, 응답 아이템들의 세트(302')는 다섯 개 아이템들을 포함할 수 있고, 응답 아이템들의 세트(303')는 세 개 아이템들을 포함할 수 있으며, 응답 아이템들의 세트(304')는 네 개 아이템들을 포함할 수 있다. 각 검색 결과에 포함되는 정보는 도 3a에 관하여 위에서 논의된 검색 결과들에 포함되는 정보와 유사할 수 있다. 도 3a와 도 3b 둘 모두에서, 제1 쿼리에 응답하는 아이템들(예를 들어, 응답 아이템들의 세트(302 및 302'))은 제2 쿼리에 응답하는 아이템들(예를 들어, 응답 아이템들의 세트(303 및 303'))에 비해 프로미넌스를 갖는다. 프로미넌스는 제1 결과들이 제2 결과들보다 앞서/제2 결과들 전에 제시되는 것에 의해 나타날 수 있다. 프로미넌스는 다른 방법들로(예를 들어, 디스플레이 영역을 더 많이 점유하는 것(디스플레이 상의 더 많은 공간을 점유하여, 이보다 더 큰 것) 그리고/또는 더 많은 정보를 포함하는 것에 의해) 나타날 수 있다.In the example of FIG. 3B, search results page W2' is displayed in new tab 312 of browser 105. This new tab 312 is the active tab, and thus web page W2' fills the display area 110 of the browser 105. The content of web page W1 associated with tab 112 is no longer visible, but may become visible again in response to the user selecting tab 112. In the example interface of FIG. 3B, the search results page W2' displays three sets of response items 302', 303', and 304'. As shown in Figure 3A, the three sets of search results (response items) represent three different queries executed against the database of items. This is because the portion (space on) of the display area 110 occupied by the web page W2' is larger than the portion of the display area 110 occupied by the web page W2 in FIG. 2A, so each of the items The number of items in a set can be larger. Accordingly, for example, set of response items 302' may include five items, set of response items 303' may include three items, and set of response items 304' ) can contain four items. The information included in each search result may be similar to the information included in the search results discussed above with respect to FIG. 3A. In both FIGS. 3A and 3B , the items that respond to the first query (e.g., sets of response items 302 and 302') are the items that respond to the second query (e.g., the sets of response items 302 and 302'). It has prominence compared to sets 303 and 303'). Prominence can be indicated by first results being presented before/before secondary results. Prominence can appear in other ways (e.g., by taking up more display area (occupying more space on the display, thus being larger) and/or containing more information).

도 3c는 제1 쿼리에 응답하는 아이템들이 제2 쿼리에 응답하는 아이템들보다 앞서 제시되지 않지만, 대신에 추가적인 정보를 포함하거나 검색 결과 페이지(W2'')의 더 큰 비율을 점유하는 구현예를 나타내는 구현예를 예시한다. 도 3c의 예에서, 응답 아이템들의 세트(302'')는 제1 쿼리에 응답하는 아이템들을 나타낸다. 이들 검색 결과들은 응답 아이템들의 세트들(303' 및 304')보다 더 크게 제시되거나, 디스플레이 영역(110)의 더 큰 백분율을 점유하고 있을 수 있다. 이는 응답 아이템들의 세트(302'')의 응답 아이템들의 세트들(303' 및 304')에 비한 프로미넌스의 예이다. 응답 아이템들의 세트(302'')는 응답 아이템들의 세트(302')와 유사하지만 더 큰 폰트, 더 높은 줌 레벨 등으로 정보를 포함할 수 있다. 응답 아이템들의 세트(302'')는 응답 아이템들의 세트(302')에 포함되지 않은 추가적인 정보를 포함할 수 있다. 예를 들어, 응답 아이템들(302'')의 검색 결과(SR1-1)는 응답 아이템들(302 또는 302')의 SR1-1에 포함되지 않았던 아이템의 순위, 판매가, 게시자 정보, 또는 다른 속성들을 포함할 수 있다. 추가적인 정보의 포함 때문에, 응답 아이템들의 세트(302'')는 풍부한 결과들로서 지칭될 수 있다. 풍부한 결과들은 다른 검색 결과 세트들, 예를 들어, 응답 아이템들의 세트들(303' 및 304')에 포함되지 않는 아이템에 관한 임의의 추가 정보를 포함할 수 있다. 응답 아이템들의 세트들(303' 및 304')이 또한, 그러나 디스플레이의 또 다른 영역/부분에서 디스플레이될 수 있다. 일부 구현예들에서, 응답 아이템들의 세트들(303' 및 304')은 풍부한 결과들, 예를 들어, 응답 아이템들의 세트(302'') 후에 제시될 수 있다,Figure 3C illustrates an implementation in which items responding to a first query are not presented before items responding to a second query, but instead contain additional information or occupy a greater proportion of the search results page W2''. An example implementation is illustrated. In the example of Figure 3C, set of response items 302'' represents items that respond to the first query. These search results may be presented larger than the sets of response items 303' and 304', or may occupy a greater percentage of the display area 110. This is an example of the prominence of set of response items 302'' relative to sets of response items 303' and 304'. Set of response items 302'' is similar to set of response items 302'' but may contain information in larger fonts, higher zoom levels, etc. Set of response items 302'' may include additional information not included in set of response items 302''. For example, the search result SR1-1 of the response items 302'' may include the rank, sales price, publisher information, or other attributes of the item that was not included in SR1-1 of the response items 302 or 302'. may include. Because of the inclusion of additional information, the set of response items 302'' may be referred to as enriched results. Rich results may include any additional information about an item that is not included in other search result sets, for example, sets of response items 303' and 304'. Sets of response items 303' and 304' may also be displayed, but in another area/portion of the display. In some implementations, sets of response items 303' and 304' may be presented after enriched results, e.g., set of response items 302'',

도 4는 본 명세서에서 설명되는 개념들을 구현하기 위한 컴퓨팅 시스템(402) 및 검색 서버(410)를 포함하는 시스템(400)을 예시한다. 컴퓨팅 시스템(402)은 또한 클라이언트 컴퓨팅 디바이스 또는 클라이언트 디바이스로도 지칭될 수 있다. 컴퓨팅 시스템(402)은 운영 시스템(429)을 갖는 디바이스이다. 일부 예들에서, 컴퓨팅 시스템(402)은 개인용 컴퓨터, 모바일 폰, 태블릿, 넷북, 랩탑, 스마트 가전(예를 들어, 스마트 텔레비전), 또는 웨어러블을 포함한다. 컴퓨팅 시스템(402)은 사용자가 디스플레이된 컨텐츠를 선택할 수 있게 하는 디스플레이를 갖는 임의의 컴퓨팅 디바이스일 수 있다. 컴퓨팅 시스템(402)은 하나 이상의 기계 실행가능 명령어들 또는 소프트웨어, 펌웨어의 피스들, 또는 이들의 조합을 실행하도록 구성된 기판에 형성된 하나 이상의 프로세서들(464)을 포함할 수 있다. 프로세서들(464)은 반도체 기반일 수 있다 - 즉, 프로세서들은 디지털 로직을 수행할 수 있는 반도체 재료를 포함할 수 있다. 컴퓨팅 시스템(402)은 하나 이상의 메모리 디바이스들(463)을 포함할 수 있다. 메모리 디바이스들(463)은 프로세서들(464)에 의해 판독 및/또는 실행될 수 있는 포맷으로 정보를 저장하는 메인 메모리를 포함할 수 있다. 메모리 디바이스들(463)은 프로세서들(464)에 의해 실행될 때, 특정 동작들을 수행하는 애플리케이션들 또는 모듈들(예를 들어, 운영 시스템(429), 애플리케이션들(428), 선택 관리자(430), 브라우저(420) 등)을 저장할 수 있다.FIG. 4 illustrates a system 400 that includes a computing system 402 and a search server 410 for implementing the concepts described herein. Computing system 402 may also be referred to as a client computing device or client device. Computing system 402 is a device with an operating system 429. In some examples, computing system 402 includes a personal computer, mobile phone, tablet, netbook, laptop, smart home appliance (e.g., smart television), or wearable. Computing system 402 may be any computing device having a display that allows a user to select displayed content. Computing system 402 may include one or more processors 464 formed on a substrate configured to execute one or more machine-executable instructions or pieces of software, firmware, or a combination thereof. Processors 464 may be semiconductor-based—that is, they may include semiconductor material capable of performing digital logic. Computing system 402 may include one or more memory devices 463. Memory devices 463 may include main memory that stores information in a format that can be read and/or executed by processors 464. Memory devices 463, when executed by processors 464, may be configured to store applications or modules (e.g., operating system 429, applications 428, selection manager 430, etc.) that perform specific operations. Browser (420), etc.) can be saved.

운영 시스템(429)은 컴퓨터 하드웨어, 소프트웨어 자원들을 관리하는 시스템 소프트웨어이고, 컴퓨터 프로그램들에 대한 공통 서비스들을 제공한다. 일부 예들에서, 운영 시스템(429)은 랩탑, 넷북, 또는 데스크 탑 컴퓨터와 같은 개인용 컴퓨터 상에서 실행하도록 동작가능하다. 일부 예들에서, 운영 시스템(429)은 스마트폰 또는 태블릿과 같은 모바일 컴퓨터를 실행하도록 동작가능하다. 운영 시스템(429)은 공통 서비스들을 제공하고 컴퓨팅 시스템(402)의 자원들을 관리하도록 구성된 복수의 모듈들을 포함할 수 있다. 컴퓨팅 시스템(402)은 사용자가 컨텐츠를 선택할 수 있게 하는 하나 이상의 입력 디바이스들(467)을 포함할 수 있다. 비배타적 예시적인 디바이스들(467)은 키보드, 마우스, 터치 감응 디스플레이, 트랙패드, 트랙볼 등을 포함한다. 컴퓨팅 시스템(402)은 사용자가 웹페이지를 보고/거나 음성 또는 다른 시각적 출력을 수신할 수 있게 하는 하나 이상의 출력 디바이스들(468)을 포함할 수 있다.The operating system 429 is system software that manages computer hardware and software resources, and provides common services for computer programs. In some examples, operating system 429 is operable to run on a personal computer, such as a laptop, netbook, or desktop computer. In some examples, operating system 429 is operable to run a mobile computer, such as a smartphone or tablet. Operating system 429 may include a plurality of modules configured to provide common services and manage resources of computing system 402. Computing system 402 may include one or more input devices 467 that allow a user to select content. Non-exclusive example devices 467 include a keyboard, mouse, touch-sensitive display, trackpad, trackball, etc. Computing system 402 may include one or more output devices 468 that enable a user to view a webpage and/or receive audio or other visual output.

컴퓨팅 시스템(402)은 애플리케이션(428)을 포함할 수 있으며, 이는 상이한 기능들을 수행하도록 구성된 특별히 프로그램된 소프트웨어를 나타낸다. 애플리케이션들 중 하나는 브라우저(420)일 수 있다. 브라우저(420)는 웹페이지들을 디스플레이하고, 웹 애플리케이션들을 실행하는 등을 하도록 구성될 수 있다. 브라우저(420)는 확장의 형태로 추가적인 기능을 포함할 수 있다. 운영 시스템은 사용자가 컨텐츠를 선택, 복사, 붙여넣기, 드래그, 및 드롭 할 수 있게 하도록 구성한 선택 관리자(430)를 또한 포함할 수 있다. 브라우저(420)는 도 1의 브라우저(105)의 예이고, 데이터베이스(419) 및/또는 데이터베이스(479)의 컨텍스트 검색을 트리거하도록 구성된 컨트롤(130)과 같은 컨트롤을 포함할 수 있다. 브라우저(420)는 검색을 트리거하도록 구성된 의도 검색 클라이언트(425)를 포함할 수 있다. 이에 따라, 의도 검색 클라이언트(425)는 검색 컨트롤의 활성화에 응답하여 실행되는 소프트웨어를 나타낼 수 있다. 의도 검색 클라이언트(425)는 선택된 컨텐츠를 검색 서버(410)로 보낼 수 있다. 의도 검색 클라이언트(425)는 선택된 컨텐츠 주변의 컨텍스트를 캡처하고 사용할 수 있고, 이 컨텍스트를 검색 서버(410)에 제공할 수 있다. 예를 들어, 문장이 선택된 컨텐츠라면, 문장이 나타나는 단락도 선택된 컨텐츠(또는 잠재적으로 전체 페이지)와 검색 서버(410)로 보내질 수 있다.Computing system 402 may include applications 428, which represent specially programmed software configured to perform different functions. One of the applications may be browser 420. Browser 420 may be configured to display web pages, run web applications, etc. Browser 420 may include additional functionality in the form of extensions. The operating system may also include a selection manager 430 configured to allow users to select, copy, paste, drag, and drop content. Browser 420 is an example of browser 105 of FIG. 1 and may include controls, such as database 419 and/or control 130 configured to trigger a context search of database 479 . Browser 420 may include an intent search client 425 configured to trigger a search. Accordingly, intent search client 425 may represent software that executes in response to activation of a search control. The intent search client 425 may send the selected content to the search server 410. Intent search client 425 may capture and use context surrounding selected content and provide this context to search server 410. For example, if a sentence is selected content, the paragraph in which the sentence appears may also be sent to the search server 410 along with the selected content (or potentially the entire page).

일부 예들에서, 컴퓨팅 시스템(402)은 네트워크(450)를 통해 검색 서버(410)와 통신할 수 있다. 검색 서버(410)는 다수의 상이한 디바이스들의 형태를 취하는 컴퓨팅 디바이스 또는 컴퓨팅 디바이스들, 예를 들어, 표준 서버, 이러한 서버들의 그룹, 또는 랙 서버 시스템일 수 있다. 일부 예들에서, 검색 서버(410)는 프로세서들 및 메모리들과 같은 컴포넌트들을 공유하는 단일 시스템일 수 있다. 네트워크(450)는 인터넷 및/또는 다른 유형의 데이터 네트워크, 이를테면, 근거리 네트워크(LAN), 광역 네트워크(WAN), 셀룰러 네트워크, 위성 네트워크, 또는 다른 유형의 데이터 네트워크를 포함할 수 있다. 네트워크(450)는 네트워크(450) 내에서 데이터를 수신 및/또는 송신하도록 구성된 임의의 개수의 컴퓨팅 디바이스들(예를 들어, 컴퓨터, 서버, 라우터, 네트워크 스위치 등)을 또한 포함할 수 있다. 네트워크(450)는 임의의 개수의 하드와이어 및/또는 무선 연결을 더 포함할 수 있다.In some examples, computing system 402 may communicate with search server 410 over network 450. Search server 410 may be a computing device or computing devices that take the form of a number of different devices, for example, a standard server, a group of such servers, or a rack server system. In some examples, search server 410 may be a single system sharing components such as processors and memories. Network 450 may include the Internet and/or other types of data networks, such as local area networks (LANs), wide area networks (WANs), cellular networks, satellite networks, or other types of data networks. Network 450 may also include any number of computing devices (e.g., computers, servers, routers, network switches, etc.) configured to receive and/or transmit data within network 450. Network 450 may further include any number of hardwired and/or wireless connections.

검색 서버(410)는 기판에 형성된 하나 이상의 프로세서들(415), 운영 시스템(도시되지 않음) 및 하나 이상의 메모리 디바이스들(417)을 포함할 수 있다. 메모리 디바이스들(417)은 임의의 유형의 (또는 다수의 유형들의) 메모리(예를 들어, RAM, 플래시, 캐시, 디스크 테이프 등)를 나타낼 수 있다. 일부 예들(도시되지 않음)에서, 메모리 디바이스들(417)은 외부 저장소, 예를 들어, 검색 서버(410)로부터 물리적으로 원격에 있지만 이에 의해 액세스가능한 메모리를 포함할 수 있다. 검색 서버(410)는 특별히 프로그램된 소프트웨어를 나타내는 하나 이상의 모듈들 또는 엔진들을 포함할 수 있다. 예를 들어, 검색 서버(410)는 아이템들의 데이터베이스(419)를 검색하도록 구성된 데이터베이스 검색 엔진(418)을 포함할 수 있다. 검색 엔진(418)은 데이터베이스(419)에서의 어느 아이템들이 쿼리에 응답하는지를 결정하는 데 사용되는 용어들의 인덱스를 포함한다. 아이템들의 데이터베이스(419)는 비도큐멘트 아이템들을 포함한다. 즉, 데이터베이스(419)에서의 아이템들은 인터넷을 통해 이용가능한 도큐멘트가 아니라, 보다 제한되는 개별 리포지터리의 아이템들이다. 데이터베이스(419)에서의 아이템들의 예들은 설치가능한 아이템들, 이를테면 브라우저 익스텐션, 모바일 애플리케이션, 네이티브 애플리케이션, 및 프로그레시브 웹 애플리케이션을 포함한다. 데이터베이스(419)에서의 아이템들의 다른 예들은 (예를 들어, 온라인 스토어, 분류된 광고, 또는 카탈로그를 통해) 구매용 아이템들, 라이브러리 내의 아이템들, 스트리밍용 아이템들(예를 들어, 비디오, 오디오, 미디어 파일), 렌트용 아이템들 등을 포함한다. 데이터베이스(419)는 제한된 개수의 텍스트 필드들에 의해 검색가능할 수 있다. 예를 들어, 데이터베이스(419)에서의 아이템들은 아이템 설명에서의 용어들에 의해 인덱싱될 수 있다. 데이터베이스(419)에서의 아이템들은 아이템 타이틀 및/또는 또 다른 식별자에 의해 인덱싱될 수 있다. 데이터베이스(419)에서의 아이템들은 (예를 들어, 애플리케이션 또는 익스텐션인 아이템들에 대한) 매니페스트 파일에서의 용어들에 의해 인덱싱될 수 있다. 데이터베이스 검색 엔진(418)은 데이터베이스(419)에서 쿼리에 응답하는 아이템들을 검색하는 데 종래 기법들을 사용할 수 있다. 데이터베이스(419)는 여러 상이한 컴퓨팅 디바이스들에 걸쳐 분산될 수 있고/거나 검색 서버(410)로부터 원격에 있을 수 있다.The search server 410 may include one or more processors 415, an operating system (not shown), and one or more memory devices 417 formed on a substrate. Memory devices 417 may represent any type (or multiple types) of memory (eg, RAM, flash, cache, disk tape, etc.). In some examples (not shown), memory devices 417 may include external storage, for example, memory that is physically remote from but accessible by search server 410 . Search server 410 may include one or more modules or engines representing specially programmed software. For example, search server 410 may include a database search engine 418 configured to search a database 419 of items. Search engine 418 includes an index of terms used to determine which items in database 419 respond to a query. The database of items 419 includes non-document items. That is, the items in database 419 are not documents available over the Internet, but rather are items from more limited individual repositories. Examples of items in database 419 include installable items such as browser extensions, mobile applications, native applications, and progressive web applications. Other examples of items in database 419 include items for purchase (e.g., through an online store, classified ad, or catalog), items in a library, and items for streaming (e.g., video, audio). , media files), rental items, etc. Database 419 may be searchable by a limited number of text fields. For example, items in database 419 may be indexed by terms in the item description. Items in database 419 may be indexed by the item title and/or another identifier. Items in database 419 may be indexed by terms in the manifest file (e.g., for items that are applications or extensions). Database search engine 418 may use conventional techniques to search database 419 for items that respond to a query. Database 419 may be distributed across several different computing devices and/or may be remote from search server 410.

검색 서버(410)는 지원형 검색 인터페이스(412)를 또한 포함한다. 지원형 검색 인터페이스(412)는 컴퓨팅 시스템(402)과 데이터베이스 검색 엔진(418) 사이에 위치하는 계층일 수 있다. 일부 구현예들에서, 지원형 검색 인터페이스(412)가 데이터베이스 검색 엔진(418)의 일부일 수 있다. 일부 구현예들에서, 지원형 검색 인터페이스(412)가 데이터베이스 검색 엔진(418)와 별개일 수 있다. 지원형 검색 인터페이스(412)는 사용자가 데이터베이스(419)를 검색하기 위한 키워드를 제공하지 않을 때 호출될 수 있다. 예를 들어, 사용자가 도 2a 내지 도 2d 중 어느 하나에 예시된 바와 같이, 웹페이지에서 컨텐츠를 선택하고 컨트롤(130)을 통해 검색을 트리거할 때. 지원형 검색 인터페이스(412)는 선택된 컨텐츠를 입력으로서 취할 수 있다. 지원형 검색 인터페이스(412)는 선택된 컨텐츠 및 선택된 컨텐츠에 대한 컨텍스트를 입력으로서 취할 수 있다. 지원형 검색 인터페이스(412)는 선택된 컨텐츠를 분석하여 추론되는(가장 가능성이 있는) 검색 의도를 식별하고, 추론된 의도(들)에 대한 쿼리 또는 다수의 쿼리들을 데이터베이스 검색 엔진(418)에 제출할 수 있다. 지원형 검색 인터페이스(412)는 출력으로서 검색 결과 페이지를 제공할 수 있다. 검색 결과 페이지는 데이터베이스(419)로부터의 응답 아이템들을 포함한다. 응답 아이템들은 도 3a 내지 도 3c 중 어느 하나에 예시된 바와 같이, 쿼리에 의해 검색 결과 페이지에서 그룹화된다.Search server 410 also includes an assisted search interface 412. Assisted search interface 412 may be a layer located between computing system 402 and database search engine 418. In some implementations, assisted search interface 412 may be part of database search engine 418. In some implementations, assisted search interface 412 may be separate from database search engine 418. Assisted search interface 412 may be invoked when the user does not provide keywords to search database 419. For example, when a user selects content on a web page and triggers a search via control 130, as illustrated in any of FIGS. 2A-2D. Assisted search interface 412 can take selected content as input. Assisted search interface 412 can take selected content and context for the selected content as input. Assisted search interface 412 may analyze the selected content to identify inferred (most likely) search intent and submit a query or multiple queries regarding the inferred intent(s) to database search engine 418. there is. Assisted search interface 412 may provide a search results page as output. The search results page includes response items from database 419. Response items are grouped on the search results page by query, as illustrated in any of FIGS. 3A-3C.

지원형 검색 인터페이스(412)는 검색 변환기(416) 및/또는 병렬 검색 모듈(414)을 포함할 수 있다. 검색 변환기(416)는 선택된 컨텐츠를 분석하고, 선택된 컨텐츠에서 나타나는 가능성이 있는 검색 의도들을 결정할 수 있다. 검색 의도들은 또한 오브젝트로도 지칭된다. 오브젝트들은 데이터베이스 검색 엔진에서 쿼리로서 사용될 수 있는 키워드, 구문, 엔티티 등을 나타낸다. 검색 변환기(416)는 입력(선택된 컨텐츠)을 분석하는 데 기계 학습 기법들을 사용할 수 있다. 검색 변환기(416)에 의해 사용되는 분석 기법들은 선택된 컨텐츠에 포함되는 컨텐츠의 유형(들)에 따라 달라질 수 있다. 예를 들어, 선택된 컨텐츠가 텍스트라면, 검색 변환기(416)는 텍스트를 쿼리로서 데이터베이스 검색 엔진(418)에 전달할 수 있다. 다른 예로서, 선택된 컨텐츠가 텍스트라면, 검색 변환기(416)는 쿼리로서 제출할 엔티티를 식별하기 위해 종래 또는 이후에 개발될 자연 언어 프로세싱 기법들을 사용하여 텍스트에 언급된 엔티티들을 식별하기 위해 텍스트를 파싱할 수 있다. 이러한 기법들은 검색 변환기(416)에 의해 그리고/또는 오브젝트 식별자(413)에 의해 수행될 수 있다. 언급된 엔티티들은 컨텐츠에서 식별된 오브젝트들이다.Assisted search interface 412 may include a search transformer 416 and/or a parallel search module 414. Search transformer 416 may analyze the selected content and determine search intents likely to appear in the selected content. Search intents are also referred to as objects. Objects represent keywords, phrases, entities, etc. that can be used as queries in a database search engine. Search transformer 416 may use machine learning techniques to analyze the input (selected content). The analysis techniques used by search converter 416 may vary depending on the type(s) of content included in the selected content. For example, if the selected content is text, search transformer 416 may pass the text as a query to database search engine 418. As another example, if the selected content is text, search transformer 416 may parse the text to identify entities mentioned in the text using natural language processing techniques, conventionally or hereafter developed, to identify entities to submit as a query. You can. These techniques may be performed by search transformer 416 and/or by object identifier 413. The entities mentioned are objects identified in the content.

자연 언어 프로세싱 기법들은 특정 엔티티가 텍스트에 언급된 엔티티라는 컨피던스를 제공할 수 있다. 예를 들어, 텍스트 재규어(jaguar)는 여러 상이한 엔티티들을 지칭할 수 있다(예를 들어, 차, 동물, 또는 풋볼 팀을 나타냄). 자연 언어 프로세싱 기법들은 엔티티의 각 상이한 유형에 대한 컨피던스 레벨(스코어)을 제공할 수 있다. 컨피던스 스코어는 특정 엔티티(예를 들어, 차)가 또 다른 엔티티(예를 들어, 풋볼 팀)보다 의도된 의미일 가능성을 나타낸다. 컨텍스트 정보는 컨피던스 레벨을 개선시킬 수 있다. 컨텍스트 정보는 선택된 컨텐츠와 제공될 수 있고, 소스 웹페이지에서 선택된 컨텐츠 근처의 컨텐츠(예를 들어, 텍스트 및/또는 이미지들)를 나타낼 수 있다. 일부 구현예들에서, 컨텍스트 정보가 선택된 컨텐츠와 제공되지 않고 어떠한 엔티티 컨피던스 스코어도 미리 결정된 임계치를 초과하지 않는다면, 검색 변환기(416)는 예를 들어, 컴퓨팅 시스템(402)으로부터 추가적인 컨텍스트를 요청하여, 이를 획득할 수 있다. 일부 컨텍스트가 제공되지만 컨피던스 스코어들이 미리 결정된 임계치를 초과하지 않는 일부 구현예들에서, 검색 변환기(416)는 컴퓨팅 시스템(402)으로부터 추가적인 컨텍스트를 획득할 수 있다. 이러한 컨텍스트는 쿼리 용어들(오브젝트들)을 결정하는 데 사용될 수 있고, 일부 구현예들에서는, 의도 엔진이 인식되는 오브젝트들에 낮은 컨피던스를 갖는 경우에만 사용될 수 있다.Natural language processing techniques can provide confidence that a particular entity is the entity mentioned in the text. For example, the text jaguar may refer to several different entities (e.g., representing a car, an animal, or a football team). Natural language processing techniques can provide a confidence level (score) for each different type of entity. Confidence scores indicate the likelihood that a particular entity (e.g., a car) has the intended meaning over another entity (e.g., a football team). Contextual information can improve the confidence level. Contextual information may be provided with selected content and may indicate content (e.g., text and/or images) near the selected content in a source web page. In some implementations, if context information is not provided with the selected content and no entity confidence score exceeds a predetermined threshold, search transformer 416 may request additional context from computing system 402, for example, by: You can obtain this. In some implementations where some context is provided but confidence scores do not exceed a predetermined threshold, search transformer 416 may obtain additional context from computing system 402. This context may be used to determine query terms (objects) and, in some implementations, may only be used if the intent engine has low confidence in the objects being recognized.

선택된 컨텐츠가 이미지 데이터를 포함한다면, 검색 변환기(416)는 종래 또는 이후에 개발될 오브젝트 인식 기법들을 사용하여 이미지 데이터에 대한 오브젝트 인식을 수행할 수 있다. 이러한 기법들은 오브젝트 식별자(413)에 의해 수행될 수 있다. 오브젝트 식별자(413)는 이미지 또는 이미지들에서 오브젝트들(엔티티, 키워드 등)을 식별하는 데 기계 학습 기법들을 사용할 수 있다. 오브젝트 식별자(413)는 기계 학습 모델, 분류자, 및/또는 회귀 모델을 포함할 수 있다. 오브젝트 식별자(413) 또는 오브젝트 식별자(413)의 부분들은 또 다른 서버 또는 컴퓨팅 디바이스에 의해 제공되는 서비스일 수 있다. 오브젝트 식별자(413)는 텍스트, 이미지, 다수의 이미지들, 또는 텍스트와 이미지들의 조합을 입력으로서 취하고, 입력에서 식별되는 오브젝트들을 제공할 수 있다. 일부 구현예들에서, 오브젝트 식별자(413)는 검색 변환기(416)의 일부일 수 있다.If the selected content includes image data, the search converter 416 may perform object recognition on the image data using conventional or later object recognition techniques. These techniques can be performed by object identifier 413. Object identifier 413 may use machine learning techniques to identify objects (entities, keywords, etc.) in an image or images. Object identifier 413 may include a machine learning model, classifier, and/or regression model. Object identifier 413 or portions of object identifier 413 may be a service provided by another server or computing device. Object identifier 413 may take text, an image, multiple images, or a combination of text and images as input and provide the objects identified in the input. In some implementations, object identifier 413 may be part of search transformer 416.

각 오브젝트에는 각각의 컨피던스 스코어가 제공될 수 있으며, 이는 오브젝트가 입력(예를 들어, 선택된 컨텐츠)에서 나타내어질 가능성을 나타낸다. 오브젝트 식별자(413)는 각 오브젝트에 대한 각각의 사일런시 스코어를 제공할 수 있다. 사일런시 스코어는 오브젝트가 입력에 대해 얼마나 중요한지/주제적(topical)인지를 나타낸다. 예를 들어, 높은 사일런시 스코어는 오브젝트가 텍스트 또는 이미지(들)에서 메인 주제, 메인 포인트, 또는 메인 오브젝트임을 나타낸다. 낮은 사일런시 스코어는 오브젝트가 미미(tangential)하거나 뒷받침하는 오브젝트라는 것을 나타낸다. 높은 컨피던스 및 높은 사일런시를 갖는 오브젝트는 강하게 추론되는 검색 의도를 나타낸다. 높은 컨피던스를 갖지만 낮은 사일런시를 갖는 오브젝트는 보다 약한 검색 의도를 나타낸다. 일부 구현예들에서, 오브젝트 식별자(413)는 상이한 유형들의 컨텐츠를 분석하기 위한 다수의 상이한 모델들, 예를 들어, 텍스트 또는 자연 언어 모델 및 이미지 인식 모델을 포함할 수 있다. 일부 구현예들에서, 검색 변환기(416)는 컨텐츠의 유형에 기초하여 분석에 사용되는 모델을 결정할 수 있다. 일부 구현예들에서, 선택된 컨텐츠가 두 개의 상이한 유형들의 컨텐츠를 포함하고, 선택된 컨텐츠의 부분(예를 들어, 텍스트 부분)이 하나의 모델에 제공될 수 있으며(또는 어떠한 모델에도 제공되지 않음), 선택된 컨텐츠의 또 다른 부분(예를 들어, 이미지 부분)이 상이한 모델에 제공될 수 있다. 일부 구현예들에서, 검색 변환기(416)는 선택된 컨텐츠의 유형(들)을 결정하기 위해 첫 번째 모델을 사용할 수 있다.Each object may be provided with a respective confidence score, which indicates the likelihood that the object will appear in the input (e.g., selected content). The object identifier 413 can provide each silence score for each object. The silence score indicates how important/topical the object is relative to the input. For example, a high silence score indicates that the object is the main subject, main point, or main object in the text or image(s). A low silence score indicates that the object is tangential or a supporting object. Objects with high confidence and high silence indicate strongly inferred search intent. Objects with high confidence but low silence exhibit weaker search intent. In some implementations, object identifier 413 may include multiple different models for analyzing different types of content, such as text or natural language models and image recognition models. In some implementations, search transformer 416 can determine the model used for analysis based on the type of content. In some implementations, the selected content includes two different types of content, and a portion of the selected content (e.g., a text portion) may be provided to one model (or not provided to any model), Another portion of the selected content (eg, an image portion) may be provided to a different model. In some implementations, search transformer 416 may use the first model to determine the type(s) of content selected.

일부 구현예들에서, 검색 변환기(416)는 선택된 컨텐츠에서 식별된 오브젝트들을 데이터베이스(419)에서의 아이템들과 관련된 키워드들(오브젝트들)로 변환/번역할 수 있다. 예를 들어, 오브젝트 식별자(413)는 오브젝트 검출을 수행하는 서비스 또는 모델일 수 있지만, 오브젝트들은 반드시 데이터베이스(419)에서의 관련 용어들로, 예를 들어, 검색가능한 아이템 설명으로 번역되는 것은 아닐 수 있다. 검색 변환기(416)는 식별된 오브젝트들을, 이터베이스(419)에서의 아이템을 식별하게 할 가능성이 더 높은 오브젝트로 변환할 수 있다. 예를 들어, 오브젝트 식별자(413)가 자전거 또는 스키를 제공한다면, 검색 변환기는 식별된 오브젝트를, 데이터베이스(419)를 쿼리하기 위해 스포츠로 변환할 수 있으며, 여기서 데이터베이스(419)는 게임과 관련된다. 유사하게, 검색 변환기(416)는 비치 볼 또는 샌드캐슬의 오브젝트들을 오션뷰로 변환할 수 있으며, 여기서 데이터베이스(419)는 렌탈 자산 또는 매물과 관련된다. 일부 구현예들에서, 이러한 변환/번역은 기계 학습될 수 있다. 예를 들어, 오브젝트 식별자(413)는 후보 오브젝트들을 입력으로서 제공할 수 있고, 검색 변환기(416)는 데이터베이스를 출력으로서 쿼리하는 데 사용되는 식별된 오브젝트들을 제공할 수 있다. 이러한 의미에서, 검색 변환기(416)는 오브젝트 검출 모델의 추가적인, 또는 마지막 계층인 것으로 고려될 수 있다.In some implementations, search translator 416 may convert/translate objects identified in the selected content into keywords (objects) associated with items in database 419. For example, object identifier 413 may be a service or model that performs object detection, but the objects may not necessarily be translated into relevant terms in database 419, for example, into a searchable item description. there is. Search transformer 416 may transform identified objects into objects that are more likely to identify an item in database 419. For example, if object identifier 413 provides bicycle or ski, the search converter can convert the identified object to sports to query database 419, where database 419 relates to games. . Similarly, search converter 416 can convert objects from a beach ball or sandcastle to an ocean view, where database 419 is associated with a rental property or listing. In some implementations, this transformation/translation may be machine learned. For example, object identifier 413 may provide candidate objects as input, and search transformer 416 may provide identified objects used to query a database as output. In this sense, search transformer 416 can be considered an additional, or final, layer of the object detection model.

지원형 검색 인터페이스(412)(예를 들어, 검색 변환기(416) 및/또는 병렬 검색 모듈(414))은 식별된 오브젝트들, 예를 들어, 오브젝트 식별자(413)에 의해 제공된 오브젝트들을 순위화할 수 있다. 식별된 오브젝트의 순위는 오브젝트에 대한 컨피던스 스코어와 사일런시 스코어의 조합에 기초할 수 있다. 일부 구현예들에서, 미리 정의된 컨피던스 스코어 임계치를 충족시키지 않는 오브젝트들은 데이터베이스(419)를 쿼리하는 데 고려되지 않을 수 있다. 일부 구현예들에서, 미리 정의된 사일런스 임계치를 충족시키지 않는 오브젝트들은 데이터베이스(419)를 쿼리하는 데 고려되지 않을 수 있다. 일부 구현예들에서, 미리 정의된 조합된 임계치를 충족시키지 않는 조합된 스코어를 갖지 않는 오브젝트들은 데이터베이스(419)를 쿼리하는 데 고려되지 않을 수 있다. 데이터베이스(419)를 쿼리하는 데 고려되는 식별된 오브젝트들은 개별 쿼리들로서 데이터베이스 검색 엔진(418)에 제공된다. 즉, 두 개의 오브젝트들이 (예를 들어, 오브젝트들이 임계치들을 충족시키는 컨피던스 및/또는 사일런시 스코어들을 갖기 때문에) 쿼리하는 데 고려된다면, 지원형 검색 인터페이스(412)는 두 개의 상이한 쿼리들을 데이터베이스 검색 엔진(418)에 보낸다. 이들 쿼리들은 데이터베이스 검색 엔진(418)에 의해 병렬로 실행, 즉, 동시에 실행될 수 있다. 이는 사용자에 의한 쿼리를 트리거하는 것과 검색 결과 페이지 제시 간의 지연을 감소시킨다. 검색 변환기(416)가 네 개의 오브젝트들을 식별한다면, 네 개의 독립적인 쿼리들이 데이터베이스 검색 엔진(418)에 제출될 수 있다.Assisted search interface 412 (e.g., search transformer 416 and/or parallel search module 414) may rank identified objects, e.g., objects provided by object identifier 413. there is. The ranking of identified objects may be based on a combination of the confidence score and silence score for the object. In some implementations, objects that do not meet a predefined confidence score threshold may not be considered for querying database 419. In some implementations, objects that do not meet a predefined silence threshold may not be considered for querying the database 419. In some implementations, objects that do not have a combined score that does not meet a predefined combined threshold may not be considered for querying the database 419. Identified objects considered for querying database 419 are provided to database search engine 418 as individual queries. That is, if two objects are considered for querying (e.g., because the objects have confidence and/or silence scores that meet thresholds), assisted search interface 412 may send two different queries to the database search engine. Send to (418). These queries may be executed in parallel, i.e., simultaneously, by the database search engine 418. This reduces the delay between triggering a query by the user and presenting the search results page. If search transformer 416 identifies four objects, four independent queries may be submitted to database search engine 418.

일부 구현예들에서, 오브젝트가 없거나 단지 하나의 오브젝트가 데이터베이스(419)를 쿼리하는 데 고려된다면, 검색 변환기(416)는 오브젝트 식별자(413)에 추가적인 컨텍스트를 제공할 수 있고, 오브젝트 식별자(413)는 선택된 컨텐츠에서 식별된 오브젝트들은 분석하고 스코어링하는 데 추가적인 컨텍스트를 사용할 수 있다. 추가적인 컨텍스트는 예를 들어, 선택된 컨텐츠와 이미 검색 변환기(416)에 제공되었을 수도 있다. 추가적인 컨텍스트는 쿼리를 트리거한 컴퓨팅 시스템(402)으로부터 획득될 수 있다. 일부 구현예들에서, 검색 변환기(416)는 소스 웹페이지(예를 들어, 도 1의 W1)에서 선택된 컨텐츠 근처에 있는 컨텍스트 컨텐츠로 시작할 수 있고, 컨피던스 스코어를 증가시키기 위해 필요에 따라 컨텍스트를 확장할 수 있다. 일부 구현예들에서, 검색 변환기(416)는 자신이 수신했거나 모두 한 번에 액세스할 수 있는 컨텍스트 정보를 제공할 수 있다. 일부 구현예들에서, 제2 오브젝트가 컨피던스 및/또는 사일런스 임계치들을 충족시키는지 여부와 관계 없이 선택된 컨텐츠에 대해 최소한 두 개(또는 그 이상)의 쿼리들이 제출될 수 있다. 이는 다수의 쿼리 제출의 확률을 감소시킬 수 있다.In some implementations, if no object or only one object is considered to query database 419, search transformer 416 can provide additional context to object identifier 413, and Additional context can be used to analyze and score the objects identified in the selected content. Additional context may have already been provided to search transformer 416, for example, with the selected content. Additional context may be obtained from the computing system 402 that triggered the query. In some implementations, search transformer 416 may start with context content near the selected content in the source webpage (e.g., W1 in Figure 1) and expand the context as needed to increase the confidence score. can do. In some implementations, search transformer 416 may provide context information that it has received or has access to all at once. In some implementations, at least two (or more) queries may be submitted for the selected content regardless of whether the second object meets confidence and/or silence thresholds. This can reduce the probability of multiple query submissions.

지원형 검색 인터페이스(412)는 쿼리들 및 반환된 결과들을 관리하는 병렬 검색 모듈(414)을 포함할 수 있다. 예를 들어, 병렬 검색 모듈(414)은 데이터베이스 검색 엔진(418)에 (또는 데이터베이스(419)에 직접) 쿼리들을 제출할 수 있다. 병렬 검색 모듈(414)은 쿼리들로서 제출된 오브젝트를 순위화할 수 있다. 순위화는 제1, 또는 프라이머리 오브젝트, 세컨더리 오브젝트 등을 확립할 수 있다. 쿼리에 응답하는 검색 결과들, 즉, 아이템들이 반환될 때, 병렬 검색 모듈(414)은 상이한 쿼리들에 대한 어느 응답 아이템들이 조합된 검색 결과 페이지에 포함되는지를 결정할 수 있다. 달리 말하면, 병렬 검색 모듈(414)은 조합된 검색 결과 페이지로서 반환할 각 쿼리에 대한 응답 아이템들의 세트를 결정할 수 있다. 아이템들의 각 세트 내의 아이템 개수는 다수의 팩터들에 따라 달라질 수 있다. 예를 들어, 프라이머리 쿼리(가장 높은 조합된 컨피던스와 사일런시 스코어를 갖는 것)에 대한 아이템들의 세트는 반환되는 총 응답 아이템 개수, 쿼리와 아이템들의 관련성, 프라이머리 쿼리에 대한 조합된 스코어와 세컨더리 쿼리에 대한 조합된 스코어 간의 차이, 및 조합된 검색 결과 페이지에 이용가능한 디스플레이 영역에 따라 달라질 수 있다. 가장 높은 순위를 갖는 쿼리의 조합된 스코어가 두 번째 순위를 갖는 쿼리의 조합된 스코어보다 훨씬 더 크다면, 가장 높은 순위를 갖는 쿼리에 대한 응답 아이템들의 세트 내의 아이템 개수가, 이러한 최대 개수를 채울 충분한 응답 아이템들이 있다면, 두 번째로 높은 순위를 갖는 쿼리에 대한 응답 아이템들의 세트 내의 아이템 개수보다 더 클 수 있다. 마찬가지로, 가장 높은 순위를 갖는 두 개의 쿼리들의 조합된 스코어가 근접하다면, 응답 아이템들의 두 세트들 내의 아이템 개수는 더 근접할 수 있다.Assisted search interface 412 may include a parallel search module 414 that manages queries and returned results. For example, parallel search module 414 may submit queries to database search engine 418 (or directly to database 419). Parallel search module 414 may rank objects submitted as queries. Ranking may establish a first or primary object, secondary object, etc. When search results, or items, that respond to a query are returned, parallel search module 414 may determine which responding items to the different queries are included in the combined search results page. In other words, parallel search module 414 may determine a set of response items for each query to return as a combined search results page. The number of items within each set of items may vary depending on a number of factors. For example, the set of items for the primary query (the one with the highest combined confidence and silence score) can be determined by the total number of response items returned, the relevance of the items to the query, the combined score for the primary query and the secondary The difference between the combined scores for the query and the display area available on the combined search results page may vary. If the combined score of the highest ranked query is much greater than the combined score of the second ranked query, then the number of items in the set of response items for the highest ranked query is sufficient to fill this maximum number. The response items, if any, may be greater than the number of items in the set of response items for the second highest ranked query. Likewise, if the combined scores of the two highest ranking queries are close, the number of items in the two sets of response items may be closer.

병렬 검색 모듈(414)은 아이템의 각 세트 내의 응답 아이템들을 함께 그룹화함으로써, 조합된 검색 결과 페이지를 생성할 수 있다. 즉, 세트 내의 응답 아이템들은 조합된 검색 결과 페이지에 함께 유지될 수 있다. 일부 구현예들에서, 제1 세트 내의 응답 아이템들, 예를 들어, 가장 높은 순위를 갖는 쿼리에 응답하는 아이템들은 제2 세트 내의 응답 아이템들, 예를 들어, 두 번째로 높은 순위를 갖는 쿼리에 응답하는 아이템들에 비해 프로미넌스를 가질 수 있다. 일부 구현예들에서, 프로미넌스는 아이템들의 제2 세트보다 앞서 아이템들의 제1 세트를 디스플레이하는 것일 수 있다. 일부 구현예들에서, 프로미넌스는 제2 세트 내의 응답 아이템들보다 제1 세트 내의 응답 아이템들에 대한 더 많은 정보를 포함하는 것일 수 있다. 일부 구현예들에서, 제1 세트 내의 개별 응답 아이템들은 제2 세트 내의 개별 응답 아이템들보다 더 크게 제시될 수 있다(예를 들어, 디스플레이의 더 큰 비율을 차지함). 일부 구현예들에서, 프로미넌스가 제1 세트 내의 응답 아이템들에 제2 세트 내의 응답 아이템들과 구별되는 외관을 부여하는 것을 포함할 수 있다. 예를 들어, 제1 세트 내의 응답 아이템들은 하이라이트될 수 있으며, 상이한 색상 배경을 가질 수 있으며, 굵은 텍스트를 가질 수 있는 등이다. 병렬 검색 모듈(414)은 예를 들어, 브라우저(420)의 창 또는 탭에 디스플레이를 위한 쿼리를 트리거한 컴퓨팅 시스템(402)에 조합된 검색 결과 페이지를 제공할 수 있다.Parallel search module 414 may group response items within each set of items together, thereby creating a combined search results page. That is, response items within a set can be kept together in a combined search results page. In some implementations, response items in a first set, e.g., items responding to the highest-ranking query, may be related to response items in a second set, e.g., items responding to the second-highest ranking query. It can have prominence compared to the items it responds to. In some implementations, prominence can be displaying a first set of items before a second set of items. In some implementations, the prominence may be one that includes more information about response items in the first set than response items in the second set. In some implementations, individual response items in the first set may be presented larger (eg, take up a larger proportion of the display) than individual response items in the second set. In some implementations, prominence can include giving response items in the first set a distinct appearance from response items in the second set. For example, response items in the first set may be highlighted, may have a different color background, may have bold text, etc. Parallel search module 414 may present a combined search results page to computing system 402 that triggered the query for display in a window or tab of browser 420, for example.

일부 구현예들에서, 지원형 검색 인터페이스(412)는 검색 서버(410)로부터 원격에 있는 오브젝트 제공자(470)에 쿼리나 쿼리들을 보낼 수 있다. 오브젝트 제공자(470)는 데이터베이스 검색 엔진(476)을 포함하는 서버일 수 있다. 데이터베이스 검색 엔진(476)은 데이터베이스 검색 엔진(418)과 기능상 유사할 수 있다. 데이터베이스 검색 엔진은 데이터베이스(479)에서의 응답 아이템에 대한 쿼리를 수용하고 검색할 수 있다. 데이터베이스(479)는, 데이터베이스(479)가 도큐멘트들의 데이터베이스는 아니지만 제한된 텍스트, 이를테면 아이템 설명, 아이템 타이틀, 아이템 메니페스트 등에 기초하여 아이템들을 인덱싱할 수 있다(이들을 검색가능하게 함)는 점에서, 데이터베이스(419)와 유사할 수 있다. 이에 따라, 구현예들은 검색 서버(410)에 공동 위치된 검색 엔진들에 쿼리하는 것으로 제한되지 않는다. 또한, 일부 구현예들에서, 데이터베이스 검색 엔진(418)은 의도 검색 인터페이스(412)(의 컴포넌트)에 포함될 수 있다. 이에 따라, 도 4에 예시된 구성은 일례이고, 구현예들은 예시된 컴포넌트들에 대한 변형예들을 포함할 수 있다.In some implementations, assisted search interface 412 may send a query or queries to an object provider 470 that is remote from search server 410. Object provider 470 may be a server that includes database search engine 476. Database search engine 476 may be functionally similar to database search engine 418. The database search engine may accept and retrieve queries for response items in database 479. Database 479 is a database in that although database 479 is not a database of documents, it can index items (making them searchable) based on limited text, such as item descriptions, item titles, item manifests, etc. It may be similar to (419). Accordingly, implementations are not limited to querying search engines co-located with search server 410. Additionally, in some implementations, database search engine 418 may be included in (a component of) intent search interface 412. Accordingly, the configuration illustrated in FIG. 4 is an example, and implementations may include modifications to the illustrated components.

도 5는 본 명세서에서 설명되는 개념들 중 적어도 일부에 따라 클라이언트 디바이스에서 수행될 수 있는 방법(500)을 예시하는 흐름도이다. 방법(500)은 비도큐멘트 아이템들의 데이터베이스의 지원형 검색을 트리거하고, 검색의 결과들을 사용자에게 제시할 수 있다. 방법(500)은 클라이언트 디바이스의 도 4의 브라우저(420) 또는 도 1 또는 도 2a 내지 도 2d의 브라우저(105)와 같은 브라우저에 의해 수행될 수 있다. 방법(500)은 브라우저의 디스플레이 영역 내의 웹페이지 디스플레이로 시작될 수 있다(502). 디스플레이 영역은 브라우저의 탭과 연관될 수 있다. 브라우저는 컨텐츠의 선택(504)을 수신할 수 있다. 컨텐츠는 웹페이지 내에 디스플레이되는 컨텐츠일 수 있다. 선택된 컨텐츠는 텍스트 기반일 수 있다. 선택된 컨텐츠는 이미지 기반일 수 있다. 선택된 컨텐츠는 텍스트와 이미지 데이터의 조합일 수 있다. 선택은 종래 기법들을 사용하여 실현될 수 있다. 브라우저는 컨텐츠가 선택되는 동안 검색 컨트롤의 활성화를 검출하고, 아이템들의 데이터베이스의 지원형 검색을 트리거할 수 있다(506). 검색 컨트롤의 활성화는 사용자가 선택된 컨텐츠를 검색 컨트롤로 드래그하고 검색 컨트롤 상에서 선택된 컨텐츠를 드롭함으로써 일어날 수 있다. 검색 컨트롤의 활성화는 웹페이지에서 컨텐츠가 선택되는 동안 사용자가 검색 컨트롤을 클릭/선택함으로써 일어날 수 있다.5 is a flow diagram illustrating a method 500 that may be performed on a client device in accordance with at least some of the concepts described herein. Method 500 may trigger an assisted search of a database of non-document items and present the results of the search to the user. Method 500 may be performed by a browser, such as browser 420 of Figure 4 or browser 105 of Figures 1 or 2A-2D, on a client device. Method 500 may begin with displaying a webpage within a display area of a browser (502). The display area can be associated with a tab in the browser. The browser may receive a selection 504 of content. Content may be content displayed within a web page. The selected content may be text-based. The selected content may be image-based. The selected content may be a combination of text and image data. Selection can be realized using conventional techniques. The browser may detect activation of the search control while content is selected and trigger an assisted search of the database of items (506). Activation of the search control may occur by the user dragging selected content to the search control and dropping the selected content on the search control. Activation of a search control can occur when the user clicks/selects the search control while content is being selected on a web page.

일부 구현예들에서, 선택된 컨텐츠에 대한 컨텍스트가 식별될 수 있다(508). 컨텍스트는 선택된 컨텐츠 부근(근처, 주변)의 텍스트 및/또는 이미지들일 수 있다. 컨텍스트는 선택된 컨텐츠에 링크가 포함될 때 링크의 링크 어드레스에서 식별된 도큐멘트와 연관된 컨텐츠일 수 있다. 컨텍스트는 웹페이지 상의 컨텐츠의 일부분을 포함하거나 웹페이지 상의 모든 컨텐츠를 포함할 수 있다. 컨텍스트는 특정 도큐멘트 오브젝트들 내의 컨텐츠를 포함할 수 있다. 컨텍스트 아이템들은 선택된 컨텐츠에 대한 근접성 또는 또 다른 관계에 의해 결정될 수 있다. 컨텍스트 아이템들은 선택된 컨텐츠와 지원형 검색 인터페이스에 제공될 수 있다. 선택된 컨텐츠(및 선택적으로 컨텍스트 아이템들)를 제공하는 것은 비도큐멘트 아이템들의 데이터베이스의 검색을 트리거한다(510). 검색을 트리거하는 것에 응답하여, 브라우저는 조합된 검색 결과 페이지를 수신한다(512). 조합된 검색 결과 페이지는 아이템들의 데이터베이스에 대해 제출된 제1 쿼리에 응답하는 아이템들의 세트(제1 검색 결과들) 및 제2 쿼리에 응답하는 아이템들의 세트(제2 검색 결과들)를 포함한다. 아이템들의 두 세트들은 조합된 검색 결과 페이지에 그룹들로 디스플레이된다. 각 응답 아이템은 예를 들어, 응답 아이템에 대한 검색 결과를 클릭하거나 탭하면 클라이언트 디바이스가 액션을 수행하게 하도록, 액션가능할 수 있다. 액션들은 아이템들의 데이터베이스에 나타내어지는 아이템의 유형에 따라 달라질 수 있다. 브라우저는 조합된 검색 결과 페이지를 디스플레이할 수 있다(514). 디스플레이는 컨텐츠가 선택된 웹페이지와 브라우저의 새로운 탭, 새로운 브라우저 창, 또는 분할 디스플레이에 있을 수 있다. 그런 다음, 방법(500)은 종료된다. 조합된 검색 결과 페이지로 예시되지만, 일부 구현예들에서, 검색 결과 페이지는 조합된 검색 결과 페이지가 아니라, 단일의 제출된 쿼리에 대한 검색 결과 페이지, 예를 들어, 검색 결과들의 제1 세트일 수 있다.In some implementations, context for the selected content may be identified (508). The context may be text and/or images in the vicinity (near, surrounding) of the selected content. The context may be content associated with the document identified at the link address of the link when the selected content includes a link. The context may include part of the content on the web page or all content on the web page. Context may include content within specific document objects. Context items may be determined by proximity or another relationship to the selected content. Context items may be provided to selected content and an assisted search interface. Providing selected content (and optionally context items) triggers a search of the database of non-document items (510). In response to triggering a search, the browser receives a combined search results page (512). The combined search results page includes a set of items that respond to a first query submitted against the database of items (first search results) and a set of items that respond to a second query (second search results). The two sets of items are displayed as groups on the combined search results page. Each response item may be actionable, for example, to cause the client device to perform an action by clicking or tapping a search result for the response item. Actions may vary depending on the type of item represented in the database of items. The browser may display the combined search results page (514). The display may be on a webpage with the content selected and a new tab in the browser, a new browser window, or a split display. Method 500 then ends. Although illustrated as a combined search results page, in some implementations, the search results page may not be a combined search results page, but rather a search results page for a single submitted query, e.g., a first set of search results. there is.

도 6은 본 명세서에서 설명되는 개념들 중 적어도 일부에 따라 검색 서버에 의해 수행되는 방법(600)을 예시하는 흐름도이다. 방법(600)은 개별 아이템들, 예를 들어, 웹 기반 도큐멘트가 아니라 검색할 아이템과 연관된 제한된 텍스트를 갖는 아이템들의 데이터베이스를 검색하기 위한 선택된 컨텐츠로부터, 추론된 검색 의도로서 해석되는, 적어도 하나의 오브젝트를 식별한다. 통상적으로, 하나보다 많은 오브젝트(추론된 쿼리)가 선택된 컨텐츠로부터 식별될 수 있다. 검색은 추론된 쿼리들을 사용하여 행해지고 조합된 검색 결과 페이지를 생성하며, 특정 쿼리에 응답하는 아이템들이 인터리빙되고 함께 순위화되기 보다는 함께 그룹화된다. 방법(600)은 도 4의 지원형 검색 인터페이스(412)와 같은 지원형 검색 인터페이스에 의해 수행될 수 있다.6 is a flow diagram illustrating a method 600 performed by a search server in accordance with at least some of the concepts described herein. Method 600 provides at least one object, interpreted as inferred search intent, from selected content to search not individual items, e.g., a web-based document, but a database of items with limited text associated with the item to be searched. Identify. Typically, more than one object (inferred query) can be identified from the selected content. Searches are performed using inferred queries and produce a combined search results page, with items answering a particular query interleaved and grouped together rather than ranked together. Method 600 may be performed by an assisted search interface, such as assisted search interface 412 of Figure 4.

방법(600)은 클라이언트 디바이스로부터 선택된 컨텐츠를 수신함으로써 시작될 수 있다(602). 일부 구현예들에서, 선택된 컨텐츠는 컨텍스트 아이템들과 함께 수신될 수 있다. 방법(600)은 선택된 컨텐츠에 대한 제1 오브젝트와 제2 오브젝트를 결정하는 단계를 포함할 수 있다(604). 컨텍스트가 선택된 컨텐츠와 제공되는 구현예들에서, 컨텍스트는 제1 오브젝트 및 제2 오브젝트를 결정하는 데 사용될 수 있다. 오브젝트를 결정하는 것은 기계 학습 모델, 분류자, 및 회귀 모델 중 적어도 하나를 사용하는 것을 포함할 수 있다. 사용되는 오브젝트 검출 기법은 선택된 컨텐츠의 유형에 따라 달라질 수 있다. 예를 들어, 하나의 기법이 선택된 텍스트에 사용될 수 있는 한편, 또 다른 기법이 선택된 이미지들에 사용될 수 있다. 선택된 컨텐츠가 텍스트 및 이미지들을 포함한다면, 하나보다 많은 오브젝트 검출 기법이 사용될 수 있다. 일부 구현예들에서, 오브젝트 검출은 일반적인 검출기, 예를 들어, 데이터베이스 내의 아이템들에 대해 커스터마이징되지 않거나 특화되지 않은 검출기를 사용할 수 있다. 이러한 구현예들에서, 제1 오브젝트 및 제2 오브젝트를 결정하는 것은 일반적인 검출기에 의해 식별된 오브젝트(예를 들어, 종래 자연 언어 프로세싱, 엔티티 검출 등을 사용하여 식별된 후보 오브젝트)를 아이템들의 개별 데이터베이스와 더 많이 관련된 오브젝트로 변환(번역)하는 것을 포함할 수 있다. 일부 구현예들에서, 변환을 위해 아이템들의 데이터베이스에 대해 커스터마이징된 기계 학습 모델을 사용할 수 있다. 일부 구현예들에서, 오브젝트 검출은 이미 아이템들의 데이터베이스에 대해 트레이닝(커스터마이징)되었을 수 있다.Method 600 may begin by receiving selected content from a client device (602). In some implementations, selected content may be received along with context items. Method 600 may include determining a first object and a second object for the selected content (604). In implementations where context is provided with selected content, the context may be used to determine the first object and the second object. Determining the object may include using at least one of a machine learning model, a classifier, and a regression model. The object detection technique used may vary depending on the type of content selected. For example, one technique may be used on selected text, while another technique may be used on selected images. If the selected content includes text and images, more than one object detection technique may be used. In some implementations, object detection may use a generic detector, for example, a detector that is not customized or specialized for the items in the database. In such implementations, determining the first object and the second object involves comparing objects identified by a common detector (e.g., candidate objects identified using conventional natural language processing, entity detection, etc.) to a separate database of items. It may involve converting (translating) an object into a more related object. In some implementations, a machine learning model customized for the database of items may be used for transformation. In some implementations, object detection may already be trained (customized) on a database of items.

식별된 오브젝트들은 각각, 각각의 컨피던스 스코어를 가질 수 있다. 컨피던스 스코어는 선택된 컨텐츠에서 오브젝트가 반영될 가능도(확률)를 나타낸다. 일부 구현예들에서, 제1 오브젝트 및 제2 오브젝트는 미리 결정된 컨피던스 임계치, 이를테면 75% 컨피던스, 80% 컨피던스, 95% 컨피던스 등을 충족시키는 컨피던스 스코어를 가질 수 있다. 식별된 오브젝트들은 각각, 각각의 사일런시 스코어를 가질 수 있다. 사일런시 스코어는 선택된 컨텐츠에 대해 오브젝트가 얼마나 주제적인지 또는 관련되어 있는지를 나타낸다. 일부 구현예들에서, 제1 오브젝트 및 제2 오브젝트는 미리 결정된 사일런시 임계치, 이를테면 40%, 50%, 55% 등을 충족시키는 사일런시 스코어를 가질 수 있으며, 여기서 더 낮은 스코어는 오브젝트가 선택된 컨텐츠의 주제가 아닐(메인 아이디어, 개념이 아님) 가능성이 있음을 나타내고 더 높은 스코어는 오브젝트가 선택된 컨텐츠와 매우 관련됨을 나타낸다. 예를 들어, 이미지의 전경에 있는 오브젝트들은 그 오브젝트들이 배경에 있거나 부분적으로 숨겨지는 등의 이미지에 대해 더 사일런트한 것으로 고려될 수 있다. 일부 구현예들에서, 어떠한 식별된 오브젝트도 컨피던스 임계치를 충족시키는 컨피던스 스코어를 갖지 않는다면(606, 아니오), 추가적인 컨텍스트가 웹페이지로부터 획득될 수 있고(608), 추가적인 컨텍스트를 사용하여 선택된 컨텍스트에 대해 오브젝트 검출이 반복될 수 있으며(604), 이는 초기에 검출된 오브젝트들 중 하나 이상의 오브젝트들의 컨피던스 스코어를 증가시키는 데 도움이 될 수 있다. 일부 구현예들에서, 컨텍스트 아이템들은 선택된 컨텐츠와 제공되지 않는다. 일부 구현예들에서, 선택된 컨텐츠와 제공되는 컨텍스트 아이템들은 선택된 컨텐츠가 취해진 웹페이지 컨텐츠의 일부분만을 나타내므로, 추가적인 컨텍스트 아이템들은 웹페이지로부터 획득될 수 있다. 일부 구현예들에서, 선택된 컨텐츠와 제공되는 컨텍스트 아이템들의 일부분만이 초기에 오브젝트들을 결정하는 데 사용될 수 있고, 추가적인 컨텍스트 아이템들은 오브젝트 검출의 제2 라운드에 (그리고 잠재적으로 추가적인 컨텍스트 아이템들과 3 라운드에) 사용될 수 있다.Identified objects may each have their own confidence scores. The confidence score indicates the likelihood (probability) that an object will be reflected in the selected content. In some implementations, the first object and the second object may have confidence scores that meet a predetermined confidence threshold, such as 75% confidence, 80% confidence, 95% confidence, etc. Identified objects may each have their own silence scores. The silence score indicates how topical or related the object is to the selected content. In some implementations, the first object and the second object may have a silence score that meets a predetermined silence threshold, such as 40%, 50%, 55%, etc., where a lower score indicates that the object is selected for content indicates that the object is likely not the topic (not the main idea, concept), and a higher score indicates that the object is highly related to the selected content. For example, objects in the foreground of an image may be considered quieter for an image in which the objects are in the background or partially hidden, etc. In some implementations, if no identified object has a confidence score that satisfies the confidence threshold (606, no), additional context may be obtained from the webpage (608), and the additional context may be used to determine the selected context. Object detection may be repeated 604, which may help increase the confidence score of one or more of the initially detected objects. In some implementations, context items are not presented with selected content. In some implementations, the selected content and provided context items represent only a portion of the webpage content from which the selected content was taken, so additional context items may be obtained from the webpage. In some implementations, only a portion of the selected content and provided context items may be used to initially determine objects, and additional context items may be used in a second round of object detection (and potentially in a third round with additional context items). ) can be used.

방법(600)은 제1 오브젝트 및 제2 오브젝트에 대응하는 쿼리들에 대한 조합된 검색 결과 페이지를 생성하는 단계를 포함한다(610). 조합된 검색 결과 페이지를 생성하는 것은 제1 오브젝트를 쿼리로서 사용하여 데이터베이스에서 아이템들의 제1 검색을 수행함으로써, 제1 결과들(결과들의 제1 세트)을 생성하는 것을 포함할 수 있다(612). 유사하게, 제2 오브젝트를 쿼리로서 사용하여 데이터베이스에서 아이템들의 제2 검색을 수행함으로써 제2 결과들(제2 결과들의 세트)이 생성될 수 있다(614). 방법(600)은 (검색 결과들의 제1 세트에 대응하는) 조합된 검색 결과 페이지에 포함하기 위한 제1 쿼리에 응답하는 아이템들의 제1 세트를 제1 결과들로부터 선택하고, (검색 결과들의 제2 세트에 대응하는) 조합된 결과 페이지에 포함하기 위한 제2 쿼리에 응답하는 아이템들의 제2 세트를 제2 결과들로부터 선택하는 단계를 포함할 수 있다(616). 검색 결과들의 제1 세트 내의 각 검색 결과는 제1 쿼리에 응답하는 것으로서 식별된 아이템에 대응한다. 검색 결과들의 제2 세트 내의 각 검색 결과는 제2 쿼리에 응답하는 것으로서 식별된 아이템에 대응한다. 일부 구현예들에서, 제1 오브젝트와 제2 오브젝트(및 쿼리들로서 제출된 임의의 다른 오브젝트들)는 예를 들어, 각각의 컨피던스 스코어들, 각각의 사일런시 스코어들, 또는 이들의 조합을 사용하여, 순위화될 수 있다. 일부 구현예들에서, 제1 오브젝트가 가장 높은 순위를 갖는 오브젝트일 수 있다. 도 6에 도시되지 않지만, 추가적인 오브젝트들이 결정되고, 데이터베이스에 쿼리하고 조합된 결과를 생성하는 데 사용될 수 있다. 일부 구현예들에서, 쿼리를 제출하기 전에 순위화가 일어날 수 있다. 일부 구현예들에서, 임계치를 만족하는 순위를 갖는 모든 오브젝트들이 쿼리로서 제출될 수 있다.Method 600 includes generating a combined search results page for queries corresponding to the first object and the second object (610). Generating a combined search results page may include performing a first search of items in the database using the first object as a query, thereby generating first results (a first set of results) (612). . Similarly, second results (a second set of results) may be generated by performing a second search of items in the database using the second object as a query (614). Method 600 selects from the first results a first set of items that respond to a first query (corresponding to the first set of search results) for inclusion in a combined search results page (corresponding to the first set of search results). selecting from the second results a second set of items that respond to the second query for inclusion in the combined results page (corresponding to the two sets) (616). Each search result within the first set of search results corresponds to an item identified as responding to the first query. Each search result in the second set of search results corresponds to an item identified as responding to the second query. In some implementations, the first object and the second object (and any other objects submitted as queries) are evaluated using, for example, respective confidence scores, respective silence scores, or a combination thereof. , can be ranked. In some implementations, the first object may be the highest ranked object. Although not shown in Figure 6, additional objects may be determined and used to query the database and generate combined results. In some implementations, ranking may occur before submitting the query. In some implementations, all objects with a rank that satisfies a threshold may be submitted as a query.

오브젝트들이 순위화되는 구현예들에서, 결과들의 제1 세트는 결과들의 제2 세트보다 더 프로미넌스를 가질 수 있다. 일례에서, 프로미넌스는 결과들의 제1 세트가 결과들의 제2 세트보다 앞서 디스플레이될 수 있음을 의미할 수 있다(예를 들어, 도 3a에 예시된 바와 같이). 일례에서, 프로미넌스는 결과들의 제1 세트 내의 개별 결과들이 결과들의 제2 세트 내의 개별 결과들보다 더 많은 디스플레이 영역을 점유할 수 있음(예를 들어, 더 크거나 더 많은 정보적인 아이템들/속성들을 가짐)을 의미할 수 있다(예를 들어, 도 3c에 예시된 바와 같이). 일례에서, 프로미넌스는 결과들의 제1 세트가 결과들의 제2 세트보다 더 높은 멤버 개수(즉, 결과들의 세트에서 검색 결과들에 의해 나타내어지는 아이템의 더 높은 개수)를 가질 수 있음을 의미할 수 있다(예를 들어, 도 3b에 도시된 바와 같이). 결과들의 각 세트 내의 아이템 개수, 또는 달리 말하면, 검색 결과 페이지에 포함되는 검색 결과들의 세트 내의 멤버 개수는 쿼리에 대응하는 오브젝트의 각각의 컨피던스 스코어 및/또는 사일런시 스코어, 쿼리에 응답하는 아이템 개수, 쿼리와 응답 아이템들의 관련성, 조합된 검색 결과 페이지에 이용가능한 디스플레이 영역 등을 포함하여, 다수의 팩터들에 따라 달라질 수 있다. 일부 구현예들에서, (검색 결과 페이지에 포함되는) 결과들의 제1 세트 내의 멤버(예를 들어, 이에 나타내어지는 아이템) 개수는 제1 오브젝트에 대한 컨피던스 스코어, 제1 오브젝트에 대한 사일런스 스코어, 제1 쿼리에 응답하는 것으로서 식별되는 아이템 개수, 디스플레이의 사이즈, 및/또는 제1 오브젝트와 제1 결과들의 관련성의 함수일 수 있다. 일부 구현예들에서, (검색 결과 페이지에 포함되는) 결과들의 제2 세트 내의 멤버 개수는 제2 오브젝트에 대한 컨피던스 스코어, 제2 오브젝트에 대한 사일런스 스코어, 제2 쿼리에 응답하는 것으로서 식별되는 아이템 개수, 디스플레이의 사이즈, 및/또는 제2 오브젝트와 제2 결과들의 관련성의 함수일 수 있다. 일부 구현예들에서, 결과들의 제2 세트 내의 멤버 개수는 결과들의 제1 세트 내의 멤버 개수에 영향을 받을 수 있다. 일부 구현예들에서, 결과들의 제2 세트 내의 멤버 개수는 결과들의 제1 세트 내의 멤버 개수가 결정된 후에 결정된다. 방법(600)은 조합된 검색 결과 페이지를 클라이언트 디바이스에 제공하는 단계를 포함할 수 있으며(618), 여기서 이는 예를 들어, 브라우저의 사용자 인터페이스에서, 사용자에게 디바이스될 수 있다. 그런 다음, 방법(600)은 종료된다.In implementations where objects are ranked, a first set of results may have more prominence than a second set of results. In one example, prominence may mean that a first set of results may be displayed before a second set of results (e.g., as illustrated in Figure 3A). In one example, prominence may allow individual results within a first set of results to occupy more display area (e.g., display larger or more informative items/attributes) than individual results within a second set of results. has) may mean (e.g., as illustrated in FIG. 3C). In one example, prominence may mean that a first set of results may have a higher member count (i.e., a higher number of items represented by the search results in the set of results) than the second set of results. (e.g., as shown in Figure 3b). The number of items in each set of results, or in other words, the number of members in the set of search results included in the search results page, includes the respective confidence score and/or silence score of the object corresponding to the query, the number of items responding to the query, It may depend on a number of factors, including the relevance of the query and response items, the display area available on the combined search results page, etc. In some implementations, the number of members (e.g., items represented therein) within the first set of results (included in the search results page) includes a confidence score for the first object, a silence score for the first object, a second 1 may be a function of the number of items identified as responding to the query, the size of the display, and/or the relevance of the first object to the first results. In some implementations, the number of members in the second set of results (included in the search results page) includes a confidence score for the second object, a silence score for the second object, a number of items identified as responding to the second query , the size of the display, and/or the relevance of the second object and the second results. In some implementations, the number of members in the second set of results can be influenced by the number of members in the first set of results. In some implementations, the number of members in the second set of results is determined after the number of members in the first set of results is determined. Method 600 may include providing 618 a combined search results page to a client device, where it may be displayed to the user, for example, in a user interface of a browser. Method 600 then ends.

도 7은 본 명세서에서 설명되는 기법들과 사용될 수 있는, 일반 컴퓨팅 디바이스(700)와 일반 모바일 컴퓨팅 디바이스(750)의 예를 도시한다. 컴퓨팅 디바이스(700)는 다양한 형태들의 디지털 컴퓨터, 랩탑, 데스크탑, 태블릿, 워크스테이션, 개인 휴대 정보 단말기, 텔레비전, 서버, 블레이드 서버, 메인프레임, 및 다른 적절한 컴퓨팅 디바이스들을 나타내는 것으로 의도된다. 컴퓨팅 디바이스(750)는 개인 휴대 정보 단말기, 셀룰러 전화, 스마트 폰, 및 다른 유사한 컴퓨팅 디바이스들과 같은 다양한 형태들의 모바일 디바이스들을 나타내는 것으로 의도된다. 여기서 도시된 컴포넌트들, 이들의 연결부들 및 관계들, 및 이들의 기능들은 단지 예들일 뿐이고, 본 문헌에서 설명되고/되거나 청구되는 발명의 구현예들을 제한하는 것을 의미하지 않는다.7 shows examples of a generic computing device 700 and a generic mobile computing device 750 that can be used with the techniques described herein. Computing device 700 is intended to represent various types of digital computers, laptops, desktops, tablets, workstations, personal digital assistants, televisions, servers, blade servers, mainframes, and other suitable computing devices. Computing device 750 is intended to represent various types of mobile devices, such as personal digital assistants, cellular phones, smart phones, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are examples only and are not meant to limit implementations of the invention described and/or claimed in this document.

컴퓨팅 디바이스(700)는 프로세서(702), 메모리(704), 저장 디바이스(706), 메모리(704) 및 고속 확장 포트(710)에 연결되는 고속 인터페이스(708), 및 저속 버스(714) 및 저장 디바이스(706)에 연결되는 저속 인터페이스(712)를 포함한다. 프로세서(702)는 반도체 기반 프로세서일 수 있다. 메모리(704)는 반도체 기반 메모리일 수 있다. 컴포넌트들(702, 704, 706, 708, 710, 및 712)은 다양한 버스들을 사용하여 상호연결되고, 공통 마더보드 상에 또는 적절한 다른 방식들로 장착될 수 있다. 프로세서(702)는 고속 인터페이스(708)에 결합된 디스플레이(716)와 같은 외부 입력/출력 디바이스 상에 GUI에 대한 그래픽 정보를 디스플레이하기 위해 메모리(704) 또는 저장 디바이스(706) 상에 저장된 명령어들을 포함하여, 컴퓨팅 디바이스(700) 내에서 실행하기 위한 명령어들을 프로세싱할 수 있다. 다른 구현예들에서, 다수의 프로세서들 및/또는 다수의 버스들이 다수의 메모리들 및 유형들의 메모리와 함께 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(700)이 연결될 수 있으며, 각 디바이스는 필요한 동작들의 부분들을 (예를 들어, 서버 뱅크, 블레이드 서버들의 그룹, 또는 멀티 프로세서 시스템으로서) 제공한다.Computing device 700 includes a processor 702, memory 704, a storage device 706, a high-speed interface 708 coupled to memory 704 and a high-speed expansion port 710, and a low-speed bus 714 and storage. It includes a low-speed interface 712 coupled to device 706. The processor 702 may be a semiconductor-based processor. Memory 704 may be a semiconductor-based memory. Components 702, 704, 706, 708, 710, and 712 are interconnected using various buses and may be mounted on a common motherboard or in other suitable manners. Processor 702 may execute instructions stored on memory 704 or storage device 706 to display graphical information for the GUI on an external input/output device, such as display 716 coupled to high-speed interface 708. Including, instructions for execution within the computing device 700 may be processed. In other implementations, multiple processors and/or multiple buses may be suitably used with multiple memories and types of memory. Additionally, multiple computing devices 700 may be connected, each device providing portions of the required operations (e.g., as a server bank, a group of blade servers, or a multi-processor system).

메모리(704)는 컴퓨팅 디바이스(700) 내에 정보를 저장한다. 일 구현예에서, 메모리(704)는 휘발성 메모리 유닛 또는 유닛들이다. 다른 구현예에서, 메모리(704)는 비휘발성 메모리 유닛 또는 유닛들이다. 메모리(704)는 또한, 자기 또는 광학 디스크와 같은, 또 다른 형태의 컴퓨터 판독가능 매체일 수 있다.Memory 704 stores information within computing device 700. In one implementation, memory 704 is a volatile memory unit or units. In another implementation, memory 704 is a non-volatile memory unit or units. Memory 704 may also be another form of computer-readable media, such as a magnetic or optical disk.

저장 디바이스(706)는 컴퓨팅 디바이스(700)를 위한 대용량 스토리지를 제공할 수 있다. 일 구현예에서, 저장 디바이스(706)는 컴퓨터 판독가능 매체, 이를테면 플로피 디스크 디바이스, 하드 디스크 디바이스, 광학 디스크 디바이스, 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 솔리드 스테이트 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성들에서의 디바이스들을 포함하는, 디바이스들의 어레이일 수 있거나 이를 포함할 수 있다. 컴퓨터 프로그램 제품은 정보 캐리어에 실체적으로 구체화될 수 있다. 컴퓨터 프로그램 제품은 실행될 때, 위에서 설명된 것과 같은 하나 이상의 방법들을 수행하는 명령어들을 또한 포함할 수 있다. 정보 캐리어는 메모리(704), 저장 디바이스(706), 또는 프로세서(702) 상의 메모리와 같은 컴퓨터 또는 기계 판독가능 매체이다.Storage device 706 may provide mass storage for computing device 700. In one implementation, storage device 706 is a computer-readable medium, such as a floppy disk device, hard disk device, optical disk device, or tape device, flash memory or other similar solid state memory device, or a storage area network or other configuration. It may be or include an array of devices, including devices in fields. A computer program product may be embodied in an information carrier. The computer program product may also include instructions that, when executed, perform one or more methods such as those described above. The information carrier is a computer or machine-readable medium, such as memory 704, storage device 706, or memory on processor 702.

고속 제어기(708)는 컴퓨팅 디바이스(700)에 대한 대역폭 집약적 동작들을 관리하는 한편, 저속 제어기(712)는 보다 낮은 대역폭 집약적 동작들을 관리한다. 이러한 기능들의 할당은 예시적인 것일 뿐이다. 일 구현예에서, 고속 제어기(708)는 메모리(704), 디스플레이(716)(예를 들어, 그래픽 프로세서 또는 가속기를 통해), 및 다양한 확장 카드들(도시되지 않음)을 수용할 수 있는 고속 확장 포트들(710)에 결합된다. 구현예에서, 저속 제어기(712)는 저장 디바이스(706) 및 저속 확장 포트(714)에 결합된다. 다양한 통신 포트들(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)을 포함할 수 있는 저속 확장 포트는 하나 이상의 입력/출력 디바이스들, 이를테면 키보드, 포인팅 디바이스, 스캐너, 또는 스위치 또는 라우터와 같은 네트워킹 디바이스에 예를 들어, 네트워크 어댑터를 통해, 결합될 수 있다.High-speed controller 708 manages bandwidth-intensive operations for computing device 700, while low-speed controller 712 manages less bandwidth-intensive operations. The assignment of these functions is illustrative only. In one implementation, high-speed controller 708 is capable of high-speed expansion to accommodate memory 704, display 716 (e.g., via a graphics processor or accelerator), and various expansion cards (not shown). Coupled to ports 710. In an implementation, low speed controller 712 is coupled to storage device 706 and low speed expansion port 714. The low-speed expansion port, which can include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet), can support one or more input/output devices, such as a keyboard, pointing device, scanner, or networking such as a switch or router. It may be coupled to the device, for example via a network adapter.

컴퓨팅 디바이스(700)는 도면에 도시된 바와 같이 다수의 상이한 형태들로 구현될 수 있다. 예를 들어, 이는 표준 서버(720)로서, 또는 이러한 서버의 그룹들로 다수 회 구현될 수 있다. 이는 또한, 랙 서버 시스템(724)의 일부로서 구현될 수도 있다. 추가로, 이는 랩탑 컴퓨터(722)와 같은 개인용 컴퓨터로 구현될 수 있다. 대안적으로, 컴퓨팅 디바이스(700)의 컴포넌트들은 디바이스(750)와 같은 모바일 디바이스(도시되지 않음) 내의 다른 컴포넌트들과 조합될 수 있다. 이러한 디바이스들 각각은 하나 이상의 컴퓨팅 디바이스들(700, 750)을 포함할 수 있고, 전체 시스템은 서로 통신하는 다수의 컴퓨팅 디바이스들(700, 750)로 구성될 수 있다.Computing device 700 may be implemented in a number of different forms as shown in the figure. For example, it could be implemented as a standard server 720, or in multiple groups of such servers. It may also be implemented as part of rack server system 724. Additionally, this may be implemented with a personal computer, such as laptop computer 722. Alternatively, the components of computing device 700 may be combined with other components within a mobile device (not shown), such as device 750. Each of these devices may include one or more computing devices 700, 750, and the overall system may be comprised of multiple computing devices 700, 750 in communication with each other.

컴퓨팅 디바이스(750)는 다른 컴포넌트들 중에서도, 프로세서(752), 메모리(764), 디스플레이(754)와 같은 입력/출력 디바이스, 통신 인터페이스(766), 송수신기(768)를 포함한다. 디바이스(750)는 또한, 추가적인 저장소를 제공하기 위해, 마이크로드라이브 또는 다른 디바이스와 같은 저장 디바이스와 제공될 수 있다. 컴포넌트들(750, 752, 764, 754, 766, 및 768)은 다양한 버스들을 사용하여 상호연결되고, 여러 컴포넌트들이 공통 마더보드 상에 또는 적절한 다른 방식들로 장착될 수 있다.Computing device 750 includes a processor 752, memory 764, input/output devices such as display 754, communication interface 766, and transceiver 768, among other components. Device 750 may also be provided with a storage device, such as a microdrive or other device, to provide additional storage. Components 750, 752, 764, 754, 766, and 768 are interconnected using various buses, and the various components may be mounted on a common motherboard or in other suitable manners.

프로세서(752)는 메모리(764)에 저장된 명령어들을 포함하여, 명령어들을 컴퓨팅 디바이스(750) 내에서 실행할 수 있다. 프로세서는 별개의 다수의 아날로그 및 디지털 프로세서들을 포함하는 칩들의 칩셋으로서 구현될 수 있다. 프로세서는 예를 들어, 디바이스(750)의 다른 컴포넌트들, 이를테면 사용자 인터페이스들, 디바이스(750)에 의해 실행되는 애플리케이션들, 및 디바이스(750)에 의한 무선 통신의 조율을 제공할 수 있다.Processor 752 may execute instructions within computing device 750, including instructions stored in memory 764. A processor may be implemented as a chipset of chips containing multiple separate analog and digital processors. The processor may, for example, provide coordination of other components of device 750, such as user interfaces, applications executed by device 750, and wireless communications by device 750.

프로세서(752)는 디스플레이(754)에 결합된 디스플레이 인터페이스(756) 및 제어 인터페이스(758)를 통해 사용자와 통신할 수 있다. 디스플레이(754)는 예를 들어, TFT LCD(Thin-Film-Transistor Liquid Crystal Display) 또는 OLED(Organic Light Emitting Diode) 디스플레이, 또는 다른 적절한 디스플레이 기술일 수 있다. 디스플레이 인터페이스(756)는 사용자에게 그래픽 및 다른 정보를 제시하도록 디스플레이(754)를 구동하기 위한 적절한 회로부를 포함할 수 있다. 제어 인터페이스(758)는 사용자로부터 커맨드들을 수신하고, 이것들을 프로세서(752)에 제출하기 위해 변환할 수 있다. 또한, 디바이스(750)의 다른 디바이스들과의 근거리 통신을 가능하게 하기 위해,프로세서(752)와의 통신에 외부 인터페이스(762)가 제공될 수 있다. 외부 인터페이스(762)는 예를 들어, 일부 구현예들에서 유선 통신을 위해, 또는 다른 구현예들에서 무선 통신을 위해 제공될 수 있고, 다수의 인터페이스들도 사용될 수 있다.Processor 752 may communicate with a user through display interface 756 and control interface 758 coupled to display 754. Display 754 may be, for example, a Thin-Film-Transistor Liquid Crystal Display (TFT LCD) or Organic Light Emitting Diode (OLED) display, or other suitable display technology. Display interface 756 may include suitable circuitry for driving display 754 to present graphics and other information to a user. Control interface 758 may receive commands from the user and convert them for submission to processor 752. Additionally, to enable short-distance communication of the device 750 with other devices, an external interface 762 may be provided for communication with the processor 752. External interface 762 may be provided, for example, for wired communication in some implementations, or wireless communication in other implementations, and multiple interfaces may also be used.

메모리(764)는 컴퓨팅 디바이스(750) 내에 정보를 저장한다. 메모리(764)는 컴퓨터 판독가능 매체 또는 매체들, 휘발성 메모리 유닛 또는 유닛들, 또는 비휘발성 메모리 유닛 또는 유닛들 중 하나 이상으로서 구현될 수 있다. 확장 메모리(774)가 또한 제공되고, 예를 들어, SIMM(Single In Line Memory Module) 카드 인터페이스를 포함할 수 있는 확장 인터페이스(772)를 통해 디바이스(750)에 연결될 수 있다. 이러한 확장 메모리(774)는 디바이스(750)에 대한 추가 저장 공간을 제공할 수 있거나, 디바이스(750)에 대한 애플리케이션들 또는 다른 정보를 또한 저장할 수 있다. 구체적으로, 확장 메모리(774)는 위에서 설명된 프로세스들을 수행하거나 보충하는 명령어들을 포함할 수 있고, 또한 보안 정보를 포함할 수 있다. 이에 따라, 예를 들어, 확장 메모리(774)는 디바이스(750)의 보안 모듈로서 제공될 수 있고, 디바이스(750)의 보안 사용을 허용하는 명령어들로 프로그램될 수 있다. 또한, 보안 애플리케이션들은 이를테면 SIMM 카드 상에 식별 정보를 해킹 불가능한 방식으로 배치하여, 추가적인 정보와 함께, SIMM 카드를 통해 제공될 수 있다.Memory 764 stores information within computing device 750. Memory 764 may be implemented as one or more of a computer-readable medium or media, a volatile memory unit or units, or a non-volatile memory unit or units. Expansion memory 774 is also provided and may be connected to device 750 via an expansion interface 772, which may include, for example, a Single In Line Memory Module (SIMM) card interface. This expansion memory 774 may provide additional storage space for device 750 or may also store applications or other information for device 750. Specifically, expansion memory 774 may include instructions that perform or supplement the processes described above, and may also include security information. Accordingly, for example, expansion memory 774 may serve as a security module of device 750 and may be programmed with instructions to allow secure use of device 750. Additionally, security applications may be provided via the SIMM card along with additional information, for example by placing identification information on the SIMM card in an unhackable manner.

메모리는 아래에서 논의될 바와 같이, 예를 들어, 플래시 메모리 및/또는 NVRAM 메모리를 포함할 수 있다. 일 구현예에서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 구현된다. 컴퓨터 프로그램 제품은 실행될 때, 위에서 설명된 것과 같은 하나 이상의 방법들을 수행하는 명령들을 포함한다. 정보 캐리어는 메모리(764), 확장 메모리(774), 또는 프로세서(752) 상의 메모리와 같은, 컴퓨터 또는 기계 판독가능 매체이며, 이는 예를 들어, 송수신기(768) 또는 외부 인터페이스(762)를 통해 수신될 수 있다.Memory may include, for example, flash memory and/or NVRAM memory, as discussed below. In one implementation, the computer program product is tangibly embodied in an information carrier. The computer program product includes instructions that, when executed, perform one or more methods such as those described above. The information carrier is a computer or machine-readable medium, such as memory 764, expansion memory 774, or memory on processor 752, which is received via, for example, transceiver 768 or external interface 762. It can be.

디바이스(750)는 통신 인터페이스(766)를 통해 무선으로 통신할 수 있으며, 이는 필요한 경우 디지털 신호 프로세싱 회로부를 포함할 수 있다. 통신 인터페이스(766)는 다양한 모드들 또는 프로토콜들, 다른 것들 중에서도, 이를테면 GSM 음성 통화, SMS, EMS, 또는 MMS 메시징, CDMA, TDMA, PDC, WCDMA, CDMA2000, 또는 GPRS 하의 통신을 제공할 수 있다. 이러한 통신은 예를 들어, 송수신기(768)를 통해 일어날 수 있다. 추가로, 이를테면 Bluetooth, WiFi, 또는 다른 이러한 송수신기(도시되지 않음)를 사용하여, 단거리 통신이 일어날 수 있다. 추가로, GPS(Global Positioning System) 수신기 모듈(770)은 디바이스(750)에 추가적인 내비게이션 및 위치 관련 무선 데이터를 제공할 수 있으며, 이는 디바이스(750) 상에서 실행되는 애플리케이션들에 의해 적절하게 사용될 수 있다.Device 750 may communicate wirelessly via communication interface 766, which may include digital signal processing circuitry, if desired. Communication interface 766 may provide communication under various modes or protocols, such as GSM voice calling, SMS, EMS, or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, or GPRS, among others. Such communication may occur via transceiver 768, for example. Additionally, short-range communications may occur, such as using Bluetooth, WiFi, or other such transceivers (not shown). Additionally, Global Positioning System (GPS) receiver module 770 may provide device 750 with additional navigation and location-related wireless data, which may be used as appropriate by applications running on device 750. .

디바이스(750)는 또한, 사용자로부터 발화된 정보를 수신하고 이를 사용가능한 디지털 정보로 변환할 수 있는 오디오 코덱(760)을 사용하여 들릴 수 있게 통신할 수도 있다. 오디오 코덱(760)도 마찬가지로, 이를테면 스피커를 통해, 예를 들어, 디바이스(750)의 핸드셋으로 사용자에 들릴 수 있는 사운드를 생성할 수 있다. 이러한 사운드는 음성 전화 통화로부터의 사운드를 포함할 수 있고, 레코딩된 사운드(예를 들어, 음성 메시지, 음악 파일 등)를 포함할 수 있으며, 디바이스(750) 상에서 동작하는 애플리케이션들에 의해 생성되는 사운드를 또한 포함할 수 있다.Device 750 may also communicate audibly using audio codec 760, which can receive spoken information from a user and convert it into usable digital information. Audio codec 760 may likewise produce sound that can be heard by a user, such as through a speaker, for example with the handset of device 750. Such sounds may include sounds from voice phone calls, recorded sounds (e.g., voice messages, music files, etc.), and sounds generated by applications running on device 750. may also include.

컴퓨팅 디바이스(750)는 도면에 도시된 바와 같이 다수의 상이한 형태들로 구현될 수 있다. 예를 들어, 이는 셀룰러 전화(780)로서 구현될 수 있다. 이는 또한, 스마트 폰(782), 개인 휴대 정보 단말기, 또는 다른 유사한 모바일 디바이스의 일부로서 구현될 수 있다.Computing device 750 may be implemented in a number of different forms as shown in the figure. For example, this could be implemented as a cellular phone 780. It may also be implemented as part of a smart phone 782, a personal digital assistant, or another similar mobile device.

본 명세서에서 설명된 시스템들 및 기법들의 다양한 구현예들은 디지털 전자 회로부, 집적 회로부, 특수 설계된 주문형 집적 회로(ASIC), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합들로 실현될 수 있다. 이러한 다양한 구현예들은 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령들을 수신하고, 이들에 데이터 및 명령들을 송신하기 위해 결합된, 특수 또는 범용일 수 있는, 적어도 하나의 프로그램가능 프로세서를 포함하는 프로그램가능 시스템 상에서 실행가능하고/하거나 해석가능한 하나 이상의 컴퓨터 프로그램들을 구현할 수 있다.Various implementations of the systems and techniques described herein may be realized with digital electronic circuitry, integrated circuitry, specially designed application-specific integrated circuits (ASICs), computer hardware, firmware, software, and/or combinations thereof. These various implementations include at least one device, which may be special or general purpose, coupled to receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device. One or more computer programs executable and/or interpretable may be implemented on a programmable system that includes a programmable processor.

이러한 컴퓨터 프로그램들(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드로도 알려짐)은 프로그램가능 프로세서를 위한 기계 명령들을 포함하고, 상위 레벨 절차적 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본 명세서에서 사용될 때, "기계 판독가능 매체" "컴퓨터 판독가능 매체"라는 용어들은 기계 명령어들을 기계 판독가능 신호로서 수신하는 기계 판독가능 매체를 포함하여, 프로그램 가능 프로세서에 기계 명령어들 및/또는 데이터를 제공하기 위해 사용되는 임의의 컴퓨터 프로그램 제품, 장치 및/또는 디바이스(예를 들어, 자기 디스크, 광학 디스크, 메모리, 프로그램 가능 로직 디바이스(PLD))를 지칭한다. "기계 판독가능 신호"라는 용어는 프로그램가능 프로세서에 기계 명령들 및/또는 데이터를 제공하기 위해 사용되는 임의의 신호를 지칭한다.These computer programs (also known as programs, software, software applications, or code) contain machine instructions for a programmable processor and may be implemented in a high-level procedural and/or object-oriented programming language and/or assembly/machine language. You can. As used herein, the terms “machine-readable medium” and “computer-readable medium” include a machine-readable medium that receives machine instructions as a machine-readable signal, and transmits machine instructions and/or data to a programmable processor. refers to any computer program product, apparatus, and/or device (e.g., magnetic disk, optical disk, memory, programmable logic device (PLD)) used to provide. The term “machine-readable signal” refers to any signal used to provide machine instructions and/or data to a programmable processor.

사용자와의 상호작용을 제공하기 위해, 본 명세서에서 설명된 시스템들 및 기법들은 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스(예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터), 및 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)을 갖는 컴퓨터 상에서 구현될 수 있다. 사용자와의 상호작용을 제공하기 위해 다른 종류들의 디바이스들이 사용될 수 있으며; 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백(예를 들어, 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백)일 수 있고; 사용자로부터의 입력은 음향, 음성, 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다.To provide interaction with a user, the systems and techniques described herein include a display device (e.g., a cathode ray tube (CRT) or liquid crystal display (LCD) monitor) for displaying information to a user; and a keyboard and a pointing device (eg, a mouse or trackball) that enable a user to provide input to the computer. Different types of devices may be used to provide interaction with the user; For example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); Input from the user may be received in any form, including acoustic, vocal, or tactile input.

본 명세서에서 설명된 시스템들 및 기술들은 (예를 들어, 데이터 서버로서) 백엔드 컴포넌트를 포함하거나, 미들웨어 컴포넌트(예를 들어, 애플리케이션 서버)를 포함하거나, 프론트 엔드 컴포넌트(예를 들어, 사용자가 본 명세서에서 설명된 시스템들 및 기술들의 구현예와 상호작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터)를 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 임의의 형태 또는 매체의 디지털 데이터 통신(예를 들어, 통신 네트워크)에 의해 상호연결될 수 있다. 통신 네트워크들의 예들은 근거리 네트워크(“LAN”), 광역 네트워크(“WAN”), 및 인터넷을 포함한다.The systems and technologies described herein may include a back-end component (e.g., as a data server), a middleware component (e.g., an application server), or a front-end component (e.g., a user-visible server). and a client computer having a graphical user interface or web browser capable of interacting with implementations of the systems and techniques described herein. The components of the system may be interconnected by digital data communication (eg, a communications network) in any form or medium. Examples of communications networks include local area networks (“LANs”), wide area networks (“WANs”), and the Internet.

컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 원격이고, 통상적으로 통신 네트워크를 통해 상호작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터들 상에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들에 의해 발생한다.A computing system may include clients and servers. Clients and servers are generally remote from each other and typically interact through a communications network. The relationship between client and server is created by computer programs that run on the respective computers and have a client-server relationship with each other.

다수의 구현예들이 설명되었다. 그럼에도 불구하고, 본 발명의 사상 및 범위로부터 벗어나지 않으면서 다양한 수정이 이루어질 수 있다는 것이 이해될 것이다. 또한, 도면들에 도시된 로직 흐름들은 바람직한 결과들을 달성하기 위해, 도시된 특정 순서, 또는 순차적 순서를 요구하지 않는다. 또한, 다른 단계들이 제공되거나, 설명된 흐름들로부터 단계들이 제거될 수 있고, 설명된 시스템들에 다른 컴포넌트들이 추가되거나, 이로부터 제거될 수 있다.A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Additionally, the logic flows depicted in the figures do not require the specific order shown, or sequential order, to achieve desirable results. Additionally, other steps may be provided or steps may be removed from the described flows, and other components may be added to or removed from the described systems.

일 양태에 따르면, 컴퓨터 구현 방법은 클라이언트 디바이스로부터 선택된 컨텐츠를 수신하는 단계,검색 변환기를 사용하여 선택된 컨텐츠에 대한 적어도 제1 오브젝트와 제2 오브젝트를 결정하는 단계, 제1 오브젝트를 쿼리로서 사용하여 데이터베이스에서 아이템들의 제1 검색을 수행함으로써 제1 결과들을 생성하는 단계, 및 제2 오브젝트를 쿼리로서 사용하여 데이터베이스에서 아이템들의 제2 검색을 수행함으로써 제2 결과들을 생성하는 단계를 포함한다. 본 방법은 선택된 컨텐츠와 제1 오브젝트의 관련성에 기초한 제1 결과들의 제1 세트 및 선택된 컨텐츠와 제2 오브젝트의 관련성에 기초한 제2 결과들의 제2 세트를 선택하는 단계, 및 디스플레이를 위해, 제1 결과들의 제1 세트 및 제2 결과들의 제2 세트를 포함하는 사용자 인터페이스를 제공하는 단계를 더 포함할 수 있다.According to an aspect, a computer-implemented method includes receiving selected content from a client device, determining at least a first object and a second object for the selected content using a search translator, using the first object as a query to retrieve selected content from a database. generating first results by performing a first search of items in the database, and generating second results by performing a second search of items in the database using the second object as a query. The method includes selecting a first set of results based on a relationship between selected content and a first object and a second set of results based on a relationship between selected content and a second object, and for displaying a first set of results based on a relationship between selected content and a first object. The method may further include providing a user interface including the first set of results and the second set of results.

이들 및 다른 양태들은 다음 특징들 중 하나 또는 이상을 단독으로 또는 조합으로 포함할 수 있다 예를 들어, 제1 세트 내의 제1 결과들은 제2 세트 내의 제2 결과들에 비해 프로미넌스를 가질 수 있다. 프로미넌스는 제1 세트 내의 제1 결과들이 제2 세트 내의 제2 결과들보다 더 많은 정보를 갖는 것, 제1 세트가 제2 세트보다 디스플레이 상에서 더 많은 공간을 점유하는 것, 그리고/또는 제1 세트 내의 제1 결과들이 제2 세트 내의 제2 결과들보다 앞서 디스플레이되는 것으로서 나타날 수 있다. 다른 예로서, 검색 변환기는 선택된 컨텐츠에서 식별된 오브젝트들을 데이터베이스에서 아이템들과 관련된 키워드들로 변환하는 계층을 갖는 오브젝트 검출 모델을 포함할 수 있다. 다른 예로서, 제1 세트는 제1 멤버 개수를 가질 수 있고, 제1 결과들은 제2 결과 개수를 가질 수 있으며, 제1 멤버 개수는 제1 오브젝트에 대한 컨피던스 스코어, 제1 오브젝트에 대한 사일런시 스코어, 디스플레이의 사이즈, 또는 제1 오브젝트와 제1 결과들의 관련성 중 적어도 두 개의 함수일 수 있다. 다른 예로서, 제1 오브젝트에 대한 쿼리와 제2 오브젝트에 대한 쿼리는 병렬로 제출될 수 있다. 다른 예로서, 제1 세트는 제1 오브젝트에 대해 검색 변환기에 의해 계산된 스코어가 제2 오브젝트에 대해 검색 변환기에 의해 계산된 스코어보다 더 높은 것으로 인해 제2 세트에 비해 프로미넌스를 가질 수 있다. 스코어는 컨피던스 스코어와 사일런시 스코어의 조합일 수 있다 다른 예로서, 검색 변환기는 기계 학습 모델, 분류자, 또는 회귀 모델 중 적어도 하나를 사용할 수 있다. 다른 예로서, 검색 변환기는 선택된 컨텐츠의 유형을 분류하는 제1 모델을 포함할 수 있고, 선택된 컨텐츠의 유형은 선택된 컨텐츠를 분석하기 위한 제2 모델을 결정하는 데 사용된다. 다른 예로서, 본 방법은 선택된 컨텐츠에 대한 컨텍스트를 수신하는 단계를 또한 포함할 수 있으며, 컨텍스트는 선택된 컨텐츠와 디스플레이되는 다른 컨텐츠를 포함하되, 컨텍스트는 제1 오브젝트 및 제2 오브젝트를 결정하는 데 검색 변환기에 의해 사용된다. 다른 예로서, 데이터베이스는 검색가능한 아이템 설명, 검색가능한 아이템 타이틀, 또는 검색가능한 매니페스트 파일 중 적어도 하나를 포함할 수 있다 다른 예로서, 제1 결과들 및 제2 결과들은 제1 오브젝트에 대해 검색 변환기에 의해 계산된 제1 스코어 및 제2 스코어로 인해 생성된다These and other aspects may include one or more of the following features, alone or in combination. For example, first results in a first set may have prominence relative to second results in a second set. Prominence means that first results in a first set have more information than second results in a second set, the first set occupies more space on the display than the second set, and/or the first set The first results in the set may appear to be displayed before the second results in the second set. As another example, the search transformer may include an object detection model with a hierarchy that transforms objects identified in selected content into keywords associated with items in a database. As another example, the first set may have a first number of members, and the first results may have a second number of results, where the first number of members is the confidence score for the first object, the silence for the first object, It may be a function of at least two of the score, the size of the display, or the relationship between the first object and the first results. As another example, a query for a first object and a query for a second object may be submitted in parallel. As another example, the first set may have prominence relative to the second set due to the score calculated by the search transformer for the first object being higher than the score calculated by the search transformer for the second object. The score may be a combination of a confidence score and a silence score. As another example, the search transformer may use at least one of a machine learning model, a classifier, or a regression model. As another example, the search transformer may include a first model that classifies the type of selected content, and the type of selected content is used to determine a second model for analyzing the selected content. As another example, the method may also include receiving context for the selected content, wherein the context includes the selected content and other content being displayed, wherein the context is searched to determine the first object and the second object. Used by the converter. As another example, the database may include at least one of a searchable item description, a searchable item title, or a searchable manifest file. As another example, the first results and the second results may be sent to a search transformer for the first object. It is generated due to the first score and the second score calculated by

일 양태에 따르면, 시스템은 적어도 하나의 프로세서, 및 적어도 하나의 프로세서에 의해 실행될 때, 시스템으로 하여금 본 명세서에서 개시된 방법들 또는 동작들 중 어느 하나를 수행하게 명령어들을 저장하는 메모리를 포함할 수 있다. 일 양태에 따르면, 시스템은 프로세서에 의해 실행될 때, 컴퓨팅 시스템으로 하여금 본 명세서에서 개시된 방법들 또는 동작들 중 어느 하나를 수행하게 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체를 포함할 수 있다.According to one aspect, a system may include at least one processor, and memory storing instructions that, when executed by the at least one processor, cause the system to perform any of the methods or operations disclosed herein. . According to one aspect, a system may include a non-transitory computer-readable medium storing instructions that, when executed by a processor, cause a computing system to perform any of the methods or operations disclosed herein.

Claims (20)

컴퓨터 구현 방법으로서,
클라이언트 디바이스로부터 선택된 컨텐츠를 수신하는 단계;
검색 변환기(search converter)를 사용하여 상기 선택된 컨텐츠에 대한 적어도 제1 오브젝트와 제2 오브젝트를 결정하는 단계;
상기 제1 오브젝트를 쿼리로서 사용하여 데이터베이스에서 아이템들의 제1 검색을 수행함으로써 제1 결과들을 생성하는 단계;
상기 제2 오브젝트를 쿼리로서 사용하여 상기 데이터베이스에서 상기 아이템들의 제2 검색을 수행함으로써 제2 결과들을 생성하는 단계;
상기 선택된 컨텐츠와 상기 제1 오브젝트의 관련성에 기초한 상기 제1 결과들의 제1 세트 및 상기 선택된 컨텐츠와 상기 제2 오브젝트의 관련성에 기초한 상기 제2 결과들의 제2 세트를 선택하는 단계; 및
디스플레이를 위해, 상기 제1 결과들의 제1 세트 및 상기 제2 결과들의 제2 세트를 포함하는 사용자 인터페이스를 제공하는 단계를 포함하는, 컴퓨터 구현 방법.
1. A computer implemented method, comprising:
Receiving selected content from a client device;
determining at least a first object and a second object for the selected content using a search converter;
generating first results by performing a first search of items in a database using the first object as a query;
generating second results by performing a second search of the items in the database using the second object as a query;
selecting a first set of first results based on a relationship between the selected content and the first object and a second set of second results based on a relationship between the selected content and the second object; and
A computer-implemented method comprising providing, for display, a user interface including the first set of first results and the second set of second results.
제1항에 있어서, 상기 제1 세트 내의 상기 제1 결과들은 상기 제2 세트 내의 상기 제2 결과들에 비해 프로미넌스(prominence)를 갖는 것인, 컴퓨터 구현 방법.The computer-implemented method of claim 1, wherein the first results in the first set have prominence relative to the second results in the second set. 제2항에 있어서, 상기 프로미넌스는 상기 제1 세트 내의 상기 제1 결과들이 상기 제2 세트 내의 상기 제2 결과들보다 더 많은 정보를 갖는 것으로서 나타나는 것인, 컴퓨터 구현 방법.3. The computer-implemented method of claim 2, wherein the prominence is such that the first results in the first set appear to have more information than the second results in the second set. 제2항에 있어서, 상기 프로미넌스는 상기 제1 세트가 상기 제2 세트보다 상기 디스플레이 상에서 더 많은 공간을 점유하는 것으로서 나타나는 것인, 컴퓨터 구현 방법.3. The computer-implemented method of claim 2, wherein the prominence is indicated by the first set occupying more space on the display than the second set. 제2항에 있어서, 상기 프로미넌스는 상기 제1 세트 내의 상기 제1 결과들이 상기 제2 세트 내의 상기 제2 결과들보다 앞서 디스플레이되는 것으로서 나타나는 것인, 컴퓨터 구현 방법.3. The computer-implemented method of claim 2, wherein the prominence is indicated by the first results in the first set being displayed before the second results in the second set. 제1항에 있어서, 상기 제1 세트는 상기 제1 오브젝트에 대해 상기 검색 변환기에 의해 계산된 스코어가 상기 제2 오브젝트에 대해 상기 검색 변환기에 의해 계산된 스코어보다 더 높은 것으로 인해 상기 제2 세트에 비해 프로미넌스를 갖는 것인, 컴퓨터 구현 방법.2. The method of claim 1, wherein the first set is in the second set due to the score calculated by the search transformer for the first object being higher than the score calculated by the search transformer for the second object. Compared to the computer implementation method, which has prominence. 제6항에 있어서, 상기 스코어는 컨피던스 스코어(confidence score)와 사일런시 스코어(saliency score)의 조합인 것인, 컴퓨터 구현 방법.7. The computer implemented method of claim 6, wherein the score is a combination of a confidence score and a saliency score. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 데이터베이스는 검색가능한 아이템 설명, 검색가능한 아이템 타이틀, 또는 검색가능한 매니페스트 파일 중 적어도 하나를 포함하는 것인, 컴퓨터 구현 방법.8. The computer-implemented method of any preceding claim, wherein the database includes at least one of a searchable item description, a searchable item title, or a searchable manifest file. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 제1 세트는 제1 멤버 개수를 갖고, 상기 제1 결과들은 제2 결과 개수를 가지며, 상기 제1 멤버 개수는 상기 제1 오브젝트에 대한 컨피던스 스코어, 상기 제1 오브젝트에 대한 사일런시 스코어, 상기 디스플레이의 사이즈, 또는 상기 제1 오브젝트와 상기 제1 결과들의 관련성 중 적어도 두 개의 함수인 것인, 컴퓨터 구현 방법.9. The method of any one of claims 1 to 8, wherein the first set has a first number of members, the first results have a second number of results, and the first number of members is for the first object. A computer-implemented method, wherein the computer-implemented method is a function of at least two of a confidence score, a silence score for the first object, a size of the display, or a relationship between the first object and the first results. 제1항 내지 제9항 중 어느 한 항에 있어서, 상기 제1 오브젝트에 대한 쿼리와 상기 제2 오브젝트에 대한 쿼리가 병렬로 제출되는 것인, 컴퓨터 구현 방법.10. The computer-implemented method of any one of claims 1 to 9, wherein a query for the first object and a query for the second object are submitted in parallel. 제1항 내지 제10항 중 어느 한 항에 있어서,
상기 선택된 컨텐츠에 대한 컨텍스트를 수신하는 단계를 더 포함하며, 상기 컨텍스트는 상기 선택된 컨텐츠와 디스플레이되는 다른 컨텐츠를 포함하되,
상기 컨텍스트는 상기 제1 오브젝트 및 상기 제2 오브젝트를 결정하는 데 상기 검색 변환기에 의해 사용되는 것인, 컴퓨터 구현 방법.
According to any one of claims 1 to 10,
Receiving context for the selected content, wherein the context includes the selected content and other displayed content,
and the context is used by the search transformer to determine the first object and the second object.
제1항 내지 제11항 중 어느 한 항에 있어서, 상기 검색 변환기는 상기 선택된 컨텐츠의 유형을 분류하는 제1 모델을 포함하고, 상기 선택된 컨텐츠의 상기 유형은 상기 선택된 컨텐츠를 분석하기 위한 제2 모델을 결정하는 데 사용되는 것인, 컴퓨터 구현 방법.12. The method of any one of claims 1 to 11, wherein the search transformer comprises a first model for classifying the type of the selected content, and the type of the selected content comprises a second model for analyzing the selected content. A computer-implemented method that is used to determine. 제1항 내지 제11항 중 어느 한 항에 있어서, 상기 검색 변환기는 기계 학습 모델, 분류자, 또는 회귀 모델 중 적어도 하나를 사용하는 것인, 컴퓨터 구현 방법.12. The computer-implemented method of any preceding claim, wherein the search transformer uses at least one of a machine learning model, a classifier, or a regression model. 제1항 내지 제11항 중 어느 한 항에 있어서, 상기 검색 변환기는 상기 선택된 컨텐츠에서 식별된 오브젝트들을 상기 데이터베이스에서 아이템들과 관련된 키워드들로 변환하는 계층을 갖는 오브젝트 검출 모델을 포함하는 것인, 컴퓨터 구현 방법.The method of any one of claims 1 to 11, wherein the search converter includes an object detection model having a layer for converting objects identified in the selected content into keywords related to items in the database. Computer implementation method. 시스템으로서,
적어도 하나의 프로세서; 및
상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 시스템으로 하여금 동작들을 수행하게 하는 명령어들을 저장하는 메모리를 포함하며, 상기 동작들은:
클라이언트 디바이스로부터 선택된 컨텐츠를 수신하는 동작,
검색 변환기를 사용하여 상기 선택된 컨텐츠에 대한 적어도 제1 오브젝트와 제2 오브젝트를 결정하는 동작,
상기 제1 오브젝트를 쿼리로서 사용하여 데이터베이스에서 아이템들의 제1 검색을 수행함으로써 제1 결과들을 생성하는 동작,
상기 제2 오브젝트를 쿼리로서 사용하여 상기 데이터베이스에서 상기 아이템들의 제2 검색을 수행함으로써 제2 결과들을 생성하는 동작,
상기 선택된 컨텐츠와 상기 제1 오브젝트의 관련성에 기초한 상기 제1 결과들의 제1 세트 및 상기 선택된 컨텐츠와 상기 제2 오브젝트의 관련성에 기초한 상기 제2 결과들의 제2 세트를 선택하는 동작, 및
디스플레이를 위해, 상기 제1 결과들의 제1 세트 및 상기 제2 결과들의 제2 세트를 포함하는 사용자 인터페이스를 제공하는 동작을 포함하는 것인, 시스템.
As a system,
at least one processor; and
and a memory storing instructions that, when executed by the at least one processor, cause the system to perform operations, the operations being:
An operation of receiving selected content from a client device,
determining at least a first object and a second object for the selected content using a search transformer;
generating first results by performing a first search of items in a database using the first object as a query;
generating second results by performing a second search of the items in the database using the second object as a query;
selecting a first set of first results based on a relationship between the selected content and the first object and a second set of second results based on a relationship between the selected content and the second object, and
The system comprising providing, for display, a user interface including the first set of first results and the second set of second results.
제15항에 있어서, 상기 검색 변환기는 상기 선택된 컨텐츠에서 식별된 오브젝트들을 상기 데이터베이스에서 아이템들과 관련된 키워드들로 변환하는 계층을 갖는 오브젝트 검출 모델을 포함하는 것인, 시스템.16. The system of claim 15, wherein the search transformer includes an object detection model having a layer that transforms objects identified in the selected content into keywords associated with items in the database. 제15항 또는 제16항에 있어서, 상기 제1 세트는 상기 제1 오브젝트에 대해 상기 검색 변환기에 의해 계산된 스코어가 상기 제2 오브젝트에 대해 상기 검색 변환기에 의해 계산된 스코어보다 더 높은 것으로 인해 상기 제2 세트에 비해 프로미넌스를 갖는 것인, 시스템.17. The method of claim 15 or 16, wherein the first set is such that the score calculated by the search transformer for the first object is higher than the score calculated by the search transformer for the second object. A system that has prominence compared to the second set. 제15항 내지 제17항 중 어느 한 항에 있어서, 상기 스코어는 컨피던스 스코어와 사일런시 스코어의 조합인 것인, 시스템.18. The system of any one of claims 15 to 17, wherein the score is a combination of a confidence score and a silence score. 제15항 내지 제18항 중 어느 한 항에 있어서, 상기 제1 결과들 및 상기 제2 결과들은 상기 제1 오브젝트에 대해 상기 검색 변환기에 의해 계산된 제1 스코어 및 상기 제2 오브젝트에 대해 상기 검색 변환기에 의해 계산된 제2 스코어가 임계치를 충족시키는 것으로 인해 생성되며, 상기 제1 스코어 및 상기 제2 스코어는 컨피던스 및 사일런시를 반영하는 것인, 시스템.19. The method of any one of claims 15 to 18, wherein the first results and the second results comprise a first score calculated by the search converter for the first object and the search result for the second object. A system wherein a second score calculated by a transducer is generated due to meeting a threshold, wherein the first score and the second score reflect confidence and silence. 컴퓨팅 디바이스의 프로세서에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금 동작들을 수행하게 하는 명령어들을 저장하는 비일시적 컴퓨터 판독가능 매체로서, 상기 동작들은:
클라이언트 디바이스로부터 선택된 컨텐츠를 수신하는 동작;
검색 변환기를 사용하여 상기 선택된 컨텐츠에 대한 적어도 제1 오브젝트와 제2 오브젝트를 결정하는 동작;
상기 제1 오브젝트를 쿼리로서 사용하여 데이터베이스에서 아이템들의 제1 검색을 수행함으로써 제1 결과들을 생성하는 동작;
상기 제2 오브젝트를 쿼리로서 사용하여 상기 데이터베이스에서 상기 아이템들의 제2 검색을 수행함으로써 제2 결과들을 생성하는 동작;
상기 선택된 컨텐츠와 상기 제1 오브젝트의 관련성에 기초한 상기 제1 결과들의 제1 세트 및 상기 선택된 컨텐츠와 상기 제2 오브젝트의 관련성에 기초한 상기 제2 결과들의 제2 세트를 선택하는 동작; 및
디스플레이를 위해, 상기 제1 결과들의 제1 세트 및 상기 제2 결과들의 제2 세트를 포함하는 사용자 인터페이스를 제공하는 동작을 포함하는 것인, 비일시적 컴퓨터 판독가능 매체.
A non-transitory computer-readable medium storing instructions that, when executed by a processor of a computing device, cause the computing device to perform operations, the operations comprising:
Receiving selected content from a client device;
determining at least a first object and a second object for the selected content using a search transformer;
generating first results by performing a first search of items in a database using the first object as a query;
generating second results by performing a second search of the items in the database using the second object as a query;
selecting a first set of first results based on a relationship between the selected content and the first object and a second set of second results based on a relationship between the selected content and the second object; and
The non-transitory computer-readable medium comprising providing, for display, a user interface including the first set of first results and the second set of second results.
KR1020247021188A 2021-12-30 2022-11-22 Supported search for non-document items KR20240104206A (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163266205P 2021-12-30 2021-12-30
US63/266,205 2021-12-30
US18/057,427 US20230214427A1 (en) 2021-12-30 2022-11-21 Assisted searching of non-document items
US18/057,427 2022-11-21
PCT/US2022/080332 WO2023129774A1 (en) 2021-12-30 2022-11-22 Assisted searching of non-document items

Publications (1)

Publication Number Publication Date
KR20240104206A true KR20240104206A (en) 2024-07-04

Family

ID=84799644

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247021188A KR20240104206A (en) 2021-12-30 2022-11-22 Supported search for non-document items

Country Status (2)

Country Link
KR (1) KR20240104206A (en)
WO (1) WO2023129774A1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2014200923B2 (en) * 2009-12-03 2016-08-11 Google Llc Hybrid use of location sensor data and visual query to return local listings for visual query
JP2015032253A (en) * 2013-08-06 2015-02-16 ソニー株式会社 Information processing device and information processing method
US11314826B2 (en) * 2014-05-23 2022-04-26 Samsung Electronics Co., Ltd. Method for searching and device thereof

Also Published As

Publication number Publication date
WO2023129774A1 (en) 2023-07-06

Similar Documents

Publication Publication Date Title
JP6864107B2 (en) Methods and devices for providing search results
KR102364400B1 (en) Obtaining response information from multiple corpuses
JP6554685B2 (en) Method and apparatus for providing search results
EP2109050A1 (en) Facilitating display of an interactive and dynamic cloud of terms related to one or more input terms
JP6122499B2 (en) Feature-based candidate selection
US20060271520A1 (en) Content-based implicit search query
US20080189257A1 (en) World-wide classified listing search with translation
KR20160067202A (en) Contextual insights and exploration
US11762923B1 (en) Displaying stylized text snippets with search engine results
WO2023240943A1 (en) Method and apparatus for generating digital person, method and apparatus for training model, and device and medium
US20210279297A1 (en) Linking to a search result
JP2015511746A5 (en)
WO2022052817A1 (en) Search processing method and apparatus, and terminal and storage medium
US10242033B2 (en) Extrapolative search techniques
US10353974B2 (en) Methods and systems for refining search results
US20180210961A1 (en) Information search method and apparatus
US20230214094A1 (en) Methods and apparatus for related search within a browser
WO2023279843A1 (en) Content search method, apparatus and device, and storage medium
US20160299911A1 (en) Processing search queries and generating a search result page including search object related information
RU2677379C2 (en) Method of forming a user query
US20160335358A1 (en) Processing search queries and generating a search result page including search object related information
US9298712B2 (en) Content and object metadata based search in e-reader environment
US10628493B2 (en) Method and system for generating search query suggestions
US20170293683A1 (en) Method and system for providing contextual information
US10552478B1 (en) Image search using intersected predicted queries