CN106233282A - 使用设备能力的应用搜索 - Google Patents

使用设备能力的应用搜索 Download PDF

Info

Publication number
CN106233282A
CN106233282A CN201480076743.5A CN201480076743A CN106233282A CN 106233282 A CN106233282 A CN 106233282A CN 201480076743 A CN201480076743 A CN 201480076743A CN 106233282 A CN106233282 A CN 106233282A
Authority
CN
China
Prior art keywords
application
equipment
search
subscriber equipment
user
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
CN201480076743.5A
Other languages
English (en)
Inventor
萨米尔·帕蒂尔
埃里克·格洛弗
詹姆斯·德利桑蒂
塔希尔·萨夫利瓦拉
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.)
Samsung Electronics Co Ltd
Original Assignee
Quixey Inc
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 Quixey Inc filed Critical Quixey Inc
Publication of CN106233282A publication Critical patent/CN106233282A/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/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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种应用搜索***存储用于描述由一个或多个应用使用的设备能力的信息。该设备能力描述与用户设备上的硬件的接口。该应用搜索***识别在任意搜索结果中与应用相关的应用能力。该应用搜索***识别应用能力的一种方法包括识别对由应用使用的设备接口的函数调用。该应用搜索***可从一次搜索,从一个用户选择的入口,或者从一个搜索项等接收用户选择的期望应用能力的识别。在一次搜索中的应用能力可被用于评价应用的相关性以及提高与期望的应用能力匹配的应用的相关性。还可在执行一次搜索后使用该应用能力以将应用能力显示给用户并允许用户选择与检索结果相关的期望的应用能力。

Description

使用设备能力的应用搜索
相关申请的交叉引用
本申请主张2013年12月31日提交的申请号为US 61/922,626的美国临时申请,以及2014年6月27日提交的申请号为US 14/318,530的美国实用申请的利益,通过引用的方式将它们全部内容结合在此。
背景技术
技术领域
本公开一般涉及应用搜索,并且更具体为基于应用使用的传感器的对于应用的搜索。
相关技术的描述
近些年来,计算机、智能手机以及其它因特网连接设备的使用呈指数增长。相应地,这些设备可以使用的应用的数量也在增长。如今,可在任意数量的不同设备上访问很多各式各样的应用,包括但不限于,智能手机、个人计算机、冰箱、汽车以及电视。这些各式各样的应用可覆盖商业驱动的应用、游戏、教育应用、新闻应用、购物应用、效率应用、消息应用、视频聊天应用、媒体流应用、社交网络应用,等等。
用户设备同样在设备上应用的可用功能方面不同。这些能力包括多种传感器和设备上物理组件的接口。举例来说,用户设备可能包括诸如访问多种类型的物理组件和提供该设备、摄像头、触摸屏、键盘,麦克风和其它功能的位置的物理传感器的能力。此外,应用开发者创建使用不同传感器的多种应用。对于用户来说困难的是确定使用特定传感器的应用,或者知道某个应用使用一个特定的传感器。
附图说明
公开的实施例具有其它优点和特征,它们将通过详细的描述、附加的权利要求以及附图(或图画)更容易地显现出来。下面是附图的简要介绍。
图1是阐明包括配置为执行软件应用的搜索的搜索***的示例环境的功能框图。
图2是根据一个实施例的用户设备的高级框图。
图3示出了根据一个实施例的搜索***的各组件。
图4阐明了根据一个示例实施例的一条应用记录的各组件。
图5示出了可能包含在搜索***100中的示例搜索模块。
图6示出了一种基于接收的搜索查询执行搜索的示例方法。
图7阐明了根据一个实施例的一种为一组应用搜索结果生成应用能力过滤器的方法。
图8阐明了根据一个实施例的一种显示和更新结果列表的方法。
图9A-9C提供了根据一个实施例的执行应用搜索并查看体现应用能力的结果的示例用户界面。
具体实施方式
附图以及下面的描述借助说明的方式仅涉及优选实施例。应当注意根据下面的讨论,本文公开的结构和方法的可供选择的实施例将被易于识别为在不脱离所声明的原则的情况下可能采用的可用的替换方式。
现在将具体参考多个实施例,它们的示例在附图中进行说明。注意,无论在可用的任何地方,相似或相同的附图标记可能在附图中使用并且可能指示相似或相同的功能。各附图仅以说明为目的描绘公开的***(或方法)的各实施例。本领域技术人员根据下文的描述容易认识到在不脱离本文描述的原则的情况下可能应用本文说明的结构和方法的可供选择的各实施例。
配置综述
搜索***从用户的计算设备(例如,移动计算设备)接收搜索查询。该搜索***响应于接收的搜索查询生成搜索结果。该搜索结果可能包括一个应用列表以及与各应用相关联的结果评分。该结果评分可能用于对该列表中的应用进行排名。举例来说,与应用相关的结果评分越高可能指示该应用与接收的搜索查询越为相关。该查询***可能将该搜索结果发送至用户的计算设备,这样该用户可选择其中一个应用以预览和/或下载。
该搜索***包括该搜索***可能使用以生成该搜索结果的应用数据存储器。该应用数据存储器包括与多个不同的应用相关的数据。与一个应用相关的数据在本文称为一条“应用记录”(例如,图3的应用记录270)。该应用数据存储器包括多个不同的应用记录,每一条应用记录包括与一个不同的应用相关的数据。在某些实现中,该应用数据存储器可能不存储由该应用记录描述的应用(例如,可执行程序)。作为替代地,可能在配置为分发各应用的一个或多个应用市场中访问各应用。
应用记录可能包括与应用相关的多种不同类型的数据。在某些实现中,应用记录可能包括应用的名字、应用的开发者、应用的描述以及应用的分类,连同本文描述的其它数据。应用记录还包括应用的一组应用能力。该应用能力指定可能由该应用使用的设备的接口和硬件能力。这种应用能力包括传感器和输入到用户设备的其它硬件输入,除了发送和用户设备的其它硬件输出之外。举例来说,这些能力包括使用设备上的位置服务、使用陀螺仪传感器、通过蓝牙与设备接口、从指纹扫描仪接收输入、使用传感器读取温度、湿度,或高度,或者心率。额外的能力包括FM接收器、IR发送器或接收器、RFID或NFC通信接口、嵌入式加密能力等。应用能力可能还描述设备的性能,包括应用是否得到良好执行(例如,执行缓慢),并且还包括软件平台能力,诸如设备的操作***和软件环境。
应用的能力由使用多种手段的应用搜索***确定。该应用的能力可能由应用的发布者指定,或者由分发该应用的应用市场决定。该应用搜索***还可能使用来自多个第三方数据源的信息,诸如评论、博客、社交网络等以识别指示特定能力的使用与该应用相关的各术语。举例来说,描述在特定处理器或存储器配置上应用的性能的差评可能指示性能能力对于该应用是不够的。
还可能通过应用的行为确定应用的能力。该应用被分析,例如,以确定由该应用请求使用多种设备能力的许可。此外,该应用当执行时可能被观察,以确定哪些能力被该应用使用。该可执行应用还可能被分析以识别对特定能力的可识别的函数调用,直接地或通过与该能力相关联的编程接口。举例来说,如果应用使用对与蓝牙库相关的应用编程接口(API)的函数调用,该应用可能被识别为向蓝牙设备输出音频。使用这些方法,单独地或以任意组合的方式,该应用的能力与该应用记录相关联。
在多种实施例中使用该应用能力以辅助用户搜索和识别使用特定能力的应用。一般来说,应用搜索在多个步骤中执行,每个步骤可能将设备能力结合在该搜索中。最初,用户设备将搜索查询提供到该应用搜索***。该搜索查询可能被分析以确定该搜索查询是否包括指定设备能力的术语。举例来说,“倾斜控制迷宫游戏”的搜索查询被分析以识别术语“倾斜”,它与陀螺仪控制相关联,在这种情况下该应用搜索可能使用包括与该搜索更相关的陀螺仪控制的应用能力权衡各应用。
此外,该搜索查询可能包括与请求该查询的用户设备相关的元数据。用户设备的能力被称为设备能力。该搜索查询的元数据可能被分析以识别该用户设备的特定设备能力。该元数据可能特别地识别设备能力,或者该元数据可能指定设备模型或配置,在这种情况下可能使用与该识别的模型或配置相关的信息来识别设备能力。用户还可能从设备能力的菜单中选择以进行搜索,它可能被限制为在该用户设备上可用的设备能力。
使用该搜索查询执行应用搜索。与该搜索查询(要么作为搜索术语(反映用户意图)或者识别的设备能力)相关地识别设备能力可能被用作应用搜索中的相关因子以评价获得的应用的相关性,或者可能用作过滤器,例如以排除并不对应于用户所选设备能力的应用。
在响应于搜索请求选择一组应用后,选择的应用可能被分析以识别由选择的应用使用的应用能力。将这些应用能力提供给用户设备以与搜索结果一起显示。此外,搜索结果的应用能力可能与可选择的过滤器一起显示以使得用户能够选择结果的令人满意的应用能力。可能独立地执行或者除了包含了应用能力的搜索之外还执行应用能力的识别和显示。
举例来说,用户可能输入“迷宫游戏”的搜索查询。当该应用搜索***执行对于“迷宫游戏”的搜索时该应用搜索***识别要在过滤处理中使用的搜索结果的一组应用能力。举例来说,它可能选择搜索结果的三个最一般的应用能力,或者三个最不一般的应用能力。在这一示例中,识别的应用能力包括与用户设备上的陀螺仪的交互。当作为过滤器显示给用户时,该用户可能使用该过滤器识别使用该陀螺仪的结果应用,允许用户快速找到具有共同特征的应用。
该应用能力还可能由用户使用以识别和排除不想要的设备能力。举例来说,用户可能执行对于游戏的搜索,并且显示给用户的应用能力可能显示某些应用不期望地使用了位置能力。用户可能对使用位置能力的免费游戏谨慎并选择滤除使用位置能力的应用。
可能单独地或一起使用这些各种特征以向用户提供应用能力搜索和识别。下文进一步描述公开的各实施例的多种进一步的特征。
***架构
图1是阐明包括配置为执行软件应用搜索的搜索***100的示例环境的功能框图。软件应用可能是指使得计算设备执行任务的计算机软件。在某些示例中,软件应用可能称为“应用”、“app”或者“程序”。示例应用包括,但不限于,字处理应用、电子表格应用、信息传送应用、媒体流应用、社交网络应用、专用外设集成应用以及游戏。
应用可能在多种不同的计算设备(“用户设备”)上执行。举例来说,应用可能在诸如智能手机、平板电脑和可穿戴计算设备(例如,耳机和/或手表)的移动计算设备上执行。应用还可能在具有其它形状因数的其它类型的计算设备上执行,诸如膝上型计算机、桌面型计算机或者其它消费者电子设备。在某些示例中,应用可能在用户购买计算设备前安装在该计算设备上。在其它示例中,用户可能在计算设备上下载并安装应用或者用户可能在与计算设备上的能力交互的或者模拟计算设备的能力的虚拟环境中使用应用。
多种计算设备提供多种设备能力以由在计算设备上执行的应用使用。由计算设备上的接口提供设备能力以与提供计算设备的输入或输出的用户设备的硬件元件交互。示例设备能力包括与触摸屏交互、位置服务(例如,全球定位卫星(GPS)服务)、蓝牙接口和相关设备、麦克风以及摄像头等。设备能力包括并不通过用户设备上另一通信信道永久连接的设备。举例来说,设备能力会包括,连接至蓝牙无线发送接收器的蓝牙扬声器、连接至通用串行总线(USB)端口的打印机或者安装在麦克风插口中的磁条读取器。设备能力包括物理传感器,它接收与用户设备的环境相关的信息。这种传感器包括加速度计、麦克风、位置服务、指南针、近场通信(NFC)等。因此,设备能力一般特征化用户可能与应用交互(提供输入至)或者从应用接收信息的方式。虽然很多应用可能在用户设备的显示器上提供信息,但极少应用可能使用一种不平常的设备能力,诸如与特定蓝牙设备配对(例如,与心率监视器或健身追踪器配对)。还可能随着时间在用户设备上添加或移除设备能力,例如如果用户配对至另一蓝牙设备。
除了上文描述的硬件输入和输出能力之外,设备能力还包括性能,描述它的处理性能、可用的存储器以及以有效地执行应用的设备能力的任意其他方面。该性能可能由设备上各组件的特定构成和模型描述,或者可能由处理硬件的数字化评价描述。设备能力还可能包括设备的软件平台,诸如它的操作***和对于该应用可用的软件包。
该设备能力,除了一般地指定一种能力(例如,触摸屏)外,还可能包括与设备能力相关的参数。举例来说,触摸屏可能能够识别在屏幕上多个点处的用户的触摸。这可能在不同触摸屏之间是不同的,因为某些仅允许一个触摸点,而其它的识别两个、三个或更多。在这一示例中,触摸屏设备能力的一个参数是触摸屏可识别的同时触摸的数量。根据各能力的区别特征,可能针对根据设备的使用的各能力识别多种其它参数。举例来说,显示器还可能指示它的解析度、刷新率以及它的显示技术,诸如是否它是LED、LCD或者电子纸。因此,这种参数可能包括能够识别多种手势的触摸屏、具有多个摄像头的设备等。
各应用可能使用设备上可用的所有、部分设备能力或不使用任何设备能力。应用使用的设备能力被称为应用能力。作为示例应用能力,地图和运输应用可能使用用于确定位置的设备能力和用于确定朝向的设备能力(例如,指南针)。音乐应用可能使用在蓝牙连接的扬声器上播放的设备能力,同时健身追踪器可能使用确定心率的设备能力。该应用可能提供使用或不使用设备上的设备能力的进一步的功能。
可能在安装一个应用的计算设备上访问该应用的功能。此外,或作为选择的,可能通过远程计算设备访问应用的功能。在某些示例中,应用的所有功能可能包含在安装该应用的计算设备上。这些应用可能在不与其它计算设备(例如,通过因特网)通信的情况下运行。在其它示例中,安装在计算设备上的应用可能在操作期间访问来自其它远程计算设备的信息。举例来说,安装在计算设备上的天气应用可能通过因特网访问最近的天气信息并通过安装的天气应用将访问的天气信息显示给用户。在其它示例中,应用(例如,基于网络的应用)可能部分由用户的计算设备执行并且部分由远程计算设备执行。举例来说,网络应用可能为至少部分由网络服务器执行并由用户的计算设备的网络浏览器访问的应用。示例网络应用可能包括,但不限于,基于网络的电子邮件、线上拍卖以及线上零售点。
搜索***100被配置为通过网络104从一个或多个用户设备102接收搜索查询。搜索***100响应于接收的搜索查询执行应用的搜索。搜索***100可能生成包括一列表应用的一组搜索结果,每个应用与指示应用相对于该列表中其它应用的应用的排名的结果评分相关联。一个列表可能包括应用的任意列表、集合或分组,它可能被排序或排名,并可能包括与应用相关的多种数据,诸如名称、发布者或应用的其它方面等。该结果列表可能不包括应用可执行代码,但可能代替地包括对可获取该可执行代码的某位置的引用。该搜索***100然后可能将该搜索结果发送至用于发送该搜索查询的用户设备102。
用户设备102可能将搜索结果显示给用户并允许用户选择列表中的其中一个应用以便查看与该应用相关的信息和/或下载该应用。在某些示例中可能可以从不同于搜索***100的***访问(例如,下载)在发送给用户设备102的搜索结果中列出的应用(例如,可执行程序)。换句话说,搜索***100可能存储与可在不同于搜索***100的位置处访问的各应用相关的数据。举例来说,可能可以从软件应用市场106(下文为“应用市场106”)访问各应用。该应用市场106可能为配置为分发各应用的数字分发平台。示例应用市场包括,但不限于,谷歌公司开发的Google Play,苹果公司开发的App商店,以及微软公司开发的Windows手机商店。虽然图1中阐明了单个应用市场106,本公开的技术可能可以应用于包括多个应用商店的环境。虽然可能在不同于搜索***100的位置处访问在由搜索***100生成的搜索结果中列出的应用,但是在某些实现中搜索***100包括应用以供下载。
搜索***100包括如下文所述的多种模块以检索和索引与应用相关的信息,识别应用使用的设备的能力(“应用能力”),以及响应于搜索查询提供应用。参考图3进一步详细描述搜索***100中多种组件的操作。在一个实施例中,应用搜索***确定应用的应用能力。应用能力是特定应用使用的设备能力。下文进一步详细描述由搜索***100检索和存储的应用能力。
搜索***100可能通过网络104与用户设备102、伙伴计算***116、应用市场106以及数据源114通信。现在依次描述用户设备102、伙伴计算***116、数据源114、应用市场106以及网络104的各示例。
图1中阐明的示例环境包括多个用户设备102。一个单独的用户设备在本文中也可能被称为用户设备102。用户设备102可能为能够将搜索查询提供给搜索***100的任意的计算设备。用户设备102可能包括,但不限于,智能手机、平板计算机、膝上型计算机以及桌上型计算机,如图1所阐明的。用户设备102还可能包括具有其它形式的其它计算设备,诸如包括在汽车、游戏设备、电视或其他电器(例如,联网的家庭自动化设备)中的计算设备。
用户设备102可能使用多种不同的操作***。在一个其中用户设备102是移动设备的示例中,用户设备102可能运行的操作***包括,但不限于,安卓、苹果公司开发的iOS或者微软公司开发的WINDOWS PHONE。在一个其中用户设备102是膝上型或桌面型设备的示例中,用户设备102可能运行的操作***包括,但不限于,微软的WINDOWS、MAC OS或者Linux(例如,RED HAT LINUX)。用户设备102还可能当运行不同于上文描述的那些操作***的操作***时访问搜索***100,无论是目前可用的还是将来开发的。
用户设备102可通过网络104与搜索***100通信。在某些示例中,用户设备102可能使用安装在用户设备102上的应用与搜索***100通信。一般来说,用户设备102可能使用可将搜索查询发送至搜索***100的任意应用与搜索***100通信。在某些示例中,用户设备102可能运行专用于与搜索***100接口的应用,诸如专用于应用搜索的应用。在某些示例中,用户设备102可能使用更一般的应用与搜索***100通信,诸如网页浏览器应用。由用户设备102运行以与搜索***100通信的应用可能在图形用户界面(GUI)上显示其中用户可能输入搜索查询的一搜索字段。用户可能使用触摸屏或物理键盘、语音转文字程序或其它形式的用户输入来键入一搜索查询。
输入用户设备102上的GUI的搜索查询可能包括文字、数字和/或符号。一般来说,搜索查询可能为对从搜索***100进行信息检索(例如,搜索结果)的请求。举例来说,在其中搜索***100配置为生成一个应用的列表作为搜索结果的各示例中,搜索查询可能指向检索一个应用的列表。指向检索一个应用的列表的搜索查询可能指示用户期望检索具有由该搜索查询描述的功能的应用。
用户设备102可能从响应于发送至搜索***100的搜索查询的搜索***100接收一组搜索结果。用户设备102可能正在运行包括显示从搜索***100接收的搜索结果的GUI的应用。举例来说,用于将搜索查询发送至搜索***100的应用还可能将接收的搜索结果显示给用户。如上文所述,在某些示例中将接收的搜索结果显示给用户的应用可能专用于与搜索***100接口。在其它示例中,该应用可能为更一般的应用,诸如网页浏览器应用。
在用户设备102上运行的应用的GUI可能以多种不同的方式将搜索结果显示给用户,取决于将何种信息发送给用户设备102。在搜索结果包括一个已排序应用的列表的示例中,该搜索***100可能将该应用的列表发送给用户设备102。在这一示例中,GUI可能将该搜索结果作为一个应用名称的列表显示给用户。在某些示例中,搜索***100,或其他计算***,可能将额外的信息发送给用户设备102,包括但不限于,应用评级、应用下载数、应用截屏以及应用描述。在某些示例中此额外的信息可能存储在应用数据存储器108中并由搜索***100发送给用户设备102。在用户设备102接收此额外的信息的示例中,该GUI可能与该应用名称的列表一起显示此信息。在某些示例中,该GUI将该搜索结果显示为从屏幕顶端至屏幕底端以结果得分降序的方式排列的一个应用的列表。在某些示例中,该搜索结果在其中用户输入搜索查询的搜索字段下显示。在某些示例中,用户设备102可能在不表达用户输入的情况下请求或接收搜索结果。
在某些示例中,用户设备102可能通过伙伴计算***116与搜索***100通信。该伙伴计算***116可能代表可能利用搜索***100的搜索功能的第三方计算***。该伙伴计算***116所属的公司或组织可能与运行搜索***100的公司或组织不同。可能利用搜索***100的功能的示例第三方可能包括,但不限于,因特网搜索提供者、硬件和设备制造者、以及无线通信服务提供者和电子商务提供者。用户设备102可能通过伙伴计算***116发送搜索查询至搜索***100。该用户设备102还可能通过伙伴计算***116从搜索***100接收搜索结果。伙伴计算***116可能在某些示例中将用户界面提供给用户设备102和/或修改提供在用户设备102上的搜索体验。
图1示出了多个数据源114A、114B、114C、114D(统称“数据源114”)。数据源114是搜索***100用于生成和更新与应用相关的数据的数据源。举例来说,搜索***100可能生成新的应用记录(例如,图3的应用记录270)并基于从数据源114检索的数据更新现有的应用记录。
数据源114可能包括多个不同的数据提供者。数据源114可能包括来自应用开发者114A的数据,诸如应用开发者的网站。该数据源114还可能包括其他网站,诸如包括网络日志114B(即,博客)、应用评论网站114C、或者其他包括与应用相关的数据的网站。此外,数据源114可能包括社交网络站点114C,诸如脸书(例如,脸书的帖子)和推特(例如,来自推文的文字)。数据源114还可能包括除了上述数据源114A、114B、114C、114D之外的其他类型的数据源。举例来说,数据源可能包括描述应用或其他应用内的可访问信息的其他商业实体。不同的数据源可能具有它们自己的内容和更新速度。
图1示出了应用市场106。应用市场106可能为搜索***100用于生成和更新应用数据存储器108的另一数据源。举例来说,搜索***100可能生成新的应用记录并基于从应用市场106检索的数据更新现有的应用记录。虽然图1中仅阐明了一个应用市场106,但是搜索***100可能生成新的应用记录并基于从多个应用市场检索的数据更新现有的应用记录。不同的应用市场可能具有它们自己的内容和更新速度。
如上文所述,用户设备102、搜索***100、应用市场106以及数据源114可能通过网络104彼此间通信。网络104可能包括多种类型的网络,诸如广域网(WAN)和/或因特网。虽然网络104可能表示宽范围的网络(例如,因特网或WAN),在某些实现中,网络104可能包括较窄范围的网络,诸如局域网(LAN)。网络104是在这些多种***之间通信的任意适当的***,并且可能使用任意标准的或不标准的通信技术和/或协议。
图2是根据一个实施例的用户设备的高等级框图。用户设备102包括搜索***界面202、应用205、能力接口210以及设备能力215。用户设备102可能包括除了本文阐明的那些之外更多或与那些不同的模块和组件。举例来说,用户设备102典型地包括用于向用户设备102的用户展示信息的显示器,以及多个输入装置诸如触摸屏、键盘等。这些多种设备还可能被诠释为如本文所述的由应用使用的设备能力215。
搜索***界面202为用户提供一界面以与搜索***100实现接口。搜索***界面202从用户设备102的用户接收与应用搜索相关的查询。在图9A-9C中提供了示例用户界面。搜索***界面202可能额外地将描述用户设备102和用户设备102的设备能力的信息添加至该查询并将该查询提供至搜索***100。搜索***界面202从搜索***100接收该搜索查询的响应并在用户界面上向用户设备102的用户展示获得的应用。
在一个示例中,搜索***界面202向用户提供用户界面以允许用户输入查询字符串,或者选择一个或多个搜索说明诸如一过滤器。正如所指出的,在图9A-9C中提供了示例用户界面。搜索***界面202收集与用户设备102相关联的上下文信息诸如展示在用户设备102上的与应用205相关的信息、与用户设备102上的操作***相关的信息或者识别用户设备102的设备能力215的信息。搜索***界面202还可能监视应用对设备能力的使用并指示用户设备上哪些能力是频繁使用的。搜索***界面202将上下文信息连同来自用户的查询一起提供给搜索***100。在一个实施例中,由伙伴实体提供搜索***界面202。该伙伴实体从与应用搜索相关的用户接收搜索查询并查询该用户设备以确定相关的上下文信息。该伙伴实体将搜索查询和上下文信息提供给搜索***100。
在一个方法中,搜索***界面202通过分析源代码或与用户设备102上的操作***相关联的应用编程界面识别用户设备102上可用的一个或多个设备能力215。举例来说,用户设备102上的操作***可能进行函数调用(例如,对于运行安卓操作***的用户设备来说的getSensorList())以识别或列出用户设备102上可用的设备能力215。搜索***界面202可能通过从操作***请求应用可用的进一步的设备或其他接口执行进一步的设备能力的识别。如上文所述,设备能力215包括可能连接至或无线地与用户设备102配对的设备,并且不限于永久与用户设备102连接的物理组件。在一个示例中,诸如运动追踪传感器的设备能力可能通过蓝牙连接无线地与用户设备102配对。
为了确定性能能力,搜索***界面202查询该操作***以识别该设备的性能硬件特征。该搜索***界面202在一个实施例中还执行性能评价。在一个实现中该性能评价是生成用户设备的性能的数值评价的基准测试。
某些设备能力215并不直接可由应用205访问,并通过能力接口210评估。如下文进一步描述的,应用205对能力接口210的函数调用由应用搜索***使用以确定应用使用的设备能力并识别应用能力。该能力接口210允许应用205控制、操纵或与用户设备102上的设备能力215通信。举例来说,应用205使用由运行在用户设备102上的操作***(OS)指定的API与用户设备102上的设备能力215交互。作为选择地,能力接口210可能解释从应用205接收的指令并基于该指令的解释使得传感器215执行一活动。该能力接口210典型地标准化至一特定库或特定OS。举例来说,可能由使用不同库的不同能力接口215或不同地由不同的操作***访问相机。
应用205可能使用设备能力215的一个或多个以实现提供至应用205的用户的功能。举例来说,捕获和分享照片的应用205使用用户设备102上的相机来捕获图像。用户设备102上的应用205通过能力接口210访问并使用用户设备上的设备能力215。在一个实施例中,应用205的二进制可执行文件包括对能力接口210的函数调用。该函数调用指定对功能接口210的请求以与一个或多个传感器215交互。在一个实施例中,在应用二进制中指定的能力接口210调用是可识别的字符串。举例来说,应用205二进制包括标识相机传感器的可识别的字符串以及要由相机传感器执行的函数。
图3示出了根据一个实施例的搜索***100的各组件。该搜索***100包括用于执行如本文所述的应用搜索的多种模块和组件。搜索***100将与各应用相关的数据存储在应用数据存储器360中,它将与单个应用相关的数据标识在一个用记录370中,它在图4中进一步描述。该搜索***包括数据摄入模块310以检索与应用相关的信息并构成该应用数据存储器360。搜索***还包括搜索模块300以执行应用搜索。应用能力分析模块330分析应用和与应用相关的数据以确定应用能力。设备数据存储器340包括描述多个用户设备模块和配置的设备能力的数据。现在进一步描述这些组件的每一个。
虽然这里示为单个***,搜索***100可能实现为一起执行本文描述的功能的一组分离的***。此外,搜索***100可能包括比本文描述的那些更多或更少的模块以便执行结合了应用的设备能力的应用搜索。举例来说,在其中搜索***100从另一***接收游戏(gaminess)值的配置中,搜索***100可能省略确定游戏值的组件,诸如游戏模块240和游戏计算器模块250。
数据摄入模块210从应用市场106和一个或多个数据源114检索数据。从应用市场106和多种数据源114检索的数据可包括与应用相关的任意类型的数据。与应用相关的数据的示例包括,但不限于,应用的名称、应用的描述、应用的版本更新、应用的购买数量、应用的真实评论、应用的质量评定、开发者姓名、来自与应用相关的博客帖子的摘录、与应用相关的推文、软件兼容信息、性能需求以及与应用相关联的一个或多个图像(例如,图标和/或截屏)。在某些配置中,从应用市场106和数据源114检索的数据包括与应用的功能相关的信息。数据摄入模块210还可能检索与应用相关的统计数据。统计数据可能包括与应用相关的任意数值数据,诸如下载量、下载速度(例如,每月的下载量)、评论数、评价数以及平均评价得分。
数据摄入模块310将与应用能力相关的数据传递至应用能力分析模块330。该应用能力分析模块330分析与应用相关的信息,包括应用可执行文件,以确定某应用的应用能力。在一个实施例中,从数据源114接收的数据包括与关联于一个或多个应用的能力和特征、一个或多个应用使用的能力、一个或多个应用提供的服务或者一个或多个应用的评论相关的信息。举例来说,应用的评论可指示应用的功能方面以及应用可能提供给用户的功用。在一个实施例中,从数据源114接收的至少某些数据可能包括标识由一个或多个应用使用的能力的信息。此外,软件应用市场106或应用的其他发布者可能包含描述由应用205使用的能力或者由应用提供的特征的信息。应用能力分析模块330分析信息的这些多种片断以确定应用的能力并将应用能力信息存储在应用记录370中。
在一个示例中,应用能力分析模块330分析评论和留言以确定应用的性能能力。该分析识别特定操作***、型号或性能是否与好的或坏的性能相关并存储该信息为与应用记录370相关联的应用能力信息。举例来说,发布者可能指示一产品的“基本的”和“推荐的”性能等级。相似地,应用的评论可能指示可用于某特定操作***的或者当在特定设备上执行时某版本的应用是差的。这些被分析并于应用记录370一同存储以指示某些设备和性能影响了应用的质量。
在一个实施例中,应用能力分析模块330除了从发布者、应用市场和其他数据源114接收的信息之外还分析应用执行文件。在一个方法中,应用能力分析模块330识别由应用请求的许可以使用用户设备上的多种能力。也就是说,如果应用请求使用位置服务,该应用能力分析模块330将该应用识别为使用位置服务。应用能力分析模块330可能使用应用作出的函数调用识别应用的应用能力。在这种情况下,应用能力分析模块330识别应用可执行文件中对能力接口210的请求。特别地,应用能力分析模块330可能识别对应于特定能力接口和请求的可执行二进制文件中的一个字符串或其他标识符。基于对能力接口的请求,应用能力分析模块330确定应用请求请求了哪一个应用接口210并识别相关联的应用能力。
在进一步的示例中,应用能力分析模块330可能将应用提供至搜索***100的操作者以手动评论和确定设备能力。可能单独或结合使用前述任何方法以识别应用的应用能力。
在一个实施例中,搜索***100从一个或多个数据源135检索与一个或多个用户设备102相关联的数据并将与设备能力相关的数据存储在设备数据存储器340中。如下文所述,该设备数据存储器可能被用于基于与搜索查询一起提供的设备模型标识符或其他信息来识别设备能力。由搜索***100检索的与用户设备102相关联的数据的示例包括,与用户设备102兼容的操作***、在用户设备102上可用的能力、标识用户设备102的设备ID或者与用户设备102上可用的能力相关联的其他信息。
应用数据存储器360包括与不同应用相关的多种不同类型的数据。应用数据存储器360可能包括一个或多个数据库、索引(例如,倒排索引)、文件或可能用于执行本公开的技术的其他数据结构。如本文所描述的,在应用数据存储器360中包括的数据可能包括应用的描述、应用记分特征、应用能力和其他信息。搜索***100被配置为基于从应用市场106和数据源114检索的数据生成和更新应用数据存储器360中的数据。举例来说,搜索***100可能使用检索的数据更新一个或多个数据库、索引、文件或包含在应用数据存储器360中的其他数据结构。如本文所述,应用数据存储器360可能包括多个应用记录370。搜索***100可能生成新的应用记录并基于从应用市场106和数据源114检索的数据更新现有的应用记录370。在某些示例中,包含在应用数据存储器370中的某些数据可能手工生成。
图4阐明了根据一个示例实施例的应用记录的各组件。图4示出了可能存储在应用数据存储器360中的示例数据。应用记录370可能一般地表示存储在应用数据存储器360中的与某应用相关的数据。应用数据存储器360可能包括与多个应用相关的数据。搜索***100(例如,数据摄入模块310和应用能力分析模块330)可能生成包含在应用数据存储器360中的数据。
示例应用记录370包括应用名称400、应用标识符402、应用属性404、应用能力406以及应用得分特征408。应用数据存储器360可能包括具有与应用记录370相似的结构的多个应用记录。应用名称400是由应用记录370中的数据表示的应用的名称。示例应用名称包括“谷歌地图”、“脸书”、“推特”、“微软Word”或者“愤怒的小鸟太空版”。应用ID 402标识在应用数据存储器360中包含的其他应用记录370中的应用记录370。举例来说,应用ID 402可能唯一地标识应用记录370。该应用ID 402可能为唯一地标识应用记录370的字母、数字和/或符号(例如,标点符号)的字符串。
应用属性404可能包括与应用记录370表示的应用相关联的多种不同类型的数据。举例来说,应用属性404可能包括结构化的、半结构化的和/或非结构化的数据。应用属性404可能包括从应用市场106和/或从数据源114提取或推断出的信息。在某些示例中,应用属性404可包括手动生成的数据。应用属性404可能由数据摄入模块310更新从而可响应于用户的搜索查询提供最新的结果。
应用属性404可能包括应用开发者的姓名、应用的发布者、应用的类别(例如,通信)、应用的描述(例如,开发者的文字说明)、应用的版本、应用的操作***以及应用的价格。应用属性404还可能指示与应用相关的安全性或私有数据、应用的电池使用率以及应用的带宽使用率。应用属性404还可能包括从网站检索的信息诸如与应用相关的评论、与应用相关的文章(例如,维基文章)或其他信息。应用属性404还可能包括与应用相关的数字媒体,诸如图像(例如,图标和/或截屏)。应用属性404还可能包括设备能力406。
应用记录370可能包括应用得分特征408。应用得分特征408可能包括在应用记录中包括的任意应用属性或者与应用相关的任意额外的参数,诸如指示应用的受欢迎度(例如,下载数)和与应用相关的评价(例如,星数)的数据。搜索模块300可能使用应用得分特征408以生成与应用记录370相关联的应用的结果得分。在某些实现中,应用得分特征408可能不存储在应用数据存储器360中。作为替代的,可能当由搜索***100接收搜索请求时生成应用得分特征408。
响应于接收到的从用户设备102或某个其他实体接收的搜索查询,搜索***100识别被确定为至少部分符合该搜索查询的意图的一组应用。此搜索功能由搜索模块200执行。该搜索模块200可能使用应用得分特征以生成搜索结果的结果得分。因此,在一个实施例中搜索模块200基于应用能力生成结果得分作为应用得分特征。该搜索模块200还可能基于其他得分特征生成应用得分,诸如查询得分特征、应用查询得分特征以及如下文进一步描述的应用得分特征。
图5示出了一种示例的搜索模块200,它可能被包含在搜索***100中。该应用搜索模块200包括查询分析模块510、应用集合生成模块520(下文称为“集合生成模块520”)以及应用集合处理模块530(下文称为“集合处理模块530”)。该查询分析模块510分析接收的搜索查询500。该集合生成模块520基于接收的搜索查询500识别一组应用(例如,应用记录)。识别的该组应用在本文中称为“考虑集合”。该集合处理模块530处理(例如,打分)该考虑集合以生成可能包括一应用的列表连同用于排序该列表中的应用的相应结果得分的一组搜索结果540。
该搜索查询500可能由用户在用户设备102上输入的搜索查询。该搜索查询500包括由用户输入用户设备102的文字、数字和/或符号(例如,标点符号)。举例来说,用户可能已经使用触摸屏键盘、机械键盘、和/或通过语音识别将搜索查询500输入运行在用户设备102上的应用的搜索字段(例如,搜索框)中,或者该搜索查询可能为暗示的,由一代理或自动化脚本生成。由应用搜索模块110生成的该搜索结果540可能被发送回提供该搜索查询500的用户设备102。
虽然搜索***100(例如,查询分析模块510)在本文中被阐明和描述为接收包括文字的搜索查询500,该搜索***100(例如,查询分析模块510)可能还接收连同该搜索查询500的额外的数据。搜索查询500和连同该搜索查询500的该额外的数据可能称为查询包装器。在某些示例中,该查询包装器可包括与搜索查询500相关联的上下文信息,诸如平台约束信息(例如,操作***版本、设备类型、浏览器版本)、地理位置偏好、伙伴特定信息(例如,哪些服务正被用于访问搜索***100)以及其他信息。用户设备102在用户设备102发送该搜索查询500时可能生成和发送包含在查询包装器中的额外的数据。
搜索查询500可能包括,在搜索查询500内,指示搜索应用能力的意图的术语。举例来说,搜索查询可包括术语诸如“位置”或“陀螺仪控制”等。该搜索模块300可能将搜索查询中的术语与关联于每个设备能力的术语字典相匹配以基于与该字典内术语的匹配确定用户对某应用能力的意图。也可能使用其他方法,诸如通过训练的计算机模型(机器学习)以识别搜索意图。此外,用户搜索某应用能力的意图可能由伴随该搜索查询的查询包装器指定,表明用户针对该搜索明确选择了某设备能力。举例来说,用户针对该检索可能已经选择了呈现在请求的用户设备102上的设备能力。用户搜索特定应用能力的意图可能用于生成应用的考虑集合或者生成与应用搜索结果相关联的结果得分。
因此,通过查询字符串中的单词多种算法可能用于识别与应用相关联的功能,诸如关键字匹配、字符串匹配、类别匹配和其他搜索算法。这一匹配可能基于术语与关联于特定能力的术语的匹配。举例来说,相机传感器可能与诸如“图片”、“照片”或“视频”的术语相关联。当用户输入搜索术语时,这些术语和搜索查询之间的匹配被用于推断某用户可能对使用相机传感器的应用感兴趣。
查询分析模块510从用户设备102接收搜索查询500。查询分析模块510可能在接收的搜索查询500上执行多种分析操作。举例来说,由查询分析模块510执行的分析操作可能包括,但不限于,该查询的标记化、该查询的过滤、找出词干、词形还原、同义词分析、分类、实体解析和停用词删除。在查询分析模块510的一个配置中,搜索查询500也被分析以识别明确的应用能力意图。如上文所述,可能基于该搜索查询的术语从接收的搜索查询500识别该明确的应用能力意图,诸如在该查询包装器中标识的“倾斜控制”或“蓝牙心率监视器”。该明确的应用能力意图表示用户是否特别地搜索某个特定的应用能力。
该集合生成模块520基于搜索查询500识别一组应用(即,该考虑集合)。在某些示例中,该集合生成模块520可能基于搜索查询500的术语和应用记录中的术语之间的匹配通过识别应用记录来识别该组应用。举例来说,集合生成模块520可能基于由搜索分析模块510生成的标记和包含在应用记录中的单词之间的匹配来识别应用数据存储器360中的一组应用。在某些示例中,应用的该考虑集合可能为一个应用记录的列表。举例来说,该考虑集合可能为一个应用ID的列表和/或一个应用名称的列表。在一个实施例中,该集合生成模块520使用该应用能力以排除或包含在该考虑集合中的该应用。该包含或排除可能基于,例如,该明确的应用能力意图。因此,在一个实施例中,当用户表达搜索某个特定应用能力的意图时,该集合生成模块520排除不包含该应用能力的应用。相似地,当用户不包括该明确的应用意图时,可能在不考虑该应用能力的情况下搜索应用。
集合处理模块530在该考虑集合上执行多种不同的处理操作以生成包括一个应用的列表的一组搜索结果540。在某些实现中,该集合处理模块530可能为包含在该考虑集合中的每个应用生成结果得分以便生成该组搜索结果540。在这些实现中,该组搜索结果540可能包括一个应用的列表(例如,应用ID和/或应用名称),它们每一个都与相应的结果得分相关联。在某些示例中,搜索结果540可能包括来自该考虑集合的所有应用。在其他示例中,该搜索结果540可能包括该考虑集合的一个子集。举例来说,该子集可能为具有最大结果得分的那些应用。
由搜索结果540传达的信息可能取决于该结果得分如何由集合处理模块530计算。举例来说,该结果得分可能指示应用与该搜索查询的关联,应用在市场中的受欢迎度、应用的质量或者应用的其他属性,取决于集合处理模块530使用哪些参数为应用打分。
集合处理模块530可能以多种不同的方式为应用生成结果得分。一般来说,集合处理模块530可能基于一个或多个得分特征为应用生成结果得分。该得分特征可能与应用和/或搜索查询500相关联。
应用得分特征可能包括与应用相关联的任意数据。举例来说,应用得分特征可能包括包含在应用记录中的任意应用属性或者与应用相关的任意额外的参数,诸如指示应用受欢迎度的数据(例如,下载量)和与应用相关的评价(例如,星数)。在一个实施例中,也可能将该搜索查询或明确的应用能力意图包含在内以由应用集合处理模块530确定应用的得分,它可能将应用能力评估为应用得分特征。因此,在这一配置中应用的得分特征包括作为用于确定搜索结果(结果得分)的相关性的参数的应用能力406,特别是当搜索查询500具有应用能力意图时。
查询得分特征可能包括与搜索查询500相关联的任意数据。举例来说,查询得分特征可能包括,但不限于,查询中的单词数、查询的受欢迎度以及查询中单词的期望频率。应用查询得分特征可能包括可能基于与应用和搜索查询500两者相关的数据生成的任意数据(例如,由集合生成模块520在应用记录的识别中得到的查询)。举例来说,应用查询得分特征可能包括,但不限于,指示查询的术语多么好地匹配识别的应用记录的术语的参数。集合处理模块530可能生成查询得分特征和/或应用-查询得分特征。集合处理模块530可能基于应用得分特征、查询得分特征以及应用-查询得分特征的至少一个来生成应用的结果得分。
集合处理模块530可能基于本文列出的得分特征的一个或多个和/或没有明确列出的额外的得分特征确定结果得分。在某些示例中,集合处理模块530可能包括接收作为输入的一个或多个得分特征的功能。该功能还可能基于结合了应用的下载量、术语频率翻转文档频率(TFIDF)得分、搜索查询术语和应用标题之间的文字匹配、以及应用的描述中的单词数的得分特征,举例来说。虽然一个示例功能可能包括上文列出的特征,但可能由集合处理模块530使用结合了不同特征的其他功能。
在某些示例中,该集合处理模块530可能包括配置为接收一个或多个得分特征的一个或多个机器学习模型(例如,监督的学习模型)。该一个或多个机器学习模型可能基于应用得分特征、查询得分特征以及应用-查询得分特征的至少一个生成结果得分。举例来说,该集合处理模块530可能将该搜索查询500与每个应用配对并为每个(查询、应用)对计算一个特征向量。该特征向量可能包括应用得分特征、查询得分特征以及应用-查询得分特征。该集合处理模块530然后可能将该特征向量输入机器学习回归模型以计算可能被用于为针对该搜索查询500的搜索结果540中的应用进行排名的结果得分。在某些示例中,集合处理模块530可能将该特征向量连同人类策划的得分输入至机器学习回归模型中以计算结果得分。
在某些示例中,机器学习回归模型可能包括一组决策树(例如,梯度增加的决策树)。在另一示例中,机器学习回归模型可能包括逻辑似然公式。在某些示例中,该机器学习任务可能被设计为半监督学习任务,其中使用人类策划的得分标记少数训练数据并且其余的在没有人类标记的情况下使用。
在一个实施例中,在根据机器学习结果得分模型生成结果得分后,调整或后处理结果得分。在这一实施例中,可能基于应用能力意图和应用的应用能力406之间的匹配调整结果得分。举例来说,对于应用能力的匹配的意图可能提高应用的结果得分。
也可能使用请求应用搜索的用户设备的设备能力确定搜索结果的相关性得分。举例来说,访问特定设备能力的应用可能特别与用户相关。相反地,使用大量能力的应用可能被认为是恶意的并当展示给用户时指定一个低的排名或者标识为恶意的且不推荐给用户。相似地,如果用户设备102能够提供该应用使用的所有能力则该应用可能被指定一个高的排名,因此允许用户访问该应用提供的所有特征。举例来说,允许使用智能手机的前置和后置摄像头两者的应用当展示给具有前置和后置摄像头的智能手机的用户时被指定较高的排名,而当展示给前置摄像头的用户时可能指定较低的排名。设备能力还可能基于该能力的参数影响该排名或得分。举例来说,阅读应用可能被认为对于包含电子纸显示器的设备更相关,而游戏可能对于具有低刷新率的显示器来说排名较低。
在另一示例中,应用可能被设计为在指示它允许在触摸屏上三个同时触摸的参数的情况下工作,但还可适应具有单个触摸点的屏幕。基于由数据摄入模块310收集的信息,此应用的应用能力可能指示使用一个触摸点的性能是不足的。基于该请求装置允许的触摸点的数量,此应用的得分可能被影响。
此外,设备的性能还可能被考虑为确定相关性。特别地,在特定性能的情况下具有指示较差性能的应用能力的应用当请求该搜索的设备具有那些性能时可能被认为不相关。相似地,设备能力利用率信息可能与该搜索查询一起提供,指示用户频繁使用特定的设备能力,诸如陀螺仪控制。此利用率信息可能相对于其他用户频率被标准化并用于提高用户比标准更频繁使用的能力的排名。
在一个实施例中,基于用户设备102使用的或配对至用户设备102的专门能力为提供给用户设备102的应用进行排名。专门能力可能手工指定或自动选择为用户设备102上不通常可用的能力并可能使得一组应用被定制以提高具有专门传感器时的用户体验。专门设备能力的示例包括动作追踪传感器、健康传感器或与用户设备102配对的其他传感器,或者一个或多个传感器的组合诸如用户设备102上的前置摄像头和后置摄像头。赞助者还可能支付以提升匹配用户设备上的这些专门能力的应用的排名,诸如提升健康应用至具有心率传感能力的设备。
在另一实施例中,搜索模块300将使用由某能力提供的功能的一个或多个应用识别为相似应用。举例来说,搜索模块300可能将使用加速度计的赛车游戏应用、跳跃游戏应用、跑步游戏应用以及第一人称射击应用识别为相似应用。除了将基于从用户设备102接收的搜索查询识别的应用提供给用户设备102的用户外,搜索***100还可能将一个相似应用的列表提供给用户。该相似应用可能提供与识别的应用不同的功能,但是它们使用与识别的应用相同的能力,因此通知与用户设备102上的能力兼容的其他可用的应用的用户。
该结果得分可能以多种不同的方式使用。在某些示例中,该结果得分可能被用于对呈现在用户设备102上的一个结果的列表中的应用进行排名。在这些示例中,更高的结果得分可能指示该应用相对于具有较低结果得分的应用来说与用户更为相关。在其中搜索结果540作为一个列表显示在用户设备102上的示例中,与较高结果得分相关联的应用可能被列为更接近于结果列表的顶端(例如,接近屏幕的顶端)。在这些示例中,具有较低结果得分的应用可能位于列表的较下面(例如,屏幕外)并可能由用户向下滚动用户设备102的屏幕来访问。
在某些实现中,该组搜索结果540可能被发送至生成该搜索结果540所基于的该搜索查询500的用户设备102。该搜索结果540可能在用户设备102上格式化为匹配该搜索查询500的一个列表的应用。该搜索结果540可能包括对应于多种应用的任意适当的信息。举例来说,由搜索***100提供给用户设备102的搜索结果540可能被格式化为一个应用的列表,包括,举例来说,应用的名称、与应用相关的图像(例如,徽标、截屏和/或视频)、下载该应用的链接、应用的描述和评价和/或其他信息。
在一个配置中,发送至用户设备102的搜索结果540还可能将匹配识别的应用能力的应用和不匹配识别的应用能力的应用分离为在用户设备102上呈现的不同列表。
虽然搜索***100在某些实现中可能将搜索结果540发送至用户设备102,在其他实现中,搜索***100可能以不同的方式使用搜索结果540。举例来说,搜索***100可能将搜索结果540用作为用户生成广告的基础。在某些示例中该搜索***100可能选择将哪些搜索结果540发送给用户设备102。举例来说,在某些示例中搜索***100可能仅发送最高排名的搜索结果至用户设备102。
图6示出了基于接收的搜索查询执行搜索的示例方法600。在一个实施例中,由图5的应用搜索模块200执行该方法600。在块602中,查询分析模块510接收由用户设备102生成的搜索查询500。在块604中,该查询分析模块510分析搜索查询500并可能确定该搜索查询是否包括应用能力搜索意图。在块606中,集合生成模块520基于搜索查询500(例如,基于查询分析模块510的输出)识别应用的考虑集合(例如,一组应用记录)。如上文所述,应用的考虑集合可能基于应用能力和识别的应用能力搜索意图之间的匹配包括或排除应用。
在块608中,集合处理模块530基于得分特征诸如查询得分特征、应用-查询得分特征和应用得分特征为考虑集合中的每个应用生成结果得分。如上文所述应用得分特征的一个或多个可能源自应用的应用能力。在块610中,集合处理模块530生成一组搜索结果540。该搜索结果540可能包括一个应用的列表和关联的结果得分。在某些示例中该搜索***100然后可能将搜索结果540发送给用户设备102。
图7阐明了根据一个实施例的为一组应用搜索结果生成应用能力过滤器的方法。如上文参考图6所述,搜索模块300接收702搜索查询并生成704搜索结果。如图6所述生成的搜索结果可能使用应用能力生成,或者该搜索结果可能不基于应用能力。使用与搜索查询相关的搜索结果,搜索模块300识别搜索结果的应用能力并确定搜索结果之间共有的应用能力。举例来说,特定应用能力可能被计数以确定特定应用能力的数量和频率。
使用结果列表的应用能力,由搜索模块300生成708一组结果列表过滤器。在一个实施例中,与结果列表中的应用相关联的所有应用能力被用于生成结果列表过滤器。在另一示例中,某些应用能力可能被选择,诸如多个最常见的应用能力、最不常见的应用能力或者两者的组合。结果列表过滤器可能与设备能力相匹配以排除对应于并非由用户设备提供的能力的结果列表过滤器。
在一个实施例中,用户可选择的过滤器被排名。举例来说,表示专门的传感器的过滤器相对于不表示专门的传感器的那些被指定更高的排名。作为选择地,可能基于从与过滤器表示的传感器相关联的特定赞助者接收的赞助费排名各过滤器。举例来说,呈现给用户的其中一个用户可选择的过滤器是动作追踪传感器过滤器,它允许用户查看使用与用户设备102配对的动作追踪传感器的搜索结果中的应用。与动作追踪传感器关联的赞助者可能赞助该动作追踪传感器用户可选择的过滤器,造成的结果是该动作追踪传感器用户可选择的过滤器在基于其他传感器的用户可选择过滤器之前呈献给用户。还可能根据指示用户使用特定能力的频率的使用率信息对过滤器排名。可能相对于其他用户使用的频率计算这一频率。
将搜索结果和结果列表过滤器710提供给用户设备102以呈现给用户。在用户设备处,搜索结果和结果列表过滤器可能被显示给用户,并且该用户可能在结果列表过滤器中选择以过滤应用能力。
图8阐明了根据一个实施例的显示和更新结果列表的方法。图8中示出的该方法典型地由用户设备102执行,例如由搜索***界面202执行。该搜索***界面202从应用搜索***100接收802搜索结果。该搜索结果和结果列表过滤器被显示给804该设备的用户。最初,如果未选择过滤器,所有搜索结果都显示给用户。用户可能输入并且该搜索***界面202可能接收806对能力过滤器的选择。使用该能力过滤器,该结果列表被过滤808以排除并不包含由该能力过滤器指定的能力的过滤器。过滤的结果列表被显示810给用户并且该用户可能提供对额外的能力过滤器的后续选择以进一步解析该结果。
图9A-9C提供了根据一个实施例的示例用户界面以执行应用搜索并查看包含应用能力的结果。在图9A中,用户界面900被示出以针对应用搜索***100输入搜索查询。该搜索***界面202典型地提供图9A-9C中示出的用户界面。图9A示出了用于输入搜索查询的搜索条910。该用户界面还包括设备能力选项920,在这一示例中为针对位置920A、陀螺仪传感器(倾斜)920B以及配对的蓝牙扬声器920C的设备能力。该设备能力选项920由搜索***界面202在识别用户设备102的设备能力后生成。虽然这里仅示出了三个设备能力选项920,在其他实施例中设备的所有设备能力可能被示出,或者用户可能从下拉列表或其他选择区域中选择。用户的搜索查询和任意选择的设备能力被发送至搜索***100以执行应用搜索。
图9B阐明了包括从应用搜索***100接收的搜索结果940的用户界面。连同搜索结果,每个应用与关联于该应用的应用能力的指示950一起显示。用户可能用于选择特定能力的应用过滤器也被显示930,它指示与应用相关联的应用能力。图9C阐明了在用户选择针对“倾斜”应用能力的应用能力过滤器930B之后的图9B的用户界面。该搜索结果被过滤为使用采用陀螺仪传感器的应用能力的其他结果。这允许用户选择设备能力并快速找到使用用户设备的特定能力的其他结果。
额外的配置考虑
贯穿本说明书,多个实例可能实现作为单个实例描述的组件、操作或结构。虽然一个或多个方法的单独操作被阐明和描述为分离的操作,该单独操作的一个或多个可能并行执行,并且不需要以阐明的次序执行该操作。在示例配置中作为分离组件呈现的结构和功能可能被实现为组合的结构或组件。相似地,作为单个组件呈现的结构和功能可能实现为分离的组件。这些和其他变形、修改、增加和改进落入本文的主题的范围内。
某些实施例在本文被描述为包括逻辑或多个组件、模块或机制,举例来说,如各附图中所示。模块可能构成要么软件模块(例如,实现在机器可读介质上或在传输的信号中的代码)或者硬件模块。硬件模块是能够执行某些操作并可能以特定形式配置或安排的有形单元。在示例实施例中,一个或多个计算机***(例如,独立的、客户端或服务器计算机***)或计算机***的一个或多个硬件模块(例如,处理器或一组处理器,例如处理器502)可能由软件(例如,应用或应用部分)配置为操作以执行本文所述的某些操作的硬件模块。
在多种实施例中,硬件模块可能被机械地或电地实现。举例来说,硬件模块可能包括被永久配置以执行某些操作的专用电路或逻辑(例如,配置为专用处理器,诸如现场可编程门阵列(FPGA)、专用集成电路(ASIC)、片上***(SoC)、芯片集)。硬件模块还可能包括可编程逻辑或电路(例如,包含在通用处理器或其他可编程处理器内),它由软件临时配置以执行某些操作。将理解以专用和永久配置的电路或者以临时配置的(例如,由软件配置的)电路的形式机械地实现硬件模块的决定可能受到成本和时间考虑的影响。
本文描述的示例方法的多种操作可能被一个或多个处理器例如处理器502至少部分地执行,该处理器被临时配置(例如,被软件配置)或永久配置以执行相关操作。无论是临时还是永久配置,这种处理器可能构成操作以执行一个或多个操作或功能的处理器实现的模块。本文涉及的模块可能在某些示例实施例中包括处理器实现的模块。
该一个或多个处理器还可能操作以支持“云计算”环境中的或作为“软件即服务”(SaaS)的相关操作的执行。举例来说,至少某些操作可能由一组计算机(作为包括处理器的机器的示例)执行,这些操作可通过网络(例如,因特网)并通过一个或多个适当的接口(例如,应用程序接口(API))访问。
某些操作的执行可能被分布于一个或多个处理器,并不仅驻留在单个机器中,而是部署在多个机器中。在某些示例实施例中,该一个或多个处理器或处理器实现的模块可能位于单个地理位置(例如,在家庭环境、公司环境或服务器农场内)。在其他示例实施例中,该一个或多个处理器或处理器实现的模块可能分布至多个地理位置。
此说明书的某些部分依据在机器存储器(例如,计算机存储器)内存储为位或二进制数字信号的数据的操作的算法或符号表示进行呈现。这些算法或符号表示是由数据处理领域的本领域技术人员使用的技术的示例以将它们工作的实质传递给其他本领域技术人员。如本文所使用的,“算法”是自相一致的操作序列或导向期望结果的相似的处理。在这一上下文中,算法和操作涉及物理量的物理操纵。典型地,但不必须地,这种量可能采取能够存储、访问、传输、组合、比较或由机器操纵的电、磁或光信号的形式。有时它是方便的,主要是对于常用的原因,使用诸如“数据”、“内容”、“位”、“值”、“元素”、“符号”、“字符”、“术语”、“数”、“数字”等的词汇指示这种信号。然而,这些词汇仅仅是方便的标签并且将与适当的物理量相关。
除非特别指定,否则使用诸如“处理”、“运算(computing)”、“计算(calculating)”、“确定”、“呈现”、“显示”等的本文的讨论可能涉及操纵或转换在一个或多个存储器(例如,易失性存储器、非易失性存储器或者它们的组合)、寄存器或接收、存储、发送或显示信息的其他机器组件内表示为物理(例如,电的、磁的或光的)量的数据的机器(例如,计算机)的活动或过程。
如本文所使用的对“一个实施例”或“实施例”的引用是指与该实施例相关地描述的一个特定的元素、特征、结构或特性被包含在至少一个实施例中。短语“在一个实施例中”在本说明书的多种位置中的出现并不必须都指示相同的实施例。
可能使用词语“耦合的”和“连接的”连同它们的派生词描述某些实施例。举例来说,可能使用术语“耦合的”描述某些实施例以指示两个或多个元素直接物理或电接触。然而,术语“耦合的”还可能是指两个或多个元素彼此间并不直接接触,但仍然彼此间协作或交互。在这一上下文中各实施例并不受限。
如本文所使用的,术语“包括”、“包含”、“具有”或它们的任意其他变形意欲覆盖非排除式的包括。举例来说,包括一个元素的列表的处理、方法、物品或装置并不必仅限制为那些元素而是可能包括没有明确列出的或这种过程、方法、物品或装置固有的其他元素。进一步地,除非有明确相反的说法,“或者”是指一种包含的或并非是指一种排除的或。举例来说,条件A或者B可能被下述的任意一个满足:A为真(或出现)并且B为假(或不出现)、A为假(或不出现)并且B为真(或出现),并且A和B两者都为真(或出现)。
此外,“一”或“一个”的使用被用于描述本文各实施例的元素和组件。这仅为方便起见并提供本发明的一般意义。此描述应当被阅读为包括一个或至少一个并且该单数还包括复数形式除非另外明显地指示。
通过阅读本公开,本领域技术人员将理解对于通过本文揭示的原理基于识别的应用版本生成搜索结果的***和过程仍然具有额外的作为替换的结构和功能上的设计。因此,虽然已经阐明和描述了特定实施例和应用,要理解公开的实施例并不限于本文公开的精确结构和组件。在不脱离由附加的权利要求定义的精神和范围的情况下,可能在本文公开的方法和装置的安排、操作和细节中做出对于本领域技术人员来说显而易见的多种修改、改变和变形。

