AI助力医学研究:MedGemma影像解读系统功能全体验

核心内容摘要

批量处理图片文字识别,这个OCR镜像效率提升3倍
Emotion2Vec+ Large识别语音情绪:从快乐到悲伤,9种情感全解析

GLM-4.7-Flash开源大模型:免费可商用+自主可控部署方案

推荐系统中的Embedding技术:从Word2Vec到BERT关键词:Embedding、推荐系统、Word2Vec、图神经网络(GNN)、BERT、向量空间、语义表征摘要:在推荐系统中,“如何让计算机真正理解用户和物品的’内在联系’“是核心难题。

Embedding技术通过将用户、商品、文本等离散对象转化为低维稠密向量,搭建了离散世界与数学模型之间的"翻译桥”。

本文将从生活场景出发,用"给物品发数字身份证"的比喻,带您一步步理解Embedding的本质;通过"邻居推测法→社交圈分析→上下文大师"的技术演进主线,拆解Word2Vec、GNN、BERT等经典模型的核心逻辑;最后结合电商推荐实战案例,展示如何用Embedding让推荐系统"更懂你”。

背景介绍目的和范围推荐系统的核心目标是"猜你喜欢",但计算机只能处理数字,而用户点击记录、商品名称、评论这些信息都是离散的"符号"(如"用户A"、“商品X”)。

如何让这些符号变成计算机能计算的"语言"?

这就是Embedding技术的使命。

本文将聚焦推荐系统中的Embedding技术,覆盖从基础原理(Word2Vec)到前沿进展(BERT)的全链条,帮助开发者理解技术演进逻辑与落地方法。

预期读者对推荐系统感兴趣的初级开发者(掌握Python基础即可)希望理解Embedding底层逻辑的算法工程师产品经理/运营(想了解"推荐系统为什么越来越准"的原理)文档结构概述本文将按照"问题引入→核心概念→技术演进→实战案例→未来趋势"的逻辑展开:先用"超市购物"场景引出Embedding的必要性;再用"数字身份证"比喻解释Embedding本质;接着通过"邻居推测法(Word2Vec)→社交圈分析(GNN)→上下文大师(BERT)"讲解技术发展;最后用电商推荐案例演示代码实现,

总结未来方向。

术语表Embedding(嵌入):将离散对象(如单词、用户ID)映射到低维连续向量的过程(类比:给每个对象发一张"数字身份证",包含其核心特征)Word2Vec:经典的词向量生成模型,通过"看邻居猜单词"学习语义关系(类比:通过"苹果"“香蕉"总出现在"水果区”,推断它们是同类)GNN(图神经网络):专门处理图结构数据的模型,通过"社交关系"学习节点特征(类比:通过"用户A关注了用户B,用户B买了商品X",推断用户A可能喜欢X)BERT:基于双向Transformer的预训练模型,能捕捉上下文语义(类比:听到"苹果"时,根据前文是"手机"还是"水果"调整理解)核心概念与联系故事引入:超市里的"商品密码本"假设你是超市经理,想做"猜你想买"的推荐屏。

用户走到货架前,屏幕需要快速推荐可能购买的商品。

但计算机不认识"牛奶""面包"这些词,只能处理数字。

怎么办?

最初你用"编号法":牛奶=1,面包=2,鸡蛋=3…但问题来了:计算机只知道"1和2"是数字,不知道它们经常一起买(早餐组合)。

后来你发现:总被一起买的商品,应该有"相似的数字特征"——比如牛奶和面包的向量更接近,牛奶和洗发水的向量离得远。

于是你需要一个"商品密码本"(Embedding),把每个商品名翻译成一串数字(向量),让相似商品的向量在数学空间里"手拉手"。

这就是Embedding的核心:把离散符号变成有意义的数学向量,让计算机能通过向量间的距离(如余弦相似度)判断"是否相似"。

核心概念解释(像给小学生讲故事)核心概念一:Embedding = 数字身份证想象每个对象(用户、商品、单词)都有一张"数字身份证",上面不是姓名或ID,而是一串数字(比如[

3, -

8,

5])。

这串数字是对象的"性格画像":商品A的向量里"早餐相关"维度值高,说明它常被当早餐买;用户B的向量里"科技产品"维度值高,说明他爱买手机电脑。

计算机通过比较两个向量的距离(比如用余弦相似度),就能判断"这两个对象是否相似"。

