使用实数进行序列到序列学习

时间:2017-02-17 20:24:39

标签: machine-learning neural-network sequence deep-learning recurrent-neural-network

TensorFlow有一个关于sequence to sequence models的教程,展示了如何将英语翻译成法语。

在这些模型中是否可以使用实数而不是单词?

1 个答案:

答案 0 :(得分:0)

假设词汇表包含以下单词

[你好:0,a:1,:2,什么:3,是:4,问题:5,有:6,它:7,这个:8,听:9]

由于单词只在词汇表中出现一次,我们可以使用其各自的索引作为参考。 所以像

这样的句子

听有问题

将转换为像

这样的索引数组

[9,6,4,1,5]

所以这就是使用这种嵌入来表示单个输入句子的方式。这个嵌入了相应索引的词汇表连同这些索引句子的列表一起被输入网络,即索引语料库。

但这不会削减它,因为你的网络还需要学习它需要更多语义信息的单词之间的共同关系。这可以使用word2vec来实现。您可以使用经过训练的word2vec并获取词汇表中所有单词的向量,并将它们与这些索引相关联,并将其用作嵌入查找而不是word2index词典。

现在,您可以将所有单词索引映射到使用word2vec生成的相应单词向量,并将其存储在嵌入矩阵中,其中行索引是单词索引,每行是与该单词对应的固定长度单词向量。然后以Feed格式将此信息提供给您的网络。

或者,您也可以考虑单词意义或功能(单词,pos标签和ner标签的组合)并创建词汇表,然后创建类似的word2index和嵌入矩阵