物联网中的推荐系统

1、背景介绍

物联网是一种联网的基础架构,是物联网、互联网和语义学领域之间融合的结果,为随时随地连接不同设备提供了基础。在物联网场景中,开发了大量的服务和应用程序,这使识别相关的服务和应用程序成为用户的一项复杂任务。在这种情况下,推荐系统便成了一项关键的技术,这些技术使大部分服务和应用程序的识别变得可行。比如在物联网等场景下可以在网关上安装一些应用程序,附加设备由网关部署和管理,同时在公共显示器上显示的信息文本,会被用于在网关上完成特定任务相关的数据传输协议,并应包括IoT相关场景中相关的硬件和软件组件。

推荐技术在IoT上下文中的进一步应用包括工作流程的推荐(例如,应将哪些软件功能包含在IoT应用程序的工作流程定义中),食品的推荐(例如,根据食品的状况,可以调整提供条件),在个性化店内购物场景中进行推荐(例如,根据实体店中顾客的位置,应推荐哪些商品)以及健康监控(例如,根据一个人当前的饮食行为和身体状况,推荐食物和体育锻炼)。在许多情况下,灵活的物联网网关基础设施都扮演着核心角色。

IoT网关是基于硬件和软件的解决方案,其主要作用是实现设备到设备中心/或设备到云的通信。它是一个平台,用于支持不同数据源(具有各种通信协议的传感器)与目的地(本地或远程数据管理实体以及各种执行器)之间的连接。物联网网关位于设备的边缘和附近,也可能在服务执行中发挥关键作用。典型的物联网网关平台由设备管理器,通信/数据协议管理器,应用程序管理器和数据管理器组成(请参见下图)。先进的IoT网关包含其他功能,其中可以包括配置器和推荐器引擎,以帮助用户配置网关或基于给定的网关设置和用户交互协议推荐有用的应用程序。

如图1所示,可以使用5G,BLE,LORA和ZigBee等各种连接协议将IoT传感器连接到IoT网关。网关用户可以通过WAN / LAN连接其网关,以管理或监视其数据和服务。他们还可以通过将云应用程序与其IoT网关链接来管理或监视收集的数据。

2、基本技术和应用场景

推荐技术可用于多种目的,以支持不同的物联网场景。在本节中,我们将会介绍协同过滤,基于内容的过滤,基于知识的推荐和组合推荐这四项基本推荐技术,如何根据不同场景去实现推荐的功能。

2.1 协作过滤

基于“口口相传”的想法,即朋友(最近邻居– NN)对物品的意见或看法被用作计算推荐算法的主要信息来源。然后,使用k个最近邻居的偏好(等级)来推断当前用户的偏好。例如,将安装在与当前用户具有类似应用程序库的用户的网关上的应用程序,安装在当前用户的网关上。物联网环境中协同过滤的其他应用示例是物联网环境提升中的设备推荐和组件部分推荐。支持协同过滤的不同场景的推荐库的示例是Apache Mahout。

表1:根据其他网关的安装信息,基于协同筛选的设备(d1..d4)和应用程序(app1..app4)推荐。与本地网关相比,网关1的配置文件是最相似的配置文件。由于app3未安装在本地网关上,因此可以将其解释为推荐候选。推荐的应用程序用√表示。

2.2 基于内容的过滤

基于稳定的首选项的想法,即过去的首选项在将来不会发生重大变化。使用基于内容的过滤时,有关物品的基于关键字的信息与从当前用户过去已经消费过的项目中提取的关键字匹配。例如,如果用户安装了特定的应用程序,则可以在可用时推荐类似的应用程序或对现有应用程序的更新。在IoT上下文中应用基于内容筛选的其他示例是设备和工作流程的推荐。支持基于内容过滤的不同场景的推荐库示例是Apache Lucene。

表2:使用本地网关上已安装的应用程序的关键字(key)对应用程序进行基于内容过滤的推荐。与本地网关的配置文件相比,app1的关键字是最相似的关键字。由于app1未安装在本地网关上(假设),因此可以将其选择为推荐候选。推荐的应用程序用√表示。

2.3 基于知识的推荐

基于使用以显式方式(即在规则约束方面)定义的推荐知识的思想。使用基于知识的推荐时,当前用户明确定义的首选项将转发到知识库,该知识库用于确定推荐(搜索问题的解决方案)。例如,如果IoT网关解决方案的用户更喜欢节电的网关配置,则与其他协议相比,将首选使用特定的通信协议。在物联网环境中,应用基于知识的推荐技术的其他示例包括整个网关配置的推荐,以及野生动物监测中数据收集策略的推荐。

2.4 基于组的推荐系统

