CN108287862A - 搜索引擎 - Google Patents

搜索引擎 Download PDF

Info

Publication number
CN108287862A
CN108287862A CN201711050202.7A CN201711050202A CN108287862A CN 108287862 A CN108287862 A CN 108287862A CN 201711050202 A CN201711050202 A CN 201711050202A CN 108287862 A CN108287862 A CN 108287862A
Authority
CN
China
Prior art keywords
native applications
feature vector
user
search engine
data
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN201711050202.7A
Other languages
English (en)
Inventor
T.默滕斯
M.古宾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN108287862A publication Critical patent/CN108287862A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/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/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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • 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/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • 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)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

这里提供了方法、***和装置,包括在计算机存储介质上编码的计算机程序,用于使用在用户设备上实现的搜索引擎来识别关联于原生应用内容的话题或任务。该方法可以包括以下动作:接收数据集,所述数据集由原生应用生成并且包括(i)原生应用内容,以及(ii)关联于原生应用内容的上下文信息;基于数据集生成聚类特征向量表示;将聚类特征向量表示存储在用户设备上的搜索引擎索引中;识别关联于特定特征向量表示的聚类特征向量表示集;识别关联于聚类特征向量表示集的一个或多个任务;以及为输出提供包括识别任务中的一个或多个的可选择控件的用户界面。

Description

