KR102091225B1 - Automated information retrieval - Google Patents

Automated information retrieval Download PDF

Info

Publication number
KR102091225B1
KR102091225B1 KR1020187001280A KR20187001280A KR102091225B1 KR 102091225 B1 KR102091225 B1 KR 102091225B1 KR 1020187001280 A KR1020187001280 A KR 1020187001280A KR 20187001280 A KR20187001280 A KR 20187001280A KR 102091225 B1 KR102091225 B1 KR 102091225B1
Authority
KR
South Korea
Prior art keywords
web
deep
content
scores
relevance
Prior art date
Application number
KR1020187001280A
Other languages
Korean (ko)
Other versions
KR20180017182A (en
Inventor
이동하
염재현
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20180017182A publication Critical patent/KR20180017182A/en
Application granted granted Critical
Publication of KR102091225B1 publication Critical patent/KR102091225B1/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/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24575Query processing with adaptation to user needs using context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/951Indexing; Web crawling techniques

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)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램을 포함하는, 자동화된 정보 검색을 위한 방법, 시스템 및 디바이스는, 웹 리소스들의 개별 세트에 대한 관련성 점수들(relevance scores)을 수신하는 단계, 각각의 관련성 점수는 검색 쿼리에 대응하는 웹 리소스의 관련성을 나타내며; 상기 웹 리소스들의 세트의 각각의 웹 리소스에 대하여, 복수의 유사성 점수들(similarity scores)을 획득하는 단계, 웹 리소스에 대한 각각의 유사성 점수는, 네이티브 어플리케이션에 대한 각각의 딥링크(deeplink)에 의해서 참조되는 각각의 콘텐츠와 상기 웹 리소스 사이의 유사성을 나타내며; 상기 딥링크들 각각에 대해, 상기 딥링크에 의해 참조되는 콘텐츠와 상기 웹 리소스들 사이의 상기 유사성 점수들 각각과 상기 웹 리소스들에 대한 상기 관련성 점수들 각각에 기초하여, 상기 딥링크에 의해 참조되는 콘텐츠에 대한 각각의 품질 점수를 생성하는 단계; 임계 품질 점수를 충족시키는 각각의 품질 점수를 갖는, 콘텐츠를 참조하는 딥링크들을 선택하는 단계; 및 상기 검색 쿼리에 응답하여, 대응하는 웹 리소스를 각각 참조하는 복수의 웹 검색 결과들과 함께 상기 선택된 딥링크들을 사용자 디바이스에 제공하는 단계를 포함한다. A method, system and device for automated information retrieval, comprising a computer program encoded on a computer storage medium, comprising receiving relevance scores for a separate set of web resources, each relevance score being Indicates the relevance of the web resource corresponding to the search query; For each web resource in the set of web resources, obtaining a plurality of similarity scores, each similarity score for the web resource is determined by each deep link for a native application. Indicates the similarity between each referenced content and the web resource; For each of the deep links, based on each of the similarity scores between the content referenced by the deep link and the web resources and each of the relevance scores for the web resources, referenced by the deep link. Generating each quality score for the content to be made; Selecting deep links referencing the content, each quality score meeting a critical quality score; And in response to the search query, providing the selected deep links to a user device along with a plurality of web search results each referring to a corresponding web resource.

Description

자동화된 정보 검색Automated information retrieval

인터넷은 다양한 정보에 대한 액세스를 제공한다. 예를 들어, 디지털 이미지 파일, 비디오 및/또는 오디오 파일, 특정 주제 또는 특정 뉴스 기사의 웹 페이지 리소스R가 인터넷을 통해 액세스될 수 있다. 웹 페이지 리소스와 관련하여 이들 리소스들 중 많은 것들은, 뱅킹, 호텔 예약, 쇼핑 등과 같은 특정 기능의 수행을 용이하게 하도록 설계되거나 혹은 온라인 백과 사전, 영화 데이터베이스, 기타 등등과 같은 구조화된 정보를 제공하도록 설계된다. 검색 엔진들은 이들 리소스들을 크롤링하고 인덱싱하여 리소스 검색을 용이하게 한다. The Internet provides access to a variety of information. For example, digital image files, video and / or audio files, web pages resources R of a particular subject or a specific news article can be accessed over the Internet. Many of these resources in relation to web page resources are designed to facilitate the performance of certain functions such as banking, hotel reservations, shopping, etc., or to provide structured information such as online encyclopedias, movie databases, etc. do. Search engines crawl and index these resources to facilitate resource searches.

또한, 태블릿 컴퓨터 및 스마트 폰의 출현으로, 웹 페이지 리소스의 사용에 의해 촉진되는 동일한 기능들의 수행을 용이하게 하는 네이티브 어플리케이션들이 현재 많이 제공되고 있다. 또한, 게임과 같이 콘텐츠가 비슷한 웹 사이트가 없는 네이티브 어플리케이션들이 태블릿 컴퓨터 및 스마트 폰에서 널리 사용된다. 따라서, 검색 엔진은 이제 이러한 네이티브 어플리케이션들에 대한 검색을 용이하게 한다. In addition, with the advent of tablet computers and smart phones, many native applications are currently provided that facilitate the performance of the same functions facilitated by the use of web page resources. In addition, native applications that do not have websites with similar content, such as games, are widely used in tablet computers and smartphones. Thus, search engines now facilitate searching for these native applications.

검색 엔진이 네이티브 어플리케이션에 대한 정보를 수집하는 프로세스 중 하나는 네이티브 어플리케이션에 대한 "딥링크(deeplinks)"에 액세스하는 것이다. 딥링크(deeplink)는 네이티브 어플리케이션의 특정 환경 인스턴스를 지정하는 명령이며, 그리고 사용자 디바이스에서 선택될 때 특정 네이티브 어플리케이션의 환경 인스턴스를 네이티브 어플리케이션이 인스턴스화하도록 구성될 수 있다. 네이티브 어플리케이션은 사용자 디바이스 상의 네이티브 어플리케이션 내에 디스플레이하기 위한 환경 인스턴스를 생성한다. 예를 들어, 딥링크(deeplink)는 특정 네이티브 어플리케이션, 네이티브 어플리케이션이 액세스할 리소스 콘텐츠 및 딥링크의 사용에 의하여 네이티브 어플리케이션이 론칭될 때 인스턴스화되어야 하는 특정한 사용자 인터페이스를 지정하는 URI 일 수 있다. One of the processes by which search engines gather information about native applications is to access "deeplinks" for native applications. Deeplink is a command that designates a specific environment instance of a native application, and when selected on a user device, a native application can be configured to instantiate an environment instance of a specific native application. Native applications create environment instances for display within native applications on a user device. For example, a deep link may be a URI that designates a specific user interface to be instantiated when a native application is launched by using a specific native application, resource content to be accessed by the native application, and use of the deep link.

이제, 검색 엔진은 또한 이들 네이티브 어플리케이션의 검색을 용이하게 한다. 따라서, 사용자의 정보 요구는, 네이티브 어플리케이션을 기술하는 특정 웹 페이지 리소스 및 네이티브 어플리케이션 자체에 대한 검색 결과 중 어느 하나(또는 이들 둘 다)를 식별하는 검색 결과를 제공하는 검색 엔진에 의해 충족될 수 있다. Now, the search engine also facilitates the search of these native applications. Thus, the user's information needs can be met by a search engine that provides search results that identify either (or both) the search results for a particular web page resource describing the native application and the native application itself. .

일반적으로, 본 명세서는 자동화된 정보 검색을 위한 시스템과 방법을 서술한다. 상기 시스템 및 방법은 네이티브 어플리케이션들 내의 콘텐츠를 스코어링하는 것을 포함하며, 따라서 네이티브 어플리케이션들이 대응 웹 페이지들을 갖지 않는 경우에도, 네이티브 어플리케이션들에 관련된 하나 이상의 검색 결과들이, 쿼리에 응답하여 제공되는 검색 결과들에 포함될 수 있게 한다. 따라서, 본 시스템 및 방법은 향상된 서치 및 검색을 제공한다. In general, this specification describes systems and methods for automated information retrieval. The system and method includes scoring content in native applications, so that even if native applications do not have corresponding web pages, one or more search results related to the native applications are provided in response to the query. To be included in Accordingly, the present system and method provides improved search and search.

일반적으로, 본 명세서에 서술된 본 발명의 혁신적인 양태 중 하나는 방법들로 구현될 수 있으며 상기 방법은 웹 리소스들의 개별 세트에 대한 관련성 점수들(relevance scores)을 수신하는 단계, 각각의 관련성 점수는 검색 쿼리에 대응하는 웹 리소스의 관련성을 나타내며; 상기 웹 리소스들의 세트의 각각의 웹 리소스에 대하여, 복수의 유사성 점수들(similarity scores)을 획득하는 단계, 웹 리소스에 대한 각각의 유사성 점수는, 네이티브 어플리케이션에 대한 각각의 딥링크(deeplink)에 의해서 참조되는 각각의 콘텐츠와 상기 웹 리소스 사이의 유사성을 나타내며; 상기 딥링크들 각각에 대해, 상기 딥링크에 의해 참조되는 콘텐츠와 상기 웹 리소스들 사이의 상기 유사성 점수들 각각과 상기 웹 리소스들에 대한 상기 관련성 점수들 각각에 기초하여, 상기 딥링크에 의해 참조되는 콘텐츠에 대한 각각의 품질 점수를 생성하는 단계; 임계 품질 점수를 충족시키는 각각의 품질 점수를 갖는, 콘텐츠를 참조하는 딥링크들을 선택하는 단계; 및 상기 검색 쿼리에 응답하여, 대응하는 웹 리소스를 각각 참조하는 복수의 웹 검색 결과들과 함께 상기 선택된 딥링크들을 사용자 디바이스에 제공하는 단계를 포함한다. In general, one of the innovative aspects of the invention described herein can be implemented in methods, the method comprising receiving relevance scores for a separate set of web resources, each relevance score being Indicates the relevance of the web resource corresponding to the search query; For each web resource in the set of web resources, obtaining a plurality of similarity scores, each similarity score for the web resource is determined by each deep link for a native application. Indicates the similarity between each referenced content and the web resource; For each of the deep links, based on each of the similarity scores between the content referenced by the deep link and the web resources and each of the relevance scores for the web resources, referenced by the deep link. Generating each quality score for the content to be made; Selecting deep links referencing the content, each quality score meeting a critical quality score; And in response to the search query, providing the selected deep links to a user device along with a plurality of web search results each referring to a corresponding web resource.

