首页> 中国专利> 一种基于BERT与用户评论的深度学习可解释推荐方法

一种基于BERT与用户评论的深度学习可解释推荐方法

摘要

本发明公开了一种基于BERT与用户评论的深度学习可解释推荐方法。包括以下步骤:首先,分别对用户评论文本数据和物品评论文本数据依次进行数字编码和预处理后,分别获得预处理后的用户评论文本数据和物品评论文本数据;接着利用预训练语言模型分别提取出用户和物品的初始特征向量;再将用户的初始特征向量和物品请求向量以及物品的特征向量和用户请求向量分别一起输入到对应的注意力机制层中进行最终特征的提取,获得用户和物品的最终特征向量;最后分别与用户和物品潜在因子相结合后,获得评论乘积特征并均输入预测层中,输出用户对物品的评分预测。本发明可以在更短的训练时间内达到更好的推荐效果,同时还能产生基于评论的推荐解释。

著录项

  • 公开/公告号CN113836392A

    专利类型发明专利

  • 公开/公告日2021-12-24

    原文格式PDF

  • 申请/专利权人 浙江大学;

    申请/专利号CN202110901554.9

  • 发明设计人 孔祥维;唐鑫泽;

    申请日2021-08-06

  • 分类号G06F16/9535(20190101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构33200 杭州求是专利事务所有限公司;

  • 代理人林超

  • 地址 310058 浙江省杭州市西湖区余杭塘路866号

  • 入库时间 2023-06-19 13:49:36

说明书

技术领域

本发明涉及了自然语言处理领域的一种基于用户评论的可解释推荐方法,具体涉及到了一种基于BERT与用户评论的深度学习可解释推荐方法。

背景技术

互联网的普及和数字化转型很大程度上扩张了用户信息获取的渠道,增加了流通信息的量级,使得信息过载成为常态。超载的用户选择成为难题,如何将合适的内容呈现给合适的用户,需要利用个性化的推荐系统,目前推荐系统已经在各个领域都有了广泛的应用。推荐系统中,推荐算法是其核心。在传统的基于内容的推荐、基于协同过滤的推荐方法在遇到性能和发展的瓶颈时,深度学习的出现很大程度上提升了目前推荐系统的性能。一个好的推荐算法,不仅能够提升企业推荐系统的准确度,进而增加用户粘性,给企业带来可以变现的流量,而且能够减少算法定期训练的硬件和时间成本。一言概之,对于推荐算法的研究是必不可少的。传统的推荐算法研究由于受到算法设计和算力的限制,使用单一类型数据居多,如评分、购买、点击等,而深度学习模型具备利用更多数据源的条件,如文本、图像等。自深度学习算法在计算机视觉领域和自然语言处理领域取得了惊人甚至超人的能力之后,深度学习的方法也被应用到了推荐算法中,深度学习推荐成为当前推荐算法研究的主流和前沿。其中有一类算法是主要借助文本数据进行推荐,现有的算法设计中大多使用CNN、RNN等工具进行文本特征抽取,具有一定的局限性,而缺少在自然语言处理领域更加优秀的基于Transformer的模型的应用。

仅仅向用户展示他们可能感兴趣的物品而没有更加细节的解释,用户可能比较难相信系统为其推荐的物品确实是适合的,提供推荐解释是必要的。但深度学习模型固有的黑盒、难以解释的属性,给推荐解释的研究带来了新的挑战。深度学习可解释性是可解释人工智能(XAI,Explainable Artificial Intelligence)的其中一个重要领域,XAI是指能够让人们理解、适度信任并有效管理人工智能的技术。人工智能可解释性大致可以分为两类:事前可解释性与事后可解释性。事前可解释性是指,模型的可解释性存在于训练模型之前,是内置于模型内部的,如结构简单的逻辑回归模型、决策树模型等,或者可以通过自主设计构建将可解释性内置到整个模型中去,比如在模型的设计中加入注意力机制;事后可解释性是指,模型的可解释性存在于训练模型之后,给定一个训练好的模型,采用规则提取、模型蒸馏等方式,利用不同的方法尝试探照模型内部的运行机理,以此给出解释。采用事前可解释性的方法,可以减少企业另外研究可解释模型所花费的成本。因此,本发明希望设计出性能更好的深度学习可解释推荐算法,借鉴自然语言处理领域的BERT模型,利用嵌入式的注意力机制解释方法,再结合传统的潜在因子推荐模型,在提高推荐算法性能的同时能够提供推荐解释。

发明内容

为了解决背景技术中存在的问题和需求,本发明提供了一种基于BERT与用户评论的深度学习可解释推荐方法(BARER)。本发明是一种既能够提高推荐性能,又能够产生推荐解释的深度学习可解释推荐算法,利用BERT从用户评论中抽取出文本特征,利用注意力机制提升推荐效果并生成推荐解释,利用潜在因子模型进行评分预测。

本发明的技术方案如下:

本发明包括如下步骤:

步骤1)分别对用户评论文本数据和物品评论文本数据依次进行数字编码和预处理后,分别获得预处理后的用户评论文本数据和物品评论文本数据;

