APP下载

用户隐式评价的农业知识协同过滤推荐算法优化与仿真

2015-09-14刘波等

物联网技术 2015年8期

刘波等

摘 要:基于湖南国家农村农业信息化示范省建设项目农业知识抽取与推荐研究,提出了基于用户隐式评价的农业知识协同过滤推荐算法。该算法主要针对协同过滤算法中用户偏好描述粒度大和评价矩阵稀疏引起的相似度计算不准确问题,通过建立农业知识标准特征矩阵和用户评分项目内容权重矩阵,然后基于内容的特征对评价矩阵进行填充,再基于项目协同过滤算法推荐相应的知识。使用农业数据集论证了本算法也适合农业文本知识推荐。该方法既改善了数据稀疏性,同时又反映了用户的个性兴趣。

关键词:协同过滤推荐;用户偏好-项目评价矩阵;混合推荐算法;农业知识服务

中图分类号:TP311.13 文献标识码:A 文章编号:2095-1302(2015)08-00-04

0 引 言

当前农业知识服务,主要是农户被动接受信息,导致涉农组织、农户想要的信息得不到,不适用的信息却很多。在这种背景下,推荐技术作为个性化服务的核心技术[1],相继移植到农业知识服务领域。大众化的农业知识推送,基于内容的个性化推荐近些年取得了大量的成果,然而,推荐技术在个性化农业知识服务上存在诸多挑战[2],主要表现在:

(1)农业信息的动态时效性、区域性给用户兴趣表示带来多样性;

(2)用户文化层次较低,农业知识的客观性,农业农村信息基础设施较差使系统很难显式获取用户的评价行为;

(3)农业用户的小规模性和农业知识的海量存储,导致用户评价矩阵稀疏,传统的协同过滤算法难以直接应用。正是在这样的背景下,湖南国家农村农业信息化示范省建设项目组开展基于协同过滤的农业文本知识推荐模型与算法研究[3]。

1 相关定义

1.1 用户偏好

用户模型是个性化信息推荐的基础,必须建立合适的用户模型表示用户偏好,并能有效的进行学习、更新,使其准确表示用户特征。由于农业典型的生态区域性和过程复杂性,涉农用户在组织从事农业生产经营活动中,与种植环境、养殖情景、流通节奏息息相关,如何反应这种动态变化的具有区域性、多样化兴趣是解决农业个性化信息服务的关键问题之一。同时本文的研究对象主要是涉农用户,由于文化层次相对较低,上网获取信息能力较差,对网络深度应用不多,造成用户偏好数据获取困难。传统的加权关键词,表示用户兴趣模型,采用“用户-兴趣特征”两级管理方式,没有对用户偏好进行分类,降低了推荐精度,文献[4]针对此问题进行研究,改进为“用户-兴趣主题-兴趣特征”的三级管理方式,文献[5]基于层次矢量空间模型,采用用户浏览行为计算网页兴趣度,具有较高的准确率和召回率。文献[6]基于矢量空间模型构建了基于用户兴趣的信息检索模型,进行了基于用户兴趣模型的个性化实现。

1.2 用户兴趣度量

用户浏览内容时伴随多种浏览行为,用户浏览一次相关页面的行为形成相应的一条历史记录,研究表明用户一定时间段内,许多浏览行为能很好反映用户兴趣,主要表现为保存页面、打印页面、收藏页面,在一时间段内访问同一页面次数,在页面上浏览停留时间[7,8]。目前研究中一般通过内容关键词,结合赋予这些行为以权值来表达网页和用户兴趣相关性得到用户特征矢量。对权值的处理通常有两种方式[7]:第一种是把用户浏览各种行为的权值相加;第二种是几种行为同时发生的,取其中最大值。前者放大了网页对用户兴趣表达的重要性,后者缩小了网页对用户兴趣表达的重要性。文献[9]研究表明,基于其访问页面次数、停留时间的用户兴趣度性能好且较接近,在实际浏览中,会出现页面驻留时间远超用户正常浏览时间和远小于用户浏览时间的两种异常情况[9,10]。

1.3 特征词兴趣值度量

根据用户对特征词,所在农业知识条目页面实际浏览时间、该特征词在该用户所有浏览记录中出现的次数、浏览兴趣度来表示。同时为了更精准表示用户兴趣值,用页面停留时间平均值取代实际浏览时间。

