一句话看懂统计语言模型
核心任务:教电脑判断一句话 “像不像人话”
(比如“我爱吃苹果”✅ vs “苹果吃爱我”❌)
1. 早期:死磕语法规则 → 失败!
- 科学家思路(1970年前):
像语文老师一样,给电脑写《语法规则大全》(比如“主语后必须接动词”)。 - 为啥翻车❓
人话太灵活!规则永远写不完,还互相矛盾。
→ 像逼外国人背1000条语法才能点咖啡,结果还是说错💔
2. 统计语言模型崛起:数数就行!
IBM贾里尼克大神(1970s)的暴论:
不用懂语法!数一数这句话出现的概率就行!
- 例:“我爱吃苹果”在100万句人话中出现 50次 → 合理!
- “苹果吃爱我”出现 0次 → 不合理!
怎么算概率?—— 马尔可夫偷懒法
- 问题:长句概率难算(比如“我爱吃红苹果”要算“爱”在“我”后、“吃”在“我爱”后…)
- 解决方案(N-gram模型):
每个词只看前面1-3个词,其他忽略!- 例(三元模型):
“吃”的概率只看前面两个词 → 如果“我爱”后常跟“吃”,那“我爱吃”概率就高! - 缺点:
像只记3秒的金鱼🐟,无法理解“我上周买的苹果真甜”这种跨句子关联。
- 例(三元模型):
3. 神经网络登场:让电脑“脑补”
2003年 NNLM 模型(本吉奥)
创新点:
- 给每个词发“身份证号”(词向量),比如:
苹果 = [0.2, -1.3, 4.5]
,吃 = [1.0, 0.8, -0.2]
- 用神经网络根据前N个词的“身份证号”猜下一个词。
可惜:当时大家不信神经网络,埋没十年😢
2013年 Word2Vec 模型(谷歌)
封神之作:
- 核心突破:一个词在不同上下文有 同一个向量(静态词向量)。
- 训练方法:
- CBOW:用周围词猜中心词(如用“我爱__苹果”猜“吃”)
- Skip-gram:用中心词猜周围词(如用“吃”猜“我”“爱”“苹果”)
致命弱点:
无法区分多义词!比如“苹果”的向量永远是同一个,分不清是水果还是手机公司🍎📱
4. 动态词向量时代:上下文才是王道
2018年 ELMo 模型
解决多义词:同一个词在不同句子中 动态变向量!
- 例:
“吃苹果” → “苹果”向量靠近[水果, 甜]
“买苹果” → “苹果”向量靠近[手机, 贵]- 原理:用双向LSTM(一种能记长句的神经网络)扫描全文后动态调整词向量。
2018年 BERT 模型(谷歌终极版)
集大成者:
- 用 Transformer(比LSTM更强的编码器)
- 像做填空题学习:随机遮住句中词(如“我爱__苹果”),让模型猜“吃”
- 结果:横扫11项NLP任务,成行业标准!
缺点:太强导致不能直接写文章(像只会答题不会创作的学霸)。
关键模型关系图(小白版)
语法规则(失败)
↓
统计模型(数概率)→ N-gram(偷懒法)
↓
NNLM(最早神经网络)→ 被遗忘
↓
Word2Vec(静态词向量封神)→ 败给多义词
↓
ELMo(动态词向量初代)→ 用LSTM
↓
BERT(动态词向量终极版)→ Transformer + 填空题训练法 ✅
一句话总结发展逻辑
电脑学人话的进化史:
背语法书 → 数句子出现次数 → 背单词身份证 → 结合上下文动态改身份证越新的模型越像 真人聊天:
你一说“苹果”,我就知道此刻指的是手机还是水果!🍎📱
下次听到“BERT”“词向量”,记住:
它们就是让电脑变成“懂王”的秘密武器! 🚀