搜索引擎
技术领域
本说明书涉及搜索引擎。
背景技术
搜索引擎通常可以被描述为执行搜索(search)并检索(retrieval)所存储的数据的任何***。可以根据手头的任务以各种不同的方式配置搜索引擎。例如,一些搜索引擎可以被配置为执行基于关键词的搜索和检索。这样的搜索引擎可以至少部分地基于搜索词在一个或多个特定资源中出现的次数或每个相应资源的元数据来识别相关搜索结果。替代地或附加地,一些搜索引擎可以通过识别与一个或多个搜索词相关联的实体名称,然后确定实体名称在一个或多个特定资源中的出现次数,来识别相关搜索结果。在这种实例下,可以基于实体名称在一个或多个特定资源中的出现次数来获得相关的搜索结果。搜索引擎可以响应于查询来识别搜索结果的上述方式仅仅是示例性的。
还可以将搜索引擎配置成响应于查询以各种其他方式来识别搜索结果。可以根据需要使用搜索引擎的定制配置来解决与搜索和检索相关的特定问题。
发明内容
本公开的方面涉及在移动设备上组织、搜索和检索应用内容。移动设备上的应用内容项可以包括(i)诸如联系人、消息、呼叫历史、文档、笔记、日历事件等的个人内容,(ii)由应用为用户消费提供的应用特定内容,(iii)由应用提供并且响应于用户交互的应用特定内容,或(iv)其组合。本公开可以将应用内容项聚类到可以响应于搜索查询而提供的一个或多个不同组,例如话题、任务等。本公开可以生成一个或多个可选择的控件,每个可选择控件与和所接收的搜索查询相关的应用内容项的相应组相关联。响应于对可选择的控件中的一个的选择,可以提供一个或多个搜索结果,每个搜索结果引用和关联于所选择的控件的组相关的应用内容项。搜索结果可以基于被用于消费搜索结果所引用的每个相应应用内容项或与搜索结果所引用的每个相应应用内容项进行交互的应用类型来进行排序。
根据本公开的一个创新方面,公开了一种使用在用户设备上实现的搜索引擎来识别关联于原生应用内容的话题或任务的计算机实现的方法。该方法可以包括以下动作:通过在用户设备上实现的搜索引擎并且对于用户设备上的多个原生应用中的每一个,接收数据集,所述数据集由原生应用生成并且包括(i)原生应用内容,以及(ii)关联于原生应用内容的上下文信息(context information);对于由原生应用生成的每个数据集,通过用户设备上实现的搜索引擎,基于该数据集生成聚类特征向量表示;通过在用户设备上实现的搜索引擎将聚类特征向量表示存储在用户设备上的搜索引擎索引中;由用户设备上实现的搜索引擎识别关联于特定特征向量表示的聚类特征向量表示集;通过在用户设备上实现的搜索引擎识别关联于聚类特征向量表示集的一个或多个话题或任务;以及为输出提供包括识别话题或任务中的一个或多个的可选择控件的用户界面。
其他方面包括用于执行由在计算机存储设备上编码的指令定义的方法的动作的相应***、装置和计算机程序。
这些和其它版本可以可选地包括一个或多个以下特征。例如,在一些实现方式中,由用户设备上实现的搜索引擎基于该数据集生成聚类特征向量表示可以包括:从原生应用内容中提取一个或多个特征的第一集合,从关联于原生应用内容的上下文信息提取一个或多个特征的第二集合,以及基于一个或多个特征的第一集合和一个或多个特征的第二集合来生成聚类特征向量表示。
在一些实现方式中,一个或多个特征的第一集合包括从原生应用内容的文本中的一个或多个单词提取的特征。在相同的实现方式或其他实现方式中,一个或多个特征的第二集合包括从指示关联于原生应用内容的一个或多个域的数据提取的特征。在相同的实现方式或其他实现方式中,一个或多个特征的第二集合包括从指示安装在用户设备上的一个或多个原生应用的流行度的数据提取的特征。在相同的实现方式或其他实现方式中,一个或多个特征的第二集合包括从指示在与所生成的数据集相同的会话期间被访问的一个或多个原生应用的数据提取的特征。
在一些实现方式中,由用户设备上实现的搜索引擎识别关联于特定特征向量表示的聚类特征向量表示集可以包括:由用户设备上实现的搜索引擎基于搜索词和用户上下文生成查询向量,以及由用户设备上实现的搜索引擎识别存储在搜索引擎索引中的与查询向量相似的一个或多个聚类特征向量表示。
如权利要求书中所定义并如本文所描述的方法提供对数据——特别是原生应用相关的数据——的搜索和检索。该方法通用并适用于各种原生应用的情境中。然而,这种通用性不会对该方法的效率产生负面影响,因为数据检索和数据搜索被安排成使得能够实现诸如存储/存储器和处理单元之类的资源的有效利用以及数据检索和数据搜索的有效执行。该方法不限于这些优点。本领域技术人员将能够从本公开认识到,还提供进一步的优点。
附图说明
图1是用于检索原生应用(native application)内容项的搜索引擎的示例的上下文图。
图2是可用于表示来自原生应用的数据的聚类特征向量的示例。
图3是使用搜索引擎来检索应用内容项的过程的示例的流程图。
具体实施方式
图1是用于检索原生应用内容项的搜索引擎100的示例的上下文图。
搜索引擎100安装在用户设备110上。搜索引擎100可以被配置为从安装在用户设备110上的一个或多个原生应用111、112、113、114、115接收数据集131、132、133、134、135。原生应用可以包括例如已经为在用户设备110上使用而开发的应用程序。一个或多个应用可以包括任何类型的移动应用,例如旅行应用(travel application)、消息应用、旅游顾问应用(trip mentor application)、日历应用、文档处理应用、联系人应用、语音呼叫应用、笔记应用、百科全书应用等。用户设备110可以包括例如智能电话、智能手表、平板电脑等。安装在用户设备110上的搜索引擎100包括向量生成单元140、搜索引擎索引150、向量相似度单元160、用户界面生成单元170和云接口单元180。通常,“单元”可以被实现为一个或多个软件组件、一个或多个硬件组件或其组合。一个或多个软件组件和一个或多个硬件组件的组合发生在,例如一个或多个软件组件安装在允许实现软件组件的功能的一个或多个位置的一个或多个计算机上时。
安装在用户设备110上的每个原生应用111、112、113、114、115被配置为生成(121a、121b、121c、121d、121e)相应数据集131、132、133、134、135的。可以基于与每个相应的原生应用111、112、113、114、115的用户交互来生成相应的数据集131、132、133、134、135。数据集131、132、133、134、135可以包括原生应用内容131a、132a、133a、134a、135a和上下文信息131b、132b、133b、134b、135b。例如,用户可以与旅行应用111进行交互,以便预订从华盛顿特区到意大利的将于1/15/17(2017年1月15日)下午3:00出发的机票。基于该用户交互,原生应用可以生成包括原生应用内容131a的数据集131,原生应用内容131a例如被用户用来与其交互的原生应用内容。在这个实例中,行程起点(例如DC)、行程目的地(例如意大利)、行程出发日期(例如、1/15/17)和行程出发时间(例如,3:00pm)单独地或一起是用户创建上述应用内容时被用户用来与其交互的一个或多个原生应用内容项的示例。与原生应用内容项的其他形式的用户交互可以包括用户编辑原生应用内容、用户查看原生应用内容、用户收听原生应用内容等。搜索引擎100可以从原生应用内容提取一个或多个特征以生成表示所述用户的交互或一个或多个原生应用内容项的消费的聚类特征向量。
数据集131、132、133、134、135还可以包括上下文信息131b、132b、133b、134b、135b,其与导致生成原生应用内容131a、132a、133a、134a、135a的与每个相应的原生应用111、112、113、114、115的用户交互相关联。包括在数据集131、132、133、134、135中的上下文信息可以包括关联于特定原生应用111、112、113、114、115的数据。替代地或者附加地,包括在数据集131、132、133、134、135中的上下文信息可以包括从与原生应用交互的用户的用户简档获得的数据。用户简档可以包括指示用户对安装在用户设备上的每个相应的原生应用的使用的数据。结果是,作为示例,基于用户与原生应用111的交互,由原生应用111生成的数据集131可以包括上下文信息131b,诸如指示用户对原生应用111的使用的信息、指示用户对原生应用111附近的其他原生应用112、113、114、115的使用的信息等。
由各个相应的原生应用111、112、113、114、115生成的上下文信息可以包括其他类型的信息。例如,其他类型的上下文信息131b、132b、133b、134b、135b可以包括指示关联于用户与之交互的原生应用内容的域(field)的数据、指示与原生应用的用户活动的数据、指示原生应用内容创建时间的数据、指示原生应用内容交互时间的数据、指示原生应用交互的数量的数据等。
指示关联于用户与之交互的原生应用内容的域的数据可以包括——例如——消息的“To(给):”域、消息的“Subject(对象)”域、消息的“Body(主体)”域、航班预订的“Destination(目的地)”域、酒店预订的“Date(日期)”域、文章的“Title(标题)”域等。指示与原生应用的用户活动的数据可以包括——例如——指示用户与原生应用的交互的数量的数据、指示在使用该原生应用时用户与之交互的其他原生应用的数据、指示用户在该原生应用之前使用的原生应用的数据、指示用户在该原生应用之后使用的原生应用的数据、指示用户设备的用户在原生应用之间切换的模式的数据等。指示原生应用内容创建时间的数据可以包括——例如——指示用户何时创建应用内容的时间戳。指示原生应用内容交互时间的数据可以包括——例如——指示用户与原生应用内容交互的时间的数据。例如,交互时间可以包括指示用户观看在原生应用中的原生应用内容的时间的时间戳。应用交互的数量可以包括用户与特定原生应用交互的次数。用户与特定原生应用交互的次数可以包括(i)指示与用户的总计应用交互的特定数量的数据,(ii)指示在预定时间段内的总计应用交互的特定数量的数据,或(iii)其组合。例如,应用交互的数量可以包括指示用户打开笔记应用20次的数据、用户在过去一周内打开旅行应用46次等。
在一些实施方式中,数据集131、132、133、134、135可以包括多种类型的独立原生应用内容项,当被共同分析时,这些独立原生应用内容项可以指示一个或多个总体话题、任务等,所述一个或多个总体话题、任务等可以在用户与生成数据集131、132、133、134、135的原生应用111、112、113、114、115交互时对用户的活动进行分类。与相同话题相关的多个原生应用内容项可以被描述为共享该相同主题的多个原生应用内容项。例如,与相同话题相关的多个原生应用内容项可以包括发送到同一收件人的多个消息的集合、到与相同主题相关的不同收件人的多个消息的集合、与相同主题相关的多种不同类型的应用内容项的集合等。
或者,与相同任务相关的多个原生应用内容项可以包括与相同目的、目标等相关的多个原生应用内容项。作为示例,用户可以随着时间的推移参与任务,包括计划到意大利的旅行。在计划意大利之行期间,用户可以在数天、数周甚至数月的不同时间段内与多个不同的原生应用进行交互,以便——例如——使用旅行应用111预订前往意大利的航班、使用旅行应用113(例如,与旅行应用111相同的旅行应用或不同于旅行应用111的旅行应用)预订罗马的酒店、使用旅游顾问应用114查看旅游目的地的描述、使用搜索引擎搜索在罗马的餐馆或特色商店(例如,Gelato商店)、使用消息应用115(例如,与消息应用113相同的消息应用或不同于消息应用113的消息应用)将关于用户有兴趣在罗马游逛的特色商店(例如,Gelato商店)的消息发送给用户的配偶,等等。可以获得基于上述原生应用交互生成的上下文数据。然后,一个或多个特征可以从获得的上下文数据中提取,并且用于生成在特征向量空间中表示原生应用交互的聚类特征向量。
向量生成单元140被配置为接收(122a、122b、122c、122d、122e)由原生应用111、112、113、114、115生成的一个或多个数据集131、132、133、134、135。由向量生成单元140接收的数据集包括原生应用内容和上下文信息。向量生成单元140可以从接收的数据集131、132、133、134、135中提取特征。例如,向量生成单元140可以从原生应用内容131a、132a、133a、134a、135a和上下文信息131b、132b、133b、134b、135b中提取特征。向量生成单元140可以处理所接收的数据集131、132、133、134、135,以为每个接收的数据集131、132、133、134、135生成聚类特征向量。
可以基于应用内容131a、132a、133a、134a、135a的文本生成每个聚类特征向量。例如,在一些实现方式中,特征可以从应用内容131a、132a、133a、134a、135a中的每个单词提取并且用于生成聚类特征向量。可以基于关联于该内容的应用领域来注释应用内容的文本。因此,与用于在原生应用接口上接收和显示文本的原生应用文档的结构相关联的特征可以内置到聚类特征向量中。
替代地或者附加地,可以基于由原生应用内容131a、132a、133a、134a、135a的文本识别的实体来生成每个聚类特征向量。例如,向量生成单元140能够从原生应用内容131a、132a、133a、134a、135a中包含的联系人姓名、非联系人的姓名、地名、国家名、城市名、商户名等中提取特征。因此,与在原生应用内容131a、132a、133a、134a、135a的文本中识别的特定实体名称相关联的特征可以内置在聚类特征向量中。
替代地或者附加地,可以基于从每个相应的原生应用接收到的上下文信息131b、132b、133b、134b、135b来生成每个聚类特征向量。例如,向量生成单元140可以从上下文信息131b、132b、133b、134b、135b提取特征,该上下文信息131b、132b、133b、134b、135b包括指示与安装在用户设备110上的一个或多个原生应用111、112、113、114、115相关的用户活动的数据。例如,可以从上下文信息131b、132b、133b、134b、135b提取特征,该上下文信息131b、132b、133b、134b、135b诸如指示安装在用户设备110上的一个或多个原生应用的流行度的数据,并且所提取的特征可以用于生成聚类特征向量。
替代地或者附加地,可以从上下文信息131b、132b、133b、134b、135b提取特征,该上下文信息131b、132b、133b、134b、135b诸如指示在独立于会话的应用的模式的数据、指示在相同会话中的应用之间的切换模式的数据等,并且所提取的特征可以用于生成聚类特征向量。这样的特征可能是有益的,因为如果在预定阈值时间内用户与多个原生应用交互,那么与那些用户交互相关联的原生应用内容可以与相同的话题、任务等相关。替代地或者附加地,可以从上下文信息131b、132b、133b、134b、135b提取特征,该上下文信息131b、132b、133b、134b、135b诸如指示应用内容创建时间的数据、指示应用内容交互时间的数据、指示用户与原生应用的交互的数量的数据等,然后提取的特征可以用于生成聚类特征向量。
每个聚类特征向量是从原生应用接收的每个数据集131、132、133、134、135的数值表示。该数值表示量化了从每个相应数据集131、132、133、134、135提取的特征与已建立的聚类特征向量词汇表之间的关系。聚类特征向量词汇表可以包括特定语言的每个已知单词或短语的条目。此外,聚类特征向量词汇表可以包括与由原生应用提供的上下文信息相关的一个或多个附加条目。例如,聚类特征向量词汇表可以包括表示安装在用户设备110上的每个原生应用的一个或多个条目、表示与生成聚类特征向量所基于的数据集的原生应用相关的原生应用的一个或多个条目、表示在与生成聚类特征向量所基于的数据集的原生应用相同的会话中使用的原生应用的一个或多个条目、表示在生成聚类特征向量所基于的数据集的原生应用之前使用的原生应用的一个或多个条目、表示在生成聚类特征向量所基于的数据集的原生应用之后使用的原生应用的一个或多个条目、表示生成聚类特征向量所基于的数据集的原生应用的流行度的一个或多个条目、表示聚类特征向量所基于的应用内容的内容创建时间的一个或多个条目、表示聚类特征向量所基于的应用内容的内容交互时间的一个或多个条目、表示与聚类特征向量所基于的应用内容相关联的一个或多个域的一个或多个条目等。
向量生成单元140可以将每个生成的聚类特征向量存储142在搜索引擎索引150中。搜索引擎索引150是组织由向量生成单元140生成的每个聚类特征向量的聚类特征向量存储区域。例如,搜索引擎索引150可以存储基于第一数据集131的第一聚类特征向量151、基于第二数据集132的第二聚类特征向量152、基于第三数据集133的第三聚类特征向量153、基于第四数据集134的第四聚类特征向量154、基于第五数据集135的第五聚类特征向量155等等。存储在搜索引擎索引150中的每个聚类特征向量可以用于标识聚类特征向量所基于的原生应用内容项(例如,消息135a)。因此,代替或者除了执行基于应用内容项的关键词搜索,用户设备110还可以使用搜索引擎100对存储在搜索引擎索引150中的聚类特征向量进行向量相似度搜索。以这种方式,可以提高搜索结果的精度和质量。此外,聚类特征向量中提供的信息是自动提供的,无需额外的用户交互。
向量生成单元140可以被配置为每当原生应用生成附加数据集时,向搜索引擎索引150添加附加的聚类特征向量。因此,当用户使用原生应用111、112、113、114、115实时地与原生应用内容进行交互时,上述的聚类特征向量生成过程可以作为后台进程来连续地执行。然而,在一些实现方式中,原生应用生成的数据集可被缓存。然后,可以基于一个或多个批处理规则(例如,预定时间段的到期,检测到缓存项的数量满足预定阈值,检测到用户设备110被***诸如墙壁插座的电源中,响应于来自用户的指示等)成批地向向量生成单元140提供缓存的数据集。
执行多个数据集的批处理的实现方式可以比持续使用向量生成单元140作为后台进程的实现方式更有效并且使用更少的资源。这是因为,在这种实现方式中,当原生应用111、112、113、114、115实时地生成后台数据时,向量生成单元140不是持续运行的。这种批处理***可以帮助节省用户设备110电池的使用。代替在后台持续运行,批处理实现方式中的向量生成单元140仅当搜索引擎100确定已经满足批处理规则时,才可以作为后台进程运行以生成聚类特征向量。然而,另一方面,在后台持续运行向量生成单元140以便当从原生应用111、112、113、114、115接收到相应的数据集时实时地生成聚类特征向量的实时处理实现方式也有优势。例如,这样的实时处理实现方式可以比执行批处理的***提供更加鲁棒和准确的搜索引擎索引150,因为这样的实时***具有总是被更新以包括表示用户与之交互的最近的原生应用内容的聚类特征向量的索引。
搜索引擎100可以包括用户界面生成单元170,其提供用于在用户设备110的图形用户界面上显示的用户界面190。在阶段A,用户界面190可以包括被配置为接收一个或多个搜索词192的查询输入域191。在阶段A中,作为示例,用户设备110的用户输入了搜索词“April”。用户设备110可以将(i)一个或多个搜索词192“April”和(ii)上下文信息提供(144)给向量生成单元140。搜索引擎可以如下面详细描述的那样处理一个或多个搜索词,并且生成一个或多个可选择控件192a、192b、192c。或者,当用户设备110的用户打开提供用户界面190的应用时,可以提供一个或多个可选择控件192a、192b、192c用于在用户界面190上显示。例如,可以响应于零输入查询提供一个或多个可选择控件192a、192b、192c用于显示。
提供(144)给向量生成单元140的上下文信息可以指示在提交一个或多个搜索词192时的用户上下文。替代地或者附加地,提供(144)给向量生成单元140的上下文信息可以指示在提交一个或多个搜索词之前的预定阈值时间内的用户上下文。例如,上下文信息可以包括指示在提交查询词192之前30秒、在提交查询词192之前1分钟、提交查询词192之前5分钟等期间的用户上下文的数据。描述用户上下文的上下文信息可以包括——例如——描述用户与一个或多个原生应用111、112、113、114、115的交互的数据。描述用户与一个或多个原生应用111、112、113、114、115的交互的数据可以包括指示用户使用的原生应用111、112、113、114、115的数据、指示由用户在或者接近查询词192被提交时打开的原生应用111、112、113、114、115的数据、用户使用原生应用程序111、112、113、114、115的顺序、用户使用安装在用户设备110上的原生应用111、112、113、114、115的频率等。在一些实现方式中,上下文信息可以从与用户关联并且在用户设备110上维护的用户简档获得。用户简档可以包括指示用户对安装在用户设备110上的一个或多个原生应用111、112、113、114、115中的每一个的使用的数据。
然后,向量生成单元140可以基于(i)一个或多个搜索词192和(ii)指示用户上下文的上下文信息来生成查询向量146a。例如,向量生成单元140可以从一个或多个搜索词192、指示用户上下文的上下文信息或两者提取特征并且使用所提取的特征来生成查询向量146a。在图1的例子中,查询向量146a是以下各项的数值表示:(i)在阶段A经由用户界面190接收的一个或多个搜索词192以及(ii)指示在输入一个或多个搜索词192之前的阈值时段期间的用户上下文的上下文信息。查询向量146a的数值表示量化以下两者之间的关系:(i)一个或多个搜索词192和上下文信息,共同地;和(ii)已建立的聚类特征向量词汇表。因此,从一个或多个搜索词192导出的特征和从用户上下文导出的特征可以内置在查询向量146a中,该查询向量146a可被评估以确定查询向量146a与存储在搜索引擎索引150中的一个或多个聚类特征向量151、152、153、154、155的相似度。向量生成单元140可以向向量相似度单元160提供(146)查询向量146a。
向量相似度单元160被配置为接收查询向量146a。向量相似度单元160可以访问(148)搜索引擎索引150以识别与查询向量146a相似的一个或多个聚类特征向量151、152、153、154、155。如果聚类特征向量151、152、153、154、155满足预定的相似度阈值,则聚类特征向量151、152、153、154、155可以与查询向量146a相似。在一些实现方式中,确定聚类特征向量151、152、153、154、155是否满足预定相似度阈值可以基于查询向量146a与每个相应的聚类特征向量151、152、153、154、155之间的距离。可以——例如——使用余弦距离函数来确定查询向量146a与每个相应的聚类特征向量151、152、153、154、155之间的距离。聚类特征向量识别过程可以产生与查询向量146a足够相似的聚类特征向量集。
向量相似度单元148分析与查询向量146a足够相似的聚类特征向量集,以识别关联于与查询向量146a足够相似的聚类特征向量集的一个或多个话题、任务等。分析聚类特征向量集可以包括——例如——使用一个或多个聚类算法将由向量相似度单元148识别的聚类特征向量集分组成一个或多个聚类特征向量组。例如,对所识别的聚类特征向量集的聚类可以基于关联于聚类特征向量的消息接收者,基于关联于聚类特征向量的实体,基于关联于聚类特征向量的事件,基于关联于聚类特征向量的原生应用等。本公开采用的聚类算法可以包括能够识别相关聚类特征向量组的任何聚类算法,例如k均值聚类算法(例如,基于质心的算法)、层级聚类、基于分布的聚类等。或者,可以采用流聚类算法来识别相关聚类特征向量组。
向量相似度单元148可以异步地执行聚类特征向量的聚类。例如,向量相似度单元148可以独立于用户打开显示诸如用户界面190之类的用户界面的应用(例如,搜索应用)进行聚类。在一些实现方式中,当用户使用用户设备110执行其他任务时,当用户设备110不被用户使用时,当用户设备110处于睡眠模式时,当用户设备110对其电池进行充电时,或这些组合等,可以作为后台进程执行异步聚类。或者,向量相似度单元148可以在运行时响应于所接收的查询,实时地执行聚类特征向量的聚类。例如,如果从由用户设备110执行的异步聚类的最近一次的迭代已经过去了超过阈值时间段,则可能发生在运行时的聚类特征向量的这种实时聚类。
向量相似度单元160可以执行一个或多个聚类算法,该聚类算法可以以先前被向量相似度单元160识别为与查询向量146a足够相似的的一个或多个相应锚聚类特征向量(anchor cluster feature-vector)开始。然后,对于每个锚聚类特征向量,向量相似度单元160可执行对搜索引擎索引150中与该锚聚类特征向量足够相似的其他聚类特征向量的搜索。如果一个或多个其他聚类特征向量在锚聚类特征向量的预定距离之内,则搜索引擎索引150中的一个或多个其他聚类特征向量可以与锚聚类特征向量足够相似。可以——例如——使用余弦距离函数来计算锚聚类特征向量与一个或多个其他聚类特征向量之间的距离。向量相似度单元160可以使用聚类算法来执行从锚聚类特征向量逐渐辐射出的搜索,直到聚类算法再也检测不到满足锚聚类特征向量的预定相似度阈值的其他聚类特征向量。向量相似度单元148可以将识别出的聚类特征向量组(或聚类)提供给用户界面生成单元170。
在一些实现方式中,向量相似度单元160可以使用云接口单元180访问由一个或多个云服务提供的全球语言模型。全球语言模型可以提供可由向量相似度单元160使用以识别两个或更多个聚类特征向量之间的关系的数据。例如,向量相似度单元140可以基于从全球语言模型接收的数据来识别同义词和相似概念。例如,向量相似度单元140可以使用从全球语言模型接收的数据来确定具有从诸如航班、行程和酒店的单词导出的特征的聚类特征向量是相关单词。作为不同的示例,向量相似度单元160可以使用从全球语言模型获得的数据来确定从包括词“Piazza Navona”的原生应用内容导出的聚类特征向量与从包含词“Italy”的原生应用内容项导出的聚类特征向量相关。作为另一示例,向量相似度单元160可以使用从全球模型获得的数据来确定从诸如关于意大利(Italy)的文档的原生应用内容导出的聚类特征向量与对前往“Rome(罗马)”的航班的行程预订相似,但与对前往“Paris(巴黎)”的航班的行程预订不相似。
替代地或者附加地,可以访问由一个或多个云服务提供的一个或多个内容图,以识别应用使用中的特定关系。例如,可以使用云接口单元180来访问由一个或多个云服务提供的应用内容图,以确定诸如旅行应用111和旅游顾问应用114之类的应用是与旅游相关的相关原生应用。因此,向量相似度单元160可以使用该原生应用相关性数据来确定来自两个原生应用组的聚类特征向量可能相关。
用户界面生成单元170接收一组或多组聚类特征向量。用户界面生成单元170可以对所接收的聚类特征向量组执行一个或多个后处理操作。用户界面生成单元170可以使用后处理操作的结果来修改172用户界面。
例如,用户界面生成单元170可以为每个所识别的聚类特征向量组生成标题。聚类特征向量组的标题可以包括——例如——帮助用户设备110的用户理解关联于由该聚类特征向量组表示的原生应用内容的特定话题、任务等的自然文本标签。可以使用从全球语言模型获得182的数据以及一组组织过的模式(curated pattern)——例如“Trip to<Location>”、“Meeting with<Person>”、“<Event>Party”等——生成聚类特征向量组的标题,全球语言模型是由云服务器使用云接口单元180提供的。或者,在一些实现方式中,聚类特征向量组的标题可以包括关联于聚类内容的联系人姓名、关联于聚类内容的位置等。
替代地或者附加地,用户界面生成单元170可以对由向量相似度单元160识别的聚类特征向量组进行排序(rank)。在一些实现方式中,可以基于由所识别的聚类特征向量组中的一个或多个聚类特征向量表示的原生应用内容项被用户设备110的用户访问的时间有多近来排序所识别的聚类特征向量组。替代地或者附加地,可以基于由聚类表示的原生应用内容项的数量来对所识别的组进行排序。也可以采用其他类型的排序方法来对所识别的聚类特征向量组进行排序。例如,聚类特征向量组的识别也可以例如基于由用户设备110的用户访问由聚类特征向量组表示的原生应用内容项的频率、用户设备110的用户与其他用户设备的用户共享原生应用内容项的频率、用户设备110的用户与社交媒体站点共享原生应用内容项的频率等。
用户界面生成单元170可以响应于由向量相似度单元160基于查询向量146a执行的向量相似度搜索而生成用于在阶段A在用户界面190上显示的可选择控件,诸如可选择控件192a、192b、192c,查询向量146a从以下导出:(i)由用户设备110的用户输入的一个或多个搜索词192和(ii)指示用户上下文的上下文信息。用户界面生成单元170可以将聚类特征向量的特定组与每个可选择控件相关联。响应于诸如可选择控件192a的可选择控件的选择,用户界面生成单元170可以提供搜索结果,搜索结果标识由关联于可选择控件192a的聚类特征向量组中的聚类特征向量表示的原生应用内容项。
可选择控件192a、192b、192c的初始集可以基于由用户界面生成单元170识别的聚类特征向量的最高排名组的集合。在图1的例子中,用户接口单元170可以将关联于联系人“April Smith”的聚类特征向量组排序为最高排名的聚类特征向量组,因为用户最近使用原生应用115向“April”发送消息。用户界面单元170还可以基于诸如以下因素将关联于位置“Italy”的聚类特征向量组给予高排名:(i)用户最近查看关于意大利的内容,(ii)用户最近发送关于意大利的消息,以及(iii)与意大利相关的聚类特征向量组包括多于阈值数量的聚类特征向量。然后,用户界面生成单元170由于用户设备的用户使用消息应用向April Smith发送的其他消息,将与“Bday Party”相关的聚类特征向量的另外的组给予高排名。用户界面生成单元170可以分别将排序于顶部的聚类特征向量组中的每一个分别与可选择控件192a、192b、192c相关联。各个相应的可选择控件192a、192b、192c可以分别用由用户界面生成单元170生成的聚类特征向量组的标题来标记,诸如“April Smith”、“Italy”和“Bday Party”。
虽然与聚类特征向量组对应的可选择控件192a、192b、192c的初始集的显示在阶段A中被示出为响应于用户设备110的用户所输入的一个或多个搜索词192而被提供,但是本公开不限于此。例如,当用户打开在输入任何搜索词之前作为对零输入查询的响应而提供界面190的应用时,可以提供可选择控件192a、192b、192c的初始集。例如,在将任何字母数字字符输入到查询域191之前,搜索引擎100可以将指示零输入查询的数据接收到向量生成单元140中,向量生成单元140可以为零输入查询生成查询向量。零输入查询向量可以是包括从用户上下文提取的一个或多个特征的数值表示的查询向量。向量相似度单元160可以识别与零输入查询相关的一个或多个聚类特征向量组。用户界面生成单元170可以对所接收的一个或多个聚类特征向量组进行排序。用户界面生成单元170可以选择关联于由用户设备的用户最近访问的原生应用内容的一个或多个聚类特征向量组,关联于由用户设备的用户最频繁地访问的原生应用内容的一个或多个聚类特征向量组,关联于与用户最频繁地通信的联系人相关的原生应用内容的一个或多个聚类特征向量组,关联于与用户最近通信的联系人相关的原生应用内容的一个或多个聚类特征向量组,等等。然后,用户界面生成单元170可以响应于零输入查询而提供172关联于所选择的聚类特征向量组的一个或多个可选择控件,以在用户设备110上显示,聚类特征向量组的选择是基于分配给每个相应聚类特征向量组的组排名。
在阶段B,用户设备110的用户可以选择关联于标题为“April Smith”的聚类特征向量组的可选择控件192a。响应于可选择控件192a的选择,用户界面生成单元170可以提供搜索结果集,每个搜索结果引用由关联于可选择控件192a的聚类特征向量组中的一个聚类特征向量表示的原生应用内容项。在这个实例中,关联于可选择控件192a的聚类特征向量组是发送到“April Smith”的所有消息。在图1的例子中,用户使用原生应用112和原生应用115向April Smith发送了两条消息,在本例中原生应用112和原生应用115代表相同的消息应用。关联于可选择控件192a的聚类特征向量组包括使用消息应用发送到“April Smith”的所有消息的聚类特征向量组。在图1的例子中,聚类“April Smith”导致显示引用诸如发送到April的消息的原生应用内容项的搜索结果。搜索结果显示在同一原生应用(例如消息应用193)的标题下,因为使用相同的原生应用来生成由搜索结果引用的原生应用内容项。特别地,搜索结果包括第一搜索结果193a,其引用诸如发送到April的关于华盛顿特区(Washington,DC)的Bob's Gelato的消息的原生应用内容项,以及第二搜索结果193b,其引用诸如发送到April的关于Piazza Navona的Luigi’s Gelato的原生应用内容项。
在阶段B关于用户界面190描述的示例假设消息应用112和消息应用115是相同的消息应用。然而,本公开不限于此。尽管消息应用112、115二者可以是相同的消息应用(例如,电子邮件应用),但是消息应用112、115也可以是不同的消息应用(例如,电子邮件应用和SMS消息应用)。在这样的示例中,由于上述原因,第一搜索结果193a和第二搜索结果193b都将仍然响应于可选择控件192a的选择来呈现。然而,第一搜索结果193a将列在与第一消息应用相关联的标题下,并且第二搜索结果193b将被列在与第二消息应用相关联的不同标题下。
在阶段C,用户设备的用户可以决定检索与不同话题或任务相关的消息。在该示例中,用户已经选择了与前往“Italy”的旅行的任务相关的可选择控件192b。响应于可选择控件“Italy”192b的选择,用户界面生成单元170可以提供搜索结果集,每个搜索结果引用由关联于可选择控件192b的聚类特征向量组中的一个聚类特征向量表示的原生应用内容项。然后,可以基于用于生成由每个相应搜索结果引用的每个相应的原生应用内容项的原生应用类型来组织搜索结果。
在图1的例子中,可选择控件“Italy”192b的选择返回对应于与用户即将前往意大利的旅行相关的聚类特征向量组的搜索结果。这个聚类特征向量集表示由多个不同原生应用生成的原生应用内容项。例如,这个聚类特征向量集表示由消息应用、旅行应用和旅游顾问应用生成的原生应用内容项。引用来自各个相应的原生应用的原生应用内容项的相应搜索结果在用户界面上分别被组织在标题193、194和195下。各个相应的搜索结果193a、194a、194b、195a可以被分组在用于生成由搜索结果193a、194a、194b、195a引用的原生应用内容项的原生应用的标题下。
因此,通过使用基于搜索词“April”和用户上下文生成的查询向量来搜索搜索引擎索引150,搜索引擎100能够向用户推荐关联于用户即将与April前往意大利的旅行的可选择控件。这样的***可以向用户建议包括高度精确的搜索结果的任务,搜索结果例如使用不包括用户设备110的用户输入到查询域191的搜索词192“April”的“旅游顾问应用”浏览的文章。因此,与使用基于关键词的搜索的***相比,搜索引擎100可以增强搜索结果。
此外,使用本文公开的聚类特征向量索引原生应用内容的搜索引擎100可以向用户提供重新访问并且查看仅仅是对应于特定话题或任务的原生应用内容的机会。例如,通过仅请求引用与前往“Italy”的旅行的任务相关的原生应用内容的搜索结果,用户可以查看与前往“Italy”的旅行的任务特别相关的原生应用内容,而搜索引擎100滤除与前往“Italy”的旅行不相关的原生应用内容。
作为示例,参考图1,搜索引擎100可以响应于接收到的输入搜索词“April”,产生可选择控件192a、192b、192c。然后,如阶段C所示,当用户选择可选择控件“Italy”192b时,用户设备可以接收对与前往“Italy”的旅行相关的原生应用内容的请求。响应于可选择控件“Italy”192b的选择,搜索引擎100识别并返回引用发给April的关于前往“Italy”的旅行的消息的搜索结果,同时消除标识发给April的不关于前往“Italy”的旅行的消息的搜索结果——即使这样的消息包括相似的关键词。例如,使用基于聚类特征向量的搜索引擎100,用户设备110可以基于在本说明书中描述的向量相似度分析来确定,发送给April的关于DC的Bob’s Gelato的消息与前往“Italy”的旅行无关,而发送到April的关于Piazza Navona的Luigi’s Gelato的消息与前往“Italy”的旅行有关。
图2是可以用于表示来自原生应用的数据的聚类特征向量210的示例。
本说明书所公开的搜索引擎100使用聚类特征向量210来促进原生应用内容的搜索和检索。每个聚类特征向量210是由原生应用生成的数据集的数值表示。由原生应用生成的数据集可以包括——例如——与用户与一个或多个原生应用的交互相关联的原生应用内容和上下文信息。每个聚类特征向量210的数值表示是参考聚类特征向量词汇表200而被确定的。
聚类特征向量词汇表200包括许多域。例如,聚类特征向量词汇表200可以包括上万个域,数十万个域或更多。聚类特征向量词汇表200的每个域对应于从由原生应用生成的数据集提取的特征,该数据集包括原生应用内容、关联于一个或多个原生应用的上下文信息或两者。
在一些实现方式中,聚类特征向量词汇表200可包括用于各已知词、各已知短语或两者的域201。各已知词或短语的集合可以例如使用词典确定。已知词或短语的集合还可以包括多个已知实体,其包括位置名、城市名、商户名等。
此外,聚类特征向量词汇表200可包括用于各不同类型的上下文信息的一个或多个域。例如,聚类特征向量词汇表200可包括域202,其每一个对应于能在原生应用内容中发现的文档域。原生应用内容中的文档域可以包括——例如——消息的“To:”域、消息的“Subject”域、消息的“Body”域、航班预订的“Destination”域、酒店预订的“Date”域、文章的“Title”域等。替代地或附加地,聚类特征向量词汇表200可包括域203,其对应于与向量210所表示的应用内容项相关联的原生应用。替代地或附加地,聚类特征向量词汇表200可包括域204,其对应于最近使用的原生应用。替代地或附加地,聚类特征向量词汇表200可包括域205,其对应于当用户与聚类特征向量210所表示的内容项交互时在用户设备上打开的原生应用。
聚类特征向量210可以被表示为数字值的矩阵。数字值的矩阵中的每个数字值可以量化原生应用内容项的每个相应特征、关联于一个或多个原生应用的上下文信息或它们两者,与聚类特征向量词汇表200之间的关系。数字值可以包括诸如二进制数字、标量值等的任何数字值。聚类特征向量210是能为由图1的原生应用115生成的数据集135生成的聚类特征向量的示例。参考图2使用的所有数字值纯粹是示范性的。
用于由原生应用115生成的数据集135的聚类特征向量210可以包括对应于特征词“Gelato”220的条目220a的值“.75”,表示特征词“Gelato”220出现在数据集135中。聚类特征向量135还可以包括对应于特征实体“Piazza Navona”221的条目221a的值“.95”,表示特征实体“Piazza Navona”出现在数据集135中。以类似的方式,聚类特征向量210可以包括分配给诸如“Agent”、“Bob”和“Hotel”的特征的条目的值“0”,因为这些特征词不出现在数据集135中。
聚类特征向量210还可以包括与在该数据集135中提供的上下文信息相关的数字值。例如,对应于“To:”域特征222的条目可以包括值“.36”222a,其指示由特征向量210表示的原生应用内容项包括“To:”域,“To:”域包含“April”的文本,或两者的组合。条目223a可以向“消息应用”分配值“1”,因为“消息应用”用于创建聚类特征向量210表示的数据集。条目224a、225a可以分别包括用于特征224、225的值“.85”和“.95”,表示“旅游顾问应用”是最近最近使用(the most next most recently used)的原生应用(在生成聚类特征向量210所基于的数据集的消息应用之前),并且“旅行应用”是第二最近使用的原生应用(在生成聚类特征向量210所基于的数据集的消息应用之前)。可以为条目226a、227a、228a指定值,该值分别指示当聚类特征向量所基于的数据集135被生成时,特征应用226、227、228是否在用户设备上被打开。
由于参照图2描述的聚类特征向量词汇表200和聚类特征向量210仅仅是示例性的,因此在一些实现方式中,聚类特征向量词汇表可以包括更多特征、更少特征或不同特征。
图3是使用搜索引擎10检索应用内容项的过程300的示例的流程图。为了方便起见,过程300将被描述为由用户设备执行。例如,当根据本说明书进行适当编程时,图1的用户设备110可以执行过程300。
用户设备可以通过接收(310)由一个或多个原生应用生成的一个或多个数据集来开始过程300的执行。每个相应的数据集可以包括与用户与一个或多个原生应用的交互相关联的原生应用内容和上下文信息。上下文信息可以包括与生成该数据集的原生应用相关的信息、与用户对生成该数据集的原生应用的使用相关的信息、与用户对原生应用附近的其他原生应用的使用相关的信息、等等。上下文信息的类型的示例可以包括——例如——指示与用户与之交互的原生应用内容相关联的域的数据、指示与原生应用的用户活动的数据、指示原生应用内容创建时间的数据、指示原生应用内容交互时间的数据、指示原生应用交互的数量的数据等等。
基于从原生应用接收的每个数据集,用户设备可以生成(320)聚类特征向量表示。生成聚类特征向量可以包括处理数据集以从原生应用内容和关联于用户与一个或多个原生应用的交互的上下文信息两者中提取多个特征。生成的聚类特征向量是从原生应用接收的每个数据集的数值表示。所述数值表示量化每个相应数据集与已建立的聚类特征向量词汇表之间的关系。
关联于原生应用内容的特征可以包括——例如——关联于原生应用内容中的每个单词的特征。可以基于关联于该内容的应用领域来注释应用内容的文本。因此,关联于原生应用文档的结构的特征可以内置到聚类特征向量中,原生应用文档用于在原生应用界面上接收和显示文本。
替代地或者附加地,从原生应用内容提取的特征可以包括对应于实体名称的特征,实体名称例如包括在原生应用内容中的联系人姓名、非联系人姓名、地名、国名、城市名、商户名等。因此,关联于应用内容的文本中存在的特定实体名称的特征可以被内置到聚类特征向量中。
除了从原生应用内容提取的特征之外,还可以基于从在原生应用的数据集中接收的上下文信息中提取的特征来生成聚类特征向量。从上下文信息提取的特征可以包括——例如——从指示与用户设备上安装的一个或多个原生应用的用户活动的数据中提取的特征。例如,可以从指示安装在用户设备上的原生应用的流行度的上下文信息中提取特征。替代地或者附加地,可以从指示在独立于会话的应用之间切换的用户模式、在同一会话中的应用之间切换的用户模式等的上下文信息中提取特征。替代地或者附加地,可以基于应用内容创建时间、应用内容交互时间、与原生应用的交互数量等从上下文信息中提取特征。
用户设备可以将每个生成的聚类特征向量表示存储(330)在搜索引擎索引中。搜索引擎索引是组织在阶段320生成的每个聚类特征向量的聚类特征向量存储区域。因此,搜索引擎索引存储多个聚类特征向量,每个聚类特征向量提供由原生应用生成的数据集的数值表示。存储在搜索引擎索引中的每个聚类特征向量可以用于识别聚类特征向量所基于的原生应用内容项。因此,代替或者除了执行基于应用内容项的关键词搜索,用户设备还可以使用搜索引擎对存储在搜索引擎索引中的聚类特征向量进行向量相似度搜索。
用户设备可以在搜索引擎索引中识别(340)聚类特征向量表示集。识别聚类特征向量集可以包括——例如——用户设备生成查询向量,然后使用查询向量来搜索搜索引擎索引。搜索搜索引擎索引可以包括——例如——在查询向量和存储在搜索引擎索引中的一个或多个聚类特征向量之间执行相似度分析。如果查询向量与一个或多个聚类特征向量表示中的每一个之间的所计算的相似度度量满足预定阈值,则用户设备可以将一个或多个聚类特征向量表示识别为与该查询向量相似。在一些实现方式中,所计算的相似度度量可以包括在该查询向量与存储在搜索引擎索引中的一个或多个聚类特征向量表示之间存在的距离。可以例如使用余弦函数来计算查询向量与一个或多个聚类特征向量之间的距离。
查询向量可以包括基于一个或多个搜索词和用户上下文而生成的数字表示。一个或多个搜索词可以包括由用户输入的一个或多个搜索词或零输入查询。用户上下文可以包括与用户与安装在用户设备上的一个或多个原生应用的交互相关联的上下文信息。上下文信息可以包括指示用户与安装在用户设备上的一个或多个其他原生应用交互的数据、指示用户最近使用的一个或多个应用的数据、指示用户最近使用原生应用的顺序的数据等。在一些实现方式中,上下文信息可以从关联于用户并在用户设备上维护的用户简档获得。除了别的以外,用户简档还可以包括指示用户对安装在用户设备上的一个或多个其他原生应用的使用的数据。
用户设备可以识别(350)关联于聚类特征向量表示集的一个或多个话题、任务等。识别(350)关联于聚类特征向量表示集的一个或多个话题、任务等包括——例如——使用一个或多个聚类算法将在阶段340识别的聚类特征向量表示集分组成一个或多个聚类特征向量组。例如,对所识别的聚类特征向量表示集的聚类可以基于关联于聚类特征向量的消息接收者、基于关联于聚类特征向量的实体、基于关联于聚类特征向量的事件、基于关联于聚类特征向量的原生应用等。本公开采用的聚类算法可以包括能够识别相关聚类特征向量组的任何聚类算法,例如k均值聚类算法、k最近邻居分类等。
在一些实现方式中,客户端设备可以使用从由一个或多个云服务提供的全球语言模型获得的信息来识别两个或多个聚类特征向量之间的关系。在一些实现方式中,来自一个或多个全球语言模型的数据可以被用户设备用于识别同义词和相似概念。例如,可以使用来自一个或多个全球语言模型的数据来确定诸如航班、旅行和酒店之类的词是相关词。在相同或其它实现方式中,来自一个或多个全球语言模型的数据可以由用户设备用于识别地理位置之间的关系,将地标与地理位置相关联等。例如,可以使用来自一个或多个全球语言模型的数据来确定包括词“Piazza Navona”的原生应用内容与包括词“Italy”的原生应用内容项相关。替代地或者附加地,可以访问一个或多个内容图,以识别应用使用中的特定关系。例如,可以访问应用内容图,以确定诸如旅行应用和旅游顾问应用的应用是与用户计划的旅行相关的相关原生应用。全球语言模型可以安装在客户端设备上,或者由一个或多个云服务托管。
用户设备可以提供(360)用户界面,其包括识别一个或多个话题、任务等的可选择控件。每个可选择控件关联于定义话题、任务等的聚类特征向量组。响应于可选择控件的选择,用户设备可以提供识别包括在关联于可选择控件的聚类特征向量组中的原生应用内容项的搜索结果。
一个或多个可选择控件的初始集可以基于最高排名的话题、任务等的集合。话题、任务等可以基于相应的话题、任务等是否包括最近交互,最频繁地交互等的原生应用内容项来进行排序。替代地或者附加地,话题、任务等可以基于与话题、任务等相关联的原生应用内容项的数量来进行排序。每个相应的可选择控件可以用为相应主题、任务等生成的话题、任务等的标题进行标注。
本说明书中描述的主题、功能操作和过程的实施例可以实现于包括本说明书中公开的结构及其结构等同物的数字电路、有形体现的计算机软件或固件、计算机硬件或它们中的一个或多个的组合中。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即,在有形非易失性程序载体上编码的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。替代地或者附加地,程序指令可以编码在人为生成的传播信号上,例如机器生成的电、光或电磁信号,其被产生以编码用于传输到合适的接收机设备的信息以供数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器件或其中的一个或多个的组合。
术语“数据处理装置”涵盖用于处理数据的各种装置、设备和机器,包括——例如——可编程处理器、计算机或多个处理器或计算机。该装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置还可以包括为所述计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理***、操作***或者其中的一个或多个的组合的代码。
可以以任何形式的编程语言(包括编译或解释语言,或声明性或程序性语言)来编写计算机程序(其也可以被称为程序、软件、软件应用、模块、软件模块、脚本或代码),并且可以以任何形式部署,包括作为独立程序或模块、组件、子例程或适用于计算环境的其他单元。计算机程序可以但不一定对应于文件***中的文件。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,专用于所讨论的程序的单个文件中,或者存储在多个协调文件中(例如,存储代码的一个或多个模块、子程序或部分的文件)。可以部署计算机程序以在一个计算机上或位于一个站点上或者分布在多个站点上并由通信网络互连的多个计算机上执行。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过对输入数据进行操作并产生输出来执行功能。过程和逻辑流程也可以由专用逻辑电路(例如,FPGA(现场可编程门阵列))或ASIC(专用集成电路)执行,并且装置也可以被实现成它们。
例如,适用于执行计算机程序的计算机可以基于通用或专用微处理器或两者或任何其它类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本要素是用于完成或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器件。通常,计算机还将包括——或可操作地被耦合以接收数据自或转移数据到或两者——一个或多个用于存储数据的大容量存储设备,例如磁盘、磁光盘或光盘。然而,计算机不是必需这样的设备。此外,计算机可以嵌入在另一个设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位***(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器),仅举几例。
适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器件,包括例如半导体存储器件,例如EPROM、EEPROM和闪存器件;磁盘,例如内部硬盘或可移动磁盘;磁光盘;和CD-ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入其中。
为了提供与用户的交互,本说明书中描述的主题的实施例可以被实现在具有用于向用户显示信息的显示设备和用户能用其向计算机提供输入的键盘和指示设备的计算机上,显示设备例如CRT(阴极射线管)、LCD(液晶显示器)、LED(发光二极管)或OLED(有机发光二极管)监视器,指示设备例如鼠标、轨迹球或触摸屏。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈,听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档并从其接收文档来与用户进行交互;例如,通过响应于从网络浏览器接收到的请求,将网页发送到用户的用户设备上的网络浏览器。
本说明书中描述的主题的实施例可以实现在这样计算***中,它包括后端组件(例如作为数据服务器),或包括中间件组件(例如应用服务器),或包括前端组件(例如具有图形用户界面或Web浏览器的客户端计算机,用户可以通过该浏览器与本说明书中描述的主题的实现进行交互),或者一个或多个这样的后端、中间件或前端组件的任何组合。***的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”),例如因特网。
计算***可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器关系是由于运行于各自计算机上并彼此具有客户端-服务器关系的计算机程序而产生的。
虽然本说明书包含许多具体的实现细节,但是这些不应被解释为对可要求保护的范围的限制,而应被解释为对特定实施例特定的特征的描述。在单独实施例的上下文中在本说明书中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以分开地或以任何合适的子组合在多个实施例中实现。此外,虽然以上可以将特征描述为以某些组合的方式起作用,并且甚至最初如此要求保护,但要求保护的组合的一个或多个特征在某些情况下可以从组合中被切除,并且所要求保护的组合可以被导向至子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘操作,但是这不应被理解为要求以所示的特定顺序或按顺序执行此类操作,或者执行所有所示的操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种***组件的分离不应被理解为在所有实施例中需要这样的分离,并且应当理解,所描述的程序组件和***通常可以集成在单个软件产品中或打包成多个软件产品。
已经描述了主题的具体实施例。其他实施例也在所附权利要求的范围内。例如,权利要求中所述的动作可以以不同的顺序执行,并且仍然实现期望的结果。作为一个示例,附图中所示的过程不一定需要所示的特定顺序或按顺序来实现期望的结果。在某些实现方式中,多任务和并行处理可能是有利的。可以提供其他步骤或阶段,或者可以从所描述的过程消除步骤或阶段。因此,其他实施方式也在所附权利要求的范围内。

