CN110990670B - 一种成长激励型图书推荐方法及推荐系统 - Google Patents
一种成长激励型图书推荐方法及推荐系统 Download PDFInfo
- Publication number
- CN110990670B CN110990670B CN201911042093.3A CN201911042093A CN110990670B CN 110990670 B CN110990670 B CN 110990670B CN 201911042093 A CN201911042093 A CN 201911042093A CN 110990670 B CN110990670 B CN 110990670B
- Authority
- CN
- China
- Prior art keywords
- book
- books
- data
- reader
- recommendation
- 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
- 238000000034 method Methods 0.000 title claims abstract description 83
- 230000036651 mood Effects 0.000 claims abstract description 46
- 238000004364 calculation method Methods 0.000 claims abstract description 14
- 238000002372 labelling Methods 0.000 claims abstract description 11
- 239000013598 vector Substances 0.000 claims description 56
- 239000011159 matrix material Substances 0.000 claims description 35
- 230000008451 emotion Effects 0.000 claims description 14
- 238000000605 extraction Methods 0.000 claims description 14
- 230000009193 crawling Effects 0.000 claims description 7
- 206010063659 Aversion Diseases 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 6
- 230000010354 integration Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 20
- 230000008569 process Effects 0.000 description 11
- 230000006399 behavior Effects 0.000 description 6
- 238000002360 preparation method Methods 0.000 description 5
- 208000027418 Wounds and injury Diseases 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000006378 damage Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 208000014674 injury Diseases 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 101100153586 Caenorhabditis elegans top-1 gene Proteins 0.000 description 2
- 101100537629 Caenorhabditis elegans top-2 gene Proteins 0.000 description 2
- 101100261000 Caenorhabditis elegans top-3 gene Proteins 0.000 description 2
- 101100370075 Mus musculus Top1 gene Proteins 0.000 description 2
- 244000046052 Phaseolus vulgaris Species 0.000 description 2
- 235000010627 Phaseolus vulgaris Nutrition 0.000 description 2
- 101150107801 Top2a gene Proteins 0.000 description 2
- 210000005252 bulbus oculi Anatomy 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000013467 fragmentation Methods 0.000 description 2
- 238000006062 fragmentation reaction Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 208000013875 Heart injury Diseases 0.000 description 1
- 244000181025 Rosa gallica Species 0.000 description 1
- 235000000533 Rosa gallica Nutrition 0.000 description 1
- 241000109463 Rosa x alba Species 0.000 description 1
- 235000005073 Rosa x alba Nutrition 0.000 description 1
- 101100261006 Salmonella typhi topB gene Proteins 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000008021 deposition Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 235000013410 fast food Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000004936 stimulating effect Effects 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 101150032437 top-3 gene Proteins 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种成长激励型图书推荐方法,包括以下步骤:步骤一:收集图书的数据,并进行图书标签标注;步骤二:对所述图书的阅读数据进行特征提取,形成三维特征;所述三维特征包括:兴趣特征、心情特征和性格特征;步骤三:获取读者已读的图书信息,所述图书信息包括:三维特征与图书标签;计算读者已读图书与数据库中图书之间的距离,并根据k‑近邻的计算结果得到正向的推荐图书;通过统计读者已读图书的图书标签计算其反向标签,生成反向的推荐图书。本发明还提出了一种成长激励型图书推荐系统。
Description
技术领域
本发明涉及一种推荐方法及推荐系统,特别是涉及一种图书的推荐方法及推荐系统。
背景技术
随着电子化阅读的时代来临,“流量思维”的概念进入图书出版领域。通过顺应大规模用户眼球,吸引用户流量;“碎片化”阅读成为读者的常态,七成以上网民每日手机阅读市场为1至3小时,其中近半时间都贡献给了微信公众号和朋友圈,证明了所谓“数字阅读”的大多是碎片化、无目的性的阅读,难以使人沉淀下来深入挖掘与思考。
一来是读者的阅读习惯趋于“快餐式”与“扁平化”,二来,随着生活习惯的变化,读者获取图书的渠道也受限于一些主流图书电商和营销机构的“垄断”。在流量与营销媒体占尽各领域眼球的当下,缺乏阅读经验的读者往往只能接收到大众化的、漫无目的的阅读推荐,而对热爱阅读的读者而言,其真正渴望获得的优质阅读资源又容易被淹没在纷繁的营销洪流中。在这样的背景下,如何使为读者提供真正个性化的、优质的荐书体验成为读者阅读体验的重中之重。
以亚马逊、当当网、豆瓣读书为例,它们利用用户数据进行个性化图书推荐的方式可大致分为四类:(1)基于用户历史行为共同性的推荐,主要基于“协同过滤”概念,其原理依据是“人以群分,物以类聚”[1];(2)基于用户行为推测其兴趣,即根据用户搜索、浏览、购买图书的行为来推测其兴趣,推荐该兴趣分类中的畅销书籍;(3)组合搭配推荐,根据当前页面的图书推荐同类图书;(4)社会化推荐板块,通过用户自己的社交关系来获得图书推荐[2]。
综合分析上述推荐方法,可得到影响主流荐书算法的3类核心数据:第一是用户行为的相似度数据,第二是图书的细分分类(以便于推荐同类畅销书),第三是用户的社交关系。这些方法中存在三个主要问题:第一,算法极易受潮流影响。图书销量直接影响协同过滤算法中同伴的购买行为数据及推荐列表中的排序。但是好的图书需要时间的沉淀,销量不能保证图书质量,更不能保证图书是否适合读者本身;第二,此类算法推荐图书时采用的是与其他类型产品一样的推荐方案,没有利用书本自身独特的特性,如图书的文本内容、读者感受等。这样就无法根据书本特性进一步优化图书推荐算法;第三,算法仅注重强化用户行为,忽视了读者的全面成长。可以容易地发现,上述算法只能推荐与读者已读书籍同类或者有关联的书,但这样也会使读者的阅读内容日益狭隘,无异于读者的全面成长。
发明内容
本发明提出了一种成长激励型的图书推荐方法,通过读者的阅读数据,建立兴趣、心情、性格三维读者画像,并以正向推荐与反向推荐结合的方式,从深度与宽度上拓展读者的阅读面,从而激励读者通过阅读全面成长。图1以思维导图的形式展示了深度推荐与广度推荐对读者阅读面产生影响的示意图,其中黑色表示读者读过的书籍,灰色代表推荐阅读的书籍。
本发明提出的成长激励型图书推荐方法,包括以下步骤:
步骤一:收集图书的数据,并进行图书标签标注;
步骤二:对所述图书的阅读数据进行特征提取,形成三维特征;所述三维特征包括:兴趣特征、心情特征和性格特征;
步骤三:获取读者已读的图书信息,所述图书信息包括:三维特征与图书标签;计算读者已读图书与数据库中图书之间的距离,并根据k-近邻的计算结果得到正向的推荐图书;通过统计读者已读图书的图书标签计算其反向标签,生成反向的推荐图书。
本发明中,所述收集图书的数据为采用网络爬虫的方式,从图书网站爬取图书的基本数据和详情数据;所述图书标签标注为爬取图书网站上的所有图书标签,统计其中出现次数总量最高的前N个高频标签,对高频标签和非高频标签分别进行手动及自动的性格标注;所述N为在所有图书标签中出现次数在前6%的标签的数量。
本发明中,所述基本数据包括图书的书名、作者、出版社,作为所有已出版图书的索引;所述详情数据包括图书的内容简介、标签、书评,用于内容特征、情感特征的提取。
本发明中,所述三维特征包括:从所述兴趣特征通过内容简介提取;所述心情特征从所述书评中提取;所述性格特征通过性格标注整合来得到。
本发明中,所述心情特征包括:伤心、喜欢、开心、厌恶、愤怒、害怕、惊喜;所述性格标注包括:爱、逻辑、深度、想象力、知识。
本发明中,通过接收读者输入的书名,与图书数据匹配,从而得到读者已读的图书信息;所述与图书数据匹配方法输入为用户输入的书名与图书数据,输出为匹配到的图书b,包括以下步骤:
1)利用图书数据B初始化词袋模型model;
2)定义bag()函数,用于计算语句间的距离;
3)定义bleu()函数,用于计算语句间的BLEU值;
4)通过词袋模型model将输入书名K转换为向量ref,ref=model(K);
5)将图书数据转化为向量列表sources,sources=model(B);
6)设置一个新的向量Score=0;
7)对于sources中的每一个元素source,循环执行7.1-7.3;
7.1)计算向量ref的BLEU值Bleu_score,Bleu_score=bleu(ref,source);
7.2)计算向量ref与图书数据之间的距离Bag_score,Bag_score=bag(ref,source);
7.3)找到Score,Bleu_score,Bag_score中的最大值,保存到Score;
8)找到使Score值最大的source;
9)找到source在图书数据B中对应的图书b;
10)返回图书b。
本发明中,所述兴趣特征提取方法输入是图书兴趣特征列表F,特征长度n,图书兴趣特征列表F的长度N,输出是读者兴趣特征P,包括以下步骤:
1)初始化聚类个数k,k=2;
2)随机生产k个特征向量,保存在矩阵centroids,centroids的尺寸为(k,n);
3)初始化矩阵dist,尺寸为(N,2);
4)初始化m=0;
5)循环执行5.1-5.3,直到跳出循环;
5.1)当矩阵centroids没有发生变化时,循环执行5.1.1-5.1.2.2;
5.1.1)对F中的每个元素f,循环执行5.1.1.1-5.1.1.2;
5.1.1.1)计算离元素f最近的矩阵centroids中的点c与相应的距离d;
5.1.1.2)将(c,d)保存在矩阵dist中对应元素f的行;
5.1.2)对矩阵centroids中的每个元素c,循环执行5.1.2.1-5.1.2.2;
5.1.2.1)从图书兴趣特征列表F中取出所有以元素c为最近邻的特征点,保存在读者兴趣画像P,P=F[dist[:,0]==c];
5.1.2.2)更新元素c,设元素c为读者兴趣画像P集合的中心点,c=mean(P,axis=0);
5.2)根据中心点与聚类的点之间的距离计算平均绝对误差MAE,保存在m′,m′=MAE(centroids,dist);
5.3)判断是否m′>=m;
5.3.1)跳出循环;
5.4)如果m′<m;
5.4.1)m=m′;
6)返回矩阵centroids。
本发明中,所述性格特征提取方法输入为图书分类标签列表B及分类性格对应表T,输出为读者性格特征D,包括以下步骤:
1)初始化性格特征D长度为5的零向量;
2)对图书分类标签列表B中的每本书b,循环执行2.1;
2.1)对书b中的每个标签t,循环执行2.1.1;
2.1.1)将分类性格对应表T中对应t的元素T[t]累加到性格特征D;
3)标准化性格特征D。
本发明中,根据性格特征与心情特征生成推荐图书的方法输入为读者兴趣画像P,图书数据B,自定义的推荐数目Q,输出为推荐书单R,包括以下步骤:
1)初始化推荐书单R为空集;
2)定义calsim()函数,用以计算生成两本书的相似度;
3)初始化n*m维相似性矩阵K,n是P的大小,m是书籍总数,Kij为第i本书与第j本书间的相似度;
4)For P中的每一个向量p,循环执行步骤4.1-4.2;
4.1)调用calsim()函数,计算向量p与图书数据B中每本书的特征向量的相似度Ki1,Ki2,……,Kim;
4.2)将计算结果添加到相似性矩阵K中;
5)对相似性矩阵K的第一维度取最大值,转换成维度为m的书单分数向量V;
6)取书单分数向量V中分数最高Q本书,加入推荐书单R中;通过调整相似度函数calsim(),在正向推荐与反向推荐之间调节。
本发明中,根据性格特征生成推荐图书的方法输入为读者性格画像P,图书数据A,自定义的推荐图书数量N,标签性格对应表T;输出为推荐书单R,包括以下步骤:
1)初始化推荐书单R为空集合;
2)设C为图书数据A中所有图书的分类标签集合;
3)初始化空列表L;
4)对于T中的每个元素t,循环执行4.1;
4.1)计算标签性格对应表t与读者性格画像P的距离,保存到空列表L;
5)以递增顺序对空列表L排序;
6)判断是否是正向推荐;
6.1)在空列表L中前3个元素的对应分类标签中随机提取N本书保存到推荐书单R;
7)如果不是正向推荐,则是反向推荐;
7.1)在空列表L中后3个元素的对应分类标签中随机提取N本书保存到推荐书单R。
8)返回推荐书单R。
基于以上方法,本发明还提出了一种成长激励型图书推荐系统,所述系统包括:
爬虫模块,其用于从图书网站爬取到的图书的数据;
图书特征生成模块,其用于生成得到图书特征和标签性格对应表;
图书匹配模块,其用于接收输入书名,与图书数据匹配,从而得到读者阅读数据;
读者画像生成模块,其用于通过阅读数据生成读者画像;
图书推荐模块,其用于将所述读者画像与所述图书特征和标签性格对应表相互匹配,从而得到推荐书单。
本发明相较于现有图书相关网站中的书名搜索功能,本发明技术方案中的图书模糊匹配算法允许读者在输入时有缺字、错字情况,通过将书名转换成BLEU值并进行排序计算,得到匹配输入书名的图书。
本发明相较现有的以相似标签、相似用户为基础的图书推荐系统,本发明技术方案强调既有深度、又有广度的两方面推荐。在传统正向推荐的技术上加入了反向推荐,强化优点、补齐缺点,从而起到成长激励效果。
本发明相较现有的以图书书名、分类标签等数据为主要参考对象的图书推荐算法,本发明技术方案深入挖掘读者阅读信息,从兴趣、心情、性格三方面深入挖掘阅读画像,从而得到更有价值的图书推荐。
本发明的读者画像模型。现有图书推荐方法的读者画像主要基于用户相似度数据、图书分类、用户社交关系。本发明技术方案对读者画像进行了独特的创新性改进,从兴趣、心情、性格三方面建立模型,从而可对读者进行更深入和全面的图书推荐。
本发明用于生成心情特征的情感特征提取模型。本发明技术方案将阅读情感分为7类,分别为伤心、喜欢、开心、厌恶、愤怒、害怕、惊喜。其计算模型在常用的TextCNN技术上加深模型深度,并引入残差模块,使得模型可以适用于更为复杂的文本环境。
本发明的性格特征建模与标签传播算法。现有图书推荐数据不考虑读者个性。本发明技术方案在爱、逻辑、深度、想象力、知识5个维度上对读者性格建模,并通过人工标注与标签传播算法对高频图书标签在5个维度上进行标注,从而用于生成性格特征。
本发明为完全基于读者个人阅读数据的图书推荐方法,推荐的图书完全基于读者个人在兴趣、心情、性格的三维特征,不会受到潮流的影响。
本发明充分利用了图书作为文本的特性,和阅读类型与读者性格密切相关的特性[3],从这些图书独有的数据中提取高质特征,相比当下的图书推荐算法,要更有针对性。
本发明提出了深度与广度相结合的成长激励型图书推荐方法,从正向和反向两个方向对读者推荐图书,帮助读者全面地完善自身的阅读面。
附图说明
图1-1为本发明深度与广度推荐示意图。
图2-1为本发明方法流程图。
图2-2为本发明图书信息准备流程图。
图2-3为本发明性格标注数据准备流程图。
图2-4为本发明读者画像三维建模流程图。
图2-5为本发明图书推荐流程图。
图3-1为本发明方法实现模块图。
图3-2为本发明特征提取模型结构示意图。
图3-3为本发明情感分类器模型结构示意图。
具体实施方式
结合以下具体实施例和附图,对发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
本发明提出的成长激励型图书推荐方法,包括以下步骤:
步骤一:收集图书的数据,并进行图书标签标注;
步骤二:对图书的阅读数据进行特征提取,形成三维特征;三维特征包括:兴趣特征、心情特征和性格特征;
步骤三:获取读者已读的图书信息,图书信息包括:三维特征与图书标签;计算读者已读图书与数据库中图书之间的距离,并根据k-近邻的计算结果得到正向的推荐图书;通过统计读者已读图书的图书标签计算其反向标签,生成反向的推荐图书。
本发明中,收集图书的数据为采用网络爬虫的方式,从图书网站爬取图书的基本数据和详情数据;图书标签标注为爬取图书网站上的所有图书标签,统计其中出现次数总量最高的前N个高频标签,对高频标签和非高频标签分别进行手动及自动的性格标注;N为在所有图书标签中出现次数在前6%的标签的数量。
本发明中,基本数据包括图书的书名、作者、出版社,作为所有已出版图书的索引;详情数据包括图书的内容简介、标签、书评,用于内容特征、情感特征的提取。
本发明中,三维特征包括:从兴趣特征通过内容简介提取;心情特征从书评中提取;性格特征通过性格标注整合来得到。
本发明中,心情特征包括:伤心、喜欢、开心、厌恶、愤怒、害怕、惊喜;性格标注包括:爱、逻辑、深度、想象力、知识。
本发明中,通过接收读者输入的书名,与图书数据匹配,从而得到读者已读的图书信息;与图书数据匹配方法输入为用户输入的书名与图书数据,输出为匹配到的图书b,包括以下步骤:
1)利用图书数据B初始化词袋模型model;
2)定义bag()函数,用于计算语句间的距离;
3)定义bleu()函数,用于计算语句间的BLEU值;
4)通过词袋模型model将输入书名K转换为向量ref,ref=model(K);
5)将图书数据转化为向量列表sources,sources=model(B);
6)设置一个新的向量Score=0;
7)对于sources中的每一个元素source,循环执行7.1-7.3;
7.1)计算向量ref的BLEU值Bleu_score,Bleu_score=bleu(ref,source);
7.2)计算向量ref与图书数据之间的距离Bag_score,Bag_score=bag(ref,source);
7.3)找到Score,Bleu_score,Bag_score中的最大值,保存到Score;
8)找到使Score值最大的source;
9)找到source在图书数据B中对应的图书b;
10)返回图书b。
本发明中,兴趣特征提取方法输入是图书兴趣特征列表F,特征长度n,图书兴趣特征列表F的长度N,输出是读者兴趣特征P,包括以下步骤:
1)初始化聚类个数k,k=2;
2)随机生产k个特征向量,保存在矩阵centroids,centroids的尺寸为(k,n);
3)初始化矩阵dist,尺寸为(N,2);
4)初始化m=0;
5)循环执行5.1-5.3,直到跳出循环;
5.1)当矩阵centroids没有发生变化时,循环执行5.1.1-5.1.2.2;
5.1.1)对F中的每个元素f,循环执行5.1.1.1-5.1.1.2;
5.1.1.1)计算离元素f最近的矩阵centroids中的点c与相应的距离d;
5.1.1.2)将(c,d)保存在矩阵dist中对应元素f的行;
5.1.2)对矩阵centroids中的每个元素c,循环执行5.1.2.1-5.1.2.2;
5.1.2.1)从图书兴趣特征列表F中取出所有以元素c为最近邻的特征点,保存在读者兴趣画像P,P=F[dist[:,0]==c];
5.1.2.2)更新元素c,设元素c为读者兴趣画像P集合的中心点,c=mean(P,axis=0);
5.2)根据中心点与聚类的点之间的距离计算平均绝对误差MAE,保存在m′,m′=MAE(centroids,dist);
5.3)判断是否m′>=m;
5.3.1)跳出循环;
5.4)如果m′<m;
5.4.1)m=m′;
6)返回矩阵centroids。
本发明中,性格特征提取方法输入为图书分类标签列表B及分类性格对应表T,输出为读者性格特征D,包括以下步骤:
1)初始化性格特征D长度为5的零向量;
2)对图书分类标签列表B中的每本书b,循环执行2.1;
2.1)对书b中的每个标签t,循环执行2.1.1;
2.1.1)将分类性格对应表T中对应t的元素T[t]累加到性格特征D;
3)标准化性格特征D。
本发明中,根据性格特征与心情特征生成推荐图书的方法输入为读者兴趣画像P,图书数据B,自定义的推荐数目Q,输出为推荐书单R,包括以下步骤:
1)初始化推荐书单R为空集;
2)定义calsim()函数,用以计算生成两本书的相似度;
3)初始化n*m维相似性矩阵K,n是P的大小,m是书籍总数,Kij为第i本书与第j本书间的相似度;
4)For P中的每一个向量p,循环执行步骤4.1-4.2;
4.1)调用calsim()函数,计算向量p与图书数据B中每本书的特征向量的相似度Ki1,Ki2,……,Kim;
4.2)将计算结果添加到相似性矩阵K中;
5)对相似性矩阵K的第一维度取最大值,转换成维度为m的书单分数向量V;
6)取书单分数向量V中分数最高Q本书,加入推荐书单R中;通过调整相似度函数calsim(),在正向推荐与反向推荐之间调节。
本发明中,根据性格特征生成推荐图书的方法输入为读者性格画像P,图书数据A,自定义的推荐图书数量N,标签性格对应表T;输出为推荐书单R,包括以下步骤:
1)初始化推荐书单R为空集合;
2)设C为图书数据A中所有图书的分类标签集合;
3)初始化空列表L;
4)对于T中的每个元素t,循环执行4.1;
4.1)计算标签性格对应表t与读者性格画像P的距离,保存到空列表L;
5)以递增顺序对空列表L排序;
6)判断是否是正向推荐;
6.1)在空列表L中前3个元素的对应分类标签中随机提取N本书保存到推荐书单R;
7)如果不是正向推荐,则是反向推荐;
7.1)在空列表L中后3个元素的对应分类标签中随机提取N本书保存到推荐书单R。
8)返回推荐书单R。
基于以上方法,本发明还提出了一种成长激励型图书推荐系统,系统包括:
爬虫模块,其用于从图书网站爬取到的图书的数据;
图书特征生成模块,其用于生成得到图书特征和标签性格对应表;
图书匹配模块,其用于接收输入书名,与图书数据匹配,从而得到读者阅读数据;
读者画像生成模块,其用于通过阅读数据生成读者画像;
图书推荐模块,其用于将读者画像与图书特征和标签性格对应表相互匹配,从而得到推荐书单。
实施例
1.概要流程
如图2-1所示,方法流程分为三部分描述:数据准备、读者画像建模与图书推荐。数据准备步骤收集图书数据并进行图书标签标注,为读者画像建模做准备;读者画像建模对读者的阅读数据进行兴趣、心情与性格三方面的特征提取;最后,根据生成的三维特征,在正向和反向两方面为读者进行图书推荐。
1.1数据准备
为提取图书信息生成读者画像的三维建模,需要准备图书数据。本方法采用网络爬虫的方式,从豆瓣平台爬取图书的书名、作者、出版社、内容简介、标签、书评等数据。如图2-2所示,爬取到的图书数据会被保存到数据库中,分成两种形式存储。第一种是图书的基本数据,仅包含图书的书名、作者、出版社,作为所有已出版图书的索引;第二种是图书的详情数据,包括内容简介、标签、书评等详细数据,这些数据用于内容特征、情感特征的提取等。只有评分高、经常被读到的图书才会保存其详情数据,这样设计是为了更高效地利用服务器存储。
另外需要准备的是图书标签对应的性格五维度分数。研究表明,读者阅读图书的类型和读者的性格有直接关系。本方法将图书对读者的性格影响分为五类:爱、逻辑、深度、想象力、知识。如图2-3所示,首先爬取豆瓣平台上的所有图书标签,统计其中的高频标签。对这些高频标签进行人工的五维标注,在通过标签传播算法对所有图书标签进行标注。
1.2读者画像建模
本方法将读者特征分成三个维度,分别是兴趣、心情和性格。其中,心情又分成七个维度,分别是伤心、喜欢、开心、厌恶、愤怒、害怕、惊喜。性格分为五个维度:爱、逻辑、深度、想象力、知识。如图2-4所示,本方法用一个内容特征提取算法从图书的内容简介中提取用户的兴趣特征,因为图书内容往往直接反应读者的阅读兴趣;用一个情感特征提取算法从图书评价中提取用户的心情特征,因为图书评价反映了阅读同一本书其他用户的阅读情绪,以此来模拟读者本人的心情;用性格标记整合来得到用户的性格特征。上述三种方法分别可以得到三个特征向量,用来全面代表读者的三维画像。
1.3图书推荐
图书推荐分为两种形式:正向推荐与反向推荐。正向推荐能够起到加强、加深读者阅读面的作用;反向推荐能够起到补充、拓展读者阅读面的作用。本方法首先获取读者已读的图书信息,这些信息可以分为两部分:特征向量(即2.2部分的读者画像)与图书标签。通过特征向量计算读者已读图书与数据库中图书之间的距离,并根据k-近邻的计算结果,可以得到正向的推荐书籍;通过统计已读图书的标签,并计算其反向标签,生成反向推荐的图书2.方法细节
本方法的详细模块化设计如图3-1所示。其中,椭圆表示数据实体,圆角矩阵表示运算模块。图书数据的来源是爬虫模块从图书网站爬取到的图书数据,经由图书特征生成模块得到图书特征和标签性格对应表,并传送至图书推荐模块;另一方面,图书匹配模块接收输入书名,与图书数据匹配,从而得到读者阅读数据。得到的阅读数据进入读者画像生成模块,从而生成读者画像。读者画像数据与图书特征数据在图书推荐模块中相互匹配,从而得到推荐书单。
2.1数据实体
本方法中涉及的数据实体包括输入书名、图书网站、图书数据、图书特征、标签性格对应表、读者阅读数据、读者画像、推荐书单。这些数据实体可以用键-值对的形式来描述。表4-1到表4-8详细展示了这八类数据实体的详细内容。
输入书名是指用户输入本方法的书名,用来表示读者读过的书。由于图书匹配模块中采用了模糊匹配的方法,所以允许读者的输入是不确切的。
表4-1输入书名数据实体
图书网站是本方法获取已出版图书的数据来源,经由一个爬虫模块从网络爬取到本地。其包含的信息包括书名、作者、出版社、ISBN、长短书评、内容简介等。
表4-2图书网站数据实体
图书数据是指图书网站的信息经过爬虫模块爬取后实际保存到本地的图书数据。经过整理,保存的数据包括编号、书名、作者、出版社、评分、标签、内容简介。
表4-3图书数据数据实体
图书特征是经由图书特征生成模块得到的、用以描述图书特点的数据。主要有两类图书征:内容特征描述图书内容,心情特征描述读者心情。
表4-4图书特征数据实体
标签性格对应表描述了图书的标签和读者性格之间的对应关系,通过图书特征生成模块得到。包括标签和性格向量两个内容。其中,性格向量是指在爱、深度、逻辑、想象力、知识五个维度上的评价分值,分值分别在0到1之间。
表4-5标签性格对应表数据实体
读者阅读数据记录了读者在何时读过什么书,通过读者阅读数据可以对读者进行个性化的图书推荐。读者阅读数据包括图书的唯一编号以及阅读时间。
表4-6读者阅读数据数据实体
读者画像保存了从读者阅读数据中得到的、用以描述读者的阅读特征的信息。包括兴趣特征、心情特征、性格特征。
表4-7读者画像数据实体
推荐书单是本方法经由一系列计算后得到的最终结果。包括书名、作者、出版社、推荐类型、正向或发现。其中,推荐类型根据读者的三维画像,也分成兴趣推荐、心情推荐、性格推荐三类。
表4-8推荐书单数据实体
2.2运算模块
2.2.1爬虫模块
爬虫模块从网络中的图书平台爬取图书数据,输入为图书网站,输出为图书数据。算法过程为:1.初始化字典类型的图书数据M为空。2.定义request请求头部的User-Agent:headers={“User-Agent”:“Mozilla/5.0”}。3.定义图书详情页面url,为图书网站域名与图书id的结合。4.向指定页面发出requests请求。5.对于收到的响应,利用scrapy库中的Selector选择器获取信息selector。6.对selector中的每个元素,循环执行6.x步骤。6.1.利用selector的css选择器得到selector.css()。6.2.将信息存入变量info。7.将所有info存入M中。算法4-1展示了详细的算法过程:
算法4-1图书信息爬取算法
2.2.2图书特征生成模块
图书特征生成模块生成两类数据:图书特征和性格标签对应表。
图书特征包括兴趣特征与心情特征。这两类特征都通过一个文本分类的深度学习模型生成,不同点在于模型的训练数据集。该深度学习模型由TextCNN模型[4]启发而来,提取了该模型在softmax层之前的结构,并在原先模型的基础上加深了模型深度,并加入了残差模块。特征生成算法如算法4-2所示。输入为图书数据,输出为图书特征。算法具体过程为:1.初始化图书特征d为零向量。2.定义特征提取模型M(见图3-2)。3.定义文本转向量方法,即word2vec,记为T。4.通过word2vec将图书数据d转化为文本向量。设文本向量v为v=T(d)。5.利用特征提取模型M对文本向量v提取特征向量f。计算f=M(v)。提取兴趣特征时,输入的图书数据d表示图书的内容简介;提取心情特征时,输入的图书数据d表示图书的书评。图3-2展示了特征提取模型的详细结构,算法4-2展示了详细的算法过程:
算法4-2特征生成算法
图书特征生成模块还负责生成标签性格对应表,该表中包含了图书的每一类标签对应的性格特征向量,包括爱、知识、逻辑、深度、想象力五个维度。首先手动标记部分高频标签。高频标签为所有图书标签中的前N个标签。在我们的实施过程中,N设定为80。然后,用标签传播算法为所有图书标签标记性格特征向量。标签传播算法的输入为图书标签L,高频图书标签S,S对应的手动标记结果R,阈值ε,η。算法输出为标签性格对应表T。算法详细过程为:1.初始化矩阵T,尺寸为(N,5)。其中,N为L中标签的个数。2.定义函数F(a,A)为计算元素a到集合A中每个元素的距离函数(距离函数采用余弦函数)。3.循环执行3.x步骤,直到结束算法。3.1.对L-S中的每个元素l,循环执行3.1.x步骤。3.1.1.计算l到S中各元素的距离d,d=F(l,S)。3.1.2.对d中的每一个元素i,循环执行3.1.2.x步骤。3.1.2.1.判断i是否小于阈值ε。3.1.2.2.如果是,将i设置为0。3.1.3.判断d的最大值是否大于η。3.1.4.如果是,计算T中l对应的标签T(l),T(l)=dT·R。dT为d的转置。3.1.5.将l加入S集合。3.1.6.将l的标签加入R。3.1.7.判断S是否等于L。3.1.8.如果是,则结束算法。算法4-3展示了详细的算法过程。标签性格对应表将会被用以生成用户的性格特征向量。
算法4-3标签传播算法
2.2.3图书匹配模块
图书匹配模块的目的是将用户的输入书名与所有图书数据进行模糊匹配,这样即使用户的输入与真实书名稍有不符,也可以匹配到正确的图书。算法的输入为用户输入的书名与图书数据,算法的输出为匹配到的图书b。算法具体过程为:1.利用图书数据B初始化词袋模型model(用以将词语转化为向量)。2.定义bag()函数,用于计算语句间的距离。3.定义bleu()函数,用于计算语句间的BLEU值。4.通过model将输入书名K转换为向量ref。ref=model(K)。5.将图书数据B转化为向量列表sources。sources=model(B)。6.设置一个新的向量Score=0。7.对于sources中的每一个元素source,循环执行7.x。7.1.计算ref的BLEU值Bleu_score。Bleu_score=bleu(ref,source)。7.2.计算ref与图书数据之间的距离Bag_score,Bag_score=bag(ref,source)。7.3.找到Score,Bleu_score,Bag_score中的最大值,保存到Score。8.找到使Score值最大的source。9.找到source在B中对应的图书b。10.返回b。算法4-4详细介绍了算法流程。
算法4-4数据库匹配算法
2.2.4读者画像生成模块
读者画像包括三个维度:兴趣、心情和性格。其中,读者的兴趣和心情画像由2.2.2的图书特征生成模块得到的图书特征整合得到。兴趣画像将图书的兴趣特征通过K-means算法进行自监督聚类,每一个聚类代表用户的某一种兴趣。在得到自监督的分类结果后,对每一个聚类中的兴趣特征分别进行累加平均。心情画像通过全部的心情特征累加平均得到。性格特征的生成通过读者阅读的书籍的分类标签通过标签性格对应表,累计性格向量并标准化得到。
兴趣画像生成算法的输入是图书兴趣特征列表F,特征长度n(在我们的模型中n=30),F的长度N。算法的输出是读者兴趣画像p。过程如算法4-5所示:1.初始化聚类个数k,k=2。2.随机生产k个特征向量,保存在矩阵centroids。centroids的尺寸为(k,n)。3.初始化矩阵dist,尺寸为(N,2)。4.初始化m=0。5.循环执行5.x,直到跳出循环。5.1.当centroids没有发生变化时,循环执行5.1.x。5.1.1.对F中的每个元素f,循环执行5.1.1.x。5.1.1.1.计算离f最近的centroids中的点c与相应的距离d。5.1.1.2.将(c,d)保存在dist中对应f的行。5.1.2.对centroids中的每个元素c,循环执行5.1.2.x。5.1.2.1.从F中取出所有以c为最近邻的特征点,保存在P。P=F[dist[:,0]==c]。5.1.2.2.更新c,设c为P集合的中心点,c=mean(P,axis=0)。5.2.根据中心点与聚类的点之间的距离计算平均绝对误差MAE,保存在m′,m′=MAE(centroids,dist)。5.3.判断是否m′>=m。5.3.1.跳出循环。5.4.如果m′<m。5.4.1.m=m′。6.返回centroids。
算法4-5兴趣画像生成算法
心情画像通过全部的心情特征累加平均得到。
性格特征通过算法4-6所示的性格特征生成算法计算,输入为图书分类标签列表B(每个元素包含一本读者阅读图书的全部标签)及分类性格对应表T,输出为性格特征。具体流程为:1.初始化D长度为5的零向量。2.对B中的每本书b,循环执行2.x。2.1.对b中的每个标签t,循环执行2.1.x。2.1.1.将T中对应t的元素T[t]累加到D。3.标准化D。
算法4-6性格特征生成算法
2.2.5图书推荐模块
图书推荐模块为用户从兴趣、心情、性格从正向和反向为用户推荐适合阅读的书籍。其中,性格与心情推荐算法如算法4-7所示,输入为读者兴趣画像P,图书数据B,自定义的推荐数目Q,输出为推荐书单R。算法具体过程为:1.初始化R为空集。2.定义calsim()函数,用以计算生成两本书的相似度。3.初始化n*m维相似性矩阵K,n是P的大小,m是书籍总数,Kij为第i本书与第j本书间的相似度。4.For P中的每一个向量p,循环执行步骤4.x。4.1.调用calsim()函数,计算p与B中每本书的特征向量的相似度Ki1,Ki2,……,Kim。4.2.将计算结果添加到K中。5.对K的第一维度取最大值,转换成维度为m的书单分数向量V。6.取V中分数最高Q本书,加入R中。通过调整相似度函数calsim(),可以在正向推荐与反向推荐之间调节。
算法4-7性格与心情推荐算法
性格推荐算法如算法4-8所示。算法输入为读者性格画像p,图书数据A,自定义的推荐图书数量N,标签性格对应表T;输出为推荐书单R。算法过程为:1.初始化R为空集合。2.设C为A中所有图书的分类标签集合。3.初始化空列表L。4.对于T中的每个元素t,循环执行4.x。4.1.计算t与p的距离,保存到L。5.以递增顺序对L排序6.判断是否是正向推荐6.1.在L中前3个元素的对应分类标签中随机提取N本书保存到R。7.如果不是正向推荐(则是反向推荐)。7.1.在L中后3个元素的对应分类标签中随机提取N本书保存到R。8.返回R。
算法4-8性格推荐算法
3.技术效果展示
本方法实现了基于兴趣、心情、性格三维度的成长激励型图书推荐方法,通过正向和反向推荐帮助读者在深度上和宽度上拓展自己的知识面。
在兴趣维度方面,本方法使用图书的文本内容特征来代表阅读兴趣。通过对内容的相似度计算,来进行正向和反向的图书推荐。表5-1展示了不同图书之间的内容相似度对比(数值越大表示越相似)。可以发现,主题不同的图书内容相似度很低,主题类似的图书内容相似度很高。由此,我们可以根据内容相似度进行聚类计算,可以得到用户阅读过程中的不同兴趣点,并通过阅读兴趣进行图书推荐。
表5-1书籍内容相似度对比
在心情维度方面,本方法使用的情感分类模型将读者的阅读情感分为7类,分别为伤心、喜欢、开心、厌恶、愤怒、害怕、惊喜。表5-2展示了本文使用的模型在四类不同的书籍上的top3种情感。通过将用户阅读图书的情感特征累加平均,可以得到用户一段时间内的阅读情绪。本方法由此可以针对用户的阅读情绪进行心情维度上的图书推荐。
表5-2情感分类结果举例
书名 | Top-1 | Top-2 | Top-3 |
恐惧 | 恐惧 | 愤怒 | 伤心 |
白玫瑰与红玫瑰 | 喜欢 | 伤心 | 愤怒 |
诗经 | 喜欢 | 开心 | 惊喜 |
雅克和他的主人 | 伤心 | 厌恶 | 恐惧 |
在性格维度方面,本方法将阅读对读者性格的影响分为爱、深度、想象力、逻辑、知识5个方面。首先对部分出现频率最高的标签进行手动标记,然后通过标签传播算法为图书标签计分。每本图书的分数由所有相关标签的分数累计得到。表5-3展示了不同图书对应的分数最高的性格类型。可以发现,随着图书题材和内容的变化,与之相关的性格类型也随之变化。本方法由此对用户进行在性格维度上的图书推荐。
表5-3图书性格分类结果举例
书名 | Top-1 | Top-2 | Top-3 |
瓦尔登湖 | 爱 | 深度 | 想象力 |
万历十五年 | 知识 | 想象力 | 深度 |
时间简史 | 知识 | 逻辑 | 深度 |
本方法结合了上述兴趣、心情、性格三个维度,对读者创建用户画像,从正反两个方向对用户进行成长激励型的图书推荐。本方法进行了对比实验,将两组图书分别输入到某大型图书电商平台的浏览记录及本文提出的方法。这两组图书分别是《呐喊》《悲惨世界》《活着》,和《自私的基因》《乌合之众》《瓦尔登湖》。
表5-4展示了某大型图书电商平台的推荐结果。可以发现,该平台上推荐的书籍与作者及图书类别有很大的关系。对于第一组输入的图书,推荐书籍几乎都是同样的作者的其他著作。而对第二组输入的图书,除了有同作者的作品外,还推荐了大量同类别的(即社会学)高销量著作。
表5-4某大型图书电商平台的推荐结果
表5-5展示了同样两组输入经过本方法推荐的书籍及对应的推荐形式。可以看到,本方法推荐的图书除了包含与输入书籍同类时代、作者或内容的图书以外,还包含了同类感情积淀但不同质(如《活着》与《时生》虽然不是同类型、同时代作品,但都表达了对生命的深沉的思考)、对读者个性做出补充(如对阅读《呐喊》等文学性较强的图书的读者,推荐《乌合之众》《执迷》等对环境和客观现象深入探索的社会科学著作)的书籍。相较当下图书平台的图书推荐算法,本方法推荐的图书更深入、更个性化、更有助于激励读者的全面发展。
表5-5图书推荐结果实例
参考文献
[1]罗弦,丁箐,王禹.一种结合用户和项目聚类的协同过滤算法[J].信息技术与网络安全,2018,37(10):28-31.
[2]肖倩,董占山,张聪.图书类电子商务网站上的个性化推荐应用研究[J].科技与出版,2014(08):94-97.
[3]]Annalyn,N.,Bos,M.W.,Sigal,L.,&Li,B.(2017).Predicting personalityfrom book preferences with user-generated content labels.CoRR,abs/1707.06643.
[4]Kim Y.Convolutional neural networks for sentence classification[J].arXiv preprint arXiv:1408.5882,2014.
本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。
Claims (8)
1.一种图书推荐方法,其特征在于,包括以下步骤:
步骤一:收集图书的数据,并进行图书标签标注;
步骤二:对所述图书的数据进行特征提取,形成三维特征;所述三维特征包括:兴趣特征、心情特征和性格特征;其中,
所述兴趣特征提取方法输入是图书兴趣特征列表F,特征长度n,图书兴趣特征列表F的长度N,输出是读者兴趣特征P,包括以下步骤:
1)初始化聚类个数k,k=2;
2)随机生产k个特征向量,保存在矩阵centroids,centroids的尺寸为(k,n);
3)初始化矩阵dist,尺寸为(N,2);
4)初始化m=0;
5)循环执行5.1-5.3,直到跳出循环;
5.1)当矩阵centroids没有发生变化时,循环执行5.1.1-5.1.2.2;
5.1.1)对F中的每个元素f,循环执行5.1.1.1-5.1.1.2;
5.1.1.1)计算离元素f最近的矩阵centroids中的点c与相应的距离d;
5.1.1.2)将(c,d)保存在矩阵dist中对应元素f的行;
5.1.2)对矩阵centroids中的每个元素c,循环执行5.1.2.1-5.1.2.2;
5.1.2.1)从图书兴趣特征列表F中取出所有以元素c为最近邻的特征点,保存在读者兴趣特征P,P=F[dist[:,0]==c];
5.1.2.2)更新元素c,设元素c为读者兴趣特征P集合的中心点,c=mean(P,axis=0);
5.2)根据中心点与聚类的点之间的距离计算平均绝对误差MAE,保存在m′,m′=MAE(centroids,dist);
5.3)判断是否m′>=m;
5.3.1)跳出循环;
5.4)如果m′<m;
5.4.1)m=m′;
6)返回矩阵centroids;
所述性格特征提取方法输入为图书分类标签列表及分类性格对应表T,输出为读者性格特征D,包括以下步骤:
1)初始化读者性格特征D长度为5的零向量;
2)对图书分类标签列表中的每本书b,循环执行2.1;
2.1)对书b中的每个标签t,循环执行2.1.1;
2.1.1)将分类性格对应表T中对应t的元素T[t]累加到读者性格特征D;
3)标准化读者性格特征D;
步骤三:获取读者已读的图书信息,所述图书信息包括:三维特征与图书标签;计算读者已读图书与数据库中图书之间的距离,并根据k-近邻的计算结果得到正向的推荐图书;通过统计读者已读图书的图书标签计算其反向标签,生成反向的推荐图书;其中,
根据性格特征生成推荐图书的方法输入为读者性格特征D,图书数据B,自定义的推荐图书数量M,分类性格对应表T;输出为推荐书单R,包括以下步骤:
1)初始化推荐书单R为空集合;
2)设C为图书数据B中所有图书的分类标签集合;
3)初始化空列表L;
4)对于T中的每个元素t,循环执行4.1;
4.1)计算分类性格对应表T与读者性格特征D的距离,保存到空列表L;
5)以递增顺序对空列表L排序;
6)判断是否是正向推荐;
6.1)在空列表L中前3个元素的对应分类标签中随机提取M本书保存到推荐书单R;
7)如果不是正向推荐,则是反向推荐;
7.1)在空列表L中后3个元素的对应分类标签中随机提取M本书保存到推荐书单R;
8)返回推荐书单R。
2.如权利要求1所述的图书推荐方法,其特征在于,所述收集图书的数据为采用网络爬虫的方式,从图书网站爬取图书的基本数据和详情数据;所述图书标签标注为爬取图书网站上的所有图书标签,统计其中出现次数总量最高的前N个高频标签,对高频标签和非高频标签分别进行手动及自动的性格标注;所述N为在所有图书标签中出现次数在前6%的标签的数量。
3.如权利要求2所述的图书推荐方法,其特征在于,所述基本数据包括图书的书名、作者、出版社,作为所有已出版图书的索引;所述详情数据包括图书的内容简介、标签、书评,用于内容特征、情感特征的提取。
4.如权利要求3所述的图书推荐方法,其特征在于,所述兴趣特征通过内容简介提取;所述心情特征从所述书评中提取;所述性格特征通过性格标注整合来得到。
5.如权利要求4所述的图书推荐方法,其特征在于,所述心情特征包括:伤心、喜欢、开心、厌恶、愤怒、害怕、惊喜;所述性格标注包括:爱、逻辑、深度、想象力、知识。
6.如权利要求1所述的图书推荐方法,其特征在于,通过接收读者输入的书名,与图书数据匹配,从而得到读者已读的图书信息;所述与图书数据匹配方法输入为用户输入的书名与图书数据,输出为匹配到的图书b,包括以下步骤:
1)利用图书数据B初始化词袋模型model;
2)定义bag()函数,用于计算语句间的距离;
3)定义bleu()函数,用于计算语句间的BLEU值;
4)通过词袋模型model将输入书名K转换为向量ref,ref=model(K);
5)将图书数据转化为向量列表sources,sources=model(B);
6)设置一个新的向量Score=0;
7)对于sources中的每一个元素source,循环执行7.1-7.3;
7.1)计算向量ref的BLEU值Bleu_score,Bleu_score=bleu(ref,source);
7.2)计算向量ref与图书数据之间的距离Bag_score,Bag_score=bag(ref,source);
7.3)找到Score,Bleu_score,Bag_score中的最大值,保存到Score;
8)找到使Score值最大的source;
9)找到source在图书数据B中对应的图书b;
10)返回图书b。
7.如权利要求1所述的图书推荐方法,其特征在于,根据性格特征与心情特征生成推荐图书的方法输入为读者兴趣特征P,图书数据B,自定义的推荐数目Q,输出为推荐书单R,包括以下步骤:
1)初始化推荐书单R为空集;
2)定义calsim()函数,用以计算生成两本书的相似度;
3)初始化n*m维相似性矩阵K,n是P的大小,m是书籍总数,Kij为第i本书与第j本书间的相似度;
4)For P中的每一个向量p,循环执行步骤4.1-4.2;
4.1)调用calsim()函数,计算向量p与图书数据B中每本书的特征向量的相似度Ki1,Ki2,……,Kim;
4.2)将计算结果添加到相似性矩阵K中;
5)对相似性矩阵K的第一维度取最大值,转换成维度为m的书单分数向量V;
6)取书单分数向量V中分数最高Q本书,加入推荐书单R中;通过调整相似度函数calsim(),在正向推荐与反向推荐之间调节。
8.一种图书推荐系统,其特征在于,采用如权利要求1-7之任一项所述的图书推荐方法,所述系统包括:
爬虫模块,其用于从图书网站爬取到的图书的数据;
图书特征生成模块,其用于生成得到图书特征和标签性格对应表;
图书匹配模块,其用于接收输入书名,与图书数据匹配,从而得到读者阅读数据;
读者画像生成模块,其用于通过阅读数据生成读者画像;
图书推荐模块,其用于将所述读者画像与所述图书特征和标签性格对应表相互匹配,从而得到推荐书单。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911042093.3A CN110990670B (zh) | 2019-10-30 | 2019-10-30 | 一种成长激励型图书推荐方法及推荐系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911042093.3A CN110990670B (zh) | 2019-10-30 | 2019-10-30 | 一种成长激励型图书推荐方法及推荐系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110990670A CN110990670A (zh) | 2020-04-10 |
CN110990670B true CN110990670B (zh) | 2023-11-10 |
Family
ID=70082587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911042093.3A Active CN110990670B (zh) | 2019-10-30 | 2019-10-30 | 一种成长激励型图书推荐方法及推荐系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110990670B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110826850B (zh) * | 2019-09-24 | 2022-09-30 | 深圳市一德文化科技有限公司 | 基于信息处理的智慧校园图书馆管理方法及其系统 |
CN111597136B (zh) * | 2020-06-22 | 2024-05-10 | 深圳市至简科技设计有限公司 | 一种在电子介质中以思维导图展开的阅读系统 |
CN114077713A (zh) * | 2020-08-11 | 2022-02-22 | 华为技术有限公司 | 内容推荐方法、电子设备和服务器 |
CN114971976A (zh) * | 2022-08-01 | 2022-08-30 | 北京思源智通科技有限责任公司 | 一种用于提升校园阅读素养的智能引导系统及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200919210A (en) * | 2007-07-18 | 2009-05-01 | Steven Kays | Adaptive electronic design |
CN105844105A (zh) * | 2016-03-31 | 2016-08-10 | 中国残疾联合会就业服务指导中心 | 一种残疾人职业适应性测评方法及其系统 |
CN106407204A (zh) * | 2015-07-29 | 2017-02-15 | 小米科技有限责任公司 | 图书推荐方法及装置 |
CN107492025A (zh) * | 2017-09-13 | 2017-12-19 | 深圳市悦好教育科技有限公司 | 一种图书推荐的方法和系统 |
CN109348262A (zh) * | 2018-10-19 | 2019-02-15 | 广州虎牙科技有限公司 | 一种主播相似度的计算方法、装置、设备和存储介质 |
CN110135889A (zh) * | 2019-04-15 | 2019-08-16 | 深圳壹账通智能科技有限公司 | 智能推荐书单的方法、服务器及存储介质 |
CN110362744A (zh) * | 2019-06-26 | 2019-10-22 | 联通沃悦读科技文化有限公司 | 阅读推荐方法及系统、终端设备、计算机设备及介质 |
-
2019
- 2019-10-30 CN CN201911042093.3A patent/CN110990670B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200919210A (en) * | 2007-07-18 | 2009-05-01 | Steven Kays | Adaptive electronic design |
CN106407204A (zh) * | 2015-07-29 | 2017-02-15 | 小米科技有限责任公司 | 图书推荐方法及装置 |
CN105844105A (zh) * | 2016-03-31 | 2016-08-10 | 中国残疾联合会就业服务指导中心 | 一种残疾人职业适应性测评方法及其系统 |
CN107492025A (zh) * | 2017-09-13 | 2017-12-19 | 深圳市悦好教育科技有限公司 | 一种图书推荐的方法和系统 |
CN109348262A (zh) * | 2018-10-19 | 2019-02-15 | 广州虎牙科技有限公司 | 一种主播相似度的计算方法、装置、设备和存储介质 |
CN110135889A (zh) * | 2019-04-15 | 2019-08-16 | 深圳壹账通智能科技有限公司 | 智能推荐书单的方法、服务器及存储介质 |
CN110362744A (zh) * | 2019-06-26 | 2019-10-22 | 联通沃悦读科技文化有限公司 | 阅读推荐方法及系统、终端设备、计算机设备及介质 |
Non-Patent Citations (9)
Title |
---|
刘高军 ; 李越洋 ; .基于借阅信息的图书个性化推荐算法研究.数字技术与应用.2017,(第03期),全文. * |
张麒麟 ; 姜霖 ; .基于文献内容的图书推荐机制研究.图书馆学研究.2018,(第01期),全文. * |
曾斯炎 ; 周锦 ; 黄国华 ; .基于词频-逆文本频率和社区划分的图书推荐算法.邵阳学院学报(自然科学版).2017,(第02期),全文. * |
李澎林 ; 洪之渊 ; 李伟 ; .基于兴趣度与类型因子的高校图书推荐算法.浙江工业大学学报.2019,(第04期),全文. * |
江周峰 ; 杨俊 ; 鄂海红 ; .结合社会化标签的基于内容的推荐算法.软件.2015,(第01期),第1-5页. * |
熊回香 ; 窦燕 ; .基于LDA主题模型的标签混合推荐研究.图书情报工作.2018,(第03期),全文. * |
王连喜 ; .一种面向高校图书馆的个性化图书推荐系统.现代情报.2015,(第12期),全文. * |
王飞 ; 杨国林 ; .高校图书馆个性化推荐服务算法研究.内蒙古师范大学学报(自然科学汉文版).2015,(第06期),全文. * |
胡新明 ; 刘睿智 ; .基于元数据的图书推荐系统研究.情报杂志.2011,(第04期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN110990670A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kumar et al. | Sentiment analysis of multimodal twitter data | |
CN110990670B (zh) | 一种成长激励型图书推荐方法及推荐系统 | |
Noh et al. | Keyword selection and processing strategy for applying text mining to patent analysis | |
CN107122455B (zh) | 一种基于微博的网络用户增强表示方法 | |
CN112131472B (zh) | 信息推荐方法、装置、电子设备和存储介质 | |
CN110532379B (zh) | 一种基于lstm的用户评论情感分析的电子资讯推荐方法 | |
CN107992531A (zh) | 基于深度学习的新闻个性化智能推荐方法与系统 | |
Rehman et al. | A benchmark dataset and learning high-level semantic embeddings of multimedia for cross-media retrieval | |
CN107357793A (zh) | 信息推荐方法和装置 | |
CN107895303B (zh) | 一种基于ocean模型的个性化推荐的方法 | |
CN109960763A (zh) | 一种基于用户细粒度摄影偏好的摄影社区个性化好友推荐方法 | |
Liu et al. | Sentiment recognition for short annotated GIFs using visual-textual fusion | |
CN111309936A (zh) | 一种电影用户画像的构建方法 | |
CN109214454B (zh) | 一种面向微博的情感社区分类方法 | |
Gan et al. | R-RNN: Extracting user recent behavior sequence for click-through rate prediction | |
CN110516074A (zh) | 一种基于深度学习的网站主题分类方法及装置 | |
Yang et al. | A topic model for co-occurring normal documents and short texts | |
CN112084333A (zh) | 一种基于情感倾向分析的社交用户生成方法 | |
Chaudhuri et al. | Hidden features identification for designing an efficient research article recommendation system | |
CN113934835B (zh) | 结合关键词和语义理解表征的检索式回复对话方法及系统 | |
Cinar et al. | Inferring user interests on social media from text and images | |
He et al. | Graph-aware deep fusion networks for online spam review detection | |
CN116882414B (zh) | 基于大规模语言模型的评语自动生成方法及相关装置 | |
Gan et al. | Microblog sentiment analysis via user representative relationship under multi-interaction hybrid neural networks | |
Chen et al. | Exploiting aesthetic features in visual contents for movie recommendation |
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 |