1.4 用户兴趣向量

由于农业知识复杂性,同一兴趣关键词可能属于不同主题,同一关键词也可能有多种表示形式,将用户兴趣组织为主题层次树,对树中的兴趣主题和关键词分别定义权值。这样,树结构既可表示用户兴趣主题,也可表示用户兴趣特征关键词,还可表示对兴趣主题或兴趣特征词的偏好程度。

2 用户隐式评价的农业知识协同过滤推荐算法

2.1 算法框架

基于用户隐式评价的农业知识协同过滤推荐算法CIECF (Collaborative Filtering Based on Agricultural Knowledge Content and Implicit Evaluation),其主要思想是在构建“用户-农业知识”评价矩阵中,将学习到的基于内容的标准特征词的用户兴趣向量融合到基于查询、浏览行为的用户隐式评分中,相对于纯粹基于评分的评价矩阵具有更细的兴趣粒度;推荐过程中,以用户已评分项目的内容特征计算其内容权重,对未评分项目基于内容的评分预测填充,以此使“用户-农业知识”评价矩阵稠密。在此基础上,计算项目之间基于内容特征和评分的相似性,选择目标最近邻,使用项目协同过滤,对近邻的目标项目预测评分,从而预测目标用户对未评分目标项目的评分,再对目标用户所有未评分项目的预测评分值降序进行Top-N推荐。其框架如图1所示。

2.2 算法具体描述

该算法分为以下几个步骤:

步骤一:基于浏览评价的用户内容权重

“用户-农业知识”评价矩阵考虑农业知识内容特征较少,而实际上用户浏览行为是对农业知识特征词感兴趣,用户已评分信息应反映对特征词感兴趣的权重;一般用户对特征比较相似的农业文本知识评价也是比较相似的。因此,可利用农业文本知识的特征来反映用户浏览项目的内容权重。

设Ci类农业知识标准特征属性矩阵如下表示:

其中,n为农业知识项目总数,d为特征总数,in(t)为项目in的第t个属性,其值为0和1,1表示具有这种特征,0表示不具有这种特征。

用户评分项目的内容权重算法描述如下:

输入:“用户-农业知识”评价矩阵Gi,农业知识标准特征属性矩阵feaMatrix。

输出:用户评分项目内容权重矩阵UserMatrix。

Step1:对于“用户-农业知识”评价分矩阵Gi提取每个用户的评分记录;

Step2:从农业知识标准特征属性矩阵feaMatrix查询用户每个评分项目标准特征词,得到用户评价项目的特征;

Step3:在“用户-农业知识”评价矩阵中,统计该用户浏览评价中包含有某标准特征词的项目的数量,作为用户浏览评价该标准特征词的权重。得到以用户为行,标准特征词为列的内容权重矩阵UserMatrix。

步骤二:基于内容的评分预测填充

根据用户对项目的评分计算出了用户对浏览同类特征知识的内容评价,用户浏览知识具有一定的兴趣主题,在“用户-农业知识”评价矩阵中表现为对同类型知识的评分和,因此对用户ui未访问农业知识ij的预测评分,可用已浏览同类型农业知识的评分和,除以用户评价权重来反映。其算法描述为:

输入:“用户-农业知识”评价矩阵Gi,农业知识标准特征属性矩阵feaMatrix,用户评分项目内容权重矩阵UserMatrix。

输出:“用户-农业知识”评价稠密矩阵Gi'。

Step1:对于“用户-农业知识”评价分矩阵Gi提取每个用户的评分记录;

Step2:判断每个用户的评分项目,对未评分某个项目在feaMatrix矩阵查询对应的特征信息(typeScore1, typeScore2,…, typeScore k),在“用户-农业知识”评价矩阵Gi中,计算具有相应特征typeScore1所有农业知识的浏览评分和sum(typeScore1);再算包含其他特征typ-eScore k的农业知识用户浏览评分和sum(typeScore k);得到未评分项目基于农业知识特征用户浏览评分和typeScore =sum(sum(typeScore1), sum(typeScore2),…, sum(type-Score k))。

Step3:在UserMatrix内查找此用户未评分项目对应特征的用户评分项目内容权重并求和,即progType =sum(sum(progType1), sum(progType2),…,sum(progType k))。

步骤六:基于Gi的Top-N推荐

