Computer Science and Application 计算机科学与应用, 2015, 5, 231-238
Published Online June 2015 in Hans.
231
A Collaborative Filtering
Recommendation Algorithm Basing
on Preference Navigation for
Agricultural Science and Technology
Information
Wenchao Wang1, Jinling Song1, Liming Huang2, Aiyong Liu1
1College of Mathematics and Information Technology, Hebei Normal University of Science & Technology,
Qinhuangdao Hebei
2College of Business Administration, Hebei Normal University of Science & Technology, Qinhuangdao Hebei
Received: Jun. 2nd, 2015; accepted: Jun. 23rd, 2015; published: Jun. 26th, 2015
Copyright © 2015 by authors and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY).
Abstract
Although the recommendation technology has been used in agricultural science and technology
information service website, it is still obvious that the recommendation result lacks of persona-
lization. In order to solve this problem, a collaborative filtering recommendation method basing
on preference navigation for agricultural science and technology information is proposed. For
the website with single user type, the candidate preference information are selected for the
target user firstly according to the browsing quantity, then the recommendation information is
determined according to the ratings of the other users. For the website with various types of us-
ers, user preference navigation information is chosen according to the browsing history and
rating of the target user firstly, the navigation users are determined basing on user preference
navigation information secondly, then similar users are determined through the ratings of na-
vigation users, finally predict ratings of other items and recommend according to the similar
users.
Keywords
User Preference, Collaborative Filtering, Single User Type, Multiple User Type, Similarity
基于兴趣导航的农业科技信息协同过滤推荐方法
232
基于兴趣导航的农业科技信息协同过滤
推荐方法
王文超1,宋金玲1,黄立明2,刘爱勇1
1河北科技师范学院数信学院,河北 秦皇岛
2河北科技师范学院工商管理学院,河北 秦皇岛
收稿日期:2015年6月2日;录用日期:2015年6月23日;发布日期:2015年6月26日
摘 要
由于推荐技术在农业科技信息服务领域的应用处于起步阶段,而传统推荐技术的针对性又存在不足,针
对这些问题,提出了基于兴趣导航的协同过滤农业科技信息推荐技术。对于用户类型比较单一的网站,
首先根据信息的浏览量选择目标用户的候选兴趣信息,然后根据其他用户对候选信息的评分确定最终的
推荐信息。对于用户类型多样化的网站,首先根据目标用户的历史浏览信息及评分确定用户兴趣导航信
息,然后根据导航信息确定导航用户集,再通过导航用户集的项目评分确定相似用户集,最后根据相似
用户对其他信息进行评分估计并进行推荐。
关键词
用户兴趣,协同过滤,单用户类型,多用户类型,相似度
1. 引言
随着农业信息化的快速发展,农业科技信息的发展呈现出庞大且复杂的趋势,据统计当前中国农业
类相关网站数量已经超过了 4万家(其中政府主持的也超过了 4000家),3000多个农业期刊,涉农类综合
报纸或专业报纸也到达数百种,广播电视也都有农业类节目或栏目[1]。但是这种数量扩大的优势并没有
给农民带来多少真正的实惠,大多数涉农企业、偏僻的农村、渴望致富的 9亿农民对信息的需求有近 90%
得不到满足[1]。究其原因在于面对如此庞大的信息量,农民无法从中快速、准确地找到他们所需要的农
业科技信息。
推荐技术作为解决信息过载的主要技术之一在电商等领域已经得到了越来越多的应用[2]-[7]。协同过
滤推荐技术是最为传统的推荐技术,也是目前最为成功有效的推荐技术[2]。其基本思想是基于用户——
项目评分数据集,通过收集相似用户的兴趣信息进而为目标用户进行推荐。因此,将推荐技术应用到农
业科技信息服务网站,是解决农民的信息需求、提高农业信息服务质量的有效途径。
在农业科技信息服务过程中,由于用户所经营的农业生产分类不同,用户之间感兴趣的信息也会不
同,传统的协同过滤推荐技术单纯根据用户或项目之间的相似性对目标用户进行推荐,却忽略了用户本
身的兴趣,使得推荐结果针对性不强、推荐精度较低,而推荐技术在农业科技信息服务领域的应用研究
[8]还处于起步阶段,在这种情况下,需要对传统的协同过滤推荐技术进行改进,提出更加适用于农业科
技信息服务的推荐技术。
基于兴趣导航的农业科技信息协同过滤推荐方法
233
为了给目标用户提供针对性的、感兴趣的农业科技信息,根据农业信息服务网站的用户种类对网站
进行分类,针对不同类型的网站,以用户兴趣为导航,并结合传统的协同过滤推荐方法,分别提出了基
于兴趣导航的农业科技信息协同过滤推荐方法。
2. 基于兴趣导航的农业科技信息协同过滤推荐方法
有的农业信息服务网站(比如中国黄骅冬枣网)虽然信息量很大,但是它的用户类型比较单一(均为冬
枣种植者),该网站的农业信息也比较单一(与冬枣相关的农业信息)。对于这种用户类型单一的网站,由
于所有用户所关注的信息基本相同,即用户兴趣基本相同,这种情况下无需显式表达目标用户的兴趣,
网站上受欢迎程度高的信息也是目标用户的兴趣所在,而网站信息的浏览量和评分可以代表信息的受欢
迎程度,某条信息的浏览量越大、评分越高,说明该条信息越受欢迎。因此可以根据各个信息的浏览记
录,选择浏览量最高的 N条信息作为候选信息,再根据各条信息的用户评分对信息进行综合测评,选择
评分均值大于某阈值的信息推荐给目标用户。
有的农业信息服务网站(比如中国农业信息网),它的农业科技信息涉及农林牧副渔等各个生产部门,
农业科技信息不仅数量众多而且类型复杂,这种网站的用户可能为果农、菜农、渔民等不同类型,不同
类型用户所关注的信息也各不相同,即用户之间的兴趣差异较大。对于这类网站,只有目标用户的兴趣
被明确表达出来,才能对相似用户的筛选起到真正的导航作用。因此,对于多用户类型的农业信息服务
网站,我们首先构造用户兴趣导航信息集,然后根据用户兴趣导航信息集筛选导航用户集及相似用户集,
最后将相似用户集评分最高的前 N条信息推荐给目标用户。
. 相关符号及定义
为了区分不同类型的农业信息服务网站,我们为网站增加了用户类型特征 D,D的取值范围为{0,1},
其中 D = 0表示该网站是单用户类型网站,D = 1表示该网站是多用户类型网站。设网站的用户集合为
{ }1 2, , , mU U U U= ,农业科技信息(即项目)集合为 { }1 1 2 2, , , , , ,n nI I B I B I B= ,其中 Bj表示项目 Ij
的浏览量,用户——项目评分数据集用 m×n 阶矩阵 R 表示。 ( ), 1 ,1i jR i m j n≤ ≤ ≤ ≤ 表示用户 Ui对项目
Ij的评分,Ri,j为 null表示用户 Ui对项目 Ij没有进行评分。用户 Ui的评分集合记为 { }1 2, , ,Ui i i inR R R R= ,
农业科技信息 Ij的评分集合记为 { }1 2, , ,Ij j j mjR R R R= 。
定义 1 (候选兴趣项目集合)对于类型 Di = 0的网站,设该网站的用户集合为 { }1 2, , , mU U U U= ,项
目集合为 { }1 1 2 2, , , , , ,n nI I B I B I B= ,设目标用户为 iU U∈ ,则目标用户 Ui的候选兴趣项目集合为
I中浏览量最大的前 N条信息,候选兴趣项目集合 CPI(Ui)可表示为:CPI(Ui) = { , ,j j j jI B I B I∈ 且 Bj
至少大于其他|I|-N条信息}。
定义 2 (综合评分)给定农业科技信息推荐系统的用户集合 { }1 2, , , mU U U U= ,设目标用户为 iU U∈ ,
目标用户的候选项目集合为 CPI(Ui),对任意的项目 ( ),j j iI B CPI U∈ ,根据 RIj中所有评分得到的该项
目的综合评分记为 SRj。
定义 3 (用户兴趣导航信息集)给定农业科技信息推荐系统的用户集合 { }1 2, , , mU U U U= ,用户——
农业科技信息评分数据集为 R,设目标用户 iU U∈ ,用户 Ui的评分项目记为 { }, , , ,Ui c c d dI I B I B= ,
其中项目 ,j jI B ( )c j d≤ ≤ 的评分 ,i jR null≠ ,则用户 Ui 的兴趣导航信息集为 IUi 中评分最高的 N
( )1 N n< < 条信息,用户 Ui的兴趣导航信息集 ( )iUPNI U 表示如下:
( ) { }1 1, , , ,i l l l N l NUPNI U I B I B+ − + −= ,其中 l x UiI I+ ∈ ( )0 1x N≤ ≤ − 且 ,i l xR + 大于 IUi中其他项目的评分。
定义 4 (导航用户集)对目标用户 Ui的导航信息集 ( ) { }1 1, , , ,i l l l N l NUPNI U I B I B+ − + −= ,如果某用
户 Uj在这些信息上都作出过评分,则用户 Uj为目标用户 Ui的导航用户,所有导航用户构成的集合记为
基于兴趣导航的农业科技信息协同过滤推荐方法
234
( ) ( ){ }, 0 1i j j j l xUN u U U U R null x N+= ∈ ≠ ≤ ≤ −且 。
定义 5 (用户相似度)给定农业科技信息推荐系统的用户集合 { }1 2, , , mU U U U= ,设目标用户 iU U∈ ,
任意用户 ( )j iU UN u∈ 与用户 Ui的相似性表示为 SIMi,j。
定义 6 (相似用户集)给定农业科技信息推荐系统的用户集合 { }1 2, , , mU U U U= ,设目标用户 iU U∈ ,
对任意用户 ( )j iU UN u∈ ,如果他与目标用户的相似度 ,i j simSIM T> ,其中 Tsim 为用户相似度阈值,则用
户 Uj为目标用户 Ui的相似用户,目标用户 Ui的相似用户集 ( )iSIM u 可表示为:
( ) ( ){ },,i j j i a b simSIM u U U UN u SIM T= ∈ >且 。
. 基于单用户类型的兴趣导航协同过滤推荐算法
若网站的用户类型比较单一(网站类型根据网站开发目的即可确定),尽管农业科技信息数据量很大,
但是的网站的信息构成并不复杂,根据前文分析,这种情况下的农业科技信息的推荐较容易。推荐的主
要过程如下:首先根据信息的浏览量选择目标用户的候选兴趣信息,然后根据其他用户对候选信息的评
分确定每条信息的综合评分,最终选取综合评分大于某阈值的信息作为推荐信息。
对于综合评分与评分阀值的确定,我们都选择加权平均的度量方法。其中综合评分 SRj 和综合评分
阀值 TSR的公式分别如公式(1)和公式(2)所示。
,i i jU U
j
R
SR
U
∈=
∑
(1)
1
j
j N
SR
SR
T
N
≤ ≤=
∑
(2)
基于单用户类型的兴趣导航农业科技信息协同过滤推荐算法(SUCFRA)描述如下:
SUCFRA(D, Ui, U, I, R, N)
输入:网站类型 D, 目标用户 Ui, 用户集合 U, 项目集合 I,用户项目评分矩阵 R, 常数 N;
输出:推荐项目集合 RI;
If D=0 then
/* 根据信息的浏览量选择目标用户的候选兴趣信息*/
CPI(Ui)=∅;
for(i=1 to N)
CPI(Ui)=CPI(Ui)∪{I中剩余的 Bi值最大的项目};
endfor
for each(<Ij,Bj>∈ CPI(Ui)) do /* 计算 CPI(Ui)各个项目的综合评分*/
y=0;
for each(Rs,j∈ RIj) do
if Rs,j ≠null then
SR = SR + Rs,j;
y=y+1;
endfor
基于兴趣导航的农业科技信息协同过滤推荐方法
235
SRx =SR/y;
T = T+ SRx;
endfor
TSR = T/N; /* 计算 CPI项目的综合评分阈值*/
for each(<Ix,Bx>∈ CPI(Ui)) do /* 选择 CPI中大于综合评分阈值的项目作为推荐项目*/
If SRx > TSR then
RI= RI ∪ Ix;
endfor
return RI;
. 基于多用户类型的兴趣导航协同过滤推荐算法
对于用户类型多样化的网站,协同过滤推荐算法是以用户兴趣为核心进行设计,旨在通过发掘目标
用户兴趣所在,为目标用户产生一个推荐列表。算法的主要步骤如下:1) 首先根据目标用户Ui的历史浏
览信息及评分确定用户兴趣导航信息 ( )iUPNI u ;2) 选择对 ( )iUPNI u 中所有信息作出评分的其他用户构
成目标用户Ui的导航用户集 ( )iUN u ;3) 计算 ( )iUN u 中每个用户与目标用户Ui的相似度;4) 计算 ( )iUN u
中所有用户的相似度阀值Tsim,;5) 选取 ( )iUN u 中相似度超过阀值Tsim的用户构成目标用户Ui的相似用户
集 ( )iSIM u ;6) 选择 ( )iSIM u 中所有用户都评价的项目构造相似项目集Is;7) 根据 ( )iSIM u 中所有用户
的相似度作为权重计算Is中各项目的预测评分;8) 选取Is中评分最高的k条信息构成推荐列表。由于本推
荐系统中为用户推荐的信息不宜太多,以便用户在短时间内看完,因此k选取较小的数(如10左右)即可。
这里的用户相似度计算方法采用相关相似性方法,根据目标用户 Ui和用户 Uj对用户兴趣导航信息集
上的评分的 Pearson相关系数度量,用户相似性表示如公式(3)所示。
( )( )( )( )
( )( ) ( )( )
, ,
, 22
, ,
c i
c i c i
i c a j c jI UPNI u
i j
i c i j c jI UPNI u I UPNI u
R R R R
SIM
R R R R
∈
∈ ∈
− −
=
− −
∑
∑ ∑
(3)
用户相似度阈值则采用导航用户集 ( )iUN u 中所有用户与目标用户 Ui的相似度均值表示,如公式(4)
所示。
( )
( )
,j i i jU UN u
sim
i
SIM
T
UN u
∈
=
∑
(4)
基于多用户类型的兴趣导航农业科技信息协同过滤推荐算法(MUCFRA)的详细描述如下:
MUCFRA(D, Ui, U, I, R, N,k)
输入:网站类型 D, 目标用户 Ui, 用户集合 U, 项目集合 I,用户项目评分矩阵 R, 常数 N, 常数 k;
输出:推荐项目集合 RI;
If D=1 then
IUi=∅; /* 根据目标用户的浏览历史构建用户兴趣导航信息集*/
for each(Ij∈I) do
If Ri, j≠null then
基于兴趣导航的农业科技信息协同过滤推荐方法
236
IUi= IUi∪ Ij;
endfor
UPNI(ui)= IUi中评分最高的 N个项目;
UN(ui)=对 UPNI(ui)中所有项目都有评分的用户集; /* 根据用户兴趣导航信息集构建导航用户集*/
x=0;
for each (Uj∈UN(ui)) do /* 计算导航用户集中各个用户与目标用户的相似度*/
x= x+1;
SIMx=SIMi,j;
SUM= SUM+ SIMx;
endfor
Tsim= SUM/x; /* 计算导航用户集中各个用户与目标用户的相似度阈值*/
for each(Uj∈UN(ui)) do/* 在导航用户集 UN(ui)中选择相似度大于阈值的用户构造相似用户集*/
If(SIMi,j > Tsim) then
SIM (ui)= SIM (ui)∪ Uj;
endfor
Is= SIM (ui)中所有用户均有评价的项目集合; /* 构造相似项目集 Is*/
l=0; CRI=∅;
for each(Ic∈Is) do/*计算 Is中各项目的预测评分*/
l=l+1;
for each(Uj∈SIM (ui)) do
Score= Score +Rj,c* SIMi,j;
SIM = SIM + SIMi,j;
endfor
Scorel= Score/ SIM;
CRI= CRI ∪ <Ic, scorel >;
endfor
M= |CRI|; /*选取 Is中预测评分最高的 k条信息构造推荐信息集合*/
RI= { Ic| <Ic, scorel >∈CRI, scorel至少大于其他M-k个项目的预测评分值};
return RI;
3. 实验
为验证所提算法的推荐效果,本文对所提算法在不同的数据稀疏情况下与其他协同过滤方法的推荐
精度进行了对比实验。本文选择的数据集中包含 1000个用户对 1200条农业科技信息的评分,分值为 1~5
分,其中每个用户至少评价 20条信息,在数据集中用一个字段表示各个项目的评价时间,评价时间随机
基于兴趣导航的农业科技信息协同过滤推荐方法
237
Figure 1. Impact of recommendation accuracy on various sparse rating
图 1. 数据稀疏度对推荐精度的影响
产生。在实验时,将数据集的 80%作为计算预测评分的基本数据,将剩余的 20%作为测试数据,用来对
预测推荐结果进行评估。本文所选取的对比协同过滤方法主要包括基于用户相似度的协同过滤方法(user-
based collaborative filtering, UCF) [3]、基于项目相似度的协同过滤方法(item-based collaborative filtering,
ICF) [4],由于这两种方法均为多用户类型,我们用MUCFRA算法进行实验。其中我们采用相似用户数
表示数据集中用户评价的稀疏性,相似用户数分别选取 10, 20, 30, 40,∙∙∙, 100等值,用目标项目预测评分
的平均绝对误差表示推荐精度。推荐精度随数据稀疏性的变化如图 1 所示,其中横坐标为相似用户数,
纵坐标为预测评分的平均绝对误差。
由图 1可知,随着相似用户数的减少,UCF和 ICF算法预测评分的平均绝对误差增长较快,说明稀
疏性对 UCF 和 ICF 算法推荐结果的影响很大,MUCFRA 算法的平均绝对误差相对增长较慢,说明
MUCFRA算法的推荐结果受稀疏性影响相对较小。随着相似用户数的逐渐增大,三种算法的平均绝对误
差均显著减小,说明项目的预测评分精度均有明显提高,而且MUCFRA算法相对 UCF和 ICF算法的平
均绝对误差较低,说明在任意数据稀疏情况下,本文的 MUCFRA 算法在预测精确度方面均优于其他两
种方法。
4. 结论
基于用户兴趣导航的协同过滤推荐算法的提出主要是为了解决目前农业科技信息服务的针对性问题,
通过认定目标用户的兴趣大大减少候选推荐信息的数量,不仅可以大大降低寻找推荐信息的工作量,而
且可以在一定程度上提高农业科技信息的推荐精度,满足农民对科技信息的针对性需求。
基金项目
国家自然基金(No. 60773100,61070032),河北省自然科学青年基金(No. F2015407039),河北省科技
厅项目(No. 13227427),河北省教育厅项目(No. sz132075,2012~112),河北科技师范学院博士基金(No.
2013YB007,2013YB001),河北科技师范学院科研创新团队基金(No. CXTD2012-08).
参考文献 (References)
[1] 中国农业网 (2014) 2014年中国农业互联网行业分析报告.
[2] 杨博, 赵鹏飞 (2011) 推荐技术综述. 山西大学学报(自然科学版), 34, 337-350.
[3] Wang, J., De Vries, . and Reinders, . (2006) Unifying user-based and item-based collaborative filtering ap-
proaches by similariity fusion. Proceedings of the 29th Annual International ACM SIGIR Conference on Research and
Development in Information Retrieval, New York, 9 August 2006, 501-508.
[4] Sarwar, B., Karypis, G., Konstan, J., et al. (2001) Item-based collaborative filtering recommendation algorithms. Pro-
10 20 30 40 50 60 70 80 10
0
MUCFRA
UCF
ICF
基于兴趣导航的农业科技信息协同过滤推荐方法
238
ceedings of the 10th International Conference on World Wide Web, New York, 1-5 May 2001, 285-295.
[5] 孙光福, 吴乐, 刘淇, 朱琛, 陈恩红 (2013) 基于时序行为的协同过滤推荐算法. 软件学报, 24, 2721-2732.
[6] 贾冬艳, 张付志 (2013) 基于双重邻居选取策略的协同过滤推荐算法. 计算机研究与发展, 50, 1076-1084.
[7] 顾梁, 杨鹏, 罗军舟 (2015) 一种播存网络环境下的 UCL协同过滤推荐方法. 计算机研究与发展, 52, 474-486.
[8] 陈诚, 廖桂平, 史晓慧, 等 (2011) 农业农村信息服务个性化推送技术. 中国农学通报, 27, 151-156.
A Collaborative Filtering Recommendation Algorithm Basing on Preference Navigation for Agricultural Science and Technology Information
Abstract
Keywords
基于兴趣导航的农业科技信息协同过滤推荐方法
摘 要
关键词
1. 引言
2. 基于兴趣导航的农业科技信息协同过滤推荐方法
. 相关符号及定义
. 基于单用户类型的兴趣导航协同过滤推荐算法
. 基于多用户类型的兴趣导航协同过滤推荐算法
3. 实验
4. 结论
基金项目
参考文献 (References)