词向量在各个历史阶段的经典模型
one-hot
词表有多大,每个词的词向量就有多少维
不足
- 稀疏。
- 没有语义信息。
LSA
LSA(Latent Semantic Analysis)潜在语义分析:
假如5w个词;就统计一个5w* 5w的共现矩阵,每行就是这个词的词向量(5w维),但这样不好用,对共现矩阵做SVD分解(降维),再作为词向量。
好处是利用了全局语料特征,包含一定的语义信息,但有限
不足
SVD求解计算复杂度大
Word2Vec
两种训练框架:
- CBOW:上下文预测中心词
- skip-gram:中心词预测上下文 (word embedding多用这种)
两种加速方式:
- Hierarchical Softmax(Huffman softmax)
- 将\(V\)分类问题,转换成了\(log(V)\)个二分类问题,每个结点用逻辑回归做二分类
- 为啥要叫softmax呢?因为叶节点之和为 1
- 负采样
- 将\(V\)分类问题,转换成二分类问题(对/错),不仅告诉模型什么词语组合是对的,还告诉了什么组合是错的,所以有负采样性能会提升。
word2vec的词向量考虑到了词的前后一定窗口内的上下文语义信息,且表示更加稠密。
不足
- 词向量是静态的,一词多义无法解决。
- 基于局部语料
Glove
\(w^T_iw_j+b_i+b_j = log(X_{ij})\)
构建词向量与共现矩阵的近似关系,精讲博客
基于全局预料,结合了LSA和word2vec的优点
不足
- 词向量是静态的,一词多义无法解决。
ELMo
使用双向LSTM来对句子的每个词建模
-
相比于word2vec具有更深的网络层次,可以捕获到更高级别的语法、语义等信息;
-
同时结合了前向和后向表征,有效地融合了上下文特征,更好地表征一词多义;
不足
- 并行能力差
- LSTM处理长依赖问题弱于bert
Bert
使用Attention机制代替RNN,解决长依赖问题,可以并行化
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?