李宏毅nlp学习笔记11:Chatbot
1.同一输入可以有不同的输出:
2.结果出现:Inconsistent:
防止出现上述的一个问题,不同的问法会给出不同的答案:
给bot一个人物设定:
3.Emotion:
4.Character:模仿名人讲话:
5.训练方法1:直接训练。
需要大量的某一种语气的语料进行训练。
如果语料少的话,可以放在MAML。
6.训练方法2:标注出来特性。
将文本事先标注好积极还是消极。
这样就不会出现,给一个问题,2种不同的输出都可以,会很难训练的。
自己决定输出的类别:
CTRL:
TransferTransfo
根据自己的人物设定来讲话:
7.方法3:Monologues only:
没有办法收集到Trump和其他人的对话,但是我们有很多Trump的演讲。
三种方法:
1.从给的monologue中,抽取一些句子作为回答。
2.用monologue训练一个模型,然后用模型对对话模型进行微调。
3.用monologue的每一句来预测问题。转化为Dialogue的语料。
和上述2(Multiply)差不多的一种方法:
上面的seq2seq是问答模型。
下面的autoencoder则是输入和输出相同
这两个模型的decoder使用完全相同的参数。
另一种方法:
用monologue训练一个classifier,判断模型输出的句子的风格像不像。
为了防止都输出一句相同的话,我们需要对上述模型加以一定的变化:
如 RL GAN。
一种限制是用输出可以差不多的预测输入。
一种限制是,限制改变原始输出的数量,如原始输出是“today is bad”,要进行修改,不能把所有的单词都改变了。