CN110532309B - 一种高校图书馆用户画像***的生成方法 - Google Patents
一种高校图书馆用户画像***的生成方法 Download PDFInfo
- Publication number
- CN110532309B CN110532309B CN201910633190.3A CN201910633190A CN110532309B CN 110532309 B CN110532309 B CN 110532309B CN 201910633190 A CN201910633190 A CN 201910633190A CN 110532309 B CN110532309 B CN 110532309B
- Authority
- CN
- China
- Prior art keywords
- data
- reader
- library
- readers
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种高校图书馆用户画像***的生成方法,首先通过ETL技术将图书馆各业务***的数据进行预处理,然后将清洗后的数据集成到数据仓库中,基于马氏距离的多视角二分K‑means算法对读者数据进行聚类,并将结果转换为关系型数据后存储于数据持久层的用户画像表和群体画像表中,最后通过高校图书馆用户画像***进行前端展示。最后基于微服务架构和java语言与数据持久层进行数据交互,并将数据进行封装后提供给前端进行展示。本发明大大增加了读者对图书馆的兴趣和粘性。
Description
技术领域
本发明涉及用户画像、***架构、微服务技术,是一种高校图书馆用户画像***的生成方法。
背景技术
用户画像是真实用户的虚拟代表,其实是建立在一系列真实数据之上的用户模型。通过用户留在网络上的“数字足迹”或是调查调研来了解用户的兴趣偏好、行为模式,对不同的用户按照特征进行分类,抽取出这些用户的典型特征,并给不同用户赋予名字、照片等一些人口统计学要素的描述,据此就形成了一个人物原型。也就是说,用户画像的核心理念是给不同的用户按照特征“贴标签”,在这些标签中,部分能够根据用户的行为数据直接得到,而不能直接获取的则需要利用一定的挖掘算法与程序。用户画像在国外图书馆领域的研究集中在用户体验改善且应用逐步趋向成熟,内容涵盖定义与组成、算法与技术、模型构建、实践应用以及问题与策略等多视角的研究。国内图书馆领域对用户画像的研究起步较晚。2010年末,郑宝鑫等在“广东通信2010青年论坛”会议上首次使用“用户画像”一词。但是,我国的用户画像研究直至2016年才引起相关学者广泛关注,于2017年中后期达到研究高潮。大数据环境下,用户画像在图书馆领域的研究与应用正在逐步兴起,尚未进入成熟阶段,国内图书馆界对用户画像的研究同样处于初步探索中,实践中还面临不少问题,其中涉及用户隐私和用户兴趣的变化等问题,还有待图书馆界根据实际情况进行深入分析和探讨。
发明内容
为了克服现有技术无法生成高校图书馆用户画像的不足,本发明通过对高校图书馆和读者的深入调查和分析,结合市场上现有的用户画像***,对馆员用户和读者用户的需求进行了分析,本发明提供了一种高校图书馆用户画像***的生成方法。
本发明为了解决上述技术问题采用的技术方案如下:
一种高校图书馆用户画像***的生成方法,所述方法包括如下步骤:
(1)构建读者行为数据仓库:读者行为数据包括读者借阅数据、进馆数据、公共资源使用数据、电子资源使用数据,除了行为数据外还有馆藏数据和读者个人数据基本信息数据;构建统一的数据仓库,并通过ETL等数据清理工具将各个资源库的数据汇总为统一的格式到数据仓库中;
(2)使用多视角聚类算法进行聚类操作:从用户行为数据出发,构建多维度多视角读者特征体系,同时根据读者行为数据的特点,选取聚类算法中的经典K-means算法进行读者群体聚类,针对经典K-means算法陷入局部最优和欧式距离在多视角聚类中的局限性,使用了一种基于马氏距离的多视角二分K-means算法;
(3)基于多视角聚类实现用户画像:该步骤包含数据清洗、构建多维度多视角读者特征体系、针对某一维度或多个维度组合的读者进行多视角聚类、根据得出的用户群体的重要性通过数据库技术提取读者的用户特征、最后利用可视化技术得出用户画像;
(4)实现一个基于用户画像的图书馆推荐***:根据上述阶段得出的用户画像,设计一个用户画像***,能够挖掘读者的潜在需求,并能够推荐给读者其个性化的服务。
进一步,所述步骤(2)中,基于马氏距离的多视角二分K-means算法,输入为多视角数据集D,聚类簇数k;输出为簇划分C=C1,C2,C3,…Ck,步骤如下:
2.1)将所有数据看作一个簇,计算簇中心
2.2)满足簇中心个数h<k条件时循环以下步骤;
2.3)i分别取1,2,…,h进行以下操作;
2.4)将第i个簇使用K-means算法进行k为2的划分;
2.5)计算划分后马氏距离总和;
2.6)比较h种划分后的马氏距离总和,选择马氏距离总和最小的划分方式;
2.7)更新簇的分配方式;
2.8)添加新的簇中心;
2.9)直到簇中心个数达到k。
再进一步,所述步骤(3)中,步骤如下:
3.1)数据抽取
数据抽取是建立ETL的第一步,在此之前对源数据库类型和数据类型做了详细的分析,通过JDBC与不同的业务数据库建立连接,这里使用一个自己封装的jar包完成数据库的连接和数据的抽取;根据此jar包形成的数据抽取方式,可以满足:
支持数据全量抽取和增量抽取,在第一次对数据进行抽取时,由于已经存在了若干年的数据,所以第一次对数据采用全量抽取,之后在第一次的基础上做增量抽取;在jar包的配置文件中对数据抽取的SQL代码被分布在不同的job中,全量抽取和增量抽取也被封装在不同的job,多个job合成一个jobgroup,每个jobgroup负责对一个业务数据库的抽取;
增量抽取频率可以自由设定,对于不同的业务***数据,增量抽取的频率时不同的,像进馆数据、借阅数据等行为数据应该是一天抽取一次,而对于读者信息和图书信息等应该是一年或半年进行一次抽取,所以在使用的jar包中可以自由配置每个jobgroup的执行时间来设置不同任务的频率,从而满足数据抽取的需求;
3.2)数据清洗
对于抽取后的数据需要进行清洗,清洗标准是去除不符合标准的数据,包括字段缺失、数据错误、数据重复;
对于字段缺失的数据,首先通过中间表将数据补齐,如果中间表找不到缺失数据,且数据对后续分析有影响,则删除这条数据;如在实际操作中会遇到缺少学工号的数据,但是对于行为数据来说学工号是后续分析的重点,因此缺少学工号会对后续的分析产生影响,因此遇到这种情况,在数据量不是很大的情况下选择舍弃;
3.3)数据转换及加载
对于抽取和清洗后的数据,依然还是会存在和目标数据仓库字段类型不一致的问题,因此需要对数据根据目标仓库的对应表,对应字段的类型进行转换,并将转换后的字段加载进目标仓库中。
优选的,所述步骤3.3)中,从数据中提取用户的行为轨迹,将用户信息标签化是构建用户画像的必经过程,用户特征包含显性特征和隐形特征,在图书馆用户画像中,显性特征即读者的基本信息,如学院、专业、年级和性别,由读者的显性特征可以构建读者特征维度,从某个维度或多个维度结合对读者进行划分;读者的隐性特征能够更好地反映读者需求,读者的隐性特征包括读者活跃度、读者借阅率、电子资源使用率、公共资源使用率、读者借阅书籍文本特征这五个不同的视角特征,计算公式如下所示:
3.3.1)读者活跃度
读者活跃度最直观的表现了读者对图书馆的需求,但是不同年级,不同身份的读者在统计的时间区间内有效天数均不同,为了避免有效时间带来的影响,通过进馆次数除以有效天数来表示读者活跃度,有效天数由年级和身份决定,读者活跃度计算公式如下:
RA代表读者活跃度,T为在时间区间内的进馆次数,D为读者在数据集时间区间内在图书馆的有效天数;
3.3.2)读者借阅率
馆藏是图书馆最重要的资源之一,读者在图书馆的主要活动也是以书籍借阅为主,因此,根据读者的借阅次数和进馆次数得出读者借阅率的计算公式如下:
LR为读者借阅率,L为读者借阅次数,T为进馆次数;
3.3.3)电子资源使用率
电子资源是图书馆除馆藏资源外每年的主要投入之一,也是读者的主要活动之一,因此,有效的计算和利用电子资源的使用率能更好的反映读者的需求,计算公式如下:
IR为电子资源使用率,E为电子资源数据库集合,dx为在x库中的下载量,sx为在x库中的搜索量,T为进馆次数;
3.3.4)公共资源使用率
除了馆藏资源和电子资源外,图书馆越来越重视公共资源对读者的吸引程度,公共资源包括阅读空间、座位、自助文印的使用,计算公式如下:
PR为公共资源使用率,pt为自助文印使用次数,st为座位预约使用次数,rt为阅读空间使用次数,以上使用次数均为该资源预约使用次数,从预约记录和使用记录中获取,T为进馆次数;
3.3.5)读者借阅书籍文本特征
读者借阅的书籍信息最能体现读者的需求,书籍信息包括书名、中图分类、作者、出版社、出版年份,对书籍信息进行向量化表示,向量的每一维由特征项及其权重组成,权重用TF-IDF的方法来计算,计算公式如下:
其中:w(ti,d)为特征项ti在所有信息文本中的权重,d为所有信息文本的集合,tf(ti,d)为特征项ti在所有信息本文中的词频,N为信息文本的总数,ni为文本集中出现特征项ti的文本数,分母为归一化因子。
本发明的技术构思为:设计了一种高校图书馆用户画像***,该方案以图书馆行为数据为基础,首先通过ETL对不同业务***的数据进行预处理,然后将清洗后的数据载入到数据仓库中,再利用基于马氏距离的多视角二分K-means算法对读者数据进行聚类,并将结果转换为关系型数据后存储于数据持久层的用户画像表和群体画像表中,最后基于微服务架构和java语言与数据持久层进行数据交互,并将数据进行封装后提供给前端进行展示。
本发明包括***架构、数据仓库和用户功能模块。提出了一种高校图书馆用户画像***的生成方法,首先通过ETL技术将图书馆各业务***的数据集成到数据仓库中,然后通过构建一种多维度多视角的读者特征体系对读者进行聚类,从而得到用户画像,最后通过高校图书馆用户画像***进行前端展示。
本发明的有益效果主要表现在:1、通过ETL等数据清洗工具将各个资源库的数据清洗后汇总为统一的格式存储到数据仓库中,设计了一种数据标准。2、构建的读者特征体系可以对读者分为某一维度或多个维度组合的读者群体,从而实现不同维度或多个维度组合的读者聚类,聚类结果更加具有针对性。3、读者可通过高校图书馆用户画像***查看个人信息和用户画像;读者还可以查看根据群体聚类结果推荐的书籍、服务以及好友,为高校图书馆实现精准推荐和服务提供帮助。大大增加了读者对图书馆的兴趣和粘性。
附图说明
图1为***架构图,主要包括业务***、数据预处理层、数据持久层、离线计算层、业务逻辑层、前端展示层。
图2为微服务技术架构图,每个微服务都会被部署在不同的网络地址上,当前端发送请求后会进入服务网关,使用Node.js进行反向代理后调用对应的微服务。
图3为馆员用户功能模块图,主要包括用户登录、个人用户画像查看、个人用户画像修改、群体用户画像查看、群体用户画像修改,共5个子功能模块。
图4为读者用户功能模块图,主要包括用户登录、用户画像、年度报告、图书推荐、服务推荐、好友推荐、图书搜索,共7个子功能模块。
图5为数据仓库表间关系图,主要展示了数据仓库不同数据表的结构与根据外键引用进行关联的关联关系。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1~图5,一种高校图书馆用户画像***的生成方法,包括如下步骤:
(1)构建读者行为数据仓库:高校图书馆各个业务***和自动化***中积累了大量的读者行为数据,包括读者借阅数据、进馆数据、公共资源使用数据、电子资源使用数据,除了行为数据外还有馆藏数据和读者个人数据等基本信息数据。但是各个资源库的数据规范都不统一,因此需要构建统一的数据仓库,并通过ETL等数据清理工具将各个资源库的数据汇总为统一的格式到数据仓库中。
(2)使用多视角聚类算法进行聚类操作:为了能够全面地描绘读者,使得得出的读者用户画像更准确、更有针对性。从用户行为数据出发,构建多维度多视角读者特征体系。同时根据读者行为数据的特点,选取聚类算法中的经典K-means算法进行读者群体聚类,针对经典K-means算法陷入局部最优和欧式距离在多视角聚类中的局限性,使用了一种基于马氏距离的多视角二分K-means算法。
基于马氏距离的多视角二分K-means算法的具体步骤如下:
输入:多视角数据集D,聚类簇数k
过程:2.1)将所有数据看作一个簇,计算簇中心;
2.2)满足簇中心个数h<k条件时循环以下步骤;
2.3)i分别取1,2,…,h进行以下操作;
2.4)将第i个簇使用K-means算法进行k为2的划分;
2.5)计算划分后马氏距离总和;
2.6)比较h种划分后的马氏距离总和,选择马氏距离总和最小的划分方式;
2.7)更新簇的分配方式;
2.8)添加新的簇中心;
2.9)直到簇中心个数达到k;
输出:簇划分C=C1,C2,C3,…Ck
(3)基于多视角聚类实现用户画像:该步骤包含数据清洗、构建多维度多视角读者特征体系、针对某一维度或多个维度组合的读者进行多视角聚类、根据得出的用户群体的重要性通过数据库技术提取读者的用户特征、最后利用可视化技术得出用户画像,步骤如下:
3.1)数据抽取
数据抽取是建立ETL的第一步,在此之前对源数据库类型和数据类型做了详细的分析,通过JDBC与不同的业务数据库建立连接,这里使用一个自己封装的jar包完成数据库的连接和数据的抽取。根据此jar包形成的数据抽取方式,可以满足:
支持数据全量抽取和增量抽取,在第一次对数据进行抽取时,由于已经存在了若干年的数据,所以第一次对数据采用全量抽取,之后在第一次的基础上做增量抽取。在jar包的配置文件中对数据抽取的SQL代码被分布在不同的job中,全量抽取和增量抽取也被封装在不同的job,多个job合成一个jobgroup,每个jobgroup负责对一个业务数据库的抽取。
增量抽取频率可以自由设定,对于不同的业务***数据,增量抽取的频率时不同的,像进馆数据、借阅数据等行为数据应该是一天抽取一次,而对于读者信息和图书信息等应该是一年或半年进行一次抽取。所以在使用的jar包中可以自由配置每个jobgroup的执行时间来设置不同任务的频率,从而满足数据抽取的需求。
3.2)数据清洗
对于抽取后的数据需要进行清洗,清洗标准是去除不符合标准的数据,主要包括字段缺失、数据错误、数据重复。
对于字段缺失的数据,首先通过中间表将数据补齐,如果中间表找不到缺失数据,且数据对后续分析有影响,则删除这条数据。如在实际操作中会遇到缺少学工号的数据,但是对于行为数据来说学工号是后续分析的重点,因此缺少学工号会对后续的分析产生影响,因此遇到这种情况,在数据量不是很大的情况下选择舍弃。
在行为数据中数据错误主要集中在操作时间错误,具体体现在数据产品的时间读者并不在晓,如读者的入学年份在2016年,但是行为数据的年份是2013年,则将此条数据判断为脏数据并舍弃。
3.3)数据转换及加载
对于抽取和清洗后的数据,依然还是会存在和目标数据仓库字段类型不一致的问题,因此需要对数据根据目标仓库的对应表,对应字段的类型进行转换,并将转换后的字段加载进目标仓库中。
从数据中提取用户的行为轨迹,将用户信息标签化是构建用户画像的必经过程。用户特征包含显性特征和隐形特征。在图书馆用户画像中,显性特征即读者的基本信息,如学院、专业、年级、性别等,由读者的显性特征可以构建读者特征维度,从某个维度或多个维度结合对读者进行划分;读者的隐性特征能够更好地反映读者需求,读者的隐性特征包括读者活跃度、读者借阅率、电子资源使用率、公共资源使用率、读者借阅书籍文本特征这五个不同的视角特征。具体的计算公式如下所示:
3.3.1)读者活跃度
读者活跃度最直观的表现了读者对图书馆的需求,但是不同年级,不同身份的读者在统计的时间区间内有效天数均不同。为了避免有效时间带来的影响,通过进馆次数除以有效天数来表示读者活跃度,有效天数由年级和身份决定。读者活跃度计算公式如下:
RA代表读者活跃度,T为在时间区间内的进馆次数,D为读者在数据集时间区间内在图书馆的有效天数。
3.3.2)读者借阅率
馆藏是图书馆最重要的资源之一,读者在图书馆的主要活动也是以书籍借阅为主,因此,根据读者的借阅次数和进馆次数可以得出读者借阅率的计算公式如下:
LR为读者借阅率,L为读者借阅次数,T为进馆次数。
3.3.3)电子资源使用率
电子资源是图书馆除馆藏资源外每年的主要投入之一,也是读者的主要活动之一,因此,有效的计算和利用电子资源的使用率能更好的反映读者的需求,计算公式如下:
IR为电子资源使用率,E为电子资源数据库集合,dx为在x库中的下载量,sx为在x库中的搜索量,T为进馆次数。
3.3.4)公共资源使用率
除了馆藏资源和电子资源外,图书馆越来越重视公共资源对读者的吸引程度,公共资源包括阅读空间、座位、自助文印的使用,计算公式如下:
PR为公共资源使用率,pt为自助文印使用次数,st为座位预约使用次数,rt为阅读空间使用次数,以上使用次数均为该资源预约使用次数,从预约记录和使用记录中获取,T为进馆次数。
3.3.5)读者借阅书籍文本特征
读者借阅的书籍信息最能体现读者的需求,书籍信息包括书名、中图分类、作者、出版社、出版年份。对书籍信息进行向量化表示,向量的每一维由特征项及其权重组成,权重用TF-IDF的方法来计算,计算公式如下:
其中:w(ti,d)为特征项ti在所有信息文本中的权重,d为所有信息文本的集合,tf(ti,d)为特征项ti在所有信息本文中的词频,N为信息文本的总数,ni为文本集中出现特征项ti的文本数,分母为归一化因子。
(4)实现一个基于用户画像的图书馆推荐***:根据上述阶段得出的用户画像,设计一个用户画像***,能够挖掘读者的潜在需求,并能够推荐给读者其个性化的服务。
本实施例的***的整体架构图如图1所示,所述***包括:
1)业务***
读者在馆行为数据产生于不同的业务***,如借阅***、闸机***、电子资源***等。需要从各个不同的业务***中抽取、清洗行为数据为后续的***数据提供基础。
2)数据预处理层
由于各个业务***有自己的规则,且原始数据存在大量的脏数据,因此需要通过ETL对数据进行抽取、清洗、载入。
3)数据持久层
将各个业务***清洗后的数据载入到数据仓库中,得到完整、规范的行为数据和基本信息数据。除此之外,数据持久层还保存用户个人画像数据和群体画像数据。因为有很多不同维度的读者,所以需要提前离线计算出用户和不同群体的画像,并保存起来。
4)离线计算层
利用基于马氏距离的多视角二分K-means算法对读者数据进行聚类,并将结果转换为关系型数据后存储于数据持久层的用户画像表和群体画像表中。
5)业务逻辑层
业务逻辑层基于微服务架构和java语言与数据持久层进行数据交互,并将数据进行封装后提供给前端进行展示。
6)前端展示层
利用前端框架和Echarts可视化技术对业务逻辑层返回的数据进行展示。
基于微服务的后台架构:传统的Web项目一般都是基于单体架构,即使用一个war格式或jar格式的归档包,该归档包包含了所有的功能程序。这种单体架构***建立比较简单,不需要高强度的分离就能满足所有需求,在一开始受到广泛使用。然而随着时间的不断推移,应用程序会逐渐变大变复杂,项目的模块也会不断增多,同时模块的边界模糊,依赖关系不清楚,导致开发效率降低、代表质量降低、应用扩展变得十分困难。除此之外,单体架构框架强依赖于开发初期的技术栈,然而一套技术方案往往不能够很好的解决所有业务需求,但是引入新的技术框架和平台又十分困难,此时,引入微服务框架可以良好地缓解次弊端。
一些能够协同工作的小且自治的服务称为微服务框架。在微服务框架中的服务往往是围绕着业务功能进行构建的,通过全自动的部署机制独立部署,因此不同的服务可以用不同的语言进行开发,业务数据可以使用不同的数据存储技术。因此微服务框架相对于单体架构框架具有易于开发和维护、容易部署、模块分离、技术栈不受限制等优点。
微服务框架需要按照业务进行垂直划分,保证每个服务可以单独部署且相互隔绝。因此可将每个服务放入独立的进程中运行。如在高校图书馆用户画像***中可将计算较为复杂的群体特征聚类和个人用户特征聚类放在两个服务中运算,从而提高计算效率,满足用户画像***需求。
微服务框架的技术架构如图2所示。
每个微服务都会被部署在不同的网络地址上,当前端发送请求后会进入服务网关,使用Node.js进行反向代理后调用对应的微服务。当服务启动后,会自动通过ZooKeeper将服务信息注册到服务注册表中。当Node.js接收到前端请求后,连接ZooKeeper,从服务注册表中获取服务配置,并将请求转发到对应的服务中,最后调用具体的接口返回数据。使用Jenkins来实现自动化部署,同时使用Docker将服务封装在容器中。
馆员用户功能模块设计:根据需求分析提取馆员用户功能模块,为方便高校图书馆馆员进行用户画像管理,将馆员用户功能展示放在网页端,便于查看及操作。
馆员用户功能模块如图3所示。
用户登录模块:由于个人用户中还有读者的个人信息存在,同时为了避免用户画像被恶意篡改,所以需要馆员登陆后进行查看及操作。
个人用户画像查看模块:馆员可以通过读者学号及姓名进行搜索查看指定用户的基本信息及个人用户画像特征。
个人用户画像修改模块:馆员可以根据自己的经验及实际情况对指定读者的基本信息和个人画像特征进行修改。
群体用户画像查看模块:馆员可以通过不同维度的读者进行筛选,可以查看指定读者群体的用户群体画像特征。
群体用户画像修改模块:馆员可以根据经验及实际情况对指定读者群体的用户群体画像特征进行修改。
读者用户功能模块设计
根据需求分析提取读者用户功能模块,为方便读者用户查看,将读者用户功能展示放在手机端查看。
读者用户功能模块如图4所示。
用户登录模块:针对每一个不同的用户都会有不同的用户画像、年度报告和推荐内容,因此需要读者使用账号密码登录来获取属于自己的信息。为了给读者带来较为愉悦的体验,与图书馆账号***进行关联,使读者不再需要注册,只需要用图书馆账号密码登录即可。
用户画像模块:利用基于马氏距离的多视角二分K-means算法可以得到读者的特征指标,将特征指标结合进行排序即可对所有读者进行排名并按照排名进行分类。
年度报告模块:将行为数据进行汇总后,利用Echarts可视化技术将读者在馆的数据形象直观的展示给读者。
图书推荐模块:由于在聚类过程中的群体一般具有共同的爱好,所以将读者所在的群体的借阅书籍文本特征提取出来可以推荐给读者。
服务推荐模块:根据多视角特征体系以及读者所在的聚类群体可以了解到读者对图书馆的哪一项服务比较感兴趣,因此可以借鉴地推荐给读者相关的服务。
好友推荐模块:根据读者所在的聚类群体为其推荐和读者有共同借阅喜好的读者。
图书搜索模块:为读者提供图书馆书籍的搜索,可以方便读者第一时间查询为其推荐的图书是否是合理的,同时根据画像结果对搜索结果进行推荐指数的评级和排序。
数据仓库设计:根据用户画像需求以及图书馆读者行为数据,建立数据仓库的数据表包括读者基本信息表、馆藏资源信息表、图书借阅表、进馆数据表、电子资源使用表、IC空间使用表、自助文印使用表。
以上七张表的基本信息介绍如下:
读者基本信息表(reader_info):
读者基本信息表包含读者基本信息,通过读者的基本信息可以构建不同的读者维度,从而能够对不同维度的读者进行多视角聚类,实现精准推荐。读者基本信息表共9个字段,包括学工号、借阅人姓名、性别、学校、校区、学院、专业、年级、读者类别。
馆藏资源信息表(book_info):
馆藏资源信息表包含馆藏图书基本信息,通过对读者借阅书籍的文本特征聚类,可以挖掘读者需求的变化,从而及时捕捉到读者多变的需求。馆藏资源信息表共11个字段,包括图书编号、中图分类号、分类名称、图书名称、ISBN号、作者、出版社、出版年份、所属分馆、入馆时间、出馆时间。
图书借阅表(book_lend):
图书借阅表为借阅行为表,存储读者借阅行为记录,该表可以直观的反映出读者的借阅喜好以及可以计算读者的借阅率。图书借阅表共3个字段,包括借阅时间、借阅读者学工号、借阅图书编号。
进馆数据表(gate_info):
进馆数据表存储读者进入图书馆记录,通过对读者进馆数据的分析汇总可以计算出读者的活跃度。进馆数据表共3个字段,包括进馆读者学工号、进馆时间、图书馆所在校区。
电子资源使用表(electronic_resoures):
电子资源使用表存储读者对电子资源的操作记录,读者除了对馆藏信息感兴趣外还会对电子资源进行检索,因此电子资源也可以反映出读者的需求喜好。电子资源使用表共4个字段,包括读者学工号、操作时间、电子资源库、操作类型。
IC空间使用表(IC_use_info):
IC空间使用表记录了读者对IC空间的预约记录,读者在馆除了对资源的检索和使用外还包括对公共资源的利用,IC空间属于图书馆公共资源,IC空间包含电子阅览室、研修间和座位。IC空间记录表共4个字段,包括读者学工号、使用开始时间、使用结束时间、IC空间类型。
自助文印使用表(print_info):
自助文印使用表记录了读者对自助文印设备的使用记录,高校图书馆的公共资源除了IC空间外还有自助文印设备,读者可以通过自助文印设备进行打印、复印、扫描,通过对公共资源使用率计算可以了解读者在馆的实际需求。自助文印使用表共7个字段,包括读者学工号、操作时间、纸张数量、费用、纸张类型、文印类型、文印地点。
其中行为记录表根据外键引用进行关联,表关系及结构如图5所示。
Claims (3)
1.一种高校图书馆用户画像***的生成方法,其特征在于,所述方法包括如下步骤:
(1)构建读者行为数据仓库:读者行为数据包括读者借阅数据、进馆数据、公共资源使用数据、电子资源使用数据,除了行为数据外还有馆藏数据和读者个人数据基本信息数据;构建统一的数据仓库,并通过ETL数据清理工具将各个资源库的数据汇总为统一的格式到数据仓库中;
(2)使用多视角聚类算法进行聚类操作:从用户行为数据出发,构建多维度多视角读者特征体系,同时根据读者行为数据的特点,选取聚类算法中的经典K-means算法进行读者群体聚类,针对经典K-means算法陷入局部最优和欧式距离在多视角聚类中的局限性,使用了一种基于马氏距离的多视角二分K-means算法;
(3)基于多视角聚类实现用户画像:该步骤包含数据清洗、构建多维度多视角读者特征体系、针对某一维度或多个维度组合的读者进行多视角聚类、根据得出的用户群体的重要性通过数据库技术提取读者的用户特征、最后利用可视化技术得出用户画像;
(4)实现一个基于用户画像的图书馆推荐***:根据上述阶段得出的用户画像,设计一个用户画像***,能够挖掘读者的潜在需求,并能够推荐给读者其个性化的服务;
所述步骤(2)中,基于马氏距离的多视角二分K-means算法,输入为多视角数据集D,聚类簇数k;输出为簇划分C=C1,C2,C3,…Ck,步骤如下:
2.1)将所有数据看作一个簇,计算簇中心
2.2)满足簇中心个数h<k条件时循环以下步骤;
2.3)i分别取1,2,…,h进行以下操作;
2.4)将第i个簇使用K-means算法进行k为2的划分;
2.5)计算划分后马氏距离总和;
2.6)比较h种划分后的马氏距离总和,选择马氏距离总和最小的划分方式;
2.7)更新簇的分配方式;
2.8)添加新的簇中心;
2.9)直到簇中心个数达到k。
2.如权利要求1所述的一种高校图书馆用户画像***的生成方法,其特征在于,所述步骤(3)中,步骤如下:
3.1)数据抽取
数据抽取是建立ETL的第一步,在此之前对源数据库类型和数据类型做了详细的分析,通过JDBC与不同的业务数据库建立连接,这里使用一个自己封装的jar包完成数据库的连接和数据的抽取;根据此jar包形成的数据抽取方式,满足:
支持数据全量抽取和增量抽取,在第一次对数据进行抽取时,由于已经存在了若干年的数据,所以第一次对数据采用全量抽取,之后在第一次的基础上做增量抽取;在jar包的配置文件中对数据抽取的SQL代码被分布在不同的job中,全量抽取和增量抽取也被封装在不同的job,多个job合成一个jobgroup,每个jobgroup负责对一个业务数据库的抽取;
增量抽取频率自由设定,对于不同的业务***数据,增量抽取的频率是不同的,进馆数据、借阅数据行为数据一天抽取一次,而对于读者信息和图书信息一年或半年进行一次抽取,所以在使用的jar包中自由配置每个jobgroup的执行时间来设置不同任务的频率,从而满足数据抽取的需求;
3.2)数据清洗
对于抽取后的数据需要进行清洗,清洗标准是去除不符合标准的数据,包括字段缺失、数据错误、数据重复;
对于字段缺失的数据,首先通过中间表将数据补齐,如果中间表找不到缺失数据,且数据对后续分析有影响,则删除这条数据;如在实际操作中会遇到缺少学工号的数据,但是对于行为数据来说学工号是后续分析的重点,因此缺少学工号会对后续的分析产生影响,因此遇到这种情况,选择舍弃;
3.3)数据转换及加载
对于抽取和清洗后的数据,依然还是会存在和目标数据仓库字段类型不一致的问题,因此需要对数据根据目标仓库的对应表,对应字段的类型进行转换,并将转换后的字段加载进目标仓库中。
3.如权利要求2所述的一种高校图书馆用户画像***的生成方法,其特征在于,所述步骤3.3)中,从数据中提取用户的行为轨迹,将用户信息标签化是构建用户画像的必经过程,用户特征包含显性特征和隐形特征,在图书馆用户画像中,显性特征即读者的基本信息,包括学院、专业、年级和性别,由读者的显性特征构建读者特征维度,从某个维度或多个维度结合对读者进行划分;读者的隐性特征能够更好地反映读者需求,读者的隐性特征包括读者活跃度、读者借阅率、电子资源使用率、公共资源使用率、读者借阅书籍文本特征这五个不同的视角特征,计算公式如下所示:
3.3.1)读者活跃度
读者活跃度最直观的表现了读者对图书馆的需求,但是不同年级,不同身份的读者在统计的时间区间内有效天数均不同,为了避免有效时间带来的影响,通过进馆次数除以有效天数来表示读者活跃度,有效天数由年级和身份决定,读者活跃度计算公式如下:
RA代表读者活跃度,T为在时间区间内的进馆次数,D为读者在数据集时间区间内在图书馆的有效天数;
3.3.2)读者借阅率
馆藏是图书馆最重要的资源之一,读者在图书馆的主要活动也是以书籍借阅为主,因此,根据读者的借阅次数和进馆次数得出读者借阅率的计算公式如下:
LR为读者借阅率,L为读者借阅次数,T为进馆次数;
3.3.3)电子资源使用率
电子资源是图书馆除馆藏资源外每年的主要投入之一,也是读者的主要活动之一,因此,有效的计算和利用电子资源的使用率能更好的反映读者的需求,计算公式如下:
IR为电子资源使用率,E为电子资源数据库集合,dx为在x库中的下载量,sx为在x库中的搜索量,T为进馆次数;
3.3.4)公共资源使用率
除了馆藏资源和电子资源外,图书馆越来越重视公共资源对读者的吸引程度,公共资源包括阅读空间、座位、自助文印的使用,计算公式如下:
PR为公共资源使用率,pt为自助文印使用次数,st为座位预约使用次数,rt为阅读空间使用次数,以上使用次数均为该资源预约使用次数,从预约记录和使用记录中获取,T为进馆次数;
3.3.5)读者借阅书籍文本特征
读者借阅的书籍信息最能体现读者的需求,书籍信息包括书名、中图分类、作者、出版社、出版年份,对书籍信息进行向量化表示,向量的每一维由特征项及其权重组成,权重用TF-IDF的方法来计算,计算公式如下:
其中:w(ti,d)为特征项ti在所有信息文本中的权重,d为所有信息文本的集合,tf(ti,d)为特征项ti在所有信息本文中的词频,N为信息文本的总数,ni为文本集中出现特征项ti的文本数,分母为归一化因子。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910633190.3A CN110532309B (zh) | 2019-07-15 | 2019-07-15 | 一种高校图书馆用户画像***的生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910633190.3A CN110532309B (zh) | 2019-07-15 | 2019-07-15 | 一种高校图书馆用户画像***的生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110532309A CN110532309A (zh) | 2019-12-03 |
CN110532309B true CN110532309B (zh) | 2022-05-03 |
Family
ID=68659694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910633190.3A Active CN110532309B (zh) | 2019-07-15 | 2019-07-15 | 一种高校图书馆用户画像***的生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110532309B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112732974A (zh) * | 2019-10-10 | 2021-04-30 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、电子设备及存储介质 |
CN111223235A (zh) * | 2019-12-27 | 2020-06-02 | 合肥美的智能科技有限公司 | 无人柜机的商品投放方法、无人柜机及其控制装置 |
CN112069390B (zh) * | 2020-07-15 | 2023-09-26 | 西安工程大学 | 一种基于时空维度用户图书借阅行为分析及兴趣预测方法 |
CN113282651A (zh) * | 2021-04-25 | 2021-08-20 | 青岛海尔科技有限公司 | 数据处理方法及装置、存储介质及电子装置 |
CN114218476B (zh) * | 2021-11-12 | 2022-10-04 | 深圳前海鹏影数字软件运营有限公司 | 一种内容推荐方法、装置及终端设备 |
CN114821880A (zh) * | 2021-11-18 | 2022-07-29 | 国网浙江省电力有限公司温州供电公司第二名称:温州电力局 | 一种基于叶贝思网络算法的板卡智能微仓故障检测*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202184A (zh) * | 2016-06-27 | 2016-12-07 | 华中科技大学 | 一种面向高校图书馆的图书个性化推荐方法和*** |
CN106548381A (zh) * | 2016-12-19 | 2017-03-29 | 武汉理工数字传播工程有限公司 | 智能用户标签***及实现方法 |
CN109190044A (zh) * | 2018-09-10 | 2019-01-11 | 北京百度网讯科技有限公司 | 个性化推荐方法、装置、服务器和介质 |
CN109271594A (zh) * | 2018-11-21 | 2019-01-25 | 掌阅科技股份有限公司 | 电子书的推荐方法、电子设备及计算机存储介质 |
CN109684330A (zh) * | 2018-12-17 | 2019-04-26 | 深圳市华云中盛科技有限公司 | 用户画像库构建方法、装置、计算机设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109121093A (zh) * | 2018-07-12 | 2019-01-01 | 福州大学 | 一种基于被动式WiFi与深度聚类的用户画像构建方法及*** |
CN109670849A (zh) * | 2018-09-25 | 2019-04-23 | 平安科技(深圳)有限公司 | 用户poi画像生成方法、装置、设备及可读存储介质 |
-
2019
- 2019-07-15 CN CN201910633190.3A patent/CN110532309B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202184A (zh) * | 2016-06-27 | 2016-12-07 | 华中科技大学 | 一种面向高校图书馆的图书个性化推荐方法和*** |
CN106548381A (zh) * | 2016-12-19 | 2017-03-29 | 武汉理工数字传播工程有限公司 | 智能用户标签***及实现方法 |
CN109190044A (zh) * | 2018-09-10 | 2019-01-11 | 北京百度网讯科技有限公司 | 个性化推荐方法、装置、服务器和介质 |
CN109271594A (zh) * | 2018-11-21 | 2019-01-25 | 掌阅科技股份有限公司 | 电子书的推荐方法、电子设备及计算机存储介质 |
CN109684330A (zh) * | 2018-12-17 | 2019-04-26 | 深圳市华云中盛科技有限公司 | 用户画像库构建方法、装置、计算机设备及存储介质 |
Non-Patent Citations (4)
Title |
---|
"On K-means algorithm with the use of Mahalanobis distances";Igor Melnykov;《Statistics and Probability Letters》;20140131;第84卷;88-95 * |
"Robust Discriminative multi-view K-means clustering with feature selection and group sparsity learning";Zhiqiang Zeng;《Multimedia Tools and Applications》;20180901;第77卷(第17期);22433-22453 * |
"基于用户画像的图书馆资源推荐模式设计与分析";王庆等;《现代情报》;20180403;第38卷(第3期);105-109,137 * |
"面向大规模数据的多视角K-means聚类算法的研究";郭亚锐;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;20171215(第2017年第12期);I138-279 * |
Also Published As
Publication number | Publication date |
---|---|
CN110532309A (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110532309B (zh) | 一种高校图书馆用户画像***的生成方法 | |
CN106796578B (zh) | 知识自动化***和方法以及存储器 | |
CN104361111B (zh) | 一种档案自动编研方法 | |
JP4980395B2 (ja) | データ分析システム及び方法 | |
CN101796795B (zh) | 分布式*** | |
CN106682150B (zh) | 一种信息处理的方法及装置 | |
CN101454771A (zh) | 基于使用多媒体调查特征匹配以划分和标记个体的***和方法 | |
CN108268565B (zh) | 基于数据仓库处理用户浏览行为数据的方法及*** | |
CN101496003A (zh) | 社交网络中用户的兼容性评分 | |
CN113868235A (zh) | 一种基于大数据的信息检索分析*** | |
CN107563715A (zh) | 外贸集客营销***及方法 | |
US20120239657A1 (en) | Category classification processing device and method | |
CN104050243A (zh) | 一种将搜索与社交相结合的网络搜索方法及其*** | |
CN102880721A (zh) | 垂直搜索引擎的实现方法 | |
CN112632405A (zh) | 一种推荐方法、装置、设备及存储介质 | |
CN105518644A (zh) | 在地图上实时处理并显示社交数据的方法 | |
Rasmussen | Social Science Metadata and the Foundations of the DDI | |
Mohamadina et al. | Business intelligence: concepts, issues and current systems | |
CN112527918A (zh) | 一种数据处理的方法和装置 | |
Sadath | Data mining in E-commerce: a CRM platform | |
CN108694213A (zh) | 日志文件的生成方法、检索方法及装置 | |
CN114637866B (zh) | 数字化新媒体的信息管理方法及装置 | |
CN116127047A (zh) | 企业信息库的建立方法与装置 | |
CN108132940B (zh) | 一种应用程序数据提取方法及装置 | |
JP6763967B2 (ja) | データ変換装置とデータ変換方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |