用户行为的智能档案推荐系统设计

时间:2022-11-07 11:23:07

用户行为的智能档案推荐系统设计

摘要:本文通过对档案管理系统的用户历史行为数据进行抽取、分析、预处理,设计了基于物品的协同过滤算法模型的档案智能推荐系统,可以在用户无法准确描述其需求时根据系统其他用户的历史行为数据智能推荐相关档案,从而在一定程度上解决了无法精准描述需求时的档案查询问题。

关键词:用户行为;协同过滤;智能推荐

一、引言

随着数字档案室建设项目的推进,以电子文件为对象,基于OCR识别、语音识别、数据挖掘、机器学习等技术实现的电子档案管理模式正在逐步取代传统纸质档案管理模式。在电子档案管理模式下,档案信息量爆炸式增加导致信息量过载和人们需求量的严重不平衡[1]529。用户要从海量电子档案中检索自己需要的档案信息变得越来越困难了。传统的搜索引擎可以通过用户输入的关键字返回与输入关键字相关的档案信息,在一定程度上缓解了档案信息过载问题,但是当用户无法精准描述档案需求的关键字时,传统搜索引擎就无能为力了。与传统的搜索引擎不同,智能推荐系统并不需要用户提供精准的用档需求,而是通过分析档案用户行为信息(档案用户行为信息是指用户在档案管理系统中进行检索、浏览、下载、打印等操作所留下的数据痕迹[2]58),采用协同过滤算法,向用户推荐能够满足他们需求的档案信息。

二、基于协同过滤算法的推荐系统

文献研究发现:学术界认定的第一个推荐系统是1992年xeroxPARC(施乐实验室)推出的Tapestry系统(垃圾邮件过滤并电子新闻推荐系统)。该系统需要事先了解和熟悉系统用户的兴趣和爱好,只能适用于系统用户数比较少的场景。1997年,明尼苏达大学的研究小组开发了Movielens系统(电影智能推荐系统),拉开了推荐系统蓬勃发展的序幕。该系统根据用户对电影的评分,预测用户可能感兴趣的电影类型、风格、演员、导演等,向用户推荐合适的电影[3]201。Netflix(美国奈飞公司)为期三年的百万美金大赛是推荐系统领域的标志性事件之一,它将推荐算法的研究推向高潮,吸引了全世界186个国家4万多位专业人士开始投身于推荐系统领域的研究,并将这项技术从学术圈真正转向商业领域。随着Amazon(美国亚马逊公司)开始在网站上根据用户的浏览购买行为对用户进行个性化推荐,并成功提升网站35%的销售额,个性化推荐系统在图书、音乐、视频、新闻、电影、购物等领域的应用越来越广泛[4]182。国内推荐算法研究起步较晚,但也取得了可喜的成果,在门户网站、电子商务等领域开展了广泛应用,比较著名的包括:今日头条新闻、淘宝、京东、豆瓣影视推荐等。推荐算法发展至今,其技术路线大致可以划分为三类:基于内容模型的推荐算法、基于协同过滤模型的推荐算法、基于混合模型的推荐算法。协同过滤模型算法是推荐系统中较为著名和常用的一种方法。它依据“人以类聚,物以群分”的聚类特点进行预测和推荐,可以将大部分看起来无交集的人或物品,通过大数据分析、数据挖掘等技术挖掘出相似的个别群体,实现根据和你有共同喜好的人给你推荐物品或者根据你喜欢的物品给你推荐相似的物品[5]1433。常用的协同过滤算法包括基于用户的协同过滤算法和基于物品的协同过滤算法。

1.基于用户的协同过滤算法

根据当前用户对物品(信息)的偏好,计算出与之有相同口味或偏好的用户群(可以使用反查表过滤掉一部分用户),比如用户A喜欢物品A、B,用户B也喜欢物品A、B,则可以认为用户A与用户B口味或偏好相似。选择用户群中与当前用户相似度最高的K个用户作为邻居,在邻居喜欢的物品(信息)中根据与用户的相似度计算出每一件物品(信息)的相似度,根据相似度推荐物品(信息)给当前用户。

2.基于物品的协同过滤算法

根据当前用户偏好的物品(信息),计算出与偏好物品(信息)相似的物品(信息)集,这里的相似度计算不是依据物品(信息)的内容属性而是依据物品(信息)在用户历史行为记录中同时出现的次数,比如物品(信息)A和物品(信息)B在同一用户历史行为记录中多次同时出现,则认为物品(信息)A和物品(信息)B的相似度高。根据相似物品(信息)集推荐相似度最高的物品(信息)给当前用户。

3.常用的相似度计算公式

