推荐算法的选择的方法及对应的装置与流程

文档序号:22260325发布日期:2020-09-18 14:27阅读:134来源:国知局
推荐算法的选择的方法及对应的装置与流程

本公开一般涉及推荐(推荐器)系统的领域,尤其涉及推荐(推荐器)算法(方法)的选择。



背景技术:

本文描述的任何背景信息都旨在向读者介绍本领域的各个方面,这些方面可能与以下描述的本实施例有关。相信该讨论有助于向读者提供背景信息,以有助于更好地理解本公开的各个方面。因此,应该理解的是,应该鉴于此地阅读这些陈述。

能够预测用户偏好或评级的系统通常称为推荐系统。如今,推荐系统已成为日常生活的一部分,并越来越多地在移动设备上的因特网搜索的上下文内使用。对于消费者,该技术使得感兴趣的项目的快速和高效搜索成为可能,而对于服务提供商,有增加产生额外收入的可能性。存在大量的推荐算法,并且算法的选取取决于许多因素。服务提供商将从候选算法的集合中选择执行良好以为其客户提供高质量的服务的推荐算法。此外,选择可以包括候选算法的参数化(“调整”)以获得最佳性能。选择执行良好的推荐算法对于服务提供商是艰巨的任务。当数据稀少时,即,当为相对于推荐系统“新”的客户推荐项目时,或者当服务提供商启动新服务时,推荐算法可能执行不良。最初对于其在稀少数据上的良好性能而选择的候选算法,最终可能比其他未选择的算法(当更多数据变得可用时)执行更差。虽然传统的推荐系统大多数都是基于云的(在线推荐系统),但是用户设备的改进的性能使得推荐系统能够在这些用户设备上运行。对于用户,这种“设备上”推荐系统的优点可以在以下中找到:因为客户端数据不再存储在云中的改进的隐私,因为推荐系统针对设备的一个用户的个性化更好,以及关于推荐系统起作用的增加的自治性,设备不再要求与服务提供商的云服务器进行通信。对于服务提供商,设备上推荐系统的优点在于维护和开发成本,因为不要求云服务器场用于推荐系统操作。但是,与在线推荐系统不同,设备上推荐系统必须使用相对较小的数据集合,尤其是当用户对系统“新”时。如先前提及,与其他候选算法相比,推荐算法在稀少数据上的良好性能可能并不排除在更丰富数据上的非竞争性能。因此,期望提供一种用于改进用于设备上推荐的推荐算法的选择的方法和设备。



技术实现要素:

根据本公开的一个方面,提供了一种用于设备上的本地推荐器的推荐算法的选择的方法。该方法包括:利用查询集合查询对于设备是本地的多个本地推荐算法,并获得多个本地推荐结果;利用所述查询集合查询远程推荐系统以获得远程推荐系统结果;比较多个本地推荐结果与远程推荐系统结果;根据所述比较的函数从多个本地推荐算法中选择推荐算法。

根据推荐算法的选择的方法的另一方面,在多个本地推荐算法中选择的本地推荐算法是从中获得具有与所述远程推荐结果最小的距离的推荐结果的推荐算法。

根据推荐算法的选择的方法的另一方面,多个本地推荐算法包括相同算法的至少两个有差别地参数化的版本。

根据推荐算法的选择的方法的另一方面,该方法由移动通信设备,网关,机顶盒中的一个来实现。

根据推荐算法的选择的方法的另一方面,推荐基于设备的离线模式下的所选择的本地推荐算法,并且推荐从远程推荐算法或设备的在线模式下的另一远程推荐算法获得。

根据推荐算法的选择的方法的另一方面,在线模式与允许设备与运行所述远程推荐算法或另一远程推荐算法的远程服务器之间的通信的条件对应。

根据推荐算法的选择的方法的另一方面,基于用户选取,从所选择的推荐算法或从所述远程推荐算法或另一远程推荐算法获得推荐。

本原理还涉及设备中的本地推荐器的推荐算法的选择的设备。该设备包括处理器,配置为:利用查询集合查询对于设备是本地的多个本地推荐算法,并获得多个本地推荐结果;利用查询集合查询远程推荐系统以获得远程推荐系统结果;比较多个本地推荐结果与远程推荐系统结果;按照远程推荐结果的函数从多个本地推荐算法中选择推荐算法。

根据设备的另一方面,处理器还被配置为在所述多个本地推荐算法中选择从中获得与所述远程推荐结果最小的距离的推荐结果的本地推荐算法。