Claims (28)

1.一种计算机实现的方法,包括:
识别由一个或多个应用使用的一组设备能力,所述设备能力用于识别当由用户设备执行时由应用使用的组件;
接收来自于用户设备的应用搜索查询;
基于该应用搜索查询,识别所述一个或多个应用当中的一个或多个候选应用;以及
提供所述候选应用至用户设备以呈现在用户设备上。
2.根据权利要求1所述的方法,进一步包括:确定与所述搜索查询相关联的至少一个设备能力,并且其中所识别的候选应用的至少一个候选应用使用所述搜索查询的设备能力。
3.根据权利要求2所述的方法,其中所述候选应用被排名并且该排名中的一个因子是搜索查询的设备能力与排名的应用之间的匹配度。
4.根据权利要求2所述的方法,其中基于设备类型确定与所述搜索查询相关联的设备能力。
5.根据权利要求2所述的方法,其中确定与应用搜索查询相关联的至少一个设备能力进一步包括:
基于实现操作***与用户设备上可用的传感器的交互的功能,识别用户设备上的一个或多个传感器;以及
将用户设备上的一个或多个传感器与所述应用搜索查询进行关联。
6.根据权利要求1所述的方法,进一步包括:基于与一个或多个候选应用相关联的能力集合,生成一组用户可选择的能力的过滤器。
7.根据权利要求6所述的方法,进一步包括:接收对用户可选择过滤器的选择;基于选择的过滤器来过滤候选应用;以及将过滤后的候选应用发送至用户设备。
8.根据权利要求6所述的方法,进一步包括:排名用户可选择的过滤器集合中的用户可选择的过滤器。
9.根据权利要求8所述的方法,其中所述排名包括:
基于与应用搜索查询相关联的一个或多个能力或者与用户可选择过滤器集合中的一个或多个用户可选择过滤器相关联的赞助者排名所述用户可选择过滤器。
10.根据权利要求9所述的方法,其中基于与请求该搜索的用户设备相关联的设备能力的能力使用频率来排名所述用户可选择过滤器。
11.根据权利要求1所述的方法,其中识别由一个或多个应用使用的能力集合进一步包括:
基于从一个或多个数据源接收的与一个或多个应用关联的数据,识别由一个或多个应用使用的设备能力集合。
12.根据权利要求1所述的方法,其中识别由一个或多个应用使用的设备能力集合进一步包括:
基于由一个或多个应用所请求的能力许可,识别由一个或多个应用使用的设备能力集合。
13.根据权利要求1所述的方法,其中识别由一个或多个应用使用的传感器集合进一步包括:
基于与一个或多个应用相关联的可执行代码或库,识别由一个或多个应用使用的传感器集合。
14.根据权利要求1所述的方法,进一步包括:
在将候选应用提供至用户设备以在用户设备上呈现之前排名所述候选应用。
15.根据权利要求14所述的方法,其中所述排名包括:
基于由一个或多个候选应用使用的能力数目,或者由一个或多个候选应用使用的专门能力来排名所述候选应用。
16.一种存储计算机程序指令的非暂态计算机可读存储介质,该计算机程序指令可执行的步骤包括:
识别由一个或多个应用使用的传感器集合;
从用户设备接收应用搜索查询;
确定与所述应用搜索查询相关联的一个或多个传感器;
基于所述应用搜索查询识别所述一个或多个应用当中的一个或多个候选应用,所述候选应用使用与所述搜索查询相关联的至少一个传感器;
基于由一个或多个候选应用所使用的传感器集合生成用户可选择的过滤器集合;以及
将所述候选应用和用户可选择的传感器集合提供至用户设备以呈现在所述用户设备上。
17.根据权利要求16所述的计算机可读存储介质,其中识别由一个或多个应用使用的传感器集合进一步包括:
基于从一个或多个数据源接收的与一个或多个应用关联的数据,识别由一个或多个应用使用的传感器集合。
18.根据权利要求16所述的计算机可读存储介质,其中识别由一个或多个应用使用的传感器集合进一步包括:
基于由一个或多个应用所请求的传感器许可,识别由一个或多个应用使用的传感器集合。
19.根据权利要求16所述的计算机可读存储介质,其中识别由一个或多个应用使用的传感器集合进一步包括:
基于与一个或多个应用关联的可执行代码或库,识别由一个或多个应用使用的传感器集合。
20.根据权利要求16所述的计算机可读存储介质,其中所述应用搜索查询包括查询字符串、一个或多个搜索说明、或者识别用户设备上的一个或多个传感器的信息。
21.根据权利要求16所述的计算机可读存储介质,进一步包括:确定与所述应用搜索查询相关联的一个或多个传感器。
22.根据权利要求21所述的计算机可读存储介质,其中确定与应用搜索查询相关联的一个或多个传感器进一步包括:
基于实现操作***和用户设备上可用的传感器的交互的功能,识别用户设备上的一个或多个传感器;以及
将用户设备上的一个或多个传感器与所述应用搜索查询进行关联。
23.根据权利要求16所述的计算机可读存储介质,基于一个或多个候选应用使用的传感器集合,生成用户可选择的过滤器集合进一步包括:
基于用户可选择的过滤器来过滤候选应用。
24.根据权利要求16所述的计算机可读存储介质,进一步包括:
在用户设备上基于用户设备上可用的传感器来组织一个或多个应用。
25.根据权利要求16所述的计算机可读存储介质进一步包括:
在将候选应用和用户可选择的传感器集合提供至用户设备以在用户设备上呈现之前排名所述候选应用。
26.根据权利要求25所述的计算机可读存储介质,进一步包括:
基于所述一个或多个候选应用使用的传感器数目、所述一个或多个候选应用使用的专门传感器、描述所述一个或多个候选应用的功能的信息或者与所述一个或多个候选应用相关联的赞助,来排名所述候选应用。
27.根据权利要求16所述的计算机可读存储介质,进一步包括:
排名在用户可选择的过滤器集合中的用户可选择过滤器。
28.根据权利要求27所述的计算机可读存储介质,进一步包括:
基于与应用搜索查询相关联的一个或多个传感器或者与在用户可选择的过滤器集合中的一个或多个用户可选择过滤器相关联的赞助,排名所述用户可选择过滤器。
CN201480076743.5A 2013-12-31 2014-12-30 使用设备能力的应用搜索 Pending CN106233282A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361922626P 2013-12-31 2013-12-31
US61/922,626 2013-12-31
US14/318,530 2014-06-27
US14/318,530 US10324987B2 (en) 2013-12-31 2014-06-27 Application search using device capabilities
PCT/US2014/072891 WO2015103337A1 (en) 2013-12-31 2014-12-30 Application search using device capabilities