对步骤五产生的评分TOP-N排序,产生兴趣主题Ci下的推荐Collectioncirecom;

步骤七:对其他主题下分矩阵Gi并行执行前述六个步骤,产生相应推荐集合Collectioncirecom;

步骤八:最后根据每个兴趣主题分类按主题权值在该用户兴趣模型中所占比例产生推荐集合CollectionTrecom。

3 仿真实验

3.1 实验环境与数据集

(1)硬件环境

仿真时可选用神舟优雅A560P-i5 D4笔记本1台, Intel Core i5-2450双核移动处理器,8 G DDR3 1 333 MHz 内存,500 G SATA2.0硬盘。

(2)软件环境

操作系统:Windows7 64位 旗舰版 SP1

模拟仿真环境:Matlab2012b

3.2 基于农业知识数据的实证实验

湖南省国家农村农业信息化示范省综合服务平台处于上线测试阶段,通过对评分数据的预处理之后,获得15个独立用户对59条农业知识的69次评分数据,数据集稀疏度为1-[69/(15×59)]≈0.922,整理后的数据如表1所列,数据记录了用户编号、农业知识编号、用户评分、农业知识类型(已用数字1、2…进行了规范化处理),农业知识类型用于代表农业知识内容特征。实验中选择最近邻居算法中表现效果最好的BCF-PCC、CIECF-ACOS算法作为对照组实验。

两种推荐算法的预测准确性实验结果如表2和图2所示。此数据集下BCF-PCC算法的MAE值基本保持在恒值,通过分析算法运行过程,原因在于用户共同评价农业知识非常稀少,于是有可能:(1)本来兴趣相似的两个用户因为共同评分项少,不会有太高的相似度;(2)兴趣不太相似的两个用户因为在仅有的1、2个共同评分项中评分类似。

虽然相似度比较高,但相似度计算较不准确,实际上通过观察发现,上述算法计算过程中,相似度矩阵值绝大部分为零,因此,在当前数据集下,传统协同过滤算法不具有适用性。本文提出的CIECF-ACOS算法在邻居数为1、2、3、4、5、6时具有较高的预测精度,在最近邻为3时,效果最好,本文的算法在农业数据集和公共数据集下表现相似的推荐效果。

4 结 语

本文结合农业知识条目特征和“用户-农业知识”评价矩阵,提出了基于用户隐式评价的农业知识协同过滤推荐算法,该算法通过对极端稀疏矩阵进行基于农业知识内容特征的评分填充,减少了稀疏性问题和语义粒度划分大的问题对推荐效果的影响。通过实验表明本文算法提高了知识推荐的准确率、推荐效果的稳定性、降低在线推荐时间复杂度,适合农业文本知识推荐,对湖南国家农村农业信息化示范省建设农业知识智能推送研究有一定指导意义。

参考文献

[1] DietmarJ.,Markus Z.,Alexander F.,et al.Recommender Systems[M].北京:人民邮电出版社,2013:1-200.

[2]郭平,刘波,沈岳.农业云大数据自组织推送关键技术综述[J].软件,2013,34(3):1-6.

[3]刘波,沈岳,郭平,等.数字湖南农业信息化建设关键策略探索[J].软件,2013,34(10):1-6.

[4]费洪晓,蒋习翀,徐丽娟.基于树状向量空间模型的用户兴趣建模[J].计算机技术与发展,2009,19(5):79-81,85.

[5]郝水龙,吴共庆,胡学钢.基于层次向量空间模型的用户兴趣表示及更新[J].南京大学学报(自然科学),2012, 48(2):190-197.

[6] Claypool M, Le P, Wased M, et al. Implicit Interest Indicators[C].Proc. of the 6th International Conference on Intelligent UserInterfaces. Santa Fe, New Mexico, USA: ACM Press, 2001: 33-40.

[7]南智敏.基于网页兴趣度的用户兴趣模型体系研究[D].上海:复旦大学,2012:24-38.

[8]杨晶.用户兴趣模型及实时个性化推荐算法研究[D].南京:南京邮电大学,2013:16-41.

[9]应晓敏.面向Internet个性化服务的用户建模技术研究[D].长沙:国防科学技术大学,2003:55- 77.

[10]刘春,梁光磊,谭国平.基于用户兴趣变化融合的个性化推荐模型[J].计算机工程与设计,2013,34(8):2944- 2950.