根据设备的另一方面,该设备是网关,机顶盒和移动通信设备之一。

附图说明

通过特定的非限制性实施例的描述,本公开的更多优点将出现。为了描述能够获得本公开的优点的方式,通过参考在附图中例示的本原理的特定实施方式来呈现本原理的特定描述。附图描绘本公开的示例性实施例,并且因此不应被认为限制其范围。描述的实施例可以组合以形成特定的有利实施例。在以下附图中,将不再描述具有与先前附图中已经描述的项目相同的参考标记的项目,以避免不必要地混淆本公开。将参考以下附图描述实施例,在附图中:

图1是根据本原理的包括本地推荐算法(方法)的选择的方法的实施例的系统的框图。

图2a-2b示出从推荐结果生成的图表。

图3是适合于根据本公开的原理实现该方法的设备的实施例。

图4是与根据本公开的原理的推荐算法的选择的方法的第一实施方式有关的流程图。

应该理解的是,附图是出于例示本公开的概念的目的,并且不一定是用于例示本公开的唯一可能的配置。

具体实施方式

本说明书例示本公开的原理。因此,将认识到,本领域技术人员将能够设想出虽然没有在本文中明确描述或示出但体现本公开的原理并且被包括在其精神和范围内的各种布置。

本文列举的所有示例和条件语言旨在用于教育目的,以帮助读者理解本公开的原理和发明人为促进本领域做出的贡献的概念,并且要解释为不限于这种具体列举的示例和条件。

此外,本文中引用本公开的原理,方面和实施例及其特定示例的所有陈述旨在涵盖其结构和功能上的等同物。另外,旨在这种等同物包括当前已知的等同物以及将来开发的等同物,即,开发的执行相同功能的任何元件,而与结构无关。

图1是根据本原理的包括用于本地推荐算法的选择的方法的实施例的系统的框图。系统1000包括本地设备(例如,移动通信设备)100和远程推荐系统18。远程推荐系统18包括推荐算法r181。远程推荐系统18例如是具有私有的大型数据库的完善的推荐系统。因此,查询结果(远程推荐系统18的输出)可以用作比较和选择本地推荐算法的参考。

本地候选推荐算法ai-aj11的集合在本地可用的数据10上进行训练,箭头1。注意,该训练不需要人工干预,因为它使用设备所有者的动作作为标记的根本事实,这足以进行操作。那些候选本地推荐算法ai-aj11由此准备产生推荐。基于本地数据10推导查询集合12作为多个推荐查询(请求)。使用查询集合(箭头2a)查询本地推荐算法ai-aj11:ai-aj11从查询集合的查询(推荐)中生成(箭头3a)结果bi-bj13。还使用来自查询集合12的相同查询,箭头2b,以查询远程推荐系统18。这产生,箭头3b,查询结果d16。使用每个查询结果bi-bj13和d16,作为输入,箭头4a和4b,分别进入图形格式化函数,其分别创建图形ci-cj14和参考图形e17。无需可视化图形,因为使用了它们的数据结构。将图形ci-cj14和17的数据结构,箭头5a和5b,输入到距离计算函数15中。距离计算函数15基于图形ci-cj14和参考图形e17计算图形ci-cj14中的每个和参考图形e17之间的距离。通过选择函数19比较这些距离,箭头6,其选取生成具有到参考图形e17最小距离(在本地候选推荐算法ai-aj11之中)的图形ci-cj14的算法。然后选择的本地候选推荐算法变成推荐算法,用于设备100上的本地推荐。本地推荐算法例如基于奇异值分解技术(svd),k最近邻技术(knn)或深度神经网络。示例查询集合包括导致推荐的电影的列表以及这些电影的评级的查询。例如,查询集合由一组用户配置文件(可以是手动或自动创建的空配置文件)以及每个用户的电影评级或消费的列表组成。例如,查询集合可以由两个不同的用户组成,第一个用户消费电影a,然后是电影b,第二个用户消费电影a,然后是电影c。

根据特定实施例,候选本地推荐算法ai-aj11包括有区别地参数化但是相同的推荐算法。根据另一实施例,候选本地推荐算法ai-aj11是不同的算法。

根据特定实施例,本地设备100是诸如平板电脑,智能电话或便携式pc之类的移动设备。根据另一实施例,本地设备100是机顶盒或网关。

