[发明专利]基于LDA主题模型的文档推荐方法在审
申请号: | 202210566870.X | 申请日: | 2022-05-23 |
公开(公告)号: | CN115017293A | 公开(公告)日: | 2022-09-06 |
发明(设计)人: | 范昕煜;杨雨婷;王又辰;田宗凯;栾真 | 申请(专利权)人: | 北京计算机技术及应用研究所 |
主分类号: | G06F16/335 | 分类号: | G06F16/335 |
代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 王雪芬 |
地址: | 100854*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 lda 主题 模型 文档 推荐 方法 | ||
1.一种基于LDA主题模型的文档推荐方法,其特征在于,包括以下步骤:
第一步、以文本数据为输入,输出训练好的主题模型,并将用户-主题分布矩阵、文档-主题分布矩阵和计算得到的用户-文档得分矩阵存储至内存;
第二步、基于第一步按内容推荐文档。
2.如权利要求1所述的方法,其特征在于,第一步具体为:
(1)训练文本数据
采用LDA,以文本数据为输入,输出训练好的主题模型;
(2)计算文档-主题分布
文档导入时,通过所述主题模型计算得到其主题分布,即文档-主题分布,文档-主题分布矩阵中每一行代表一篇文档,每一列代表一个主题;
(3)计算用户-主题分布
当用户登录时,从数据库读取用户-主题分布,如果该用户是新用户,则判定用户对所有主题兴趣度一样,并初始化一个的所有值相等的主题分布,用户-主题分布矩阵中每一行代表一个用户,每一列代表一个主题;
(4)计算用户-文档得分
用户-文档得分矩阵由用户-主题分布矩阵和主题-文档分布矩阵计算得到:
用户-文档得分矩阵=用户-主题分布矩阵×主题-文档分布矩阵
其中,用户-文档得分矩阵中每一行代表一个用户对应各文档的得分,每一列代表一篇文档对应各用户的得分,主题-文档分布矩阵为文档-主题分布矩阵的转置;
用户-文档得分是用户-文档得分矩阵中的一个元素,计算用户-文档得分考虑三个因素,分别为用户兴趣、浏览历史、文档热度,用户兴趣体现用户对不同主题的关注度,浏览历史记录用户曾经浏览过的文档,文档热度反映该文档在推荐系统中的火爆程度;将用户-文档得分矩阵中的每个用户-文档得分都加上Sigmod(热度值),Sigmod(热度值)是指对热度值进行sigmod归一化后的值;
最后,根据用户兴趣与文档主题的相似度,综合考虑浏览历史、文档热度,遍历所有用户和文档,计算用户-文档得分;
(5)存储结果至内存
将用户-主题分布矩阵、文档-主题分布矩阵和最终计算得到的用户-文档得分矩阵存储至内存。
3.如权利要求2所述的方法,其特征在于,第二步具体为:
(1)计算搜索内容的主题分布
获取用户在搜索框中输入的搜索内容,将该搜索内容看作一篇文档放入第一步中已训练好的主题模型中计算得到对应的主题分布;
(2)更新用户-主题分布矩阵
当用户对输入的搜索内容进行搜索时,则判定用户对本次搜索的主题感兴趣,此时进行用户兴趣的更新,其中将计算得到的搜索内容的主题分布加入到用户-主题分布矩阵中进行用户-主题分布矩阵更新,以此记录用户行为,并在下一次用户进行搜索时推荐用户更感兴趣的文档;
(3)通过向量检索工具Faiss查找相似向量
引用Faiss,从内存中读取已计算好的文档-主题分布矩阵并将其放入Faiss作为索引,在创建好包含文档-主题分布的索引后,将用户搜索内容的文档-主题分布当作搜索向量放入Faiss中查找相似向量,通过Faiss查找得到的相似向量为目标向量;
(4)加权随机抽样,得到要推荐的文档
通过Faiss得到搜索向量与目标向量的距离d以及目标向量的索引,距离越近,则判定搜索向量与目标向量越相似,通过Softmax对所有目标向量的距离进行归一化,转化为一组(0,1)之间并且和为1的数值,这些数值被当做每个目标向量被推荐的权重w:
w=Softmax(-d)
假设要抽取n篇文档进行推荐,首先对目标向量的距离从小到大进行排序,然后截取前10n篇文档作为抽样的样本,最后通过加权随机无放回的抽样得到10n篇文档中的n篇文档。
4.如权利要求2所述的方法,其特征在于,还包括第三步、基于第一步主动推荐文档。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210566870.X/1.html,转载请声明来源钻瓜专利网。