协同过滤算法主要解决的问题是,当你面对海量物品或者信息不知道怎么选择时,根据大家的行为数据来帮你做选择。它的关键核心是计算用户或者物品之间的相似度,常用的相似度计算公式包括杰卡德相似系数、夹角余弦、相关系数等方法。

三、智能推荐系统实现的关键步骤

1.设计思路

设计的主要目标是对用户进行档案的推荐,即通过一定方式将用户与档案之间建立联系[6]682。当用户浏览具体档案文本时,在页面下边自动推荐基于物品相关的其他档案也就是常见的“查询了该档案的人也喜欢”功能。常用的基于物品的协同过滤算法可以解决上述问题,该算法实现的主要步骤包括:(1)根据用户使用档案系统的历史数据收集用户偏好;(2)根据档案用户的历史行为数据计算不同档案之间的相似度。注意这里的档案相似度是指两份档案在不同的查询过程中同时被查询的次数。采用上述的分析方法和思路,结合原始数据和分析目标,可以获得如图1所示的分析设计流程图。

2.数据抽取

系统会在用户使用档案系统时,自动记录访问日志,记录每个用户在系统中的操作细节,从而建立用户与档案之间的联系。其访问的数据记录见表1,其中记录了用户ID,输入关键字,浏览档案标题、浏览时长、下载标识、打印标识等多项属性。在设计中,我们抽取所有的用户访问日志记录作为原始数据集。原始数据集应尽最大量选择数据,大量的数据能够让模型更好地学习到真实场景的数据分布,不容易产生有偏的分布估计,从而降低推荐结果的随机性,提高推荐结果的准确性。

3.数据分析

通过对用户使用档案系统的行为习惯分析,我们发现用户在找到与检索关键字相关的档案时,会进行长时间浏览、下载或者打印。在设计中我们引入了下载标识、打印标识这些字段作为档案与检索关键字相关的判断标识。对于没有下载标识和打印标识但又有一定浏览时长的档案,它也有可能与检索关键字相关,为此,我们引入了平均浏览时长概念,通过计算带有下载标识或者打印标识记录的平均浏览时长,以该时长作为基线,并判断没有下载标识和打印标识的档案浏览时长是否大于基线时长,作为该档案是否与检索关键字相关的判断标识。

4.数据预处理

由于用户访问日志记录了用户在档案收集、管理、利用等过程中的所有操作行为,其中有许多无法直接利用的“脏数据”,因而无法直接对抽取的原始数据集进行分析。因此,需要对原始数据集进行清洗:(1)删除不是用户在查询模块产生的所有日志数据;(2)删除没有下载标识和打印标识且浏览时长小于平均浏览时长的所有操作日志;(3)删除含有异常值或缺失值的日志数据,如不包含检索关键字、档案号、打印、下载、浏览标识等的日志数据。对处理后的数据,需要进行属性规约,提取模型需要的数据特征,在设计中需要考虑将用户在同一登录时段的所有档案查询记录合并为一次历史查询,因此提取“用户ID”“用户登录系统的时间”“档案文件的档案号”作为系统输入数据集使用的数据特征,数据格式如表2所示。

5.模型构建

根据输入数据集构建用户对档案的评分矩阵,用户对档案的浏览时长、打印、下载等行为对应不同的评分,其中打印、下载的评分值应高于浏览时长,表示被打印或下载的档案与检索关键字密切相关。设计中构建评分矩阵时将同一用户ID在不同登陆时段的操作分为不同的用户记录。评分矩阵如表3所示。设计采用杰卡德相似系数(Jaccardsimilaritycoeffi-cient)计算不同档案之间的相似度用以构建档案同现矩阵,其计算公式如图2。其中,分母A1∪AM表示浏览过档案1或者浏览过档案M的用户总数,分子A1∩AM表示同时浏览过档案1和档案M的用户总数。完成各个档案之间相似度的计算后,得到一个档案之间的同现矩阵。同现矩阵如表4所示。通过用户对档案的评分矩阵和档案同现矩阵可以计算出用户对档案的推荐列表,根据不同的评分优先推荐评分高的档案给当前用户。

6.模型评价

设计采用交叉验证法对模型进行评估:(1)随机打乱原始数据的顺序,将用户行为数据集按照均匀分布随机分成10份,挑选1份作为测试集,将剩下的9份作为训练集;(2)在训练集上建立模型,并在测试集上对用户行为进行预测,统计出相应的评测指标;(3)通过多次重复,得出比较稳定可靠的评测结果,最后将实验测出的评测结果的平均值作为最终的评测指标。本设计以传统单一的协同过滤算法为主导,智能推荐系统的泛化性能还有提升的空间,后续将引入基于深度学习的智能推荐算法,增强数据模型的表达能力,提升智能推荐系统的泛化性能,更好地满足用户的查档需求。

作者:甘雨