当前位置: 首页 > news >正文

从 TF-IDF 到 Word2Vec:让推荐系统更懂语义

在推荐系统中,“基于内容的推荐”是一种经典而实用的策略。
它的核心思想是:根据物品内容本身的特征来计算相似度,从而实现推荐。

本文将带你从最基础的 TF-IDF,一步步理解到语义层面的 Word2Vec,通过实例讲解这些向量化技术如何让推荐系统“更懂内容”。


一、基于内容的推荐是什么?

“基于内容的推荐”(Content-Based Recommendation)指的是:

根据商品自身的内容信息(如标题、描述、标签)提取特征,通过内容相似度来推荐相似的商品。

📦 特点:

  • 不依赖用户的历史行为数据;
  • 只要有内容,就能进行推荐;
  • 适合系统冷启动或商品冷启动阶段(无用户数据)。

💡 举例:

假设你正在浏览“苹果手机”,系统可能会推荐:

  • “华为手机”
  • “小米手机”
  • “三星手机”

因为它们的内容描述(关键词、属性)相似。


二、如何提取商品特征向量?

要实现基于内容的推荐,第一步是将商品内容转化为向量,也就是 embedding。
常见的三种传统方法是:

  1. 词频向量(Bag of Words)
  2. N元语法(N-gram)
  3. TF-IDF(词频-逆文档频率)

下面我们用一个具体例子来说明这三种方法。


三、案例:三个商品的相似度计算

商品描述
A苹果手机,高清摄像头,性能强大
B小米手机,拍照清晰,性价比高
C苹果平板,屏幕大,续航持久

目标:
当用户浏览商品A(苹果手机)时,系统应推荐最相似的商品。


1️⃣ 词频向量(Bag of Words)

首先,对文本进行分词:

商品分词结果
A[苹果, 手机, 高清, 摄像头, 性能, 强大]
B[小米, 手机, 拍照, 清晰, 性价比, 高]
C[苹果, 平板, 屏幕, 大, 续航, 持久]

然后,将所有出现过的词组成词表:

[苹果, 小米, 手机, 高清, 摄像头, 性能, 强大, 拍照, 清晰, 性价比, 高, 平板, 屏幕, 大, 续航, 持久]

再统计每个词在商品中的出现次数(出现记1,未出现记0):

商品A商品B商品C
苹果101
小米010
手机110
高清100
摄像头100
性能100
强大100
拍照010
清晰010
性价比010
010
平板001
屏幕001
001
续航001
持久001

→ 这就形成了最原始的“词袋模型”(Bag of Words)。
📈 商品A的向量是 [1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0](高维稀疏向量)
同理也可以得出商品B、C的向量,然后通过余弦公式进行相似度计算。
但它有个明显缺点:忽略了词序和语义。


2️⃣ N元语法(N-gram)

N-gram 会考虑相邻词的组合,捕捉部分上下文信息。

比如 2-gram:

  • 商品A: [“苹果 手机”, “手机 高清”, “高清 摄像头”, “摄像头 性能”, “性能 强大”]
  • 商品B: [“小米 手机”, “手机 拍照”, “拍照 清晰”, “清晰 性价比”, “性价比 高”]

相比单个词的词袋法,N-gram 能让“苹果手机”这样的组合特征更加独特,提高推荐的准确性。


3️⃣ TF-IDF(词频-逆文档频率)

TF-IDF 在词频的基础上加入“词的重要性”概念。
它的核心思想是:

如果一个词在当前文档中频繁出现,但在所有文档中很少出现,那么这个词更能代表该文档的特征。

公式:
[
\text{TF-IDF}(t, d) = TF(t, d) \times \log\frac{N}{DF(t)}
]

例如:

  • “苹果”只出现在A和C → 区分度高,权重大;
  • “手机”出现在A和B → 区分度低,权重小。

计算完后可以得到:

TF-IDF(A)TF-IDF(B)TF-IDF©
苹果0.350.000.33
小米0.000.450.00
手机0.200.150.00
高清0.400.000.00
性能0.250.000.00
平板0.000.000.45
续航0.000.000.35

接着用余弦相似度计算相似程度:

商品对比相似度
A vs B0.25
A vs C0.60

✅ 结果:
“苹果平板(C)”与“苹果手机(A)”更相似,因此系统会推荐 C。


四、Word2Vec:让推荐更“懂语义”

前面三种方法只关注“词出现的统计信息”,并不真正理解语义。
这就是 Word2Vec 出现的原因。

