CN116700736A - 一种应用推荐算法的确定方法及装置 - Google Patents
一种应用推荐算法的确定方法及装置 Download PDFInfo
- Publication number
- CN116700736A CN116700736A CN202211240933.9A CN202211240933A CN116700736A CN 116700736 A CN116700736 A CN 116700736A CN 202211240933 A CN202211240933 A CN 202211240933A CN 116700736 A CN116700736 A CN 116700736A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- recommendation
- application
- user
- deployed
- 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.)
- Granted
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 510
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000011156 evaluation Methods 0.000 claims abstract description 59
- 238000012549 training Methods 0.000 claims description 54
- 238000012417 linear regression Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004891 communication Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 8
- 238000010606 normalization Methods 0.000 claims description 2
- 230000010365 information processing Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 25
- 239000010410 layer Substances 0.000 description 19
- 238000013461 design Methods 0.000 description 18
- 238000012360 testing method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 7
- 230000004927 fusion Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000007667 floating Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 206010044565 Tremor Diseases 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供一种应用推荐算法的确定方法及装置,应用于信息处理技术领域,该方法中电子设备部署有推荐算法,采集用户对部署的推荐算法整体使用体验的评价,根据预设类型的多维影响因素以及用户的使用反馈训练得到算法模型。这样下次进行算法选型时可以直接采用算法模型根据输入的多维影响因素预测得到用户对未部署的预测算法的评价。从而减少算法选型的成本和周期,提高算法选型的效率。
Description
技术领域
本申请涉及信息处理技术领域,尤其涉及一种应用推荐算法的确定方法及装置。
背景技术
当前,电子设备中安装的应用的数量越来越多。为了便于用户从大量应用中快速启动目标应用,目前可以通过推荐算法从大量应用中选择用户可能需要启动的少数推荐应用,以便于用户能从推荐应用中快速选择目标应用。
其中推荐算法的算法选型是推荐算法能够提供给用户高效使用体验的关键因素。平台会先选取一部分测试用户提前体验多种推荐算法。然后平台根据测试用户的使用反馈来选择更优的推荐算法进行发布。例如,平台想在应用推荐算法A和应用推荐算法B之间选择最优的算法发布,则平台先将应用推荐算法A和应用推荐算法B发布给一部分测试用户,测试用户可提前体验应用推荐算法A/应用推荐算法B。在应用推荐算法A和应用推荐算法B发布一段时间后,平台基于测试用户对应用推荐算法A/应用推荐算法B的反馈结果来确定待发布的是应用推荐算法A还是应用推荐算法B。
然而这种测试方式在每一代推荐算法发布前都需要收集用户的使用反馈,成本高、周期长,因此不利于算法选型。
发明内容
基于此,本申请实施例提供一种应用推荐算法的确定方法及装置,可以根据用户对已部署的推荐算法的使用反馈对尚未部署的推荐算法进行选型,从而减少算法选型的成本和周期,提高算法选型的效率。
第一方面,本申请一种应用推荐算法的确定方法,该方法可应用于服务器或者电子设备。以应用于电子设备为例,电子设备可以获取对部署在电子设备中的至少一个已部署算法的使用反馈信息,其中,使用反馈信息用于表示已部署算法的优劣度。然后电子设备将使用反馈信息作为监督,预设类型的影响因素作为输入样本,以训练得到算法模型。之后,电子设备将多个未部署算法对应的预设类型的影响因素输入算法模型中,输出预测的多个未部署算法的优劣度,并根据预测的优劣度在多个未部署算法中确定待部署的目标应用推荐算法。
本申请中,电子设备根据预设类型的影响因素以及用户对已部署算法的使用反馈来训练算法模型,使得算法模型能够预测获得未部署算法的优劣度。由于电子设备可以在新的应用推荐算法部署之前就获得优劣度,因此减少了将新的应用推荐算法部署之前的测试时间,这样可以大大减少电子设备对新的应用推荐算法选型的时间。故本申请通过减少算法选型的成本和周期提高了对应用推荐算法的选型效率。
在第一方面的另一种可能的设计方式中,使用反馈信息包括一个评分反馈值或一个点击反馈率中的至少一种,其中点击反馈率为用户根据已部署算法确定的推荐结果启动应用程序的次数占应用程序总启动次数的占比。上述预设类型的影响因素包括算法性能指标、算法内存指标、算法功耗指标或算法耗时指标中的至少一种。
该设计方式中,使用反馈信息是一个数值信息,具体的,当使用反馈信息为评分反馈值时,电子设备可以在已部署算法部署一段时间如三十天后,在界面上显示弹窗,提示用户对已部署算法的使用情况进行评价。用户输入的评价可以是“满意”、“不满意”、“基本满意”等,也可以是一个具体的分数值。若输入的是“满意”、“不满意”、“基本满意”,则电子设备可以将用户输入的评价进行数值化处理,获得对应的分值,如满意=5,不满意=1,基本满意=3。通过这种方式电子设备便可获得用户对已部署算法的评分反馈值,相比于填写调查问卷的方式,该设计方式降低了用户填写的已部署算法使用反馈信息的内容复杂度。内容复杂度降低,则用户填写的内容真实值就提高了,因此使用反馈信息对算法选型的参考价值就增加,这样便可提高算法选型的准确度。另一实施例中,使用反馈信息无需用户填写或上报,即电子设备可以采集用户在已部署算法部署的一段时间内对应用程序的点击情况。若用户从已部署算法的推荐结果中点击应用程序的次数的占比要大,则说明已部署算法被用户使用的频率高,那么可以确定已部署算法比较好。反之,若用户从已部署算法的推荐结果中点击应用程序的次数占比要小,则说明已部署算法被用户使用的频率低,那么可以确定已部署算法比较差。由此,电子设备可在无需用户填写或上报使用反馈信息的情况下自动获取用户的点击反馈率,并基于点击反馈率确定用户对已部署算法的使用情况,这样不仅减少了用户填写使用反馈信息的时间,且点击率的数据来源可信度高,因此更有利于算法选型。
在第一方面的另一种可能的设计方式中,上述将使用反馈信息作为监督,预设类型的影响因素作为输入样本,以训练得到算法模型,包括:电子设备对使用反馈信息进行数值化处理,得到反馈值。然后对预设类型的影响因素进行数值化和归一化处理,得到对应预设类型的影响因素的指标。电子设备将所述反馈值作为监督,所述指标作为输入样本,以训练得到所述算法模型。
该设计方式下,电子设备对获取的使用反馈信息和预设类型的影响因素进行处理,以便于提高对算法模型的训练效率。
在第一方面的另一种可能的设计方式中,算法模型包括线性回归模型。上述将所述反馈值作为监督,所述指标作为输入样本,以训练得到所述算法模型,包括:电子设备将反馈值和指标输入线性回归模型中,线性回归模型以反馈值作为监督,以指标作为输入样本训练得到指标对应的评价权重,评价权重用于结合多个输入线性回归模型中的对应影响因素的指标预测获得未部署算法的优劣度。
该设计方式下,电子设备根据反馈值和指标训练线性回归模型,以生成每一项指标对应的评价权重。这样电子设备下次对新的应用推荐算法进行选型时可以直接基于评价权重以及新的应用推荐算法的影响因素预测得到新的预测算法的优劣度。已达到减少电子设备对新的应用推荐算法选型时间的有益效果。采用线性回归模型的建模块,算法可解释性好,因此用于预测推荐算法优劣度能够提高算法选型效率。
在第一方面的另一种可能的设计方式中,已部署算法包括用于进行应用推荐的一组算法,一组算法包括第一已部署算法和第二已部署算法,其中第一已部署算法部署在第一电子设备中,第二已部署算法部署在第二电子设备中,第一电子设备与第二电子设备为不同的电子设备。上述接收电子设备对部署的至少一个已部署算法的使用反馈信息,包括:接收第一电子设备对第一已部署算法的第一使用反馈信息,及第二电子设备对第二已部署算法的第二使用反馈信息,其中,使用反馈信息包括第一使用反馈信息和第二使用反馈信息。
该设计方式下,已部署算法是一组算法,相比于单一的一个算法,采用一组算法能够使训练得到的算法模型的参数的分布更大,也就是说,单一算法所预测得到的参数更接近个体参数,因此以该参数来预测其他类的未部署算法的话,准确率会受到影响。而一组算法适用于更多类型的未部署算法,因此预测其他类的未部署算法的话,准确率更好。第一电子设备与第二电子设备不同的好处在于用户群体更大,这样训练得到的参数拟合了不同用户偏好,因此趋向群体参数,那么使用算法模型预测未部署算法的优劣度时,预测得到的优劣度的准确率就更高。
在第一方面的另一种可能的设计方式中,算法性能指标包括准确率、编辑距离、可解释性的至少一种。算法内存指标包括训练占用内存量、推理占用内存量的至少一种。算法功耗指标包括训练功耗、推理功耗的至少一种。算法耗时指标包括训练耗时、推理耗时的至少一种。
在第一方面的另一种可能的设计方式中,在目标应用推荐算法部署之后,该方法还包括:电子设备根据已部署的目标应用推荐算法显示应用推荐结果,其中应用推荐结果包括至少一个推荐应用标识。电子设备检测到对推荐应用标识的触控操作,从应用推荐结果的显示界面切换至推荐应用标识对应的应用界面。
该设计方式下,电子设备部署从多个未部署算法中确定的目标应用推荐算法,然后显示目标应用推荐算法确定的应用推荐结果。在应用推荐结果准确的情况下,手机便可接收到用户对应用推荐结果中推荐应用标识的触控操作,从而启动推荐应用标识对应的应用程序,显示推荐应用标识对应的应用界面。
在第一方面的另一种可能的设计方式中,上述根据预测的优劣度在多个未部署算法中确定目标应用推荐算法,包括:电子设备对各个未部署算法的优劣度进行排序,然后选取优劣度高的未部署算法作为目标应用推荐算法。
该设计方式下,电子设备将更优的未部署算法作为待部署至电子设备中的算法。更优的未部署算法的综合优劣度高,因此部署至电子设备中后,能够提高用户体验。
第二方面,本申请一种应用推荐算法的确定方法,该方法可应用于服务器或者电子设备。以应用于电子设备为例,电子设备可以获取对部署在电子设备中的至少一个已部署算法的使用反馈信息,其中,使用反馈信息用于表示已部署算法的优劣度。然后电子设备根据使用反馈信息和预设类型的影响因素,生成影响因素对应的评价权重。之后,电子设备采用评价权重和影响因素,预测多个未部署算法的优劣度,并根据预测的优劣度在多个未部署算法中确定目标应用推荐算法,其中,目标应用推荐算法用于部署至该电子设备或其他电子设备。
本申请中,电子设备根据预设类型的影响因素以及用户对已部署算法的使用反馈生成每一项影响因素对应的评价权重。这样电子设备下次对新的应用推荐算法进行选型时可以直接基于评价权重以及新的应用推荐算法的影响因素预测得到新的预测算法的优劣度。由于电子设备可以在新的应用推荐算法部署之前就获得优劣度,因此减少了将新的应用推荐算法部署之前的测试时间,这样可以大大减少电子设备对新的应用推荐算法选型的时间。因此本申请通过减少算法选型的成本和周期提高了对应用推荐算法的选型效率。
第三方面,本申请一种算法模型的训练方法,该训练方法包括:电子设备获取部署在该电子设备和/或其他电子设备中的至少一个已部署算法的使用反馈信息以及预设类型的影响因素,其中,使用反馈信息包括一个评分反馈值或一个点击反馈率中的至少一种,其中点击反馈率为用户根据已部署算法预测的推荐结果启动应用程序的次数占应用程序总启动次数的占比。之后电子设备将使用反馈信息作为监督,影响因素作为输入样本,以训练得到算法模型,其中,算法模型用于预测未部署算法的优劣度。
本申请中,通过对算法模型进行训练以便于算法模型快速输出多个未部署算法的优劣度。那么电子模型根据输出的优劣度进行比较,便可对未部署算法进行选型。如此,提高了算法选型的整体效率,减少了选型周期和成本。
第四方面,本申请实施例提供一种应用推荐算法的确定装置,包括通信模块、存储器和一个或多个处理器,通信模块、存储器与处理器耦合。其中,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令。当计算机指令被处理器执行时,使得确定装置执行如上述第一方面及其任一种可能的设计方式所述的方法或执行第二方面的方法。
第五方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令。当指令在电子设备或服务器上运行时,使得电子设备或服务器执行如上述第一方面及其任一种可能的设计方式所述的方法或执行第二方面的方法。
第六方面,本申请提供一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面及其任一种可能的设计方式所述的方法或执行第二方面的方法。
可以理解地,上述提供的第二方面所述的另一种应用推荐算法的确定方法、第三方面所述的算法模型的训练方法、第四方面所述的应用推荐算法的确定装置,第五方面所述的计算机可读存储介质,第六方面所述的计算机程序产品所能达到的有益效果,可参考第一方面及其任一种可能的设计方式中的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种推荐算法推荐的结果的示意图;
图2为本申请实施例提供的另一种推荐算法推荐的结果的示意图;
图3为本申请实施例提供的一种算法处理系统的示意图;
图4为本申请实施例提供的一种电子设备的硬件结构的示意图;
图5为本申请实施例提供的一种电子设备的软件结构的示意图;
图6为本申请实施例提供的一种应用推荐算法的确定方法的场景示意图;
图7为本申请实施例提供的一种应用推荐算法的确定方法的流程图;
图8为本申请实施例提供的一种推荐算法部署方式的示意图;
图9为本申请实施例提供的一种推荐应用显示方式的示意图;
图10为本申请实施例提供的一种算法选型的示意图。
具体实施方式
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
电子设备可以通过推荐算法为用户启动应用的场景提供便利性。具体的,当电子设备部署推荐算法后,电子设备具备预测用户在接下来一段时间内会打开的推荐应用的能力,电子设备可以将推荐应用提供给用户。若推荐应用中包含用户想要启动的目标应用,则用户可以从推荐应用中快速启动目标应用,不仅操作简单,而且耗时短,因此较为便利。
其中,推荐算法的优劣会影响用户的使用感受。具体的,在推荐算法不好的一种情况下,如推荐算法的准确率低,那么推荐算法无法准确推荐用户想要启动的目标应用,推荐效果不好;在推荐算法不好的另一种情况下,如推荐算法调整的推荐结果的变化度高,则推荐结果会在显示屏上频繁变化,影响观感和用户体验。
下面以采用两种不同推荐算法得到的推荐结果对上述推荐算法的优劣进一步说明。
图1为本申请实施例提供的一种推荐算法推荐的结果的示意图。如图1的(a)所示,用户想打开的目标应用为相机。推荐算法会预测用户启动应用的意图,即预测用户接下来会打开的应用(即生成推荐应用),并将推荐应用显示在屏幕上。如图1的(b)所示,电子设备上显示推荐卡片101,在t1时刻推荐卡片101中包括采用推荐算法推荐的四个推荐应用,从左到右分别是相机,设置,浏览器,微信TM。而t2时刻推荐卡片102包括的推荐应用如图1的(c)所示,更新为支付宝TM,抖音TM,相机,图库。可见虽然推荐卡片102中也能正确显示用户想要打开的目标应用,但“相机”图标被“支付宝TM”图标替代,“设置”图标被“抖音TM”图标替代,“浏览器”图标被“相机”图标替代,“微信TM”图标被“图库”图标替代。也就是说,推荐应用在短时间内的变化度高,引起用户因画面突变产生的不适感,故影响用户观感。
图2为本申请实施例提供的另一种推荐算法推荐的结果的示意图。如图2的(a)所示,用户想在接下来一段时间依次打开相机、图库。同样的推荐算法会预测用户启动应用的意图,即预测用户接下来会打开的应用(即生成推荐应用),并将推荐应用显示在屏幕上。如图2的(b)所示,电子设备上显示推荐卡片201,在t1时刻推荐卡片201中包括采用推荐算法推荐的四个推荐应用,从左到右分别是图库,设置,浏览器,微信TM。可见推荐算法并未将目标应用的图标呈现给用户,因此准确率不高。再如图2的(c)所示,当t2时刻推荐卡片202包括的推荐应用更新为图库,相机,浏览器,微信TM。推荐卡片从图2的(b)到图2的(c)的变化可以看到,虽然推荐算法的准确率不高,但推荐应用的中仅仅是“设置”图标被“相机”图标替代,即图标变化度不大。也就是说这种推荐算法能够通过细微的调整推荐应用,从而给用户更好的观感。
当然除了前述提到的准确率和变化度,其他如召回率、精确度、R2(又称确定系数,或相关系数)、MSE(又称均方误差,Mean Square Error)等因素都可能影响用户的使用感受,因此部署推荐算法前进行算法选型是非常有必要的。
由于影响因素多且复杂,如果将两种推荐算法都分别提供给一部分测试用户提前体验,为了能够清楚比较推荐算法的优劣,比较直观的方式是以问卷的形式采集用户对可能影响推荐算法优劣的影响因素的使用反馈。并为每个影响因素分配权值,以便于计算每种推荐算法的优劣度。然后平台(又称电子设备厂商)选择更优的推荐算法进行发布,以提高用户使用体验。
然而前述问卷的形式需要采集用户对影响推荐算法优劣度的准确率、变化度、召回率、精确度、R2等多项影响因素进行评价,不仅流程繁琐,浪费用户的填写时间。而且由于用户对不同影响因素的敏感程度不同,用户可能无法准确填写自己对每一项影响因素的评价,那么由问卷反馈得到的用户使用体验的真实性会受到影响,进而参考价值就会减小。当参考价值减少,便会影响推荐算法的选型。
由此可见,目前对推荐算法的选型要在部署前进行用户使用体验的测试,即需要一部分测试用户提前体验一段时间的推荐算法并给出较为详细的使用反馈。这种方式不仅周期长、成本高,而且要求用户填写的内容复杂,因此不利于对推荐算法进行选型。一旦影响推荐算法选型,那么也会影响对推荐算法的发布,如产生推荐算法的发布效率低,发布后的用户实际使用体验不好等问题。
为优化推荐算法的选型过程,从而提高推荐算法的发布效率,本申请实施例提供的应用推荐算法的确定方法中,服务器将不同推荐算法部署到电子设备中,采集用户对推荐算法整体使用体验的评价(又称使用反馈信息,下文简称使用反馈)。然后服务器根据预设类型的多维影响因素以及用户的使用反馈得到每一项影响因素的评价权重。这样服务器下次进行算法选型时可以直接基于影响因素以及其对应的评价权重预测得到的新的预测算法的优劣度。如此,服务器根据预测的优劣度对新的预测算法进行算法选型,不仅减少了后续新的预测算法发布前的用户测试时间,还降低了用户填写的推荐算法使用反馈的内容复杂度。
在详细说明本申请实施例提供的应用推荐算法的确定方法之前,先在此介绍该方法的应用场景。
在一些实施例中,应用推荐算法的确定方法可以应用于算法处理系统中。图3为本申请实施例提供的一种算法处理系统。如图3所示,算法处理系统可以包括服务器和一个或多个电子设备。在一些实施例中,该服务器包括模型训练服务器、数据管理服务器、云大数据平台和分析服务器。模型训练服务器可以训练多种推荐算法的模型,并将推荐算法部署到电子设备中。部署一段时间后,采集用户对推荐算法的使用反馈。数据管理服务器可以接收一个或多个电子设备采集并发送的服务反馈,并将其存储至云大数据平台。分析服务器从云大数据平台中获取使用反馈,并根据预设类型的多维影响因素以及使用反馈得到每一项影响因素的评价权重。其中该评价权重可用于对新的预测算法进行算法选型。当模型训练服务器训练了新的推荐算法时,在发布前可通过预设类型的多维影响因素及其对应的评价权重预测得到新的推荐算法的优劣度。分析服务器根据新的推荐算法的优劣度对新的推荐算法进行算法选型。
在另一些实施例中,应用推荐算法的确定方法可以应用于电子设备中,即推荐算法由服务器侧部署转为端侧部署。如服务器将推荐算法(又称未部署算法)以更新包的方式发送给电子设备,电子设备部署推荐算法,然后在电子设备中完成推荐算法的训练、推理、选型等过程。从而使用部署的推荐算法来推荐目标应用。故,下文所涉及的“部署推荐算法”既可以是在服务器侧部署推荐算法,推荐算法发送给电子设备;也可以是端侧就部署有推荐算法。
本申请实施例中,电子设备可以为便携式计算机(如手机)、平板电脑、笔记本电脑、个人计算机(personal computer,PC)、可穿戴电子设备(如智能手表)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备、车载电脑等设备,以下实施例对该电子设备的具体形式不做特殊限制。
电子设备中安装有多个应用程序,应用程序可以显示在电子设备主界面。电子设备中开启推荐应用功能后,电子设备中部署的推荐算法便可显示推荐应用,其中推荐应用是电子设备根据用户启动应用的意图预测得到的应用程序。若推荐应用中包括用户实际想启动的目标应用,则用户可以直接从推荐应用中选取目标应用并启动目标应用。
图4为本申请实施例提供的一种电子设备的硬件结构示意图。如图4所示,以电子设备400是手机为例,手机可以包括处理器410,外部存储器接口420,内部存储器421,通用串行总线(universal serial bus,USB)接口430,充电管理模块440,电源管理模块441,电池442,天线1,天线2,移动通信模块450,无线通信模块460,音频模块470,扬声器470A,受话器470B,麦克风470C,耳机接口470D,传感器模块480,按键490,马达491,指示器492,摄像头493,显示屏494,以及用户标识模块(subscriber identification module,SIM)卡接口495等。
可以理解的是,本实施例示意的结构并不构成对手机的具体限定。在另一些实施例中,手机400可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
电子设备400的软件系统可以采用分层架构、事件驱动架构、微核架构、微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备400的软件结构。
图5为示例性示出的本申请实施例的电子设备400的软件结构框图。
电子设备400的分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层、应用程序框架层、安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图5所示,应用程序包可以包括相机,日历、地图、视频、音乐、短消息、图库、通话、导航等应用程序。
在一些实施例中,上述应用程序层还可以包括未显示在桌面上的系统应用。当开启系统应用的应用推荐功能,系统应用便具备预测用户启动应用意图的能力。系统应用根据部署在电子设备上的预测算法预测用户启动应用的意图,并生成推荐应用供用户选择。
在另一些实施例中,上述应用程序层还可以包括应用推荐,应用推荐对用户输入的行为动作等信息进行意图识别,确定用户在接下来一段时间内可能启动的应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。如图5所示,应用程序框架层可以包括视图系统、资源管理器、窗口管理器及活动管理器等。
其中,视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标、图片、布局文件、视频文件等等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小、判断是否有状态栏、锁定屏幕、截取屏幕等。
活动管理器用于管理各个应用程序的生命周期以及导航回退功能,负责Android的主线程创建,各个应用程序的生命周期的维护。
Android runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓(Android)的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块,例如表面管理器(surface manager)、二维图形引擎以及摄像头库模块等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面结合应用推荐场景,示例性说明电子设备的软件以及硬件的工作流程。
如图6所示,电子设备通过无线通信模块460与服务器进行通信,然后服务器待测试的推荐算法部署到电子设备中。待测试的推荐算法包括:多路召回动态权重算法601和轻量级梯度提升算法(Light Gradient Boosting Machine,又称LightGBM算法)602。其中,一部分电子设备部署多路召回动态权重算法601,一部分电子设备部署LightGBM算法602。电子设备部署待测试的推荐算法后,电子设备的主界面便可显示推荐卡片。其中推荐卡片可以如图1中的推荐卡片101或图2中的推荐卡片201所示。用户能从推荐卡片中快速选择目标应用。当推荐算法部署一段时间后,电子设备采集用户的使用反馈,如图6所示,使用反馈是对推荐算法的评分。用户A对多路召回动态权重算法601的评分为10分,用户B对LightGBM算法的评分为6分。电子设备通过无线通信模块将使用反馈发送给服务器。服务器分析得到每一项影响因素的评价权重。那么服务器对新的推荐算法,如第一推荐算法603和第二推荐算法604进行选型时,就可以基于影响因素和评价权重来预测用户对第一推荐算法603和第二推荐算法604的评价,以便于将评价较优的第一推荐算法603部署到电子设备中。
上述方案中的推荐算法不仅可以用于应用推荐,还可用于如商品推荐、信息推荐等其他业务场景。在一种实现中,可以基于同一业务或相似业务的历史推荐算法的用户使用反馈信息以及预设类型的影响因素,确定每一项影响因素的评价权重。基于评价权重和影响因素便可确定该业务的当前推荐算法的优劣度。
下文中,将结合图7所示的方法流程图,来详细介绍本申请实施例提供的一种应用推荐算法的确定方法。
S701、手机订阅应用推荐服务。
其中,应用推荐服务可以由服务器提供。订阅应用推荐服务后,手机中便具备应用推荐功能,手机可显示应用的推荐结果。推荐结果的数量远小于手机安装的应用的数量。因此,从推荐结果中启动目标应用要比从所有应用程序的显示界面中启动目标应用的耗时更短,即订阅应用推荐服务可以减少用户查找目标应用的时间,为用户快速启动应用提供便利性。
该步骤中,应用推荐服务可以是用户主动订阅后才部署到手机中的。示例性的,在手机首次激活时,应用推荐功能默认关闭。在手机的设置中,提供应用推荐服务的控制开关,控制开关默认可以是关闭状态。用户可通过对控制开关的触发操作(如点击、长按等操作)来启动应用推荐功能。当手机响应于用户对控制开关的触发操作后,手机便可订阅应用推荐服务,即执行S701。当手机执行S701后,手机向服务器发送订阅推荐算法的消息。服务器响应于该消息,便可执行下述S702。
在一些实施例中,S701是可选的,即应用推荐功能默认开启。那么,服务器可直接执行S702,以便于向手机提供应用推荐服务。
S702、服务器将推荐算法发送到手机中,手机部署该推荐算法。
在一些实施例中,S702在S701之前执行。即服务器将推荐算法发送到手机中,手机部署该推荐算法。然后手机再订阅应用推荐服务以开启应用推荐功能。
在该实施例中,手机是否订阅应用推荐服务,服务器都可先将推荐算法部署到手机中,这样当手机需要使用推荐算法时便可通过订阅应用推荐服务开启应用推荐功能。
本步骤中,应用推荐服务所对应的推荐算法可以有多种。一方面,在同一段时间内服务器可以训练多个推荐算法,以便于将最优的推荐算法发布给用户。另一方面,由于信息量与日俱增,同一推荐算法也需要不断迭代版本以便于满足用户需要。基于此,服务器可以为每个推荐算法设置算法标识,以便于确认每个推荐算法的类型。在本申请实施例中,算法的算法标识为算法名称,如多路召回动态权重算法和LightGBM算法表示两种不同类型的推荐算法。需要说明的是,发布是指服务器将推荐算法发送给电子设备,以使得电子设备部署;发布可以是正式的发布也可以是发布之前的测试。
示例性的,以推荐算法为多路召回动态权重算法和LightGBM算法为例。
如图8所示,在图8的(a)中,用户A、用户B、用户C和用户D都订阅了应用推荐服务,然后服务器将多路召回动态权重算法部署到用户A和用户B的手机中,将轻量级梯度提升算法部署到用户C和用户D的手机中。也就是说,每个用户的手机只被部署一个推荐算法,且不同用户的手机被部署的推荐算法可能不同。
当然,服务器也可以将多种推荐算法部署到同一个手机中。如图8的(b)所示,用户E和用户F订阅了应用推荐服务,服务器将多路召回动态权重算法和轻量级梯度提升算法同时部署到用户E的手机中,多路召回动态权重算法和轻量级梯度提升算法可以在用户E的手机中交替运行。或者,服务器先将多路召回动态权重算法部署到用户F的手机中,然后用户F的手机运行多路召回动态权重算法进行应用推荐;一段时间后服务器再用户F的手机中,用户F的手机中部署轻量级梯度提升算法,以轻量级梯度提升算法进行应用推荐。
S703、手机根据推荐算法显示推荐结果,其中,推荐结果包括至少一个推荐应用。
本实施例中,推荐算法可以根据用户使用应用程序的行为数据,来预测用户在接下来一段时间内可能启动的应用程序。
举例而非限制,推荐算法获取用户在每天早上八点时使用应用程序的行为数据,若行为数据包括:打开天气应用。则推荐算法预测用户启动应用的意图为:用户在早上八点可能启动天气应用。因此推荐算法可以在早上八点左右显示天气应用,以便于用户快速启动天气应用。
在一些实施例中,推荐结果可以以推荐卡片的形式在手机的主界面展示。具体的,当检测到用户的返回主界面的操作,手机显示主界面。其中,主界面上可以显示推荐卡片,推荐卡片中包含推荐算法输出的推荐结果。采用推荐卡片的形式使得推荐应用不仅易被关注到,而且占用手机界面的尺寸小,更为美观。
在另一些实施例中,手机响应于用户打开推荐结果的操作,将推荐结果以悬浮窗的形式显示在当前界面。示例性的,以用户敲击手机侧边的操作为打开推荐结果的操作为例,如图9所示,手机显示拍照界面,当用户敲击手机侧边时,在拍照界面显示推荐结果的悬浮窗901,用户点击悬浮窗901内推荐应用的图标,便可启动对应的推荐应用。采用悬浮窗显示推荐应用的方式使用户无需切换至主界面便可直接显示推荐结果,因此更具便利性。
需要说明的是,手机可同时显示的推荐应用的数量可以是一个或者多个。
在一些实施例中,手机显示的推荐应用的数量为一个。手机将推荐度最高的应用程序作为推荐结果输出,若推荐结果准确,则大大提高了用户启动应用的便利性。
在另一些实施例中,手机显示的推荐应用的数量为多个。这样当用户在接下来可能启动的应用程序为推荐应用中的任一个时,用户都可以通过推荐卡片启动应用程序,提高了预测成功几率。另外,推荐应用还可以是手机预测的用户在接下来几次启动应用程序操作下可能打开的应用程序。例如,手机预测用户会打开相机、相册和设置,那么手机可以将相机、相册和设置都作为推荐应用,这样推荐应用的图标不会频繁切换,推荐卡片的内容变化度小,用户观感更好。
在S703之后,用户可以根据使用反馈从推荐算法输出的推荐结果中启动目标应用,或者用户可以不使用应用推荐功能。
在一些实施例中,在推荐算法的推理功耗高的情况下,用户体感上开启应用推荐功能更耗电,因此用户不使用应用推荐功能,而是直接在主界面上启动目标应用。在推荐算法的推理功能低的情况下,用户可以在推荐结果中启动目标应用。
在另一些实施例中,在推荐算法输出的推荐结果的变化度大的情况下,用户不使用应用推荐功能,而是直接在主界面上启动目标应用。在推荐算法的推荐结果的变化度小的情况下,用户可以在推荐结果中启动目标应用。
在另一些实施例中,在推荐算法准确率低的情况下,用户直接在主界面上启动目标应用。在推荐算法准确率高的情况下,用户可以在推荐结果中启动目标应用。在推荐算法的准确率影响用户使用应用推荐功能下,手机执行下述S704-S705。
S704、若推荐应用是目标应用,手机响应于对推荐结果的触控操作,启动目标应用。
S705、若推荐应用不是目标应用,手机响应于对目标应用的触控操作,启动目标应用。
经过上述S704-S705,手机在推荐结果准确的情况下,接收用户对推荐结果的触控操作,手机可从推荐结果的显示界面直接启动目标应用。而在推荐结果不准确的情况下,手机接收用户对主界面中目标应用的触控操作,从而在主界面中启动目标应用。也就是说,推荐算法的优劣度会影响用户的使用反馈,因此用户会根据推荐算法的优劣度选择使用或不使用推荐算法输出的结果。当推荐算法部署一段时间后,用户便可根据对推荐算法的接受程度给出使用反馈,然后手机执行S706,将使用反馈发送给服务器。
S706、手机向服务器发送对推荐算法的使用反馈。
其中,使用反馈可以是显性的反馈数据,例如,使用反馈包括用户对推荐算法的评分反馈。使用反馈还可以是隐性的点击反馈,例如使用反馈包括用户在推荐卡片中点击应用程序的次数占用户启动应用程序总数的占比。
应理解,用户的使用反馈表示用户对于推荐算法的偏好信息。不同于以问卷形式采集用户对可能影响推荐算法优劣的影响因素的使用反馈,本实施例中手机向服务器发送的使用反馈形式更简单,因此用户的配合度高,使用反馈的参考价值大,更有利于算法选型。
相应的,服务器接收手机发送的推荐算法的使用反馈。
S707、服务器根据推荐算法的使用反馈和预设类型的影响因素,生成影响因素对应的评价权重。
如前所述,使用反馈是用户对于推荐算法的偏好信息,使用反馈以一个具体值表示,如评分反馈、点击反馈等。那么根据每种推荐算法的使用反馈便可进行算法选型。以服务器在多路召回动态权重算法和LightGBM算法中选型为例,下表1示例性地示出了用户在2022年9月对推荐结果的评分反馈。
表1
数据编号 | 算法类型 | 评分反馈 |
1 | 多路召回动态权重算法 | 8 |
2 | 多路召回动态权重算法 | 9 |
3 | 多路召回动态权重算法 | 8 |
4 | 多路召回动态权重算法 | 6 |
5 | 多路召回动态权重算法 | 9 |
6 | LightGBM | 8 |
7 | LightGBM | 5 |
8 | LightGBM | 3 |
9 | LightGBM | 8 |
10 | LightGBM | 10 |
为了提高服务器对后续新的算法选型的效率,使用反馈还用于生成影响因素对应的评价权重。具体的服务器收集各个用户对推荐算法的评分反馈,并预设影响评分反馈的影响因素,然后根据评分反馈以及影响因素得到评价权重。需要说明的是,影响因素可以包括多个类型,不同类型的影响因素表示推荐算法在不同方面的优劣度,以多个类型的影响因素来获取评价权重,能够起到全面综合反映推荐算法优劣度的作用。
示例性的,影响因素可以包括算法性能指标,如准确率、编辑距离(又称预测结果稳定性指标)、可解释性等。通过评分反馈可以得到准确率的评价权重、编辑距离的评价权重以及可解释性的评价权重。这样,当服务器对新的推荐算法进行选型时,便可根据影响因素及其评价权重预测得到用户的评分反馈,从而提高算法选型的效率。
本实施例中,准确率又称所有预测准确的结果占总预测结果的占比。例如,预测准确的次数为8次,总预测次数为10次,则准确率为80%。
编辑距离是对两个预测结果的差异程度的量化,其反映推荐结果的变化度。编辑距离可以理解为由一个推荐应用转换为另一个推荐应用所需要的最少编辑操作的次数。当编辑距离大,则说明推荐算法显示第一推荐结果到显示第二推荐结果所需要的编辑操作的次数多,推荐结果变化大,那么用户的观感差;当编辑距离小,说明推荐算法显示第一推荐结果到显示第二推荐结果所需要的编辑操作的次数少,推荐结果变化小,那么用户的观感好。
可解释性用于衡量推荐算法做的决策的透明度。可解释性低,说明推荐算法越难被解释,那么推荐算法透明度低,用户难以理解和接受推荐算法的输出结果,用户对推荐算法的信任度就低。反之,可解释性高,说明推荐算法较容易被解释,那么推荐算法透明度就高,就更易让用户理解和接受推荐算法的输出结果,用户对推荐算法的信任度就高。因此推荐算法的可解释性可以作为衡量推荐算法优劣度的其中一个影响因素。
当然,除上述影响因素外,算法性能指标还可以包括召回率、精确度、R2等,在此不一一解释。
此外,影响因素还可以包括算法资源消耗指标,其中,算法资源消耗指标包括算法内存指标、算法功耗指标或算法耗时指标的至少一种;如算法耗时指标包括训练时长、推理时长;算法内存指标包括训练内存、推理内存;算法功耗指标包括训练功耗、推理功耗等。应理解,若预测优劣度的算法是不需要进行模型训练的算法,如加权融合算法,则训练时长、训练内存、训练功耗不作为影响因素。
其中,训练时长是指推荐算法从训练到训练结束的所需时长。训练结束则说明推荐算法已为后续推理做好准备。因此若训练时长过长,得到的推荐结果的等待时间长,那么用户体验就差。
推理时长是训练完成的推荐算法自接收数据(如前述使用应用程序的行为数据)至输出推荐结果(又称推理结果)的时长。若推理时长长,则同样的,得到推荐结果的等待时间长,那么用户体验就差。
训练内存是指算法训练过程中所占用的内存,若训练内存过大,那么会影响用户使用包含手机在内的电子设备的其他功能,那么用户体验差。推理内存是指算法推理过程中所占用的内存,推理内存过大,同样影响用户使用包含手机在内的电子设备的其他功能,那么用户体验差。
训练功耗是指算法训练过程中所消耗的能耗,推理功耗是指算法推理过程中所消耗的能耗。可以理解的是,训练功耗或推理功耗过大,则包含手机在内的电子设备的用电量就快,那么会影响用户使用电子设备的体验。因此训练功耗和推理功能也可以作为衡量推荐算法优劣度的其中一个影响因素。
下面以影响因素为top8准确率、预测结果稳定性、训练时长、训练占用内存、可解释性、推荐功耗为例介绍本实施例的评价权重计算方式,需要说明的是,top8指推荐算法输出排名前八的推荐应用作为推荐结果。在训练预测推荐算法优劣度的预估模型时以多个类型的影响因素作为输入,能够起到全面综合反映推荐算法优劣度的作用。相比于只以单一类型的影响因素确定推荐算法优劣度,本实施例融合多个类型的影响因素所训练获得的模型具有更准确预测推荐算法优劣度的有益效果。下表2示例性地示出了预估模型的训练数据,其中,预估模型以表2训练数据中的评分反馈(又称使用反馈信息)作为监督,以表2训练数据中的影响因素作为输入样本训练得到,推荐算法优劣度模型训练完成后,便可根据输入的新的推荐算法的影响因素,输出新的推荐算法的优劣度。
表2
需要说明的是,以表2中的数据作为训练数据,采用不同预估算法进行模型训练,得到预估模型。如预估算法可包括线性回归算法、树模型算法、神经网络算法等,其中,树模型算法包括梯度提升树(Gradient Boosting Decision Tree,GBDT)算法,LightGBM算法等。下面采用线性回归算法以表2中的数据作为模型训练数据,从而训练得到预估模型的介绍仅是示例性的,本申请实施例对预估算法的种类不做特殊限制。
为了提高对线性回归模型的训练效率,在表2中对每一项非数值型的影响因素都进行了数值处理,如推荐算法的可解释性是根据可解释的程度得到的分值。为便于计算,还对影响因素进行归一化处理,最终得到七个指标:指标metric1~指标metric7。以数据编号为1的数据为例,该数据指标融合后得到公式(1):
w1*metric1+w2*metric2+w3*metric3+w4*metric4+w5*metric5+w6*metric6+w7*metric7=score(1)
其中w1~w7是影响因素对应的评价权重,metric1~metric7的值分别是92%、86%...0.00095,score是评分反馈,如第一条数据中,score为8。
w1~w7的具体值是由线性回归模型输出得到的,其中线性回归模型以多个评分反馈作为监督,以多个影响因素作为输入样本,经训练得到。经过多次训练,该线性回归模型便可得到评价权重w1~w7的具体值。
例如,w1=0.2,w2=0.2,w3=0.1,w4=0.1,w5=0.2,w6=0.1,w7=0.1。
计算得到的评价权重可用于对新的推荐算法进行选型。具体的,将评分反馈(又称反馈值)和上述指标输入算法模型中,算法模型以反馈值作为监督,以指标作为输入样本训练得到算法模型,其中,算法模型的参数包括所述指标对应的评价权重,评价权重用于结合多个输入算法模型中的对应预设类型的影响因素的指标预测获得新的推荐算法(未部署算法)的优劣度。示例性的,将新的推荐算法的影响因素输入算法模型如线性回归模型中,线性回归模型便可根据评价权重w1~w7以及输入的影响因素,输出新的推荐算法的优劣度,该优劣度可以反映新的推荐算法发布后的优劣度。
相比于服务器预设固定权重来选择较优的推荐算法而言,根据用户的使用反馈以及预设类型的影响因素获取评价权重的方式能够充分反映用户的各个影响因素对用户使用体验的影响。
且,在该实施例中,推荐算法包括两类,分别是多路召回动态权重算法LightGBM算法,相比于单一算法,采用多类算法能够使线性回归模型输出的评价权重的分布更大,以便于评价权重适用更多类型的推荐算法。此外,采集的使用反馈来自于多个用户的电子设备,这样可以使线性回归模型输出的评价权重拟合不同用户偏好,因此趋向群体权重。那么使用评价权重预测新的推荐算法的优劣度时,预测得到的优劣度的准确率就更高。
另外,评价权重还可以根据不同的用户群体进行自动调整,在调整时无需将推荐算法发布出去,只需要从数据中获取历史数据中相关用户群体的使用反馈,并结合预设类型的影响因素,预测针对相关用户群体的评价权重。基于评价权重又可以对新的推荐算法进行预测,那么预测得到的优劣度便是相关用户群体对新的推荐算法的使用反馈。如此,本申请实施例可根据用户的使用反馈自适应调整评价权重,从而预测不同类型用户或不同偏好用户对推荐算法的使用反馈。
值得一提的是,本步骤中,推荐算法的使用反馈可以包括S703中部署的推荐算法的使用反馈,还可以包括历史部署在手机中的推荐算法的使用反馈,还可以包括手机外的多个电子设备对当前部署的推荐算法的使用反馈及历史部署的推荐算法的使用反馈。
示例性的,服务器在手机中部署推荐算法a,手机历史部署有推荐算法b。服务器还在平板中部署推荐算法c,手机历史部署有推荐算法d。前述的推荐算法的使用反馈可以包括推荐算法a、推荐算法b、推荐算法c或推荐算法d中的至少一种推荐算法的使用反馈。
在得到推荐算法的使用反馈后,便可执行S708,关于S708的说明可参考如下所述。
S708、服务器根据评价权重及影响因素,预测新的推荐算法的优劣度。
如前所述,本申请实施例获取的评价权重可用于横向对比多个推荐算法,从而在推荐算法中选择最优的算法并部署到手机中。因此,在得到评价权重后,服务器可基于评价权重生成预测推荐算法优劣度的评价公式(2)。
score=w1*metric1+w2*metric2+w3*metric3+w4*metric4+w5*metric5+w6*metric6+w7*metric7(2)
然后服务器可根据评价公式(2)可在不发布推荐算法的情况下预测得到优劣度,这样能够提高推荐算法的选型效率。
S709、服务器根据预测的优劣度发布目标推荐算法。
其中,目标推荐算法是新的推荐算法中更优的算法。该步骤中,服务器横向对比不同的推荐算法,以便于对推荐算法进行选型。具体的,以服务器将发布新版本的推荐算法为例,如图10所示,服务器在新版本的多路召回动态权重算法和新版本的LightGBM算法中选择更优的推荐算法进行发布。参考图10的(a),若服务器采用A/B测试法将新版本的推荐算法提前发布给一部分测试用户,根据用户的使用反馈进行选型,则需要花费预计一个月的测试时间。参考图10的(b),根据本实施例中预测优劣度的方式,能够快速预测优劣度,基于优劣度可以确定新的推荐算法发布后用户的使用反馈。因此服务器可以根据预测的优劣度在较短时间内完成对预测算法的选型,从而减少算法选型的成本和周期,提高算法选型的效率。
综上所述,本申请实施例提供一种应用推荐算法的确定方法,可以将不同推荐算法部署到电子设备并获取用户对推荐算法的整体使用体验的评价,即用户的使用反馈。然后根据用户的使用反馈以及预设类型的影响因素生成评价权重。通过评价权重对多个影响因素进行加权,可以得到一个对应用户使用反馈的融合指标,该融合指标能够充分反映各个影响因素对用户使用体验的影响。因此采用融合指标预测用户对新的推荐算法的优劣度,不仅更高效,而且预测的结果更全面而准确。故这种方法能够在推荐算法部署至电子设备之前,通过预测用户对推荐算法的优劣度,从而快速在推荐算法中选择较优的推荐算法并部署至电子设备。电子设备部署较优的推荐算法之后,便可使用较优的推荐算法来推荐目标应用。
本申请另一些实施例提供了一种应用推荐算法的确定装置(简称装置),包括电子设备和/或服务器,该电子设备可以包括:上述显示屏(如触摸屏)、存储器和一个或多个处理器。该显示屏、存储器和处理器耦合。该存储器用于存储计算机程序代码,该计算机程序代码包括计算机指令。当处理器执行计算机指令时,电子设备可执行上述方法实施例中手机执行的各个功能或者步骤。该电子设备的结构可以参考图4所示的电子设备400的结构。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当所述计算机指令在上述电子设备上运行时,使得该电子设备执行上述方法实施例中手机执行的各个功能或者步骤。
本申请实施例还提供一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述方法实施例中手机执行的各个功能或者步骤。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种应用推荐算法的确定方法,其特征在于,所述方法包括:
获取电子设备对至少一个已部署算法的使用反馈信息以及预设类型的影响因素,其中,所述使用反馈信息用于表示所述已部署算法的优劣度;
将所述使用反馈信息作为监督,所述预设类型的影响因素作为输入样本,以训练得到算法模型,所述算法模型用于预测未部署算法的优劣度;
将多个所述未部署算法对应的所述预设类型的影响因素输入所述算法模型中,输出预测的多个所述未部署算法的优劣度,所述优劣度用于在多个所述未部署算法中确定待部署的目标应用推荐算法。
2.根据权利要求1所述的方法,其特征在于,所述使用反馈信息包括一个评分反馈值或一个点击反馈率中的至少一种,其中所述点击反馈率为用户根据已部署算法确定的推荐结果启动应用程序的次数占应用程序总启动次数的占比;
所述预设类型的影响因素包括算法性能指标、算法内存指标、算法功耗指标或算法耗时指标中的至少一种。
3.根据权利要求1或2所述的方法,其特征在于,所述将所述使用反馈信息作为监督,所述影响因素作为输入样本,以训练得到算法模型,包括:
对所述使用反馈信息进行数值化处理,得到反馈值;
对预设类型的所述影响因素进行数值化和归一化处理,得到对应所述预设类型的影响因素的指标;
将所述反馈值作为监督,所述指标作为输入样本,以训练得到所述算法模型。
4.根据权利要求3所述的方法,其特征在于,所述算法模型包括线性回归模型;所述将所述反馈值作为监督,所述指标作为输入样本,以训练得到所述算法模型,包括:
将所述反馈值和所述指标输入所述线性回归模型中,所述线性回归模型以所述反馈值作为监督,以所述指标作为输入样本训练得到所述线性回归模型,其中,所述线性回归模型的参数包括所述指标对应的评价权重,所述评价权重用于结合多个输入所述线性回归模型中的对应所述预设类型的影响因素的指标预测获得所述未部署算法的优劣度。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述已发布部署算法包括用于进行应用推荐的一组算法,所述一组算法包括第一已发布部署算法和第二已发布部署算法,其中所述第一已发布部署算法部署在第一电子设备中,所述第二已发布部署算法部署在第二电子设备中,所述第一电子设备与所述第二电子设备为不同的电子设备;
所述接收电子设备对部署的至少一个已发布部署算法的使用反馈信息,包括:
接收所述第一电子设备对所述第一已发布部署算法的第一使用反馈信息,及所述第二电子设备对所述第二已发布部署算法的第二使用反馈信息;
其中,所述使用反馈信息包括所述第一使用反馈信息和所述第二使用反馈信息。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述算法性能指标包括准确率、编辑距离、可解释性的至少一种;所述算法内存指标包括训练占用内存量、推理占用内存量的至少一种;所述算法功耗指标包括训练功耗、推理功耗的至少一种;所述算法耗时指标包括训练耗时、推理耗时的至少一种。
7.根据权利要求1-6中任一项所述的方法,其特征在于,在所述目标应用推荐算法部署之后,所述方法还包括:
所述电子设备根据已部署的目标应用推荐算法显示应用推荐结果,其中所述应用推荐结果包括至少一个推荐应用标识;
检测到对所述推荐应用标识的触控操作,从所述应用推荐结果的显示界面切换至所述推荐应用标识对应的应用界面。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述根据预测的所述优劣度在多个所述未部署算法中确定待部署的目标应用推荐算法,包括:
对各个所述未部署算法的所述优劣度进行排序;
选取所述优劣度高的未部署算法作为目标应用推荐算法。
9.一种算法模型的训练方法,其特征在于,所述训练方法包括:
获取电子设备对部署的至少一个已部署算法的使用反馈信息以及预设类型的影响因素,其中,所述使用反馈信息包括一个评分反馈值或一个点击反馈率中的至少一种,其中所述点击反馈率为用户根据已部署算法预测的推荐结果启动应用程序的次数占应用程序总启动次数的占比;
将所述使用反馈信息作为监督,所述影响因素作为输入样本,以训练得到算法模型,其中,所述算法模型用于预测未部署算法的优劣度。
10.一种应用推荐算法的确定装置,其特征在于,包括通信模块、存储器和一个或多个处理器;所述通信模块、所述存储器与所述处理器耦合;其中,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;当所述计算机指令被所述处理器执行时,使得所述确定装置执行如权利要求1-8中任一项所述的方法或执行权利要求9所述的方法。
11.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令在电子设备或服务器上运行时,使得所述电子设备或所述服务器执行如权利要求1-8中任一项所述的方法或执行权利要求9所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211240933.9A CN116700736B (zh) | 2022-10-11 | 2022-10-11 | 一种应用推荐算法的确定方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211240933.9A CN116700736B (zh) | 2022-10-11 | 2022-10-11 | 一种应用推荐算法的确定方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116700736A true CN116700736A (zh) | 2023-09-05 |
CN116700736B CN116700736B (zh) | 2024-05-31 |
Family
ID=87838084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211240933.9A Active CN116700736B (zh) | 2022-10-11 | 2022-10-11 | 一种应用推荐算法的确定方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116700736B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105574003A (zh) * | 2014-10-10 | 2016-05-11 | 华东师范大学 | 一种基于评论文本和评分分析的信息推荐方法 |
CN108550069A (zh) * | 2018-04-19 | 2018-09-18 | 上海携程商务有限公司 | 旅行需求单推送方法、装置、电子设备、存储介质 |
CN111475298A (zh) * | 2020-04-03 | 2020-07-31 | 北京字节跳动网络技术有限公司 | 任务处理方法、装置、设备及存储介质 |
CN111897861A (zh) * | 2020-06-30 | 2020-11-06 | 苏宁金融科技(南京)有限公司 | 一种内容推荐方法、装置、计算机设备及存储介质 |
CN112487278A (zh) * | 2019-09-11 | 2021-03-12 | 华为技术有限公司 | 推荐模型的训练方法、预测选择概率的方法及装置 |
CN112766402A (zh) * | 2021-01-28 | 2021-05-07 | 维沃移动通信有限公司 | 算法选择方法、装置和电子设备 |
CN113254795A (zh) * | 2020-02-11 | 2021-08-13 | 北京京东振世信息技术有限公司 | 一种推荐模型的训练方法和装置 |
CN113515704A (zh) * | 2021-07-22 | 2021-10-19 | 中移(杭州)信息技术有限公司 | 推荐效果评价方法、装置、系统及计算机程序产品 |
CN113592588A (zh) * | 2021-07-25 | 2021-11-02 | 北京慧橙信息科技有限公司 | 基于大数据协同过滤技术的电商平台商品推荐系统及方法 |
CN113609392A (zh) * | 2021-08-06 | 2021-11-05 | 腾讯科技(深圳)有限公司 | 一种内容推荐方法、待推荐内容确定方法和相关装置 |
CN114386507A (zh) * | 2022-01-12 | 2022-04-22 | 北京中科研究院 | 内容推荐模型的训练方法、内容推荐方法和装置 |
US11416369B1 (en) * | 2020-12-18 | 2022-08-16 | Express Scripts Strategic Development, Inc. | Machine learning models for automated anomaly detection for application infrastructure components |
-
2022
- 2022-10-11 CN CN202211240933.9A patent/CN116700736B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105574003A (zh) * | 2014-10-10 | 2016-05-11 | 华东师范大学 | 一种基于评论文本和评分分析的信息推荐方法 |
CN108550069A (zh) * | 2018-04-19 | 2018-09-18 | 上海携程商务有限公司 | 旅行需求单推送方法、装置、电子设备、存储介质 |
CN112487278A (zh) * | 2019-09-11 | 2021-03-12 | 华为技术有限公司 | 推荐模型的训练方法、预测选择概率的方法及装置 |
CN113254795A (zh) * | 2020-02-11 | 2021-08-13 | 北京京东振世信息技术有限公司 | 一种推荐模型的训练方法和装置 |
CN111475298A (zh) * | 2020-04-03 | 2020-07-31 | 北京字节跳动网络技术有限公司 | 任务处理方法、装置、设备及存储介质 |
CN111897861A (zh) * | 2020-06-30 | 2020-11-06 | 苏宁金融科技(南京)有限公司 | 一种内容推荐方法、装置、计算机设备及存储介质 |
US11416369B1 (en) * | 2020-12-18 | 2022-08-16 | Express Scripts Strategic Development, Inc. | Machine learning models for automated anomaly detection for application infrastructure components |
CN112766402A (zh) * | 2021-01-28 | 2021-05-07 | 维沃移动通信有限公司 | 算法选择方法、装置和电子设备 |
CN113515704A (zh) * | 2021-07-22 | 2021-10-19 | 中移(杭州)信息技术有限公司 | 推荐效果评价方法、装置、系统及计算机程序产品 |
CN113592588A (zh) * | 2021-07-25 | 2021-11-02 | 北京慧橙信息科技有限公司 | 基于大数据协同过滤技术的电商平台商品推荐系统及方法 |
CN113609392A (zh) * | 2021-08-06 | 2021-11-05 | 腾讯科技(深圳)有限公司 | 一种内容推荐方法、待推荐内容确定方法和相关装置 |
CN114386507A (zh) * | 2022-01-12 | 2022-04-22 | 北京中科研究院 | 内容推荐模型的训练方法、内容推荐方法和装置 |
Non-Patent Citations (4)
Title |
---|
"基于协同过滤算法的精准推荐的研究与实现", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》, 15 February 2020 (2020-02-15), pages 138 - 2251 * |
MLNERDS: "Evaluation Metrics for Recommendation Systems", pages 1 - 6, Retrieved from the Internet <URL:《https://machinelearninginterview.com/topics/machine-learning/evaluation-metrics-for-recommendation-systems/ 》> * |
RAMYA PATIBANDLA等: "Efficient Recommender System for Over-the-Top Media Service", 《2021 2ND GLOBAL CONFERENCE FOR ADVANCEMENT IN TECHNOLOGY (GCAT)》, 9 November 2021 (2021-11-09), pages 1 - 7 * |
汪雯琦: "推荐系统Lambda架构介绍(三):推荐算法、推荐模型构建流程、协同过滤推荐算法、相似度计算、使用协同过滤推荐算法对用户进行评分预测案例", pages 1 - 9, Retrieved from the Internet <URL:《https://blog.csdn.net/qq_35456045/article/details/104725310 》> * |
Also Published As
Publication number | Publication date |
---|---|
CN116700736B (zh) | 2024-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190220159A1 (en) | Page display method, apparatus, terminal, and server, and storage medium | |
EP4181026A1 (en) | Recommendation model training method and apparatus, recommendation method and apparatus, and computer-readable medium | |
US10719769B2 (en) | Systems and methods for generating and communicating application recommendations at uninstall time | |
CN111143697B (zh) | 一种内容推荐的方法以及相关装置 | |
CN107735766A (zh) | 用于向计算设备的用户前摄性地提供推荐的系统和方法 | |
CN103873528A (zh) | 一种为用户分配系统资源的方法与设备 | |
US20200401756A1 (en) | Utilizing a genetic framework to generate enhanced digital layouts of digital fragments | |
CN115017400B (zh) | 一种应用app推荐方法及电子设备 | |
CN110147514B (zh) | 一种资源展示方法、装置及其设备 | |
CN114117225B (zh) | 图书推荐方法及图书推荐设备 | |
CN112579891A (zh) | 一种云资源的推荐方法、装置、电子终端及存储介质 | |
CN110019813A (zh) | 寿险案例检索方法、检索装置、服务器及可读存储介质 | |
CN110531951A (zh) | 画面输出模式调整方法、装置、设备、系统及存储介质 | |
CN110377821A (zh) | 生成兴趣标签的方法、装置、计算机设备和存储介质 | |
CN114119106A (zh) | 信息推荐方法、装置、服务器及存储介质 | |
CN115016854A (zh) | 应用程序预测方法、电子设备及存储介质 | |
CN116700736B (zh) | 一种应用推荐算法的确定方法及装置 | |
CN112306406A (zh) | 智能存储自动分级的方法、装置、存储介质及电子设备 | |
CN115269889A (zh) | 剪辑模板搜索方法及装置 | |
CN117499429A (zh) | 一种物联网系统内部的视频数据智能调度方法及系统 | |
Zhang et al. | An efficient collaborative filtering approach using smoothing and fusing | |
CN116467153A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN114782062A (zh) | 商品召回优化方法及其装置、设备、介质、产品 | |
CN114625894A (zh) | 鉴赏力评估、模型训练方法、装置、介质和计算设备 | |
CN113129093A (zh) | 基于智慧社区的用户数据进行商品推荐的推荐方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |