赞
踩
“ 之前写过对话机器人做法,接上文,本文介绍几个闲聊机器人API以及如何训练一个闲聊机器人”
01、闲聊机器人API
这里的闲聊机器人API指提供非特定领域、任务无关的人机对话接口,下文列举的接口,除了闲聊功能,可能还支持自定义任务、技能等,会单独指出。
云小蜜(Intelligent Service Robot)是一款基于自然语言处理(NLP)和人工智能(AI)技术提供智能会话能力的云服务。无需亲自掌握NLP、AI等技术,您就可以使用云小蜜创建自己的会话机器人,将机器人部署在不同终端上(如网站、移动APP、智能硬件等),为您的客户提供服务。
云小蜜强大之处在于可自由配置的会话流程控制、知识库、训练自定义的机器人功能、以及业务相关的会话统计,它是完整的、低门槛的、能快速满足业务需求的对话机器人的方案。
微信对话开放平台是以对话交互为核心, 为有客服需求的个人、企业和组织提供智能业务服务与用户管理能力的技能配置平台, 技能开发者可利用我们提供的工具自主完成客服机器人的搭建.
微信对话开放平台对公众号接入非常友好,只要简单的绑定就可以在微信上使用(就不必像之前文章那样手写服务)。对话开放平台内置了许多技能,使用者也可以开发自己的技能,开发技能也有像云小蜜那样可配置的会话流程控制。
闲聊功能做成了微信对话机器人的一个技能,通过开启该技能点,既可轻松拥有一个微信公众号闲聊机器人。
结构和微信开放平台很像,可以轻松的添加预置技能(包括闲聊技能),只要简单的绑定就可以在微信上使用(就不必像之前文章那样手写服务)。
图灵机器人是一家以语义和对话技术为核心的人工智能公司,在人工智能机器人领域拥有数百项核心专利。
图灵机器人支持配置知识库、它也内置了许多技能,可以根据需要开通。图灵机器人不支持会话流程控制。
比较贴心的一点是图灵机器人也提供了微信公众号API的接入功能,使用它可以轻松的为公众号接入闲聊机器人。
以上介绍了几个简单易用的闲聊机器人(实际上它们的能力不止于闲聊),有需要的朋友可以快速上手使用。
02、如何训练一个自己的闲聊机器人
考虑对话问题可以将其抽象最优化对话目标。目标应对话性质而异:对问答型对话,目标应是答案正确率;对任务导向的对话而言,目标可以是任务完成与否、完成所需的对话轮次;对非任务导向的闲聊的对话而言,目标可以是人的体验情绪、持续对话轮次、回复句子的合理性等。
一个典型的对话系统结构如下,各个模块各司其职,组合成Pipeline
另一种思路也是当前正在研究探索的是端到端的解决方案,寻找一个query和answer的映射,其中的context、target都被包含在神经元的结构和权重中。
后一种方法目前也遇到了许多的困难,如训练成本、解释性、拓展性,接下来还是采用后一种方法,来训练一个简单的闲聊机器人。
训练一个单轮闲聊机器人
得益于Transformer架构的出现,很好的兼顾长距离信息和学习效率,语言模型的各种性能指标提升巨大。对预训练的语言模型接下游任务后进行微调,既可以获得有着充分语义表达的、适合特定任务的模型。
在这里,训练一个单轮闲聊,可以把问题构建为给定 Q 生成对Q的A,无需考虑context,显然可以认为是依据Q生成了A,图示为:
模型训练的损失(最优化目标)则为CE损失和:
然后训练就完事了。因为懒,我没跑,但有兴趣的同学可以参考:
03、完结撒花
至此,[Play with Python] 第二期,闲聊机器人相关的文章暂时告一段落,以后要补充的话再重新开,完结撒花✿✿ヽ(°▽°)ノ✿。
公众号的聊天功能将换成微信的聊天机器人,把罗伯特Ⅲ型下线了,有和罗伯特Ⅲ型对话过的同学并且发现它的彩蛋的同学将会收到小礼品一份。多谢关注。
相关文章
系列预告
[play with python]系列文章将写生活中一些python的小应用,主题大概包括数据分析、自然语言处理、任务自动化等,争取周更,欢迎关注。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。