ChatterBot:使用 Python 构建聊天机器人

2023-10-10

聊天机器人可以提供实时客户支持,因此是许多行业的宝贵资产。当你了解了基础知识后聊天机器人图书馆,你可以构建和训练 a 自学习聊天机器人只需几行 Python 代码。

您将立即启动并运行基本的聊天机器人在第一步中,但最有趣的部分是学习阶段,当你开始训练你的聊天机器人时。训练数据的质量和准备将对聊天机器人的性能产生很大影响。

为了模拟创建行业相关聊天机器人时可能经历的真实过程,您将学习如何自定义聊天机器人的响应。您将通过准备来做到这一点WhatsApp 聊天数据训练聊天机器人。您可以应用类似的过程,根据任何特定领域主题中的不同对话数据来训练您的机器人。

在本教程中,您将学习如何:

  • 建个命令行聊天机器人与 ChatterBot 一起
  • 火车聊天机器人自定义其响应
  • 出口您的 WhatsApp 聊天记录
  • 履行数据清理在聊天导出上使用常用表达
  • 重新训练具有行业特定数据的聊天机器人

您还将了解 ChatterBot 如何存储您的训练数据,并且您将找到以下建议和指导:下一步,这样您就可以开始收集真实的用户数据并让聊天机器人从中学习。

总的来说,在本教程中,您将快速了解使用 ChatterBot 创建聊天机器人的基础知识,并了解 Python 如何让您无需编写大量代码即可获得有趣且有用的结果。

源代码: 点击此处下载免费源代码您将用它来构建聊天机器人。

演示

在本教程结束时,您将拥有一个命令行聊天机器人,它可以通过半有意义的回复来响应您的输入:

您可以通过准备 WhatsApp 聊天数据并使用它来训练聊天机器人来实现这一目标。除了从自动化培训中学习之外,聊天机器人还会随着时间的推移而不断改进,因为它会更多地接触到用户交互中的问题和回复。

项目概况

ChatterBot 库结合了语言语料库、文本处理、机器学习算法以及数据存储和检索,让您能够构建灵活的聊天机器人。

您可以通过使用相关数据进行训练来构建行业特定的聊天机器人。此外,聊天机器人将记住用户的响应并继续构建其内部图结构改进它可以给出的响应。

注意力:虽然 ChatterBot 仍然是用 Python 构建聊天机器人的流行开源解决方案,但它已经有一段时间没有得到积极维护,因此积累了大量的问题.

该项目有多个分支可以对现有代码库实施修复和更新,但您必须亲自选择实现您正在寻找的解决方案的分支,然后直接从 GitHub 安装。叉子可能还带有附加安装说明.

然而,一开始你不会使用叉子。相反,您将使用该库的特定固定版本,如下所示分布在 PyPI 上。您可以在以下位置找到有关安装 ChatterBot 的更多信息:步骤1.

在本教程中,您将从未经训练的聊天机器人开始,它将展示使用 Python 的 ChatterBot 创建交互式聊天机器人的速度。您还会注意到未经训练的聊天机器人的词汇量有多么小。

接下来,您将了解如何训练这样的聊天机器人并检查略有改进的结果。训练数据越丰富、质量越高,聊天机器人的响应就越好。

因此,您可以获取 WhatsApp 聊天记录之一或使用提供的chat.txt您可以在此处下载文件:

源代码: 点击此处下载免费源代码您将用它来构建聊天机器人。

输入数据很少以您需要的形式出现,因此您需要清理聊天导出数据以将其转换为有用的输入格式。此过程将向您展示一些可用于数据清理的工具,这可以帮助您准备其他输入数据以提供给聊天机器人。

数据清理后,您将重新训练聊天机器人并再次旋转以体验改进的性能。

当您从头到尾完成此过程时,您将很好地了解如何使用 ChatterBot 库构建和训练 Python 聊天机器人,以便它可以提供具有相关回复的交互式体验。

先决条件

在开始之前,请确保您有适用于此 ChatterBot 项目的 Python 版本。您需要什么版本的 Python 取决于您的操作系统:

您需要使用低于 3.8 的 Python 版本才能成功使用本教程中推荐的 ChatterBot 版本。你可以使用 pyenv-win 安装 Python 3.7.9.

您应该能够在具有各种 Python 版本的 Ubuntu Linux 上运行该项目。但是,如果您遇到任何问题,那么您可以尝试安装Python 3.7.9,例如使用pyenv.

您可以使用各种Python版本运行该项目。聊天机器人的构建和测试使用Python 3.10.7但也应该与较旧的 Python 版本一起运行。