Publications (1)

Publication Number Publication Date
CN106233282A true CN106233282A (zh) 2016-12-14

Family

ID=53482059

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480076743.5A Pending CN106233282A (zh) 2013-12-31 2014-12-30 使用设备能力的应用搜索

Country Status (4)

Country Link
US (1) US10324987B2 (zh)
EP (1) EP3090368A4 (zh)
CN (1) CN106233282A (zh)
WO (1) WO2015103337A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113254730A (zh) * 2021-04-23 2021-08-13 北京车智赢科技有限公司 一种数据搜索方法、计算设备及可读介质

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105404625A (zh) * 2014-09-03 2016-03-16 富泰华工业(深圳)有限公司 应用程序的查找方法与***
US10171558B2 (en) * 2014-09-12 2019-01-01 Microsoft Technology Licensing, Llc Cross device application discovery and control
WO2016085920A1 (en) * 2014-11-25 2016-06-02 Webandz, Inc. Geolocation bracelet, systems, and methods
US10324985B2 (en) 2014-12-19 2019-06-18 Samsung Electronics Co., Ltd. Device-specific search results
US10366127B2 (en) * 2014-12-29 2019-07-30 Samsung Electronics Co., Ltd. Device-specific search results
US10013490B1 (en) * 2015-03-13 2018-07-03 Amazon Technologies, Inc. Application search engine
US9864803B2 (en) * 2015-07-22 2018-01-09 TCL Research America Inc. Method and system for multimodal clue based personalized app function recommendation
US9736311B1 (en) 2016-04-29 2017-08-15 Rich Media Ventures, Llc Rich media interactive voice response
US10275529B1 (en) 2016-04-29 2019-04-30 Rich Media Ventures, Llc Active content rich media using intelligent personal assistant applications
US10782954B2 (en) * 2016-10-05 2020-09-22 International Business Machines Corporation User defined application interface
US11868382B1 (en) * 2016-11-03 2024-01-09 Parallels International Gmbh Software utility toolbox for client devices
US11082476B2 (en) * 2016-11-15 2021-08-03 Verizon Media Inc. Computerized system and method for automatically providing networked devices non-native functionality
US10802672B2 (en) * 2017-05-05 2020-10-13 Servicenow, Inc. Software application portfolio discovery and management
US10417232B2 (en) * 2017-12-22 2019-09-17 Microsoft Technology Licensing, Llc Associating hardware to store applications
EP3637354A1 (de) * 2018-10-11 2020-04-15 Siemens Aktiengesellschaft Verfahren zur suche eines programmcodes für ein elektronisches gerät in einer datenbank
CA3113915A1 (en) * 2019-07-04 2021-01-07 Citrix Systems, Inc. Searching saas virtual applications
US20210240770A1 (en) * 2020-01-30 2021-08-05 Microsoft Technology Licensing, Llc Application search system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102368239A (zh) * 2011-06-29 2012-03-07 奇智软件(北京)有限公司 一种装机方案自动推荐的方法及装置
US20120110174A1 (en) * 2008-10-21 2012-05-03 Lookout, Inc. System and method for a scanning api
CN102761595A (zh) * 2012-03-26 2012-10-31 联想(北京)有限公司 一种下载方法及电子设备
US20120303476A1 (en) * 2010-11-09 2012-11-29 Openpeak Inc. Communication devices, networks, services and accompanying methods
US20130166678A1 (en) * 2011-12-27 2013-06-27 Sap Portals Israel Ltd Smart Suggestions Engine for Mobile Devices
CN103414766A (zh) * 2013-07-29 2013-11-27 北京小米科技有限责任公司 一种安装应用的方法、装置和终端设备

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6493702B1 (en) * 1999-05-05 2002-12-10 Xerox Corporation System and method for searching and recommending documents in a collection using share bookmarks
US20030191775A1 (en) 2002-04-03 2003-10-09 Vaughan Robert D. Software identification system and method
US7433893B2 (en) * 2004-03-08 2008-10-07 Marpex Inc. Method and system for compression indexing and efficient proximity search of text data
WO2006011819A1 (en) 2004-07-30 2006-02-02 Eurekster, Inc. Adaptive search engine
US8032468B2 (en) 2007-08-22 2011-10-04 Samsung Electronics Co., Ltd. Identifying and recommending potential uses of computing systems based on their patterns of use
US8924403B2 (en) * 2007-12-31 2014-12-30 Sap Se Method and system for central data querying
US20120233205A1 (en) * 2008-03-07 2012-09-13 Inware, Llc System and method for document management
US20100153335A1 (en) * 2008-12-12 2010-06-17 Microsoft Corporation Synchronizing multiple classes with disparate schemas in the same collection
US8340635B2 (en) * 2009-03-16 2012-12-25 Apple Inc. Capability model for mobile devices
US8402145B2 (en) * 2009-03-16 2013-03-19 Apple Inc. Application communication with external accessories
US8738623B2 (en) * 2010-05-21 2014-05-27 Benjamin Henry Woodard Global reverse lookup public opinion directory
US8396759B2 (en) 2010-06-18 2013-03-12 Google Inc. Context-influenced application recommendations
US8788944B1 (en) * 2011-03-09 2014-07-22 Amazon Technologies, Inc. Personalized mobile device application presentation using photograph-based capability detection
US9424018B2 (en) * 2011-03-21 2016-08-23 Microsoft Technology Licensing, Llc Filtering and promoting application store applications
US20120316955A1 (en) 2011-04-06 2012-12-13 Yahoo! Inc. System and Method for Mobile Application Search
US8762360B2 (en) * 2011-05-06 2014-06-24 Microsoft Corporation Integrating applications within search results
US9665643B2 (en) * 2011-12-30 2017-05-30 Microsoft Technology Licensing, Llc Knowledge-based entity detection and disambiguation
US20140006440A1 (en) * 2012-07-02 2014-01-02 Andrea G. FORTE Method and apparatus for searching for software applications

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120110174A1 (en) * 2008-10-21 2012-05-03 Lookout, Inc. System and method for a scanning api
US20120303476A1 (en) * 2010-11-09 2012-11-29 Openpeak Inc. Communication devices, networks, services and accompanying methods
CN102368239A (zh) * 2011-06-29 2012-03-07 奇智软件(北京)有限公司 一种装机方案自动推荐的方法及装置
US20130166678A1 (en) * 2011-12-27 2013-06-27 Sap Portals Israel Ltd Smart Suggestions Engine for Mobile Devices
CN102761595A (zh) * 2012-03-26 2012-10-31 联想(北京)有限公司 一种下载方法及电子设备
CN103414766A (zh) * 2013-07-29 2013-11-27 北京小米科技有限责任公司 一种安装应用的方法、装置和终端设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113254730A (zh) * 2021-04-23 2021-08-13 北京车智赢科技有限公司 一种数据搜索方法、计算设备及可读介质
CN113254730B (zh) * 2021-04-23 2024-03-15 北京车智赢科技有限公司 一种数据搜索方法、计算设备及可读介质

