Javatpoint标志
Javatpoint标志

Python中的聊天机器人

在过去的几年里,Python编程语言的聊天机器人在技术和商业领域受到了热烈的追捧。这些智能机器人非常擅长模仿人类的自然语言,并与人类聊天,以至于不同行业的公司都在接受它们。从电子商务行业到医疗保健机构,每个人似乎都在利用这个漂亮的实用程序来推动业务优势。在下面的教程中,我们将在Python编程语言的帮助下理解聊天机器人,并讨论在Python中创建聊天机器人的步骤。

了解聊天机器人

一个聊天机器人是一种基于人工智能的软件,用于用自然语言与人类互动。这些聊天机器人通常通过听觉或文字的方式进行对话,它们可以毫不费力地模仿人类语言,以类似人类的方式与人类交流。聊天机器人被认为是自然语言处理的最佳应用之一。

我们可以将聊天机器人分为两个主要的变体:基于规则的聊天机器人自学聊天机器人

  1. 基于规则的聊天机器人:基于规则的方法训练聊天机器人根据一系列预先确定的规则来回答问题。这些规则可以非常简单,也可以非常复杂,我们可以使用这些基于规则的聊天机器人来处理简单的查询,但不能处理更复杂的请求或查询。
  2. 自学聊天机器人:自我学习的聊天机器人是可以自己学习的聊天机器人。它们利用人工智能(AI)和机器学习(ML)等先进技术,从行为和实例中训练自己。一般来说,这些聊天机器人比基于规则的机器人更聪明。我们可以将自学习聊天机器人进一步分为两类摘要聊天机器人生成聊天机器人
    1. 摘要聊天机器人:基于检索的聊天机器人处理预定义的输入模式并设置响应。一旦插入问题或模式,聊天机器人就会利用启发式方法来提供相关的响应。基于检索的模型被广泛应用于设计和开发目标导向的聊天机器人,利用机器人的流程和语气等定制特征来增强客户的体验。
    2. 生成聊天机器人:与基于检索的聊天机器人不同,生成式聊天机器人不是基于预定义的响应,而是利用seq2seq神经网络。这是基于机器翻译的概念构建的,其中源代码从一种语言转换为另一种语言。在seq2seq方法中,输入被更改为输出。

第一个聊天机器人命名为伊丽莎是由约瑟夫·魏岑鲍姆在1966年设计和开发的,它只用200行代码就能模仿心理治疗师的语言。但是随着技术的进步,我们已经从脚本聊天机器人发展到今天的Python聊天机器人。

当代的聊天机器人

今天,我们有了由人工智能驱动的智能聊天机器人,它们利用自然语言处理(NLP)来理解来自人类的命令(文本和语音),并从经验中学习。聊天机器人已经成为活跃在线存在(网站和社交网络平台)的公司和品牌的主要客户交互工具。

在Python的帮助下,聊天机器人被认为是一个漂亮的实用工具,因为它们促进了品牌和客户之间的快速消息传递。让我们想想微软的小娜、亚马逊的Alexa和苹果的Siri。这些聊天机器人不是很棒吗?学习如何使用Python编程语言创建聊天机器人变得非常有趣。

从根本上说,使用Python的聊天机器人被设计和编程为接收我们提供的数据,然后使用人工智能的复杂算法对其进行分析。然后它会给我们一个书面或口头的答复。由于这些机器人可以从经验和行为中学习,它们可以响应各种各样的查询和命令。

尽管Python聊天机器人目前已经开始统治技术领域,但根据Gartner的预测,到2020年,聊天机器人将处理大约85%的客户与品牌的互动。

鉴于聊天机器人在行业中的日益普及和采用,我们可以通过学习如何使用Python(全球使用最广泛的编程语言之一)创建聊天机器人来增加市场价值。

那么,让我们开始吧!

了解ChatterBot库

聊天机器人是一个Python库,用于为用户输入提供自动响应。它利用机器学习算法的组合来生成多种类型的响应。此功能使开发人员能够使用Python构建聊天机器人,这些聊天机器人可以与人类通信并提供相关和适当的响应。此外,机器学习算法支持机器人通过经验来提高其性能。

另一个惊人的特点是聊天机器人库是其语言独立性。该库的开发方式使得用多种编程语言训练机器人成为可能。

了解ChatterBot库的工作原理

当用户在聊天机器人中插入特定的输入时(设计时)聊天机器人),机器人保存输入和响应以备将来使用。这些信息(收集到的经验)使聊天机器人能够在每次输入新信息时自动生成响应。

程序从与输入匹配的最近的语句中选择最合适的响应,然后从已知的语句和响应中提供响应。随着时间的推移,随着聊天机器人沉迷于更多的交流,回复的精确度也在提高。

使用Python创建聊天机器人

我们将遵循一步一步的方法并分解创建Python聊天的过程。

我们将通过导入项目所需的所有包和模块来开始构建Python聊天机器人。我们还将初始化想要在其中使用的不同变量。此外,我们还将处理文本数据,因此我们必须在设计ML模型之前对数据集执行数据预处理。