如果您已经安装了适合您的操作系统的 Python 版本,那么您就可以开始使用了。在学习本教程时,您将接触到一些 Python 概念:

  • 条件语句
  • 尽管迭代循环
  • 列表和元组
  • Python 函数
  • 子串检查子串替换
  • 文件输入/输出
  • Python 推导式生成器表达式
  • 正则表达式(regex)使用re

如果您熟悉这些概念,那么您可能会轻松地编写本教程的代码。如果您在开始本教程之前不具备所有必备知识,也没关系!事实上,通过继续并开始,您可能会学到更多。如果遇到困难,您可以随时停下来查看此处链接的资源。

第 1 步:使用 Python ChatterBot 创建聊天机器人

在此步骤中,您将设置虚拟环境并安装必要的依赖项。您还将创建一个可以回复您的工作命令行聊天机器人,但它还不会为您提供非常有趣的回复。

要开始您的聊天机器人项目,请创建并激活虚拟环境,然后安装chatterbotpytz:

PS> python -m venv venv
PS> venv\Scripts\activate
(venv) PS> python -m pip install chatterbot==1.0.4 pytz
$ python -m venv venv
$ source venv/bin/activate
(venv) $ python -m pip install chatterbot==1.0.4 pytz

在您的中运行这些命令终端应用程序将 ChatterBot 及其依赖项安装到新的 Python 虚拟环境中。

笔记:在撰写本文时,ChatterBot 库有一段时间没有看到太多的维护了。因此,它面临着一些很快就会变得烦人的问题。

在本教程中,您将使用 ChatterBot 1.0.4,它也适用于 macOS 和 Linux 上的较新 Python 版本。在 Windows 上,您必须保持低于 3.8 的 Python 版本。 ChatterBot 1.0.4 附带了一些本项目不需要的依赖项。但是,如果您尝试使用较新版本的 ChatterBot 或删除某些依赖项,您很快就会遇到更多问题。

因此,只需放松地使用这个选定的版本并尝试一下即可。如果您着迷并且需要更多,那么您可以稍后切换到更新的版本。

安装完成后,运行python -m pip freeze应该会显示已安装依赖项的列表,该列表类似于您在提供的示例代码中可以找到的内容requirements.txt文件:

源代码: 点击此处下载免费源代码您将用它来构建聊天机器人。

安装完成后,并忽略库当前存在的一些问题,您就可以开始了!创建一个新的Python文件,调用它bot.py,并添加启动和运行基本聊天机器人所需的代码:

 1# bot.py
 2
 3from chatterbot import ChatBot
 4
 5chatbot = ChatBot("Chatpot")
 6
 7exit_conditions = (":q", "quit", "exit")
 8while True:
 9    query = input("> ")
