Seq2seq多输入功能(传递多个字/字标记作为输入)

时间:2017-07-23 06:46:24

标签: tensorflow deep-learning recurrent-neural-network pytorch sequence-to-sequence

是否有办法将额外的功能标记与现有的单词标记(训练功能/源文件词汇表)一起传递并将其提供给seq2seq的编码器RNN?因为,它目前只接受句子中的一个单词标记。

让我以更具体的方式提出这个问题;考虑机器翻译的例子/ nmt - 假设我有2个相应的源词汇集(此处为Feature1)的特征列。例如,请考虑以下因素:

+---------+----------+----------+
|Feature1 | Feature2 | Feature3 | 
+---------+----------+----------+
|word1    |    x     |     a    |
|word2    |    y     |     b    |
|word3    |    y     |     c    |
|.        |          |          |
|.        |          |          |
+---------+----------+----------+

总而言之,目前seq2seq数据集是并行数据语料库,其源特征(词汇,即单独的Feature1)与目标(标签/词汇)之间具有一对一的映射。我正在寻找一种方法将多个特征(即Feature1,Feature2,Feature3)映射到目标(标签/词汇)。

此外,我相信这在seq2seq-pytorch教程(https://github.com/spro/practical-pytorch/blob/master/seq2seq-translation/seq2seq-translation.ipynb)中有所掩盖,如下所述:

  

当使用单个RNN时,它们之间存在一对一的关系   输入和输出。我们很快会遇到不同的问题   翻译期间常见的序列和长度......   seq2seq模型,通过将许多输入编码到一个向量中,和   从一个向量解码到多个输出,我们从中解放出来   序列顺序和长度的约束。编码序列是   由单个向量表示,在一些N维中表示单个点   序列空间。在理想的情况下,这一点可以被认为是   序列的“含义”。

此外,我尝试了tensorflow并花了我很多时间来调试和进行适当的更改而无处可去。并且从我的同事那里得知,pytorch可以灵活地这样做,值得一试。

请分享您对如何在tensorflow或pytorch中实现相同的想法。任何人都会告诉我们如何实际完成/完成这项工作。提前谢谢。

0 个答案:

没有答案