APP下载

情境化条件下基于OBN模型的推荐算法研究

2016-11-25方晓董辉何长龙

广西科技大学学报 2016年2期
关键词:贝叶斯中药材情境

方晓,董辉,何长龙

(1.亳州职业技术学院信息工程系,安徽亳州236800;2.安徽城市管理职业学院信息工程系,安徽合肥230011)

情境化条件下基于OBN模型的推荐算法研究

方晓1,董辉2,何长龙2

(1.亳州职业技术学院信息工程系,安徽亳州236800;2.安徽城市管理职业学院信息工程系,安徽合肥230011)

随着互联网的发展,用户获取信息精准度提高,个性化服务越来越重要.针对个性化推荐算法中用户相似性计算精度不高,导致算法的推荐精度低的问题,应用面向对象思想和贝叶斯理论、融合推荐对象的情境化因素,提出OBN模型,实现用户之间的相似度计算方法,该方法具有时间复杂度低、聚类稳定性强的特点.在此基础上设计个性化推荐算法.通过实验分析,提高个性化推荐的精度.

OBN;情境化;对象属性值对;时间复杂度;聚类

0 引言

随着web2.0技术的发展,信息在产生、传递、搜集、利用等各环节的深度和广度上发生变化,在指数级增长的信息量面前,人们无法获取有用的信息.研究人员采用一些计算技术来解决此问题.例如搜索引擎和推荐系统.两者的区别在于用户主动接受和用户被动接受,无论是搜索引擎还是推荐系统,都是动态、智能化学习的信息处理主体[1].而推荐系统的目标是比用户更理解用户.推荐系统在实际应用中取得良好的效果,但存在诸多的问题与困难.主要考虑情境化和算法的计算复杂度两大问题.

传统推荐系统中的算法是从用户、项目2个维度进行考虑,以此设计算法.但随着移动互联网的发展,移动用户随时产生海量的情境信息,情境化信息随时发生变化.而情境化信息中隐含用户的需求信息,更能反应用户需求的变化;因此,情境化是不可忽略的因素,但是在不同的应用领域,情境化因素对推荐的影响不一样,将情境化信息融合到传统推荐算法中,有助于提高精准度.

传统推荐系统依据大量的多样化数据来提升推荐质量,而多样化的数据在处理和计算开销很大,推荐系统的处理难度加大,影响推荐效果和效率;因此,这里通过面向对象的思想和贝叶斯理论计算用户相似度,降低计算开销.

本文在考虑情境化因素下,利用面向对象思想和贝叶斯理论改进用户相似度计算方法.与传统的推荐算法相比,使算法有一定情境感知能力,提高算法推荐的精准度,从而提高用户获取信息的能力.

1 面向对象的推荐模型

1.1 情境化推荐

在主流的推荐系统中主要从3个角度出发,一是项目数据,二是用户行为数据,三是交互数据,通过一定的算法来推荐.而用户状态、环境是变化的,融合情境信息非常必要.情境化的引入,将用户、项目2个维度扩展到项目、用户、情境多维度,使信息更加及时、精准、有效.

针对推荐领域不同,情境因素信息的影响程度以及次序不一样.融合情境化的推荐中考虑3个问题【2】:情境信息的过滤、情境信息的动态变化及情境信息的建模方法.

在农产品、旅游、季节性产品交易等领域,情境化信息对用户的选择策略有较大影响.旅游中时间、位置以及中药材交易领域中季节性变化等信息对推荐效果有直接影响.从文献[3]中得到某种中药材流通量数据的变化,如图1所示,融合情境化信息能提升推荐效果.本文提出了一个模型用以处理各类的情境信息,减少推荐系统在多类情境信息的幵销.

1.2 面向对象的贝叶斯模型

图1 某种中药材2015年流通量变化趋势图Fig.1 Changes of Chinese herbal medicines in circulation in 2015

贝叶斯网络是一个有向图结合概率计算的推理模型[4].本文提出了面向对象的思想与贝叶斯网络相结合的模型(OBN Object-Oriented Bayesian Model,简称OBN),用于用户和项目之间的隐含关联.OBN并不是用来发现潜在的兴趣,而是构造用户、项目和属性之间的分层贝叶斯网络,用以推断用户对此项目的共同概率,即共同兴趣的概率.

定义如下:

其中,U为用户集合,P被推荐资源项目集合,F属性集合,V是属性集合F对应的量值集合.面向对象的贝叶斯模型是将Pj为网络节点,通过被推荐资源项目的属性量值对与用户的属性量值对进行分析计算,通过概率计算用户Ui到Pj节点的概率.vu是用户U的属性量值对,vp是被推荐资源P的属性量值对.

