基于LDA主题模型的文档推荐方法技术

技术编号:34843311 阅读:14 留言:0更新日期:2022-09-08 07:41
本发明专利技术涉及一种基于LDA主题模型的文档推荐方法,属于信息技术领域。本发明专利技术使用了LDA主题模型将每个文档进行向量化,并输出该文档的主题概率,将推荐系统中的所有文档主题概率结合起来便能得到一个文档对主题的矩阵。另一方面,通过给新用户初始化来赋予每个用户一个主题概率,并使用户主题概率的维度与文档主题概率的维度保持一致,然后将所有用户主题概率结合起来得到一个用户对主题的矩阵。最后,通过用户和文档的两个主题概率矩阵,计算出用户对文档的兴趣值并将相应文档推荐给用户。这种推荐方法可以广泛运用在文档推荐系统中,并适用于各类文档。于各类文档。于各类文档。

【技术实现步骤摘要】
基于LDA主题模型的文档推荐方法


[0001]本专利技术属于信息
,具体涉及一种基于LDA主题模型的文档推荐方法。

技术介绍

[0002]随着信息技术的快速发展和信息资源的不断丰富,信息呈爆炸式增长,面对海量的信息资源,如何从中获取到符合用户需求的信息,是当今大数据时代下面临的重大问题。文档推荐技术的使命是为用户和推荐物品建立联系,然而面对新用户、新物品时,推荐系统往往会遇到冷启动问题。对于新用户或者不活跃的用户,以及新物品或展示次数较少的物品,由于缺乏相关数据,彼此之间无法建立联系,就无法准确地进行推荐。为此,设计一个可以充分利用已有用户、文档特征并使其建立联系的方法,对于解决推荐系统冷启动问题具有重要意义。

技术实现思路

[0003](一)要解决的技术问题
[0004]本专利技术要解决的技术问题是:如何解决文本进入推荐系统的冷启动问题。
[0005](二)技术方案
[0006]为了解决上述技术问题,本专利技术提供了一种基于LDA主题模型的文档推荐方法,包括以下步骤:
[0007]第一步、以文本数据为输入,输出训练好的主题模型,并将用户

主题分布矩阵、文档

主题分布矩阵和计算得到的用户

文档得分矩阵存储至内存;
[0008]第二步、基于第一步按内容推荐文档。
[0009]优选地,第一步具体为:
[0010](1)训练文本数据
[0011]采用LDA,以文本数据为输入,输出训练好的主题模型;
[0012](2)计算文档

主题分布
[0013]文档导入时,通过所述主题模型计算得到其主题分布,即文档

主题分布,文档

主题分布矩阵中每一行代表一篇文档,每一列代表一个主题;
[0014](3)计算用户

主题分布
[0015]当用户登录时,从数据库读取用户

主题分布,如果该用户是新用户,则判定用户对所有主题兴趣度一样,并初始化一个的所有值相等的主题分布,用户

主题分布矩阵中每一行代表一个用户,每一列代表一个主题;
[0016](4)计算用户

文档得分
[0017]用户

文档得分矩阵由用户

主题分布矩阵和主题

文档分布矩阵计算得到:
[0018]用户

文档得分矩阵=用户

主题分布矩阵
×
主题

文档分布矩阵
[0019]其中,用户

文档得分矩阵中每一行代表一个用户对应各文档的得分,每一列代表一篇文档对应各用户的得分,主题

文档分布矩阵为文档

主题分布矩阵的转置;
[0020]用户

文档得分是用户

文档得分矩阵中的一个元素,计算用户

文档得分考虑三个因素,分别为用户兴趣、浏览历史、文档热度,用户兴趣体现用户对不同主题的关注度,浏览历史记录用户曾经浏览过的文档,文档热度反映该文档在推荐系统中的火爆程度;将用户

文档得分矩阵中的每个用户

文档得分都加上Sigmod(热度值),Sigmod(热度值)是指对热度值进行sigmod归一化后的值;
[0021]最后,根据用户兴趣与文档主题的相似度,综合考虑浏览历史、文档热度,遍历所有用户和文档,计算用户

文档得分;
[0022](5)存储结果至内存
[0023]将用户

主题分布矩阵、文档

主题分布矩阵和最终计算得到的用户

文档得分矩阵存储至内存。
[0024]优选地,第二步具体为:
[0025](1)计算搜索内容的主题分布
[0026]获取用户在搜索框中输入的搜索内容,将该搜索内容看作一篇文档放入第一步中已训练好的主题模型中计算得到对应的主题分布;
[0027](2)更新用户

主题分布矩阵
[0028]当用户对输入的搜索内容进行搜索时,则判定用户对本次搜索的主题感兴趣,此时进行用户兴趣的更新,其中将计算得到的搜索内容的主题分布加入到用户

