侵权投诉
焊接机器人 喷涂机器人 搬运机器人 装配机器人 切割机器人 其它机器人
订阅
纠错
加入自媒体

深度:解密巨头们所关注的聊天机器人

2016-08-11 16:27
seele_jin
关注

  chatbot是最近一段时间非常火的一个词或者一个应用,不仅仅各大新闻媒体在热炒bot的概念,各大巨头也投入巨大的资源进行研发,arxiv上刷出bot相关的paper也更是家常便饭。炒作归炒作,PR归PR,不得不说一个尴尬的事实是市面上确实难以找到一个真正好用的bot。bot按照涉及的领域,分为开放域(open-domain)和面向具体任务(task-oriented)的bot。开放域要做的事情很大,更像是一个什么都能搞的平台,不管你提什么样的需求,它都能够解决,有点trueAI的意思,而面向任务的bot则专注做好一件事情,订机票,订餐,办护照等等。

  说到开放域bot,大家接触最多的也就是一些回答非常无厘头的娱乐用bot,比如很多年前活跃在各大社交网站上的小黄鸡,现在市面上活跃着很多号称掌握了bot技术,在用深度学习解决bot技术的bot公司,都是这种,解决不了什么实际问题,就是能和大家聊上两句,而且很多时候回答都是牛头不对马嘴的,十分可笑。

  再说task-orientedbot,市面上最多的就是客服机器人,银行也好,电商也罢,不想重复性地回答用户的问题,就用一个客服机器人来应对,且不说效果如何,开发一个具体task的bot需要费不少工夫,而且后期还要大量的维护,因为太多的handcraftedfeatures被用到,整个bot的框架横向扩展性相对来说较差,换一个场景基本上就需要重新开发一套,人力成本太高了。

  bot的理想非常丰满,大公司描绘的场景也确实很美,但现实的bot却狠狠地浇了一盆冷水下来。期望越高,失望越大。如果媒体一味地吹捧bot,仿佛整个世界明天就会是bot的了,对bot的发展并无益处,捧杀只会带来气泡,破裂之后,一切如初。

  功能强大的、开放域的bot在短期内是比较难实现的,但是如果降低期望,将bot不应当做是一种技术层面的革命,而应当做交互层面的革新才是理性的态度,bot作为一种入口,可能大家都不再需要一个随身携带的终端,只需要找到一个可以识别身份,可以联网的硬件,比如一面镜子,就可以执行很多的task,订机票、买东西等等等等。bot这个时候起到的是一个操作的入口和背后执行各种不同task的黑箱,我们不需要看到整个执行过程,也不需要知道原理是什么,通过一些简单的语言交互,就能完成一些复杂的task,终端要做的事情就是反馈结果和接收输入,执行的过程都在云端,各种bot云。

  而这一切的关键是解决好task-orientedbot,用更多datadriven的解决方案来代替传统的人工features和templates。

  问题描述

  bot是一个综合性的问题,涉及到下面三个主要问题:

  1、responsegeneration(selection)

  对话生成是最后一个步骤,是输出的部分。简单总结下,有四种solutions:

  solution1直接根据context来生成对话,这方面最近的paper非常地多,尤其是seq2seq+attention框架席卷了NLP的很多任务之后,对话生成的benchmark也一次又一次地被各种model刷新着。对话生成的问题,被定义为基于某个条件下的生成模型,典型的根据context来predictwords,涉及到句子生成的问题,评价问题就会是一个比较难的问题。

  solution2当然有的paper并不是将对话生成定义为语言模型问题,而是一个nextutteranceselection的问题,一个多选一的问题,给定一个context,给定一个utterancecandidatelist,从list中选择一个作为response,当然这类问题的难度会小很多,评价起来也非常容易,但是数据集准备起来要多花一些功夫,而且在实际应用中不好被借鉴。

  solution3rule-based或者说template-based,response的最终形式其实是填充了一个模板而成的,大多数的东西是给定的,只有一些具体的value需要来填充。这一类解决方案很适合做task-orientedbot,但过多的人工features和templates导致了其难以移植到其他task上。

  solution4query-based或者说example-based,response是来自于一个叫做知识库的数据库,里面包含了大量的、丰富的example,根据用户的query,找到最接近的example,将对应的response返回出来作为输出。这一类解决方案非常适合做娱乐、搞笑用的bot,核心技术在于找更多的数据来丰富知识库,来清洗知识库。但毕竟respnose是从别人那里拿出来的,可能会很搞笑,但大多数会牛头不对马嘴。

  2、dialogstatetracking(DST)

  有的paper称DST为belieftrackers,这个部件其实是bot的核心,它的作用在于理解或者捕捉userintention或者goal,只有当你真的知道用户需要什么,你才能做出正确的action或者response。关于这个部分,会有DialogStateTrackingChallenge比赛。一般来说都会给定一个state的范围,通过context来predict用户属于哪个state,有什么样的需求,是需要查询天气还是要查询火车票。

1  2  3  4  5  6  7  8  下一页>  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

技术文库

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号