贝叶斯网络应用在个性化推荐中,把被推荐资源作为网络的节点,与被推荐资源交互行为的数据,作为网络节点的评分预测[5].但是多资源组合的产品中,评分预测不适用.运用贝叶斯网络就是通过计算从U到P的过程.运用贝叶斯网络从ui到uj的过程即用户共同喜好某一被推荐资源的概率P(ui,uj),P(vp|vu)表示具有属性值对vu的用户选择具有属性值对vp的概率.

把用户和被推荐的资源项目作为两类对象,用户为贝叶斯网络第1层,被推荐的资源项目为贝叶斯第2层.用户属性值对vu为第1层的节点,被推荐的资源项目的属性值对vp,两层之间通过属性值对进行联系.用户U选择被推荐资源项目P的概率为:

在式(6)中忽略用户与用户之间的关系,用户关系可能会导致用户对被推荐资源的选择,因此构建基于面向对象的贝叶斯网络要计算用户共同选择被推荐资源的项目的概率.用户选择被推荐资源项目主要从被推荐资源项目的属性值对去分析,也是用户共同选择被推荐资源项目的内在联系.P(vp|Ui)表示用户选择某一被推荐资源的属性值对vp的概率.用户不同P(vp|Ui)的值就不同.

X(Ui)表示用户Ui需求值项,X(vp,Ui)表示属性值对vp对用户Ui的需求值项.

用户关系影响用户的选择.计算用户共同选择的概率P(Uj|Ui),表示用户Ui选择某一被推荐资源用户Uj选择的概率.

P(uj|vp)表示用户Uj具有属性值对vp的行为概率,公式前一部分是用户Ui和用户Uj共同选择某一被推荐资源的个性概率,后部分是用户Ui和具有属性值对vp的用户Uj共同行为的全局概率.α是权值,取值范围α∈[0,1].在其他的推荐算法中用户相似度的计算如同P(Uj|Ui).

2 面向对象的推荐流程

2.1 推荐流程描述

在不同领域情境信息具有不同数据格式,在基于对象属性值对表示方法的基础上,有效融合不同数据格式的情境信息.如何有效应用到推荐领域中,要发挥面向对象思想和技术,尤其是对象的属性值对. OBN算法推荐流程描述如下步骤:

step1在领域中获取源数据和选定属性,对不同格式数据进行定值和归一化处理.对属性值对初始化;

step2依据属性值对,构造对象;

step3从源数据或行为记录分析,对象进行封装和初始化,比如用户对象;

step4设计面向对象模型,分析对象之间的关系;

step5对象相似性计算,依据协同过滤方法,进行被推荐资源项目的初始化;

step6动态优化被推荐资源项目集.

2.2 属性选择

为了描述被推荐资源项目的对象,从原始数据中抽取相关的属性值对,本实验从中药材交易信息数据获得.选择中药材交易信息数据的属性值分别为品种、规格、数目、场地、价格、药市、信息发布者、时间,每个属性反映对象的每个特征.品种是被推荐资源项目的核心要素,规格和场地反映被推荐资源项目详细参数.药市是地理信息属性,则价格是关系要素.

中药材品种是中药材的名称,隐含药用部分和中药材的品质,中药材品种数目212种,规格包括药材的颜色、产地、包装、外在形状,价格和药市是相关联的,在不同的药市,价格是不同的.时间属性能够反映价格的变化.

中药材是特殊的农业产品,有一定的时间性因素即季节性属性.中药材上市时间有季节性,在概率上分析是稳定的.通过信息增益的方法划分不同的时间段[6],每个时间段的信息熵H(N),计算公式:

其中,N是时间段上市药材品种数目,P(x)是中药材品种x在时间段出现的比重,首先把一年作为一个时间段,再进行递归划分几个时间段,在递归中进行优化找到最佳优化.通过加权平均熵进行优化.

在上述公式中,N1(i),N2(i)是第i时间段的子阶段,对N的划分.在划分中产生信息熵的变化.

在中药材品种上进行不同程度的划分.品种划为11种,分别为:根茎类、果实籽仁类、全草类、花草类、树皮类、叶类、藤木类、树脂类、菌藻类、动物类、矿物类.

2.3 构建初始候选集

在对象属性值对的基础上,可以通过上述概率计算购货商用户的相似度.随时间和空间的变化,用户兴趣发生变化.所以把一个年度的购货商交易记录作为一个对象.在一定的时间的条件下购货商的相似度.通过协同过滤思想,构建每个购货商的推荐列表.