主题分布矩阵中进行用户

主题分布矩阵更新,以此记录用户行为,并在下一次用户进行搜索时推荐用户更感兴趣的文档;
[0029](3)通过向量检索工具Faiss查找相似向量
[0030]引用Faiss,从内存中读取已计算好的文档

主题分布矩阵并将其放入Faiss作为索引,在创建好包含文档

主题分布的索引后,将用户搜索内容的文档

主题分布当作搜索向量放入Faiss中查找相似向量,通过Faiss查找得到的相似向量为目标向量;
[0031](4)加权随机抽样,得到要推荐的文档
[0032]通过Faiss得到搜索向量与目标向量的距离d以及目标向量的索引,距离越近,则判定搜索向量与目标向量越相似,通过Softmax对所有目标向量的距离进行归一化,转化为一组(0,1)之间并且和为1的数值,这些数值被当做每个目标向量被推荐的权重w:
[0033]w=Softmax(

d)
[0034]假设要抽取n篇文档进行推荐,首先对目标向量的距离从小到大进行排序,然后截取前10n篇文档作为抽样的样本,最后通过加权随机无放回的抽样得到10n篇文档中的n篇文档。
[0035]优选地,还包括第三步、基于第一步主动推荐文档。
[0036]优选地,第三步具体为:
[0037](1)通过用户

文档矩阵获取推荐文档
[0038]当用户登录系统时,从后端获取当前用户id,并从已保存在内存中的用户

文档得分矩阵中抽取出当前用户的文档及用户

文档得分,然后按得分从大到小的顺序排序,取前10n篇文档作为候选推荐文档;
[0039](2)加权随机抽样
[0040]对每篇文档的得分进行归一化,从而得到每篇文档所对应的权重,然后通过加权
随机无放回的抽样得到10n篇候选推荐文档中的n篇文档作为最终推荐文档。
[0041]优选地,计算用户

文档得分时,对于每篇文档,浏览文件增加的热度值为1,收藏文件增加的热度值为3,下载文件增加的热度值为2。
[0042]优选地,计算用户

文档得分时,每个用户

文档得分都加上Sigmod(热度值)后,对于用户已浏览过的文档,最后扣除10%的得分。
[0043]本专利技术还提本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于LDA主题模型的文档推荐方法,其特征在于,包括以下步骤:第一步、以文本数据为输入,输出训练好的主题模型,并将用户

主题分布矩阵、文档

主题分布矩阵和计算得到的用户

文档得分矩阵存储至内存;第二步、基于第一步按内容推荐文档。2.如权利要求1所述的方法,其特征在于,第一步具体为:(1)训练文本数据采用LDA,以文本数据为输入,输出训练好的主题模型;(2)计算文档

主题分布文档导入时,通过所述主题模型计算得到其主题分布,即文档

主题分布,文档

主题分布矩阵中每一行代表一篇文档,每一列代表一个主题;(3)计算用户

主题分布当用户登录时,从数据库读取用户

主题分布,如果该用户是新用户,则判定用户对所有主题兴趣度一样,并初始化一个的所有值相等的主题分布,用户

主题分布矩阵中每一行代表一个用户,每一列代表一个主题;(4)计算用户

文档得分用户

文档得分矩阵由用户

主题分布矩阵和主题

文档分布矩阵计算得到:用户

文档得分矩阵=用户

主题分布矩阵
×
主题

文档分布矩阵其中,用户

文档得分矩阵中每一行代表一个用户对应各文档的得分,每一列代表一篇文档对应各用户的得分,主题

文档分布矩阵为文档

主题分布矩阵的转置;用户

文档得分是用户

文档得分矩阵中的一个元素,计算用户

文档得分考虑三个因素,分别为用户兴趣、浏览历史、文档热度,用户兴趣体现用户对不同主题的关注度,浏览历史记录用户曾经浏览过的文档,文档热度反映该文档在推荐系统中的火爆程度;将用户

文档得分矩阵中的每个用户

文档得分都加上Sigmod(热度值),Sigmod(热度值)是指对热度值进行sigmod归一化后的值;最后,根据用户兴趣与文档主题的相似度,综合考虑浏览历史、文档热度,遍历所有用户和文档,计算用户

文档得分;(5)存储结果至内存将用户

主题分布矩阵、文档

主题分布矩阵和最终计算得到的用户

文档得分矩阵存储至内存。3.如权利要求2所述的方法,其特征在于,第二步具体为:(1)计算搜索内容的主题分布获取用户在搜索框中输入的...

【专利技术属性】
技术研发人员:范昕煜杨雨婷王又辰田宗凯栾真
申请(专利权)人:北京计算机技术及应用研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1