구현예들은, 다음의 특징들 중 하나 이상을 포함할 수 있다. 복수의 유사성 점수들을 획득하기 전에: 각각의 웹 리소스에 대해, 상기 콘텐츠 및 상기 웹 리소스로부터 상기 웹 리소스에 대한 상기 복수의 유사성 점수들을 생성한다. 복수의 유사성 점수들을 생성하는 단계는, n-gram Jaccard similarity, 최소 해시(minimum hash), 또는 상기 복수의 유사성 점수들에 대한 로컬티-민감성 해시(locality-sensitive hashing) 중 하나 이상에 기초한다. 상기 딥링크들 각각에 대해, 상기 딥링크에 의해 참조되는 콘텐츠에 대한 각각의 품질 점수를 생성하는 단계는, 각각의 웹 리소스에 대해, 상기 딥링크에 의해 참조되는 콘텐츠와 상기 웹 리소스 사이의 상기 유사성 점수 각각과 상기 웹 리소스에 대한 상기 관련성 점수 각각의 곱(product)을 각각 계산하는 단계; 및 각각의 품질 점수를 생성하도록 상기 각각의 곱을 합산하는 단계를 포함한다. 각각의 네이티브 어플리케이션에 대한 각각의 딥링크는, 상기 각 네이티브 어플리케이션의 특정한 환경 인스턴스를 지정하고 그리고 사용자 디바이스에서 선택될 때, 상기 각각의 네이티브 어플리케이션으로 하여금, 딥링크에서 참조되는 콘텐츠가 디스플레이되는 각각의 네이티브 어플리케이션의 인스턴스를 인스턴스화하게 한다. 각각의 웹 리소스에 대한 각각의 관련성 점수는, 검색 엔진에 의해 순위가 매겨진(ranked) 웹 리소스들의 리스트에 있는 웹 리소스 각각의 순위(rank)에 기초한다. 임계 품질 점수를 충족시키는 각각의 품질 점수를 갖는, 콘텐츠를 참조하는 딥링크들을 선택하는 단계는, 상기 임계 품질 점수를 충족시키는 품질 점수를 갖는, 콘텐츠를 참조하는 딥링크들을 최대 개수까지 선택하는 것을 포함한다. 복수의 웹 검색 결과들과 함께 복수의 딥링크들을 사용자 디바이스에 제공하는 단계는, 웹 검색 결과들 및 딥링크들의 순위가 매겨진 하나의 리스트를 사용자 디바이스에 제공하는 단계를 포함한다. 웹 검색 결과들 및 딥링크들의 순위가 매겨진 리스트를 사용자 디바이스에 제공하는 단계는, 각각의 딥링크에 대해, 상기 딥링크에 대한 정규화된 관련성 점수를 생성하도록, 웹 검색 결과들에 대한 각각의 관련성 점수들에 대하여 상기 딥링크에 대한 상기 품질 점수 각각을 정규화하는 단계; 웹 검색 결과들 및 딥링크들의 순위가 매겨진 리스트를 생성하도록, 상기 관련성 점수들 및 상기 정규화된 관련성 점수들에 기초하여 상기 웹 검색 결과들 및 딥링크들의 순위를 매기는(ranking) 단계; 및 상기 웹 검색 결과들 및 딥링크들의 순위가 매겨진 리스트를 사용자 디바이스에 제공하는 단계를 포함한다. 각각의 딥링크에 의해 참조되는 각각의 콘텐츠는 웹 리소스가 아니다.Implementations may include one or more of the following features. Before obtaining multiple similarity scores: for each web resource, generate the multiple similarity scores for the web resource from the content and the web resource. The step of generating a plurality of similarity scores is based on one or more of n-gram Jaccard similarity, a minimum hash, or a locality-sensitive hashing for the plurality of similarity scores. For each of the deep links, generating a respective quality score for the content referenced by the deep link includes, for each web resource, the content between the content referenced by the deep link and the web resource. Calculating a product of each of the similarity scores and each of the relevance scores for the web resource; And summing the respective products to produce respective quality scores. Each deep link for each native application designates a specific environment instance of the respective native application and, when selected on a user device, causes the respective native application to display each content referenced in the deep link. Lets you instantiate an instance of a native application. Each relevance score for each web resource is based on the rank of each web resource in the list of web resources ranked by the search engine. The step of selecting deep links referring to the content having each quality score satisfying the critical quality score is to select up to the maximum number of deep links referring to the content having a quality score meeting the critical quality score. Includes. Providing a plurality of deep links with a plurality of web search results to a user device includes providing a user ranked list of web search results and deep links to the user device. Providing the user device with an ordered list of web search results and deep links comprises, for each deep link, each relevance to the web search results to generate a normalized relevance score for the deep link. Normalizing each of the quality scores for the deep link with respect to scores; Ranking the web search results and deep links based on the relevance scores and the normalized relevance scores to generate a ranked list of web search results and deep links; And providing a ranking list of the web search results and deep links to a user device. Each content referenced by each deep link is not a web resource.

본 명세서에 기술된 본 발명의 주제에 대한 특정 실시예는 다음의 이점들 중 하나 이상을 실현하도록 구현될 수 있다. 일부 네이티브 어플리케이션은 상기 네이티브 어플리케이션에 대응하는 웹 페이지들을 갖고 있지 않다. 시스템은, 기본 메트릭(base metric)으로 사용할 기존의 대응 웹 페이지들의 관련성 점수들을 갖고 있지 않음에도 불구하고, 대응 웹 및/또는 콘텐츠 페이지들이 없이 이러한 네이티브 어플리케이션들의 순위를 매길 수 있다. Certain embodiments of the subject matter of the invention described herein may be implemented to realize one or more of the following advantages. Some native applications do not have web pages corresponding to the native application. The system may rank these native applications without corresponding web and / or content pages, although they do not have relevance scores of existing corresponding web pages to use as a base metric.

대응 웹 페이지들(예컨대, 모바일 앱)를 갖거나 갖지 않는, 네이티브 어플리케이션 내의 특정 위치에 대한 링크를 포함하는 검색 결과들은, 다른 검색 결과들(예컨대, 웹 페이지들에 대한 검색 결과들)과 함께 순위가 매겨질 수 있으며, 따라서 관련성이 더 많은 리소스들(앱 혹은 웹 페이지)이 더 높은 순위를 갖는다. 어플리케이션들 내의 위치들로 링크되는 검색 결과들을 이와 같이 포함시키는 것은, 추가적인 검색 결과 옵션들을 제공하며, 이는 사용자의 정보 요구를 보다 잘 충족시킬 수 있다. Search results, including links to a particular location in a native application, with or without corresponding web pages (eg, mobile app), rank along with other search results (eg, search results for web pages). Can be ranked, so more relevant resources (apps or web pages) have a higher ranking. This inclusion of search results that link to locations within applications provides additional search result options, which may better meet the user's information needs.

본 명세서에 서술된 본 발명의 주제에 대한 하나 이상의 실시예들의 세부 사항은 첨부된 도면 및 이하의 설명에서 설명된다. 본 발명의 주제의 다른 피처들, 양상들, 및 장점들은 상세한 설명, 도면 및 청구 범위로부터 명백해질 것이다. The details of one or more embodiments of the subject matter of the invention described herein are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter of the present invention will become apparent from the detailed description, drawings and claims.

도 1은 네이티브 어플리케이션의 검색 및 랭킹(ranking)이 발생하는 예시적인 환경의 블록도이다.
도 2a는 네이티브 어플리케이션들 내의 콘텐츠와 웹 리소스들 사이의 유사성 점수들을 생성하기 위한 예시적인 방법의 흐름도이다.
도 2b는 네이티브 어플리케이션 내의 콘텐츠를 스코어링하는 예시적인 방법의 흐름도이다.
도 3은 네이티브 어플리케이션 내의 스코어링 콘텐츠를 도시한 도면이다.
도 4는 웹 검색 결과와 함께 제공된 네이티브 어플리케이션 검색 결과를 도시 한다.
다양한 도면들에서 유사한 참조 번호 및 명칭은 동일한 요소를 나타낸다.
1 is a block diagram of an exemplary environment in which search and ranking of native applications occurs.
2A is a flow diagram of an example method for generating similarity scores between content and web resources in native applications.
2B is a flow diagram of an example method for scoring content in a native application.
3 is a diagram showing scoring content in a native application.
4 shows the native application search results provided with the web search results.
Like reference numerals and names in the various drawings indicate like elements.

시스템은 해당 웹 페이지들을 갖지 않는 네이티브 어플리케이션들 내의 콘텐츠에 점수를 부여한다. 즉, 네이티브 어플리케이션은 웹 브라우저를 통해 웹 리소스(예컨대, 웹 페이지)에서 액세스할 수 없는 콘텐츠를 디스플레이할 수 있다. 네이티브 어플리케이션 내의 콘텐츠는 그 콘텐츠와 유사한 웹 리소스들에 기초하여 스코어링될 수 있으며, 이에 대해서는 이하에서 더 설명될 것이다.The system scores content in native applications that do not have corresponding web pages. That is, the native application may display content that cannot be accessed from a web resource (eg, a web page) through a web browser. Content in a native application can be scored based on web resources similar to that content, which will be further described below.

본 명세서에서, 네이티브 어플리케이션은 네이티브 어플리케이션의 환경 내에서 사용자 디바이스 상에 디스플레이하기 위한 환경 인스턴스들을 생성하고, 그리고 사용자 디바이스 상의 브라우저 어플리케이션과 독립적으로 동작한다. 네이티브 어플리케이션은 특정한 사용자 디바이스 운영 체제 및 머신 펌웨어에서 구동되도록 특별히 설계된 어플리케이션이다. 따라서, 네이티브 어플리케이션은 브라우저-기반 어플리케이션 및 브라우저-렌더링된 리소스들과 다르다. 후자는, 인스턴스화되거나 렌더링될 때마다 모든 혹은 적어도 일부의 요소들 혹은 명령들이 웹 서버로부터 다운로드될 것을 요구한다. 또한, 브라우저-기반 어플리케이션 및 브라우저-렌더링된 리소스는, 브라우저에서 모든 웹 가능 모바일 디바이스들에 의해서 프로세싱될 수 있으며 따라서 운영 체제별로 특정한 것이 아니다. In this specification, a native application creates environment instances for display on a user device within the native application's environment, and operates independently of the browser application on the user device. Native applications are applications specifically designed to run on specific user device operating systems and machine firmware. Thus, native applications differ from browser-based applications and browser-rendered resources. The latter requires that all or at least some elements or instructions be downloaded from the web server each time it is instantiated or rendered. In addition, browser-based applications and browser-rendered resources can be processed by all web-enabled mobile devices in the browser and are therefore not operating system specific.