步骤2)将预处理后的用户评论文本数据和物品评论文本数据分别输入到预训练用户评论语言模型BERT1和预训练物品评论语言模型BERT2中,分别提取出用户的初始特征向量和物品的初始特征向量;

步骤3)将用户的初始特征向量和初始化的物品请求向量一起输入到用户评论注意力机制层中进行最终特征的提取,获得用户的最终特征向量;同时将物品的特征向量和初始化的用户请求向量一起输入到物品评论注意力机制层中进行最终特征的提取,获得物品的最终特征向量;

步骤4)将用户评论和物品评论的最终特征向量分别与用户和物品潜在因子相结合后,获得评论乘积特征并均输入预测层中,预测层输出用户对物品的评分预测。

所述步骤2)具体为:

将预处理后的用户评论文本数据和物品评论文本数据分别输入到预训练用户评论语言模型BERT1和预训练物品评论语言模型BERT2中,分别提取出用户的初始特征向量和物品的初始特征向量,用户的初始特征向量和物品的初始特征向量分别为预训练用户评论语言模型BERT1和预训练物品评论语言模型BERT2中倒数第二层的输出向量,计算过程如下式所示:

T

T

其中,BERT1代表预训练用户评论语言模型,BERT2代表预训练物品评论语言模型,E

所述步骤3)具体为:

将用户的初始特征向量和初始化的物品请求向量一起输入到用户评论注意力机制层中,同时将物品的特征向量和初始化的用户请求向量一起输入到物品评论注意力机制层中,首先用户评论注意力机制层和物品评论注意力机制层中分别计算用户的注意力值和物品的注意力值,通过以下公式进行设置:

其中,a

接着,用户评论注意力机制层和物品评论注意力机制层中将用户的注意力值和物品的注意力值分别与预处理后的用户评论文本数据和对预处理后的物品评论文本数据进行加权平均后,分别获得用户的最终特征向量和物品的最终特征向量,具体的计算过程如下式所示:

其中,

最终,利用全连接层分别对用户的加权特征向量和物品的加权特征向量进行维度的统一后,分别获得用户的最终特征向量和物品的最终特征向量,具体的计算过程如下式所示:

X

Y

其中,

所述步骤4)具体为:

将用户评论和物品评论的最终特征向量分别与用户和物品潜在因子相结合后,获得评论乘积特征并均输入预测层中,预测层具体为神经化后的潜在因子模型,神经化后的潜在因子模型输出用户对物品的评分预测,具体的计算过程如下式所示:

h

其中,⊙代表元素级别的相乘,q

本发明具有的有益效果是:

本发明结合了预训练语言模型BERT,结合了注意力机制,将传统的推荐算法潜在因子模型作为预测输出。

与现有技术相比,预训练语言模型BERT提取的特征能更加有效、准确地代表评论文本数据,进而提升最终的推荐性能。同时,相比于CNN、RNN等特征抽取技术,BERT作为预训练模型,只用作特征抽取而并不参与参数的训练迭代,可以在整体训练过程中节省时间。

本发明所提出算法在推荐性能指标RMSE、MAE上、在多个数据集上超越学界的多个基线推荐算法,在训练时间上也具有比较大的优势,同时能够产生基于用户评论文本的推荐解释。

附图说明

图1为本发明所提出算法的架构图。

图2为本发明的用户评论注意力机制层的网络结构示意图。

图3为本发明所提出算法所产生的推荐解释的实施例。

具体实施方式

下面结合附图及具体实施例对本发明作进一步详细说明。

从亚马逊电商评论数据集中选取5个类目的子数据集作为算法的训练数据集进行说明。

如图1所示,本发明的可解释推荐模型BARER包括预训练用户评论语言模型BERT1、预训练物品评论语言模型BERT2、用户评论注意力机制层、物品评论注意力机制层和预测层。预训练用户评论语言模型BERT1和预训练物品评论语言模型BERT2的结构相同。预处理后的用户评论文本数据和物品评论文本数据分别输入预训练用户评论语言模型BERT1和预训练物品评论语言模型BERT2,预训练用户评论语言模型BERT1提取出的初始特征向量与物品请求向量一起输入用户评论注意力机制层,预训练物品评论语言模型BERT2提取出的初始特征向量与用户请求向量一起输入物品评论注意力机制层,用户评论注意力机制层的输出、用户潜在因子与物品评论注意力机制层的输出、物品潜在因子一起输入预测层中,预测层输出用户对物品的评分预测。其中,主要由预训练用户评论语言模型BERT1、用户评论注意力机制层、物品的请求向量和用户的潜在因子构成用户模型,主要由预训练物品评论语言模型BERT2、物品评论注意力机制层、用户的请求向量和物品的潜在因子构成物品模型。

本发明包括如下步骤:

步骤1)分别对用户评论文本数据和物品评论文本数据依次进行数字编码和预处理后,分别获得预处理后的用户评论文本数据和物品评论文本数据;再按照8:2的比例切分好训练集和测试集。具体实施中,数字编码以及预处理具体是指:将评论文本中的单词对照BERT模型词库中的单词编号进行数字编码,同时,取每个用户所做出评论的数量的九分位数并作为输入模型中的每个用户所对应的评论数量,对于单个用户,超出的评论数量舍去,不足的评论数量用单位向量填充;同理,取每个物品被评论的数量的九分位数并作为输入模型中的每个物品所对应的评论数量,对于单个物品,超出的评论数量舍去,不足的评论数量用单位向量填充。

用户评论文本数据由每个用户对其购买过的物品做出的评论组成,物品评论文本数据由购买过该物品的用户所做出的评论组成。

步骤2)使用Python加载TensorFlow开源软件包作为深度学习模型的构建工具,再将输入到Transformers开源软件包封装好的BERT模型中,将预处理后的用户评论文本数据和物品评论文本数据分别输入到预训练用户评论语言模型BERT1和预训练物品评论语言模型BERT2中,分别提取出用户的初始特征向量和物品的初始特征向量;

步骤2)具体为:

将预处理后的用户评论文本数据和物品评论文本数据分别输入到预训练用户评论语言模型BERT1和预训练物品评论语言模型BERT2中,分别提取出用户的初始特征向量和物品的初始特征向量,用户的初始特征向量和物品的初始特征向量分别为预训练用户评论语言模型BERT1和预训练物品评论语言模型BERT2中倒数第二层的输出向量,计算过程如下式所示:

T

T

其中,BERT1代表预训练用户评论语言模型,BERT2代表预训练物品评论语言模型,E

步骤3)将用户的初始特征向量和随机初始化的物品请求向量一起输入到用户评论注意力机制层中进行最终特征的提取,获得用户的最终特征向量;同时将物品的特征向量和随机初始化的用户请求向量一起输入到物品评论注意力机制层中进行最终特征的提取,获得物品的最终特征向量;

步骤3)具体为:

将用户的初始特征向量和随机初始化的物品请求向量一起输入到用户评论注意力机制层中,同时将物品的特征向量和随机初始化的用户请求向量一起输入到物品评论注意力机制层中,首先用户评论注意力机制层和物品评论注意力机制层中分别计算用户的注意力值和物品的注意力值,根据注意力值的高低得到每条评论的可解释性,通过以下公式进行设置:

其中,a

接着,用户评论注意力机制层和物品评论注意力机制层中将用户的注意力值和物品的注意力值分别与预处理后的用户评论文本数据和对预处理后的物品评论文本数据进行加权平均后,分别获得用户的最终特征向量和物品的最终特征向量,具体的计算过程如下式所示:

其中,

最终,利用用户评论注意力机制层和物品评论注意力机制层中对应的最后一层全连接层分别对用户的加权特征向量和物品的加权特征向量进行维度的统一后,分别获得用户的最终特征向量和物品的最终特征向量,具体的计算过程如下式所示:

X

Y

其中,

用户评论注意力机制层与物品评论注意力机制层的网络结构相同,用户评论注意力机制层的网络结构如图2所示。

步骤4)将用户评论和物品评论的最终特征向量分别与用户和物品潜在因子相结合后,获得评论乘积特征并均输入预测层中,预测层输出用户对物品的评分预测。

步骤4)具体为:

将用户评论和物品评论的最终特征向量分别与用户和物品潜在因子相结合后,获得评论乘积特征并均输入预测层中,预测层具体为神经化后的潜在因子模型,神经化后的潜在因子模型输出用户对物品的评分预测,具体的计算过程如下式所示:

h

其中,⊙代表元素级别的相乘,q

构建平方损失和惩罚项相结合的损失函数,利用Adam优化优化器对可解释推荐模型BARER的参数进行迭代优化。

通过多次的训练总结,将训练迭代次数设定为50次,潜在因子数量设定为32,初始学习率设定为0.0001,超参数β

每一轮训练结束后,计算测试集的RMSE与MAE指标值,保存指标值最小的模型作为最优模型。

针对给用户推荐的物品,回溯计算得到物品所属评论中注意力值最高的若干评论,即对于推荐最重要的若干评论,呈现给用户作为推荐解释。

表1、表2分别为本发明所提出算法在推荐指标RMSE、MAE上、在多个亚马逊电商评论数据集上与其他基线算法的对比。整体来说,本发明所提出算法在大部分情况下显著超过所对比的基线算法,在个别情况下不差于基线算法SVD++与NARRE。

表1在多个亚马逊电商评论数据集上本发明BARER与其他基线算法的RMSE对比

表2在多个亚马逊电商评论数据集上本发明BARER与其他基线算法的MAE对比

表3为本发明所提出算法在训练时间上与其他深度学习基线算法的对比,单位为小时。同为深度学习推荐算法,本发明所提出算法可以从推荐性能上超越所对比的DeepCoNN算法,在推荐性能和训练时效两个方面超越所对比的NARRE算法,证明本发明所提出算法的实际应用价值更加明显。

表3在多个亚马逊电商评论数据集上本发明BARER与其他基线算法的MAE对比

图3为本发明所提出算法所产生的推荐解释的真实实例。实例中,用户的历史评论和物品的历史评论中有很多契合的文本,证明本发明所提出算法能够在给出合理的评分预测的基础上,捕捉到用户的偏好,给物品评论进行合理的注意力值打分,产生出合理的解释。

由此可见,本发明所提出算法在推荐性能上超越学界的多个基线推荐算法,在训练时间上也具有比较大的优势,同时能够产生基于用户评论文本的推荐解释。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号