1.一种基于数据挖掘的图书荐购方法,其特征在于:所述方法包括以下步骤:第一步,挖掘活跃书籍:基于读者行为数据,通过聚类算法,得到既符合质量要求又受读者欢迎的图书;
研究的原始数据包括读者数据表readerinfo、馆藏数据表colinfo、专家数据表expscore、借阅数据表lendinfo和检索数据表searchinfo,将图书借阅比率、待馆时长、检索次数、活跃出版社、读者身份占比五个特征作为评价活跃书籍的依据;
将数据处理后的聚类特征集合作为数据集输入,并对数据进行归一化处理,将取值映射在区间[0,1]上;新建一个集合存放噪声点,在去除噪声点集合的样本集中选取k个初始聚类中心,利用欧式距离计算每个样本点与初始聚类中心的距离,将其划分至距离最小的初始聚类中心所在的簇;根据簇的大小判断其是否小于设定的阈值,若小于则将该初始聚类中心放入噪声点集合,重新选取聚类中心;否则计算每个簇的均值M1,根据均值产生新的质心,再根据欧式距离计算每个样本点与M1的距离产生新簇,计算新簇的均值M2,若|M2‑M1|>1,继续调整簇,若|M2‑M1|<1将得到的簇输出到文件,得出活跃书籍,算法结束;
第二步,匹配荐购书单:将活跃书籍与已有的荐购书单匹配,获得最终荐购书单;
所述第一步中,初始聚类中心选取的过程如下:
1.1)假设聚类个数为K,聚类中心用A表示,则有A={a1,a2,a3,…,ak},样本点的个数为N,噪声点个数为O,属性为M,则样本集合X={X1,X2,X3,…,XN‑O},计算任意两个样本点xi,xj之间的欧式距离Dij,找出最大的DIJ,如果 则样本点xi,xj就作为初始聚类的前两个类心,即有a1=xi,a2=xj;转步骤2)计算剩下的K‑2个聚类中心;
1.2)由上个步骤计算出了聚类的前两个初始聚类中心,假设此时已经确定了k个聚类中心(2≤k≤K‑1),则第k+1个聚类中心为ai+1,就是样本集中剩下的N‑O‑k个样本点与已经确定的前k个聚类中心的距离最小值Di;再找其中最大的DI,如果 则样本点xi就是聚类的第k个初始聚类中心,这样重复步骤1.2),直到K个初始聚类中心都找到为止;
1.3)噪声点的确定:设噪声点阈值参数为t,根据初始聚类中心产生簇,判断是否每个t
簇中的个数大于阈值N/K ,如果大于则继续算法下面的步骤,否则将这个簇中的初始聚类中心标记为噪声点,并在算法重新选取初始聚类中心时去除噪声点,直到每个簇的个数满足设定的阈值;
所述第一步中,对原始数据进行分析计算,过程如下:
1)借阅比率
提出借阅比率用如下公式计算:
式中BR表示借阅比率,BN表示借阅次数,CN表示复本数;
2)待馆时长
根据书号book_id、操作类型operation、操作时间operation_time和复本数copy计算每本书的平均待馆时长,涉及借阅数据表lendinfo和馆藏数据表colinfo;
3)检索次数
检索次数根据读者编号reader_id、检索内容content、检索时间search_time统计获得;
4)活跃出版社
构建活跃出版社数据挖掘模型:
P=PA×wA+PB×wB+PC×wC式中,P表示某个出版社的综合评分,PA、PB、PC分别表示读者借阅、专家推荐、历史采购信息对出版社的评分,wA、wB、wC分别表示读者借阅、专家推荐、历史采购在活跃出版社评分挖掘中所设置的权重;根据P值的大小判断每本书的出版社是否为活跃出版社;
5)读者身份占比
读者身份占比表示借阅某本书的读者的身份不同,该书体现的价值也是不同的;
R=RT×wT+RG×wG+RU×wU式中,代表读者身份占比的值,RT、RG、RU分别表示借阅某本书的教师人数、研究生人数、本科生人数,wT、wG、wU分别代表教师、研究生、本科生三种身份所占的权重。
2.如权利要求1所述的一种基于数据挖掘的图书荐购方法,其特征在于:所述第二步中,匹配荐购书单就是活跃书籍与已有的荐购书单匹配的过程,首先利用Stanford CoreNLP分词工具,对活跃书籍书名进行分词处理,书名被分为名词、形容词、连接词、字符和数字;然后去除分词中的无关词,获取书名关键字;最后,将提取的关键字与荐购书单进行字符串匹配,输出书名中含有关键字的书单,这些书单即为荐购书单。