CN107787503A - 基于动作的应用推荐引擎 - Google Patents
基于动作的应用推荐引擎 Download PDFInfo
- Publication number
- CN107787503A CN107787503A CN201680031470.1A CN201680031470A CN107787503A CN 107787503 A CN107787503 A CN 107787503A CN 201680031470 A CN201680031470 A CN 201680031470A CN 107787503 A CN107787503 A CN 107787503A
- Authority
- CN
- China
- Prior art keywords
- application
- action
- record
- user 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.)
- Withdrawn
Links
- 230000009471 action Effects 0.000 title claims abstract description 220
- 230000004044 response Effects 0.000 claims abstract description 70
- 238000000034 method Methods 0.000 claims abstract description 65
- 238000013500 data storage Methods 0.000 claims abstract description 52
- 230000008569 process Effects 0.000 claims abstract description 35
- 230000002776 aggregation Effects 0.000 claims abstract description 32
- 238000004220 aggregation Methods 0.000 claims abstract description 32
- 230000007717 exclusion Effects 0.000 claims abstract description 8
- 238000009826 distribution Methods 0.000 claims description 21
- 230000007246 mechanism Effects 0.000 claims description 18
- 238000009434 installation Methods 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 9
- 230000001052 transient effect Effects 0.000 claims description 3
- 230000014759 maintenance of location Effects 0.000 claims 2
- 230000000875 corresponding effect Effects 0.000 description 39
- 230000015654 memory Effects 0.000 description 18
- 238000010801 machine learning Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 230000006399 behavior Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 238000005538 encapsulation Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000010437 gem Substances 0.000 description 2
- 229910001751 gemstone Inorganic materials 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 239000007858 starting material Substances 0.000 description 2
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 1
- 206010047571 Visual impairment Diseases 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 229940079593 drug Drugs 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/248—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Computational Linguistics (AREA)
- Remote Sensing (AREA)
- General Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
- Human Computer Interaction (AREA)
Abstract
一种系统包括第一数据存储器,该第一数据存储器用于存储记录,每个记录与移动设备的应用对应并且包括元数据,该元数据识别移动设备用户通过使用该应用而能够使用的动作。从本体中选择识别出的动作。查询模块对于应用推荐请求进行处理,该应用推荐请求指示已安装在用户设备上的应用的集合。集合生成模块识别与用户设备应用相关联的可用动作的集合,并且选择与可用动作互斥的不可用动作的集合。集合生成模块确定应用的考虑集合,其中每个应用实现不可用动作中的至少一个。集合处理模块从应用的考虑集合中选择应用的被选择子集。结果生成模块利用应用推荐响应对于该请求进行响应,其中应用推荐响应识别所选择的子集中的每个应用。
Description
技术领域
本公开文本总体上涉及推荐系统,尤其涉及针对计算设备上的应用的自动推荐系统。
背景技术
这里所提供的背景技术描述是为了总体上呈现本公开文本背景的目的。目前所称的发明人的工作,对于在该背景技术部分所描述的内容,以及在提交时不符合作为现有技术的描述的多个方面,既未明确也未隐含地被认为是对于本公开文本的现有技术。
近年来,诸如智能手机和平板设备的互联网连接设备的使用呈指数增加。这样的设备可用的软件应用的数量和种类同样以若干个数量级地增加。目前,在任意给定的互联网连接设备上能够执行许多不同的功能并且能够分析许多不同的数据集合。例如,诸如谷歌公司的谷歌播放(Google PLAY)平台、苹果公司的应用商店(APP STORE)平台、Amazon.com公司的亚马逊应用商店(Amazon APPSTORE)平台、微软公司的视窗手机商店(WINDOWS PHONE STORE)平台和视窗商店(WINDOWS STORE)平台、以及GetJar公司的GETJAR平台的应用商店共同提供了数以百万计的应用。
有如此大量可用的应用,互联网连接设备的许多用户并不清楚可以执行感兴趣的动作和/或向用户提供感兴趣的数据的应用的可用性。即使是应用开发者也无法及时了解用户可能在应用开发者不擅长的应用市场部分中发现有价值的所有应用。
发明内容
一种系统包括第一数据存储器,其用于存储记录。每个记录与移动设备的应用对应,并且包括元数据,该元数据识别移动设备用户通过使用该应用而能够使用的动作。从本体选择识别出的动作。该系统包括查询模块,其用于处理与用户设备对应的应用推荐请求。应用推荐请求包括用于指示在用户设备上已安装应用的集合的数据。该系统包括集合生成模块,该集合生成模块用于,使用第一数据存储器来识别与用户设备上已安装应用的集合相关联的可用动作的集合。集合生成模块用于选择不可用动作的集合。不可用动作的集合与可用动作的集合互斥。集合生成模块用于确定来自第一数据存储器的应用的考虑集合。考虑集合中的每个应用实现不可用动作的集合中的至少一个不可用动作。该系统包括集合处理模块,其用于从应用的考虑集合中选择应用的被选择子集。该系统包括结果生成模块,其用于利用应用推荐响应对于应用推荐请求进行响应。应用推荐响应包括针对所选择的子集中的每个应用来识别数据。
在其他特征中,对于每个记录,第一数据存储器包括针对应用的访问机制的数据。应用推荐响应包括所选择子集中每个应用的访问机制。在其他特征中,对于每个记录,访问机制的数据是数字分发平台内的应用的链接。在其他特征中,集合处理模块用于确定考虑集合中的每个应用的得分,并且从得分最高应用的考虑集合中选择预定数量的应用,作为所选择的子集。在其他特征中,应用的得分基于应用的评论和该应用的下载统计数据。
在其他特征中,应用的得分与用户设备通过使用该应用能够使用的动作的总数成反比。在其他特征中,应用的得分与用户设备通过使用不在可用动作集合内的应用而能够使用的动作数量成正比。在其它特征中,集合处理模块用于从所选择的子集中排除用户设备上已安装的应用的集合。在其他特征中,集合处理模块用于从所选择的子集中排除已经从用户设备卸载的应用。在其他特征中,可用动作集合包括本体内的所有动作,这些动作是用户设备通过使用用户设备上安装的所有应用集合能够使用的。
在其他特征中,用户设备上已安装应用的集合包含安装在用户设备上的所有应用。在其他特征中,响应于对于在第一数据存储器中没有记录对应的本体的第一动作,将新记录添加到第一数据存储器并且与该第一动作对应,而触发应用推荐请求。在其他特征中,对于每个记录,第一数据存储器包括关于记录的地理相关性的数据。响应于用户设备从第一地理区域移动到第二地理区域,触发应用推荐请求。
在其它特征中,该系统包括监视器模块,该监视器模块用于,当与第一记录相对应的应用已经从用户设备卸载时,响应于记录中的第一记录的元数据被更新以添加附加动作,而生成应用推荐请求。在其它特征中,该系统包括监视器模块,该监视器模块用于,当(i)与第一记录相对应的应用已经从用户设备卸载,和(ii)附加动作在可用动作集合之外两者都发生时,响应于记录中的第一记录的元数据被更新以添加附加动作,而生成应用推荐请求。
在其他特征中,对于与用户设备上已安装应用的集合中的应用对应的第一数据存储器的第一记录,响应于元数据被更新以添加附加动作而触发应用推荐请求。在其他特征中,第一数据存储器的第一记录与多个版本的第一应用对应。该系统包括监视器模块,该监视器模块用于,当(i)新版本的元数据包括来自本体的不包括在先前版本的第一应用中的动作,和(ii)先前版本的第一应用中的一个先前版本第一应用安装在用户设备上两者都发生时,响应于新版本的第一应用被添加到第一记录,生成针对用户设备的应用推荐请求。
在其它特征中,监视器模块延迟应用推荐请求,直到用户设备未能安装新版本的第一应用超过预定的时期。在其它特征中,第一数据存储器的第一记录与第一版本的第一应用对应,并且系统包括监视器模块。当(i)第二版本的元数据包括来自本体的不包含在第一版本的第一应用中的动作,和(ii)第一版本的第一应用安装在用户设备上两者都发生时,监视器模块用于响应于第二版本的第一应用被添加到第一数据存储器作为第二记录,生成针对用户设备的应用推荐请求。
在其他特征中,本体被分组为层级树,其中每个动作是叶节点。集合生成模块用于识别连接到可用动作的集合中的多个动作的母节点,并且将所识别的母节点的剩余动作保留为不可用动作的集合。在其他特征中,本体被分组为层级树,其中每个动作是叶节点。集合处理模块用于:向应用的考虑集合中的每一个应用分配得分,识别连接到可用动作的集合中的多个动作的母节点,增加实现所识别的母节点的剩余动作的应用的得分,并且从考虑集合中选择得分最高的应用作为被选择的子集。
在其他特征中,系统包括用于存储记录的第二数据存储器。每个记录与用户设备对应,并且存储用于识别已经从用户设备卸载的应用的数据。在其他特征中,系统包括用于存储用户记录的第二数据存储器。每个用户记录(i)与用户设备对应,并且(ii)存储用于识别已经被对应用户设备的用户识别为不期望的应用的数据。集合处理模块用于根据第二数据存储器从所选择的子集中排除应用。
在其他特征中,该系统包括用于存储记录的第二数据存储器。每个用户记录(i)与用户设备对应,并且(ii)存储用于识别已经被对应用户设备的用户识别为不期望的动作的数据。集合生成模块用于根据第二数据存储器从不可用动作的集合中移除动作。在其他特征中,集合生成模块用于将第一应用选择性地包括在应用的考虑集合中,其中第一应用复制来自可用动作的集合中的动作。
在其他特征中,第一应用使得用户设备能够使用本体的第一动作。集合生成模块用于,响应于用户设备的使用数据指示第一动作的使用率高,将第一应用包括在应用的考虑集合中。
在其他特征中,集合生成模块用于响应于第一动作的使用率超过预定阈值,确定第一动作的使用率高。预定阈值基于可用动作的集合的平均使用率。在其他特征中,直接从用户设备接收应用推荐请求。在其他特征中,响应于搜索平台从用户设备接收到应用搜索请求,从搜索平台接收应用推荐请求。
在其他特征中,应用推荐请求包括用于指示推荐应当针对应用搜索请求的范围的数据。在其他特征中,应用推荐响应独立于应用搜索请求的范围。在其他特征中,每个记录包括用于描述对应应用的附加元数据。附加元数据包括对应应用的类型。在其他特征中,附加元数据包括(i)对应应用的用户提供的评论数据,和(ii)对应应用的统计数据。
一种方法包括将记录存储到第一数据存储器中。每个记录与移动设备的应用对应,并且包括元数据,该元数据通过应用的使用来识别移动设备能够使用的动作。从本体选择识别出的动作。该方法包括处理与用户设备对应的应用推荐请求。应用推荐请求包括用于指示在用户设备上已安装应用的集合的数据。该方法包括使用第一数据存储器来识别与用户设备上的已安装应用的集合相关联的可用动作的集合。该方法包括选择不可用动作的集合。不可用动作的集合与可用动作的集合互斥。该方法包括确定来自第一数据存储器的应用的考虑集合。考虑集合中的每个应用实现不可用动作的集合中的至少一个不可用动作。该方法包括从应用的考虑集中选择应用的被选择子集。该方法包括利用应用推荐响应对应用推荐请求进行响应。应用推荐响应包括针对所选择的子集中的每个应用来识别数据。
在其他特征中,对于每个记录,针对应用的访问机制的数据被存储在第一数据存储器中。应用推荐响应包括所选择子集中每个应用的访问机制。在其他特征中,对于每个记录,访问机制的数据是数字分发平台内的应用的链接。在其它特征中,该方法包括确定考虑集合中的每个应用的得分,并且从得分最高应用的考虑集合中选择预定数量的应用作为所选择的子集。在其他特征中,应用的得分基于应用的评论和该应用的下载统计数据。
在其他特征中,应用的得分与用户设备通过使用该应用能够使用的动作的总数成反比。在其他特征中,应用的得分与用户设备通过使用不在可用动作集合内的应用而能够使用的动作数量成正比。在其他特征中,该方法包括从所选择的子集中排除用户设备上已安装应用的集合。在其他特征中,该方法包括从所选择的子集中排除已经从用户设备卸载的应用。
在其他特征中,可用动作集合包括本体内的所有动作,用户设备通过使用用户设备上安装的所有应用集合能够使用这些动作。在其他特征中,用户设备上已安装应用的集合包含安装在用户设备上的所有应用。在其他特征中,响应于对于在第一数据存储器中没有记录对应的本体的第一动作,将新记录添加到第一数据存储器并且与该第一动作对应,而触发应用推荐请求。在其他特征中,对于每个记录,关于记录的地理相关性的数据被存储在第一数据存储器中。响应于用户设备从第一地理区域移动到第二地理区域,触发应用推荐请求。
在其它特征中,该方法包括:当与第一记录相对应的应用已经从用户设备卸载时,响应于记录中的第一记录的元数据被更新以添加附加动作,而生成应用推荐请求。在其它特征中,该方法包括:当(i)与第一记录相对应的应用已经从用户设备卸载,和(ii)附加动作在可用动作集合之外两者都发生时,响应于记录中的第一记录的元数据被更新以添加附加动作,而生成应用推荐请求。
在其他特征中,对于与用户设备上已安装应用的集合中的应用对应的第一数据存储器的第一记录,响应于元数据被更新以添加附加动作而触发应用推荐请求。在其他特征中,第一数据存储器的第一记录与多个版本的第一应用对应。该方法包括:当(i)新版本的元数据包括来自本体的不包括在先前版本的第一应用中的动作,和(ii)先前版本的第一应用中的一个先前版本第一应用安装在用户设备上两者都发生时,响应于新版本的第一应用被添加到第一记录,生成针对用户设备的应用推荐请求。
在其它特征中,该方法包括延迟应用推荐请求,直到用户设备未能安装新版本的第一应用超过预定的时期。在其他特征中,第一数据存储器的第一记录与第一版本的第一应用对应。该方法包括:当(i)第二版本的元数据包括来自本体的不包含在第一版本的第一应用中的动作,和(ii)第一版本的第一应用安装在用户设备上两者都发生时,响应于第二版本的第一应用被添加到第一数据存储器作为第二记录,生成针对用户设备的应用推荐请求。
在其他特征中,本体被分组为层级树,其中每个动作是叶节点。该方法包括识别连接到可用动作的集合中的多个动作的母节点,并且将所识别的母节点的剩余动作保留为不可用动作的集合。在其他特征中,本体被分组为层级树,其中每个动作是叶节点。该方法包括:向应用的考虑集合中的每一个应用分配得分,识别连接到可用动作的集合中的多个动作的母节点,增加实现所识别的母节点的剩余动作的应用的得分,并且从考虑集合中选择得分最高的应用作为被选择的子集。在其他特征中,该方法包括将记录存储到第二数据存储器中。每个记录与用户设备对应,并且存储用于识别已经从用户设备卸载的应用的数据。
在其他特征中,该方法包括将用户记录存储到第二数据存储器中。每个用户记录(i)与用户设备对应,并且(ii)存储用于识别已经被对应用户设备的用户识别为不期望的应用的数据。该方法包括根据第二数据存储器从所选择的子集中排除应用。在其他特征中,该方法包括将用户记录存储到第二数据存储器中。每个用户记录(i)与用户设备对应,并且(ii)存储用于识别已经被对应用户设备的用户识别为不期望的动作的数据。该方法包括根据第二数据存储器从不可用动作的集合中移除动作。在其他特征中,该方法包括在应用考虑集合中选择性地包括第一应用,该第一应用包括复制来自可用动作的集合中的动作。
在其他特征中,第一应用使得用户设备能够使用本体的第一动作。该方法包括,响应于用户设备的使用数据指示第一动作的使用率高,将第一应用包括在应用的考虑集合中。在其它特征中,该方法包括响应于第一动作的使用率超过预定阈值来确定第一动作的使用率高。预定阈值基于可用动作的集合的平均使用率。在其他特征中,直接从用户设备接收应用推荐请求。在其他特征中,响应于搜索平台从用户设备接收到应用搜索请求,从搜索平台接收应用推荐请求。
在其他特征中,应用推荐请求包括用于指示推荐应当针对应用搜索请求的范围的数据。在其他特征中,应用推荐响应独立于应用搜索请求的范围。在其他特征中,每个记录包括用于描述对应应用的附加元数据。附加元数据包括对应应用的类型。在其他特征中,附加元数据包括(i)对应应用的用户提供的评论数据,和(ii)对应应用的统计数据。
在其他特征中,上述方法可以通过存储在非瞬态计算机可读介质上的处理器可执行指令来实现。
根据具体实施方式、权利要求书和附图,本公开文本的其它适用范围将变得清楚。详细描述和具体示例仅用于说明的目的,并不旨在限制本公开文本的范围。
附图说明
根据具体实施方式和附图,将更加完全地理解本公开文本。
图1A和图1B是根据本公开文本的原理的显示被推荐应用的示例图形用户界面。
图2是示例动作本体的小的子集的图形表示。
图3是表明本公开文本的原理如何用在应用生态系统中的高级功能框图。
图4A示出推荐请求的示例内容。
图4B示出推荐响应的示例内容。
图5是推荐系统的示例实施方式的高级功能框图。
图6是推荐系统的另一示例实施方式的高级功能框图。
图7A是示例推荐记录格式的图形表示。
图7B是另一示例推荐记录格式的图形表示。
图7C是根据图7A的格式的示例推荐记录的图形表示。
图8是推荐系统的高级操作的流程图。
图9A是推荐响应的准备和发送的示例操作的流程图。
图9B是推荐响应的准备和发送的另一示例操作的流程图。
图10是示出推荐系统如何能够与应用搜索系统互操作的一个示例的高级功能框图。
图11是搜索系统的示例实施方式的功能框图。
图12A是示例应用记录格式的图形表示。
图12B是根据图12A的格式的示例应用格式记录的图形表示。
图13是搜索系统和推荐系统之间的示例性互操作的流程图。
在附图中,重复使用附图标记来识别相似和/或相同的要素。
具体实施方式
先前的推荐系统基于应用在特定类型内的总体受欢迎度或者来自其他用户(诸如,根据社交网络一个或两个分离度内的用户)的数据来简单地推荐应用。与此同时,本公开文本识别目前已经安装在用户设备上的应用可以执行的动作,并且推荐能够执行附加动作和/或改进现有动作的操作的应用。
应用能够允许用户执行各种不同的动作。例如,餐厅预订应用能够允许用户在一个或多个餐厅进行预订。在另一示例中,互联网媒体播放器应用能够允许用户从互联网流式传输数字媒体(例如,歌曲或电影)。单个应用通常允许用户执行不只一个动作。例如,餐厅预订应用除了预订之外还可以允许用户检索餐厅有关的营业信息(诸如,营业时间)和阅读关于餐厅的评论。作为另一示例,互联网媒体播放应用也可以允许用户搜索和发现新音乐用于流式传输。
根据本公开文本的推荐系统可以基于已定义的动作本体。本体(图2示出其示例)可以定义动作的层级树。应用提供的功能能够通过从动作本体选择一个或多个动作来描述。例如,可以将动作“提供餐厅评论”分配到包括餐厅评论的应用。该餐厅评论动作可以与动作本体内的其他餐厅有关的动作(诸如,预订和寻找路线)形成组。在动作本体的另一示例中,可以将面向评论的动作分组在一起。例如,餐厅评论动作和药品供应商评论动作可以分组在一起。
对于另一应用,由于应用允许用户导航到目的地,所以可以将“导航”动作分配到该应用。根据推荐系统的设计,动作本体可以在任何特定区域或多或少细粒化。例如,“导航”可以是单个动作或者可以描述包括“乘车导航”、“步行导航”、“骑车导航”、以及“乘公共交通导航”的动作群组。
作为另外的示例,动作可以包括:寻找到达位置的交通(诸如通过订购汽车服务或出租车),从餐厅订餐,查看食物图片,查看餐厅菜单,搜索业务,阅读业务评论,查找菜谱,交换文本通信,检查库存,查看天气,查看体育比分,播放音乐,播放电影,收听广播电台,录制视频,以及识别商品或服务折扣。
推荐系统开发者(或者其他组织或人员)能够在评论和/或使用应用的同时将动作手动地分配到该应用。开发者可以与一个或多个评论者订立合约从而识别数字分发平台中可用的一些或所有应用的动作。
为了控制成本,在各种实施方式中,动作只被手动分配到满足特定阈值准则的应用。例如,当应用具有超出阈值数量的总下载量或者具有超出不同阈值的下载频率(诸如每个月的下载量)时,才可以评论该应用的动作内容。当应用开发者已经具有满足这些准则的一个应用时,来自该开发者的其他应用也可以由评论者进行分析。
机器学习算法可以分析应用,并且推测该应用能够执行的动作。例如,如下的应用可能是餐厅应用:该应用包括各种状态,其中的状态各自特定于机器学习算法识别为餐厅名称的名称。机器学习算法可以进一步分析应用的用户界面要素,从而确定针对每个餐厅能够采取的动作。
机器学习算法可以用于识别动作的初步集合,然后由人类评论者进行核实。另外,社交反馈可以用于修正来自机器学习算法的干扰。例如,可以征求关于应用是否提供待执行的特定动作的用户反馈。随着时间的推移,用户反馈可以提供利用该应用是否能够真正执行该动作的准确指示。如果用户反馈压倒性地表明动作无法被执行,则机器学习算法可以从针对该应用识别出的动作的列表中移除该动作。
基于与安装在用户设备上的应用对应的动作,推荐系统能够向用户推荐额外的应用。例如,推荐系统能够向用户推荐如下应用,该应用提供其他方式从已安装在用户设备上的应用不可获得的动作。
推荐系统还能够识别用户设备上安装的一个或多个应用已经提供但是由其他应用执行得更好的动作。推荐系统还能够推荐如下的应用,该应用提供推荐系统先前未知的新可用动作。例如,当由于应用提供先前未知的动作而将新动作添加到动作本体时,因为该应用能够提供应用之前未执行的动作,所以推荐系统可以推荐该应用。
推荐系统还能够鼓励用户更新应用来获得附加功能,并且可以因为新版本的应用提供附加功能而推荐用户重新安装先前已卸载的应用。在一些示例中,缺少功能可能导致应用的卸载,而动作的引入将使得应用重新与用户相关。
在图1A中,简单的用户界面示出用户设备(诸如,智能手机104)中的推荐应用显示100。推荐应用显示100可以是用于提供推荐的独立应用的一部分。在其他实施方式中,推荐应用显示100可以显示为另一应用的特征。
在各种实施方式中,系统级或启动器级的软件程序可以在各种时间显示该推荐应用显示100。例如,该推荐应用显示100可以响应于来自推荐系统的推送通知进行显示。此外,在操作系统界面的各个位置(诸如,应用列表),可以存在能够被选择以选择附加应用的图标、按钮或文本链接。对应的文本例如可以是“寻找更多应用”、“获得更多应用”、或者“推荐应用”。选择用户界面要素可以导致显示推荐应用显示100。对于一些操作系统和对于推荐系统的一些特征集合,可以使用根级访问。
可替换地或者另外地,可以通过带外通信向用户提供推荐,诸如利用电子邮件、文本消息、推特消息收发平台的消息等。可以显示基于设备的通知(诸如,在通知栏、通知盒、状态栏等中)或者甚至临时弹出的消息(有时称为吐司(toast))来指示推荐应用的可用性或者推荐特定的应用。
应用(实际上,与应用对应的图标)可以按类别组织到文件夹中。例如,一个文件夹可以关于听音乐,而另一个关于交通。可以根据文件夹的类别来显示相关的推荐应用。例如,推荐的交通应用可以在用户查看交通文件夹时显示。文件夹中的推荐应用的可用性可以通过文本或图标(诸如,加号)来指示。选择该指示可以产生推荐应用列表。
另外,无论在何处显示已安装应用的整个列表(诸如,通过启动器程序或操作系统),都可以通过文本或图标来指示推荐应用的可用性。而且,推荐应用的图标可以显示在整个应用列表中或者在其他的位置,诸如主屏幕或者在文件夹内。可以图形化地指示出应用是被推荐的并且实际上未安装的事实,诸如通过使得图标重像(提高透明度和/或转换到灰阶)。
推荐应用还可以显示在数字分发平台应用中,诸如用于访问谷歌播放分发平台的应用。例如,可以添加带有设备特定推荐的选项卡。可替换地,在数字分发平台内搜索和浏览应用可以使得推荐应用进行显示,并且可以将推荐调整到用户进行浏览或搜索的分发平台的区域。
对于任何单独安装的应用,可以识别推荐应用。推荐应用可以执行与已安装应用相比更多或者不同的动作,或者可能更好地执行多个动作中的一个动作。已安装应用的推荐应用的可用性可以通过视觉提示来指示,该视觉提示位于已安装的应用内或者与用于访问该应用(诸如,从启动器或主屏幕)的图标或微件相关联。例如,诸如宝石的小图形可以覆盖在图标的一部分之上从而指示推荐应用能够使用。访问该推荐应用可以通过按下并且保持图标或通过触摸宝石来完成。
在推荐应用显示100的第一部分中,显示出针对称为“驾驶方向”动作的应用。例如,在112-1、112-2和112-3处显示推荐应用。推荐应用112可以与对应的文本以及图标一起显示。推荐应用显示100的第二部分116表明尝试称为“电影评论”的动作的替换应用,其中该动作可能已经从已安装的应用中可使用。在120-1和120-2处,示出示例电影评论应用。推荐应用显示100的第三部分124包括称为“餐厅评论”的动作的推荐应用128-1。
如箭头132所示,垂直滚动可以允许用户看到另外的应用,诸如针对餐厅评论的附加评论应用。每个动作可以与诸如“X”134的用户界面要素相关联,从而指示用户对于接收与该动作相关的推荐不感兴趣。另外,诸如“X”136的用户界面要素可以表示用户对于特定的应用不感兴趣。在140处图形示出手(与一般的人手相比被最小化以避免遮挡更多的附图)。手140的位置表明用户界面要素136的选择(诸如,通过手指触碰),从而指示用户对于应用“电影服务大全(Movies by Flixster)”不感兴趣。
在图1B中,在诸如智能手机154的用户设备中示出推荐应用显示150。在第一部分158中示出针对“驾驶方向”的推荐应用。每个应用可以包括图标以及文本。文本可以包括应用的标题、应用的评论、应用的描述等。
如交叉箭头162所示,垂直以及水平滚动可以允许显示附加的动作,以及针对给定的动作显示附加的推荐应用。例如,最小化的手166可以指示推荐应用显示150的第二部分170已经滑动到左侧。因此,部分遮挡最左边的应用(IMDb电影&TV),而现在完全显示出最右边的应用(Fandango,凡丹戈)。而且,用户界面要素可以允许用户表示对于特定动作或特定应用不感兴趣。
在图1A或图1B中选择多个应用中的一个应用(诸如,通过点击或敲击应用的不是X用户界面要素的任何部分)可以引起关于该应用的附加信息或者可以直接引起针对该应用的访问机制。例如,访问机制可以是在数字分发平台内针对该应用的直接链接。
在图2中,示例动作本体具有根节点204和两个样本分支节点:视频208-1和餐厅208-2。餐厅分支节点208-2是叶节点导航212-1、评论212-2、营业信息212-3、以及预订212-4的母节点。
视频分支节点208-1可以是购买视频分支节点216-1和租借视频分支节点216-2的母节点。如图2中所示,动作本体的叶节点可以位于不同深度(从根节点204的跳行次数)。例如,视频分支节点208-1可以是购票220-1和放映时间220-2的母节点。同时,购买视频分支节点216-1可以是下载动作224-1和流传输动作224-2的母节点。相似地,租借分支节点216-2可以包括分别针对下载和流传输的叶节点228-1和228-2。
如上所述,能够以多个方式来定义动作本体。仅作为示例,下载节点224-1和228-1可以替代地被组合为具有购买下载和租借下载叶节点的“下载”分支节点。类似地,流传输节点224-2和228-2可以替代地被组合为具有购买流传输和租借流传输作为叶节点的共用分支节点。
此外,粒度级别可以根据推荐系统的需要而改变。例如,推荐系统可能不需要在216-2处为视频租赁针对下载和流传输之间的区别,因此可以使得出租节点216-2成为叶节点并消除节点228-1和228-2。例如,这可以在允许用户下载租赁的每个应用也允许用户流传输租赁时完成。这种合并也可以在允许用户进行租赁的应用的数量很小以致不需要细分时完成。
应用能够执行的每个动作可以从该应用的一个或多个状态进行访问。状态可以是指应用的屏幕,诸如主屏幕或专用于特定餐馆的餐馆评论的屏幕。应用的状态可能与URL(统一资源定位符)相关联。应用的URL可以遵循特定模式,每个模式对应不同的动作。因此,不同URL模式的数量可以指示应用所支持的不同动作的数量下限,并且URL模式的集合可以转化为所支持的动作的集合。
在图3中,示出整个系统的高级总览。用户设备304经由网络312(诸如,互联网)连接到数字分发平台308。用户设备304从数字分配平台308接收应用(在图3中被称为“应用A”)。当由用户设备304执行时,应用A可以呈现用户界面要素316,诸如推荐应用按钮。
当用户界面要素316被启动时,推荐请求被发送到推荐系统320。推荐系统320利用推荐响应来响应用户设备304。推荐响应可以引起如图1A或图1B所示的显示。
数据源324可以提供由推荐系统320使用的源数据。数据源324可以包括来自应用开发者的数据,诸如应用开发者的网站和开发者提供的数据馈送。数据源324可以包括数字分发平台,诸如数字分发平台308。数据源324还可以包括其他的网站,诸如博客、应用评论网站以及社交网络站点。数据源324可以包括与电影、电视节目、音乐、餐厅、位置等有关的数据的线上数据库。
每个数据源324可以具有独立的数据结构,并且可以以不同速率更新。因此,推荐系统320可以以不同的速率根据数据结构324进行更新。另外,遍及数据源324,数据的可信度和准确度可以不同,这可以用于根据提供数据的数据源324将数据进行不同地加权。
在图4A中,示出示例推荐请求404。推荐请求404可以利用推荐系统的公钥进行加密。这将允许推荐系统,而不是未拥有私钥的人,来解密该推荐请求404。
推荐请求404可以包括已安装应用404-1的列表。已安装应用404-1可以包括所有已安装应用的穷举列表,或者可以包括接近已安装应用的缩小表示。仅作为示例,可以使用布隆过滤器(Bloom filter)表示。布隆过滤器指定来自预定义的应用集合的应用是否可能安装在设备上或者肯定未被安装。换言之,为了实现压缩,布隆过滤器的输出并不肯定地说明特定的应用存在;布隆过滤器输出只肯定地说明特定应用是否不存在。
使用数据404-2指示已安装应用的使用。例如,用户设备上的行为监视器可以是独立的应用,或者可以合并到操作系统、搜索应用、网络浏览器、和/或本机应用。行为监视器能够监视用户设备的使用来收集使用数据。例如,行为监视器可以作为后台处理来执行。
例如,行为监视器可以在每次应用被唤醒时进行记录,并且记录用户在切换到另一应用之前花费多长时间与该应用接洽。行为监视器还可以确定用户花费时间在何种应用状态。每个应用状态可以对应于特定的动作。因此,行为监视器可能能够辨别用户在使用特定应用时对于哪些动作感兴趣。
行为监视器可以存储该使用数据并且提供其作为推荐请求404的一部分。仅作为示例,作为使用数据404-2的一部分所提供的统计数据可以包括使用应用的频率(诸如,每月的次数)以及用户花费在应用中的时间与在整个用户设备上相比的百分比。因此使用数据404-2可以用于识别哪个动作和应用是用户最感兴趣的。
推荐请求404可以包括设备信息404-3,其可以包括:设备的操作系统和操作系统版本号、设备的地理位置数据、生成该推荐请求404的应用的标识、该应用的应用开发者的标识、设备的屏幕分辨率、设备的朝向(纵向或横向)、传感器能力(诸如,加速度计的位置或心率传感器的存在)等。设备信息404-3可以是用于防止推荐的应用与用户设备的屏幕分辨率或操作系统版本不兼容或不理想。
如图4B所示,示例推荐响应420包括应用列表424-1。例如,应用列表424-1可以包括字符串数组,每个字符串存储应用名称。数组的顺序可以是从最相关到最不相关。可以根据用户设备的分辨率来选择应用列表424-1中提供的应用数量。例如,具有更大屏幕和/或更高分辨率的设备可以接收更多数量的应用。
图像字段424-2可以包括应用列表424-1中的每个应用的编码图像。图像可以显示在应用名称旁边,以便直观地标识这些应用。应用访问机制424-3可以包括数字分发平台的链接从而下载用于安装的应用。在各种实现中,推荐的应用可以是基于网络并且运行在用户设备上的浏览器内。这种应用的访问机制可能包括由浏览器打开的URL。
附加的元数据424-4可以包括每个应用的星级评定、每个应用的文本描述、评论文本和度量(诸如评论的数量)以及每个应用能够进行的动作的列表。动作列表可能包括每个应用能够进行的所有动作,或者仅包含每个应用能够进行的已经安装在用户设备上的应用不提供的动作列表。在其他实现中,动作列表可以列出每个应用最适合的动作。
在图5中,推荐系统500的示例实施方式的框图包括查询模块504,其接收推荐请求并向集合生成模块508提供来自推荐请求的数据。集合生成模块508从推荐数据存储器512中识别推荐记录的考虑集合。推荐数据存储器512包括诸如图7A至图7C中描述的记录。
记录生成模块516产生记录,包括利用这些应用能够执行的动作来标记应用。记录生成模块516可以允许手动将动作分配给应用从而在推荐数据存储器572中创建记录。另外,记录生成模块516可以实现如上所述的机器学习算法,以利用相应的动作来自动地标记应用。记录生成模块516可以允许推荐系统500的开发者更新所指定的动作本体。
应用的考虑集合由集合处理模块520来处理。集合处理模块520可以对于考虑集合的每个记录打分,其中得分可以基于推荐请求中的要素。将得分最高的搜索结果以及其他对应的得分提供给结果生成模块524。
打分还可以称为排序,并且可以包括过滤(从考虑集合移除应用,这可以通过将得分设置为诸如零的最小值来完成)。打分可以基于应用受欢迎度(下载量、平均评级、前一个月的下载量),应用的当前版本有多新,以及应用质量得分(这基于应用更新的频率,以及平均用户评论是否随着每个新版本而增加或减少)。
打分还可以基于考虑集合中的应用所提供的动作与用户设备上已经可使用的动作配合的程度。例如,当动作本体中相同母节点之下的多个叶节点已经在用户设备上能够使用时,集合处理模块520可以将较高得分分配给提供相同母节点之下的剩余动作的那些应用。以图2为例,如果用户设备上安装的应用允许动作212-2(餐厅评论)和212-3(营业信息),那么母节点208-1(餐厅)之下的其他动作可以有助于较高的得分。也就是说,允许餐厅导航212-1和/或餐厅预订212-4的应用可以接收较高的得分。
集合处理模块520可以过滤出如推荐请求所指示的已经安装在用户设备上的应用。此外,集合处理模块520可以过滤出与推荐请求中所指定的诸如操作系统版本和分辨率的属性不兼容的应用。此外,集合处理模块520可以基于应用对于用户设备的地理位置的地理相关性来过滤出或者改变应用的排序。
结果生成模块524准备包括高得分结果的推荐响应,其中与每个结果相关联的数据可以包括文本、图标以及一个或多个访问机制。结果生成模块524将所准备的推荐响应发送到推荐请求的发送者。
在图6中,推荐系统550的另一示例实施方式包括在用户数据存储器558中创建记录的监视器模块554。监视器模块554可以在用户数据存储器558中记录来自用户设备的反馈,该反馈包括用户设备内的动作和应用的使用数据。监视器模块554还可以在用户数据存储器558中跟踪哪些应用安装在用户设备上,因此能够确定应用何时已经从用户设备卸载。
集合生成模块562、集合处理模块566以及结果生成模块570可以与图5中的集合生成模块508、集合处理模块520以及结果生成模块524类似地起作用。集合生成模块562可以考虑用户是否已经指示对于特定的动作和/或应用不感兴趣。可以将这些应用从考虑集合中过滤处理;此外,也可以从考虑集合过滤出仅执行用户不感兴趣的动作的应用。
集合处理模块566可以分配较高的得分给不执行用户强烈反对的任何动作的结果。集合处理模块566还可以提高在使用数据指示用户更频繁地执行那些动作的情况下执行该动作的应用的分数。结果生成模块570可以根据用户先前是否指示对于应用或动作缺乏兴趣而将结果进行不同地排序。
例如,在用户指示动作不感兴趣的第一实例之后,结果生成模块570可以向具有该动作的推荐应用施加一定量的透明度。在用户不感兴趣的第二个指示之后,与该动作对应的推荐结果可以被一起移除。不感兴趣的用户指示的单个实例通常可能不被解释为对于动作的完全和永久的不感兴趣。相反,用户可能仅仅在当时表示不感兴趣,或者可能无意中启动与不感兴趣相关的用户界面要素。因此,结果生成模块570可以在视觉上指示已确认的用户先前选择,而不排除向用户呈现有价值的推荐的可能性。
如图7A所示,推荐记录600的示例格式包括应用名称604-1、应用标识符(ID)604-2、动作列表604-3和应用属性604-4。推荐记录600通常表示能够存储在推荐数据存储器512中用于特定应用的数据。推荐数据存储器512可以包括具有图7A所指定的结构的数千或数百万个记录。
应用ID 604-2唯一地识别推荐数据存储器512内的应用。在各种实施方式中,应用ID 604-2可以在应用的所有版本(version)中以及在该应用的所有版次(edition)上相同。从这个意义上说,版本是指应用针对不同操作系统(诸如,苹果公司的IOS操作系统和谷歌公司的安卓操作系统)的版本,以及该应用的基于网络的版本。
应用ID可以由推荐系统本身分配,并且可以独立于由例如数字分发平台分配的任何ID。动作列表604-3指示能够由应用执行的来自动作本体的动作。在各种实施方式中,针对应用的每个版本和每个版次可以存在单独的推荐记录。通过这种方式,动作列表604-3可以特定于应用的指定版次和版本。
应用属性604-4可以包括能够与由应用ID 604-2指定的应用相关联的任何类型的数据。例如,应用属性604-4可以包括:应用开发者的姓名、应用的发行者、应用的类别(也称为类型)、应用的文本描述(可以从开发人员接收)、应用的版本号、应用的操作系统要求以及应用的价格。
应用属性604-4还可以包括关于应用的安全和隐私数据、应用的电池使用以及应用的带宽使用。应用属性604-4还可以包括应用统计,诸如下载总量、每月下载量、数字评分的总数、文本评论的总数、针对最新版本的应用的评分和评论的数量等。应用属性604-4还可以包括与应用相关的数字媒体,例如图标和屏幕快照。
应用属性604-4可以包括应用的地理相关性。例如,地理相关性可以指定应用最相关的地理区域。应用属性604-4可以指定相关性的阶梯式系统,一个地理区域指示应用相关性最高的位置,第二地理区域指示应用相关性稍低的位置,而第三地理区域指示应用具有一些相关性的位置。应用可以在这些区域之外具有很少相关性或没有相关性。
地理区域可以以各种方式来指定,诸如通过GPS坐标、邮政编码、移动电话塔覆盖区域、Wi-Fi接入点覆盖区域等。仅作为示例,地理区域可以通过中心点和半径或者通过定义多边形的边缘来进行指定。在各种实施方式中,地理区域可以包括两个或更多个不连续的区域。
在图7B中,应用记录620的另一示例格式包括应用名称624-1、应用ID624-2、动作列表的数组624-3以及应用属性624-4。当推荐记录620适用于应用的多个版本(其也可以包含应用的多个版次)时,数组624-3可以包括针对应用的每个版本的分开动作列表。虽然指定了数组数据结构,也能使用可以更有效存储的其他数据结构。
在图7C中,名称为“Yelp”644-1的应用的示例推荐记录640具有虚构ID3FF8D407644-2。动作列表644-3指示YELP应用能够执行来自动作本体的如下动作:名为餐厅评论(rest_reviews)、餐厅导航方向(rest_navigation)、餐厅营业信息(rest_businfo)、以及餐厅预订(rest_reservs)。虽然在本示例中使用人类可读的缩写来显示动作,但是真实的推荐记录可以包括十六进制或比特字段的表示,这些表示更紧凑地描述适用于该应用的动作本体的节点。应用属性的示例显示在644-4,并且包括应用的开发者、评论、评级、类型、下载量、地理相关性、设备信息以及访问机制。
在图8中,流程图包含根据本公开文本的推荐系统的各个方面。控制开始于704,其中如果接收到推荐请求,则控制转移到708;否则,控制转移到712。在708,控制准备并且发送针对推荐请求的推荐响应。这可以根据图9A或图9B来执行。控制然后在712处继续。
在712,控制确定新动作是否已经添加到推荐数据存储器。如果是,控制转移到716;否则,控制转移到720。在716,先前不可使用的新动作现在能够是可使用的。这可以意味着动作本体的叶节点先前未被映射到任何应用。在其他情况下,动作可能已被添加到动作本体中,专门用于此应用的新功能。
在716处,控制识别用户设备,该用户设备被订阅关于新动作的更新。用户设备可以在访问推荐系统时自动订阅。用户设备的用户能够简单地取消订阅不感兴趣的任何推荐,或者可以从推荐系统更新中完全取消订阅。在724处,控制将通知推送给订阅更新的用户设备。这些推送通知可以通过用户设备上的应用或后台进程,或者可以使用其他分发机制,诸如电子邮件或推特(TWITTER)收发消息平台的消息。控制然后在720处继续。
在720处,控制确定用户设备是否已经进入新的地理区域。如果是,控制转移到728;否则,控制转移到732。在728处,控制从已安装的应用中识别用户设备可用的动作,并在736处继续。在736处,控制对于如下的应用进行识别,这些应用虽然与新的地理区域更相关但是提供一个或多个可用动作。在740处,控制基于具有较大地理相关性的应用,将通知推送到用户设备。控制然后在732处继续。
在732处,控制确定先前已经从用户设备卸载的应用是否具有新添加的功能。如果是,控制转移到744;否则,控制转移到748。在744处,控制识别出订阅更新的用户设备,并且在752处,控制向那些用户设备推送通知。如上所述,通知可以采取多种形式。一旦通知被推出到用户设备,控制转移到748。
在748处,如果已安装应用的新版本具有新功能,则控制转移到756;否则,控制返回到704。在756处,控制确定作为新动作的主体的已安装应用是否在用户设备上至少持续预定时期没有更新。如果应用在这段时期内没有更新,控制转移到760;否则,控制返回到704。在760处,控制将应用更新的通知推送到用户设备,从而鼓励用户更新应用以接收附加功能。控制然后返回到704。
在图9A中,示出准备和发送推荐响应的示例操作,其可能已经如图8调用。控制开始于804,其中从安装在用户设备上的应用中识别可用动作集合。在808处,控制选择与可用动作互斥的不可用动作集合。在一些实施方式中,不可用动作可以是从已安装应用不可使用的任何其他动作。
在812处,控制确定应用的考虑集合,其中的每个应用提供不可用动作中的至少一个不可用动作。在816处,向考虑集合内的每个应用分配得分。在820处,控制选择考虑集合中得分最高的应用。在824处,控制准备响应,该响应基于所选择的应用,并且包括每个所选择的应用的应用标识、元数据(诸如描述、评级以及图标)以及访问机制(诸如,下载链接)。在828处,控制发送响应,控制结束。
在图9B中,呈现基于用户数据来准备和发送推荐响应的替换控制。控制开始于904,其中控制基于推荐请求所指定的已安装应用来更新用户记录。在908处,控制确定先前已安装的应用现在是否消失。如果是,控制转移到912;否则,控制转移到916。在912处,控制将先前安装的应用记录为针对用户设备卸载。控制在916处继续。
在916处,与图9A的804类似,控制从已安装应用识别可用动作集合。在920处,与图9A的808类似,控制选择可用动作集合。在924处,与图9A的812类似,控制确定提供一个或多个不可用动作的应用的考虑集合。分别在图9A和图9B的812和924两者中,控制可以从考虑集合移除该设备上已经安装的应用。
在928处,当这些应用已被卸载时,控制选择性地从考虑集合中移除应用。在各种实施方式中,响应于已卸载应用从卸载的时间起已经补充附加特征,可以跳过应用的移除。
在932处,控制对于考虑集合中的每个应用进行打分。对于应用进行打分可以基于用户数据,例如特定动作的使用数据。例如,提供用户频繁使用的动作的应用可以会增加其分数。在936处,控制选择考虑集合中得分最高的应用。在940处,控制利用针对所选择应用的信息来准备响应。在944处,控制发送准备好的推荐响应,并且控制结束。
在图10中,推荐系统320与搜索系统1000集成。从数字分发平台308下载诸如“应用B”的应用到用户设备304。应用B具有从搜索系统1000搜索应用的用户界面要素1002。仅作为示例,文本框(未示出)可以允许应用B的用户输入文本查询,并且用户界面要素1002以查询封装的形式将文本查询发送到搜索系统1000。
如图10所示,搜索系统1000然后向推荐系统320发送推荐请求并接收推荐响应。搜索系统1000可以包括从相似或相同的数据源324填充的数据存储器。
在图11中,应用搜索模块700的示例实施方式包括查询分析模块1004,其接收查询封装。查询分析模块1004分析来自查询封装的文本查询。例如,查询分析模块1004可以对于查询文本进行令牌化,过滤查询文本,执行词干处理,同义词处理以及停止词删除。查询分析模块1004还可以分析存储在查询封装内的附加数据。查询令牌由查询分析模块1004提供给集合生成模块1008。
查询分析模块1004还可以向推荐系统500发送推荐请求。集合生成模块1008基于查询令牌来识别应用记录的考虑集合。应用数据存储器1010的记录的一些或全部内容可以在倒排索引中进行索引。在一些实施方式中,集合生成模块1008使用阿帕奇(Apache)软件基金会的APACHE LUCENE软件库来识别来自倒排索引的记录。
集合生成模块1008可以搜索倒排索引来识别包含一个或多个查询令牌的记录。当集合生成模块1008识别匹配记录时,集合生成模块1008能够将每个识别出的记录的唯一ID包括在考虑集合中。此外,在一些实施方式中,集合生成模块1008可以确定记录相对于该搜索查询的初始得分。初始得分可以指示记录的内容与查询令牌匹配的程度。例如,初始得分可以是相应查询项的项频率-逆文档频率(TF-IDF)值。
集合处理模块1012从集合生成模块1008接收唯一ID,并且还从推荐系统500接收推荐应用的ID。换言之,可以简单地包括推荐应用作为考虑集合的一部分。在其他实施方式中,推荐应用可以保持特殊的状态,使得接收结果中可以包括一些数量的推荐应用,而不管推荐应用的相对得分。
发送到推荐系统500的推荐请求可以指示被搜索的应用的种类,这可以改变推荐应用的集合。可替换地,推荐请求可以简单地识别用户设备上已安装应用的列表,并且推荐响应然后可以独立于用户所请求的应用搜索而生成。通过这种方式,即使用户搜索另外的区域时也能够做出有价值的推荐。
集合处理模块1012针对一些或者所有ID确定结果得分。结果得分指示应用、给定的查询令牌以及内容参数的相关性,越高的得分指示感知到的相关性越高。例如,查询封装中的其他项目可以用作上下文参数。地理数据可以限制与用户设备的位置不相关的应用的得分(或者简单地全部移除)。查询封装中的黑名单可以使得集合处理模块1012从考虑集合移除与黑名单中的准则相匹配的应用,或者将它们的得分设置为零。
集合处理模块1012可以基于一个或多个评分特征来生成结果得分,诸如记录评分特征、查询评分特征、以及记录-查询评分特征。示例的记录评分特征可以基于与记录相关联的测量,诸如搜索期间该记录被检索的频率和用户选择基于该记录所生成的链接的频率。查询评分特征可以包括但不限于:搜索查询中的字数、搜索查询的受欢迎度、以及搜索查询中词语的期望频率。记录-查询评分特征可以包括如下参数,该参数指示搜索查询的项目与对应的ID所指示的记录的项目匹配的程度。
集合处理模块1012可以包括一个或多个机器学习模型(诸如,受监督的学习模型),其用于接收一个或多个评分特征。该一个或多个机器学习模型可以基于功能ID评分特征、记录评分特征、查询评分特征、以及记录-查询评分特征中的至少一个来生成结果得分。
例如,集合处理模块1012可以将搜索查询与每个ID配对,并且针对每个{查询,ID}对来计算特征向量。特征向量可以包括一个或多个记录评分特征、一个或多个查询评分特征、以及一个或多个记录-查询评分特征。在一些实施方式中,集合处理模块1012在特征向量中将评分特征归一化。集合处理模块1012能够将不相关的特征设置为空值或零。
然后,集合处理模块1012可以将针对应用ID中的一个应用ID的特征向量输入到机器学习回归模型中,以计算该ID的结果分数。在一些示例中,机器学习回归模型可以包括决策树的集合(诸如梯度提升的决策树)。另外或可替换地,机器学习回归模型可以包括逻辑概率公式。在一些实施方式中,机器学习任务能够构建为半监督学习任务,其中少数训练数据标记有人工评分,而其余数据在没有人工标签的情况下使用。
机器学习模型输出ID的结果分数。集合处理模块1012能够计算集合处理模块1012接收的每个ID的结果分数。集合处理模块1012将结果分数与对应的ID相关联,并输出最相关的得分的ID。
结果生成模块1016例如通过组合对应的应用的文本和图像指示以及诸如下载链接的访问机制,根据最相关的得分的ID建立搜索响应。在各种实施方式中,结果生成模块1016可以选择预定数量的推荐应用用于包括在搜索响应中。这些推荐的应用可以被识别为推荐的而不是搜索派生的。
在图12A中,应用记录1100的示例格式包括应用名称1104-1、应用标识符(ID)1104-2和应用属性1104-3。应用记录1100通常表示可以存储在应用数据存储器1010中用于特定应用的数据。应用数据存储器1010可以包括具有应用记录1100所指定的结构的数千或数百万个记录。应用ID 1104-2唯一地识别应用数据存储器1010中的应用。应用ID 1104-2可以由搜索系统1000来分配,并且因此可以独立于由例如数字分发平台分配的任何ID。
应用ID 1104-2的单个值可以涵盖多个应用版次。如上所述,术语“版次”可以适用于单个应用的多个版本,也适用于针对替代的操作系统发布的该应用的版本。仅作为示例,愤怒的小鸟(如图12B所示)可以在安卓和IOS操作系统平台上使用,并且对于每个平台,因为发布错误修复,并且随着对于应用进行更新从而利用并适应操作系统的较新版本,每个平台都可以具有一系列版本。
在图12B中,示例应用记录1120包括“愤怒的小鸟”的名称1124-1和以十六进制表示为0x3FF8D407的唯一ID 1124-2。“愤怒的小鸟”应用的属性1124-3可以包括愤怒的小鸟的开发者的名称(罗维奥游戏公司,Rovio Entertainment Ltd.)、愤怒的小鸟的文本评论、“愤怒的小鸟”的类型指示(诸如“游戏”或者子类型“基于物理的游戏”)、“愤怒的小鸟”的评级(例如星级评分)、文本描述(可以由开发者提供)、下载量(其可能限制到最近的版本或可能针对所有版本)、访问机制(如何在已经安装的情况下打开“愤怒的小鸟”、或者尚未安装时如何安装“愤怒的小鸟”)以及设备信息(例如,最佳操作的分辨率、硬件以及操作系统的最低要求)。
在图13中,示出搜索系统与推荐系统之间的交互。控制开始于1204,其中如果接收到搜索查询,则控制转移到1208;否则,控制保持在1204。在1208处,控制开始处理该搜索查询,并且将推荐请求发送到推荐系统。在1212处,控制从推荐系统接收响应,并且在1216处,控制在搜索考虑集合中并入来自推荐响应的推荐应用。
在1220处,控制确定搜索考虑集合中的应用的搜索系统得分。在1224处,控制选择预定数量的得分最高的推荐应用,用于包括在搜索结果中。在1228处,控制对于搜索查询进行响应。控制然后返回到1204。
上述描述本质上只是说明性的,并不旨在限制本公开文本、其用途或使用。本公开文本的广泛教导能够以各种形式进行实施。因此,虽然本公开文本包括特定的示例,但是本公开文本的真实范围不应当因此受限,当研究附图、说明书和下面的权利要求时,其他的变型将变得清楚。如在此所使用,短语A、B和C中的至少一个应当理解为逻辑的(A或B或C),利用异或逻辑,并且不应当理解成意为“至少一个A、至少一个B、以及至少一个C”。应当理解的是,在不改变本公开文本的原理的情况下,方法中的一个或多个步骤可以按照不同的顺序(或同时)执行。
在该申请中,包括以下的定义,术语“模块”或术语“控制器”可以由术语“电路”来代替。术语“模块”是指如下中的部分或者包括:专用集成电路(ASIC);数字、模拟或混合的数字/模拟分立电路;数字、模拟或混合的数字/模拟集成电路;组合逻辑电路;现场可编程门阵列(FPGA);执行代码的(共享、专用或分组的)处理器电路;存储由处理器电路来执行的代码的(共享、专用或分组的)存储器电路;提供所述功能的其他合适的硬件组件;或者以上所有或者一些的组合,诸如系统集成芯片(system-on-chip)。
模块可以包括一个或多个接口电路。在一些示例中,接口电路可以包括连接到局域网(LAN)、因特网、广域网(WAN)或其组合的有线或无线接口。本公开文本的任何给定模块的功能性可以在经由接口电路进行连接的多个模块之中进行分配。例如,多个模块可以允许负载平衡。在另外的示例中,服务器(也称为远程或云)模块可以完成代表客户模块的一些功能性。
术语代码如上所使用,可以包括软件、固件、和/或微代码,并且可以指程序、例程、功能、类、数据结构和/或对象。术语共享处理器电路包含执行来自多个模块的一些或所有代码的单个处理器电路。术语分组处理器电路包含与另外的处理器电路相结合地执行来自一个或多个模块的一些或所有代码的处理器电路。对于多个处理器电路的引用包括分立管芯上的多个处理器电路、单个管芯上的多个处理器电路、单个处理器电路的多个内核、单个处理器电路的多个线程、或者以上的组合。术语共享处理器电路包含存储来自多个模块的一些或所有代码的单个处理器电路。术语分组存储器电路包含与另外的存储器电路相结合地存储来自一个或多个模块的一些或所有代码的存储器电路。
术语存储器电路是术语计算机可读介质的子集。术语计算机可读介质如在此所使用,不包含传播经过介质的瞬态电或电磁信号(诸如,载波);术语计算机可读介质因此可以认为是有形且非易失性的。非瞬态、有形计算机可读介质的非限制性示例是非易失性存储电路(诸如,闪速存储器电路、可擦除可编程只读存储电路、或掩膜只读存储器电路),易失性存储器电路(诸如,静态随机存取存储器电路或动态随机存取存储器电路),磁性存储介质(诸如,模拟或数字的磁盘或硬盘驱动器),以及光存储介质(诸如,CD、DVD或蓝光光盘)。
本申请中所描述的装置和方法可以由专用计算机部分或全部地实现,其中的专用计算机通过配置普通计算机来执行体现在计算机程序中的一个或多个特定功能来创建。上述功能块、流程图要素作为软件规范,其能够通过技术人员或编程人员的常规工作而转译为计算机程序。
计算机程序包括存储在至少一个非易失性、有形的计算机可读介质上的处理器可执行指令。计算机程序也可以包括或者依靠被存储的数据。计算机程序可以包含与专用计算机的硬件进行交互的基本输入/输出系统(BIOS),与专用计算机的特定设备进行交互的设备驱动器,一个或多个操作系统、用户应用、背景服务、背景应用等。
计算机程序可以包括:(i)要解析的描述性文本,诸如HTML(超文本标记语言)或XML(可扩展标记语言),(ii)汇编代码,(iii)由编译器从源代码生成的目标代码,(iv)由解释器执行的源代码,(v)由即时编译器编译和执行的源代码等。仅作为示例,源代码可以使用来自包括C、C++、C#、Objective-C、Haskell、Go、SQL、R、Lisp、Fortran、Perl、Pascal、Curl、OCaml、HTML5、Ada、ASP(活动服务器页面)、PHP、Scala、Eiffel、Smalltalk、Erlang、Ruby、Visual Lua和等语言的语法进行编写。
除非使用短语“装置用于”明确引用要素,或者在方法权利要求使用术语“操作用于”或“步骤用于”的情况下,权利要求中引用的要素都不是35U.S.C.§112(f)的含义中的装置加功能要素。
Claims (35)
1.一种系统,包括:
第一数据存储器,其用于存储多个记录,其中所述多个记录中的每个记录:
与移动设备的应用对应;并且
包括元数据,所述元数据用于识别移动设备用户通过使用所述应用能够使用的动作,其中从本体选择所识别的动作;
查询模块,其用于处理与用户设备对应的应用推荐请求,其中所述应用推荐请求包括用于指示所述用户设备上已安装应用的集合的数据;
集合生成模块,其用于
使用所述第一数据存储器,来识别与所述用户设备上已安装应用的集合相关联的可用动作的集合;
选择不可用动作的集合,其中不可用动作的集合与可用动作的集合互斥;以及
确定来自所述第一数据存储器的应用的考虑集合,其中所述考虑集合中的每个应用实现所述不可用动作的集合中的至少一个不可用动作;
集合处理模块,其用于从应用的考虑集合中选择应用的被选择子集;以及
结果生成模块,其用于利用应用推荐响应对于所述应用推荐请求进行响应,其中所述应用推荐响应包括识别所选择的子集中的每个应用的数据。
2.根据权利要求1所述的系统,其中:
对于所述多个记录中的每个记录,所述第一数据存储器包括针对所述应用的访问机制的数据;并且
所述应用推荐响应包括所选择的子集中每个应用的访问机制。
3.根据权利要求2所述的系统,其中,对于所述多个记录中的每个记录,访问机制的数据是数字分发平台内的应用的链接。
4.根据权利要求1所述的系统,其中,所述集合处理模块用于:
确定所述考虑集合中的每个应用的得分;并且
从得分最高应用的考虑集合中选择预定数量的应用作为所选择的子集。
5.根据权利要求4所述的系统,其中应用的得分基于应用的评论和该应用的下载统计数据。
6.根据权利要求4所述的系统,其中应用的得分与用户设备通过使用该应用能够使用的动作的总数成反比。
7.根据权利要求4所述的系统,其中应用的得分与用户设备通过使用该应用能够使用的且不在可用动作集合内的动作数量成正比。
8.根据权利要求1所述的系统,其中所述集合处理模块用于从所选择的子集中排除用户设备上已安装应用的集合。
9.根据权利要求1所述的系统,其中所述集合处理模块用于从所选择的子集中排除已经从用户设备卸载的应用。
10.根据权利要求1所述的系统,其中所述可用动作的集合包括本体内的所有动作,这些动作是用户设备通过使用用户设备上已安装的所有应用集合能够使用的。
11.根据权利要求1所述的系统,其中用户设备上已安装应用的集合包含安装在用户设备上的所有应用。
12.根据权利要求1所述的系统,其中响应于对于在第一数据存储器中没有记录对应的本体的第一动作,将新记录添加到第一数据存储器并且与该第一动作对应,而触发所述应用推荐请求。
13.根据权利要求1所述的系统,其中:
对于所述多个记录中的每个记录,所述第一数据存储器包括关于记录的地理相关性的数据;并且
响应于用户设备从第一地理区域移动到第二地理区域,触发所述应用推荐请求。
14.根据权利要求1所述的系统,还包括监视器模块,所述监视器模块用于,当与第一记录相对应的应用已经从所述用户设备卸载时,响应于所述多个记录中的第一记录的元数据被更新以添加附加动作,生成所述应用推荐请求。
15.根据权利要求1所述的系统,还包括监视器模块,所述监视器模块用于,当(i)与第一记录对应的应用已经从用户设备卸载,和(ii)附加动作在所述可用动作集合之外两者都发生时,响应于所述多个记录中的第一记录的元数据被更新以添加附加动作,生成所述应用推荐请求。
16.根据权利要求1所述的系统,其中对于与所述用户设备上已安装应用集合中的应用对应的所述第一数据存储器的第一记录,响应于元数据被更新以添加附加动作而触发所述应用推荐请求。
17.根据权利要求1所述的系统,其中:
所述第一数据存储器的第一记录与多个版本的第一应用对应;并且
所述系统包括监视器模块,所述监视器模块用于:当(i)新版本的元数据包括来自本体的不包括在先前版本的第一应用中的动作,和(ii)先前版本的第一应用中的一个先前版本第一应用安装在用户设备上两者都发生时,响应于新版本的第一应用被添加到第一记录,生成针对所述用户设备的应用推荐请求。
18.根据权利要求17所述的系统,其中所述监视器模块延迟所述应用推荐请求,直到所述用户设备未能安装新版本的第一应用超过预定的时期。
19.根据权利要求1所述的系统,其中:
所述第一数据存储器的第一记录与第一版本的第一应用对应;并且
所述系统包括监视器模块,其用于:当(i)第二版本的元数据包括来自本体的不包含在第一版本的第一应用中的动作,和(ii)第一版本的第一应用安装在用户设备上两者都发生时,响应于第二版本的第一应用被添加到所述第一数据存储器作为第二记录,生成针对所述用户设备的应用推荐请求。
20.根据权利要求1所述的系统,其中:
将所述本体分组为层级树,其中每个动作是叶节点;并且
所述集合生成模块用于
识别连接到所述可用动作的集合中的多个动作的母节点;以及
选择所识别的母节点的剩余动作作为所述不可用动作的集合。
21.根据权利要求1所述的系统,其中:
将所述本体分组为层级树,其中每个动作是叶节点;并且
所述集合处理模块用于
向应用的考虑集合中的每个应用分配得分;
识别连接到所述可用动作的集合中的多个动作的母节点;
增加实现所识别的母节点的剩余动作的应用的得分;以及
从考虑集合选择得分最高的应用作为被选择的子集。
22.根据权利要求1所述的系统,还包括第二数据存储器,其用于存储多个记录,其中所述多个记录中的每个记录:
与用户设备对应;并且
存储用于识别已经从所述用户设备卸载的应用的数据。
23.根据权利要求1所述的系统,还包括第二数据存储器,其用于存储多个用户记录,其中:
所述多个用户记录中的每个用户记录(i)与用户设备对应,并且(ii)存储用于识别已经被对应用户设备的用户识别为不期望的应用的数据;并且
所述集合处理模块用于根据所述第二数据存储器,从所选择的子集中排除应用。
24.根据权利要求1所述的系统,还包括第二数据存储器,其用于存储多个用户记录,其中:
所述多个用户记录中的每个用户记录(i)与用户设备对应,并且(ii)存储用于识别已经被对应用户设备的用户识别为不期望的动作的数据;并且
所述集合生成模块用于根据第二数据存储器,从不可用动作的集合中移除动作。
25.根据权利要求1所述的系统,其中所述集合生成模块用于将第一应用选择性地包括在应用的考虑集合中,所述第一应用复制来自所述可用动作的集合中的动作。
26.根据权利要求25所述的系统,其中:
所述第一应用使得所述用户设备能够使用本体的第一动作;并且
所述集合生成模块用于,响应于所述用户设备的使用数据指示所述第一动作的使用率高,将所述第一应用包括在应用的考虑集合中。
27.根据权利要求26所述的系统,其中:
所述集合生成模块用于,响应于所述第一动作的使用率超过预定阈值,确定所述第一动作的使用度高;并且
所述预定阈值基于所述可用动作的集合的平均使用率。
28.根据权利要求1所述的系统,其中直接从所述用户设备接收所述应用推荐请求。
29.根据权利要求1所述的系统,其中响应于搜索平台从所述用户设备接收到应用搜索请求,从所述搜索平台接收所述应用推荐请求。
30.根据权利要求29所述的系统,其中所述应用推荐请求包括用于指示推荐应当针对所述应用搜索请求的范围的数据。
31.根据权利要求29所述的系统,其中所述应用推荐响应独立于所述应用搜索请求的范围。
32.根据权利要求1所述的系统,其中:
所述多个记录中的每个记录包括用于描述对应应用的附加元数据;并且
所述附加元数据包括所述对应应用的类型。
33.根据权利要求32所述的系统,其中所述附加元数据包括(i)所述对应应用的用户提供的评论数据,和(ii)所述对应应用的下载统计数据。
34.一种方法,包括:
将多个记录存储在第一数据存储器中,其中所述多个记录中的每个记录:
与移动设备的应用对应;并且
包括元数据,所述元数据识别移动设备用户通过使用所述应用能够使用的动作,其中从本体选择所识别的动作;
处理与用户设备对应的应用推荐请求,其中所述应用推荐请求包括用于指示所述用户设备上已安装应用的集合的数据;
使用所述第一数据存储器,来识别与所述用户设备上已安装应用的集合相关联的可用动作的集合;
选择不可用动作的集合,其中所述不可用动作的集合与所述可用动作的集合互斥;
确定来自所述第一数据存储器的应用的考虑集合,其中所述考虑集合中的每个应用实现所述不可用动作的集合中的至少一个动作;
从应用的考虑集合中选择应用的被选择子集;以及
利用应用推荐响应对于所述应用推荐请求进行响应,其中所述应用推荐响应包括识别所选择的子集中的每个应用的数据。
35.一种非瞬态计算机可读介质,其用于存储处理器可执行的指令,所述指令包括:
将多个记录存储在第一数据存储器中,其中所述多个记录中的每个记录:
与移动设备的应用对应;并且
包括元数据,所述元数据识别移动设备用户通过使用所述应用能够使用的动作,其中从本体选择所识别的动作;
处理与用户设备对应的应用推荐请求,其中所述应用推荐请求包括用于指示所述用户设备上已安装应用的集合的数据;
使用所述第一数据存储器,来识别与所述用户设备上已安装应用的集合相关联的可用动作的集合;
选择不可用动作的集合,其中所述不可用动作的集合与所述可用动作的集合互斥;
确定来自所述第一数据存储器的应用的考虑集合,其中所述考虑集合中的每个应用实现所述不可用动作的集合中的至少一个不可用动作;
从应用的考虑集合中选择应用的被选择子集;以及
利用应用推荐响应对于所述应用推荐请求进行响应,其中所述应用推荐响应包括识别所选择的子集中的每个应用的数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/684,823 | 2015-04-13 | ||
US14/684,823 US20160299977A1 (en) | 2015-04-13 | 2015-04-13 | Action-Based App Recommendation Engine |
PCT/IB2016/052109 WO2016166683A1 (en) | 2015-04-13 | 2016-04-13 | Action-based app recommendation engine |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107787503A true CN107787503A (zh) | 2018-03-09 |
Family
ID=57111784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680031470.1A Withdrawn CN107787503A (zh) | 2015-04-13 | 2016-04-13 | 基于动作的应用推荐引擎 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20160299977A1 (zh) |
EP (1) | EP3283982A4 (zh) |
JP (1) | JP2018516401A (zh) |
KR (1) | KR20170137150A (zh) |
CN (1) | CN107787503A (zh) |
AU (1) | AU2016248004A1 (zh) |
SG (1) | SG11201708428QA (zh) |
WO (1) | WO2016166683A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245108A (zh) * | 2019-07-15 | 2019-09-17 | 北京一流科技有限公司 | 执行体创建系统和执行体创建方法 |
TWI685230B (zh) * | 2018-09-11 | 2020-02-11 | 立新 陳 | 具備行動加值服務之智能網路交換機系統 |
CN112836117A (zh) * | 2019-11-25 | 2021-05-25 | 渊慧科技有限公司 | 具有中间信号的非固定延迟老虎机 |
Families Citing this family (82)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US10255566B2 (en) | 2011-06-03 | 2019-04-09 | Apple Inc. | Generating and processing task items that represent tasks to perform |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
CN103425704B (zh) * | 2012-05-24 | 2017-07-21 | 阿里巴巴集团控股有限公司 | 应用界面提供方法及装置 |
DE112014000709B4 (de) | 2013-02-07 | 2021-12-30 | Apple Inc. | Verfahren und vorrichtung zum betrieb eines sprachtriggers für einen digitalen assistenten |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
EP3937002A1 (en) | 2013-06-09 | 2022-01-12 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
DE112014003653B4 (de) | 2013-08-06 | 2024-04-18 | Apple Inc. | Automatisch aktivierende intelligente Antworten auf der Grundlage von Aktivitäten von entfernt angeordneten Vorrichtungen |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
TWI566107B (zh) | 2014-05-30 | 2017-01-11 | 蘋果公司 | 用於處理多部分語音命令之方法、非暫時性電腦可讀儲存媒體及電子裝置 |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
US10200824B2 (en) | 2015-05-27 | 2019-02-05 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
US9864803B2 (en) * | 2015-07-22 | 2018-01-09 | TCL Research America Inc. | Method and system for multimodal clue based personalized app function recommendation |
WO2017041021A1 (en) * | 2015-09-02 | 2017-03-09 | Seibert Jr Jeffrey H | Software development and distribution platform |
US10331312B2 (en) | 2015-09-08 | 2019-06-25 | Apple Inc. | Intelligent automated assistant in a media environment |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10740384B2 (en) | 2015-09-08 | 2020-08-11 | Apple Inc. | Intelligent automated assistant for media search and playback |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US20170085677A1 (en) * | 2015-09-18 | 2017-03-23 | Quixey, Inc. | Recommending Applications |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
US10319023B2 (en) * | 2016-06-29 | 2019-06-11 | Go Daddy Operating Company, LLC | Universal purchase path that may be optimized for conversion or revenue |
US10070193B2 (en) | 2016-08-26 | 2018-09-04 | Apple Inc. | Universal browse and watch list |
US10904727B2 (en) * | 2016-12-13 | 2021-01-26 | Universal Electronics Inc. | Apparatus, system and method for promoting apps to smart devices |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
DK180048B1 (en) | 2017-05-11 | 2020-02-04 | Apple Inc. | MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION |
DK201770428A1 (en) | 2017-05-12 | 2019-02-18 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK201770411A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | MULTI-MODAL INTERFACES |
US20180336275A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Intelligent automated assistant for media exploration |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
US10817579B2 (en) | 2017-05-16 | 2020-10-27 | Apple Inc. | Determining relevant information based on user interactions |
US20190034548A1 (en) * | 2017-07-26 | 2019-01-31 | International Business Machines Corporation | Selecting a browser to launch a uniform resource locator (url) |
CN107809485A (zh) * | 2017-10-31 | 2018-03-16 | 广州云移信息科技有限公司 | 一种信息推荐方法及终端 |
MY191530A (en) * | 2017-11-20 | 2022-06-29 | Emerico Sdn Bhd | A system for operating an electronic platform |
US11410075B2 (en) * | 2018-01-15 | 2022-08-09 | Microsoft Technology Licensing, Llc | Contextually-aware recommendations for assisting users with task completion |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
DK179822B1 (da) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS |
US11531978B2 (en) * | 2018-09-14 | 2022-12-20 | Khizar Ahmad Khan | Platform for managing mobile applications |
US20210342124A1 (en) * | 2018-09-28 | 2021-11-04 | Element Ai Inc. | Context-based recommendations for robotic process automation design |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US10867338B2 (en) | 2019-01-22 | 2020-12-15 | Capital One Services, Llc | Offering automobile recommendations from generic features learned from natural language inputs |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US11681718B2 (en) * | 2019-03-29 | 2023-06-20 | Apple Inc. | Scoping a system-wide search to a user-specified application |
US10489474B1 (en) | 2019-04-30 | 2019-11-26 | Capital One Services, Llc | Techniques to leverage machine learning for search engine optimization |
US10565639B1 (en) | 2019-05-02 | 2020-02-18 | Capital One Services, Llc | Techniques to facilitate online commerce by leveraging user activity |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
DK201970510A1 (en) | 2019-05-31 | 2021-02-11 | Apple Inc | Voice identification in digital assistant systems |
DK180129B1 (en) * | 2019-05-31 | 2020-06-02 | Apple Inc. | USER ACTIVITY SHORTCUT SUGGESTIONS |
US11468890B2 (en) | 2019-06-01 | 2022-10-11 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
US11232110B2 (en) | 2019-08-23 | 2022-01-25 | Capital One Services, Llc | Natural language keyword tag extraction |
WO2021040766A1 (en) | 2019-08-26 | 2021-03-04 | Acxiom Llc | Primary tagging in a data stream |
US11488406B2 (en) | 2019-09-25 | 2022-11-01 | Apple Inc. | Text detection using global geometry estimators |
US10796355B1 (en) * | 2019-12-27 | 2020-10-06 | Capital One Services, Llc | Personalized car recommendations based on customer web traffic |
US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
US11038934B1 (en) | 2020-05-11 | 2021-06-15 | Apple Inc. | Digital assistant hardware abstraction |
US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
US11490204B2 (en) | 2020-07-20 | 2022-11-01 | Apple Inc. | Multi-device audio adjustment coordination |
US11438683B2 (en) | 2020-07-21 | 2022-09-06 | Apple Inc. | User identification using headphones |
CN117851460A (zh) * | 2022-09-30 | 2024-04-09 | 华为技术有限公司 | 应用程序推荐方法和电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120143791A1 (en) * | 2010-12-02 | 2012-06-07 | Nokia Corporation | Method and apparatus for causing an application recommendation to issue |
US20120150892A1 (en) * | 2009-08-18 | 2012-06-14 | Nec Corporation | Information processing apparatus, information processing system, information processing method, and information processing program |
CN102521754A (zh) * | 2010-10-18 | 2012-06-27 | 微软公司 | 基于能力的应用推荐 |
WO2012154856A1 (en) * | 2011-05-09 | 2012-11-15 | Google Inc. | Identifying applications of interest based on application metadata |
EP2605206A1 (en) * | 2011-12-16 | 2013-06-19 | France Télécom | Method and system to recommend applications from an application market place to an electronic device |
CN103853583A (zh) * | 2012-12-06 | 2014-06-11 | 三星电子株式会社 | 用于提供应用信息的方法及其移动终端 |
CN103907107A (zh) * | 2011-05-27 | 2014-07-02 | Avg技术捷克有限责任公司 | 用于推荐软件应用的系统和方法 |
CN104137138A (zh) * | 2011-12-29 | 2014-11-05 | 三星电子株式会社 | 用于基于应用使用推荐应用的方法、服务器及终端 |
CN104346428A (zh) * | 2013-08-06 | 2015-02-11 | 索尼公司 | 信息处理装置、信息处理方法及程序 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012154838A2 (en) * | 2011-05-09 | 2012-11-15 | Google Inc. | Generating application recommendations based on user installed applications |
US9195721B2 (en) * | 2012-06-04 | 2015-11-24 | Apple Inc. | Mobile device with localized app recommendations |
WO2014063124A1 (en) * | 2012-10-19 | 2014-04-24 | Mcafee, Inc. | Mobile application management |
US9489430B2 (en) * | 2013-05-14 | 2016-11-08 | Google Inc. | System and method for identifying applicable third-party applications to associate with a file |
US20150100268A1 (en) * | 2013-10-03 | 2015-04-09 | Jigabot, Llc | Tracking system apparatus |
US10275505B2 (en) * | 2014-06-24 | 2019-04-30 | Adobe Inc. | In-application conversion of file versions using cloud services |
-
2015
- 2015-04-13 US US14/684,823 patent/US20160299977A1/en not_active Abandoned
-
2016
- 2016-04-13 SG SG11201708428QA patent/SG11201708428QA/en unknown
- 2016-04-13 EP EP16779691.1A patent/EP3283982A4/en not_active Withdrawn
- 2016-04-13 WO PCT/IB2016/052109 patent/WO2016166683A1/en active Application Filing
- 2016-04-13 AU AU2016248004A patent/AU2016248004A1/en not_active Abandoned
- 2016-04-13 JP JP2017553368A patent/JP2018516401A/ja active Pending
- 2016-04-13 CN CN201680031470.1A patent/CN107787503A/zh not_active Withdrawn
- 2016-04-13 KR KR1020177032436A patent/KR20170137150A/ko unknown
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120150892A1 (en) * | 2009-08-18 | 2012-06-14 | Nec Corporation | Information processing apparatus, information processing system, information processing method, and information processing program |
CN102521754A (zh) * | 2010-10-18 | 2012-06-27 | 微软公司 | 基于能力的应用推荐 |
US20120143791A1 (en) * | 2010-12-02 | 2012-06-07 | Nokia Corporation | Method and apparatus for causing an application recommendation to issue |
WO2012154856A1 (en) * | 2011-05-09 | 2012-11-15 | Google Inc. | Identifying applications of interest based on application metadata |
CN103907107A (zh) * | 2011-05-27 | 2014-07-02 | Avg技术捷克有限责任公司 | 用于推荐软件应用的系统和方法 |
EP2605206A1 (en) * | 2011-12-16 | 2013-06-19 | France Télécom | Method and system to recommend applications from an application market place to an electronic device |
CN104137138A (zh) * | 2011-12-29 | 2014-11-05 | 三星电子株式会社 | 用于基于应用使用推荐应用的方法、服务器及终端 |
CN103853583A (zh) * | 2012-12-06 | 2014-06-11 | 三星电子株式会社 | 用于提供应用信息的方法及其移动终端 |
CN104346428A (zh) * | 2013-08-06 | 2015-02-11 | 索尼公司 | 信息处理装置、信息处理方法及程序 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI685230B (zh) * | 2018-09-11 | 2020-02-11 | 立新 陳 | 具備行動加值服務之智能網路交換機系統 |
CN110245108A (zh) * | 2019-07-15 | 2019-09-17 | 北京一流科技有限公司 | 执行体创建系统和执行体创建方法 |
CN112836117A (zh) * | 2019-11-25 | 2021-05-25 | 渊慧科技有限公司 | 具有中间信号的非固定延迟老虎机 |
Also Published As
Publication number | Publication date |
---|---|
JP2018516401A (ja) | 2018-06-21 |
EP3283982A1 (en) | 2018-02-21 |
US20160299977A1 (en) | 2016-10-13 |
AU2016248004A1 (en) | 2017-11-16 |
KR20170137150A (ko) | 2017-12-12 |
EP3283982A4 (en) | 2019-04-03 |
WO2016166683A1 (en) | 2016-10-20 |
SG11201708428QA (en) | 2017-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107787503A (zh) | 基于动作的应用推荐引擎 | |
US11347729B2 (en) | Techniques for reformulating search queries | |
US10310834B2 (en) | Searching and accessing application functionality | |
US10157230B2 (en) | Generating search results based on clustered application states | |
US9766861B2 (en) | State-specific external functionality for software developers | |
CN106471467B (zh) | 可操作的应用的自动发现和检索 | |
US11250099B2 (en) | Web-based social content aggregation and discovery facility | |
US9852448B2 (en) | Identifying gaps in search results | |
US10031725B2 (en) | Entity-based external functionality for software developers | |
US20160171589A1 (en) | Personalized application recommendations | |
JP6911603B2 (ja) | ユーザによって訪問される施設のカテゴリの予測モデルを生成する方法、プログラム、サーバ装置、及び処理装置 | |
CN103930920A (zh) | 在社交网络服务中将内容共享到发现的内容流 | |
US9767204B1 (en) | Category predictions identifying a search frequency | |
US20180052921A1 (en) | Systems, methods, and computer-readable products for track selection | |
US9946794B2 (en) | Accessing special purpose search systems | |
US20160188684A1 (en) | Consolidating Search Results | |
CN105975537A (zh) | 一种应用程序的排序方法及装置 | |
US20170193059A1 (en) | Searching For Applications Based On Application Usage | |
JP2017151867A (ja) | 更新装置、更新方法、及び更新プログラム | |
Dunning et al. | Practical Machine Learning: innovations in recommendation | |
US11625757B1 (en) | Hybrid selection of target for advertisement campaign | |
WO2015167999A1 (en) | Application spam detector | |
KR101682671B1 (ko) | 앱스토어와 타임라인을 연계하여 게시물을 추천하는 서비스 방법 및 시스템 | |
CN105264526B (zh) | 基于垂直的查询选择化 | |
WO2016022461A1 (en) | Systems and methods for dynamic passion identification and updating |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180309 |