1️⃣ Word2Vec 的定义

Word2Vec 是一种将词语转换为低维稠密向量的算法,能让计算机理解词语之间的语义关系。

它的核心思想是:

相似的词出现在相似的上下文中。


2️⃣ 举个例子

训练语料:

我 买 了 一个 苹果手机
我 买 了 一个 华为 手机
他 喜欢 吃 苹果

通过上下文关系,模型会学到:

  • “苹果手机” ≈ “华为手机”
  • “苹果” 在不同上下文中具有不同语义

训练完后,可能得到以下向量(简化示意):

向量
苹果手机[0.8, 0.6]
华为手机[0.7, 0.7]
苹果[0.1, 0.9]
手机[0.7, 0.5]

相似度计算结果:

词对余弦相似度
苹果手机 vs 华为手机0.98
苹果手机 vs 手机0.92
苹果手机 vs 苹果0.45

Word2Vec 能正确地把“苹果手机”和“华为手机”放在语义相近的空间中。


3️⃣ Word2Vec 的语义算术

Word2Vec 的一个神奇特性是“语义计算”:

向量(国王) - 向量(男人) + 向量(女人) ≈ 向量(女王)
向量(巴黎) - 向量(法国) + 向量(意大利) ≈ 向量(罗马)

在推荐系统中:

向量(苹果手机) - 向量(苹果) + 向量(华为) ≈ 向量(华为手机)

说明模型真正理解了词语间的关系结构


五、TF-IDF vs Word2Vec 对比总结

对比项TF-IDFWord2Vec
核心思想统计词频学习语义
向量性质稀疏、高维稠密、低维
是否理解语义❌ 否✅ 是
计算复杂度略高
推荐效果一般更精准
适用场景简单文本复杂文本、长描述

六、在推荐系统中的应用场景

场景说明
商品冷启动新商品没有行为数据,可以通过文本 embedding 找到相似商品
内容召回通过语义相似度快速找到语义上接近的候选集
个性化推荐将用户浏览过的商品 embedding 平均化,得到“用户兴趣向量”

七、结语

TF-IDF 是文本特征提取的经典起点,但它只看到“词的出现”,看不到“词的含义”。
Word2Vec 则通过上下文学习,让模型真正理解词语之间的语义联系。

从统计到语义,从词频到向量 ——
推荐系统正因为这些“向量革命”,才越来越聪明,也越来越懂你。

http://www.dtcms.com/a/481751.html

相关文章:

  • 01-ELK安装ES,ES-head
  • OpenCV4-直方图与傅里叶变换-项目实战-信用卡数字识别
  • 医院排班挂号系统小程序
  • 河北建设厅网站打不开是什么原因国际新闻直播
  • C++设计模式_行为型模式_命令模式Command
  • Blender自动化展UV插件 UV Factory 4.3 v1 – Powerful Modular Uv Tools
  • 网络与通信安全课程复习汇总2——信息保密
  • 密码学安全:CIA三元组与三大核心技术
  • 建网站怎么做本地的营销网站建设
  • 短剧分销系统技术拆解:渠道推广码生成、订单归因与实时分账系统实现
  • ​RocketMQ 与 RabbitMQ 全面对比:架构、性能与适用场景解析
  • RabbitMQ 消息可靠投递
  • RabbitMQ全面详解:从核心概念到企业级应用
  • 北京市建设工程第四检测所网站小程序定制开发团队
  • 安徽网站优化flash如何做网页
  • AI文档处理:AI在处理扫描版PDF时准确率低,如何提升?
  • TDengine 数学函数 EXP 用户手册
  • C语言自定义变量类型结构体理论:从初见到精通​​​​​​​(下)
  • 医疗网络功能虚拟化与深度强化学习的动态流量调度优化研究(下)
  • SpringMVC练习:加法计算器与登录
  • 小模型的应用
  • 深度学习进阶(一)——从 LeNet 到 Transformer:卷积的荣光与注意力的崛起
  • QPSK信号载波同步技术---极性Costas 法载波同步
  • 盘多多网盘搜索苏州seo排名公司
  • 国外有趣的网站wordpress小视频主题
  • RTC、UDP、TCP和HTTP以及直播等区别
  • Java面试场景:从Spring Web到Kafka的音视频应用挑战
  • 基于EDBO-ELM(改进蜣螂算法优化极限学习机)数据回归预测
  • gaussdb数据库的集中式和分布式
  • Ubuntu中使用Hadoop的HDFS和MapReduce