基于关联规则的软件开发推荐技术分析
2018-05-14吴文庆修雅慧
吴文庆 修雅慧
【摘要】文章立足于当今社会互联网飞速发展现状,简明扼要地概括了软件开发推荐技术所涉及的主要内容,并通过理论与实际相结合的方式,对以关联规则为立足点的推荐技术内容进行了深入、系统的分析,供设计人员参考。
【关键词】关联规则;软件开发;推荐技术分析
随着社会的发展,人们对软件所具有的要求与之前相比变得越来越高,设计人员在软件设计的过程中应当将关注的重点转向软件智能化方面。现阶段在软件开发过程中所应用的技术无法满足用户需求,而推荐技术的出现能够有效解决这一问题。
一、软件开发推荐技术的概述
(一)推荐系统
随着互联网的发展,现阶段互联网所接入站点以及服务器的数量与之前相比呈现出非常迅猛的增长趋势。因此。呈现在用户面前的资源信息数量和种类也变得更多,用户想在短时间内对自己所需信息进行浏览和查找的工作就变得越发困难。推荐系统正是依托传统搜索引擎无法对用户所具有的特殊需求加以满足这一现状而出现的,作为以信息超载问题的解决为目的延伸出的智能处理系统。推荐系统最主要的作用是在大量的资源信息中帮助用户对自己所需信息进行挖掘,从根本上对信息超载这一现象所带来的不利影响进行规避。
(二)主要技术
1.关联推荐
关联推荐的出现依托于人们对数据集中项目所具有内在联系的分析和挖掘。在对关联推荐技术进行应用时,主要是通过分析用户对信息选择所具有的倾向性确定不同项目所存在的关联规则。以关联规则为立足点所延伸出来的推荐系统,就是将用户需要的信息视为规则头,通过相应的计算方式对满足推荐结构的规则进行获取时所应用的软件系统。
2.聚类推荐
聚类推荐主要是通过对聚类分析技术的应用,实现将信息向目标用户进行推荐这一目标的技术。对聚类推荐的应用,首先需要将用户进行聚类,然后再通过特定的计算方式,将需要提供给目标用户的推荐列表进行计算。该推荐技术最突出的优势主要有以下两个,首先是聚类推荐能够对建模的复杂程度进行降低,这在很大程度上降低了近邻用户寻找的难度。需要注意的是,和协同过滤相比,聚类推荐的精度相对较低,这主要是因为聚类计算往往不涉及到近邻用户所对应的距离信息。
3.协同过滤
作为出现时间最早并且应用范围最广的推荐技术,现阶段,协同过滤已经被世界各地的大型网站作为向用户提供内容推荐的技术。协同过滤主要是以兴趣、爱好高度相似的用户为出发点,通过对其他用户的分析,完成对目标用户实际信息需求的预测。对协同过滤技术进行应用的流程主要分为两步,首先通过对所收集用户信息进行计算的方式,确定用户相似度,然后再选择与目标用户契合度最高的用户,对目标用户实际信息需求进行预测。
由于不同类型的推荐算法都存在无法避免的缺陷,因此在应用过程中,设计人员往往会选择将不同推荐算法进行结合,用以保证推荐精确度的提高。现阶段,较为常见的组合方式共有三种:第一种,根据不同推荐技术所计算的结果对推荐结果进行确定;第二种,对不同推荐技术所获得的计算结果进行罗列;第三种,根据实际情况对推荐技术进行选择,确保将推荐技术所具有的积极作用进行最大化发挥。
二、基于关联规则的软件开发推荐技术
(一)关联规则的概述
1.概念
关联规则的挖掘指的是对数据不同集中项之间所具有的关联性进行发现的过程。关联规则的挖掘对数据挖掘领域具有无法替代的作用。而基于关联规则所推荐的系统指的是,通过对关联规则所对应挖掘技术的应用,完成数据分析的过程,进而满足给出推荐结果这一要求的系统。
2.分类
第一种分类方式的依据为规则处理值的类型,按照这种分类方式关联规则可被分为数值以及布尔两种。数值关联规则主要用于对量化项或是其属性关联进行描述,而关联对象往往是处于动态离散状态下的数值。布尔关联规则主要用于对项是否存在进行表示,关联对象主要是離散对象;第二种分类方式的依据为数据抽象的层次,按照这种分类方式关联规则可被分为单层以及多层两种。单层的关联规则通常并不涉及到项所对应的不同层次,多层的关联规则却需要对项所对应的不同层次;第三种分类方式的依据为数据维,按照这种分类方式关联规则可被分为单维以及多维两种。单维的关联规则往往只涉及到项的某一个维度,多维的关联规则需要对涉及不同维度的数据进行处理。
(二)系统设计
想要保证推荐系统的完整性,设计人员需要从模型分析、推荐和行为记录这三个方面出发,对推荐系统进行设计。行为记录主要负责的内容在于对用户偏好以及历史行为和相关数据进行收集;模型分析需要对行为记录所收集到的相关信息进行分析和建模,以此保证对用户特征的获取;推荐部分则指的用户特征为基础,通过推荐算法对信息进行筛选,保证推荐给用户的信息与用户爱好和需求相符。以LabVIEw为例,负责关联规则挖掘的部分为I-Apriori算法,负责推荐候选分析和计算的部分为加权计算策略。行为记录用于对相关代码进行收集,同时以公开与否作为主要参考因素对所收集代码进行分类,并分别储存在公共或是私有的代码库之中,推荐部分则通过交互的方式,对推荐列表进行计算,并提供给用户供用户自己选择。
(三)系统模块构成
1.采集模块
采集模块最主要的作用在于对推荐系统的源代码进行收集和分析。推荐系统源代码一般情况下分为公共和私有两种形式,公共代码指的是系统自带代码以及互联网共享代码等,私有代码指的是用户代码,包括用户自行编写的代码、公司内部代码等。通常来说,推荐系统自带代码和私有代码是比较容易获得的,互联网共享代码由于遍布世界各地。因此,想要对其进行获取需要首先抓取、收集VI文件,再将其进行下载并且在公共代码库中进行保存。虽然在当今社会,互联网资源始终处于变化的过程中,推荐技术经过数据分析所获得的推荐结果仍旧具有一定的稳定性,但是如果对互联网资源进行频繁的抓取,会导致公共代码库所包含代码内容不断变化,进而影响推荐结果的稳定性。除此之外,高频率对互联网资源进行抓取,必然需要花费相应的时间进行资源的分析和计算,这也会在一定程度上导致推荐系统所具有稳定性降低。通过对这一现象进行分析可以发现,按照特定时间对互联网资源进行抓取、收集和下载是比较科学的,这样做不仅能够提升公共代码库所具有的稳定性,还能避免资源抓取对推荐系统性能产生的不利影响。
2.交互模块
交互模块主要面对的工作方向为用户体验,也就是说以用户体验为出发点,对推荐列表进行优化,使其更加符合用户的使用需求。调查结果显示,大部分用户在对推荐技术进行应用的过程中,使用频率最高的部分通常为快速搜索面板。因此,推荐系统可以按照推荐面板的模式,以不同节点为出发点,对推荐结果进行分类,这样做能够在很大程度上缩短用户对所需节点进行定位的时间。另外,想要对推荐系统所具有的灵活性进行提升,设计人员可以将推荐列表的长度和其他相关选项的设置加入到相应的系统配置项中。
3.监视模块
作为推荐系统最重要的推荐部分,监视模块主要用于对开发者一系列的操作行为进行实时监视。关联规则的核心理念是通过规则头对规则体进行推测。所以,监视模块用于对规则头的相关信息进行获取,并且将所获取信息传递至推荐模块,再由推荐模块对其进行处理。
4.计算模块
作为推荐技术重要的构成部分,计算模块可以根据不同的监视模块分为不同类型。如果监视模块对VI程序框图进行检测发现用户尚未对节点进行选择,也就是说关联头不具有任何相关信息,那么计算模块只需要对交易数据相对集中的项集进行计算,如果监视模块对VI程序框图进行检测发现用户已经对节点进行了选择,那么计算模块需要将该节点所对应信息作为模块头进行计算。
三、结论
综上所述,文章核心的内容为软件开发推荐技术,首先对现阶段主要应用的推荐技术进行了叙述,例如关联推荐、协同过滤、聚类推荐等,然后又以采集、交互、监视和计算模块作为切入点,对推荐系统的构建进行了细致的分析,希望可以为设计工作的开展提供参考。