图2a-2b示出根据推荐结果生成的图表。推荐结果典型是基于对输入数据(例如,本地数据10)的推荐查询(例如,查询集合12)的项目的列表(例如,电影的列表);(例如,用户生成的电影评级)由推荐算法完成。这里假设读者熟悉使用边缘,权重和顶点的图形描述。举例来说,图形构造遵循以下规则,其中这种图形中的顶点例如是电影,并且边缘是两个电影之间的关系(例如,经常一起推荐):

1.当且仅当存在针对项目i的推荐和/或针对项目i的用户反馈事件(例如,电影评级)时,顶点i呈现在图形中。

2.当且仅当项目j至少在由针对项目i的反馈事件触发的一个推荐列表中时,边缘eij被呈现。

3.

图2a表示在第一推荐事件之后创建的示例图形。作为第一推荐事件,第一用户将电影评级为“a”。推荐算法返回推荐结果[c,b,d,e,f],按照使用的推荐算法内部的其他特征和用户配置文件的函数,诸如由具有相似配置文件的用户完成的其他电影的评级,最高到最低分数(等级)分别为5、4、3、2、1,即,电影c为5,电影b为4,等等。使用源自a的顶点创建边缘a,b,c,d,e,f。由于分数(等级)的总和为5+4+3+2+1=15,对于c边缘权重为5/15,对于b边缘权重为4/15,对于d边缘权重为3/15,对于e的2/15,以及对于f的1/15。图2b表示第二推荐事件(即,从第二个不同的用户收到的同一电影“a”的第二评级)之后,图2a中图形的演变。推荐算法为该用户返回推荐结果[b,x,y,z,w]。因此,从a,尤其是x,y,z和w创建新的边缘。边缘b已经存在。由于现在分数(等级)的总和是30,对于x边缘权重为4/30,对于y边缘权重为3/30,对于z边缘权重为2/30,对于w边缘权重为1/30,并且c,d,e,f的权重现在分别调整为5/30、3/30、2/30和1/30。由于电影b也通过第二推荐算法评级并接收到等级5,b的权重因此调整为(4+5)/30。虽然图2a和2b出于解释目的示出推荐图形的图形表示,但是图形存储在数据结构中,用于随后估算(计算)由不同推荐算法从相同查询集合创建的图形之间的距离。

在图形生成之后(之后),如下计算两个图形(例如,在ci-cj14中的每个和e17)(的数据结构)之间的距离。对于每个图形ci-cj14,该方法提取由至少一个值组成的特征的集合(例如,图形中的顶点的数量,图形中的边缘的数量,顶点度分布,页面等级,中间度中心性,特征向量中心性,紧密度中心性,分类性,短距离)。该提取的特征的集合被存储在特征向量中,每个图形ci-cj14和e17一个向量。然后,由距离计算函数15计算出的距离是两个向量之间的标准l2(即,范数2)距离。然后,选择与具有最小距离的图形ci-cj14对应的本地推荐算法bi-bj作为由本地推荐系统使用的算法。

根据特定实施例,使用图形编辑距离。图形编辑距离从图形ci-cj14(的数据结构)开始,并为每个图形ci-cj14计数顶点和/或边缘的插入,删除和替换的数量,从而得出与图形e17相同的图形,换句话说:要求顶点和/或边缘插入的数量以从图形ci-cj14创建图形e17。要这样做的操作(插入,删除和替代)的数量是图形ci-cj14和图形e17之间的计算出的距离。要求最少数量的顶点和/或边缘插入,删除和替代以得到与图形e17相同图形的图形ci-cj14则是具有到图形e17最小距离的图形。然后选择与具有最小距离的图形ci-cj14对应的本地推荐算法ai-aj11作为由本地推荐系统使用的算法。

根据不同的实施例,图形距离依赖于图形核,例如随机游走核,其同时在两个图形上随机游走,并计数由两个游走产生的路径的数量。结果计数是两个图形之间的距离。

根据不同的实施例,在图形之间不存在图形生成和距离比较,而是在查询集合中针对每个查询的返回的最高推荐的分等级的列表之间比较距离。这例如是所谓的kendalltaumetric的目标,其计数两个分等级的列表之间的成对不一致的数量。该方法返回精度较差的结果,但具有计算复杂度较低的优点。

