不确定这是不是正确的地方,朋友告诉我去这里。我想制作一个在培训期间接收文本的AI,然后根据用户"样本"提供新文本。它(这对于聊天程序来说不是)。
例如,如果我输入以下内容进行培训:
abc123,test,example
def456,work,coolio
以及以下样本:
ghi789,what
它应该根据它知道的内容输出基于的内容,但不是它所知道的完全复制品(除非输入用于训练)。
这可能吗?这有现成的模型吗?我在考虑char-rnn,但它在采样过程中不允许自定义输入。
很抱歉,如果这是错误的地方,或者本网站不允许这样做。我已经进行了广泛的研究但却找不到任何东西。我知道TensorFlow的一小部分但不足以从头开始。
提前致谢!
答案 0 :(得分:1)
角色RNN将是一个很好的开始。如果您是该领域的新手,那么它绝对是最好的开始,因为有很多教程和示例可以帮助您开始,因为我们知道它们有效。
阅读Karpathy的优秀博客&论文:http://karpathy.github.io/2015/05/21/rnn-effectiveness/
您当然可以在采样期间提供自定义输入。一旦网络被训练,您可以采用多种不同的方式进行采样,事实上,您必须至少提供第一个字符作为"自定义输入"。
典型的采样模式是随机选择第一个字符作为第一个RNN序列步骤的输入。然后RNN将在字母表上产生概率分布,您可以从中随机抽样下一个字符。
对于第二个字符,让我们说你从RNNs概率分布中采样,然后随机选择的字符成为下一个RNN序列步骤的输入。等等以下字符。
请注意,没有什么可以阻止您播种多个字符序列,忽略每个步骤的RNN输出,然后在某些输入序列完成后对RNN输出进行采样。从而实现了以自定义输入序列开始然后继续的目标。我希望这种方法能够很好地适合你。