웹 검색 결과들과 함께 네이티브 어플리케이션 검색 결과들을 포함하도록 검색이 트리거링되면, 네이티브 어플리케이션 인덱스가 네이티브 어플리케이션들에 대해서 검색되고 그리고 네이티브 어플리케이션들이 스코어링된다. 다양한 스코어링 신호들이 사용될 수 있는바, 네이티브 어플리케이션의 인덱스된 콘텐츠, 네이티브 어플리케이션의 사용자 레이팅(user ratings), 어플리케이션 인덱스의 검색들을 위해 수신된 쿼리들(queries) 대한 쿼리 인기도, 기타 등등을 포함할 수 있다. 네이티브 어플리케이션들은, 쿼리에 응답하여 일단 점수가 매겨지면, 다음과 같이 순위가 정해지며, 그리고 하나 이상의 네이티브 어플리케이션 검색 결과들이 쿼리에 응답하여 사용자 디바이스에 제공될 수 있다. When a search is triggered to include native application search results along with web search results, the native application index is searched for native applications and the native applications are scored. Various scoring signals can be used, including indexed content of the native application, user ratings of the native application, query popularity for queries received for searches of the application index, etc. . Native applications, once scored in response to a query, are ranked as follows, and one or more native application search results may be provided to the user device in response to the query.

네이티브 어플리케이션 검색 결과가 제공되는지의 여부와, 만일 제공된다면, 다른 검색 결과들에 대한 네이티브 어플리케이션 검색 결과의 위치는, 하나 이상의 필터링 기준 및 랭킹 기준에 기초하여 결정된다. 필터링 기준 및 랭킹 기준은 다른 리소스에 대한 네이티브 어플리케이션을 기술하는 대응 리소스의 랭킹, 네이티브 어플리케이션들의 점수들 및 다른 팩터들을 포함할 수 있다. Whether a native application search result is provided, and if so, the location of the native application search result relative to other search results is determined based on one or more filtering criteria and ranking criteria. Filtering criteria and ranking criteria may include ranking of a corresponding resource describing native applications for other resources, scores of native applications, and other factors.

이들 특징 및 다른 특징은 하기에서 보다 상세하게 설명된다. These and other features are described in more detail below.

도 1은 네이티브 어플리케이션들의 검색 및 랭킹(ranking)이 발생하는 예시적인 환경(100)의 블록도이다. 인터넷과 같은 컴퓨터 네트워크(102)는 리소스 공개자 웹사이트(resource publisher websites)(104), 어플리케이션 공개자(publisher)(106), 사용자 디바이스(108) 및 검색 엔진(120)을 연결한다. 1 is a block diagram of an exemplary environment 100 in which search and ranking of native applications occurs. A computer network 102, such as the Internet, connects resource publisher websites 104, application publishers 106, user devices 108, and search engines 120.

리소스 공개가 웹사이트(104)는 도메인과 관련된 하나 이상의 웹 리소스들(105)을 포함하고 하나 이상의 위치에 있는 하나 이상의 서버에 의해 호스팅된다. 일반적으로 리소스 공개자 웹사이트는 텍스트, 이미지, 멀티미디어 콘텐츠 및 프로그래밍 요소를 포함할 수 있는 HTML(Hypertext Markup Language) 형식의 웹 페이지들의 모음이다. 각각의 웹 사이트(104)는 콘텐츠 공개자에 의해 유지되는바, 콘텐츠 공개자는 웹 사이트(104)를 제어, 관리 및/또는 소유하는 엔티티이다. The resource publisher website 104 includes one or more web resources 105 associated with a domain and is hosted by one or more servers in one or more locations. In general, a resource publisher website is a collection of web pages in Hypertext Markup Language (HTML) format that can include text, images, multimedia content, and programming elements. Each website 104 is maintained by a content publisher, which is the entity that controls, manages and / or owns the website 104.

웹 페이지 리소스는 네트워크(102)를 통해 공개자 웹 사이트(104)에 의해 제공될 수 있고 그리고 리소스 어드레스, 예를 들어 URL(uniform resource locator)을 갖는 임의의 데이터이다. 웹 리소스들은 HTML 페이지, 이미지 파일, 비디오 파일, 오디오 파일 및 피드 소스, 기타 등등일 수 있다. 리소스는 임베딩된 정보(예를 들어, 메타 정보 및 하이퍼 링크), 및/또는 임베디드된 명령(예컨대, 클라이언트-측 스크립트)을 포함할 수 있다. 보다 일반적으로 "리소스"은 네트워크를 통해 식별할 수 있는 임의의 것이며 그리고 네이티브 어플리케이션도 포함할 수 있다. A web page resource can be provided by the publisher website 104 over the network 102 and is any data having a resource address, for example a uniform resource locator (URL). Web resources can be HTML pages, image files, video files, audio files and feed sources, etc. Resources can include embedded information (eg, meta information and hyperlinks), and / or embedded commands (eg, client-side scripts). More generally, "resource" is anything that can be identified over the network and can also include native applications.

또한, 어플리케이션 공개자 웹 사이트(106)는 하나 이상의 웹 리소스(105)를 포함할 수 있고, 네이티브 어플리케이션(107)도 제공할 수 있다. 상술한 바와 같이, 네이티브 어플리케이션(107)은 특정한 사용자 디바이스 운영 체제 및 머신 펌웨어 상에서 구동하도록 특별히 설계된 어플리케이션이다. 네이티브 어플리케이션(107)은 상이한 플랫폼 상에서 동작하도록 설계된 다수의 버전들을 포함할 수 있다. 예를 들어, 영화 데이터베이스 웹 사이트에 대응하는 네이티브 어플리케이션은, 제 1 유형의 스마트 폰에서 구동되는 제 1 네이티브 어플리케이션, 제 2 유형의 스마트 폰에서 구동되는 제 2 네이티브 어플리케이션, 제 1 유형의 테블릿에서 구동되는 제 3 네이티브 어플리케이션, 등등을 포함할 수 있다. In addition, the application publisher website 106 may include one or more web resources 105 and may also provide a native application 107. As described above, the native application 107 is an application specifically designed to run on a particular user device operating system and machine firmware. Native application 107 may include multiple versions designed to operate on different platforms. For example, a native application corresponding to a movie database website may include a first native application running on a first type of smartphone, a second native application running on a second type of smartphone, and a first type of tablet. It may include a third native application running, and the like.

본 명세서에서 사용되는 바와 같이, "환경 인스턴스(environment instance)"는 네이티브 어플리케이션 내의 디스플레이 환경이고, 그리고 환경 인스턴스에서 텍스트, 이미지 등과 같은 콘텐츠가 디스플레이된다. 환경 인스턴스는 특정 네이티브 어플리케이션에 특화된 것이며, 그리고 네이티브 어플리케이션은 사용자 디바이스(108)의 특정 운영 체제에 특화된 것이다. 환경 인스턴스는 렌더링된 웹 리소스와는 다른데, 환경 인스턴스는 네이티브 환경 내에서 생성되고 네이티브 환경에 특화된 것인 반면에, 웹 리소스는 웹 페이지 리소스와 호환가능한 임의의 브라우저에서 렌더링될 수 있으며 사용자 디바이스의 운영 시스템과 독립적이라는 점에서, 환경 인스턴스와 렌더링된 웹 리소스는 서로 다르다.As used herein, "environment instance" is a display environment within a native application, and content such as text, images, etc. is displayed in the environment instance. The environment instance is specific to a particular native application, and the native application is specific to a particular operating system of the user device 108. Environment instances are different from rendered web resources, while environment instances are created within a native environment and are specific to a native environment, while web resources can be rendered in any browser compatible with web page resources and run on the user device. In terms of being system independent, the environment instance and the rendered web resource are different.

사용자 디바이스(108)는 사용자의 제어하에 있는 전자 디바이스이다. 전형적으로, 사용자 디바이스(108)는 네트워크(102)를 통해 웹 페이지 리소스(104) 및 네이티브 어플리케이션(107)을 요청하고 수신할 수 있다. 예시적인 사용자 디바이스(108)는 퍼스널 컴퓨터, 이동 통신 디바이스 및 태블릿 컴퓨터를 포함한다.The user device 108 is an electronic device under the control of the user. Typically, user device 108 may request and receive web page resources 104 and native applications 107 via network 102. Exemplary user devices 108 include personal computers, mobile communication devices, and tablet computers.

웹 리소스들(105) 및 네이티브 어플리케이션(107)을 검색하기 위하여, 검색 엔진(120)은 웹 인덱스(116) 및 어플리케이션 인덱스(114)에 액세스한다. 웹 인덱스(116)는 예를 들어, 공개자 웹사이트들(107)을 크롤링(crawling)함으로써 수립된 웹 리소스들(105)의 인덱스이다. 어플리케이션 인덱스(114)는 네이티브 어플리케이션들(107)에 대한 어플리케이션 페이지들의 인덱스이고, 그리고 어플리케이션 데이터 추출기, 프로세서(110) 및 인덱서(112)를 사용하여 구성된다. 별도의 인덱스들로 도시되어 있지만, 웹 인덱스(116) 및 어플리케이션 인덱스(114)는 하나의 인덱스로 결합될 수 있다. To search web resources 105 and native application 107, search engine 120 accesses web index 116 and application index 114. Web index 116 is an index of web resources 105 established, for example, by crawling publisher websites 107. The application index 114 is an index of application pages for native applications 107, and is configured using the application data extractor, processor 110, and indexer 112. Although shown as separate indexes, the web index 116 and the application index 114 can be combined into one index.

