人工智能聊天机器人(AI Chatbot)是一种能够通过自然语言与人类进行交互的智能系统。它们不仅具备搜索引擎的基本功能,还拥有更为丰富的特性。人工智能聊天机器人的应用领域广泛,包括电子商务、医疗保健、教育、旅游、自动化、金融、酒店业、保险等多个行业。这些聊天机器人根据其应用领域定制化,执行特定的任务,如回答客户咨询、预订服务(如航班、电影票)、产品推荐、收集反馈、提醒、支付账单、转账等。
聊天机器人可以从零开始构建,也可以使用现有的框架。一些流行的框架包括微软的Bot Framework、Wit.ai、Dialogflow、IBM Watson、Pandorabots和MobileMonkey。基于机器学习的Rasa Stack是其中一种框架,它提供了自定义模型、连接API、精确实体识别、意图识别和完全数据控制等功能。Rasa Stack的两个主要组成部分是RASA NLU和RASA Core。本文将探讨它们的功能和工作原理。
RASA NLU负责理解用户消息。这个框架部分是一个用于意图分类和从查询文本中提取实体的工具/库。目标是从用户消息中提取结构化信息。响应检索是通过实体和意图以及话语文本的组合来实现的。它包含不同的组件来提取意图和实体,这些组件可能需要额外的依赖项,例如Spacy、Tensorflow。尽管需要单独安装Spacy,但在安装Rasa时Tensorflow会自动安装。
当用户输入一条消息时,它会被传递给解释器,然后解释器将其转换为字典。跟踪器跟踪对话状态。当有新消息到达时,它会接收该信息。然后策略接收跟踪器的当前状态。策略决定要采取的行动,这将再次被跟踪器记录。这是为了跟踪对话的路径或流程。最后,由策略选择的响应将发送给用户。然后用户对从机器人收到的消息做出回应。这个循环一直持续,直到用户中断它。
意图、实体和故事是NLU训练数据的一部分,包括按意图分类的用户话语示例。训练示例也可以包括实体。从用户消息中提取的结构化信息片段称为实体。用户在给定消息中尝试说或做的事情称为意图。例如,消息:“如何发送电子邮件?”用户在这里询问如何向某人发送电子邮件。他打算发送电子邮件。那就是意图。意图:发送电子邮件。
从用户的消息中提取的结构化信息片段称为实体。助手需要为其用户目标提取的信息可以作为实体提取。除此之外,其他一切都可以被移除。例如,消息:“如何向爸爸发送电子邮件?”意图:发送电子邮件。这里的实体是,爸爸。那是除了意图之外需要的信息。