高中数学 · 数学建模 · 人工智能原理

为什么刷完一条新闻
系统会推送相似的内容?

从"新闻推送"这个日常现象出发,用高中数学的向量、对数函数等知识,一步步还原人工智能推荐系统的底层数学逻辑。

TF-IDF 算法 文本向量化 余弦相似度
SECTION 01
引言:数学如何"读懂"文字

计算机没有理解语义的能力,它只会计算数字。因此,要让计算机判断两篇新闻是否相似,必须先把文字变成数字。这个过程分两步:

STEP 01
文本向量化
用数字(TF-IDF权重)表示每个词在文章中的重要程度,将一篇新闻表示为一个高维向量。
STEP 02
相似度量化
用两个向量夹角的余弦值刻画两篇新闻的相似程度——夹角越小,内容越相似。
STEP 03
推送决策
当余弦值超过设定阈值时,将该新闻推送给用户。阈值越高,推送越精准但数量越少。
核心思想:正是"数学之美"——把本来无法直接计算的"语义相似性",转化为可以精确运算的向量夹角问题。这就是人工智能中的"数学建模"。
SECTION 02
问题情境:哪条新闻更相似?

阅读以下三条新闻,凭直觉判断:浏览"新闻1"后,新闻2和新闻3哪个更可能被推送?

新闻 1(已读)
2024年5月,谷歌宣布蛋白质结构预测工具 AlphaFold3 诞生。它能预测蛋白质与 DNA、RNA 等分子的相互作用结构,对药物发现领域具有重大意义。
新闻 2
AlphaFold3 以前所未有的精确度预测了所有生命分子(蛋白质、DNA、RNA等)的结构和相互作用,比现有方法提升至少50%。
新闻 3
国内视频大模型「Vidu」发布,支持生成16秒1080p高清视频,画面效果接近 Sora,在多镜头语言、时间空间一致性等方面表现出色。
为什么你的判断是对的?

新闻1与新闻2共享的关键词:AlphaFold3蛋白质结构DNARNA……这些词不是每篇文章都有的,是标识这篇文章主题的"关键词"。

而""""""等虚词虽然频率很高,却几乎每篇文章都有,不具有标识性。数学化的核心问题就是:如何让计算机区分哪些词重要、哪些词不重要?

SECTION 03
TF-IDF:词的重要性如何量化

TF-IDF 是信息检索中最经典的词权重算法,由两部分组成:衡量词在本文中频率的 TF,以及衡量词在整个语料库中稀缺程度的 IDF。

① 词频 TF(Term Frequency)

一个词在文章中出现越多,说明它越重要。但单纯用次数不公平——长文章中每个词的次数都会更多。因此用频率代替次数:

TF(t, d) = ft / n

其中 ft = 词 t 在文档 d 中出现的次数,n = 文档 d 的总词数。

② 逆文档频率 IDF(Inverse Document Frequency)

如果一个词在很多文章中都出现(如"的""了"),说明它没有标识性,重要度应低。设语料库共 N 篇文档,词 t 出现在 nt 篇中:

三个候选函数,哪个更好?拖动滑块改变 nt,观察函数值的变化:

① N/nt − 1
变化过于剧烈
② (N−nt)/N
变化太不敏感
③ lg(N/nt)
✓ 最均衡
N/nt − 1(过敏感)
(N−nt)/N(不敏感)
log(N/nt)(最佳)

为避免分母为零(若某个词在所有文档中都未出现,nt=0),实际中分母加1平滑处理:

IDF(t) = lg( N / (1 + nt) )
为什么选对数? 当 N 很大时,N/nt 的原始值变化范围极大,会淹没其他信息。对数函数的"压缩"效果使不同量级的词的重要性差异更均衡、更好用。这是从数学性质出发的构造法选择。
③ 综合权重 TF-IDF

词在本文中越常见(TF↑),且在整个语料库中越稀少(IDF↑),权重越高。两者都是单调递增函数,因此取乘积:

TF-IDF(t, d) = TF(t, d) × IDF(t)
TF-IDF 计算器
5
200
1000
50
TF(t, d)
IDF(t)
TF-IDF(t, d)
实例:新闻1各词的 TF-IDF 值(简化版,N=1000)

高亮词为关键词候选(TF-IDF 较高)

词语词频 TF文档频率 ntIDF = lg(N/(1+nt))TF-IDF
AlphaFold33/12012lg(1000/13) ≈ 1.8870.0472
蛋白质4/12035lg(1000/36) ≈ 1.4440.0481
结构3/12080lg(1000/81) ≈ 1.0920.0273
药物2/120120lg(1000/121) ≈ 0.9180.0153
谷歌1/120200lg(1000/201) ≈ 0.6970.0058
发现2/120600lg(1000/601) ≈ 0.2210.0037
15/120999lg(1000/1000) ≈ 0≈ 0
SECTION 04
文本向量化:把新闻变成向量

计算出所有词的 TF-IDF 后,将一篇新闻表示为一个 n 维向量——每个维度对应词汇表中的一个词,分量为该词的 TF-IDF 值。

特征向量的构造规则
词语 AlphaFold3蛋白质结构DNA视频模型
维度编号 第1维第2维第3维第4维第5维第6维
新闻1 0.0470.0480.0270.01900.008
新闻2 0.0510.0440.0300.02200.006
新闻3 00000.0530.041
关键洞察:向量的方向反映文章的主题——哪个维度(词)的权重高,文章就"偏向"哪个方向。新闻1和新闻2在AlphaFold3、蛋白质等维度上都有较大值,因此方向相近;新闻3在视频、模型维度上有值,方向完全不同。
二维可视化(简化示例)

