第一,我能保证每一个答案都可读性比较好,它自己至少可以撑一句,这个句子因为客观存在,必然合理,因为我是从网上挖的,所以说这句话可能是可读性可以保证的。 第二,因为我们有大量的数据源,只要你能控制得了,你能索引,没问题的话,我对于任何一个问题都能保证回复的多样性,至少不只是一个了。 第三,这个模型因为结构非常清晰,每一个模块拆解得比较细,debug 起来就很容易了。也就是说一个产品出了问题,我能相对比较快地定位到具体是哪个模块吃了问题,具体到哪个代码出了问题,这都比较容易。 对它来说,很难做的是什么呢?就是我刚才说的,你要让开,你要找问题和答案,然后重新排序,这个事情不像大家想象得那么简单,不像 IR 检索系统那么简单。详解请见知乎 Live 自动聊天系统中的主要问题及解决方案 其实在这个之前,我们铺垫一下,深度学习对于聊天系统来说意味着什么?深度学习现在是一个显学,就是好像大家都挺懂深度学习的,包括可能会有一些之前不知道是干什么的人现在也很懂深度学习,很奇怪。 聊天机器人中我们可以认为是深度学习一个非常好的实验场所,这里面我们实验了很多方法确实行之有效,而且我们清楚地知道有效的点是什么。但是也有一些方法看起来有效,其实并没有那么简单,我们需要做很多的事情,让它真的像传说中的那么有效。 这里面从浅到深,我们列了这么一个关系。比如说最浅层的就是词向量。比它深一层的是各种 NN,CNN、RNN 等等这些东西。刚才说的代表着第二个技术框架的生成序列的方法,还有交换学习,以及还有很多,最近比较火的是对抗学习,可能还有别的。反正深度学习各种方法,就和锤子一样,我拿了就砸一下,看看能不能砸开,砸得开是好东西,砸不开不一定是因为你的模型不好,可能是因为你对模型的理解不够。 第一,生成的答案和回复应该是能够引申出更多的聊天的轮数的,也就是说,在它这个基础上,更有可能用户回复说,我不知道,或者是随便,就是这样没有什么影响下一轮的对话的话,那这一轮的生成就是失败的。 第二,生成的东西,要能推动聊天的进展,而不是重复前面的内容,所以说,它要跟前面的信息有一个趋重的关系在。 第三,更重要的是说,生成的回复应该是语义上强相关于 query 的,强相关到什么程度,应该是反向也能生成回去。它把这三个 reward 加在一起,加权平均一下,直播,就是最后定义的 reward,剩下的东西就是故事了,大家都比较熟悉了。详解请见知乎 Live 目前面临的主要挑战 最主要的其实是目前的数据集不统一,训练数据还好一点,测试集非常不统一。公开的训练集有这么几个,一个是从无关图下来的很大的数据集,在这里面,也是我们做了一个它的子集,这个字迹在主题性上,以及整个对话质量上更高一些,现在也是有好几个论文在用这个集合。 接下来的挑战就是说,机器人自主聊天、基础聊天、主题聊天、以及任务型对话无缝切换。你不能要求人就跟我聊这个,你切换了以后得告诉我一下,不能这样的。所以说,他在无缝切换的时候,机器是否能判断,也实现无缝的切换,这是一个很难的点。详解请见知乎 Live 以上就是本次公开课的所有关键内容。 本次课程完整音频与 PPT,请点击「极客公开课·Live」第八期 (责任编辑:本港台直播) |