Suri: 多约束指令遵循的长文本生成新突破

在人工智能和自然语言处理领域,如何让大型语言模型(LLM)更好地遵循复杂指令并生成高质量长文本,一直是一个重要而富有挑战性的研究方向。近日,来自马萨诸塞大学阿默斯特分校的研究团队在这一领域取得了重要突破,他们提出了一种名为Suri的新数据集和训练方法,显著提升了LLM在多约束条件下生成长文本的能力。本文将详细介绍这项研究的主要内容、创新点及其潜在影响。 研究背景与动机 现有的指令遵循研究主要集中在简单指令和短回复任务上。然而,在实际应用中,用户往往需要LLM能够遵循包含多个复杂约束的指令,并生成长篇幅、高质量的文本输出,如详细的技术报告或引人入胜的小说。 为了探索这一挑战,研究团队开展了首个针对多约束指令下长文本生成的深入研究。他们创建了Suri数据集,并提出了一种名为I-ORPO的新型对齐方法,以提升LLM在这类任务中的表现。 Suri数据集的构建 Suri数据集是该研究的核心基础。它包含20,000个配对样本,每个样本由以下三部分组成: 研究团队采用了多项措施来确保数据集的质量和多样性: I-ORPO: 创新的对齐方法 研究团队提出了Instructional Odds Ratio Preference Optimization (I-ORPO)方法,这是对ORPO算法的改进和适应。I-ORPO的主要创新点在于: 实验结果与评估 研究团队使用Suri数据集对Mistral-7B-Instruct-v0.2模型进行了微调,得到了Suri-I-ORPO和Suri-SFT两个模型版本。主要评估结果包括: 研究意义与展望 这项研究的重要性主要体现在以下几个方面: 未来研究可以进一步探索: 总之,这项研究为提升LLM在复杂指令下生成高质量长文本的能力开辟了新的道路,有望推动自然语言生成技术在创意写作、技术文档撰写等领域的应用和发展。 参考文献 长文本指令遵循:Suri 数据集与 I-ORPO 算法 近年来,大型语言模型(LLM)在指令遵循方面取得了显著进展,但现有研究主要集中在简单指令和短文本生成任务上。对于包含复杂多约束指令的长文本生成任务,LLM 仍面临挑战。本文将介绍一种名为 Suri 的新数据集,以及一种基于 ORPO 算法的指令对齐方法 I-ORPO,旨在提升 LLM 在长文本指令遵循方面的能力。 Suri 数据集:长文本指令遵循的基石 Suri 数据集包含 20,000 个长文本,每个文本都配有一条由 LLM 生成的包含多个复杂约束的指令。这些指令涵盖了语义和风格方面的约束,例如: Suri 数据集的构建利用了指令反向翻译技术,即使用 LLM 将人类撰写的长文本(例如小说章节)转化为相应的指令。为了训练模型区分正确指令和错误指令,Suri 数据集还包含了由 LLM 生成的错误指令,这些指令对原始指令中的约束进行了微调,使其部分违反,但仍然与指令的总体目标保持一致。 I-ORPO 算法:利用合成错误指令进行模型对齐 由于对长文本进行人工偏好标注的难度和成本很高,传统的偏好调整算法(如 DPO)并不适用于 Suri … Read more

SAR算法在MovieLens数据集上的应用

推荐系统是现代互联网应用中不可或缺的一部分。无论是电子商务、社交媒体还是内容平台,都在使用各种推荐算法来为用户提供个性化的体验。今天,我们将深入探讨一种简单而有效的推荐算法——简单算法推荐(Simple Algorithm for Recommendation, SAR),并通过在著名的MovieLens数据集上的实践来展示其应用。 SAR算法简介 SAR是一种基于用户交互历史的快速、可扩展的个性化推荐算法。它的主要特点包括: SAR的核心思想是推荐与用户已有偏好相似的物品。这里的”相似”指的是:如果用户与物品A交互,那么他们也很可能与物品B交互;而”偏好”则指用户在过去与某个物品有过交互。 SAR的优势 SAR的使用注意事项 数据准备 我们使用MovieLens数据集来演示SAR算法的应用。MovieLens是一个包含用户对电影评分的数据集,非常适合用来测试推荐算法。 首先,我们加载所需的库和数据: 接下来,我们将数据集分为训练集和测试集: 这里我们使用了分层抽样的方法,保证每个用户的75%评分进入训练集,25%进入测试集。 模型训练与预测 现在,我们可以开始训练SAR模型了: 在这个过程中,SAR会计算物品之间的共现矩阵,然后基于Jaccard相似度计算物品相似度矩阵。同时,它还会计算用户-物品亲和度矩阵,捕捉用户与物品之间关系的强度。 训练完成后,我们可以为测试集中的用户生成Top-K推荐: 模型评估 为了评估SAR的性能,我们使用了几个常见的排序指标: 同时,我们还计算了一些评分指标: 这些指标能够全面地评估SAR算法在MovieLens数据集上的表现。 结论 通过在MovieLens数据集上的实验,我们展示了SAR算法的实际应用。SAR作为一种简单而有效的推荐算法,在许多场景下都能取得不错的效果。它的快速训练和预测特性使其特别适合需要实时推荐的应用场景。 然而,SAR也有其局限性。例如,它不能利用物品或用户的特征信息,这在某些场景下可能会限制其性能。此外,对于大规模数据集,其内存消耗可能会成为一个挑战。 总的来说,SAR是推荐系统工具箱中的一个有力工具。在实际应用中,我们需要根据具体的业务需求和数据特征,选择适合的算法或者多种算法的组合。 参考文献 这篇文章将介绍如何使用简单算法推荐(SAR)模型对MovieLens数据集进行协同过滤推荐。SAR是一种基于用户交互历史的快速可扩展的个性化推荐算法,具有易于解释和处理冷启动问题的优势。让我们一步步来看SAR模型的实现过程。 1. 数据准备 首先,我们加载MovieLens数据集并进行预处理: 这里我们使用了MovieLens 100k数据集,包含10万条用户对电影的评分记录。 接下来,我们将数据集分为训练集和测试集: 我们使用了分层抽样的方法,保留75%的数据作为训练集,25%作为测试集。这种分割方法可以确保每个用户在训练集和测试集中都有数据。 2. SAR模型训练 SAR模型的核心思想是基于用户的历史交互来推荐相似的物品。我们首先实例化SAR模型: 这里我们使用了Jaccard相似度,并启用了时间衰减和归一化。 然后我们开始训练模型: SAR模型的训练过程主要包括以下步骤: 训练完成后,我们可以为测试集中的用户生成Top-K推荐: 3. 模型评估 为了评估SAR模型的性能,我们使用了多个常用的推荐系统评估指标: 这些指标包括平均精度均值(MAP)、归一化折损累积增益(NDCG)、精确率和召回率。 此外,我们还计算了一些评分预测相关的指标: 这些指标包括均方根误差(RMSE)、平均绝对误差(MAE)、R方和解释方差。 4. 结果分析 在MovieLens 100k数据集上,SAR模型的表现如下: 这些结果表明,SAR模型在推荐相关性和排序质量方面表现不错,但在评分预测方面还有提升空间。 我们还可以查看特定用户的推荐结果: … Read more

黎曼低秩矩阵补全算法:电影推荐系统的新星

在当今数据驱动的世界中,推荐系统已成为我们日常生活中不可或缺的一部分。无论是在线购物、音乐流媒体还是视频平台,这些系统都在幕后默默工作,为我们筛选出最感兴趣的内容。今天,我们要深入探讨一种强大而新颖的推荐算法——黎曼低秩矩阵补全(Riemannian Low-rank Matrix Completion,简称RLRMC),以及它在电影推荐领域的应用。 RLRMC算法简介 RLRMC是一种基于矩阵分解的矩阵补全算法,它利用黎曼共轭梯度算法来解决优化问题。这个算法的理论基础来自于Jawanpuria和Mishra(2018)以及Mishra等人(2013)的研究工作。 在RLRMC中,用户-电影评分矩阵被建模为一个低秩矩阵。假设我们有d部电影和T个用户,评分矩阵M的大小为d×T。RLRMC算法假设M是部分已知的,其中M(i,j)表示第j个用户对第i部电影的评分。 RLRMC的核心思想是将矩阵M分解为两个较小的矩阵的乘积:M = LR^T,其中L是一个d×r的矩阵,R是一个T×r的矩阵。这里的r是一个需要预先设定的超参数,称为”秩”,通常远小于d和T。 RLRMC的优势 实践:使用RLRMC进行电影推荐 让我们通过一个实际的例子来看看如何使用RLRMC算法进行电影推荐。我们将使用著名的MovieLens数据集来演示整个过程。 数据准备 首先,我们需要下载并加载MovieLens数据集: 这里我们使用了MovieLens 10M数据集,它包含了约10万用户对10681部电影的1000万条评分数据。 数据分割 接下来,我们需要将数据集分割为训练集和测试集: 我们使用80%的数据作为训练集,20%的数据作为测试集。 模型训练 现在,我们可以初始化并训练RLRMC模型: 在这个例子中,我们设置了以下参数: 预测和评估 训练完成后,我们可以使用模型对测试集进行预测: 最后,我们可以评估模型的性能: 在这个例子中,我们使用了均方根误差(RMSE)和平均绝对误差(MAE)作为评估指标。 RLRMC的未来展望 尽管RLRMC在推荐系统领域展现出了巨大的潜力,但仍有一些值得探索的方向: 结语 黎曼低秩矩阵补全算法为推荐系统带来了新的可能性。通过结合先进的数学理论和实用的工程技巧,RLRMC展示了如何在复杂的实际应用中实现高性能的推荐。随着研究的深入和技术的发展,我们可以期待看到RLRMC在更广泛的领域中发挥作用,不仅限于电影推荐,还可能扩展到音乐、新闻、产品等多个领域。

受限玻尔兹曼机在电影推荐中的应用

在这个快节奏的数字时代,个性化推荐系统已经成为我们日常生活中不可或缺的一部分。无论是在线购物、音乐流媒体还是视频平台,推荐算法都在幕后默默工作,为我们筛选出最感兴趣的内容。今天,让我们深入探讨一种强大而独特的推荐算法 – 受限玻尔兹曼机(Restricted Boltzmann Machine, RBM),以及它在电影推荐领域的应用。 RBM简介 受限玻尔兹曼机是一种生成式神经网络模型,通常用于无监督学习。它的主要任务是学习可见单元v和隐藏单元h的联合概率分布P(v,h)。在这个模型中,隐藏单元代表潜在变量,而可见单元则与输入数据相对应。一旦学习到联合分布,模型就可以通过从中采样来生成新的样本。 RBM在推荐系统中的应用基于协同过滤的思想。与传统的矩阵分解方法不同,RBM学习的是用户-物品亲和矩阵背后的概率分布,而不仅仅是重现矩阵的一个实例。这种方法有几个显著的优势: 数据准备 在这个例子中,我们使用著名的MovieLens数据集来演示RBM在电影推荐中的应用。具体来说,我们选择了包含943个用户对1682部电影的10万条评分数据的MovieLens-100k数据集。 首先,我们需要加载数据并进行预处理: 数据集包含四列:用户ID、电影ID、评分(1-5分)和时间戳。 数据分割 在训练推荐模型时,数据分割是一个关键步骤。与传统的监督学习不同,我们需要保持训练集和测试集的矩阵大小相同,但包含不同的评分数据。这是因为我们需要为每个用户预测所有可能的电影评分。 这里,X是完整的用户-电影评分矩阵,Xtr和Xtst分别是训练集和测试集矩阵。值得注意的是,这两个矩阵具有相同的维度(943×1682),但包含不同的评分数据。 RBM模型训练 现在,让我们开始训练RBM模型。我们使用TensorFlow实现的RBM类,该类封装了模型的初始化、训练和预测过程。 在这个例子中,我们设置了600个隐藏单元,训练30个epoch,每个minibatch包含60个样本。keep_prob=0.9表示我们使用了dropout技术来防止过拟合。 模型评估与推荐生成 训练完成后,我们可以使用模型为用户生成电影推荐。RBM模型会从学习到的概率分布中采样,为每个用户-电影对生成评分预测。然后,我们可以根据这些预测评分为每个用户选择top-k个推荐电影。 recommendations是一个DataFrame,包含了每个用户的top-k推荐电影及其预测评分。 RBM的优势与局限性 RBM在推荐系统中展现出了独特的优势: 然而,RBM也存在一些局限性: 结论 受限玻尔兹曼机为电影推荐系统提供了一种强大而灵活的方法。通过学习用户-电影评分的潜在概率分布,RBM能够生成个性化的推荐,并在处理稀疏数据和捕捉复杂关系方面表现出色。尽管存在一些局限性,但随着深度学习技术的不断发展,RBM及其变体在推荐系统领域仍有广阔的应用前景。 未来的研究方向可能包括将RBM与其他深度学习模型结合,改进训练算法以提高效率,以及探索如何更好地解释RBM的推荐结果。随着这些进展,我们可以期待看到更加智能和个性化的电影推荐系统。 基于受限玻尔兹曼机的协同过滤算法 近年来,协同过滤技术在推荐系统中得到了广泛应用。但是现有的大多数协同过滤方法难以处理非常大规模的数据集。本文介绍了一种基于受限玻尔兹曼机(RBM)的新型协同过滤算法,可以有效地处理包含上亿用户评分数据的大规模数据集。 RBM模型简介 受限玻尔兹曼机是一种两层无向图模型,包括一个可见层和一个隐藏层。在协同过滤任务中,可见层用于表示用户对电影的评分,隐藏层可以看作是捕捉用户兴趣的隐藏特征。 具体来说,对于每个用户,我们构建一个专属的RBM模型。该模型的可见层只包含该用户评过分的电影对应的softmax单元,隐藏层则是一组二值隐藏单元。不同用户的RBM模型共享权重参数,但隐藏单元的二值状态可以不同,从而捕捉不同用户的兴趣特征。 RBM模型的能量函数定义为: $$E(V, h) = -\sum_{i=1}^m \sum_{j=1}^F \sum_{k=1}^K W_{ij}^k h_j v_i^k – \sum_{i=1}^m \sum_{k=1}^K v_i^k b_i^k – \sum_{j=1}^F h_j b_j$$ 其中$v_i^k$表示电影$i$的评分为$k$星,$h_j$表示隐藏特征$j$的状态,$W_{ij}^k$是权重参数,$b_i^k$和$b_j$分别是可见单元和隐藏单元的偏置项。 高效的学习算法 由于RBM是无向图模型,其学习过程比有向图模型更加高效。我们采用对比散度(CD)算法来近似最大似然学习: … Read more

使用多项式RBM的电影推荐系统

受限玻尔兹曼机(Restricted Boltzmann Machine,RBM)是一种生成神经网络模型,通常用于无监督学习。RBM的主要任务是学习联合概率分布$P(v,h)$,其中$v$是可见单元,$h$是隐藏单元。隐藏单元表示潜在变量,而可见单元则是输入数据。一旦联合分布被学习到,就可以通过从中采样生成新样本。 在本文中,我们将演示如何使用RBM进行用户/项目推荐。特别地,我们将使用MovieLens数据集,该数据集包含用户对电影的评分(评分范围为1到5)。 本文提供了一个快速入门示例,展示了使用和评估该算法的基本步骤。关于RBM模型的详细讨论以及推荐任务的深入分析,请参阅RBM深入分析部分。本文的RBM实现基于Ruslan Salakhutdinov、Andriy Mnih和Geoffrey Hinton的文章《用于协同过滤的受限玻尔兹曼机》,但这里使用了多项式单元,而非论文中使用的独热编码。 RBM的优势 RBM通过协同过滤的方法为用户/电影对生成评分。虽然矩阵分解方法学习如何再现用户/项目亲和矩阵的实例,但RBM学习的是基础概率分布。这有几个优势: 0 全局设置和导入 首先,我们需要导入相关的库和设置全局参数。 1 加载数据 在这里,我们选择MovieLens数据集的大小。在本例中,我们使用100k评分数据集,由943名用户对1682部电影进行评分。数据导入到一个pandas数据框中,包括用户ID、项目ID、评分和时间戳。 1.2 使用分层分割器分割数据 接下来,我们生成用户/项目亲和矩阵,然后将数据分为训练集和测试集。需要注意的是,训练集和测试集的矩阵维度相同,但包含的评分数量不同。 分割器返回: 2 训练RBM模型 2.1 初始化和训练模型 我们现在开始初始化并训练RBM模型。首先,我们定义RBM的参数,包括隐藏单元的数量、学习率和训练迭代次数等。 接下来,我们使用训练集(Xtr)来训练模型。 2.2 生成推荐 训练完成后,我们可以使用RBM模型为用户生成电影推荐。我们通过从模型中采样来生成推荐。 3 评估模型 为了评估RBM模型的性能,我们使用一系列指标,包括平均准确率(MAP)、归一化折扣累积增益(NDCG)、准确率(Precision)和召回率(Recall)。 3.1 定义评估函数 我们定义一组评估函数来计算这些指标。 3.2 结果分析 通过这些评估指标,我们可以了解RBM模型在电影推荐任务中的表现。 这些结果反映了模型在不同指标上的性能。我们可以根据这些指标来调整模型参数或进行更多的训练,以提高推荐的准确率和效率。 结语 本文展示了如何使用多项式RBM模型进行电影推荐,并通过MovieLens数据集进行了实证分析。通过利用RBM模型的泛化能力和时间稳定性,我们可以在GPU上快速训练并生成推荐。同时,通过一系列评估指标,我们可以有效地评估模型性能,并根据结果进行优化。 希望通过本文的介绍,您能够对RBM模型在推荐系统中的应用有更深入的了解,并能够在实际项目中应用这些技术。 参考文献

NRMS: 基于多头自注意力机制的神经新闻推荐系统

在当今信息爆炸的时代,如何从海量的新闻中为用户推荐感兴趣的内容是一个重要的研究课题。本文将介绍一种基于神经网络的新闻推荐方法——NRMS(Neural News Recommendation with Multi-Head Self-Attention),该方法利用多头自注意力机制来有效地学习新闻和用户的表示。 NRMS模型简介 NRMS是一种基于内容的神经新闻推荐方法,其核心由新闻编码器和用户编码器两部分组成: NRMS的主要特点包括: 数据集介绍 为了快速训练和评估,本文使用了从MIND小型数据集中抽样的MINDdemo数据集,包含5000名用户的数据。MINDdemo数据集与MINDsmall和MINDlarge具有相同的文件格式。数据集分为训练集(MINDdemo_train)和验证集(MINDdemo_dev),每个集合包含新闻文件和用户行为文件。 新闻数据 新闻文件包含新闻ID、类别、子类别、标题、摘要、URL以及标题和摘要中的实体信息。每行代表一条新闻,格式如下: 用户行为数据 用户行为文件记录了用户的点击历史和展示新闻。每行代表一个展示实例,格式如下: 其中,点击历史是用户在该时间戳之前点击过的新闻ID列表,展示新闻是该次展示的新闻ID列表及其是否被点击的标签(0表示未点击,1表示点击)。 模型实现 接下来,我们将使用TensorFlow框架来实现NRMS模型,并在MINDdemo数据集上进行训练和评估。 环境准备 首先,我们需要导入必要的库和模块: 数据下载与准备 接下来,我们需要下载并准备MINDdemo数据集: 模型参数设置 我们需要设置模型的超参数: 这里我们设置了批次大小为32,训练轮数为5。其他重要参数包括: 模型训练 现在我们可以创建NRMS模型并开始训练: 训练过程中,模型会输出每个epoch的训练损失和验证集上的评估指标。 模型评估 训练完成后,我们可以在验证集上评估模型的性能: 评估指标包括: 实验结果与分析 在MINDdemo数据集上训练5个epoch后,NRMS模型在验证集上的表现如下: 让我们对这些结果进行分析: 总体而言,这些结果表明NRMS模型在新闻推荐任务上展现出了一定的效果,但仍有很大的优化空间。以下是一些可能的改进方向: 模型优化策略 结论 NRMS模型通过利用多头自注意力机制,在新闻推荐任务中展现出了潜力。它能够有效地捕捉新闻标题中词语之间的关系,以及用户历史行为中新闻之间的关联。虽然在MINDdemo数据集上的初步结果还有提升空间,但通过上述优化策略,NRMS模型有望在更大规模的数据集上取得更好的性能。 未来的研究方向可以包括: 总的来说,NRMS为基于深度学习的新闻推荐系统提供了一个有前景的框架,随着进一步的研究和优化,它有望在实际应用中发挥更大的作用。 参考文献

深度解析NPA:基于个性化注意力的神经新闻推荐模型

在当今信息爆炸的时代,如何从海量新闻中为用户精准推荐感兴趣的内容,是一个重要而富有挑战性的问题。本文将为您详细介绍一种先进的新闻推荐模型 – NPA(Neural News Recommendation with Personalized Attention),即基于个性化注意力的神经新闻推荐模型。 NPA模型概述 NPA模型是一种基于内容的新闻推荐方法,由微软研究院于2019年提出。其核心思想是通过深度学习技术,同时建模新闻内容和用户兴趣,并引入个性化注意力机制来捕捉不同用户的兴趣差异。 NPA模型的主要特点包括: 下面我们将深入剖析NPA模型的各个组成部分。 新闻表示模块 新闻表示模块的目标是将新闻内容转化为低维稠密向量。NPA模型主要利用新闻标题来学习新闻表示,具体步骤如下: CNN的使用使得模型能够捕捉词序信息和短语级别的语义。相比RNN,CNN的并行性更好,训练速度更快。 用户表示模块 用户表示模块的目标是基于用户的历史行为,学习用户的兴趣表示。NPA模型的做法是: 注意力机制的引入使得模型能够区分不同历史新闻的重要性,从而更精准地刻画用户兴趣。 个性化注意力机制 NPA模型的一大创新是引入了两级个性化注意力机制: 词级别个性化注意力 在新闻表示模块中,对新闻标题的每个词赋予不同的注意力权重。关键是这个注意力权重不仅与词本身有关,还与用户向量相关。具体计算公式如下: $$a_i = softmax(v^T tanh(W_1 e_i + W_2 u))$$ 其中$e_i$是第i个词的词向量,$u$是用户向量,$W_1,W_2,v$是可学习的参数。 这样不同用户对同一篇新闻的同一个词会有不同的注意力分配,体现了个性化。 新闻级别个性化注意力 在用户表示模块中,对用户历史点击的每篇新闻赋予不同的注意力权重。同样地,这个权重也是个性化的: $$\beta_j = softmax(v’^T tanh(W_3 d_j + W_4 u))$$ 其中$d_j$是第j篇新闻的向量表示,$u$是用户向量,$W_3,W_4,v’$是可学习的参数。 通过这两级注意力机制,NPA模型能够更好地捕捉用户的个性化兴趣。 模型训练 NPA模型采用负采样的方式进行训练。对于每个正样本(用户点击的新闻),随机采样若干负样本(用户未点击的新闻)。模型的目标是最大化正样本的预测概率,同时最小化负样本的预测概率。 损失函数采用交叉熵: $$L = -\frac{1}{N}\sum_{(u,d^+,d^-)\in \mathcal{S}} log(\sigma(\hat{y}{u,d^+})) + \sum{d^-\in\mathcal{D}^-}log(1-\sigma(\hat{y}_{u,d^-}))$$ 其中$\hat{y}_{u,d}$是模型对用户$u$和新闻$d$的匹配度预测。 … Read more

NCF:基于神经网络的协同过滤算法

引言 神经网络协同过滤 (NCF) 是一种将矩阵分解与多层感知机相结合的推荐算法,能够有效地学习用户和物品之间的复杂交互关系。本篇文章将以 ncf_movielens.ipynb 示例为例,详细介绍如何使用 Recommenders 工具包实现 NCF 算法,并对模型性能进行评估。 数据准备 本示例使用经典的 MovieLens 数据集,该数据集包含了用户对电影的评分信息。首先,使用 recommenders.datasets.movielens 模块加载数据集,并指定使用的数据集大小和数据格式。 接下来,使用 python_chrono_split 函数按照时间顺序将数据集划分为训练集和测试集,划分比例为 75:25。 为了避免冷启动问题,将测试集中未出现在训练集中的用户和物品过滤掉。 模型构建 使用 recommenders.models.ncf.ncf_singlenode 模块中的 NCF 类构建 NCF 模型。 在 NCF 模型中,model_type 参数指定使用的模型类型,本示例使用 NeuMF 模型,该模型结合了广义矩阵分解 (GMF) 和多层感知机 (MLP) 的优势。n_factors 参数表示隐含特征维度,layer_sizes 参数指定 MLP 网络的层数和每层的神经元数量。 模型训练 使用训练集对 NCF 模型进行训练。 生成推荐结果 在电影推荐场景中,通常不推荐用户已经看过的电影。因此,需要将训练集中出现过的用户-电影组合从推荐结果中剔除。 模型评估 使用 recommenders.evaluation.python_evaluation 模块中的评估指标对模型进行评估。 总结 本篇文章以 … Read more

NAML:基于注意力机制的多视角新闻推荐算法

引言 在信息过载的时代,个性化新闻推荐显得尤为重要。为了更精准地捕捉用户的兴趣,NAML 算法利用多视角学习,从新闻标题、正文、类别和子类别等多个角度学习新闻表示,并结合用户历史行为学习用户表示,从而实现更精准的新闻推荐。 NAML 算法原理 NAML 算法的核心思想是利用注意力机制,从多视角学习新闻表示和用户表示,并根据两者之间的匹配程度预测用户点击新闻的概率。具体来说,NAML 算法包含以下几个步骤: MIND 数据集 MIND 数据集是一个大规模英文新闻数据集,包含了 1,000,000 用户、161,013 篇新闻文章和 15,777,377 条点击日志。每篇新闻文章包含丰富的文本内容,包括标题、摘要、正文、类别和实体。每条点击日志包含用户的点击事件、未点击事件以及该用户在该次点击之前的历史点击行为。 本示例使用 MIND 数据集的子集 MIND demo,包含 5,000 用户、9,432 篇新闻文章和 6,134 条点击日志。由于 MIND 数据集没有发布新闻正文,本示例使用新闻摘要代替正文。 NAML 模型训练 首先,需要下载 MIND demo 数据集和预训练的 GloVe 词嵌入文件。 然后,设置模型超参数,并创建 NAML 模型。 最后,使用训练集和验证集对模型进行训练。 模型评估 模型训练完成后,可以使用验证集对模型性能进行评估。 评估指标包括 Group AUC、Mean MRR、NDCG@5 和 NDCG@10。 模型保存 训练完成后,可以使用 save_weights 方法保存模型参数。 总结 NAML … Read more

LSTUR:兼顾长期和短期兴趣的新闻推荐算法

引言 在新闻推荐领域,准确捕捉用户的兴趣至关重要。用户的兴趣可以分为长期兴趣和短期兴趣两类。长期兴趣指的是用户长期以来稳定的偏好,而短期兴趣则指的是用户在短期内表现出的兴趣变化。LSTUR 算法结合了用户的长期兴趣和短期兴趣,能够更精准地为用户推荐新闻。 LSTUR 算法原理 LSTUR 算法的核心思想是分别学习用户的长期表示和短期表示,并将两者融合,得到最终的用户表示。具体来说,LSTUR 算法包含以下几个步骤: MIND 数据集 MIND 数据集是一个大规模英文新闻数据集,包含了 1,000,000 用户、161,013 篇新闻文章和 15,777,377 条点击日志。每篇新闻文章包含丰富的文本内容,包括标题、摘要、正文、类别和实体。每条点击日志包含用户的点击事件、未点击事件以及该用户在该次点击之前的历史点击行为。 本示例使用 MIND 数据集的子集 MIND demo,包含 5,000 用户、9,432 篇新闻文章和 6,134 条点击日志。 LSTUR 模型训练 首先,需要下载 MIND demo 数据集和预训练的 GloVe 词嵌入文件。 然后,设置模型超参数,并创建 LSTUR 模型。 最后,使用训练集和验证集对模型进行训练。 模型评估 模型训练完成后,可以使用验证集对模型性能进行评估。 评估指标包括 Group AUC、Mean MRR、NDCG@5 和 NDCG@10。 模型保存 训练完成后,可以使用 save_weights 方法保存模型参数。 总结 LSTUR 算法是一种兼顾用户长期兴趣和短期兴趣的新闻推荐算法,能够有效提升推荐效果。微软 Recommenders … Read more