1. 引言
随着农业信息化的快速发展,农业科技信息的发展呈现出庞大且复杂的趋势,据统计当前中国农业类相关网站数量已经超过了4万家(其中政府主持的也超过了4000家),3000多个农业期刊,涉农类综合报纸或专业报纸也到达数百种,广播电视也都有农业类节目或栏目 [1] 。但是这种数量扩大的优势并没有给农民带来多少真正的实惠,大多数涉农企业、偏僻的农村、渴望致富的9亿农民对信息的需求有近90%得不到满足 [1] 。究其原因在于面对如此庞大的信息量,农民无法从中快速、准确地找到他们所需要的农业科技信息。
推荐技术作为解决信息过载的主要技术之一在电商等领域已经得到了越来越多的应用 [2] - [7] 。协同过滤推荐技术是最为传统的推荐技术,也是目前最为成功有效的推荐技术 [2] 。其基本思想是基于用户——项目评分数据集,通过收集相似用户的兴趣信息进而为目标用户进行推荐。因此,将推荐技术应用到农业科技信息服务网站,是解决农民的信息需求、提高农业信息服务质量的有效途径。
在农业科技信息服务过程中,由于用户所经营的农业生产分类不同,用户之间感兴趣的信息也会不同,传统的协同过滤推荐技术单纯根据用户或项目之间的相似性对目标用户进行推荐,却忽略了用户本身的兴趣,使得推荐结果针对性不强、推荐精度较低,而推荐技术在农业科技信息服务领域的应用研究 [8] 还处于起步阶段,在这种情况下,需要对传统的协同过滤推荐技术进行改进,提出更加适用于农业科技信息服务的推荐技术。
为了给目标用户提供针对性的、感兴趣的农业科技信息,根据农业信息服务网站的用户种类对网站进行分类,针对不同类型的网站,以用户兴趣为导航,并结合传统的协同过滤推荐方法,分别提出了基于兴趣导航的农业科技信息协同过滤推荐方法。
2. 基于兴趣导航的农业科技信息协同过滤推荐方法
有的农业信息服务网站(比如中国黄骅冬枣网)虽然信息量很大,但是它的用户类型比较单一(均为冬枣种植者),该网站的农业信息也比较单一(与冬枣相关的农业信息)。对于这种用户类型单一的网站,由于所有用户所关注的信息基本相同,即用户兴趣基本相同,这种情况下无需显式表达目标用户的兴趣,网站上受欢迎程度高的信息也是目标用户的兴趣所在,而网站信息的浏览量和评分可以代表信息的受欢迎程度,某条信息的浏览量越大、评分越高,说明该条信息越受欢迎。因此可以根据各个信息的浏览记录,选择浏览量最高的N条信息作为候选信息,再根据各条信息的用户评分对信息进行综合测评,选择评分均值大于某阈值的信息推荐给目标用户。
有的农业信息服务网站(比如中国农业信息网),它的农业科技信息涉及农林牧副渔等各个生产部门,农业科技信息不仅数量众多而且类型复杂,这种网站的用户可能为果农、菜农、渔民等不同类型,不同类型用户所关注的信息也各不相同,即用户之间的兴趣差异较大。对于这类网站,只有目标用户的兴趣被明确表达出来,才能对相似用户的筛选起到真正的导航作用。因此,对于多用户类型的农业信息服务网站,我们首先构造用户兴趣导航信息集,然后根据用户兴趣导航信息集筛选导航用户集及相似用户集,最后将相似用户集评分最高的前N条信息推荐给目标用户。
2.1. 相关符号及定义
为了区分不同类型的农业信息服务网站,我们为网站增加了用户类型特征D,D的取值范围为{0,1},其中D = 0表示该网站是单用户类型网站,D = 1表示该网站是多用户类型网站。设网站的用户集合为
,农业科技信息(即项目)集合为
,其中Bj表示项目Ij的浏览量,用户——项目评分数据集用m´n阶矩阵R表示。
表示用户Ui对项目Ij的评分,Ri,j为null表示用户Ui对项目Ij没有进行评分。用户Ui的评分集合记为
,农业科技信息Ij的评分集合记为
。
定义1 (候选兴趣项目集合)对于类型Di = 0的网站,设该网站的用户集合为
,项目集合为
,设目标用户为
,则目标用户Ui的候选兴趣项目集合为I中浏览量最大的前N条信息,候选兴趣项目集合CPI(Ui)可表示为:CPI(Ui) = {
且Bj至少大于其他|I|-N条信息}。
定义2 (综合评分)给定农业科技信息推荐系统的用户集合
,设目标用户为
,目标用户的候选项目集合为CPI(Ui),对任意的项目
,根据RIj中所有评分得到的该项目的综合评分记为SRj。
定义3 (用户兴趣导航信息集)给定农业科技信息推荐系统的用户集合
,用户——农业科技信息评分数据集为R,设目标用户
,用户Ui的评分项目记为
,其中项目
的评分
,则用户Ui的兴趣导航信息集为IUi中评分最高的N
条信息,用户Ui的兴趣导航信息集
表示如下:
,其中
且
大于IUi中其他项目的评分。
定义4 (导航用户集)对目标用户Ui的导航信息集
,如果某用户Uj在这些信息上都作出过评分,则用户Uj为目标用户Ui的导航用户,所有导航用户构成的集合记为
。
定义5 (用户相似度)给定农业科技信息推荐系统的用户集合
,设目标用户
,任意用户
与用户Ui的相似性表示为SIMi,j。
定义6 (相似用户集)给定农业科技信息推荐系统的用户集合
,设目标用户
,对任意用户
,如果他与目标用户的相似度
,其中Tsim为用户相似度阈值,则用户Uj为目标用户Ui的相似用户,目标用户Ui的相似用户集
可表示为:
。
2.2. 基于单用户类型的兴趣导航协同过滤推荐算法
若网站的用户类型比较单一(网站类型根据网站开发目的即可确定),尽管农业科技信息数据量很大,但是的网站的信息构成并不复杂,根据前文分析,这种情况下的农业科技信息的推荐较容易。推荐的主要过程如下:首先根据信息的浏览量选择目标用户的候选兴趣信息,然后根据其他用户对候选信息的评分确定每条信息的综合评分,最终选取综合评分大于某阈值的信息作为推荐信息。
对于综合评分与评分阀值的确定,我们都选择加权平均的度量方法。其中综合评分SRj和综合评分阀值TSR的公式分别如公式(1)和公式(2)所示。
(1)
(2)
基于单用户类型的兴趣导航农业科技信息协同过滤推荐算法(SUCFRA)描述如下:
2.3. 基于多用户类型的兴趣导航协同过滤推荐算法
对于用户类型多样化的网站,协同过滤推荐算法是以用户兴趣为核心进行设计,旨在通过发掘目标用户兴趣所在,为目标用户产生一个推荐列表。算法的主要步骤如下:1) 首先根据目标用户Ui的历史浏览信息及评分确定用户兴趣导航信息
;2) 选择对
中所有信息作出评分的其他用户构成目标用户Ui的导航用户集
;3) 计算
中每个用户与目标用户Ui的相似度;4) 计算
中所有用户的相似度阀值Tsim,;5) 选取
中相似度超过阀值Tsim的用户构成目标用户Ui的相似用户集
;6) 选择
中所有用户都评价的项目构造相似项目集Is;7) 根据
中所有用户的相似度作为权重计算Is中各项目的预测评分;8) 选取Is中评分最高的k条信息构成推荐列表。由于本推荐系统中为用户推荐的信息不宜太多,以便用户在短时间内看完,因此k选取较小的数(如10左右)即可。
这里的用户相似度计算方法采用相关相似性方法,根据目标用户Ui和用户Uj对用户兴趣导航信息集上的评分的Pearson相关系数度量,用户相似性表示如公式(3)所示。
(3)
用户相似度阈值则采用导航用户集
中所有用户与目标用户Ui的相似度均值表示,如公式(4)所示。
(4)
基于多用户类型的兴趣导航农业科技信息协同过滤推荐算法(MUCFRA)的详细描述如下:
3. 实验
为验证所提算法的推荐效果,本文对所提算法在不同的数据稀疏情况下与其他协同过滤方法的推荐精度进行了对比实验。本文选择的数据集中包含1000个用户对1200条农业科技信息的评分,分值为1~5分,其中每个用户至少评价20条信息,在数据集中用一个字段表示各个项目的评价时间,评价时间随机

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).