2

有没有办法将额外的特征标记与现有的单词标记(训练特征/源文件词汇表)一起传递,并将其提供给 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 中实现相同的想法。任何人都会告诉如何实际实施/完成这项工作。提前致谢。

4

0 回答 0