分布式假设指出词义由其共现上下文决定,如“苹果”与“吃”共现表水果义,“iPhone”与“芯片”共现表科技义;Word2Vec、GloVe等通过统计共现建模静态向量,而BERT等动态模型则依据具体语境生成上下文敏感向量。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

词义不是靠字典定义的,而是由它“和谁一起出现”决定的。这就是分布式假设(Distributional Hypothesis)——Word Embedding 的全部起点。
什么是分布式假设?一句话说清
语言学家 Zellig Harris 在 1954 年提出:「You shall know a word by the company it keeps.」 意思是:一个词的含义,取决于它经常出现在哪些上下文里。 不是靠人工标注“苹果是水果”,而是靠模型观察到——“苹果”常和“吃”“甜”“榨汁”“超市”一起出现,“iPhone”则常和“发布”“芯片”“iOS”共现。两组上下文明显不同,向量自然就分开了。
为什么这个假设能成立?从人脑类比理解
人类学词,本来就不靠背定义。小孩听到“汪汪叫的是狗”“毛茸茸的是狗”“在院子里跑的是狗”,慢慢就知道“狗”是什么——靠的是反复出现的场景和搭配词。模型做的,正是这件事的统计版:
- “猫”和“狗”都高频出现在“养”“喂”“宠物”“爪子”等词附近 → 向量靠近
- “银行”在“存钱”“贷款”“ATM”语境中 → 向量偏向金融义
- “银行”在“河岸”“淤泥”“堤坝”语境中 → 向量偏向地理义(需上下文感知模型才能区分)
分布式假设怎么变成向量?关键靠共现统计
所有主流词嵌入算法,本质都在建模“词与上下文共现”的强度:
- Word2Vec(Skip-gram):给定一个词,预测它周围可能出现的词。目标是让真实共现的词对(如“苹果”→“吃”)打高分,随机词对打低分
- GloVe:先统计整个语料中每对词的共现频次,再用矩阵分解拟合这个全局共现表
- FastText:把词拆成子词(如“playing”→ “play”, “ing”, “playi”…),让“played”“plays”“playing”共享部分向量,提升对形态变化和未登录词的泛化能力
静态 vs 动态:分布式假设的局限与突破
经典词嵌入(如 Word2Vec、GloVe)忠实执行了分布式假设,但也暴露了一个硬伤:同一个词,不管上下文怎么变,向量永远固定。
比如“苹果”在“咬了一口苹果”和“买了最新款苹果”中,语义完全不同,但静态向量无法区分——因为模型只记住了“苹果”整体的平均上下文,没保留具体句子中的动态搭配。
这就引出了后续演进:BERT 等模型不再为“词”建模,而是为“词在句中的出现”建模。它把整句话送进去,让“苹果”的输出向量自动融合当前句子中“最新款”“买了”这些线索——这才是对分布式假设更精细的实现:不是“苹果通常和什么共现”,而是“这句话里,‘苹果’正和什么共现”。


