사용자 디바이스(108)는 검색 쿼리들을 검색 엔진(120)에 제출한다. 각각의 쿼리에 응답하여, 검색 엔진(120)은 웹 인덱스(116) 및 선택적으로는 어플리케이션 인덱스(114)에 액세스하여, 상기 쿼리와 관련성이 있는 리소스들 및 어플리케이션들을 각각 식별한다. 일반적으로, 제 1 검색 알고리즘을 구현하는 제 1 유형의 검색 동작이 이용되어 인덱스(116)를 검색하고, 그리고 제 2의 다른 알고리즘을 구현하는 제 2 유형의 검색 동작이 이용되어 어플리케이션 인덱스(114)를 검색한다. 검색 엔진(120)은 리소스 스코어러(132) 프로세스와 유사성 스코어러(136) 프로세스를 구현하는데, 리소스 스코어러(132)는 웹 리소스들에 대한 관련성 점수들을 생성하고, 유사성 스코어러(136)는 웹 리소스들과 네이티브 어플리케이션들 내의 콘텐츠 사이의 유사성 점수들을 생성한다. 네이티브 어플리케이션들 내의 콘텐츠는 웹 리소스가 아니다. 네이티브 어플리케이션 콘텐츠 스코어러(134) 프로세스는 관련성 및 유사성 점수들에 기초하여 네이티브 어플리케이션들 내의 콘텐츠에 대한 품질 점수를 생성한다. 네이티브 어플리케이션 콘텐츠 스코어러(134)는 도 2 및 도 3을 참조하여 하기에 더 상세히 설명될 것이다. 다양한 적절한 검색 엔진 알고리즘들이 이용되어, 상기 리소스 스코어러(132), 유사성 스코어러(136), 및 네이티브 어플리케이션 콘텐츠 스코어러(134)를 구현할 수 있다. User device 108 submits search queries to search engine 120. In response to each query, search engine 120 accesses web index 116 and optionally application index 114 to identify resources and applications that are relevant to the query, respectively. In general, a first type of search operation that implements the first search algorithm is used to retrieve the index 116, and a second type of search operation that implements the second other algorithm is used to index the application 114. Search for. The search engine 120 implements the resource scorer 132 process and the similarity scorer 136 process, where the resource scorer 132 generates relevance scores for web resources, and the similarity scorer 136 communicates with the web resources. Generate similarity scores between content in native applications. Content in native applications is not a web resource. The native application content scorer 134 process generates quality scores for content in native applications based on relevance and similarity scores. The native application content scorer 134 will be described in more detail below with reference to FIGS. 2 and 3. Various suitable search engine algorithms can be used to implement the resource scorer 132, similarity scorer 136, and native application content scorer 134.

검색 엔진(120)은 웹 서버 등과 같은 검색 엔진 프론트 엔드(138)를 이용하여, 네이티브 어플리케이션 인덱스(114)를 검색할지 그리고 네이티브 어플리케이션 검색 결과를 사용자 디바이스에 제공할지 여부를 결정한다. 검색 엔진 프론트 엔드(138)는 쿼리가 수신되었던 사용자 디바이스(108)에 검색 결과들을 정렬 및 제공한다. The search engine 120 uses a search engine front end 138, such as a web server, to determine whether to search the native application index 114 and provide the native application search results to the user device. The search engine front end 138 sorts and presents search results to the user device 108 on which the query was received.

웹 리소스 검색 결과는 검색 엔진(120)에 의해 생성된 데이터로서, 웹 리소스들을 식별하고 그리고 특정 검색 쿼리를 만족시키는 정보를 제공한다. 리소스에 대한 웹 리소스 검색 결과는 웹 페이지 제목, 리소스로부터 추출된 텍스트의 스니핏 및 리소스에 대한 리소스 로케이터(예를 들어, 웹 페이지의 URL)를 포함할 수 있다. 네이티브 어플리케이션 검색 결과는 네이티브 어플리케이션을 특정하고 그리고 어플리케이션 인덱스(114)에 대한 검색에 응답하여 생성된다. 네이티브 어플리케이션 검색 결과는 네이티브 어플리케이션의 특정 환경 인스턴스를 지정하는 "딥링크(deep link)"를 포함할 수 있으며, 그리고 이는 (선택된 경우) 네이티브 어플리케이션이 지정된 환경 인스턴스를 인스턴스화도록 구성될 수 있다. 예를 들어, 딥링크는 게임 환경에 대한 선택 메뉴; 또는 음악 어플리케이션에 대한 특정 노래의 선택; 또는 요리 어플리케이션에 대한 특정 조리법; 기타 등등을 특정할 수 있다. 예를 들어, 네이티브 어플리케이션 검색 결과의 선택은, 네이티브 어플리케이션을 개시하게 할 수 있으며(사용자 디바이스(108)에 설치된 경우) 그리고 스크린 샷의 형태로 어플리케이션 검색 결과에서 참조되는 환경 인스턴스를 생성할 수 있다. 대안적으로, 네이티브 어플리케이션 검색 결과는, "구매"(또는 "설치") 커맨드를 포함할 수 있는바, 이는 선택되는 경우, 네이티브 어플리케이션이 구매(혹은 무료 다운로드) 및 사용자 디바이스 상에 설치되게 할 수 있다. The web resource search result is data generated by the search engine 120, and identifies web resources and provides information satisfying a specific search query. The web resource search result for the resource may include a web page title, a snippet of text extracted from the resource, and a resource locator for the resource (eg, URL of the web page). The native application search results specify the native application and are generated in response to the search for the application index 114. The native application search results can include a "deep link" that specifies a specific environment instance of the native application, which can be configured (if selected) to instantiate the specified environment instance. For example, deep link may include a selection menu for a game environment; Or selection of a specific song for a music application; Or specific recipes for culinary applications; And so forth. For example, selection of a native application search result may cause a native application to be launched (if installed on the user device 108) and may create an environment instance referenced in the application search result in the form of a screenshot. Alternatively, the native application search results may include a “buy” (or “install”) command, which, if selected, allows the native application to be purchased (or free download) and installed on the user device. have.

네이티브 어플리케이션(107)을 제공하는 공개자(106)는 또한 딥링크(109)를 검색 엔진(120)에 제공할 수 있다. 예를 들어, 어플리케이션 공개자는 딥링크들(109)의 리스트를 URI(uniform resource identifiers) 형태로 제공할 수 있다(또는 공개자에 의해서 공개된 네이티브 어플리케이션에 특화된 다른 명령 유형들로). 이러한 딥링크들은 공개자(106)가 어플리케이션 인덱스(114)에서 크롤링 및 인덱스화되기를 원하는 딥링크이다. The publisher 106 that provides the native application 107 can also provide the deep link 109 to the search engine 120. For example, the application publisher may provide a list of deep links 109 in the form of uniform resource identifiers (URIs) (or other types of commands specific to the native application published by the publisher). These deep links are deep links that the publisher 106 wants to crawl and index in the application index 114.

많은 네이티브 어플리케이션(107)들의 경우, 네이티브 어플리케이션들(107)을 서술하는 웹 리소스들(111)이 또한 존재한다. 이러한 리소스(111)의 일례는 온라인 네이티브 어플리케이션 스토어 내의 제품 페이지이다. 제품 페이지는 웹 브라우저를 사용하여 브라우징될 수 있고 웹 인덱스(116)에서 인덱싱될 수 있다. 웹 리소스(111)는 네이티브 어플리케이션의 스크린 샷, 사용자 등급의 설명 등을 포함할 수 있다. 통상적으로, 웹 리소스(111)는 네이티브 어플리케이션에 특화된 웹 페이지이며, 네이티브 어플리케이션의 구매 및/또는 다운로드를 용이하게 하는데 사용된다. For many native applications 107, there are also web resources 111 describing native applications 107. An example of such a resource 111 is a product page in an online native application store. Product pages can be browsed using a web browser and indexed in web index 116. The web resource 111 may include a screen shot of a native application, a description of a user class, and the like. Typically, the web resource 111 is a web page specialized for the native application, and is used to facilitate the purchase and / or download of the native application.

소정의 상황에서, 검색 쿼리 및 대응하는 웹 기반 검색 결과에 따라, 검색 엔진(120)은 웹 페이지 검색 결과들의 세트 내에 네이티브 어플리케이션 검색 결과를 포함시킬 수 있다. 네이티브 어플리케이션 검색 결과는, 예를 들어 네이티브 어플리케이션에 대한 제품 웹 페이지 검색 결과에 상대적인 위치에 삽입되거나, 또는 대안적으로는 제품 웹 페이지 검색 결과를 전부 대체할 수 있다. 이는 도 4을 참조하여 아래에 더 설명된다. In certain situations, according to the search query and corresponding web-based search results, the search engine 120 may include native application search results in a set of web page search results. The native application search results may be inserted, for example, in a location relative to the product web page search results for the native application, or alternatively, may entirely replace the product web page search results. This is further explained below with reference to FIG. 4.

도 2a는 네이티브 어플리케이션들 내의 콘텐츠와 웹 리소스들 사이의 유사성 점수들을 생성하는 예시적인 방법의 흐름도(200)이다. 편의상, 상기 방법(200)은 상기 방법(200)을 구현하기 위해 소프트웨어를 실행하는 하나 이상의 컴퓨팅 디바이스를 갖는 시스템, 예를 들어, 도 1의 검색 엔진(120)과 관련하여 설명될 것이다. 2A is a flow diagram 200 of an example method of generating similarity scores between content and web resources in native applications. For convenience, the method 200 will be described in connection with a system having one or more computing devices running software to implement the method 200, for example, the search engine 120 of FIG. 1.

시스템은 웹 리소스들을 수집한다(단계 202). 웹 리소스들은 웹 인덱스, 예컨대도 1의 웹 인덱스(116)로부터 수집될 수 있다. The system collects web resources (step 202). Web resources can be collected from a web index, such as web index 116 of FIG. 1.

시스템은 네이티브 어플리케이션들 내의 콘텐츠를 획득한다(단계 204). 일부 구현 예에서, 상기 콘텐츠는 어플리케이션 인덱스 내에서 인덱스화된 네이티브 어플리케이션의 어플리케이션 페이지로부터의 콘텐츠, 예컨대, 도 1의 어플리케이션 인덱스(114)로부터의 콘텐츠이다. The system acquires content in native applications (step 204). In some implementations, the content is content from the application page of the native application indexed within the application index, such as content from application index 114 of FIG. 1.

시스템은 콘텐츠와 웹 리소스들 사이의 유사성 점수를 생성한다(단계 206). 상기 시스템은 임의의 적절한 방법을 사용하여 웹 리소스와 각각의 콘텐츠 사이의 유사성 점수들을 생성할 수 있다. 예를 들어, 시스템은 n-gram Jaccard similarity, 최소 해시(minimum hash) 또는 로컬티-민감성 해시(locality-sensitive hashing)를 기반으로 유사성 점수를 생성할 수 있다. The system generates a similarity score between content and web resources (step 206). The system can generate similarity scores between a web resource and each content using any suitable method. For example, the system can generate a similarity score based on n-gram Jaccard similarity, minimum hash, or locality-sensitive hashing.

일부 구현예에서, 시스템은 아래와 같은 형태의 출력을 생성한다:In some implementations, the system produces output of the form:

[wd_1, [(nac_1, s_11),(nac_2, s_12),(nac_3, s_13) ...],[wd_1, [(nac_1, s_11), (nac_2, s_12), (nac_3, s_13) ...],

wd_2, [(nac_1, s_21),(nac_2, s_22),(nac_3, s_23) ...], ...]wd_2, [(nac_1, s_21), (nac_2, s_22), (nac_3, s_23) ...], ...]

여기서, wd_i(예컨대, wd_1 또는 wd_2)는 웹 문서 i이고, nac_j(예를 들어, nac_1)는 네이티브 어플리케이션 콘텐츠 j이고, s_ij(예를 들어, s_11)는 웹 문서 i와 네이티브 어플리케이션 콘텐츠 j 사이의 유사도 점수이다. 또한, s_ij = similarity(wd_i, nac_j) = similarity(nac_j, wd_i); similarity 는 유사성 점수 s_ij를 계산하는 함수이다. Here, wd_i (eg, wd_1 or wd_2) is the web document i, nac_j (eg, nac_1) is the native application content j, and s_ij (eg, s_11) is between the web document i and the native application content j. Similarity score. Also, s_ij = similarity (wd_i, nac_j) = similarity (nac_j, wd_i); similarity is a function that calculates the similarity score s_ij.

시스템은 상기 출력을 이용하여 네이티브 어플리케이션 내의 콘텐츠에 대한 품질 점수들을 생성하는데, 이는 도 2a를 참조하여 후술될 것이다. The system uses the output to generate quality scores for content in the native application, which will be described later with reference to FIG. 2A.

도 2b는 네이티브 어플리케이션들 내의 콘텐츠를 스코어링하는 예시적인 방법의 흐름도(208)이다. 편의상, 상기 방법(208)은 상기 방법(208)을 구현하기 위해 소프트웨어를 실행하는 하나 이상의 컴퓨팅 디바이스를 갖는 시스템, 예를 들어 도 1의 검색 엔진(120)과 관련하여 설명될 것이다. 2B is a flow chart 208 of an example method for scoring content in native applications. For convenience, the method 208 will be described in connection with a system having one or more computing devices running software to implement the method 208, such as search engine 120 in FIG.

시스템은 웹 리소스들의 세트에 대한 관련성 점수들을 수신한다(단계 210). 각각의 웹 리소스는, 웹 리소스와 검색 쿼리 사이의 관련성을 나타내는 관련성 점수를 갖는다. The system receives relevance scores for the set of web resources (step 210). Each web resource has a relevance score indicating the relevance between the web resource and the search query.

일부 구현예에서, 관련성 점수는 검색 엔진에 의해 순위가 매겨진 웹 리소스들의 리스트에 있는 웹 리소스의 랭킹에 기초한다. 예를 들어, 관련성 점수는 아래의 수학식 1을 사용하여 계산될 수 있다: In some implementations, the relevance score is based on a ranking of web resources in a list of web resources ranked by a search engine. For example, the relevance score can be calculated using Equation 1 below:

Figure 112018004516155-pct00001
(1)
Figure 112018004516155-pct00001
(One)

여기서 s는 검색 쿼리에 응답하는 검색 결과들의 리스트에 있는 검색 결과들의 개수이고, r은 검색 결과들의 리스트에 있는 웹 리소스의 랭킹이다. Here, s is the number of search results in the list of search results in response to the search query, and r is the ranking of web resources in the list of search results.

시스템은 웹 리소스들의 세트 내의 각각의 웹 리소스에 대해, 웹 리소스에 대한 유사성 점수들의 세트를 획득한다(단계 212). 유사성 점수는 도 2a를 참조하여 전술한 바와 같이 출력 벡터로부터 획득될 수도 있다. 웹 리소스에 대한 각 유사성 점수는, 해당 웹 또는 콘텐츠 페이지들이 없는 네이티브 어플리케이션 내의 각 콘텐츠와 웹 리소스 사이의 유사성을 나타낼 수 있다.For each web resource in the set of web resources, the system obtains a set of similarity scores for the web resource (step 212). The similarity score may be obtained from the output vector as described above with reference to FIG. 2A. Each similarity score for a web resource may indicate the similarity between each content and web resource in a native application without corresponding web or content pages.

각각의 콘텐츠는 네이티브 어플리케이션에 대한 각각의 딥링크(deeplink)에 의해 참조될 수 있다. 각각의 딥링크는 네이티브 어플리케이션의 특정 환경 인스턴스를 지정하고, 그리고 사용자 디바이스에서 선택될 때, 네이티브 어플리케이션으로 하여금 딥링크에서 참조되는 각각의 콘텐츠가 디스플레이되는 각각의 네이티브 어플리케이션의 인스턴스를 인스턴스화하게 한다. Each content can be referenced by each deeplink to the native application. Each deep link specifies a specific environment instance of the native application, and when selected on the user device, causes the native application to instantiate an instance of each native application in which each content referenced in the deep link is displayed.

시스템은 딥링크들 각각에 대해, 딥링크에 의해 참조되는 콘텐츠에 대한 각각의 품질 점수를 생성한다(단계 214). 딥링크(deeplink)에 의해 참조되는 콘텐츠에 대한 품질 점수는, 콘텐츠와 웹 리소스들 간의 유사성 점수들 및 웹 리소스의 관련성 점수들로부터 생성될 수 있다. 이에 대해서는 도 3을 참조하여 더 상세하게 설명될 것이다. For each of the deep links, the system generates a respective quality score for the content referenced by the deep link (step 214). The quality score for the content referenced by the deeplink may be generated from similarity scores between content and web resources and relevance scores of the web resource. This will be described in more detail with reference to FIG. 3.

시스템은 임계 품질 점수를 충족하는 각각의 품질 점수를 갖는 콘텐츠를 참조하는 딥링크를 선택한다(단계 216). 일부 구현예에서, 시스템은 임계 품질 점수를 만족하는 품질 점수들을 갖는 최대 개수의 딥링크들을 선택한다. 최대 개수는 시스템 관리자가 결정할 수 있다. The system selects a deep link that references content with each quality score that meets the critical quality score (step 216). In some implementations, the system selects the maximum number of deep links with quality scores that satisfy the critical quality score. The maximum number can be determined by the system administrator.

시스템은 대응하는 웹 리소스를 각각 참조하는 웹 검색 결과들와 함께 선택된 딥링크들을 사용자 디바이스에 제공한다(단계 218). 검색 쿼리에 응답하여 시스템은 선택된 딥링크들 및 웹 검색 결과들을 사용자 디바이스에 제공할 수 있다. 일 실시예에서, 시스템은 웹 검색 결과들 및 딥링크들의 랭킹 리스트를 사용자 디바이스에 제공할 수 있다. The system provides the user device with selected deep links along with web search results each referring to a corresponding web resource (step 218). In response to the search query, the system can provide the selected deep links and web search results to the user device. In one embodiment, the system may provide the user device with a ranking list of web search results and deep links.

랭킹된 리스트를 제공하는 일부 구현예에서, 시스템은 각각의 딥링크에 대하여, 웹 검색 결과들에 대한 각각의 관련성 점수들에 대해 딥링크에 대한 각각의 품질 점수를 정규화하여, 딥링크에 대한 정규화된 관련성 점수를 생성한다. 예를 들어, 만일 특정 관련성 점수가 소정의 숫자들의 범위 내의 숫자가 될 수 있다면, 시스템은, 관련성 점수에 대한 상기 숫자들의 범위 내의 비례적인 숫자로 상기 딥링크에 대한 품질 점수를 스케일링할 수 있다(스케일링 계수를 이용하여). In some implementations of providing a ranked list, the system normalizes each quality score for the deep link, for each deep link, for each relevance score for web search results, normalization for the deep link Generated relevance scores. For example, if a particular relevance score can be a number within a range of predetermined numbers, the system can scale the quality score for the deep link to a proportional number within the range of numbers relative to the relevance score ( Using scaling factors).

각 딥링크에 대한 각각의 품질 점수를 정규화한 이후에, 시스템은 웹 검색 결과들 및 딥링크들의 통합 랭킹 리스트를 생성하기 위해, 관련성 점수들 및 정규화된 관련성 점수들에 기초하여 웹 검색 결과들과 딥링크들의 순위를 정할 수 있다. 다음으로, 시스템은 웹 검색 결과들 및 딥링크들의 랭킹된 리스트를 사용자 디바이스에 제공할 수 있으며, 이는 도 4를 참조하여 이하에서 더 설명될 것이다. After normalizing each quality score for each deep link, the system generates web search results and web links based on the relevance scores and the normalized relevance scores to generate an integrated ranking list of deep links. You can rank deep links. Next, the system can provide the user device with a ranked list of web search results and deep links, which will be further described below with reference to FIG. 4.

일부 구현예에서, 단계(210-218)는 사용자로부터의 검색 쿼리에 응답하여 수행된다. 일부 다른 구현예에서, 유사성 점수들을 생성하는 것은 백엔드 프로세스의 일부로서 수행된다. In some implementations, steps 210-218 are performed in response to a search query from the user. In some other implementations, generating similarity scores is performed as part of the backend process.

도 3은 검색 쿼리가 주어진 검색 엔진의 네이티브 어플리케이션 콘텐트 스코어러를 사용하여 네이티브 어플리케이션들 내의 콘텐츠를 스코어링하는 것의 일례(300)이다. 상기 콘텐트는 웹 인덱스(예를 들어,도 1의 웹 인덱스 116)로부터 대응하는 웹 페이지들을 갖지 않는 어플리케이션 페이지 X 가 될 수 있다. 네이티브 어플리케이션 콘텐트 스코어러는 어플리케이션 페이지 X에 대한 품질 점수 X_quality(314)를 생성할 수 있다. 3 is an example 300 of scoring content in native applications using a native application content scorer of a search engine given a search query. The content may be an application page X that does not have corresponding web pages from a web index (eg, web index 116 in FIG. 1). The native application content scorer can generate a quality score X_quality 314 for the application page X.

품질 점수 X_quality(314)을 생성하기 위해, 스코어러는 웹 리소스들의 세트에 대한 관련성 점수들의 벡터와 웹 리소스들의 세트에 대한 유사성 점수들의 벡터 사이의 내적을 계산할 수 있다. 즉, 품질 점수는 아래의 식 2를 사용하여 계산할 수 있다. To generate the quality score X_quality 314, the scorer can calculate the dot product between a vector of relevance scores for a set of web resources and a vector of similarity scores for a set of web resources. That is, the quality score can be calculated using Equation 2 below.

