我想开始尝试神经网络,所以我决定使用它们制作一个聊天机器人(比如 Cleverbot,反正它不是那么聪明)。
我四处寻找一些文档,发现很多关于一般任务的教程,但很少有关于这个特定主题的教程。我发现的那个只是暴露了结果,而没有提供有关实施的见解。那些做的,做得很浅(seq2seq 上的 TensorFlow 文档页面是缺乏的,恕我直言)。
现在,我觉得我可能或多或少地理解了这个原理,但我不确定,我什至不知道如何开始。因此,我将解释我将如何解决这个问题,并且我希望得到关于这个解决方案的反馈,告诉我我错在哪里,并且可能有任何链接到详细的解释和关于这个过程的实践知识。
我将用于该任务的数据集是我所有 Facebook 和 WhatsApp 聊天记录的转储。我不知道它会有多大,但可能还不够大。目标语言不是英语,因此我不知道在哪里可以快速收集有意义的对话样本。
我将从每个句子中生成一个思想向量。实际上,仍然不知道如何;我在 deeplearning4j 网站上找到了 word2vec 的一个很好的例子,但没有一个句子。我了解如何构建词向量以及为什么构建词向量,但我找不到句子向量的详尽解释。
我将使用思想向量作为输入和输出来训练神经网络。我不知道它应该有多少层,哪些必须是 LSTM 层。
然后应该有另一个神经网络能够将思想向量转换为组成句子的字符序列。我读到我应该使用填充来弥补不同的句子长度,但我想念如何编码字符(代码点是否足够?)。