hzy46 / Char-RNN-TensorFlow

Multi-language Char RNN for TensorFlow >= 1.2.
938 stars 424 forks source link

word_embedding #8

Open JianbingDong opened 6 years ago

JianbingDong commented 6 years ago

您好,看完您的代码之后,我有一些不太能够理解的地方,希望您能帮我解决一下。

  1. 为什么英文字母就用one-hot就行了,而中文就需要用embedding层。不同的英文单词之前也是应该有联系的吧?
  2. 为什么embedding层使用的是一个随机变量来查找出单词的vector。这样的话,每个词的向量表示,不就是随机的了吗?那这个词有什么具体的含义呢?
sunnima commented 5 years ago
1. 中文汉字太多,4000多个好像,如果用one-hot,稀疏度太高,模型参数太多,英文字母字符一共67个
2. 不论使用one-hot还是embedding来表达字母或者汉字,都是为了区分开不同的词而已。one-hot表达的向量具有正交性,embedding则完全随机,,区别嘛,不好说,哈哈