面向科技资源需求的推荐方法研究

2017-05-24 14:48李海威林珠黄皓璇郑伟鸿
现代计算机 2017年11期
关键词:大厅协同算法

李海威,林珠,黄皓璇,郑伟鸿

(1.广东省科技基础条件平台中心,广东省高性能计算重点实验室,广州 510033;2.广东工业大学自动化学院,广州 510046)

面向科技资源需求的推荐方法研究

李海威1,林珠1,黄皓璇2,郑伟鸿1

(1.广东省科技基础条件平台中心,广东省高性能计算重点实验室,广州 510033;2.广东工业大学自动化学院,广州 510046)

围绕科技资源需求大厅的功能,提出协同过滤与内容相结合的推荐方法,采用向量相似度计算和聚类的进行需求匹配,能够适应科技资源推荐过程中数据量巨大、数据稀疏、多样化等特点,为待解决需求者推荐合适的资源。

科技资源;需求大厅;协同过滤;向量空间模型;推荐系统

0 引言

近年来,广东省“统一部署、突出重点,整合资源、开放共享,市场导向、创新体制,政府主导、多方联动”的原则,通过省市共建、科研机构联合共建、科研机构与高校共建等多种建设模式,充分整合各类科技资源,建设一批科技资源创新服务平台和公共科技信息服务平台(以下简称“资源平台”),以提升全省科技服务能力。

资源平台的建设为科技资源的提供商和使用方提供了资源衔接平台,在平台中使用合适的推荐算法能够有效促进资源的优化配置,促进使用方快速寻找心仪的资源,推进资源平台建设。该平台需求大厅的推荐对象为科技工作者、中小微企业等进行科技活动的用户,这些用户希望通过平台获取相关的科技资源,以协助自己完成相关的科研工作。推荐内容为这些用户所需的各类资源,如在平台寻找进行科技活动所需的科学仪器、某特地领域所需要的科技文献、进行实验的种质资源等。现阶段针对科技资源的利用情况,政府部门、科技工作者均认同建设资源平台的重要性,专家学者也将电商、O2O模式引入资源平台,在平台中运用各种推荐算法,以帮助使用方快速寻找资源,促进资源的高效运用。

由于科技资源存在种类繁多、数据稀疏、热点资源不够集中的情况,使用传统的推荐算法未必合适,因此,本文试图将基于协同过滤与基于内容的推荐算法相结合,从而寻找更适合科技资源需求大厅的推荐算法。

1 科技资源需求大厅

面对全省众多的科技资源,以开放服务为主要目的,将科技资源应用于科技创新活动中,推动科技资源“信息连起来,资源用起来”,达到科技资源深度挖掘、综合集成、有效利用的效果,形成了从标准规范制定、数据整合加工、数据挖掘到开放服务的一套完整的科技资源共享服务体系结构。需建设科技资源服务平台(以下简称“平台”)进行科技创新服务,通过平台为中小微企业科技创新活动提供资源与技术服务,为科技工作者、科研院校等的科研工作提供基础支撑,为政府科技资源配置提供数据支撑,为社会民生发展提供科技资源专题化服务。平台推动科技资源的开放共享与运行服务,形成资源与利益共享的一个信息化平台。

为进一步促进资源的优化配置,为资源使用方提供更便利的提供渠道,平台专设需求大厅模块。“需求大厅”功能主要为资源的提供方和使用方进行对接服务,在平台中除资源的检索和展示外,另开设“需求大厅”页面,主要包括如下功能:

●需求发布:使用方直接在平台进行资源需求的发布,发布内容包括:标题、内容、附件、联系人、联系电话等。

●需求大厅:用于展示发布后的需求。

●成功案例:用于展示成功对接后的信息。

●对接申请:提供商可对自己感兴趣的资源进行对接申请,填写供方信息,包括:标题、内容、联系人、联系电话等。

●需求对接:使用方根据对接申请的情况,对各申请对接的提供商进行比较,选择其中一个进行需求对接,对接成功后,将进入成功案例列表。

2 电商网站常用推荐方法

需求大厅与其他电子商务网站的推荐方法具有类似之处,它们均根据提供商和需求方发布的历史数据进行挖掘用户的行为习惯,从而为用户推荐更合适的商品或资源。传统电商网站通常采用基于协同过滤的算法[1]或基于内容的算法进行推荐[2]。

2.1 基于关联规则的推荐方法

基于关联规则的推荐方法常常被应用于电子商务系统中,利用用户点击率或者购买订单等历史记录来查找存在于商品之间的关联性,并找出正确的促销商品组合,根据这些组合为用户生成推荐[3]。该方法实际运用了数据挖掘中的关联规则算法,从大量的历史数据中分析出数据项之间相互联系的知识,常采用Apriori算法或其改进算法产生Top-N推荐列表,从而进行离线推荐。

2.2 基于协同过滤的推荐方法

协同过滤方法主要是指根据用户在网站中的综合协同信息形成总体规则来预测单个用户的兴趣[4]。基于协同过滤的推荐方法基于如下思想:如果用户周围的朋友选择了某类商品,那么默认他也会优先考虑购买该类商品;如果用户对某类商品特别喜欢,那么,用户选择与该类商品具有很高相似度的商品的概率比较大。

协同过滤方法一般分为基于用户的协同过滤算法和基于项目的协同过滤算法[5],User-based协同过滤关键在于寻找目标用户的K近邻,首先根据用户信息和历史数据进行用户之间相似度计算,根据目标用户与其他用户之间的相似度而形成目标用户的K近邻,然后再根据这些近邻的用户的行为记录产生推荐结果。但随着用户数据的不断增加,User-based协同过滤的用户相似度计算难度也不断增加。因此产生了基于项目的协同过滤方法[6],该方法通过用户的行为历史记录进行物品之间的相似度计算,首先对物品之间的相似度进行计算,然后再根据历史信息中用户购买记录与物品的相似度计算,然后再推荐相似度较高的物品给目标用户。

2.3 基于内容的推荐方法

无论是基于关联规则的推荐算法,还是协同过滤推荐方法,均需采用过去发生的交易、评价等信息,但对于电商网站,很多产品有时候用户并没有留下评价信息或未曾购买过,对于这种情况,往往需要采用基于内容的推荐算法[7]。

基于内容的推荐主要应用于文本信息领域,通常采用邻近函数、分类等技术对项目的总体文本进行分析或聚类,然后再基于用户的特征或记录产生推荐[8]。基于内容的推荐基于如下思想:用户往往会对内容相似的产品感兴趣。基于内容的推荐采用产品本身的内容特征信息进行推荐,如根据产品名称、类型、用途等基本信息作为推荐的依据,也可以从这些基本信息中延伸出产品的风格、主题等抽象信息进行推荐。可以看到,只要是真实存在的产品,都可以按照一定的标准维度来筛选出产品的内容,也就是说基于内容的推荐的适用面是很广的。

现阶段推荐系统往往采用多种方法的结合,使推荐更加精准,如王明文等作者提出双向聚类迭代的协同过滤推荐算法实现基于协同过滤和基于内容的结合[9]。

3 需求大厅推荐方法

3.1 科技资源数据特征

随着科技创新工作的开展,科技资源在科技活动中的重要性日益呈现,伴随着全省对科技资源的重视和整合力度的提升,科技资源数据极速增长,呈现数据量巨大、数据稀疏、多样化等特点。科技资源种类繁多,包括大型仪器、种质资源、实验动物等多种科技资源,每类资源所在领域不同,有些数据需求较小,导致数据稀疏;数据类型多样,除资源的名称、内容、型号、领域等结构数据之外,还具有图片、地理位置信息等非结构化数据;每个用户感兴趣的科技领域不一样,导致热点资源不够集中,呈现多样化。

对于不同的科技资源,其在平台需求大厅发生的行为主要概况为主要有四类数据集,分别是待解决需求的文本、已解决需求的文本、用户特征的文本、提供商特征的文本。其中,用户特征的文本主要对每个发生过购买行为的用户(将购买过资源的用户视为具备一定的解决需求的能力),抽取他所有购买过的资源的文本描述,将这些文本合并为该用户的特征文档;提供商特征文本主要从平台数据库中抽取每个提供商旗下所有发布并上架的资源的文本描述,将这些文本合并为该提供商的特征文档。

3.2 需求大厅推荐方法

科技资源需求大厅推荐重点在于为使用方推荐合适的科技资源,同时,为使用方推荐相似的成功案例,以帮助使用方快速找到解决方案。根据科技资源需求大厅的业务特点,采用协同过滤与内容相结合的推荐方法,采用向量相似度计算和聚类方法进行需求匹配,该方法融合基于协同过滤方法与基于内容推荐方法的优点,解决数据稀疏性,增加推荐结果的准确率和覆盖率。

该推荐算法结合了协同过滤方法和基于内容的推荐方法,首先,其采用了User-based协同过滤方法,对用户特征向量进行相似度计算,对待解决需求的用户推荐与其相似的用户曾经购买的资源,将这些资源存于用户-资源表1;然后,对待解决需求与提供商特征向量进行基于项目的协同过滤方法,通过相似度计算,形成资源-资源表2;然后,再通过基于内容的推荐方法,采用Canopy+K-Means算法,对需求进行聚类,将相似需求划为同一簇,为待解决的需求推荐其同簇中被用于解决需求的资源,形成需求-资源表3;最后,对3个表进行整合,为需求优先推荐重复度高的资源,然后再推荐单表中存在的资源。

在该推荐方法中,聚类主要采用Canopy+K-Means算法,K-Means算法需人为确定簇的数量K值,并且初始簇心是随机选择确定的,因此,在对数据不了解的情况下,很难给定合理的K值。因此,引入Canopy算法,首先通过Canopy算法进行聚类,以确定簇数以及初始簇心的,接着通过K-Means算法进行迭代运算,收敛出最后的聚类结果[10]。

图1

科技资源需求大厅推荐如图1所示具体步骤如下:

step1:进行数据抓取及数据清洗,构建待解决需求的文本、已解决需求的文本、用户特征的文本、提供商特征的文本,形成文本集合。

step2:对文本集合的所有文档,进行中文分词、去停用词处理。

step3:使用向量空间模型(VSM)向量化文本文档,构建文档-词语矩阵,并利用TF-IDF(词频-逆文档频率)方法计算权重。

step4:将向量存储于哈希表Map〈String,Vector>中,其中key为文档名,value为向量。

step5:使用余弦距离测度,计算提供商向量与待解决需求按相关性高低进行匹配,结果形成用户-资源表1。

step6:使用余弦距离测度,计算q用户特征向量与待解决需求用户向量的相关性,推荐相关性较高的用户其购买过的资源给待解决需求用户,结果形成资源-资源表2。

step7:针对发布了需求的用户,对需求文档集合,使用Canopy+K-Means算法进行聚类,根据最终的结果簇进行推送,帮助用户发现与其相似的需求是如何被解决的,结果形成需求-资源表3。

step8:对3个表进行整合,为需求优先推荐重复度高的资源,然后再推荐单表中存在的资源。

3.3 算法实现

主要算法实现如下:

输入:变量con为文本集合(待解决需求的文本、已解决需求的文本、用户特征的文本、提供商特征的文本);

输出:变量rc为推荐资源

3.4 算法效果

该推荐算法应用在广东省科技创新服务平台和公共科技信息服务平台,在平台首页右侧,开设专栏“猜您喜欢”,展示该推荐系统计算出的TOP5资源。为验证该算法的优势,平台首先采用协同过滤算法、基于内容的推荐算法进行推荐,在分别收集了1000次的平台首页登陆后,再使用本文中的算法进行推荐。对于三种算法收集的1000次访问数据中,通过URL跳转记录统计进入“猜您喜欢”的次数,得出实验结果如表1所示。

表1 各种算法访问次数比较

实验表明,文中所采用的结合基于协同过滤和基于内容的推荐方法的推荐方法,融合两者的优点,解决数据稀疏性,增加推荐结果的准确率和覆盖率,访问效果与传统算法相比具有一定的优势。

