第7章 训练能像人类一样讨论的

聊天机器人 在本章中,我们将介绍如何训练一个能自动回答简单、常见问题的聊天机器人,以及如何创建HTTP端点以便通过API给出回答。

本章主要包括以下内容:

  • 语料库是什么,以及如何对语料库进行预处理;
  • 训练聊天机器人并对其进行测试;
  • 创建HTTP端点以便通过API提供给出回答。

如今,聊天机器人越来越多地用于为用户提供帮助。包括银行、移动通信公司和大型电子商务平台在内的许多公司,都用聊天机器人帮助客户解决问题以及提供售前支持。网站的问答页面并不能满足用户的需求:用户都希望得到针对自己问题的回答,而这个问题可能并没有在问答页面中涉及。此外,聊天机器人可以帮助公司省去为了回答各种琐碎问题而提供的额外客户服务。因此对于公司来说,使用聊天机器人是一个益处良多的方案。

随着深度学习的流行,聊天机器人成了非常流行的工具。借助深度学习,我们可以训练聊天机器人,使之可以提供更好、更个性化的回答,并且在其最终运行的时候能够保存每个用户的历史信息。

简单来说,主要有两种类型的聊天机器人:第一种类型的聊天机器人很简单,它试图理解问题中的“主题”,总是就同一主题的所有问题给出相同的回答。例如,在火车站网站上,对于问题“我在哪里可以找到城市A到城市B的服务时间表?”以及“离开城市A的下一班火车在什么时候出发?”聊天机器人很可能会给出同样的回答,即“您好!服务时间表在这个网页上:<链接地址>”。

这种聊天机器人实际上使用分类算法理解主题(本例中,两个问题都是关于服务时间表的)。给定一个主题,聊天机器人总会给出相同的回答。通常,这种聊天机器人有一个包含N个主题和N个回答的列表;如果被分类主题的概率很低(当问题太模糊或者主题不在列表中时),聊天机器人通常会问一些更具体的问题并让用户重复问题,最终给出问题的其他解决途径(例如,发送邮件或者拨打客服中心电话)。 ...

Get TensorFlow深度学习项目实战 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.