协同过滤就是对于给定用户,通过相似度计算找到另一用户.两用户喜好的项目接近或类似[7].将共同喜好的项目推荐给此用户.但中药材上市是随时间而变化,中药材购货商在不同的时间段兴趣是不同的.因此要计算不同时间段下购货商用户的最近邻居.并推荐最近邻居喜欢的项目.其次要考虑购货商历史的行为记录.上述分析可得:sim(Ui,Uj)=P(Uj|Ui),将注册时填写信息、交易的记录、交易评分项目等作为购货商用户属性,即vu.生产地、品种、规格、价格、数目等作为中药材交易信息的属性,即vp.在同一段时间ty的条件下,2个购货商用户的相似度simty(Uj,Ui).

在分析用户的相似问题,应同时分析项目的相似性问题.对中药材的相似性问题用通过品种、规格、产地、时间等对象的属性值来计算[8]:

3 实验验证

3.1 实验数据处理与实验方法

实验数来自药博商城http://www.yobo360.com,把实验数据分成两部分:一是样本训练集,二是测试集实验数据.选择每个购货商用户一次的交易记录作为测试集的一条数据,该购货商用户其余交易记录作为样本训练集.包含98名购货商、产生交易记录1 750条涉及102中药材品种,测试集有98个交易记录和73个中药材品种[9].

在实验数据选择方面,从用户、项目、情境3个维度上对数据进行选择与剔除,用户方面主要考虑是UID唯一的ID、用户注册上的兴趣类型.在项目上,即表示其他用户发布的供求信息的数据.选择供求的药材品种、中药材自身特有的产地和规格属性.情境化数据中,一是历史交易数据中获取用户的交易量、交易品种以及交易药材来自的产地,原因是交易量能反映用户等级划分,产地则反映用户感兴趣交易位置;二是时间数据,原因是中药材上市交易与季节性变化有直接的关系.

在实验数据中,选取10个属性值对,其中对实验的数据集进行预处理,将对象属性值对中文本数据进行标准量化,数据预处理情况如表1.

表1 中药材交易对象属性值对Tab.1 Property value of Chinese herbal medicines in the transaction

在实验中分7次进行,数据量随之增大,数据集分训练集和测试集,在测试密度不变条件下,提高训练密度,具体实验参数如表2所示.

表2 实验数据设计Tab.2 Experimental data design

3.2 实验分析

在Intel(R),celeron(R)cpu E3400,2.6 GHz内存2 GHz,wondows实验平台下.对S1,S2,S3,S4,S5,S6, S7实验中,分别利用EM算法[7]、KMean算法、OBN算法进行聚类试验,进行实验数据对比.

如图2所示,实验数据集在Kmean算法中计算,有数据集分类A,B两类,随实验次数的增加,A,B类占训练数据的比例趋于稳定.随数据间相关性变化,训练时间有所差别.

将OBN与Kmean在同数据集下实验,时间复杂度进行比较,相关性强数据对OBN时间复杂度有影响.如表3所示.

图2 KMeans算法分析图Fig.2 KMeans algorithm analysis

表3 算法复杂度比较Tab.3 Comparison of computational complexity

从图2和表3中对比表明,OBN算法的运行效率高于KMean算法,这样使得推荐系统的反应大大提高.有利于用户及时获取有效信息.

在实验中利用EM算法和OBN算法对数据集进行分类,随实验次数增加,分类趋于稳定,最大似然估计逐渐变小.而OBN算法在聚类情况与Kmean算法相似.如图3(a)~图3(c)所示.

图3 算法分析图Fig.3 Analysis of algorithms

图3(a)描述每次实验EM算法聚类数目和最大最大似然估计系数,而图3(b)是对本文的OBN算法的聚类数目和最大最大似然估计系数计算.由此图3(c)将EM算法和OBN算法进行比较,表明OBN算法在数据适应性上强于EM算法,OBN算法对数据的敏感度降低.

个性化推荐系统的优劣主要是通过算法计算,得到候选项目集,将候选的项目集推荐给用户.算法推荐的精准度在于候选项目集是用户感兴趣、喜好和急需的资源.而在传统的协同过滤推荐算法中,MAE (MeanAbsolute Error)反映的用户的评分和预测的评分差异度,不能准确反映算法推荐的精准度;为此,本文的情境化条件下基于OBN推荐算法的精准度,则采用用户在测试集中使用推荐候选集项目资源的概率来计算(Probability of Using the candidate set,POUTCS)[10].

其中,U,C分别表示用户在测试集使用项目资源集合和情境化条件下OBN推荐算法的候选项目集合,|U∩C|表示用户在算法计算上得到偏好项目数量,|C|表示候选集项目的总数.情境化条件下基于OBN推荐算法(CAOBN)和传统协同过滤算法(CF)在POUTCS上对比如图4所示.图中最后一组数据是前7组实验的平均数值.因为每个测试者对多种情境的推荐列表进行评价;因此,图1中的推荐准确率是多种情境推荐准确率的均值.从图4中可以得到,情境化条件下基于OBN算法在一定程度上提高了推荐度.

