关于DSSM模型中word hashing(词哈希)技术的相关疑问
关于Word Hashing(词哈希)的详细解释
你对论文里Word Hashing的理解完全正确!我再帮你补充一些关键细节,让这个逻辑更清晰:
- 核心分解逻辑:
处理单词时,首先会给单词前后加上特殊边界符#(这个符号是为了标记单词的起始和结束,避免不同单词的首尾字母组合混淆)。拿单词look举例,处理后变成#look#,再用长度为3的滑动窗口截取,就得到了你说的#lo,loo,ook,ok#这四个字母三元组。 - 向量转换方式:
把所有可能的字母三元组(包括带边界符的)预先构建一个固定大小的集合,每个三元组对应稀疏向量的一个维度。目标单词的三元组对应的维度设为1,其余维度为0,就得到了它的稀疏向量表示。 - 降维优势:
传统one-hot词向量的维度等于整个词汇表的大小,动辄几十万甚至上百万;而字母三元组的总数是固定的(比如英文字母+边界符共27种字符,三元组总数是27³=19683),维度直接降到了不到两万,极大压缩了向量空间。 - 你提到的“几乎很少出现”的情况:
这里指的是哈希冲突——也就是不同的单词可能生成完全相同的三元组集合。但实际场景中这种概率极低,因为不同单词的字母序列要刚好对应完全一致的三元组组合,几乎是小概率事件,所以对模型的语义理解影响微乎其微。
内容的提问来源于stack exchange,提问作者dontloo
相关产品推荐
相关产品推荐

