首页 理论教育高校图书馆大数据应用: 个性化服务成功案例

高校图书馆大数据应用: 个性化服务成功案例

【摘要】:考虑到用户日志数据库体量庞大,且增长迅速,在应用上需要采用大数据分析框架。其中以“图书情报”作为本体术语的查询结果直接来自于用户问题,是正常检索,而以“知识管理”作为本体术语的查询来自于数据挖掘的结果,是隐性需求的个性化推荐。

本节所设计的个性化服务方案主要偏重从用户行为建模角度分析,包括提取用户显性兴趣本体、提取用户隐性需求本体和设计个性化服务流程3个关键步骤。考虑到用户日志数据库体量庞大,且增长迅速,在应用上需要采用大数据分析框架。Hadoop[40]是当前大数据分布式处理的著名软件平台,由Hadoop分布式文件系统HDFS、并行计算框架MapReduce[41]以及Hadoop的分布式数据库(HBase)等子项目组成,能够以可靠、高效和可伸缩的方式处理海量数据。MapReduce计算框架包括Map函数、Reduce函数和Main函数3个组成部分。其中Map函数接受一组数据并将其转换为一个键/值对列表<Key,Value>;Reduce函数接受Map函数生成的键/值对列表,然后合并计算具有相同键的数据项;Main函数主要用于控制大数据分析流程和文件的输入/输出。

1.用户兴趣本体提取流程

首先要进行用户兴趣度的定义和计算。用户兴趣度是用来描述用户对某本图书(或某个知识)的兴趣程度,通过统计用户对图书(知识)的浏览、检索、收藏、评论、借阅(或下载)行为的量化评分,反映用户对图书(知识)的兴趣,其计算表达式为:兴趣度=浏览+检索+收藏+评论+借阅(或下载)。计算规则如下:对于“浏览”行为,先确定浏览的时间段阈值(如10秒),当用户某次连续浏览的时间大于等于该阈值,计1分,间断后再浏览则重复累计,否则计0分;当用户有“检索”“收藏”“借阅”(或“下载”)的行为,计1分,否则计0分;当用户有“评论”行为,如果为正面、积极的内容,计1分,否则计-1分。累计的总分即为用户对该图书(或知识)的兴趣度,当该图书(或该项知识)的用户兴趣度值达到预先确定的阈值时,提取其对应的本体术语,并存储为该用户的兴趣本体。值得注意的是,用户兴趣本体只针对单个用户,从该用户的行为日志数据库中提取。Hadoop大数据平台下基于MapReduce框架的提取流程如下:

(1)MapReduce框架中用户日志数据的预处理。将某个用户id映射到MapReduce框架中<Key,Value>键值对的Key值,该用户id记录的“浏览,检索,收藏,评论,借阅(或下载)”行为次数映射到Value值。

(2)Reduce统计阶段。依照“用户兴趣度”统计规则计算用户兴趣度的值,即将同一用户id的各类Value累加。

(3)用户兴趣本体术语提取和保存。如果“用户兴趣度”大于系统设置的阈值,将本体术语作为兴趣本体提取并保存。例如,如果用户对“软件工程”这个本体术语对应图书(或知识)的“浏览,检索,收藏,评论,借阅(或下载)”行为达到一定的次数,其用户兴趣度达到阈值条件,就将“软件工程”术语提取为兴趣本体并保存,如图5.6所示。

2.用户需求本体提取流程

基于用户行为日志数据库,应用数据挖掘算法提取“用户需求”本体,相关算法有关联规则挖掘和协同过滤等方法,这里以关联规则为例说明:

关联规则算法依据全体用户的日志挖掘本体术语之间的相关性,通过统计数据项获得频繁项集。在著名的“啤酒”和“尿布”案例中数据项“啤酒”和数据项“尿布”即是经过大数据统计“发现”的频繁关联项。这里以关联规则中的Apriori算法为例讨论提取用户需求本体的流程,该算法包括3个步骤,如图5.7所示。

图5.6 用户兴趣本体提取流程

(1)MapReduce框架中用户行为日志数据的预处理。与用户兴趣本体提取流程的第一阶段相同,只是需要对全体的用户id操作。

(2)计算支持度。首先应用Reduce方法累计单个本体术语出现的频次,即单个术语支持度P(A);接着累计两个本体术语同时出现频次,即二元组(两个本体术语)的支持度P(AB)。

(3)计算置信度。将二元组的支持度除以单个术语的支持度得到置信度,置信度的值越大,表明两个本体术语同时出现的概率越高。当置信度大于预先设置的阈值时,算法即认为“图书本体术语A”与“图书本体术语B”是“可以置信”的频繁关联项。大量频繁关联项的集合即为频繁关联项集,当用户在系统中检索时,将检索语句的特征词与该术语频繁关联的另一本体术语作为搜索词在书目库(或知识库)中查询,将检索到的相关结果作为隐性需求推荐给该用户。

图5.7 用户隐性需求本体提取流程

值得注意的是,因为频繁关联项集是基于所有用户的行为日志应用关联规则挖掘的结果,因此该频繁关联项集可供所有用户共用,并非只用于某一用户的个性化推荐。

3.基于用户兴趣和需求驱动的个性化服务

在应用大数据平台提取用户兴趣和需求本体的基础上,提供的个性化服务过程如图5.8所示,为方便说明,以“图书服务”为例说明。

图5.8 基于用户兴趣和需求驱动的个性化服务过程

(1)“登录”过程中基于用户兴趣本体的个性化推荐

假设用户id为“20160001”的图书服务兴趣本体的系列术语中包含“语义网”“软件工程”等,需求本体的频繁项集中包括某条关联规则为“图书情报”→“知识管理”。该用户登录后,系统自动获取该用户id感兴趣的本体术语“语义网”和“软件工程”,并以其作为查询词,从知识库中查询到相关书目推荐给用户。

(2)“检索”过程中基于用户需求本体的个性化推荐

已登录的用户“20160001”具有检索权限,假设用户的检索语句是“近年来图书情报领域专著有哪些?”系统应用语义分词技术,并映射得到的本体术语为“图书情报”;通过查询频繁关联项集,找到了“图书情报”→“知识管理”这一对频繁项,因而获得另一本体术语“知识管理”,同时将“图书情报”和“知识管理”作为关键词从关联的书目库(或知识库)中查到结果推荐给该用户。其中以“图书情报”作为本体术语的查询结果直接来自于用户问题,是正常检索,而以“知识管理”作为本体术语的查询来自于数据挖掘的结果,是隐性需求的个性化推荐。