就像看两个小朋友的"兴趣卡片":如果都喜欢足球和画画,卡片上的数字会更接近,计算机就知道他们可能有共同爱好。

核心概念二:Word2Vec = 邻居推测法Word2Vec是最早的Embedding生成模型之一,它的思路很像"看邻居猜名字"。

比如在句子"I love apples and bananas"里,“apples"的邻居是"love"和"and”,“bananas"的邻居是"and"和(可能的下一个词)。

Word2Vec假设:相似的词会有相似的邻居,于是通过"给定中心词猜邻居”(Skip-gram)或"给定邻居猜中心词"(CBOW)的方式,训练出每个词的向量。

类比:老师让小朋友站成一圈,告诉小明"你左右的同学是小红和小刚",然后让小明猜自己是谁。

反复练习后,小明(中心词)会逐渐明白:如果左右是"水果"类同学(邻居词),那自己可能也是"水果"。

核心概念三:BERT = 上下文理解大师传统Embedding(如Word2Vec)有个问题:同一个词在不同上下文里意思不同。

比如"苹果"在"我买了苹果手机"里是手机品牌,在"我吃了一个苹果"里是水果。

Word2Vec会给"苹果"一个固定向量,但BERT能根据上下文动态调整。

BERT的秘诀是"双向注意力":它像一个认真的听众,听完整句话再理解每个词。

比如看到"苹果"时,它会同时看前面的"手机"和后面的"15Pro",从而生成更准确的向量。

就像小朋友听故事时,听到"小熊拿着____去钓鱼",会猜"水桶"而不是"蛋糕"——因为前后文提供了线索。

核心概念之间的关系(用小学生能理解的比喻)Embedding与Word2Vec:Word2Vec是生成Embedding的"工具",就像用画笔(工具)给每个词画数字画像(Embedding)。

Word2Vec与BERT:Word2Vec是"固定画像师"(一个词只有一张画像),BERT是"动态画像师"(同一个词在不同故事里有不同画像)。

Embedding与推荐系统:Embedding是推荐系统的"翻译官",把用户点击记录、商品名称这些"人类语言"翻译成计算机能计算的"数字语言",让推荐算法能算出"用户可能喜欢什么"。

核心概念原理和架构的文本示意图离散对象(用户/商品/单词) → Embedding模型(Word2Vec/GNN/BERT) → 低维稠密向量 → 推荐算法(计算相似度/排序)Mermaid 流程图渲染错误:Mermaid 渲染失败: Parse error on line 2: ... A[离散对象: 用户A/商品X/单词"苹果"] -- B[Embedding -----------------------^ Expecting 'SQE', 'DOUBLECIRCLEEND', 'PE', '-)', 'STADIUMEND', 'SUBROUTINEEND', 'PIPE', 'CYLINDEREND', 'DIAMOND_STOP', 'TAGEND', 'TRAPEND', 'INVTRAPEND', 'UNICODE_TEXT', 'TEXT', 'TAGSTART', got 'STR'核心算法原理 具体操作步骤

Word2Vec:用"邻居推测"学EmbeddingWord2Vec有两种模式:CBOW(连续词袋模型)和Skip-gram。

这里以Skip-gram为例(更适合处理低频词)。

核心思想假设每个词的含义由它的上下文(邻居词)决定。

例如,在句子"我 喜欢 苹果 手机"中,“苹果"的上下文是"喜欢"和"手机”。

模型通过"给定中心词,预测上下文词"来学习Embedding。

数学原理目标是最大化中心词 ( w_c ) 生成上下文词 ( w_o ) 的概率:max ⁡ θ ∏ t = 1 T ∏ − m ≤ j ≤ m , j ≠ 0 P ( w t + j ∣ w t ; θ ) \max_{\theta} \prod_{t=1}^T \prod_{-m \leq j \leq m, j \neq 0} P(w_{t+j} | w_t; \theta)θmax​t=1∏T​−m≤j≤m,j=0∏​P(wt+j​∣wt​;θ)其中 ( m ) 是上下文窗口大小,( \theta ) 是模型参数(即Embedding向量)。

为了优化效率,实际中用**负采样(Negative Sampling)**替代softmax:只对正样本(真实上下文词)和几个负样本(随机选取的非上下文词)计算损失,降低计算量。

Python代码示例(用gensim库)fromgensim.modelsimportWord2Vec# 假设我们有用户的点击序列(类似句子)click_sequences=[["用户A","商品1","商品2","商品3"

91app-91app最新版N.8.53.95-2265安卓网应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123