构建你的首个聊天机器人 | 数据小时

为了使数据科学学习更加引人入胜,启动了新的计划“数据小时”。这是一个由行业顶尖专家主讲的网络研讨会系列,他们在此分享并普及数据科学知识。2022年5月11日,有幸邀请到来自美国的Dr. Rachael Tatman博士,为带来了一场关于“构建第一个聊天机器人:Rasa(开源工具)方法”的数据小时会议。

Rachael拥有华盛顿大学的语言学博士学位。自2016年以来,她开始从研究的角度出发,与亚马逊和Alexa等语音助手和语音识别系统进行交互。目前,她是Rasa的员工开发者倡导者,帮助专业人士使用开源系统构建出色的AI对话项目。此前,她曾是Kaggle的开发者倡导者,Kaggle是谷歌的一部分,她致力于发展Kaggle平台并帮助Kagglers发展专业的数据科学技能。

是否对深入聊天机器人的世界感到兴奋?为提供了全面的会议要点:构建第一个聊天机器人:Rasa(开源工具)方法。

介绍

在本次会议中,将学习聊天机器人的概念,为什么需要聊天机器人,以及如何使用开源工具构建它们。这里提到的Rasa方法是一个开源工具,将用它来构建聊天机器人。这是一种处理早期手动辅助的新方法。机器学习算法已经充斥着市场,带来了更好和更改进的方法。

本次会议重点关注:

  • Rasa的概念及其工作原理
  • 聊天机器人如何工作
  • 聊天机器人的实时编码

什么是聊天机器人?

聊天机器人或聊天机器人是一种软件应用程序,用于通过文本或文本到语音在线聊天对话,代替直接与真人代理接触。聊天机器人是一种软件,可以通过自动化对话和通过消息平台与客户互动来帮助客户。设计用来模拟人类作为对话伙伴的行为,聊天机器人系统通常需要持续的调整和测试,许多在生产中的聊天机器人仍然无法充分对话。同时,它们都不能通过标准的图灵测试。

为什么使用聊天机器人

聊天机器人用于对话系统,包括客户服务、请求路由或信息收集。虽然一些聊天机器人应用程序使用广泛的词汇分类过程、自然语言处理器和复杂的AI,其他则扫描通用关键词,并使用从相关库或数据库中获得的常见短语生成响应。

大多数聊天机器人可以通过网站弹出窗口或虚拟助手在线访问。它们可以分为使用类别:商业(通过聊天的电子商务)、教育、娱乐、金融、健康、新闻和生产力。

如何使用RASA(开源工具)构建聊天机器人?

早期方法:要构建聊天机器人,必须有目录或列出希望系统做的事情。早期,人类查看数据并为此编写了一些规则。例如,ELIZA是一个早期的聊天机器人系统。这个系统会将用户的东西带到聊天机器人。然后它会使用一个字符串来追求它。然后重新形成那个声明成问题和答案。然后,相同的过程重复,直到结果满足。这种方法足够旧,而且是手动的。

今天的方法:现在机器学习已经改变了聊天机器人的动态,并将它们改进为更先进和更快的解决方案系统。在这里,将采用ML算法并对语言或对话数据进行训练,将菜单步骤移动以获得更大的灵活性。

Rasa-开源工具

Rasa是一个开源的机器学习框架,用于自动化基于文本和语音的对话。理解消息,进行对话,并连接到消息渠道和API。可以使用开源工具构建第一个聊天机器人,如下例所示。

# 示例代码 # 构建一个简单的Rasa聊天机器人 from rasa.core.agent import Agent from rasa.core.policies.fallback import FallbackPolicy from rasa.core.policies.keras_policy import KerasPolicy from rasa.core.policies.memoization import MemoizationPolicy # 加载训练好的模型 agent = Agent.load("models/dialogue_model.tar.gz", policies=[MemoizationPolicy(), KerasPolicy(), FallbackPolicy()]) # 处理输入消息 message = "好,想了解更多关于Rasa的信息。" responses = agent.handle_message(message) for response in responses: print(response['text'])

对话驱动开发

对话驱动开发(CDD)是倾听用户,并使用这些见解来改进AI助手。它是聊天机器人开发的总体最佳实践方法。CDD背后的原理是用户用自己的话告诉他们在每次对话中想要什么。通过在机器人开发的每个阶段实践CDD,将助手定位到实际用户的语言和行为。

它包括这些基本步骤:

  • 构建一个工作原型
  • 与测试者分享
  • 审查对话
  • 注释真实数据
  • 用端到端对话进行测试
  • 跟踪期望的结果
  • 修复出现的任何问题

对话AI中有什么?

注意:聊天机器人和对话AI之间的区别。虽然聊天机器人主要适用于基于文本的对话,但对话AI可以通过文本和语音操作。

对话AI结合了自然语言处理(NLP)与传统软件,如聊天机器人、语音助手或交互式语音识别系统,通过口头或打字界面帮助客户。例如,亚马逊的Alexa,苹果的Siri等。

制作聊天机器人对话AI的步骤

自然语言理解:首先,获取文本输入并将其转换为计算机可读格式。这更像是获取文本输入并以某种方式向量化。不需要仅在英语中进行向量化,可以在任何语言中进行。可以使用预训练的嵌入来这样做,或者可以根据自己的训练数据进行训练。

对话策略:决定聊天机器人接下来要说什么

  • 记忆策略:如果之前看过这个对话序列,就完全重复它。
  • TED策略:一个灵活的基于变换器的策略,根据之前的对话猜测最佳响应。
  • fallback策略:当助手不确定最佳响应时应该做什么。

助手响应:它处理-助手说什么。可以使用自然语言生成(NLG)来产生它,但更常见的是通过提供逐字稿。

无论需要执行什么实时编码,视频里都已经提供了。可以按照相同的操作进行,执行需要执行的任何操作来构建聊天机器人。

注意:尝试自己编写代码,因为死记硬背数据是没有意义的。为了澄清方法,尝试它并构建自己的模型。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485