5分钟内搭建你的第一个Python聊天机器人 - Go语言中文社区

5分钟内搭建你的第一个Python聊天机器人


前言

在人工智能时代,聊天机器人日益流行。它是业界设计用来简化人机交互的最新工具。从电子商务到医疗保健机构,每个人都希望使用Chatbot与用户进行交互。

什么是聊天机器人

聊天机器人是一种软件应用程序,用于通过文本或文本到语音进行在线聊天对话,而不是与真人代理直接接触。-根据维基百科。

聊天机器人的类型

聊天机器人可以分为两类

  • 基于规则的
  • 自学习

基于规则的: -基于规则的聊天机器人训练聊天机器人回答基于预先训练的规则的问题。这些类型的聊天机器人很适合进行简单的查询。

自主学习聊天机器人: 自主学习聊天机器人基于机器学习算法,它们比基于规则的聊天机器人更聪明。他们可以自己学习。

聊天机器人是如何工作的

由人工智能驱动的聊天机器人是智能的,也可以自己学习。它们使用自然语言处理和机器学习算法来学习和获取数据。

例如:谷歌助手,Alexa, Siri

智能的人工智能聊天机器人提供用户数据,并学习和尝试提高自己。他们用复杂的人工智能算法分析它,并以文本或语音的形式输出响应。

由于这些机器人可以从行为和经验中学习,它们可以对广泛的查询和命令作出回应。

开始搭建

今天,我们将使用ChatterBot库创建python chatbot。让我们开始吧!

1. 创建虚拟环境

pipenv是一个轻松创建虚拟环境的python库。

  1. pip install 
  2. pipenv pipenv install 

2. 安装库

我们将使用ChatterBot库来创建简单的Python Chatbot。通过pip命令安装chatterbot和chatterbot_corpus。

  1. pipenv install chatterbot 
  2. pipenv install chatterbot_corpus  

3.创造和训练聊天机器人

  1. from chatterbot import ChatBot 
  2. from chatterbot.trainers import ChatterBotCorpusTrainer 
  3. BOTNAME = "Pyter" 
  4. def start():     
  5. bot = ChatBot(BOTNAME,
  6.          logic_adapters=[ 
  7.         {
  8.              'import_path''chatterbot.logic.BestMatch',
  9.              'default_response''I am sorry, but I do not understand.',
  10.              'maximum_similarity_threshold': 0.90,
  11.          },
  12.       ], 
  13.       preprocessors = [
  14.              "chatterbot.preprocessors.clean_whitespace",
  15.          ],
  16.          input_adaptor="chatterbot.input.TerminalAdaptor",
  17.          output_adaptor="chatterbot.output.TerminalAdaptor",
  18.          database_uri='sqlite:///database.sqlite3')
  19.      trainer = ChatterBotCorpusTrainer(bot)
  20.      # Train based on the english corpus
  21.      trainer.train(
  22.          "chatterbot.corpus.english",
  23.          "chatterbot.corpus.english.greetings",
  24.          "chatterbot.corpus.english.conversations",
  25.       )
  26.      print(f"Hello I am {BOTNAME}")
  27.      while True:
  28.          try:
  29.              bot_input = input("You: ")
  30.              bot_respose = bot.get_response(bot_input)
  31.              print(f"{BOTNAME}: {bot_respose}")
  32.          except(KeyboardInterrupt, EOFError, SystemExit):
  33.              break
  34.  if __name__ == "__main__":
  35.      start()  
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
版权声明:本文来源51CTO,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:http://developer.51cto.com/art/202008/623288.htm
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-17 01:34:42
  • 阅读 ( 497 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