Claims (20)

1.一种计算机实现的方法,包括:
由在用户设备上实现的搜索引擎并且对于所述用户设备上的多个原生应用中的每一个,接收数据集,所述数据集由所述原生应用生成并且包括(i)原生应用内容和(ii)关联于所述原生应用内容的上下文信息;
对于由所述原生应用生成的每个数据集,由在所述用户设备上实现的所述搜索引擎,基于所述数据集生成聚类特征向量表示;
由在所述用户设备上实现的所述搜索引擎,将所述聚类特征向量表示存储在所述用户设备上的搜索引擎索引中;
由在所述用户设备上实现的所述搜索引擎,识别关联于特定特征向量表示的聚类特征向量表示集;
由在所述用户设备上实现的所述搜索引擎,识别关联于所述聚类特征向量表示集的一个或多个任务;以及
为输出提供包括识别一个或多个所述任务的可选择控件的用户界面。
2.根据权利要求1所述的计算机实现的方法,其中,由在所述用户设备上实现的所述搜索引擎,基于所述数据集生成聚类特征向量表示,包括:
从所述原生应用内容提取一个或多个特征的第一集合;
从所述关联于所述原生应用内容的上下文信息提取一个或多个特征的第二集合;以及
基于一个或多个特征的所述第一集合和一个或多个特征的所述第二集合生成聚类特征向量表示。
3.根据权利要求2所述的计算机实现的方法,其中,一个或多个特征的所述第一集合包括从所述原生应用内容的文本中的一个或多个单词提取的特征。
4.根据权利要求2所述的计算机实现的方法,其中,一个或多个特征的所述第二集合包括从指示关联于所述原生应用内容的一个或多个域的数据提取的特征。
5.根据权利要求2所述的计算机实现的方法,其中,一个或多个特征的所述第二集合包括从指示安装在所述用户设备上的一个或多个原生应用的流行度的数据提取的特征。
6.根据权利要求2所述的计算机实现的方法,其中,一个或多个特征的所述第二集合包括从指示在与所生成的数据集相同的会话期间被访问的一个或多个原生应用的数据提取的特征。
7.根据权利要求1所述的计算机实现的方法,其中,由在所述用户设备上实现的所述搜索引擎,识别关联于特定特征向量表示的聚类特征向量表示集,包括:
由在所述用户设备上实现的所述搜索引擎,基于搜索词和用户上下文生成查询向量;以及
由在所述用户设备上实现的所述搜索引擎,识别存储在所述搜索引擎索引中的与所述查询向量相似的一个或多个聚类特征向量表示。
8.一种设备,包括:
存储指令的一个或多个存储设备,所述指令在由所述一个或多个计算机运行时可操作以使所述设备执行以下操作,包括:
由在所述设备上实现的搜索引擎并且对于所述设备上的多个原生应用中的每一个,接收数据集,所述数据集由所述原生应用生成并且包括(i)原生应用内容和(ii)关联于所述原生应用内容的上下文信息;
对于由所述原生应用生成的每个数据集,由在所述设备上实现的所述搜索引擎,基于所述数据集生成聚类特征向量表示;
由在所述设备上实现的所述搜索引擎,将所述聚类特征向量表示存储在所述设备上的搜索引擎索引中;
由在所述设备上实现的所述搜索引擎,识别关联于特定特征向量表示的聚类特征向量表示集;
由在所述设备上实现的所述搜索引擎,识别关联于所述聚类特征向量表示集的一个或多个任务;以及
为在所述设备的显示器上的输出提供包括识别一个或多个所述任务的可选择控件的用户界面。
9.根据权利要求8所述的设备,其中,由在所述设备上实现的所述搜索引擎,基于所述数据集生成聚类特征向量表示,包括:
从所述原生应用内容提取一个或多个特征的第一集合;
从所述关联于所述原生应用内容的上下文信息提取一个或多个特征的第二集合;以及
基于一个或多个特征的所述第一集合和一个或多个特征的所述第二集合生成聚类特征向量表示。
10.根据权利要求9所述的设备,其中,一个或多个特征的所述第一集合包括从所述原生应用内容的文本中的一个或多个单词提取的特征。
11.根据权利要求9所述的设备,其中,一个或多个特征的所述第二集合包括从指示关联于所述原生应用内容的一个或多个域的数据提取的特征。
12.根据权利要求9所述的设备,其中,一个或多个特征的所述第二集合包括从指示安装在所述用户设备上的一个或多个原生应用的流行度的数据提取的特征。
13.根据权利要求9所述的设备,其中,一个或多个特征的所述第二集合包括从指示在与所生成的数据集相同的会话期间被访问的一个或多个原生应用的数据提取的特征。
14.一种非暂时性计算机可读介质,其存储包括计算机可执行的指令的软件,所述指令在这样的运行时使得所述计算机执行以下操作,包括:
由在用户设备上实现的搜索引擎并且对于所述用户设备上的多个原生应用中的每一个,接收数据集,所述数据集由所述原生应用生成并且包括(i)原生应用内容和(ii)关联于所述原生应用内容的上下文信息;
对于由所述原生应用生成的每个数据集,由在所述用户设备上实现的所述搜索引擎,基于所述数据集生成聚类特征向量表示;
由在所述用户设备上实现的所述搜索引擎,将所述聚类特征向量表示存储在所述用户设备上的搜索引擎索引中;
由在所述用户设备上实现的所述搜索引擎,识别关联于特定特征向量表示的聚类特征向量表示集;
由在所述用户设备上实现的所述搜索引擎,识别关联于所述聚类特征向量表示集的一个或多个任务;以及
为输出提供包括识别一个或多个所述任务的可选择控件的用户界面。
15.根据权利要求14所述的计算机可读介质,其中,由在所述用户设备上实现的所述搜索引擎,基于所述数据集生成聚类特征向量表示,包括:
从所述原生应用内容提取一个或多个特征的第一集合;
从关联于所述原生应用内容的所述上下文信息提取一个或多个特征的第二集合;以及
基于一个或多个特征的所述第一集合和一个或多个特征的所述第二集合生成聚类特征向量表示。
16.根据权利要求15所述的计算机可读介质,其中,一个或多个特征的所述第一集合包括从所述原生应用内容的文本中的一个或多个单词提取的特征。
17.根据权利要求15所述的计算机可读介质,其中,一个或多个特征的所述第二集合包括从指示关联于所述原生应用内容的一个或多个域的数据提取的特征。
18.根据权利要求15所述的计算机可读介质,其中,一个或多个特征的所述第二集合包括从指示安装在所述用户设备上的一个或多个原生应用的流行度的数据提取的特征。
19.根据权利要求15所述的计算机可读介质,其中,一个或多个特征的所述第二集合包括从指示在与所生成的数据集相同的会话期间被访问的一个或多个原生应用的数据提取的特征。
20.根据权利要求14所述的计算机可读介质,其中,由在所述用户设备上实现的所述搜索引擎,识别关联于特定特征向量表示的聚类特征向量表示集,包括:
由在所述用户设备上实现的所述搜索引擎,基于搜索词和用户上下文生成查询向量;以及
由在所述用户设备上实现的所述搜索引擎,识别存储在所述搜索引擎索引中的与所述查询向量相似的一个或多个聚类特征向量表示。
CN201711050202.7A 2017-01-09 2017-10-31 搜索引擎 Pending CN108287862A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/401,592 US10650068B2 (en) 2017-01-09 2017-01-09 Search engine
US15/401,592 2017-01-09

Publications (1)

Publication Number Publication Date
CN108287862A true CN108287862A (zh) 2018-07-17

Family

ID=60164855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711050202.7A Pending CN108287862A (zh) 2017-01-09 2017-10-31 搜索引擎

Country Status (5)

Country Link
US (2) US10650068B2 (zh)
CN (1) CN108287862A (zh)
DE (2) DE202017106503U1 (zh)
GB (1) GB2558718A (zh)
WO (1) WO2018128658A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110830654A (zh) * 2019-11-07 2020-02-21 腾讯科技(深圳)有限公司 一种播放语音消息的方法及设备
CN111951077A (zh) * 2020-08-13 2020-11-17 中国民航信息网络股份有限公司 一种购票方案的展示方法及***

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180189266A1 (en) * 2017-01-03 2018-07-05 Wipro Limited Method and a system to summarize a conversation
US20180336287A1 (en) * 2017-05-22 2018-11-22 Hcl Technologies Limited A system and method for retrieving user specific results upon execution of a query
US10977250B1 (en) * 2018-09-11 2021-04-13 Intuit, Inc. Responding to similarity queries using vector dimensionality reduction
US11295124B2 (en) 2018-10-08 2022-04-05 Xerox Corporation Methods and systems for automatically detecting the source of the content of a scanned document
US11397783B1 (en) * 2018-12-12 2022-07-26 Intuit, Inc. Ranking similar users based on values and personal journeys
CN109710744B (zh) * 2018-12-28 2021-04-06 合肥讯飞数码科技有限公司 一种数据匹配方法、装置、设备及存储介质
US11544322B2 (en) * 2019-04-19 2023-01-03 Adobe Inc. Facilitating contextual video searching using user interactions with interactive computing environments
CN111046256B (zh) * 2019-12-03 2024-02-06 上海二六三通信有限公司 一种基于交互引擎簇进行语音交互的方法及装置
US12020484B2 (en) * 2020-03-17 2024-06-25 Samsung Electronics Co., Ltd. Methods and systems for grouping of media based on similarities between features of the media

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1669897A2 (en) * 2004-12-09 2006-06-14 Sony United Kingdom Limited Information handling
CN102945273A (zh) * 2012-11-06 2013-02-27 北京百度网讯科技有限公司 一种用于提供搜索结果的方法和设备
US20140358909A1 (en) * 2013-05-29 2014-12-04 Microsoft Corporation Search result contexts for application launch
CN104765769A (zh) * 2015-03-06 2015-07-08 大连理工大学 一种基于词矢量的短文本查询扩展及检索方法
CN105069457A (zh) * 2015-07-15 2015-11-18 杭州朗和科技有限公司 图像识别方法和装置
CN105279264A (zh) * 2015-10-26 2016-01-27 深圳市智搜信息技术有限公司 一种文档的语义相关度计算方法
US20160283564A1 (en) * 2015-03-26 2016-09-29 Dejavuto Corp. Predictive visual search enginge

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8239375B2 (en) * 2004-08-31 2012-08-07 Research In Motion Limited Method of searching for personal information management (PIM) information and handheld electronic device employing the same
US7624103B2 (en) * 2006-07-21 2009-11-24 Aol Llc Culturally relevant search results
US20120124061A1 (en) 2010-11-12 2012-05-17 Microsoft Corporation Rich Search Over and Deep Integration with Applications
US20130166543A1 (en) * 2011-12-22 2013-06-27 Microsoft Corporation Client-based search over local and remote data sources for intent analysis, ranking, and relevance
US20160188733A1 (en) * 2014-12-29 2016-06-30 Quixey, Inc. Generating Recommendations Based on Clustered Application States
US9892167B2 (en) 2015-03-31 2018-02-13 Rovi Guides, Inc. Methods and systems for generating cluster-based search results
US10120949B2 (en) * 2015-10-29 2018-11-06 Google Llc Indexing native application data

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1669897A2 (en) * 2004-12-09 2006-06-14 Sony United Kingdom Limited Information handling
CN102945273A (zh) * 2012-11-06 2013-02-27 北京百度网讯科技有限公司 一种用于提供搜索结果的方法和设备
US20140358909A1 (en) * 2013-05-29 2014-12-04 Microsoft Corporation Search result contexts for application launch
CN104765769A (zh) * 2015-03-06 2015-07-08 大连理工大学 一种基于词矢量的短文本查询扩展及检索方法
US20160283564A1 (en) * 2015-03-26 2016-09-29 Dejavuto Corp. Predictive visual search enginge
CN105069457A (zh) * 2015-07-15 2015-11-18 杭州朗和科技有限公司 图像识别方法和装置
CN105279264A (zh) * 2015-10-26 2016-01-27 深圳市智搜信息技术有限公司 一种文档的语义相关度计算方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110830654A (zh) * 2019-11-07 2020-02-21 腾讯科技(深圳)有限公司 一种播放语音消息的方法及设备
CN111951077A (zh) * 2020-08-13 2020-11-17 中国民航信息网络股份有限公司 一种购票方案的展示方法及***