Figure 112018004516155-pct00002
Figure 112018004516155-pct00002

(2)(2)

여기서, x는 대응 웹 페이지가 없는 어플리케이션 페이지이고, resourcek 는 n 개의 웹 리소스들의 세트에서 k 번째 웹 리소스이고 relevance 함수는 관련성 점수를 반환하며, 그리고 similarity 함수는 k 번째 웹 리소스와 어플리케이션 페이지 x 사이의 유사성을 나타내는 유사성 점수를 반환한다. Here, x is an application page without a corresponding web page, resource k is a k th web resource in a set of n web resources, a relevance function returns a relevance score, and a similarity function is between a k th web resource and an application page x Returns the similarity score indicating the similarity of.

예시로서, A, B 및 C는 웹 리소스들, 예컨대, 도 1의 웹 인덱스(116)로부터 웹 리소스들일 수 있다. 따라서, A_relevance(302)는 검색 쿼리에 대한 A에 대한 관련성 점수이고, AX_similarity(304)는 어플리케이션 페이지 X에 대해서 웹 리소스 A가 얼마나 유사한지를 나타내는 유사성 점수이며, B_relevance(306)는 검색 쿼리에 대한 B에 대한 관련성 점수이고, BX_similarity(308)는 어플리케이션 X에 대해서 웹 리소스 B가 얼마나 유사한지를 나타내는 유사성 점수이며,C_relevance(310)는 검색 쿼리에 대한 C에 대한 관련성 점수이고, CX_similarity(312)는 어플리케이션 X에 대해서 웹 리소스 C가 얼마나 유사한지를 나타내는 유사성 점수이며, 기타 등등이다. 스코어러는 A_relevance(302)와 AX_similarity(304)의 곱(product), B_relevance(306)와 BX_similarity(308)의 곱, C_relevance(310)와 CX_similarity(312)의 곱 등을 계산할 수 있고, 그 곱들을 합산하여 X_quality 점수(314)를 생성할 수 있다. As an example, A, B, and C can be web resources, such as web resources from web index 116 of FIG. 1. Thus, A_relevance 302 is the relevance score for A for the search query, AX_similarity 304 is the similarity score for how similar web resource A is for application page X, and B_relevance 306 is B for the search query. Is the relevance score for, BX_similarity (308) is a similarity score indicating how similar web resource B is to application X, C_relevance (310) is relevance score for C for the search query, and CX_similarity (312) is application X Is a similarity score indicating how similar Web resource C is, and so on. The scorer can calculate the product of A_relevance (302) and AX_similarity (304), the product of B_relevance (306) and BX_similarity (308), the product of C_relevance (310) and CX_similarity (312), and add the products X_quality score 314 may be generated.