选取两个维度(蛋白质权重、视频权重)可视化三篇新闻的方向关系:

新闻1与新闻2方向相近(小角度),与新闻3方向差异大(大角度)。注意:实际系统中向量维度可达数万维。

为什么用向量而不是数列? 数列关注各项之间的规律关系;向量关注方向和夹角,天然适合度量两个对象的"相似程度"。虽然高中只学过2维和3维向量,但运算规则可以直接推广到 n 维。
SECTION 05
余弦相似度:用夹角度量相似

确定了用向量表示新闻后,问题转为:如何度量两个向量的相似程度?可以用向量差的模,也可以用夹角——哪个更合理?

为什么选夹角而不是距离(模)?
比较方式
向量差的模(距离)
夹角余弦值
度量的是
两向量端点间的欧氏距离
两向量的方向差异
文本长度影响
长文章词数多,模自然大,产生偏差
方向只与词的比例有关,与文章长度无关
适用场景
等长文本比较
✓ 适合不同长度的文本
余弦相似度公式

设两篇新闻的特征向量分别为 x = (x₁, x₂, …, xₙ) 和 y = (y₁, y₂, …, yₙ),则它们夹角 θ 的余弦值为:

cos θ = (xy₁ + xy₂ + … + xnyn) / ( |x| · |y| )
其中:|x| = √(x₁² + x₂² + … + xₙ²) ← 向量的模
由于每个词的 TF-IDF 值均为非负数,因此 cos θ ∈ [0, 1]:
• cos θ → 1:两篇新闻高度相似,可推送
• cos θ → 0:两篇新闻内容无关,不推送
余弦相似度交互演示(二维简化)

拖动滑块调整两个向量的角度,观察余弦值的变化:

两向量夹角 θ
余弦相似度 cos θ
计算实例:新闻1 vs 新闻2(取4个主要关键词维度)
维度xi(新闻1)yi(新闻2)xiyixi²yi²
AlphaFold30.0470.0510.0023970.0022090.002601
蛋白质0.0480.0440.0021120.0023040.001936
结构0.0270.0300.0008100.0007290.000900
DNA0.0190.0220.0004180.0003610.000484
合计0.0057370.0056030.005921
|x| = √0.005603 ≈ 0.0749
|y| = √0.005921 ≈ 0.0770
cos θ = 0.005737 / (0.0749 × 0.0770) ≈ 0.994
余弦相似度 ≈ 0.994,非常接近1,说明两篇新闻高度相似,系统会将新闻2推送给阅读过新闻1的用户。
SECTION 06
综合演示:输入你的文本试试看

输入两段文字,系统将模拟计算它们的关键词权重和余弦相似度(简化版,仅统计词频)。

文本相似度计算器(简化演示)
SECTION 07
建模反思:这种方法有什么局限?

学生课后提出的问题,恰好指向了真实 AI 系统中需要进一步优化的方向。

问题① 词序不敏感
词序问题

"人咬狗"和"狗咬人"关键词完全相同,但含义完全不同。纯词袋模型无法区分。

改进方向:引入 n-gram 模型(考虑词的相邻关系),或使用 Word2Vec、BERT 等考虑上下文的词向量方法。
问题② 高维计算效率
算力问题

词汇表可达数十万维,海量文章两两计算余弦值的时间复杂度极高。

改进方向:使用倒排索引快速检索,或用近似最近邻算法(ANN)降低搜索空间。
问题③ 错别字容错
鲁棒性

输入错别字也能搜到想要的结果,说明系统不是完全精确匹配。

改进方向:编辑距离算法(Levenshtein Distance)计算词的字符相似度,或语义向量天然具有一定容错能力。
问题④ 冷启动问题
系统问题

新上线的新闻没有历史数据,如何建立特征向量?

改进方向:基于内容的推荐(分析文本内容本身),或使用预训练语言模型对新文章即时生成向量。
建模方法论:构造法 vs 传统方法
建模方式
机理分析法
数据拟合法
构造法(本课)
从已知规律出发寻找模型,适用于物理、力学等有明确规律的场景
根据实验数据拟合函数,适用于可以做实验的场景
从目标出发,设计满足条件的数学模型;具有更大的人为创造性和自由度
有现成的物理/化学规律可用
有实验数据可供拟合
AI中的数学建模特点:往往是从现实需求出发,分析模型应满足的数学条件,然后构造符合条件的数学对象——没有唯一答案,需要比较多种候选方案的优劣(如 IDF 的三个候选函数),要求更强的创造性思维和批判性思维。
更多可探索的 AI 数学模型
朴素贝叶斯
基于贝叶斯定理的文本分类,用到条件概率
中文分词
动态规划与概率最大路径算法
神经网络
多层线性变换+非线性激活,用到矩阵乘法
输入法预测
隐马尔可夫模型,条件概率与转移矩阵

参考文献:刘进, 顿继安, 冯启磊. "新闻推送"的数学模型教学——兼谈AI作为数学建模数学资源的价值与开发路径. 数学通报, 2025, 第64卷第10期, 34-38, 45.

本网页基于论文核心思路拓展构建,增加了交互演示与拓展讨论,供学习参考。