4 结语

图4 CF-CAOBN推荐度对比Fig.4 CF-CAOBN algorithm analysis

针对中药材交易信息情境化问题进行了探讨,在贝叶斯理论基础上提出了在情境化条件下基于OBN的用户相分类方法,及在此基础上给出的情境化条件下的OBN推荐算法,根据实验结果可以得出如下结论:

1)在数据集量等同下,OBN分类方法的时间复杂度优于Kmean算法;

2)在同等量级的数据下,OBN分类方法与EM算法相比,具有分类的稳定性;

3)在同数据集下进行测试,分类准确性高;

4)与传统协同过滤算法相比,提高推荐度.

在中药材交易情境下研究用户分类取得了一些进展,但是其他领域的分类应用、研究和实验的参数分析、算法的迭代次数考虑,以及评价标准等还有许多工作需要进一步完善.

[1]ADOMAVICIUS G,TUZHILIN A.Toward the Next Generation of Recommender Systems:A Survey of the State-of-the-art and Possible Extensions[J].IEEE Transactions on Knowledge and Data Engineering,2005,17(6):734-749.

[2]ADOMAVICIUS G,TUZHILIN A.Context-aware Recommender Systems[M]//KANTOR P B,RICCI F,RDKACH L,et al. Recommender Systems Handbook.Berlin:Springer,2010.

[3]中国中药协会中药材信息中心.麦冬产地流通量数据(2015年3-7月)[EB/OL].(2015-08-20)[2015-09-10].http://www. zyctd.com/article-220792-1.html.

[4]李硕豪,张军.贝叶斯网络结构学习综述[J].计算机应用研究,2015,32(3):643-646.

[5]HARVEY M,CARMAN M J,RUTHVEN I,et al.Bayesian Iatent Variable Models for Collaborative Item Rating Prediction[C]// Proceedings of the 20th ACM International Conference on Information and Knowledge Management.New York:ACM,2011.

[6]FAYYAD U M,IRANI K B.Multi-interval Discretization of Continuous-valued Attributes for Classification Learning[J].JPLTechnical Report,1993:1022-1027.

[7]闫夏,谭光兴,林川.基于免疫聚类算法的MRI膝关节图像分割[J].广西科技大学,2015,26(1):70-74.

[8]LI Y,LU L,XUEFENG L.A Hybrid Collaborative Filtering Method for Multiple-interests and Multiple-content Recommendation in E-Commerce[J].Expert Systems with Applications,2005,28(1):67-77.

[9]方晓,孙慧婷.融合聚类和协同过滤推荐算法在中药材交易信息平台的应用[J].广西科技大学学报,2015,26(4):49-53.

[10]曾子明,李鑫.移动环境下基于情境感知的个性化信息推荐[J].情报杂志,2012,31(8):166-170.

OBN-based recommended algorithm research under contextualization

FANG Xiao1,DONG Hui2,HE Chang-long2
(1.Information Engineering Department,Bozhou Vocational and Technical College,Bozhou 236800,China; 2.Information Engineering Department,Anhui Vocational College of Urban Management,Hefei 230011,China)

With the development of the Internet,users require information with higher accuracy,which makes personalized service more and more important.In order to improve the low accuracy of calculating the users’similarity by personalized recommended algorithm and the low recommendation accuracy problem,this paper puts forward the OBN method by applying the object-oriented thinking and Bayesian theory and combining the situational factors of the objects to figure out the algorithm that can calculate the similarities between users.The method has the characteristics of low time complexity and strong clustering stability,on which the personalized recommended algorithm is designed.And through experimental analysis,we can improve the personalized recommendation accuracy.

OBN;contextualization;object property value pairs;time complexity;cluster

TP391

A

2095-7335(2016)02-0093-07

10.16375/j.cnki.cn45-1395/t.2016.02.016

(学科编辑:黎娅)

2016-01-05

安徽省振兴计划高等学校优秀青年人才重点基金项目(2013SQRL129ZD);安徽省高校自然研究重点项目(KJ2015A445,KJ2015A417);亳州市第三批产业创新团队(亳组〔2015〕20号)资助.

方晓,硕士,讲师,研究方向:软件设计、智能信息处理,E-mail:fx8188@163.com.

猜你喜欢

贝叶斯中药材情境
情境引领追问促深
不同情境中的水
夏季中药材田间管理做好这五点
中药材促农增收
宋四清:种植中药材 托起致富梦
贝叶斯公式及其应用
护患情境会话
特定情境,感人至深
基于贝叶斯估计的轨道占用识别方法
DNA提取4种中药材方法的筛选