1。背景介绍物联网是一种网络化的基础设施,是物联网、互联网和语义领域融合的产物,为随时随地连接不同设备提供了基础。在物联网场景中,开发了大量的服务和应用,这使得用户识别相关服务和应用成为一项复杂的任务。在这种情况下,推荐系统成为能够识别大多数服务和应用程序的关键技术。例如在物联网等场景下,可以在网关上安装一些应用,由网关部署和管理额外的设备。同时,公共显示器上显示的信息文本将用于在网关上完成特定任务相关的数据传输协议。并且应该包括物联网相关场景中的相关硬件和软件组件。推荐技术在IoT环境中的进一步应用包括工作流推荐(例如,哪些软件功能应包含在IoT应用程序的工作流定义中)、食品推荐(例如,根据食品的状况、服务条件可以调整),在个性化的店内购物场景中提出建议(例如,应根据顾客在实体店中的位置推荐哪些商品)和健康监测(例如,基于顾客的食物和身体活动推荐)一个人目前的饮食行为和身体状况)。在许多情况下,灵活的物联网网关基础设施起着核心作用。物联网网关是一种基于硬件和软件的解决方案,其主要作用是实现设备到设备中心/或设备到云的通信。它是一个支持不同数据源(具有各种通信协议的传感器)和目的地(本地或远程数据管理实体和各种执行器)之间连接的平台。物联网网关位于设备边缘或附近,也可能在服务执行中发挥关键作用。典型的物联网网关平台由设备管理器、通信/数据协议管理器、应用程序管理器和数据管理器组成(见下图)。高级物联网网关包含额外的功能,其中可以包括配置器和推荐引擎,以帮助用户配置网关或根据给定的网关设置和用户交互协议推荐有用的应用程序。如图1所示,IoT传感器可以使用各种连接协议(例如5G、BLE、LORA和ZigBee)连接到IoT网关。网关用户可以通过WAN/LAN连接他们的网关来管理或监控他们的数据和服务。他们还可以通过将云应用程序与其物联网网关连接起来来管理或监控收集到的数据。2.基础技术和应用场景推荐技术可以一机多用,支持不同的物联网场景。本节将介绍协同过滤、基于内容过滤、基于知识的推荐和组合推荐四种基本推荐技术,以及如何根据不同场景实现推荐功能。2.1协同过滤基于“口碑”的思想,将朋友(NearestNeighbors–NN)的意见或对物品的看法作为计算推荐算法的主要信息来源。然后,使用k个最近邻居的偏好(排名)来推断当前用户的偏好。例如,安装在与当前用户具有相似应用库的用户的网关上的应用安装在当前用户的网关上。物联网环境中协同过滤的其他应用示例是物联网环境提升中的设备推荐和组件推荐。ApacheMahout是支持不同协同过滤场景的推荐库的一个例子。表1:基于其他网关安装信息的协同过滤的设备(d1..d4)和应用程序(app1..app4)推荐。与本地网关相比,网关1的配置文件是最相似的配置文件。由于本地网关上没有安装app3,可以理解为推荐候选。推荐应用打√。2.2基于内容的过滤基于稳定偏好的思想,即过去的偏好在未来不会发生显着变化。使用基于内容的过滤,关于项目的基于关键字的信息与从当前用户过去消费的项目中提取的关键字相匹配。例如,如果用户安装了特定的应用程序,则可以在可用时推荐类似的应用程序或对现有应用程序的更新。在IoT上下文中应用基于内容的过滤的其他示例是设备和工作流推荐。支持基于内容过滤的不同场景的推荐库的一个例子是ApacheLucene。表2:使用本地网关上已安装应用程序的关键字(密钥)的基于应用程序的内容过滤建议。与本地网关的配置文件相比,app1的关键字是最相似的关键字。由于app1没有安装在本地网关上(假设),它可以被选为推荐候选。推荐应用打√。2.3Knowledge-basedrecommendation是基于使用以显式方式定义的推荐知识(即在规则约束方面)的思想。当使用基于知识的推荐时,当前用户明确定义的偏好被转发到知识库,用于确定推荐(搜索问题的解决方案)。例如,如果IoT网关解决方案的用户更喜欢节能网关配置,则将优先使用特定通信协议。在物联网环境中应用基于知识的推荐技术的其他例子包括整个网关配置的推荐,以及野生动物监测中数据收集策略的推荐。2.4基于群体的推荐系统基于群体的推荐系统是根据用户群体的喜好,利用不同算法的汇总结果进行推荐。在基于算法集成的推荐中,利用协同过滤、基于内容的过滤、基于知识的推荐等基础算法来确定对个体用户的推荐。然后将这些建议汇总为该组的最终建议(一种基于汇总预测的方法)。相关聚合函数的示例是平均值(推荐平均用户评分最高的项目)和风险最小(推荐所有最低指标评分最高的项目)。此外,可以从群组成员的个人偏好中导出群组概况(*基于聚合模型方法,基于群组概况,可以使用上述基本方法确定推荐。群组推荐系统的实现通常是基于单用户推荐系统的库,即上面提到的ApacheMahout、ApacheLucene等3.什么时候应用哪种推荐技术?本文讨论的推荐方法使用不同的知识源,也有3.1SimplePrinciples基于内容的原则筛选和协同筛选比较简单,实施起来也比较快,只可以获取用户在评级方面的偏好知识(在基于内容的过滤中,自动提取的关键字)来进行推荐。由于大多数基于群体的推荐系统都使用这些基本算法,因此基于群体的推荐系统的实现也相对容易。相比之下,基于知识的推荐方法需要更多的设置投资,并且由于领域专家和知识工程师之间的沟通开销,知识库构建通常是一项容易的任务。错误和繁琐的过程。3.2对话式推荐方法在推荐复杂的产品和服务时,主要支持对话式的方法,用于用户与系统之间的对话。在这种情况下,使用基于知识的推荐器,即在推荐上下文中支持基于知识的对话方法。协同过滤和基于内容的过滤不支持推荐对话框。在群组推荐系统的上下文中,由于一些群组推荐系统是基于知识的推荐,因此可以支持对话过程。3.3适应性协同过滤和基于内容的推荐具有更好的适应性,因为适应性程度更高的每个新级别都可以改变推荐项目列表。如果将协同过滤或基于内容的推荐用作基于组推荐方法的基础推荐,这也适用。基于知识的推荐方法适应性较低,因为知识库相对稳定,而且单个用户的偏好习惯暂时不会改变。3.4惊喜度如果用户喜欢某条推荐,同时对这条推荐感到完全出乎意料,就会产生一定程度的惊喜,一般这??种效果主要可以通过协同推荐的方式来实现。基于内容的推荐一般假设他们的偏好保持稳定,并在已购买物品列表中给出建议。因此,这种方法提供的机会非常低。同时,基于知识的推荐算法的偶然性程度取决于编码的偶然性程度。基于组的推荐的偶然性程度取决于所选择的潜在推荐方法。3.5冷启动问题协同过滤和基于内容的过滤都存在冷启动问题:如果在协同过滤中没有特定用户的用户评分,或者用户在使用内容时到目前为止还没有购买任何东西——基于推荐系统,那么就无法得到相似的推荐。另外,如果一个项目没有被评分,协同过滤系统将很难将其考虑在内。由于基于内容的过滤是基于项目的关键字,因此即使没有项目评级也可以进行推荐。基于知识的推荐不会遇到冷启动问题,因为推荐知识被编码在知识库中,该知识库假定在推荐会话开始之前就存在。3.6透明度透明度可以看作是推荐结果可解释的程度。协同过滤和基于内容的过滤的结果可解释性低,因为它们只能通过基于内容的推荐中的相似邻居和相似关键词来解释,如果要解释的话。在基于知识的推荐中,更细粒度的解释是可能的。相关的解释可以考虑推荐的原因(由用户偏好列表表示),还可以考虑为什么找不到解决方案以及哪些偏好相互矛盾。在群组推荐系统中,可解释性取决于所选择的底层推荐方法。3.7高参与度产品由于次优决策的高度负面影响,此类产品在大多数情况下都很复杂,需要相关决策。这方面的例子是选择特定的服务器基础设施或智能家居解决方案。相反,低参与度商品的示例是低价应用程序或传感器。在大多数情况下,基于知识的方法用于推荐高参与度的项目,而基于内容的协同过滤用于推荐低参与度的项目。按照前面的论点,如果选择的基础推荐方法是基于知识的,则群组推荐系统可用于高度参与的项目。4.结论和下一步在本文中,我们简要概述了现有的推荐方法,并讨论了它们在物联网场景中应用的不同方面。在这种情况下,我们还讨论了关于一组可用于选择推荐算法的标准的不同方法的优缺点。同时,也有一些与推荐技术在物联网场景中的应用相关的开放性研究问题需要引起我们的关注,尤其是在推荐复杂物联网的情况下,访问库时也可以进行高效、个性化的解搜索。此外,必须以有效的方式测试和更新有关产品可变性的知识。这种需求与当前软件工程的发展相吻合,软件工程相继实现了开发、测试、部署和生产使用之间的强耦合。
