1. 从词到向量:语言数字化的演进之路
自然语言处理的第一步,是将离散的文字符号转化为连续的数值表示。这个看似简单的需求背后,隐藏着语言理解的本质难题。2000年初我在处理中文分词项目时,第一次深刻体会到词向量质量对下游任务的致命影响——当时用one-hot编码训练的文本分类器,准确率始终卡在60%的瓶颈。
1.1 独热编码的维度诅咒
独热编码(One-hot Encoding)是最直观的表示方法。假设词表包含5万个中文词语:
- "猫" = [1,0,0,...,0](第1维为1)
- "狗" = [0,1,0,...,0](第2维为1)
这种表示存在三个根本缺陷:
- 维度灾难:词表增长直接导致向量维度爆炸,5万维的稀疏向量会耗尽计算资源
- 语义缺失:所有向量两两正交,"猫"和"狗"的相似度与"猫"和"汽车"完全相同
- 多义混淆:无法区分"苹果手机"和"苹果水果"中的同形异义词
我在2012年参与电商评论分析时,曾尝试用TF-IDF加权one-hot向量,发现对"这款手机很烫"(指发热)和"这款手机很火"(指畅销)的语义区分完全失效。
1.2 词嵌入的语义革命
Word2Vec的横空出世彻底改变了局面。通过神经网络学习到的300维稠密向量,展现出惊人的语义特性:
- 向量运算:king - man + woman ≈ queen
- 相似度计算:cos("微软","苹果") > cos("微软","香蕉")
- 领域聚类:技术术语会自然聚集在高维空间的同一区域
这里有个关键实现细节:负采样(Negative Sampling)技术大幅提升了训练效率。假设窗口大小为5,当前词是"人工智能",那么:
- 正样本:("人工智能","深度")、("人工智能","学习")
- 负样本:随机采样非上下文词如("人工智能","足球")
通过这种对比学习,模型被迫捕捉真正的语义关联而非表面共现。我在金融舆情分析项目中实测发现,基于领域语料微调的词嵌入,能使"加息"与"国债收益率"的向量相似度从0.3提升到0.7。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 语境建模的范式转移
2.1 RNN/LSTM的序列困境
早期参与机器翻译项目时,我们使用LSTM处理句子,发现两个典型问题:
- 长距衰减:超过20个词后,句