图3是适合于根据本公开的原理实现该方法的设备的实施例。设备100包括处理器或中央处理单元300,存储器301,用于经由连接310连接到wan的网络接口302(例如,无线通信接口),输入接口303(例如,键盘或触觉显示器)和显示接口304(例如,触觉显示器或非触觉显示器)。元件300-304经由内部数据通信总线311互连。存储器301被配置为存储对于处理器300可执行的机器可读指令。存储器301例如被配置为存储本地推荐算法ai-aj11。存储器301还被配置为存储数据,诸如先前讨论的查询集合12和先前讨论的多个本地推荐结果bi-bj13。存储器301还被配置为存储先前讨论的远程推荐结果d16以及多个本地推荐结果bi-bj13的每个和远程推荐结果d16之间的距离。处理器300被配置为利用查询集合12查询每个本地推荐算法ai-aj11,以获得多个本地推荐结果bi-bj并且将它们存储在存储器301中。与网络接口302组合的处理器300还被配置为利用查询集合12查询远程推荐系统18以获得先前讨论的远程推荐结果d16并将其存储在存储器301中。处理器300还被配置为计算多个本地推荐结果bi-bj13中的每个与远程推荐结果d之间的距离并将计算出的距离存储在存储器301中。处理器300还被配置为从存储在存储器301中的多个本地推荐算法ai-aj11中选择推荐算法ai-aj11,以存储器301中存储的与所述远程推荐结果d16最小的距离从推荐算法ai-aj11中获得推荐结果bi-bj13。

图4是与根据本公开的原理的推荐算法的选择的方法的实施例有关的流程图400。该方法例如由设备100实现。在第一步骤401中,利用查询集合12查询多个本地推荐算法ai-aj11中的每一个,并且获得多个本地推荐结果bi-bj13。在步骤402中,利用查询集合12查询远程推荐系统18以获得远程推荐结果d16。在步骤403中,计算多个本地推荐结果bi-bj13与远程推荐之间的距离,即,比较推荐结果bi-bj13和远程推荐结果d16。最后,在步骤404中,选择多个本地推荐算法ai-aj11中的一个,即,利用与远程推荐结果d16的最小距离而从中获得推荐结果bi-bj13的本地推荐算法ai-aj11中的一个,即,根据比较的函数。注意,虽然图4例示该方法的一般原理,但是该方法的一些步骤可以以不同的顺序或并行地执行。例如,可以以顺序402-401或并行地执行步骤401和402。

根据实施例,选择的本地算法用于当设备处于离线模式时,例如当设备不能与运行远程推荐算法的服务器通信时(例如,不具有wan连接),向用户提供推荐,无论是用于选择本地算法的远程推荐算法,还是另一远程推荐算法。

根据实施例,由设备的用户在用于提供推荐的选择的本地推荐算法和远程推荐算法中选取算法。用户例如对于某些推荐可能喜欢不将数据传递给远程服务器,并且因此可能喜欢使用选择的本地算法。

要认识到,附图中的某些元素可能在所有实施例中不使用或者不是必要的。某些操作可以并行执行。除了例示和/或描述的那些实施例以外的实施例也是可能的。例如,实现本原理的设备可以包括硬件和软件的混合。

要认识到,本公开的原理的各方面可以体现为系统,方法或计算机可读介质。因此,本公开的原理的方面可以采取以下形式:完全硬件实施例,完全软件实施例(包括固件,常驻软件,微代码等),或组合硬件和软件方面的实施例,这些方面可以在本文中全部一般定义为“电路”,“模块”或“系统”。此外,本公开的原理的方面可以采取计算机可读存储介质的形式。可以利用一个或多个计算机可读存储介质的任何组合。

因此,例如,要认识到,本文呈现的图表示体现本公开原理的例示性系统组件和/或电路的概念图。类似地,要认识到,任何流程图表,流程图,状态转换图,伪代码等都表示可以实质上在计算机可读存储介质中表示并且因此可以由计算机或处理器执行的各种过程,无论这种计算机是或处理器明确示出。

计算机可读存储介质可以采取计算机可读程序产品的形式,该计算机可读程序产品体现在一个或多个计算机可读介质中并且具有可由计算机执行的在其上体现的计算机可读程序代码。本文使用的计算机可读存储介质被认为是非暂时性存储介质,其被给定在其中存储信息的固有能力以及提供从其中检索信息的固有能力。计算机可读存储介质可以是例如但不限于电,磁,光,电磁,红外或半导体系统,装置或设备,或者前述的任何合适的组合。存储介质的一些或所有方面可以远程地定位(例如,在“云”中)。要认识到,以下虽然提供本原理可以应用于的计算机可读存储介质的更具体示例,但仅仅是本领域普通技术人员容易理解的例示性而非详尽的列表:硬盘;只读存储器(rom);可擦除可编程只读存储器(eprom或闪存);便携式压缩盘只读存储器(cd-rom);光学存储设备;磁存储设备;或者前述的任何合适的组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1