2017-08-27 86 views
0

我有一个文本语料库,我想从字符开始寻找单词的嵌入。所以我有一系列字符作为输入,我想将它投影到多维空间中。学习使用已经学过的单词嵌入的字符嵌入

作为初始化,我想适应已经学过的单词嵌入(例如,Google嵌入)。

我有些疑惑:

  1. 我需要用一个字嵌入矢量在输入序列中的每个输入 性格吗?如果我只使用ascii或utf-8编码使用 ,会不会是一个问题?
  2. 尽管什么是输入 矢量定义(VEC嵌入,ASCII ......)这真的混乱 选择合适的型号有多种选择,但林不知道 哪一个是更好的选择:seq2seq,自动编码器,lstm, multi-regressor + lstm?
  3. 你能给我任何样本代码 keras或tensorflow?

回答

0

我回答每一个问题:

  1. 如果你想利用字符的相似性(音译相似的那个区域远的亲戚也行),你需要嵌入层。编码是符号输入,而嵌入是连续输入。有了符号知识,任何一种泛化都是不可能的,因为你没有距离(或相似性)的概念,而嵌入时可以使用相似的输入(以及泛化)。但是,由于输入空间非常小,短嵌入就足够了。

  2. 该模型高度依赖于您想要捕捉的现象的类型。我经常在文学中看到的一个模型,在不同的任务中看起来工作得很好,它是一个多层双向的字符,顶部有一个线性层。

  3. 该代码类似于Tensorflow的所有RNN实现。开始的一个好方法是Tensorflow教程https://www.tensorflow.org/tutorials/recurrent。创建双向功能是https://www.tensorflow.org/api_docs/python/tf/nn/static_bidirectional_rnn

从以往的经验,我有问题,以适应使用字符模型基于词的词的嵌入。原因在于,如果没有语义相似性,基于单词的模型会将形态上相似的单词放得很远。基于字符的模型无法做到这一点,因为无法很好地区分形态上类似的输入(在嵌入式空间中非常接近)。

这就是为什么在文学中人们经常使用字符模型作为字模型的补充而不是“本身”模型的原因之一。如果一个人物模型足以同时捕捉语义和形态的相似性,那么这是一个开放的研究领域。

+0

嗨朱塞佩,谢谢你的回复,但是我真的需要角色嵌入,或者换句话说,在这种情况下,为什么我需要概括角色相似性? –