NLP中的词嵌入,一文讲透NLP中的词嵌入到底是什么(上篇)

张开发
2026/4/9 5:04:56 15 分钟阅读

分享文章

NLP中的词嵌入,一文讲透NLP中的词嵌入到底是什么(上篇)
你肯定听过这句话计算机只懂数字不懂文字。那问题来了——我们想让电脑理解“猫”和“狗”是有相似之处的“国王”减去“男人”加上“女人”应该得到“王后”这怎么做到答案就是一种叫词嵌入的技术。词嵌入是什么说白了就是给词找个“数学坐标”想象一下。你把全世界所有的词都放到一个巨大的空间里。每个词都有一个自己的位置就是一串数字比如 [0.23, -0.47, 0.81, ...]。意思相近的词位置挨得近。“快乐”和“高兴”挨着“苹果”和“橘子”挨着。意思相反的词离得远但方向上有关系。“热”和“冷”可能离得不近但它们在“温度”这个轴上的方向是相反的。这一串数字就叫这个词的嵌入向量embedding vector。把词变成这种向量的过程就是词嵌入。你可以粗暴地理解成给每个词发了一张身份证身份证上的数字编码了它的“含义”。为什么会出现词嵌入为了解决什么核心问题最早的时候人们想让计算机处理文字用的方法很原始。第一种独热编码One-Hot比如词典里有10000个词。“猫”是第1个词就用 [1,0,0,0,...] 表示。“狗”是第2个词就用 [0,1,0,0,...] 表示。这有什么问题维度灾难一万个词就要一万维太大。毫无关系你算一下“猫”和“狗”的向量距离永远是0因为任何两个不同词的向量正交。计算机看不出它们都是动物。浪费每个向量只有一个1其他全是0太稀疏。第二种词袋模型不考虑顺序只统计词出现几次。“我 爱 你”和“你 爱 我”向量一样。丢失了语序信息而且同样解决不了相似性问题。于是大家意识到我们需要一种方法既能压缩维度又能把词的“含义”用数学表达出来——相近的词在向量空间里也相近。词嵌入就是为这个而生的。

更多文章