Also Published As

Publication number Publication date
WO2018128658A1 (en) 2018-07-12
DE102017125164A1 (de) 2018-07-12
US20180196877A1 (en) 2018-07-12
GB201717834D0 (en) 2017-12-13
GB2558718A (en) 2018-07-18
US20200233914A1 (en) 2020-07-23
US10650068B2 (en) 2020-05-12
US11354367B2 (en) 2022-06-07
DE202017106503U1 (de) 2018-01-19

Similar Documents

Publication Publication Date Title
CN108287862A (zh) 搜索引擎
US20230306052A1 (en) Method and system for entity extraction and disambiguation
US10728203B2 (en) Method and system for classifying a question
CN101495955B (zh) 移动设备检索与导航
US10175860B2 (en) Search intent preview, disambiguation, and refinement
CN109564571A (zh) 利用搜索上下文的查询推荐方法及***
US20170097984A1 (en) Method and system for generating a knowledge representation
CN107784092A (zh) 一种推荐热词的方法、服务器及计算机可读介质
CN109906450A (zh) 用于通过相似性关联对电子信息排名的方法和装置
CN107103016A (zh) 基于关键词表示使图像与内容匹配的方法
CN110807091A (zh) 一种酒店智能问答推荐与决策支持分析方法及***
US9507801B2 (en) Enforcing category diversity
CN108701292A (zh) 基于工作变更指示来提供推荐
US20150161555A1 (en) Scheduling tasks to operators
CN106796608A (zh) 上下文搜索字符串同义词的自动生成
JP2011081478A (ja) 業務フロー検索システム、業務フロー検索方法、および業務フロー検索プログラム
US11836169B2 (en) Methods, systems and techniques for providing search query suggestions based on non-personal data and user personal data according to availability of user personal data
US20180285448A1 (en) Producing personalized selection of applications for presentation on web-based interface
CA3099201A1 (en) Emoji recommendation system and method
US20170098168A1 (en) Method and system for providing synthetic answers to a personal question
US9965812B2 (en) Generating a supplemental description of an entity
JP5345582B2 (ja) シソーラス構築システム、シソーラス構築方法およびシソーラス構築プログラム
Leung et al. Constructing concept relation network and its application to personalized web search
US9530094B2 (en) Jabba-type contextual tagger
KR20060008656A (ko) 지식 검색 서비스를 이용한 지식 광고 노출 방법 및 지식광고 노출 시스템

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination