走向基于大语言模型的新一代推荐系统:综述与展望
HightLight
- 论文题目:Towards Next-Generation LLM-based Recommender Systems: A Survey and Beyond
- 作者机构:吉林大学、香港理工大学、悉尼科技大学、Meta AI
- 论文地址: https://arxiv.org/abs/2410.1974
基于大语言模型的下一代推荐系统:深度剖析与展望
摘要:本文聚焦于大语言模型(LLMs)在推荐系统中的应用,详细综述了其研究现状、技术架构、面临挑战及潜在机遇。通过提出全新的分类体系,深入探讨了从表示与理解、规划利用到工业部署的各个层面,为该领域的研究与实践提供了全面且深入的指导,助力推动基于 LLM 的推荐系统迈向新高度。
一、引言
在当今数字化时代,推荐系统已深度融入人们的生活,在各行业发挥着关键作用,其通过精准提供个性化内容、产品和服务,有效提升用户体验并助力企业商业成功。近年来,大语言模型(LLMs)凭借卓越的语言理解、强大的泛化及推理能力,引发了推荐系统领域的范式变革。鉴于此,全面梳理基于 LLM 的推荐系统的最新进展与挑战至关重要。与以往研究不同,本文立足推荐系统社区视角,深入探究 LLM 如何优化推荐任务,并创新性地构建了涵盖表示与理解、规划利用和工业部署的三层分类法,深度剖析学术研究与工业应用间的差距,为该领域发展提供全新思路与方向。
二、推荐系统与大语言模型基础概述
(一)推荐系统发展历程回顾
推荐系统的演进历程丰富多样,早期基于简单启发式规则,如单纯推荐热门或高评分物品,这种方式在个性化推荐方面存在显著局限。随着数据收集技术的进步,协同过滤技术应运而生,其通过挖掘用户间或物品间的相似性来进行推荐,包括基于用户的协同过滤和基于物品的协同过滤,但却面临着新用户或新物品的冷启动问题,即因缺乏足够数据而难以给出准确推荐。进入 2000 年代,矩阵分解技术成为解决数据稀疏性等问题的重要手段,它将用户 - 物品交互矩阵分解为潜在因子,有效捕捉用户与物品间的隐藏关系,大幅提升了推荐系统的可扩展性与准确性。神经网络的出现是一个重要转折点,从早期的受限玻尔兹曼机、自动编码器等,到后来的深度学习模型,如深度协同过滤和神经协同过滤,借助多层网络、嵌入技术和注意力机制等,极大地增强了推荐系统处理复杂用户行为和非线性关系的能力。如今,LLMs 的融入为推荐系统带来了全新的活力与机遇。
(二)相关定义与符号阐释
在基于 LLM 的推荐系统中,为清晰界定其流程,对相关符号进行了明确规范。用 R R R 表示用户 - 物品交互数据, T t x t T_{txt} Ttxt 代表文本数据(如用户评论), x u ∈ R d x_{u} \in \mathbb{R}^{d} xu∈Rd 和 y i ∈ R d y_{i} \in \mathbb{R}^{d} yi∈Rd 分别为用户和物品的特征向量,其中 d d d 为特征维度。这些特征向量整合了用户的人口统计信息、行为数据及推断偏好,以及物品的属性信息等。对于用户 - 物品交互数据 r u i r_{ui} rui,在显式反馈场景下,如用户评分,通常取值于有限集(如 1 - 5 分),0 分表示未评分;在隐式反馈场景中,如点击或购买行为, r u i r_{ui} rui 取值为 0 或 1,分别表示无交互和有交互。
推荐系统旨在依据历史交互数据预测用户对物品的效用,通过学习预测函数 f ( u , i ∣ θ ) f(u, i | \theta) f(u,i∣θ) 最小化预测误差,进而生成推荐列表。而基于 LLM 的推荐系统则是利用 LLM 的深度语义理解能力强化推荐流程,其通过 LLM 处理输入特征并生成或优化预测函数 f ^ ( ⋅ ) \hat{f}(\cdot) f^(⋅),将输入特征空间 x x x 转换为推荐输出 y ^ \hat{y} y^,正式表示为 f ^ ( x ) = L L M ( X , Y , θ ) \hat{f}(x)=LLM(\mathcal{X}, \mathcal{Y}, \theta) f^(x)=LLM(X,Y,θ),其中 θ \theta θ 为 LLM 的模型参数。
三、表示与理解:推荐系统的深度洞察基石
(一)多模态表示方法
- 单模态推荐策略:在单模态推荐中,核心方法是运用图数据构建用户 - 物品交互模型,着重挖掘实体间的结构关系,以精准捕捉用户偏好模式。例如,在序列推荐场景下,通过分析用户行为序列中的先后顺序和时间间隔等信息,构建动态图结构,有效捕捉用户兴趣的演变过程。同时,为增强模型对用户偏好和物品属性的理解深度,适度融入文本信息是关键。如利用用户对物品的文本描述、评论等,提取关键语义特征,并将其融入图结构的节点或边属性中,从而丰富模型的语义信息,提升推荐的准确性与个性化程度。
- 多模态推荐创新:多模态推荐系统致力于整合多种类型数据,涵盖文本、图像、音频、视频及元数据等,以此构建更为全面且丰富的用户和物品表示。例如,在电商推荐中,结合商品图片、视频展示、用户评价文本及音频介绍等多源信息,能够全方位呈现商品的外观、功能、使用体验等方面特征。通过图增强技术,如在用户 - 物品图中增加多模态边或节点属性,以及高效的文本信息融合方法,有效解决数据稀疏反馈和低质量辅助信息问题,显著增强推荐系统的稳健性和灵活性,使其能够更好地适应复杂多变的推荐场景,满足用户多样化的需求。
(二)可解释性理解途径
- 推荐前解释机制:推荐前解释侧重于在推荐决策前为每个候选物品生成合理依据,其核心在于利用推理图和节点关系挖掘潜在推荐理由。具体而言,通过提取用户和物品的潜在表示 h u h_{u} hu 和 h i h_{i} hi,结合多源信息(如用户历史行为、物品属性及社交关系等)进行深度推理和整合,生成解释信息 E i \mathcal{E}_{i} Ei。在此过程中,借助 LLM 的强大语义理解和推理能力,从原始数据中提取关键语义关联,构建逻辑清晰的推理链条,如识别用户购买行为模式与物品属性之间的潜在联系,从而为推荐决策提供有力支撑。最终,将解释信息融入推荐分数计算函数 s ( u , i ) = f ( h u , h i , E i ) s(u, i)=f(h_{u}, h_{i}, \mathcal{E}_{i}) s(u,i)=f(hu,hi,Ei),确保推荐过程的透明性和可解释性,使用户能够清晰了解每个推荐物品的推荐原因。
- 推荐后解释策略:推荐后解释旨在为用户提供已生成推荐列表中每个物品的详细原因,确保解释既具有丰富信息又高度个性化,紧密贴合用户偏好和推荐场景。给定推荐物品集合 I u ∗ I_{u}^{*} Iu∗,系统针对每个物品 i j ∗ i_{j}^{*} ij∗,依据推荐分数 s ( u , i j ∗ ) s(u, i_{j}^{*}) s(u,ij∗)、用户潜在特征 h u h_{u} hu 和物品潜在特征 h i j ∗ h_{i_{j}^{*}} hij∗,通过特定的解释生成函数 E i j ∗ = E x p l a i n ( s ( u , i j ∗ ) , h u , h i j ∗ ) \mathcal{E}_{i_{j}^{*}}=Explain(s(u, i_{j}^{*}), h_{u}, h_{i_{j}^{*}}) Eij∗=Explain(s(u,ij∗),hu,hij∗) 生成相应解释。例如,在电影推荐场景中,解释可能涉及电影的类型、导演风格、演员表现等与用户历史观影偏好的匹配点,以及当前流行趋势和社交网络中相关的热门话题等因素,帮助用户深入理解推荐结果背后的逻辑,增强用户对推荐系统的信任和满意度。
四、规划与利用:推荐系统的创新驱动引擎
(一)非生成式推荐架构
-
LLM 重训练方法
- 朴素微调应用实例:在众多研究中,朴素微调被广泛应用于提升推荐性能。例如,在某些电商推荐场景中,研究人员通过进一步优化 LLM 的上下文感知嵌入和推荐模块,使其更好地适应商品推荐任务。具体做法是利用大量的用户购买行为数据和商品属性数据对 LLM 进行微调,让模型学习到不同商品之间的语义关联以及用户在不同购买情境下的偏好模式。在实际应用中,经过微调的模型在预测用户购买意向和推荐相关商品时,准确率得到显著提升,能够更精准地捕捉用户的个性化需求,为用户推荐符合其兴趣的商品。
- 指令调整实践探索:指令调整通过构建与推荐任务紧密相关的指令数据集,有效引导 LLM 适应特定推荐任务需求。在在线招聘推荐领域,研究人员基于招聘岗位要求、求职者技能和经验等信息构建指令数据,对 LLM 进行指令调整。例如,将招聘岗位的职责描述、技能关键词以及求职者的简历信息转化为自然语言指令,如“根据求职者的软件开发经验和项目经历,推荐适合的软件工程师岗位,并说明推荐理由”。通过这种方式,LLM 能够更好地理解招聘场景中的语义关系和任务要求,在推荐过程中准确匹配求职者与合适的岗位,提高招聘推荐的效率和质量。
- 低秩适应(LoRA)技术优势:LoRA 在基于 LLM 的推荐系统中展现出独特优势,尤其是在处理大规模推荐数据和复杂模型时,能够在保持模型核心参数稳定的前提下,高效调整模型以适应不同推荐任务。在内容推荐场景中,如新闻推荐或视频推荐,基于 LoRA 技术可以针对不同用户群体的兴趣偏好和行为特征,快速调整模型参数,实现个性化推荐。例如,对于关注科技新闻的用户群体,通过 LoRA 技术微调模型,使其更关注科技领域的关键词、新闻来源和作者等因素,从而为用户推荐更符合其兴趣的科技新闻内容,同时有效降低了计算资源消耗和模型训练时间。
-
LLM 重用策略
- 直接利用案例分析:在实际应用中,直接利用预训练 LLM 的方法在多个领域取得了良好效果。例如,在某些通用推荐场景中,研究人员利用领域知识提取器从特定领域数据中提取关键信息,并将其转化为 LLM 可理解的形式,然后直接使用预训练的 LLM 进行推荐。在旅游推荐领域,通过提取旅游景点的地理位置、景点类型、游客评价等信息,将其整合为自然语言描述,输入到预训练的 LLM 中,LLM 凭借其预先学习到的语言知识和语义理解能力,快速生成推荐结果,为用户推荐符合其需求的旅游景点,这种方法无需对 LLM 进行复杂的训练和调整,大大提高了推荐系统的部署效率。
- 提示调整优化路径:提示调整专注于优化输入提示信息,以充分激发 LLM 的推荐能力。在个性化多模态生成任务中,如为用户生成个性化的商品推荐文案或旅游行程规划,研究人员将多模态信息(如图像、文本描述)转化为可嵌入的提示令牌,并将其融入到 LLM 的输入提示中。同时,利用线性层等技术手段对齐 LLM 的嵌入空间与生成器的空间,确保模型能够准确理解和处理多模态信息。通过精心设计和优化提示信息,LLM 能够根据用户的个性化需求和输入的多模态信息,生成高质量、贴合用户需求的推荐内容,显著提升用户体验。
- 上下文学习(ICL)动态引导:上下文学习通过在输入中巧妙嵌入上下文示例和提示信息,实现对 LLM 推荐过程的动态引导。在会话式推荐系统中,如在线客服推荐产品或服务时,系统将用户的历史会话记录和当前需求转化为上下文示例,输入到 LLM 中。LLM 基于这些上下文信息,自动学习用户的偏好和需求演变过程,从而在推荐过程中提供更具针对性和个性化的建议。例如,当用户在咨询过程中表达对某种功能的特定需求时,LLM 能够根据之前的会话上下文,推荐具有相应功能的产品,并详细解释推荐理由,增强推荐的交互性和可解释性,有效提升用户与推荐系统的交互体验。
(二)生成式推荐架构
- LLM 重训练创新点
- 生成式框架构建原理:在生成式推荐的 LLM 重训练中,核心是构建能够生成新颖推荐内容的有效框架。以 GPT4Rec 为例,在个性化推荐任务中,它首先基于用户历史行为数据中的物品标题生成一系列假设的“搜索查询”。通过分析用户过去购买或浏览过的物品标题,提取关键语义信息,并利用自然语言生成技术构建相关的搜索查询,如“类似[用户喜欢的物品名称]但具有[特定属性]的产品”。然后,利用这些查询在大规模的物品数据库中进行搜索和筛选,获取潜在的推荐物品。在训练过程中,通过对大量用户数据的学习和优化,模型不断调整生成查询和筛选物品的策略,以提高推荐的准确性和多样性,更好地满足用户的个性化需求。
- 多模态信息融合尝试:部分研究在生成式推荐重训练中积极探索多模态信息融合。在视频推荐领域,研究人员尝试将视频的图像内容、音频信息、用户评论及相关文本描述等多模态数据整合到 LLM 的训练过程中。通过特定的编码技术将图像和音频信息转化为文本特征表示,然后与用户评论和视频描述等文本信息一起作为输入,训练 LLM 生成推荐结果。例如,在训练过程中,模型学习到视频中特定场景的图像特征与用户对该场景的情感评价之间的关联,以及音频氛围与视频类型的匹配关系等。通过这种多模态信息融合的训练方式,LLM 能够生成更全面、准确且具有丰富语义信息的推荐内容,提升用户对视频推荐的满意度。
- LLM 重用独特性
- 索引与生成协同机制:在 LLM 重用的生成式推荐中,索引方法选择对推荐性能至关重要。以物品 ID 索引为例,在图书推荐场景中,研究人员对比了多种索引方法的效果。随机索引可能导致推荐结果的随机性较大,难以准确匹配用户需求;标题索引虽然能利用图书标题信息,但可能忽略了图书的其他重要属性。而通过深入研究和实践,发现语义索引和混合索引方法能够更好地结合图书的内容、作者、主题等多方面信息,为 LLM 提供更准确的语义线索。例如,语义索引通过对图书的文本内容进行语义分析,提取关键主题和概念,并将其与用户的兴趣偏好进行匹配,从而生成更具针对性的推荐结果。同时,在生成推荐过程中,LLM 利用其语言生成能力,根据索引信息和用户历史行为,生成详细的推荐理由和图书简介,增强推荐的可读性和吸引力。
- 提示工程优化策略:提示工程在生成式推荐重用中扮演着关键角色。在不同的推荐任务中,如电影推荐、旅游目的地推荐等,研究人员根据任务特点和用户需求设计多样化的提示模板。在电影推荐中,提示模板可能包括电影类型、演员、导演、上映时间等关键信息,以及用户对以往电影的评价和偏好关键词。通过精心设计提示模板,引导 LLM 关注用户最关心的因素,并结合其内部知识生成高质量的推荐内容。例如,对于喜欢科幻电影且关注特效和剧情的用户,提示模板会突出这些因素,LLM 则根据模板和自身知识,推荐具有精彩特效和引人入胜剧情的科幻电影,并详细阐述推荐理由,如特效技术的独特之处、剧情的创新点等,提高推荐的精准度和用户接受度。
五、工业部署:推荐系统的现实应用桥梁
(一)大规模工业场景应对策略
在大规模工业应用中,基于 LLM 的推荐系统面临着数据量巨大和用户 - 物品动态变化频繁的双重挑战。传统推荐模型通常由多个小型、专业化模型组成,在成本控制和更新管理方面具有一定优势。然而,LLMs 因其在训练和推理过程中对资源的高需求,大规模部署难度较大。为解决这一问题,当前研究主要聚焦于将 LLM 与传统模型有机结合,充分发挥各自优势。例如,在电商推荐领域,LLM - KERec 方法通过构建互补图,整合了传统模型高效的协同信号处理能力与 LLM 的语义理解能力。在实际应用中,传统模型负责快速处理大规模的用户行为数据,提取初步的推荐候选集,而 LLM 则对候选集进行语义分析和深度推理,进一步优化推荐结果。通过这种协同方式,不仅有效降低了推荐结果的同质化现象,还显著提高了点击率和转化率,成功实现了 LLM 在工业场景中的大规模应用。
在视频推荐领域,研究人员也在积极探索如何有效整合 LLM 和传统推荐模型。例如,在快手的视频推荐系统中,通过采用一种混合推荐架构,在训练阶段利用 LLM 对视频内容的文本描述、用户评论等信息进行语义分析和知识提取,增强视频的语义表示。在在线推荐过程中,结合传统的基于用户行为的推荐模型,根据用户的历史观看行为、点赞评论等数据,快速筛选出一部分可能感兴趣的视频。然后,利用 LLM 对这部分视频进行进一步的语义匹配和个性化排序,为用户提供更符合其兴趣和当前需求的视频推荐列表。这种结合方式在实际应用中取得了良好的效果,有效提升了用户的观看时长和满意度。
(二)性能加速关键技术
在基于 LLM 的推荐系统中,加速技术是提升系统性能和响应速度的关键。由于 LLM 计算资源消耗巨大,优化部署效率成为亟待解决的问题。DARE 技术作为一种创新的加速方法,通过引入推测解码技术,在推荐系统中取得了显著突破。在实际应用场景中,如在线广告推荐,DARE 技术首先构建了一个定制化检索池,通过对历史推荐数据和用户行为的分析,筛选出与当前用户和广告场景高度相关的信息,存储在检索池中。在推荐过程中,利用推测解码技术快速从检索池中获取潜在的推荐结果,并通过 Relaxed Verification 机制对生成的推荐结果进行快速验证和筛选。通过这种方式,DARE 技术在大规模商业环境中的在线广告推荐场景中实现了 3.45 倍的加速,同时保持了与传统推荐方法相当的下游性能,有效提高了推荐系统的实时性和响应效率,为用户提供更快速的推荐服务。
除了 DARE 技术外,还有其他一些加速技术也在研究和应用中。例如,模型量化技术通过将模型的参数表示为低精度的数据格式,如将 32 位浮点数转换为 8 位整数,减少了模型存储和计算所需的资源,同时在一定程度上保持了模型的性能。在一些基于 LLM 的推荐系统中,采用量化技术后,模型的推理速度得到了显著提升,使得在资源受限的设备上也能够实现较为高效的推荐。
另外,硬件适配也是提升性能的重要途径。例如,利用专门为深度学习设计的 GPU 或 TPU 等硬件加速器,能够大大加快 LLM 的计算速度。在工业部署中,通过合理配置硬件资源,将 LLM 的计算任务分配到多个 GPU 或 TPU 上进行并行处理,可以进一步缩短推荐的响应时间。一些云服务提供商也提供了针对 LLM 推荐系统的硬件加速解决方案,企业可以根据自身需求灵活选择,以实现最佳的性能与成本平衡。
(三)冷启动问题解决方案
冷启动问题一直是推荐系统领域的难点,而 LLM 的引入为解决这一问题带来了新的思路。在电商推荐中,S&R Multi-Domain Foundation 框架通过利用 LLM 提取领域不变特征,取得了良好的效果。该框架首先收集多个搜索和推荐场景的数据,包括商品描述、用户评价、搜索查询等文本信息,然后利用 LLM 的强大语言理解能力从这些文本中提取出不受特定领域限制的通用特征,如商品的功能特点、质量属性、用户的基本需求偏好等。在冷启动场景下,将这些提取的特征与传统的 ID 特征以及任务特定的异构稀疏特征相结合,通过 Aspect Gating Fusion 技术进行融合,得到更全面准确的用户和物品表示。例如,对于一款新上架的电子产品,LLM 可以从其产品说明书和用户评测文章中提取出关键的功能参数、性能优势等信息,这些信息与产品的 ID 信息和其他相关特征一起,用于构建推荐模型。通过这种方式,在与其他先进的转移学习方法对比中,该框架在冷启动场景下的推荐性能表现更优,能够更准确地为新用户或新物品提供推荐。
在知识推荐领域,LLM - Driven Knowledge Adaptive Recommendation(LEARN)框架也发挥了重要作用。该框架专注于将 LLM 中封装的开放世界知识融入推荐系统,以应对冷启动产品的推荐挑战。例如,在学术文献推荐中,对于新发表的研究论文,传统推荐方法可能因缺乏足够的用户交互数据而难以给出准确推荐。LEARN 框架利用 LLM 对论文的标题、摘要、关键词以及相关领域的知识图谱进行分析,提取出论文的核心研究主题、方法创新点以及与其他研究的潜在关联等知识信息。然后,将这些知识信息与用户的历史阅读偏好和研究领域信息相结合,构建推荐模型。在实际应用中,这种方法显著提高了冷启动产品的推荐效果,如提高了新论文的曝光率和被引用的可能性,同时也提升了推荐系统的 AUC 性能指标,为用户提供了更有价值的推荐服务。
(四)动态更新实现路径
在工业环境中,基于 LLM 的推荐系统需要具备动态更新能力,以适应不断变化的用户行为、内容更新和市场趋势。DynLLM 模型基于连续时间动态图框架,为实现这一目标提供了一种创新的解决方案。该模型首先将用户 - 物品交互数据建模为连续时间动态图,其中节点表示用户和物品,边表示交互行为,并带有时间戳信息。在推荐过程中,DynLLM 模型利用 LLM 对动态图中的新信息进行实时分析和学习,如捕捉用户兴趣的突然转变、新物品的流行趋势以及市场环境的变化等。例如,在社交媒体平台的内容推荐中,当某个话题突然成为热点,用户的兴趣迅速向该话题相关的内容转移时,DynLLM 模型能够及时检测到这一变化,并通过更新用户的兴趣模型和推荐策略,快速为用户推荐相关的热门内容。通过这种方式,DynLLM 模型有效地实现了推荐系统的动态更新,确保推荐结果始终与用户的当前需求和市场动态保持一致,提升了用户体验和系统的适应性。
COSMO 系统则从知识图谱构建和数据处理的角度解决动态更新问题。它通过从大规模的用户行为数据中提取用户 - 中心的常识知识,构建行业规模的知识图谱。在实际运行中,COSMO 系统不断收集和分析新的用户行为数据,如用户的搜索记录、购买行为、浏览历史等,从中提取出与用户兴趣、物品属性和行业趋势相关的新知识,并将这些知识更新到知识图谱中。在电商推荐应用中,当有新的商品品类出现或用户的购买偏好发生季节性变化时,COSMO 系统能够及时将这些信息融入知识图谱,并调整推荐模型的参数和策略。例如,在换季时期,用户对服装的需求从夏季服装转向秋季服装,COSMO 系统通过分析大量用户的购买行为数据和搜索关键词,识别出这一趋势,并在推荐系统中增加秋季服装的推荐权重,同时减少夏季服装的推荐,为用户提供符合当前季节需求的商品推荐,从而提高推荐的准确性和时效性。
(五)业务定制需求满足方式
不同行业对推荐系统有着独特的业务定制需求,基于 LLM 的推荐系统在满足这些需求方面具有显著优势。在文章推荐领域,SINGLE 方法通过对用户观看流的建模,实现了个性化推荐。该方法分为两个关键部分:一是 Constant View Stream Modeling,利用 LLM 对用户之前点击的文章进行深度分析,提取出用户的长期稳定偏好,如用户对特定主题、写作风格或作者的喜好;二是 Instantaneous View Stream Modeling,通过分析用户当前的文章点击历史与候选文章之间的交互关系,捕捉用户的即时兴趣变化。例如,在新闻资讯平台上,对于一个长期关注科技领域且近期对人工智能芯片技术表现出浓厚兴趣的用户,SINGLE 方法首先通过分析其历史阅读记录,确定其在科技领域的核心兴趣点,然后结合其近期在人工智能芯片相关文章上的点击和停留时间等行为,为其推荐最新的人工智能芯片研发进展、行业动态以及相关专家的深度分析文章,满足用户对该领域信息的深度和广度需求,提升用户在平台上的阅读体验和信息获取效率。
在广告推荐领域,工业广告推荐系统面临着处理多种特征类型和解决复杂特征表示问题的挑战。例如,在腾讯的广告推荐系统中,研究人员针对用户和物品的特征表示问题,提出了一系列创新方法。对于顺序特征,如用户在一段时间内的浏览顺序和购买序列,采用了基于时间序列分析的方法,将其转化为具有时间权重的特征向量,以反映用户兴趣的演变过程;对于数值特征,如用户的年龄、收入、物品的价格等,通过归一化和特征工程技术,使其在推荐模型中能够更好地发挥作用;对于预训练嵌入特征,利用大规模的文本语料库和深度学习模型预训练得到的词向量或物品向量,增强对用户和物品语义信息的理解;对于稀疏 ID 特征,采用了嵌入层和哈希技术相结合的方法,将稀疏的 ID 转换为低维稠密向量,减少计算量和存储需求。同时,为了有效解决嵌入维数崩溃和跨任务或场景的兴趣纠缠问题,研究人员引入了多种训练技术,如多任务学习、对抗训练和自适应学习率调整等。通过这些方法,广告推荐系统能够更好地理解用户需求和广告特征之间的关系,提高广告推荐的精准度和效果,为广告商和用户创造更大的价值。
六、挑战与机遇:推荐系统的前行方向探寻
(一)校准难题与应对思路
在基于 LLM 的生成式推荐系统中,用户偏好强度的校准是一个关键问题。由于不同用户的偏好程度差异较大,直接生成的推荐可能无法准确反映用户的真实需求强度。例如,在广告投放场景中,对于偏好强度较高的用户,可能需要推荐更具针对性和吸引力的广告,而对于偏好强度较低的用户,则需要适当调整推荐策略,以避免过度推送或推荐不相关的内容。为解决这一问题,一种可行的方法是引入校准机制,对生成的推荐进行基于用户偏好强度的调整。具体而言,可以通过建立用户偏好强度模型,利用用户的历史行为数据、反馈信息以及与其他用户的对比分析等,评估用户对不同类型物品或内容的偏好程度。然后,在推荐生成过程中,根据用户的偏好强度得分,对推荐结果进行加权或筛选。例如,对于偏好强度较高的用户,可以增加其感兴趣物品的推荐权重,提高推荐的优先级;对于偏好强度较低的用户,可以降低推荐的频率或推荐一些更具普遍性和吸引力的物品,以平衡推荐的效果和用户的接受度。
另一种思路是采用归一化技术,将用户的偏好分数映射到一个统一的区间内,以便更好地比较和处理不同用户的偏好。例如,可以将用户的偏好分数归一化到 0 - 1 之间,通过设定不同的阈值或区间,将推荐物品分为不同的优先级等级。同时,结合用户的上下文信息,如当前的使用场景、时间因素等,进一步调整推荐结果,使其更符合用户的实际需求。例如,在用户处于紧急购买场景时,优先推荐能够快速满足其需求的物品,而在用户处于浏览探索阶段时,可以提供更多样化和新颖的推荐内容,提高用户的参与度和满意度。
(二)时间动态建模策略
时间动态性是影响推荐系统性能的重要因素,为了使推荐系统能够适应不断变化的用户偏好和行为,先进的时间建模技术至关重要。一种有效的策略是采用时间感知嵌入方法,将时间信息融入用户和物品的特征表示中。例如,在电影推荐系统中,对于不同时间段上映的电影,可以根据其上映时间、流行周期以及用户观看时间等因素,为电影生成具有时间维度的嵌入向量。同时,对于用户的观看历史和评价数据,也按照时间顺序进行加权处理,使得近期的行为对推荐结果产生更大的影响。通过这种方式,推荐系统能够更好地捕捉用户兴趣的演变过程,及时推荐符合用户当前口味的电影。
另一种方法是利用时间注意力机制,动态地聚焦于用户行为序列中的关键时间点和重要行为。例如,在电商推荐中,当用户在某个特定时间段内集中购买了某类商品,如在冬季购买保暖衣物,时间注意力机制能够自动识别这一时间段的行为,并在推荐过程中给予更高的权重。同时,结合季节性因素和市场趋势,如在不同季节推荐相应的热门商品,以及在促销活动期间根据用户的历史购买行为推荐相关优惠商品,进一步提升推荐的时效性和针对性。此外,实时数据处理技术也是实现时间动态推荐的关键,通过不断收集和分析用户的实时行为数据,如用户的即时搜索、点击和购买行为,及时更新推荐模型,确保推荐结果能够快速响应用户的需求变化,为用户提供最新最相关的推荐内容。
(三)可扩展性提升途径
在基于 LLM 的推荐系统中,可扩展性是确保系统能够高效处理大规模数据和用户增长的关键。在数据层面,利用 NoSQL 数据库和分布式文件系统是一种有效的解决方案。例如,采用 Hadoop 分布式文件系统(HDFS)能够将大规模的用户 - 物品交互数据、文本数据及其他多模态数据分散存储在多个节点上,实现数据的并行处理和高效读写。同时,结合 NoSQL 数据库如 MongoDB 或 Cassandra,能够灵活地存储和管理复杂的数据结构,如用户的行为日志、物品的详细属性以及多模态数据的关联信息等。在数据处理过程中,通过数据分区、索引优化和数据缓存等技术,进一步提高数据访问和处理的效率,减少数据处理的延迟。
在架构层面,采用模块化设计和容器化技术是提升可扩展性的重要手段。例如,将推荐系统划分为数据采集、特征工程、模型训练、推荐生成和评估等多个独立的模块,每个模块可以独立开发、测试和部署。通过容器化技术如 Docker,将各个模块封装成独立的容器,实现模块的快速部署和灵活扩展。在用户量和数据量增长时,可以方便地增加或替换某个模块的容器实例,而不影响整个系统的运行。同时,结合微服务架构,将不同的功能模块以服务的形式对外提供接口,实现服务的发现、注册和调用,提高系统的灵活性和可维护性。在计算资源扩展方面,采用水平扩展和垂直扩展相结合的方式,通过增加服务器节点或提升服务器性能,满足系统对计算资源的需求,确保推荐系统在大规模工业场景下的稳定运行和高效性能。
(四)效率优化关键方向
计算效率、运营效率和能源效率是基于 LLM 的推荐系统效率优化的三个关键方向。在计算效率方面,模型架构优化是核心。例如,采用轻量级的神经网络架构或对现有架构进行压缩和剪枝,减少模型的参数数量和计算复杂度。在一些基于 LLM 的推荐系统中,通过对 Transformer 架构进行改进,如采用稀疏注意力机制或层间共享参数等方法,在不显著降低推荐性能的前提下,大幅减少了模型的计算量。同时,利用硬件加速器如 GPU 和 TPU 进行并行计算,将模型的计算任务分配到多个计算核心上,充分发挥硬件的计算能力,提高模型的推理速度。
在运营效率方面,资源管理和成本控制是重点。通过采用云计算平台提供的弹性计算资源和存储服务,根据推荐系统的实际负载动态调整资源分配,避免资源闲置和浪费。例如,在用户流量高峰期增加计算资源和带宽,确保推荐系统的响应速度;在低峰期减少资源使用,降低运营成本。同时,采用自动化的运维工具和流程,实现系统的自动部署、监控和故障恢复,减少人工干预,提高系统的可靠性和稳定性。
在能源效率方面,模型压缩和量化技术是主要手段。如前所述,通过将模型参数表示为低精度的数据格式,如 8 位整数或 4 位整数,减少模型存储和计算所需的能源消耗。此外,采用节能型的硬件设备和优化的算法设计,如在数据中心采用高效的电源管理策略和散热技术,以及在推荐算法中避免不必要的计算和数据传输,进一步降低系统的能源消耗,实现推荐系统的可持续发展。
(五)多模态推荐困境与突破
基于 LLM 的多模态推荐系统虽然具有巨大的潜力,但在数据融合和计算复杂性方面面临着诸多挑战。在数据融合方面,不同模态的数据具有不同的特征表示和语义信息,如何将它们有效地整合到一个统一的框架中是关键问题。例如,在图像和文本融合的推荐场景中,图像数据通常以像素矩阵或特征向量的形式表示,而文本数据则是自然语言序列。一种可行的方法是利用多模态预训练模型,如 CLIP(Contrastive Language - Image Pretraining)或 MPLUG - Owl 等,将图像和文本映射到一个共享的语义空间中。通过在大规模的多模态数据上进行预训练,这些模型学习到了图像和文本之间的语义关联,在推荐过程中,可以利用预训练模型提取图像和文本的特征,并根据用户的多模态查询或历史行为,计算物品与用户需求的匹配度。
在计算复杂性方面,处理多模态数据需要大量的计算资源和时间。为了降低计算复杂性,可以采用特征提取和降维技术,在不损失关键信息的前提下,减少数据的维度和计算量。例如,对于图像数据,可以利用卷积神经网络(CNN)提取图像的关键特征,并通过主成分分析(PCA)或其他降维方法将特征向量压缩到较低维度。同时,采用分布式计算和并行处理技术,将多模态数据的处理任务分配到多个计算节点或 GPU 上进行并行计算,提高计算效率。此外,结合自适应采样和数据缓存技术,根据用户的需求和行为动态选择和处理多模态数据,避免不必要的计算和数据传输,进一步优化推荐系统的性能,实现多模态推荐的高效应用。
(六)用户隐私与数据安全保障措施
在基于 LLM 的推荐系统中,保护用户隐私和确保数据安全是至关重要的。为了满足数据保护法规的要求,首先需要采用透明的数据处理实践,向用户明确告知数据的收集、存储、使用和共享方式,并获得用户的明确同意。例如,在用户注册和使用推荐系统时,通过隐私政策声明和用户协议,详细说明推荐系统将收集哪些用户数据,如用户的个人信息、浏览历史、购买行为等,以及这些数据将如何用于推荐生成和个性化服务,同时告知用户其拥有对个人数据的控制权,如可以随时查看、修改或删除自己的数据。
在数据存储和传输过程中,采用加密技术是保护用户隐私的关键手段。例如,对用户的敏感信息如身份证号码、银行卡信息等进行加密存储,确保即使数据泄露,攻击者也无法获取明文信息。在数据传输过程中,采用 SSL(Secure Sockets Layer)或 TLS(Transport Layer Security)等加密协议,对数据进行加密传输,防止数据在网络传输过程中被窃取或篡改。同时,实施严格的访问控制机制,如基于角色的访问控制(RBAC)和多因素认证(MFA),限制只有授权人员能够访问用户数据和推荐系统的关键功能。例如,在企业内部,根据员工的工作职责和权限,分配不同的角色和访问级别,只有具有特定角色的员工才能访问相应的用户数据和推荐系统模块,并且在访问时需要通过多因素认证,如密码、短信验证码或指纹识别等,进一步增强访问控制的安全性。此外,定期进行安全审计和漏洞扫描,及时发现和修复潜在的安全隐患,确保推荐系统的安全性和可靠性,保护用户的隐私和数据安全。
(七)交互性与反馈环构建要点
增强用户与推荐系统的交互性和构建有效的反馈环是提升用户体验和推荐质量的重要途径。在交互性方面,提供可定制的设置和直观的用户界面是关键。例如,在音乐推荐应用中,允许用户根据自己的音乐口味和心情,自定义推荐的音乐类型、歌手、年代等偏好设置,同时提供简洁明了的用户界面,方便用户操作和调整设置。用户可以轻松用户可以轻松地通过滑动条、下拉菜单或搜索框等交互组件,快速调整推荐参数,如将推荐音乐的风格权重偏向摇滚或古典,或者指定只推荐特定歌手的新作品。此外,实现实时个性化推荐也是提升交互性的重要手段。通过实时跟踪用户的行为,如用户在浏览音乐列表时的点击、播放、暂停、跳过等操作,系统能够立即更新用户模型,并在短时间内为用户提供更符合其当前兴趣的音乐推荐,让用户感受到推荐系统的及时性和响应性。
在反馈环构建方面,关键是要能够有效收集用户的反馈信息,并将其用于改进推荐算法。例如,在电商推荐系统中,设置用户评价和反馈的入口,鼓励用户对推荐的商品进行评价,如是否符合期望、质量如何、是否有其他需求等。同时,利用自然语言处理技术对用户的反馈文本进行分析,提取关键信息和情感倾向。如果用户多次反馈推荐的商品价格过高或不符合其风格,系统则会相应地调整推荐策略,降低高价商品的推荐权重或增加符合用户风格偏好的商品筛选条件。此外,通过提供奖励机制,如积分、优惠券或等级提升等,激励用户积极参与反馈,提高反馈的数量和质量,进一步优化推荐系统,使其更好地满足用户需求,形成一个良性的循环。
(八)伦理与公平性坚守原则
在基于 LLM 的推荐系统中,确保伦理和公平性是其可持续发展的基石。在透明度方面,可解释 AI(XAI)技术是关键支撑。例如,在新闻推荐系统中,当为用户推荐一篇新闻文章时,系统不仅要提供文章的链接和摘要,还要通过可解释 AI 技术生成推荐理由,如“根据您之前对政治类新闻的关注以及对该新闻来源的偏好,我们为您推荐这篇关于国际政治局势的文章,其中涉及到您关注的[具体国家或地区]的政策动态”。这样的解释能够让用户清楚地了解推荐的依据,增强对推荐系统的信任。
在遵守法规方面,如 GDPR(General Data Protection Regulation)等数据保护法规的严格执行至关重要。这要求推荐系统在数据收集、存储和使用过程中,充分尊重用户的隐私权利,确保数据的合法性、正当性和必要性。例如,在收集用户数据时,必须明确告知用户数据的用途,并获得用户的明确同意,同时限制数据的收集范围,避免过度收集无关信息。
在公平性方面,需要对推荐算法进行严格的偏见审计。例如,在招聘推荐系统中,如果发现推荐结果存在对某些性别、种族或年龄群体的偏见,如总是推荐男性求职者担任技术岗位,而对女性求职者的推荐较少,就需要深入分析算法中可能存在的偏差因素,如训练数据的不平衡、特征选择的不合理等。通过采用多样化的数据集进行训练,确保数据涵盖不同性别、种族、年龄等群体的信息,并对算法进行调整和优化,避免因算法偏见导致的不公平推荐,为所有用户提供平等的机会和公正的推荐服务。
在内容管理方面,建立严格的内容过滤和审核机制是必要的。例如,在社交媒体推荐系统中,对于包含虚假信息、暴力、色情或仇恨言论等有害内容的信息源,要进行及时有效的过滤和屏蔽,防止这些不良内容在推荐系统中传播,维护网络环境的健康和安全。同时,持续监测推荐系统的运行情况,及时发现和解决新出现的伦理问题,如算法对用户心理健康的潜在影响等。通过定期邀请用户、伦理专家和行业监管机构进行评估和反馈,不断更新和完善推荐系统的伦理标准和运行机制,确保其始终保持公平、透明和负责任的运行状态,促进社会的和谐发展。
七、结论与展望
本文对基于 LLM 的推荐系统进行了全面而深入的综述,通过提出新颖的三层分类法,系统地梳理了从表示与理解、规划利用到工业部署的各个环节,深入探讨了该领域面临的挑战与机遇。与以往研究不同,本文从推荐系统社区的独特视角出发,为该领域的研究与实践提供了全新的思路和方法。
尽管当前多数研究在基于 LLM 的推荐系统中已关注到生成式推荐的潜力,但在实际应用中仍大量依赖传统推荐流程,尚未充分发挥 LLM 的文本理解和生成优势。未来研究应聚焦于深度挖掘 LLM 的强大能力,突破现有技术瓶颈,进一步探索真正意义上的生成式推荐方法,提升推荐系统的智能化水平。
在技术性能方面,持续优化模型架构和算法效率,加强多模态数据融合与处理能力,提高推荐系统在大规模数据和复杂场景下的运行效率和准确性。在伦理标准方面,强化伦理审查和监管机制,确保推荐系统的公平、透明和负责任运行,切实保护用户权益和社会公共利益。同时,积极探索新的技术方法和应用场景,促进基于 LLM 的推荐系统在各行业的广泛应用和深度融合,为用户提供更加个性化、精准和可靠的推荐服务,推动推荐系统领域迈向新的发展阶段,在数字经济时代发挥更为重要的作用。
随着技术的不断进步和研究的深入开展,相信基于 LLM 的推荐系统将在未来取得更为显著的突破和成就,为人们的生活和社会经济发展带来更多的便利和价值。但在这一过程中,我们也需时刻保持警惕,积极应对新出现的问题和挑战,确保技术的健康、可持续发展。
相关文章:
走向基于大语言模型的新一代推荐系统:综述与展望
HightLight 论文题目:Towards Next-Generation LLM-based Recommender Systems: A Survey and Beyond作者机构:吉林大学、香港理工大学、悉尼科技大学、Meta AI论文地址: https://arxiv.org/abs/2410.1974 基于大语言模型的下一代推荐系统&…...
【深度分析】DeepSeek 遭暴力破解,攻击 IP 均来自美国,造成影响有多大?有哪些好的防御措施?
技术铁幕下的暗战:当算力博弈演变为代码战争 一场针对中国AI独角兽的全球首例国家级密码爆破,揭开了数字时代技术博弈的残酷真相。DeepSeek服务器日志中持续跳动的美国IP地址,不仅是网络攻击的地理坐标,更是技术霸权对新兴挑战者的…...
双指针算法思想——OJ例题扩展算法解析思路
大家好!上一期我发布了关于双指针的OJ平台上的典型例题思路解析,基于上一期的内容,我们这一期从其中内容扩展出来相似例题进行剖析和运用,一起来试一下吧! 目录 一、 基于移动零的举一反三 题一:27. 移除…...
初始Linux(7):认识进程(下)
1. 进程优先级 cpu 资源分配的先后顺序,就是指进程的优先权( priority )。 优先权高的进程有优先执行权利。配置进程优先权对多任务环境的 linux 很有用,可以改善系统性能。 还可以把进程运行到指定的CPU 上,这样一来…...
人工智能第2章-知识点与学习笔记
结合教材2.1节,阐述什么是知识、知识的特性,以及知识的表示。人工智能最早应用的两种逻辑是什么?阐述你对这两种逻辑表示的内涵理解。什么谓词,什么是谓词逻辑,什么是谓词公式。谈谈你对谓词逻辑中的量词的理解。阐述谓词公式的解…...
Kotlin 协程 与 Java 虚拟线程对比测试(娱乐性质,请勿严谨看待本次测试)
起因 昨天在群里聊到虚拟线程的执行效率问题的时候虽然最后的结论是虚拟线程在针对IO密集型任务时具有很大的优势。但是讨论到虚拟线程和Kotlin 的协程的优势对比的话,这时候所有人都沉默了。所以有了本次的测试 提前声明:本次测试是不严谨的࿰…...
C++中的拷贝构造器(Copy Constructor)
在C中,拷贝构造器(Copy Constructor)是一种特殊的构造函数,用于创建一个新对象,该对象是另一个同类型对象的副本。当使用一个已存在的对象来初始化一个新对象时,拷贝构造器会被调用。 拷贝构造器的定义 拷…...
Spring Boot项目如何使用MyBatis实现分页查询
写在前面:大家好!我是晴空๓。如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正,感谢大家的不吝赐教。我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/。非常感谢大家的支持。一起加油,冲鸭&#x…...
独立开发经验谈:如何借助 AI 辅助产品 UI 设计
我在业余时间开发了一款自己的独立产品:升讯威在线客服与营销系统。陆陆续续开发了几年,从一开始的偶有用户尝试,到如今线上环境和私有化部署均有了越来越多的稳定用户,在这个过程中,我也积累了不少如何开发运营一款独…...
笔灵ai写作技术浅析(三):深度学习
笔灵AI写作的深度学习技术主要基于Transformer架构,尤其是GPT(Generative Pre-trained Transformer)系列模型。 1. Transformer架构 Transformer架构由Vaswani等人在2017年提出,是GPT系列模型的基础。它摒弃了传统的循环神经网络(RNN)和卷积神经网络(CNN),完全依赖自…...
https数字签名手动验签
以bing.com 为例 1. CA 层级的基本概念 CA 层级是一种树状结构,由多个层级的 CA 组成。每个 CA 负责为其下一层级的实体(如子 CA 或终端实体)颁发证书。层级结构的顶端是 根 CA(Root CA),它是整个 PKI 体…...
为什么LabVIEW适合软硬件结合的项目?
LabVIEW是一种基于图形化编程的开发平台,广泛应用于软硬件结合的项目中。其强大的硬件接口支持、实时数据采集能力、并行处理能力和直观的用户界面,使得它成为工业控制、仪器仪表、自动化测试等领域中软硬件系统集成的理想选择。LabVIEW的设计哲学强调模…...
C# 操作符重载对象详解
.NET学习资料 .NET学习资料 .NET学习资料 一、操作符重载的概念 在 C# 中,操作符重载允许我们为自定义的类或结构体定义操作符的行为。通常,我们熟悉的操作符,如加法()、减法(-)、乘法&#…...
git:恢复纯版本库
初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…...
java异常处理——try catch finally
单个异常处理 1.当try里的代码发生了catch里指定类型的异常之后,才会执行catch里的代码,程序正常执行到结尾 2.如果try里的代码发生了非catch指定类型的异常,则会强制停止程序,报错 3.finally修饰的代码一定会执行,除…...
【架构面试】二、消息队列和MySQL和Redis
MQ MQ消息中间件 问题引出与MQ作用 常见面试问题:面试官常针对项目中使用MQ技术的候选人提问,如如何确保消息不丢失,该问题可考察候选人技术能力。MQ应用场景及作用:以京东系统下单扣减京豆为例,MQ用于交易服和京豆服…...
A4988一款常用的步进电机驱动芯片
A4988 是一款常用的步进电机驱动芯片,广泛应用于 3D 打印机、CNC 机床和小型自动化设备中。它可以驱动多种类型的步进电机,但需要根据电机的参数(如电压、电流、相数等)进行合理配置。 一、A4988 的主要特性 驱动能力:…...
TypeScript语言的语法糖
TypeScript语言的语法糖 TypeScript作为一种由微软开发的开源编程语言,它在JavaScript的基础上添加了一些强类型的特性,使得开发者能够更好地进行大型应用程序的构建和维护。在TypeScript中,不仅包含了静态类型、接口、枚举等强大的特性&…...
A星算法两元障碍物矩阵转化为rrt算法四元障碍物矩阵
对于a星算法obstacle所表示的障碍物障碍物信息,每行表示一个障碍物的坐标,例如2 , 3; % 第一个障碍物在第二行第三列,也就是边长为1的正方形障碍物右上角横坐标是2,纵坐标为3,障碍物的宽度和高度始终为1.在rrt路径规划…...
什么情况下,C#需要手动进行资源分配和释放?什么又是非托管资源?
扩展:如何使用C#的using语句释放资源?什么是IDisposable接口?与垃圾回收有什么关系?-CSDN博客 托管资源的回收有GC自动触发,而非托管资源需要手动释放。 在 C# 中,非托管资源是指那些不由 CLR(…...
【最长上升子序列Ⅱ——树状数组,二分+DP,纯DP】
题目 代码(只给出树状数组的) #include <bits/stdc.h> using namespace std; const int N 1e510; int n, m; int a[N], b[N], f[N], tr[N]; //f[i]表示以a[i]为尾的LIS的最大长度 void init() {sort(b1, bn1);m unique(b1, bn1) - b - 1;for(in…...
day37|完全背包基础+leetcode 518.零钱兑换II ,377.组合总和II
完全背包理论基础 完全背包与01背包的不同在于01背包的不同物品每个都只可以使用一次,但是完全背包的不同物品可以使用无数次 在01背包理论基础中,为了使得物品只被使用一次,我们采取倒序遍历来控制 回顾:>> for(int j …...
【VM】VirtualBox安装ubuntu22.04虚拟机
阅读本文之前,请先根据 安装virtualbox 教程安装virtulbox虚拟机软件。 1.下载Ubuntu系统镜像 打开阿里云的镜像站点:https://developer.aliyun.com/mirror/ 找到如图所示位置,选择Ubuntu 22.04.3(destop-amd64)系统 Ubuntu 22.04.3(desto…...
Qt事件处理:理解处理器、过滤器与事件系统
1. 事件 事件 是一个描述应用程序中、发生的某些事情的对象。 在 Qt 中,所有事件都继承自 QEvent ,并且每个事件都有特定的标识符,如:Qt::MouseButtonPress 代表鼠标按下事件。 每个事件对象包含该事件的所有相关信息ÿ…...
DeepSeek 云端部署,释放无限 AI 潜力!
1.简介 目前,OpenAI、Anthropic、Google 等公司的大型语言模型(LLM)已广泛应用于商业和私人领域。自 ChatGPT 推出以来,与 AI 的对话变得司空见惯,对我而言没有 LLM 几乎无法工作。 国产模型「DeepSeek-R1」的性能与…...
【论文复现】基于Otsu方法的多阈值图像分割改进鲸鱼优化算法
目录 1.摘要2.鲸鱼优化算法WOA原理3.改进策略4.结果展示5.参考文献6.代码获取 1.摘要 本文提出了一种基于Otsu方法的多阈值图像分割改进鲸鱼优化算法(RAV-WOA)。RAV-WOA算法能够在分割灰度图像和彩色图像时,自动选择最优阈值,并确…...
Hive之数据定义DDL
Hive之数据定义DDL 文章目录 Hive之数据定义DDL写在前面创建数据库查询数据库显示数据库查看数据库详情切换当前数据库 修改数据库删除数据库创建表管理表(内部表)外部表管理表与外部表的互相转换 修改表重命名表增加、修改和删除表分区增加/修改/替换列信息 删除表 写在前面 …...
Golang 应用的 Docker 部署方式介绍及使用详解
本文将介绍如何使用 Docker 部署一个基于 Go 语言的后台服务应用 godco,并介绍如何配置 MongoDB 数据库容器的连接,确保应用能够成功启动并连接到容器方式部署的mongoDB数据库。 前提条件 1.已安装 Docker/Podman 2.已安装 MongoDB 数据库容器ÿ…...
SuccessFactors OData OAuth with SAP IAS-generated SAML assertion
导读 IAS:一句话说明白。SAP相关的系统可以通过IAS登录,只要IAS登录,其他系统免密登录。 作者:vivi,来源:osinnovation 上图有三个角色:brower,就是自己的浏览器,sp就是我们的目标…...
vue入门到实战 三
目录 3.1 v-bind 3.1.1 v-bind指令用法 编辑3.1.2 使用v-bind绑定class 3.1.3 使用v-bind绑定style 3.2.1 v-if指令 3.2.1 v-if指令 3.2.2 v-show指令 3.3 列表渲染指令v-for 3.3.1 基本用法 3.3.2 数组更新 3.3.3 过滤与排序 3.4 事件处理 3.4.1 使用v-on指令…...
音视频入门基础:RTP专题(7)——RTP协议简介
一、引言 本文对RTP协议进行简介。在简介之前,请各位先下载RTP的官方文档《RFC 3550》。该文档总共有89页,本文下面所说的“页数”是指在pdf阅读器中显示的页数: 二、RTP协议简介 根据《RFC 3550》第5页,实时传输协议(…...
06-机器学习-数据预处理
数据清洗 数据清洗是数据预处理的核心步骤,旨在修正或移除数据集中的错误、不完整、重复或不一致的部分,为后续分析和建模提供可靠基础。以下是数据清洗的详细流程、方法和实战示例: 一、数据清洗的核心任务 问题类型表现示例影响缺失值数值…...
《逆向工程核心原理》第三~五章知识整理
查看上一章节内容《逆向工程核心原理》第一~二章知识整理 对应《逆向工程核心原理》第三章到第五章内容 小端序标记法 字节序 多字节数据在计算机内存中存放的字节顺序分为小端序和大端序两大类 大端序与小端序 BYTE b 0x12; WORD w 0x1234; DWORD dw 0x12345678; cha…...
影视文件大数据高速分发方案
在当今的数字时代,影视行业的内容创作和传播方式经历了翻天覆地的变化。随着4K、8K高清视频的普及,以及虚拟现实(VR)和增强现实(AR)技术的发展,影视文件的数据量正以前所未有的速度增长。这就要求行业内的参与者必须拥有高效的大数据传输解决…...
使用朴素贝叶斯对散点数据进行分类
本文将通过一个具体的例子,展示如何使用 Python 和 scikit-learn 库中的 GaussianNB 模型,对二维散点数据进行分类,并可视化分类结果。 1. 数据准备 假设我们有两个类别的二维散点数据,每个类别包含若干个点。我们将这些点分别存…...
pytorch线性回归模型预测房价例子
人工智能例子汇总:AI常见的算法和例子-CSDN博客 import torch import torch.nn as nn import torch.optim as optim import numpy as np# 1. 创建线性回归模型类 class LinearRegressionModel(nn.Module):def __init__(self):super(LinearRegressionModel, self).…...
微信登录模块封装
文章目录 1.资质申请2.combinations-wx-login-starter1.目录结构2.pom.xml 引入okhttp依赖3.WxLoginProperties.java 属性配置4.WxLoginUtil.java 后端通过 code 获取 access_token的工具类5.WxLoginAutoConfiguration.java 自动配置类6.spring.factories 激活自动配置类 3.com…...
C++运算符重载
C的运算符重载:使对象的运算表现得和编译器内置类型一样 以复数类为例: #include <iostream> using namespace std;class CComplex { public:CComplex(int r 0, int i 0): mreal(r), mimage(i){}// 指导编译器怎么做CComplex类对象的加法操作CC…...
pandas(三)Series使用
一、Series基础使用 import pandasd {x:100,y:200,z:300} s1 pandas.Series(d) #将dict转化为Series print(s1)print("") l1 [1, 2, 3] l2 [a, b, c] s2 pandas.Series(l1, indexl2) #list转为Series print(s2)print("") s3 pandas.Series([11…...
PVE 中 Debian 虚拟机崩溃后,硬盘数据怎么恢复
问题 在 PVE 中给 Debian 虚拟机新分配硬盘后,通过 Debian 虚拟机开启 Samba 共享该硬盘。如果这个 Debian 虚拟机崩溃后,怎么恢复 Samba 共享硬盘数据。 方法 开启 Samba 共享相关知识:挂载硬盘和开启Samba共享。 新建一个虚拟机…...
【大数据技术】案例01:词频统计样例(hadoop+mapreduce+yarn)
词频统计(hadoop+mapreduce+yarn) 搭建完全分布式高可用大数据集群(VMware+CentOS+FinalShell) 搭建完全分布式高可用大数据集群(Hadoop+MapReduce+Yarn) 在阅读本文前,请确保已经阅读过以上两篇文章,成功搭建了Hadoop+MapReduce+Yarn的大数据集群环境。 写在前面 Wo…...
PySPARK带多组参数和标签的SparkSQL批量数据导出到S3的程序
设计一个基于多个带标签SparkSQL模板作为配置文件和多组参数的PySPARK代码程序,实现根据不同的输入参数自动批量地将数据导出为Parquet、CSV和Excel文件到S3上,标签和多个参数(以“_”分割)为组成导出数据文件名,文件已…...
分享刷题过程中有价值的两道题目
小编在这里先祝大家新的一年里所愿皆得,万事顺意,天天开心!!! 一.水仙花数 题目描述: 求100∼999中的水仙花数。若三位数ABCA^3B^3C^3,则称ABC为水仙花数。例如153,135333112527153&…...
Java篇之继承
目录 一. 继承 1. 为什么需要继承 2. 继承的概念 3. 继承的语法 4. 访问父类成员 4.1 子类中访问父类的成员变量 4.2 子类中访问父类的成员方法 5. super关键字 6. super和this关键字 7. 子类构造方法 8. 代码块的执行顺序 9. protected访问修饰限定符 10. 继承方式…...
7.DP算法
DP 在C中,动态规划(Dynamic Programming,DP)是一种通过将复杂问题分解为重叠子问题来高效求解的算法设计范式。以下是DP算法的核心要点和实现方法: 一、动态规划的核心思想 重叠子问题:问题可分解为多个重…...
[SAP ABAP] 在ABAP Debugger调试器中设置断点
在命令框输入/H,点击回车以后,调试被激活,点击触发任意事件进入ABAP Debugger调试器界面 点击按钮,可以在Debugger调试器中新增临时断点 我们可以从ABAP命令、方法、功能、表单、异常、消息、源代码等多个维度在Debugger调试器中设…...
使用LLaMA-Factory对AI进行认知的微调
使用LLaMA-Factory对AI进行认知的微调 引言1. 安装LLaMA-Factory1.1. 克隆仓库1.2. 创建虚拟环境1.3. 安装LLaMA-Factory1.4. 验证 2. 准备数据2.1. 创建数据集2.2. 更新数据集信息 3. 启动LLaMA-Factory4. 进行微调4.1. 设置模型4.2. 预览数据集4.3. 设置学习率等参数4.4. 预览…...
2 [GitHub遭遇严重供应链投毒攻击]
近日,有黑客针对 Discord Top.gg 的GitHub 账户发起了供应链攻击,此次攻击导致账户密码、凭证和其他敏感信息被盗,同时也影响到了大量开发人员。 Checkmarx 在一份技术报告中提到,黑客在这次攻击中使用了多种TTP,其中…...
[c语言日寄]C语言类型转换规则详解
【作者主页】siy2333 【专栏介绍】⌈c语言日寄⌋:这是一个专注于C语言刷题的专栏,精选题目,搭配详细题解、拓展算法。从基础语法到复杂算法,题目涉及的知识点全面覆盖,助力你系统提升。无论你是初学者,还是…...
Python魔法函数
在Python中,的确有“魔法函数”(Magic Methods)这种说法,也被称为特殊方法(Special Methods)。这些函数的名称以双下划线开始和结束,例如 __init__、__len__ 等。它们为Python提供了一种约定俗成…...