4 结语

本文首先介绍了科技资源共享服务平台建设的必要性和意义,阐述了科技资源需求大厅的主要功能,然后介绍了现阶段电商网站常用的推荐方法,在基于协同过滤和基于内容的推荐方法基础上,提出了结合协同过滤和内容的需求大厅推荐方法。该方法能够适应科技资源数据特征,不仅使用了余弦距离测度,同时也采用了Canopy+K-Means算法进行聚类,从待解决需求与提供商向量、待解决需求与用户特征向量、待解决需求与已解决需求等多方面进行需求大厅推荐。

[1]Kim H N,Ji A T,Ha I,et al.Collaborative Filtering Based on Collaborative Tagging for Enhancing the Quality of Recommendation[J].Electronic Commerce Research and Application,2010(9):73-83.

[2]牟春苗.O2O电子商务模式中推荐方法的研究[D].东北石油大学,2014.

[3]Brzozowski M J,Romero D M.Who Should I Follow?Recomendiing People in Directed Social Networks.CSCW'11.Hangzhou,China, 2011:1-10.

[4]何鹏.Roster——一种开发者潜在同行推荐方法[J].计算机学报.2014(37):859-872.

[5]刘永康.个性化推荐技术的发展[J].电子世界.2015(24):61-62.

[6]韦素云,业宁,吉根林,等.基于项目类别和兴趣度的协同过滤推荐算法[J].南京大学学报:自然科学版,2013,49(2):142-149.

[7]LIANG C,LENG Y.Collaborative Filtering Based on Information-Theoretic Co-Clustering[J].International Journal of Systems Science,2014,45(3):589-597.

[8]田耕.基于关系和内容的推荐算法研究[D].北京交通大学,2015.

[9]王明文,陶红亮,熊小勇.双向聚类迭代的协同过滤推荐算法[J].中文信息学报,2008,22(4):61-65.

[10]赵庆.基于Hadoop平台下的Canopy+K-Means高效算法[J].电子科技,2014,27(2):29-31.

Research on the Recommendation Method for the Demand Hall of Scientific and Technological Resources

LI Hai-wei1,LIN Zhu1,HUANG Hao-xian2,ZHENG Wei-hong1

(1.Guangdong Science&Technology Infrastructure Center;Guangdong Province Key Laboratory of HPC,Guangzhou 510033;
2.Guangdong University of Technology Automation Subject,Guangzhou510046)

With the surging importance of scientific and technological resources appears in scientific and technological activities,increasing areas are making efforts to establish shared service platform to promote cooperation between source users and providers.As to the function of scientific and technological resources’demand hall,puts forward a recommendation method of integrating collaborative filtering and contents.It matches demands by vector quantity similarity calculation and clustering,recommending resources to demanders from whatever huge,sparse or diversified data.

Science and Technology Resources;Demand hall;Collaborative Filtering;VSM;Recommendation System

1007-1423(2017)11-0060-05

10.3969/j.issn.1007-1423.2017.11.012

李海威(1979-),男,广东兴宁人,高级工程师,本科,研究方向为计算机科学与技术

林珠(1983-),女,广东梅州人,高级工程师,硕士,研究方向为数据挖掘和人工智能、信息系统

黄皓璇(1991-),男,广东汕头人,助理工程师,硕士,研究方向为数据挖掘与人工智能

郑伟鸿(1989-),男,广东潮州饶平人,工程师,双学士,研究方向为虚拟化技术、软件研发

2017-01-17

2017-03-15

广东省科技基础条件平台公共服务能力提升研究及资源网络建设(No.2014A080804007)、科技资源数据分析与开放共享服务平台建设(No.2014B070706004)

猜你喜欢
大厅协同算法
输入受限下多无人机三维协同路径跟踪控制
家校社协同育人 共赢美好未来
哪种算法简便
挪威Bodø市政大厅
Travellng thg World Full—time for Rree
“四化”协同才有出路
进位加法的两种算法
根据问题 确定算法
京津冀协同发展
跟踪导练(四)4