机器人之机器人--寒暄库(4)
小标 2018-09-28 来源 : 阅读 3330 评论 0

摘要:本文主要向大家介绍了机器人之机器人--寒暄库(4),通过具体的内容向大家展现,希望对大家学习机器人有所帮助。

本文主要向大家介绍了机器人之机器人--寒暄库(4),通过具体的内容向大家展现,希望对大家学习机器人有所帮助。


 目前智能QA系统都是基于seq2seq模型来开发(如google),seq2seq模型基于one-hot的词嵌入,每个词用一个数字代替不足以表示词与词之间的关系,word2vec通过多维向量来做词嵌入,能够表示出词之间的关系,比如:男-女≈王子-公主。基于seq2seq的思想,利用多维词向量来实现模型,预期会有更高的准确性。(~~说人话:就是把每个汉字按照一定的规则转换为一个多维矩阵表示,联系越紧密的词,在空间上距离越近,那么我们就可以得到各种近义词,如 高兴=开心 等)
  
 so 为什么要基于seq2seq模型来做智能问答,其他模型不行吗?
   
 答案 是yes。其他模型也可以完成一个比较好的QA模型,业界流行2大方法论:1、基于文法规则的NLP,2、基于统计学的NLP。只是这2种方式的实现的代价不一样。基于文法规则的来做NLP,优势是准确率会非常高,你想想,每个组词规则、每句话的主谓宾都给你标出来,这样的NLP如果做出来了是接近完美的;劣势也很明显,工作量太巨大,汉语光汉字就有几万个,组词规则会更多,很难做到完全统计,难以快速迭代应用。相反基于统计学的NLP(seq2seq是统计学模型),他的准确率未必会有前者高,但是他的兑现速度快,可以在实际应用过程不断迭代,提高准确率。这种方法的思路就是基于一批有限规模的语料库,做机器学习,让机器不断学习文法规则,以适用于某一特定领域,达到智能交互的目的。当前比较大厂商的QA都是基于第2中方法的思路来做,比如:京东、图灵、百度等。
  
 接着谈什么是seq2seq,为什么在统计学的诸多模型中,要选用他?
   
 在网上找的一个简洁的说明,主要参考《Sequence to Sequence Learning with Neural Networks》这篇论文,核心思想如下图:
    
  ABC是输入语句,WXYZ是输出语句,EOS是标识一句话结束,图中的训练单元是lstm,lstm的特点是有长短时记忆,所以能够根据输入的多个字来确定后面的多个字,有关lstm的知识可以参考《//deeplearning.net/tutorial/lstm.html》
    上面的模型中编码器和解码器共用了同一个lstm层,也就是共享了参数,牛人们尝试把他们分开像https://github.com/farizrahman4u/seq2seq中提到的样子:
    
  其中绿色是编码器,黄色是解码器,橙色的箭头传递的是lstm层的状态信息也就是记忆信息,编码器唯一传给解码器的就是这个状态信息
   我们看到解码器每一时序的输入都是前一个时序的输出,从整体上来看就是:我通过不同时序输入"How are you ",模型就能自动一个字一个字的输出"W I am fine ",这里的W是一个特殊的标识,它既是编码器最后的输出,同时又是解码器的一个触发信号
   那么我们训练的时候输入的X,Y应该是什么呢?X="How are you ",Y="W I am fine "?
   这是不行的,因为在解码器还没有训练出靠谱的参数之前,我们无法保证第一个时序的输出就是"I",那么传给第二个时序的输入就不一定是I,同样第三、四个时序的输入就无法保证是am和fine,那么是无法训练出想要的模型的
   我们要这样来做:我们直接把解码器中每一时序的输入强制改为"W I am fine",也就是把这部分从我们训练样本的输入X中传过来,而Y依然是预测输出的"W I am fine ",这样训练出来的模型就是我们设计的编码器解码器模型了
   那么在使用训练好的模型做预测的时候,我们改变处理方式:在解码时以前一时序的输出为输入做预测,这样就能输出我们希望输出的"W I am fine "了
   
 我们采用seq2seq模型的最主要原因就是模型拥有长时记忆能力,而且记忆能力可以根据我们的需求进行控制,这种特性在我们汉语处理中至关重要。有时候一句话的意思需要头和尾加在一起我们才能完全理解,这个道理同样适用机器。

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标人工智能智能机器人频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程