You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

fastText中Subword输入向量是什么?哈希子词向量形式困惑

Subword输入向量到底怎么回事?

先给你掰明白核心逻辑:你说的哈希得到数字,这个数字是subword在嵌入矩阵里的索引,模型实际用的输入向量是这个索引对应的嵌入向量,不是哈希数字本身。

拿你举的例子说:

  • 你提到单词eating的独热向量[0,0,0,1,0,0,0,0,0],本质是它在词汇表排第4位(索引从0算就是3),模型实际输入的是这个位置对应的嵌入向量(独热只是直观展示,训练时直接用索引查表就行)。
  • 至于subword“eat”“ati”“ing”:
    • 第一步,它们会被哈希映射到唯一整数索引(比如假设“eat”哈希后是5,“ati”是7,“ing”是2);
    • 第二步,用这个索引去查subword嵌入矩阵,拿到对应的稠密向量。比如“eat”对应的就是矩阵第5行的向量,长这样:[0.2, 0.1, -0.3, ...](长度和模型的嵌入维度一致);
    • 划重点:单词的独热向量是词汇表维度的稀疏向量,而subword的输入向量是嵌入维度的稠密向量——这是两个不同阶段的表示,独热是索引的稀疏写法,嵌入向量才是模型真正接收的输入。

额外补充(对应相关论文的核心思路)

用哈希处理subword是为了搞定未登录词(OOV)的问题:就算某个单词不在总词汇表里,拆成subword后也能靠这些小单元的组合来表示。哈希出来的数字就是个“地址”,用来快速找到嵌入矩阵里对应的向量,最终输入模型的是这个向量,不是哈希数字。

内容的提问来源于stack exchange,提问作者Gin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 01:31:05