스코어러는 대응 웹 및/또는 콘텐츠 페이지들을 갖지 않는 어플리케이션 인덱스 내의 각 어플리케이션 페이지에 대해 이러한 방식으로 내적(dot product을 계산하여, 어플리케이션 페이지를 스코어링할 수 있다. The scorer can score the application page by calculating the dot product in this way for each application page in the application index that does not have corresponding web and / or content pages.

도 4는 웹 검색 결과들과 함께 제공된 네이티브 어플리케이션 검색 결과를 도시 한 도면이다. 검색 결과는 사용자 디바이스의 브라우저 어플리케이션에서 제공될 수 있다.FIG. 4 is a diagram illustrating a search result of a native application provided with web search results. The search results may be provided in the browser application of the user device.

브라우저 어플리케이션은 검색 쿼리(402)에 응답하여 검색 엔진에 의해 제공된 검색 결과들(404-410)의 뷰(401)를 디스플레이한다. 검색 결과들 중 하나는 네이티브 어플리케이션 검색 결과(즉, 네이티브 어플리케이션 검색 결과 408)이며, 나머지 검색 결과들은 웹 검색 결과들(즉, 웹 검색 결과(404, 406, 410))이다. 검색 결과들(404-410)은 웹 검색 결과들 404, 406, 410 네이티브 어플리케이션 검색 결과 408에 대한 관련성 점수가 낮아지는 순서대로 도시된다. The browser application displays a view 401 of search results 404-410 provided by the search engine in response to the search query 402. One of the search results is a native application search result (ie, native application search result 408), and the other search results are web search results (ie, web search results 404, 406, 410). Search results 404-410 are shown in order of decreasing relevance score for web search results 404, 406, 410 native application search results 408.

네이티브 어플리케이션 검색 결과(408)는 딥링크이며, 상기 딥링크는 선택될 때, 네이티브 어플리케이션으로 하여금 각각의 네이티브 어플리케이션의 인스턴스를 인스턴스화하게 할 수 있으며, 네이티브 어플리케이션 검색 결과(408)에서 참조된 콘텐츠는 사용자 디바이스 상에 디스플레이된다. The native application search result 408 is a deep link, and when the deep link is selected, the native application can cause an instance of each native application to be instantiated, and the content referred to in the native application search result 408 is a user. Displayed on the device.

본 명세서에 설명된 본 발명의 주제 및 기능적 동작의 실시예들은, 디지털 전자 회로, 컴퓨터 소프트웨어 또는 펌웨어, 실체적으로 구현된 컴퓨터 소프트웨어 또는 펌웨어, 컴퓨터 하드웨어로 구현될 수 있으며, 본 명세서에 개시된 구조들 및 이들의 구조적 균등물들 또는 이들 중 하나 이상의 조합을 포함한다. 본 명세서에서 설명된 본 발명의 실시예들은 데이터 프로세싱 장치에 의한 실행, 또는 데이터 프로세싱 장치의 동작을 제어하기 위한 하나 이상의 컴퓨터 프로그램들 즉, 컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램 명령들의 하나 이상의 모듈들로서 구현될 수 있으며, 상기 저장 매체는 예를 들어, 유형의 비일시적인 컴퓨터 저장 매체일 수 있다. 컴퓨터 저장 매체는 머신 판독가능 저장 디바이스, 머신 판독가능 저장 기판, 랜덤 또는 시리얼 액세스 메모리 디바이스, 또는 이들 중 하나 이상의 조합일 수 있다. 컴퓨터 프로그램은 다수의 파일을 포함할 수 있고 및/또는 하나 이상의 데이터 프로세싱 장치를 실행시키기 위해 배치될 수 있다. Embodiments of the subject matter and functional operation of the present invention described herein may be implemented with digital electronic circuits, computer software or firmware, substantially implemented computer software or firmware, computer hardware, and the structures disclosed herein. And structural equivalents or combinations of one or more of these. Embodiments of the invention described herein are one or more computer programs for execution by a data processing apparatus, or one or more modules of computer program instructions encoded on a computer storage medium, for controlling operation of the data processing apparatus. It may be implemented, and the storage medium may be, for example, a tangible non-transitory computer storage medium. The computer storage medium can be a machine-readable storage device, a machine-readable storage substrate, a random or serial access memory device, or a combination of one or more of these. The computer program can include a number of files and / or can be arranged to run one or more data processing devices.

"데이터 프로세싱 장치" 라는 용어는 데이터를 프로세싱하기 위한 모든 종류의 장치들, 디바이스들 및 머신들을 포함하며, 일례로서 프로그램가능 프로세서, 컴퓨터, 특수 목적 회로, 또는 멀티 프로세서 또는 컴퓨터를 포함한다. 또한, 장치는 하드웨어 이외에, 컴퓨터 프로그램을 위한 실행 환경을 생성하는 코드를 포함할 수 있는바, 예컨대, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들의 조합을 구성하는 코드를 포함할 수 있다. The term "data processing apparatus" includes all kinds of devices, devices and machines for processing data, and includes, for example, a programmable processor, computer, special purpose circuit, or multiprocessor or computer. In addition, the device may include, in addition to hardware, code that generates an execution environment for a computer program, such as processor firmware, a protocol stack, a database management system, operating system, or a combination thereof. You can.

본 명세서에서 설명된 프로세스 및 논리 흐름은 입력 데이터를 조작하고 출력을 생성함으로써 기능을 수행하기 위한 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램가능 컴퓨터들 또는 하나 이상의 특수 목적 논리 회로에 의해 수행될 수 있다. The processes and logic flows described herein can be performed by one or more programmable computers or one or more special purpose logic circuits executing one or more computer programs to perform functions by manipulating input data and generating output. .

비록 본 명세서는 다수의 특정 구현 세부사항들을 포함하지만, 이들은 임의의 발명 또는 청구범위에 대한 제한으로서 해석되어서는 안되며, 오히려 특정 발명의 특정 실시예에 특정될 수 있는 피처들에 대한 설명으로 해석되어야 한다. 별도의 실시예들과 관련하여 본 명세서에서 설명되는 소정의 피처들은 또한 단일 실시예에서 조합으로 구현될 수 있다. 반대로, 하나의 실시예에 관련되어 설명된 다양한 피처들은 또한 다수의 실시예에서 개별적으로 또는 임의의 적합한 서브 조합으로 구현될 수도 있다. 더욱이, 전술한 피처들은 특정 조합으로 작용하고 심지어 초기에는 그러한 것으로서 주장되는 경우조차도 상기에서 설명될 수 있지만, 청구된 조합으로부터의 하나 이상의 피처가 어떤 경우에는 상기 조합으로부터 제거될 수 있고, 청구된 조합은 서브 조합 또는 서브 조합의 변형으로부터 유도될 수 있다. Although this specification includes a number of specific implementation details, they should not be construed as limitations on any invention or claims, but rather on the description of features that may be specific to a particular embodiment of the invention. do. Certain features described herein in connection with separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in connection with one embodiment may also be implemented individually or in any suitable subcombination in multiple embodiments. Moreover, the features described above act in a specific combination and may even be described above even if initially claimed to be such, but one or more features from the claimed combination can in some cases be removed from the combination, and the claimed combination Can be derived from sub-combinations or variations of sub-combinations.

유사하게, 도면들에서 동작들은 특정 순서로 도시되어 있지만, 이는 이러한 동작들이 도시된 특정 순서 또는 순차적 순서로 수행되거나, 바람직한 결과를 획득하기 위해서 모든 예시된 동작들이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 특정 상황에서는 멀티 태스킹 및 병렬 처리가 유리할 수도 있다. 또한, 상술한 실시예들에서 다양한 시스템 모듈들 및 컴포넌트들의 분리는 모든 실시예들에서 이러한 분리를 요구하는 것으로 이해되어서는 안되며, 그리고 서술된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품 내에 함께 통합될 수 있거나 또는 다중 소프트웨어 제품들로 패키징될 수 있음을 이해해야 한다.Similarly, in the drawings, the operations are shown in a specific order, but it should be understood that these operations are performed in the specific order or sequential order shown, or that all illustrated operations are performed to obtain a desired result. Can not be done. Multitasking and parallel processing may be advantageous in certain situations. In addition, the separation of various system modules and components in the above-described embodiments should not be understood as requiring such separation in all embodiments, and the described program components and systems are generally integrated together within a single software product. It should be understood that it may or may be packaged into multiple software products.

본 발명의 특정 실시예들이 서술되었다. 다른 실시예들은, 다음의 청구항들의 범위 내에 있다. 예를 들어, 청구 범위들에 서술된 동작들은 상이한 순서로 수행될 수 있으며 그리고 여전히 바람직한 결과를 달성할 수 있다. 하나의 예로서, 첨부된 도면들에 도시된 프로세스들은 바람직한 결과를 얻기 위해 도시된 특정 순서 또는 순차적 순서를 반드시 요구하지는 않는다. 특정 구현들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. Certain embodiments of the invention have been described. Other embodiments are within the scope of the following claims. For example, the operations recited in the claims can be performed in a different order and still achieve desirable results. As one example, the processes depicted in the accompanying drawings do not necessarily require the specific order or sequential order shown to achieve desirable results. In certain implementations, multitasking and parallel processing can be advantageous.

Claims (15)

데이터 프로세싱 장치에 의해 수행되는 방법으로서,
웹 리소스들의 개별 세트에 대한 관련성 점수들(relevance scores)을 수신하는 단계, 각각의 관련성 점수는 검색 쿼리에 대응하는 웹 리소스의 관련성을 나타내며;
상기 웹 리소스들의 세트의 각각의 웹 리소스에 대하여, 복수의 유사성 점수들(similarity scores)을 획득하는 단계, 웹 리소스에 대한 각각의 유사성 점수는, 네이티브 어플리케이션에 대한 각각의 딥링크(deeplink)에 의해서 참조되는 각각의 콘텐츠와 상기 웹 리소스 사이의 유사성을 나타내며;
상기 딥링크들 각각에 대해, 상기 딥링크에 의해 참조되는 콘텐츠와 상기 웹 리소스들 사이의 상기 유사성 점수들 각각과 상기 웹 리소스들에 대한 상기 관련성 점수들 각각에 기초하여, 상기 딥링크에 의해 참조되는 콘텐츠에 대한 각각의 품질 점수를 생성하는 단계;
임계 품질 점수를 충족시키는 각각의 품질 점수를 갖는, 콘텐츠를 참조하는 딥링크들을 선택하는 단계; 및
상기 검색 쿼리에 응답하여, 대응하는 웹 리소스를 각각 참조하는 복수의 웹 검색 결과들과 함께 상기 선택된 딥링크들을 사용자 디바이스에 제공하는 단계
를 포함하는 것을 특징으로 하는 데이터 프로세싱 장치에 의해 수행되는 방법.
A method performed by a data processing device, comprising:
Receiving relevance scores for an individual set of web resources, each relevance score representing a relevance of a web resource corresponding to a search query;
For each web resource in the set of web resources, obtaining a plurality of similarity scores, each similarity score for the web resource is determined by each deep link to a native application. Indicates the similarity between each referenced content and the web resource;
For each of the deep links, based on each of the similarity scores between the content referenced by the deep link and the web resources and each of the relevance scores for the web resources, referenced by the deep link. Generating each quality score for the content to be made;
Selecting deep links that reference the content, each quality score meeting a threshold quality score; And
In response to the search query, providing the selected deep links to a user device with a plurality of web search results each referring to a corresponding web resource.
Method performed by a data processing apparatus comprising a.
제1항에 있어서,
상기 복수의 유사성 점수들을 획득하기 전에,
각각의 웹 리소스에 대해, 상기 콘텐츠 및 상기 웹 리소스로부터 상기 웹 리소스에 대한 상기 복수의 유사성 점수를 생성하는 단계를 더 포함하는 것을 특징으로 하는 데이터 프로세싱 장치에 의해 수행되는 방법.
According to claim 1,
Before obtaining the plurality of similarity scores,
And for each web resource, generating the plurality of similarity scores for the web resource from the content and the web resource.
제2항에 있어서,
상기 복수의 유사성 점수들을 생성하는 단계는, n-gram Jaccard similarity, 최소 해시(minimum hash), 또는 상기 복수의 유사성 점수들에 대한 로컬티-민감성 해시(locality-sensitive hashing) 중 하나 이상에 기초하는 것을 특징으로 하는 데이터 프로세싱 장치에 의해 수행되는 방법.
According to claim 2,
Generating the plurality of similarity scores is based on one or more of n-gram Jaccard similarity, minimum hash, or locality-sensitive hashing for the plurality of similarity scores. Method performed by the data processing apparatus characterized in that.
제1항에 있어서,
상기 딥링크들 각각에 대해, 상기 딥링크에 의해 참조되는 콘텐츠에 대한 각각의 품질 점수를 생성하는 단계는,
각각의 웹 리소스에 대해, 상기 딥링크에 의해 참조되는 콘텐츠와 상기 웹 리소스 사이의 상기 유사성 점수 각각과 상기 웹 리소스에 대한 상기 관련성 점수 각각의 곱(product)을 각각 계산하는 단계; 및
각각의 품질 점수를 생성하도록 상기 각각의 곱을 합산하는 단계
를 포함하는 것을 특징으로 하는 데이터 프로세싱 장치에 의해 수행되는 방법.
According to claim 1,
For each of the deep links, generating each quality score for the content referenced by the deep link,
For each web resource, calculating a product of each of the similarity scores between the content referenced by the deep link and the web resource and each of the relevance scores for the web resource; And
Summing each of the products to produce respective quality scores
Method performed by the data processing apparatus comprising a.
제1항에 있어서,
각각의 네이티브 어플리케이션에 대한 각각의 딥링크는, 상기 사용자 디바이스에서 선택될 때, 상기 각각의 네이티브 어플리케이션으로 하여금, 상기 딥링크에서 참조되는 콘텐츠가 디스플레이되는 각각의 네이티브 어플리케이션의 인스턴스를 인스턴스화하게 하는 것을 특징으로 하는 데이터 프로세싱 장치에 의해 수행되는 방법.
According to claim 1,
Each deep link for each native application, when selected on the user device, causes the respective native application to instantiate an instance of each native application on which the content referenced in the deep link is displayed. A method performed by a data processing device.
제1항에 있어서,
각각의 웹 리소스에 대한 각각의 관련성 점수는, 검색 엔진에 의해 순위가 매겨진(ranked) 웹 리소스들의 리스트에 있는 웹 리소스 각각의 순위(rank)에 기초하는 것을 특징으로 하는 데이터 프로세싱 장치에 의해 수행되는 방법.
According to claim 1,
Each relevance score for each web resource is performed by a data processing apparatus characterized by being based on the rank of each web resource in a list of web resources ranked by a search engine. Way.
제1항에 있어서,
상기 임계 품질 점수를 충족시키는 각각의 품질 점수를 갖는, 콘텐츠를 참조하는 딥링크들을 선택하는 단계는,
상기 임계 품질 점수를 충족시키는 품질 점수를 갖는, 콘텐츠를 참조하는 딥링크들을 최대 개수까지 선택하는 것을 특징으로 하는 데이터 프로세싱 장치에 의해 수행되는 방법.
According to claim 1,
Selecting deep links referring to the content having each quality score that satisfies the critical quality score,
A method performed by a data processing apparatus, characterized in that up to the maximum number of deep links referring to content having a quality score satisfying the critical quality score is selected.
제1항에 있어서,
상기 복수의 웹 검색 결과들과 함께 상기 복수의 딥링크들을 사용자 디바이스에 제공하는 단계는,
각각의 딥링크에 대해, 상기 딥링크에 대한 정규화된 관련성 점수를 생성하도록, 웹 검색 결과들에 대한 각각의 관련성 점수들에 대하여 상기 딥링크에 대한 상기 품질 점수 각각을 정규화하는 단계;
웹 검색 결과들 및 딥링크들의 순위가 매겨진 리스트를 생성하도록, 상기 관련성 점수들 및 상기 정규화된 관련성 점수들에 기초하여 상기 웹 검색 결과들 및 딥링크들의 순위를 매기는(ranking) 단계; 및
상기 웹 검색 결과들 및 딥링크들의 순위가 매겨진 리스트를 사용자 디바이스에 제공하는 단계
를 포함하는 것을 특징으로 하는 데이터 프로세싱 장치에 의해 수행되는 방법.
According to claim 1,
Providing the plurality of deep links to the user device together with the plurality of web search results,
For each deep link, normalizing each of the quality scores for the deep link with respect to respective relevance scores for web search results to generate a normalized relevance score for the deep link;
Ranking the web search results and deep links based on the relevance scores and the normalized relevance scores to generate a ranked list of web search results and deep links; And
Providing the user's device with a ranked list of web search results and deep links
Method performed by the data processing apparatus comprising a.
제1항에 있어서,
상기 각각의 딥링크에 의해 참조되는 각각의 콘텐츠는 웹 리소스가 아닌 것을 특징으로 하는 데이터 프로세싱 장치에 의해 수행되는 방법.
According to claim 1,
A method performed by a data processing device, wherein each content referenced by each deep link is not a web resource.
시스템으로서,
하나 이상의 컴퓨터들; 및
상기 하나 이상의 컴퓨터들에 접속되고 명령들이 저장되어 있는 컴퓨터-판독가능한 매체를 포함하며, 상기 명령들은 상기 하나 이상의 컴퓨터들에 의해 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금, 각각의 뉴럴 네트워크 계층들에 대해, 동작들을 수행하게 하며, 상기 동작들은,
웹 리소스들의 개별 세트에 대한 관련성 점수들(relevance scores)을 수신하고, 각각의 관련성 점수는 검색 쿼리에 대응하는 웹 리소스의 관련성을 나타내며;
상기 웹 리소스들의 세트의 각각의 웹 리소스에 대하여, 복수의 유사성 점수들(similarity scores)을 획득하고, 웹 리소스에 대한 각각의 유사성 점수는, 네이티브 어플리케이션에 대한 각각의 딥링크(deeplink)에 의해서 참조되는 각각의 콘텐츠와 상기 웹 리소스 사이의 유사성을 나타내며;
상기 딥링크들 각각에 대해, 상기 딥링크에 의해 참조되는 콘텐츠와 상기 웹 리소스들 사이의 상기 유사성 점수들 각각과 상기 웹 리소스들에 대한 상기 관련성 점수들 각각에 기초하여, 상기 딥링크에 의해 참조되는 콘텐츠에 대한 각각의 품질 점수를 생성하고;
임계 품질 점수를 충족시키는 각각의 품질 점수를 갖는, 콘텐츠를 참조하는 딥링크들을 선택하고; 그리고
상기 검색 쿼리에 응답하여, 대응하는 웹 리소스를 각각 참조하는 복수의 웹 검색 결과들과 함께 상기 선택된 딥링크들을 사용자 디바이스에 제공하는 것을 포함하는 것을 특징으로 하는 시스템.
As a system,
One or more computers; And
A computer-readable medium connected to the one or more computers and having instructions stored thereon, the instructions, when executed by the one or more computers, cause the one or more computers to be assigned to respective neural network layers. To perform the operations, wherein the operations,
Receive relevance scores for an individual set of web resources, each relevance score representing a relevance of a web resource corresponding to a search query;
For each web resource in the set of web resources, a plurality of similarity scores are obtained, and each similarity score for a web resource is referenced by each deep link to a native application. Represents the similarity between each content being made and the web resource;
For each of the deep links, based on each of the similarity scores between the content referenced by the deep link and the web resources and each of the relevance scores for the web resources, referenced by the deep link. Generating respective quality scores for the content to be made;
Select deep links that reference the content, each quality score meeting a critical quality score; And
And in response to the search query, providing the selected deep links to a user device along with a plurality of web search results each referring to a corresponding web resource.
제10항에 있어서,
상기 명령들은 상기 하나 이상의 컴퓨터들에 의해 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금, 상기 복수의 유사성 점수들을 획득하기 전에,
각각의 웹 리소스에 대해, 상기 콘텐츠 및 상기 웹 리소스로부터 상기 웹 리소스에 대한 상기 복수의 유사성 점수를 생성하게 하는 것을 특징으로 하는 시스템.
The method of claim 10,
When the instructions are executed by the one or more computers, before the one or more computers obtain the plurality of similarity scores,
And for each web resource, generating the plurality of similarity scores for the web resource from the content and the web resource.
제10항에 있어서,
상기 명령들은, 상기 하나 이상의 컴퓨터들에 의해 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금, 상기 딥링크들 각각에 대해, 상기 딥링크에 의해 참조되는 콘텐츠에 대한 각각의 품질 점수를 생성하게 하되,
각각의 웹 리소스에 대해, 상기 딥링크에 의해 참조되는 콘텐츠와 상기 웹 리소스 사이의 상기 유사성 점수 각각과 상기 웹 리소스에 대한 상기 관련성 점수 각각의 곱(product)을 각각 계산하고; 그리고
각각의 품질 점수를 생성하도록 상기 각각의 곱을 합산함에 의해서, 각각의 품질 점수를 생성하게 하는 것을 특징으로 하는 시스템.
The method of claim 10,
The instructions, when executed by the one or more computers, cause the one or more computers to generate, for each of the deep links, a respective quality score for the content referenced by the deep link,
For each web resource, each product of each of the similarity scores between the content referenced by the deep link and the web resource and each of the relevance scores for the web resource is calculated; And
And generating each quality score by summing the respective products to produce each quality score.
제10항에 있어서,
상기 명령들은, 상기 하나 이상의 컴퓨터들에 의해 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금, 상기 복수의 웹 검색 결과들과 함께 상기 복수의 딥링크들을 사용자 디바이스에 제공하게 하되,
각각의 딥링크에 대해, 상기 딥링크에 대한 정규화된 관련성 점수를 생성하도록, 웹 검색 결과들에 대한 각각의 관련성 점수들에 대하여 상기 딥링크에 대한 상기 품질 점수 각각을 정규화하고;
웹 검색 결과들 및 딥링크들의 순위가 매겨진 리스트를 생성하도록, 상기 관련성 점수들 및 상기 정규화된 관련성 점수들에 기초하여 상기 웹 검색 결과들 및 딥링크들의 순위를 매기고(ranking); 그리고
상기 웹 검색 결과들 및 딥링크들의 순위가 매겨진 리스트를 사용자 디바이스에 제공함에 의해서, 상기 복수의 딥링크들을 사용자 디바이스에 제공하게 하는 것을 특징으로 하는 시스템.
The method of claim 10,
The instructions, when executed by the one or more computers, cause the one or more computers to provide the plurality of deep links to the user device along with the plurality of web search results,
For each deep link, normalize each of the quality scores for the deep link for each relevance score for web search results to generate a normalized relevance score for the deep link;
Ranking the web search results and deep links based on the relevance scores and the normalized relevance scores to generate a ranked list of web search results and deep links; And
And providing the user device with an ordered list of web search results and deep links, thereby providing the plurality of deep links to the user device.
제10항에 있어서,
상기 각각의 딥링크에 의해 참조되는 각각의 콘텐츠는 웹 리소스가 아닌 것을 특징으로 하는 시스템.
The method of claim 10,
A system characterized in that each content referenced by each deep link is not a web resource.
명령들이 저장되어 있는 컴퓨터-판독가능한 매체로서, 상기 명령들은 하나 이상의 컴퓨터들에 의해 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금, 제1항 내지 제9항 중 어느 한 항에 따른 방법을 수행하게 하는 것을 특징으로 하는 컴퓨터-판독가능한 매체. A computer-readable medium having instructions stored thereon, which, when executed by one or more computers, cause the one or more computers to perform the method according to any one of claims 1 to 9. A computer-readable medium, characterized in that.
KR1020187001280A 2015-10-12 2016-10-04 Automated information retrieval KR102091225B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/880,947 US20170103129A1 (en) 2015-10-12 2015-10-12 Scoring content within native applications
US14/880,947 2015-10-12
PCT/US2016/055311 WO2017066042A1 (en) 2015-10-12 2016-10-04 Automated information retrieval

Publications (2)

Publication Number Publication Date
KR20180017182A KR20180017182A (en) 2018-02-20
KR102091225B1 true KR102091225B1 (en) 2020-03-19

Family

ID=58499580

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187001280A KR102091225B1 (en) 2015-10-12 2016-10-04 Automated information retrieval

Country Status (6)

Country Link
US (1) US20170103129A1 (en)
JP (1) JP6517437B2 (en)
KR (1) KR102091225B1 (en)
CN (1) CN107851114B (en)
DE (1) DE112016002946T5 (en)
WO (1) WO2017066042A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11093512B2 (en) * 2018-04-30 2021-08-17 International Business Machines Corporation Automated selection of search ranker
FI129928B (en) 2019-01-29 2022-11-15 Upm Kymmene Corp Method and arrangement for feedback based control in chemical refining of wood
CN112714033B (en) * 2019-10-25 2022-07-01 中国移动通信集团河北有限公司 Method and device for determining characteristic information of video set
US11301273B2 (en) * 2020-03-11 2022-04-12 Atlassian Pty Ltd. Computer user interface for a virtual workspace having multiple application portals displaying context-related content

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8386469B2 (en) * 2006-02-16 2013-02-26 Mobile Content Networks, Inc. Method and system for determining relevant sources, querying and merging results from multiple content sources
US20120166411A1 (en) * 2010-12-27 2012-06-28 Microsoft Corporation Discovery of remotely executed applications
US20130031091A1 (en) * 2011-07-26 2013-01-31 Microsoft Corporation Action-based search results and action view pivoting
KR101894878B1 (en) * 2011-08-16 2018-09-04 엘지전자 주식회사 Display device and method for providing a content using the same
US20130110815A1 (en) * 2011-10-28 2013-05-02 Microsoft Corporation Generating and presenting deep links
US20150161127A1 (en) * 2012-02-13 2015-06-11 Google Inc. Ranking entity realizations for information retrieval
US20140040226A1 (en) * 2012-07-31 2014-02-06 Microsoft Corporation Providing application result and preview
JP6105094B2 (en) * 2013-03-01 2017-03-29 クイクシー インコーポレイテッド Generate search results with status links to applications
US8996520B2 (en) * 2013-03-15 2015-03-31 Google Inc. Ranking of native application content
US9063984B1 (en) * 2013-03-15 2015-06-23 Google Inc. Methods, systems, and media for providing a media search engine
US9251224B2 (en) * 2014-03-04 2016-02-02 Google Inc. Triggering and ranking of native applications
US10061796B2 (en) * 2014-03-11 2018-08-28 Google Llc Native application content verification
CN103838856B (en) * 2014-03-17 2018-12-14 联想(北京)有限公司 A kind of information processing method and device
US10268763B2 (en) * 2014-07-25 2019-04-23 Facebook, Inc. Ranking external content on online social networks
US8954836B1 (en) * 2014-08-19 2015-02-10 Adlast, Inc. Systems and methods for directing access to products and services
US20160055256A1 (en) * 2014-08-19 2016-02-25 Adlast, Inc. Systems and methods for directing access to products and services
US20160196579A1 (en) * 2015-01-05 2016-07-07 ProGrids, LLC Dynamic deep links based on user activity of a particular user
US10061856B2 (en) * 2015-01-29 2018-08-28 Facebook, Inc. Multimedia search using reshare text on online social networks
US9703541B2 (en) * 2015-04-28 2017-07-11 Google Inc. Entity action suggestion on a mobile device
US10509834B2 (en) * 2015-06-05 2019-12-17 Apple Inc. Federated search results scoring
US10755032B2 (en) * 2015-06-05 2020-08-25 Apple Inc. Indexing web pages with deep links
US10223460B2 (en) * 2015-08-25 2019-03-05 Google Llc Application partial deep link to a corresponding resource

Also Published As

Publication number Publication date
CN107851114B (en) 2021-04-20
JP6517437B2 (en) 2019-05-22
JP2018527686A (en) 2018-09-20
KR20180017182A (en) 2018-02-20
WO2017066042A1 (en) 2017-04-20
DE112016002946T5 (en) 2018-03-15
US20170103129A1 (en) 2017-04-13
CN107851114A (en) 2018-03-27

Similar Documents

Publication Publication Date Title
US20240143679A1 (en) Search result filters from resource content
US9652550B2 (en) Indexing application pages of native applications
KR102056418B1 (en) Native application search results along with web search results
EP3161678B1 (en) Deep links for native applications
EP3234817B1 (en) Deeplinking to multiple native applications
KR102091225B1 (en) Automated information retrieval
JP6580708B2 (en) Application part deep links to corresponding resources
EP3238104A1 (en) Native application deeplink scoring

Legal Events

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