这就是标记化支持文本数据的地方——它将大型文本数据集转换为更小、可读的块(如单词)。一旦这个过程完成,我们就可以进行引理化,将一个单词转换成引理形式。然后,它生成一个pickle文件,以存储用于预测bot响应的Python对象。

聊天机器人开发过程的另一个主要部分是开发训练和测试数据集。

现在我们已经理解了在Python中需要的聊天机器人开发的基本概念,让我们从实际的过程开始吧!

准备依赖项

在Python中创建聊天机器人的第一步是使用聊天机器人库是在系统中安装库。我们还可以使用一个新的Python虚拟环境来安装库,这是一个很好的实践。我们可以在命令提示符或Python终端中使用pip安装程序在以下命令的帮助下安装库:

语法:

我们也可以直接从GitHub安装ChatterBot库的最新开发版本。为此,我们必须使用以下命令:

语法:

如果我们中的一些人想要升级库,我们可以使用以下命令

语法:

现在设置已经准备好了,我们可以进入下一步,使用Python编程语言创建聊天机器人。

导入类

Python聊天机器人开发过程的第二步是导入所需的类。

让我们考虑下面的代码片段来理解这一点。

文件:my_chatbot.py

解释:

在上面的代码片段中,我们导入了两个类-聊天机器人聊天机器人ListTrainerchatterbot.trainers

创建和训练聊天机器人

下一步是使用类的实例创建聊天机器人。聊天机器人并训练机器人以提高其表现。首先,训练机器人确保它有足够的知识,对特定的输入语句进行特定的回复。

让我们考虑下面的代码片段。

文件:my_chatbot.py

解释:

在上面的代码片段中,我们定义了一个变量,它是类的实例。聊天机器人”。我们在类中包含了各种参数。第一个参数,“名字”,表示Python聊天机器人的名称。另一个参数叫做“read_only”接受一个布尔值,该值禁用(真正的)或启用()训练后机器人的学习能力。我们还包含了另一个参数“logic_adapters”它指定用于训练聊天机器人的适配器。

“chatterbot.logic.MathematicalEvaluation”帮助聊天机器人解决数学问题帮助它从已提供的响应列表中选择完美匹配。

因为我们必须提供一个响应列表,所以我们可以通过指定字符串列表来执行它,我们可以使用这些字符串列表来训练Python聊天机器人,并为某个查询找到完美匹配。让我们考虑下面的响应示例,我们可以使用Python训练聊天机器人来学习。

文件:my_chatbot.py

解释:

在上面的代码片段中,我们定义了一些响应列表,以便训练聊天机器人。我们也可以通过简单地输入一个实例来创建和训练聊天机器人ListTrainer,并为其提供如下所示的字符串列表:

文件:my_chatbot.py

解释:

在上面的代码片段中,我们创建了ListTrainer类并使用-loop循环遍历响应列表中的每个项。

现在,Python聊天机器人已经准备好进行通信。

与Python聊天机器人通信

我们可以用get_response ()函数,以便与Python聊天机器人交互。让我们考虑一下下面这个程序的执行来理解它。

输出:

#开始对话>>>打印(myBot)。get_response("Hi, there!"))嗨>>> print(myBot。get_response(“你叫什么名字?”)我叫Sakura。请问我一个数学问题。> > >打印(myBot。get_response("你知道勾股定理吗"))a的平方加上b的平方等于c的平方。> > >打印(myBot。get_response("告诉我余弦定律的公式"))c**2 = a**2 + b**2 - 2*a*b*cos(gamma)

解释:

程序的上述执行告诉我们,我们已经成功地使用Python创建了一个聊天机器人聊天机器人图书馆。但是,也有必要了解使用Python的聊天机器人可能不知道如何回答所有查询。由于它的知识和训练仍然非常有限,我们必须给它时间和更多的训练数据来进一步训练它。

使用语料库训练Python聊天机器人

当我们进入用Python创建聊天机器人的最后一步时,我们可以利用现有的数据语料库进一步训练Python聊天机器人。

让我们考虑下面的例子,用机器人自己提供的数据语料库来训练Python聊天机器人。

文件:my_chatbot.py

解释:

在上面的代码片段中,我们导入了ChatterBotCorpusTrainerchatterbot.trainers模块。我们为聊天机器人创建了一个类实例,并将训练语言设置为英语。

此外,从最后的陈述中,我们可以观察到聊天机器人库以多种语言提供此功能。因此,我们还可以用我们喜欢的语言指定语料库的子集。因此,我们的Python聊天机器人已经成功创建。

Python聊天机器人项目的完整代码如下所示。

完整的项目代码

文件:my_chatbot.py







Youtube 视频加入我们的Youtube频道:现在加入

反馈


帮助别人,请分享

脸谱网 推特 pinterest

学习最新教程


准备


热门的技术


b .技术/马华






Baidu
map