别再死记硬背了!用Python画个动图,5分钟搞懂Moore和Mealy状态机的区别
2026/5/27 4:37:58
在2013 年之前,机器对单词的理解是孤立的。比如“猫”被表示为[0, 0, 1, 0],“狗”是[0, 1, 0, 0]。这种One-hot(独热编码)无法表达词与词之间的关系。
Tomas Mikolov及其团队提出的Word2Vec,通过“看一个词的邻居”来学习词的含义,将单词转化为稠密的低维向量。
| 作者 | 国籍 | 机构(2013 年时) | 核心贡献 |
|---|---|---|---|
| Tomas Mikolov | 捷克 | 提出了高效训练词嵌入的方法 CBOW 和 Skip-gram。 | |
| Kai Chen | 中国 | 核心架构开发者。 | |
| Jeffrey Dean | 美国 | Google 大神,支持模型的大规模并行实现。 |
| 信息项 | 详情 |
|---|---|
| 论文题目 | Efficient Estimation of Word Representations in Vector Space |
| 发表年份 | 2013 年 |
| 出版刊物 | ICLR Workshop |
| 核心命题 | 如何高效地将海量单词映射到低维、稠密的向量空间中,使向量的几何关系能代表语义关系? |
词向量本质上是一串固定长度的数字。
这是一个最常被误解的点。
猫 = [0.12, -0.5, 0.88, ... 共300个]。虽然机器不会给每个维度取名,但你可以想象这 300 个数字代表了 300 个**“属性”**:
Word2Vec 第一次证明了语义可以进行代数运算:
这说明模型在 300 维的空间里,成功提取出了**“性别”**这个方向。
通过计算两个向量之间的余弦夹角,机器可以瞬间找出“电脑”的最相近词是“计算机”还是“西瓜”。
他们做了什么:以前电脑认字就像看门牌号,1 号房和 2 号房没啥关系。现在科学家给每个字发了一张“多维度体检表”。
怎么做的:
结果:机器终于不用死记硬背单词,而是通过空间距离理解了人类语言的深层含义。
下一篇预告:Word2Vec 虽然厉害,但它有个硬伤:在它眼里,“苹果”永远只有一个坐标。但“苹果”既是水果也是手机。下一篇(第二十一篇)我们将解读ELMo (2018),看它如何根据语境给单词生成“动态”的坐标。