Also Published As

Publication number Publication date
EP3090368A4 (en) 2017-06-28
US20150186533A1 (en) 2015-07-02
WO2015103337A1 (en) 2015-07-09
EP3090368A1 (en) 2016-11-09
US10324987B2 (en) 2019-06-18

Similar Documents

Publication Publication Date Title
CN106233282A (zh) 使用设备能力的应用搜索
TWI533246B (zh) 使用者未知興趣之探索方法與系統
KR101722687B1 (ko) 객체간 또는 객체와 유저간에 정보 제공 방법, 그 방법을 수행할 수 있는 유저 디바이스, 및 저장 매체
CN106462595B (zh) 内容管理方法及用于其的云服务器
KR101611388B1 (ko) 태그를 활용한 검색 서비스 제공 방법 및 시스템
US20200081896A1 (en) Computerized system and method for high-quality and high-ranking digital content discovery
US20130051615A1 (en) Apparatus and method for providing applications along with augmented reality data
US20110238608A1 (en) Method and apparatus for providing personalized information resource recommendation based on group behaviors
US20140282493A1 (en) System for replicating apps from an existing device to a new device
US10664894B2 (en) Determination of unique items based on generating descriptive vectors of users
US20170103072A1 (en) Generating Image Tags
TW201447797A (zh) 內容個人化之多相排序方法和系統
CN107330019A (zh) 搜索方法及装置
CN101479728A (zh) 视觉以及多维搜索
WO2017205036A1 (en) Task completion using world knowledge
CN107562939A (zh) 垂直领域新闻推荐方法、装置及可读储存介质
US10242114B2 (en) Point of interest tagging from social feeds
US11297027B1 (en) Automated image processing and insight presentation
US20140280098A1 (en) Performing application search based on application gaminess
US20170249325A1 (en) Proactive favorite leisure interest identification for personalized experiences
EP3396566A1 (en) Method, information processing apparatus and program
Zhu et al. Human activity recognition using social media data
CN111383072A (zh) 一种用户信用评分方法、存储介质及服务器
KR20150019668A (ko) 검색 연관 정보 제공 방법 및 이를 지원하는 전자 장치
US11909725B2 (en) Automatic privacy-aware machine learning method and apparatus

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180110

Address after: Gyeonggi Do, South Korea

Applicant after: SAMSUNG ELECTRONICS Co.,Ltd.

Address before: California, USA

Applicant before: QUIXEY, Inc.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20161214