10    if query in exit_conditions:
11        break
12    else:
13        print(f"									
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ChatterBot:使用 Python 构建聊天机器人 的相关文章

随机推荐

  • Android-推荐一个沉浸式状态栏开源库

    自从android4 4开始 xff0c android手机状态栏再也不是一成黑的时代 xff0c 之前叫做变色龙 xff0c miui6发布会把他叫做沉浸式 xff0c 之后大家就自然而然的接受了沉浸式这个名称 xff0c 其实实际应该叫
  • 详解Linux下使用vscode编译运行和调试C/C++

    vscode是文本编辑而非集成开发环境 需要经过配置才能在其上编译执行代码 本教程将具体详解在linux上配置Visual Studio Code使用GCC C 编译器 g 和GDB调试器的方法 GCC是GNU 编译器集合 GDB则是 GN
  • 83、基于STM32单片机的智能公交报站系统 公交车GPS定位时钟语音报站器

    毕设帮助 开题指导 技术解答 xff08 有偿 xff09 见文末 目录 摘要 一 硬件方案 二 设计功能 三 实物图 四 原理图 五 PCB图 六 硬件框图 七 流程图 八 程序源码 九 资料包括 摘要 本文详细介绍了一款基于STM32单
  • 使用chatgpt 的api,当天就超过了免费试用额度(Free trial usage)

    如果你是ChatGPT的用户,你又是一个开发者,你可以通过
  • ChatGPT赚钱变现的24种方法

    越来越多的人看到了赚钱机会,开始利用 ChatGPT 进行变现。在这篇文章中,我想分享一些高鲸发现的方法。
  • 上架不久Android App,就收到tiktok的侵权警告(Notice of Claimed Infringements)

    我的一个朋友想通过google play市场挣点外快,刚送审不久就通过了“IARC Live Rating Notice”。过几天就收到了tiktok的侵权警告,具体邮件是这样的.
  • 在家赚钱的10种方法

    自由职业者是指那些独立工作并按项目或小时数收费的人,他们不属于任何公司或机构。通过成为自由职业者,你可以在家工作并赚取收入。你可以通过注册类似于Upwork, Freelancer, Fiverr等网站的方式开始你的自由职业者生涯。在这些网
  • 堆栈帧和堆栈跟踪

    A 栈帧代表单个函数调用 您可以将相互调用的函数可视化为彼此堆叠的虚拟框架 这堆数据结构实际上就是用来干这个的 当一个函数调用将其数据返回给调用者时 其堆栈帧将从堆栈中删除 添加和删 除新的堆栈帧 及其相关数据 直到最底部的堆栈帧 有时称为
  • 使用 .format() 方法格式化字符串

    这 format 方法是一种较新的格式化方法 应该优先于 样式格式 在本课程中 您将学习何时应该使用它 如何生成强大的格式字符串而不使简单的用例复杂化 以及如何将 int 变量格式化为十六进制字符串 gt gt gt gt gt gt He
  • 真正的 Python Slack 社区

    社区以及与其他 Python 达人的联系是 Real Python 的一个非常重要的方面 我们最受欢迎的社区功能是私人 Slack 社区 在这里您可以结识 Real Python 团队的其他学生和成员 要了解更多信息 请点击学习Python
  • 关于克劳迪娅·吴

    关于克劳迪娅 吴 Claudia 是一位狂热的 Pythonista 和 Real Python 贡献者 她是一名数据科学家 曾在多家专门从事信用和欺诈风险建模领域的科技初创公司工作 看看她网站欲了解更多出版物 克劳迪娅的教程 如何使用 P
  • Python 基础知识:数字和数学(概述)

    你不需要成为数学高手也能编程得好 事实是 很少 程序员需要了解的不仅仅是基本代数 当然 您需要了解多少数学取决于 您正在开发的应用程序 一般来说 数学水平要求 成为一名程序员的难度比你想象的要低 尽管数学和计算机编程的相关性不如 有些人可能
  • 站点连接检查器

    以下是您可以从中获得灵感的站点连接检查器示例 平命令 关于网络实用程序的维基百科文章 站点24x7 网站监控服务 以下是可用于构建站点连接检查器的资源 要求 一个优雅而简单的 Python HTTP 库 专为人类而构建 使用 Python
  • 使用 Flask 在 Web 上部署 Python 脚本

    您编写了一个令您引以为豪的 Python 脚本 现在您想向世界展示它 但how 大多数人不知道如何处理你的 py文件 将您的脚本转换为Python 网络应用程序是一个很好的解决方案 可以让您的代码可供广大受众使用 在本课程中 您将学习如何从
  • 继承和组合:Python OOP 指南(摘要)

    你探索过Python 中的继承和组合 您了解了继承和组合创建的关系类型 您还完成了一系列练习来了解如何在 Python 中实现继承和组合 在本课程中 您学习了如何 使用继承来表达是一个两个类之间的关系 评估继承关系是否正确 在Python中
  • 自定义数据类型

    当你通过一个目的到print 它使用以下方法将其转换为字符串str 功能 您可以创建一个 str 自定义对象上的方法来更改输出内容 class Person def init self name age self name name sel
  • Python 内部函数的基础知识

    以下是一些资源 可提供有关本课程所涵盖主题的更多信息 在 Python 中递归思考 真正的Python教程 Python 中的递归 简介 真正的Python教程
  • Python 中的条件语句 (if/elif/else)

    在本分步课程中 您将学习如何在 Python 中使用条件 if 语句 逐步掌握 if 语句 并了解如何在程序中编写复杂的决策代码 参加测验 通过我们的交互式 Python 条件语句 测验来测试您的知识 完成后 您将收到一个分数 以便您可以跟
  • 设置您的 Python CI 项目

    在本视频中 您将学习如何设置用于持续集成 CI 的 Python 项目 因此 创建了 GitHub 存储库 克隆了项目并实现了一些基本的库功能 这是calculator py示例代码中使用的文件 calculator py Calculat
  • ChatterBot:使用 Python 构建聊天机器人

    目录 演示 项目概况 先决条件 第 1 步 使用 Python ChatterBot 创建聊天机器人 第 2 步 开始训练您的聊天机器人 第 3 步 导出 WhatsApp 聊天记录 第 4 步 清理您的聊天导出 第 5 步 使用自定义数据
Powered by Hwhale