[发明专利]基于深度森林的文本对象推荐方法有效
| 申请号: | 201911231215.3 | 申请日: | 2019-12-05 |
| 公开(公告)号: | CN111078834B | 公开(公告)日: | 2021-10-26 |
| 发明(设计)人: | 杨波;吴施虎;余秦勇;王鹏 | 申请(专利权)人: | 电子科技大学;中电科大数据研究院有限公司 |
| 主分类号: | G06F16/33 | 分类号: | G06F16/33;G06F16/35;G06F40/284;G06K9/62 |
| 代理公司: | 电子科技大学专利中心 51203 | 代理人: | 周刘英 |
| 地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 深度 森林 文本 对象 推荐 方法 | ||
1.基于深度森林的文本对象推荐方法,其特征在于,包括下列步骤:
步骤1:对文本对象进行预处理:
从用户与文本交互的平台的后台数据库中提取所有文本对象;
去除文本对象中的停用词,并统计在所有文本对象当中出现次数最多的D个词;其中D为预设值;
并基于所述D个词构造词典,基于所构造的词典为每个文本对象构建TF-IDF向量,作为文本对象的特征向量;
步骤2:构建用户和文本对象的交互矩阵Y:
所述交互矩阵Y的每一行表示一个用户,每一列表示一个文本对象,交互矩阵的元素的值为0或1,其中1表示当前用户与文本对象之间有交互历史;0表示当前用户与文本对象之间无交互历史;
步骤3:对已有数据进行负采样,并构建训练集:
将用户-文本对象对作为一个样本,并将用于与文本对象之间有交互历史的用户-文本对象对作为正样本并加入训练集中;
对于每一个正样本中的用户,随机从该用户未接触过的文本对象当中抽取num_negtive个文本对象,构成num_negtive个负样本并加入训练集中;
其中,正样本的真实标签为1,负样本的真实标签为0;
提取训练集中每个样本的特征向量,记为xi,其中,下标i表示训练集的样本区分符;
其中,样本的特征向量的提取方式为:
将样本对应的用户记为u,文本对象记为t;
从交互矩阵中提取用户u所在的行,记为Yu.,提取文本对象t所在的列,记为Y.t;
将Yu.、Y.t、文本对象t的TF-IDF向量Tt、用户u的辅助信息Su和文本对象t的辅助信息St进行拼接得到样本的特征向量xi;
步骤4:构建并训练梯度提升深度森林:
设置梯度提升深度森林的深度上限M;
初始化梯度提升深度森林的深度为2,即梯度提升深度森林包括层随机森林;
所述梯度提升深度森林的每一层包括一定数量的决策树,所述决策树为分类与回归树;
对梯度提升深度森林的训练处理为:
每一层随机森林输入的样本的特征向量相同,输入的样本标签不同;
其中,第1层随机森林的输入的样本标签为真实样本标签yi;
第层的样本标签为:当前已有的弱学习器的预测结果fm-1(xi)与真实标签yi的伪残差rmi,其中rmi=yi-fm-1(xi),fm-1(xi)=fm-2(xi)+αhm-1(xi),
α表示预置的学习率,取值范围为0-1,hm-1(xi)表示特征向量xi在第m-1层的随机森林的输出结果,f0(xi)的取值为常数c;
其中,常数c的取值为:N表示训练集的样本数;
当第层的损失函数满足预置的收敛条件或者梯度提升深度森林的深度达到预设上限M时,训练停止,并将训练好的梯度提升深度森林作为文本对象推荐模型;否则将梯度提升深度森林的深度加1,继续训练;
步骤5:文本对象的推荐:
对每个用户,将未与当前用户存在交互历史的文本对象作为推荐备选对象;
基于交互矩阵Y,获取当前用户所在的行,以及每个推荐备选对象所在的列,基于当前用户的辅助信息,每个推荐备选对象的辅助信息及TF-IDF向量,得到当前用户与每个推荐备选对象的用户-文本对象对的特征向量;并输入到步骤4得到的文本对象推荐模型中,基于输出得到当前用户与每个推荐备选对象的交互概率预测值;
并对同一用户的所有交互概率预测值排序,选出交互概率预测值最大的K条文本对象构成推荐给当前用户的推荐列表。
2.如权利要求1所述的方法,采用的损失函数为误差平方和。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学;中电科大数据研究院有限公司,未经电子科技大学;中电科大数据研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911231215.3/1.html,转载请声明来源钻瓜专利网。