基于组的推荐系统,是基于对用户小组的偏好,使用不同算法的汇总结果去推荐。在基于算法集成的推荐中,基本算法(例如协同过滤,基于内容的过滤和基于知识的推荐)用于确定针对单个用户的推荐。然后将这些建议汇总为该组的最终推荐(基于汇总预测的方法)。相关聚合函数的示例是平均值(推荐用户评分平均值最高的商品)和风险最少(推荐所有最低评分指标最高的商品)。另外,小组资料可以从小组成员的个人偏好中得出(*基于聚合模型的方法,根据小组资料,可以使用上述基本方法确定推荐。团体推荐系统的实现通常基于单用户推荐系统的库,也就是上述提到的Apache Mahout、Apache Lucene等。

3、何时应用哪种推荐技术?

本文讨论的推荐方法使用了不同的知识来源,并且还具有不同的优点,这些优点使它们(或更少)适用于特定的推荐方案。在下文中,我们将简单讨论推荐算法选择的主要标准,并针对这些标准分析所讨论的每种算法。

3.1 原理简单

基于内容的筛选和基于协同的筛选的原理都比较简单,实现方式也比较快,只需获得有关评分方面的用户偏好的知识(在基于内容的过滤中,自动提取的关键字)就可以得出推荐。由于基于组的推荐系统大部分是使用这些基本算法,所以基于组的推荐系统的实现也比较容易。相比之下,基于知识的推荐方法需要更多的设置投资,由于领域专家和知识工程师之间的通信开销,知识库的构建通常是一个容易出错且繁琐的过程。

3.2 会话推荐方法

在推荐复杂的产品和服务时,主要支持在用户和系统之间进行对话的会话方法。在这种情况下,使用基于知识的推荐器,即在基于知识的推荐的上下文中支持对话方法。协同过滤和基于内容的过滤不支持推荐对话框。在小组推荐系统的背景下,由于部分小组推荐系统是基于知识的推荐,因此可以支持会话过程。

3.3 适应性

协同过滤和基于内容的推荐有较好的适应性,因为每一个新的等级更高程度的适应性可以改变推荐的项目清单。如果将协同过滤或基于内容的推荐用作基础推荐,这也适用于组推荐方案方法。基于知识的推荐方法显示出较低的适应性,因为知识库是比较稳定的,因为单个用户的偏好习惯不会一时间去改变。

3.4 惊喜度

如果用户喜欢某项推荐,并同时对此推荐感到完全出乎意料,就会产生惊喜度,一般这种效果主要可以通过协同推荐方法来实现。基于内容的推荐一般会假定其偏好保持稳定,并在已经购买的商品列表中提供建议。因此,这种方法提供了非常低的偶然性。同时,基于知识的推荐算法中的偶然性程度取决于编码的偶然性程度。基于小组推荐中的偶然性程度取决于所选择的基础基本推荐方法。

3.5 冷启动问题

协同过滤和基于内容的过滤都存在冷启动问题:如果在协同过滤中没有特定用户的用户评级,或者到目前为止,当使用基于内容的推荐系统时用户没有购买任何商品时,也就是无法获取相似的推荐。此外,如果某个商品没有获得评级,则协同过滤系统很难将其考虑在内。由于基于内容的过滤基于商品的关键字,因此即使没有商品的评级也可以进行推荐。基于知识的推荐不存在冷启动问题,因为推荐知识被编码在一个知识库中,且假定该知识库在可以开始推荐会话之前就已经存在。

3.6 透明度

透明度可以视为推荐结果可解释的程度。协同过滤和基于内容的过滤中的结果具有较低的解释性,因为如果要解释的话,只能基于内容的推荐中的相似邻居和相似关键字。在基于知识的推荐中,可以更细化解释。相关说明可以考虑推荐的原因(由用户偏好列表表示),但也可以考虑为什么找不到解决方案以及哪些偏好矛盾的原因。在小组推荐系统中,可解释性取决于所选的基本推荐方法。

3.7 高参与度商品

由于次优决策的负面影响很大,因此在大多数情况下,此类商品非常复杂,并且需要做出相关决策。其示例是选择特定的服务器基础结构或智能家居解决方案。相反,低参与度商品的例子是低价应用程序或传感器。在大多数情况下,基于知识的方法用于推荐高参与度的商品,而基于内容的协作过滤则用于推荐低参与度的商品。按照先前的论点,如果选择的基本推荐方法是基于知识的,则可以将小组推荐系统用于高度参与的商品。

4、结论与下一步工作

在本文中,我们提供了对现有推荐方法的简短概述,并讨论了它们在物联网场景中的应用的不同方面。在这种情况下,我们还针对可用于选择推荐算法的一组标准讨论了不同方法的优缺点。同时,也有一些与推荐技术在物联网场景中的应用有关的开放研究问题需要我们关注,尤其是在推荐复杂的IoT配置的情况下,必须开发搜索机制,以便在面对庞大而复杂的配置知识库时也可以进行高效且个性化的解决方案搜索。此外,必须以有效的方式测试和更新有关产品可变性的知识。这项要求与软件工程的当前发展相吻合,后者在开发,测试,部署和生产使用之间相继实现了强大的耦合。

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章