|
|
51CTO旗下网站
|
|
移动端

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

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

作者:机器学习与数据分析来源:今日头条|2020-07-30 08:06

 前言

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

什么是聊天机器人

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

聊天机器人的类型

聊天机器人可以分为两类

  • 基于规则的
  • 自学习

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

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

聊天机器人是如何工作的

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

例如:谷歌助手,Alexa, Siri

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

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

开始搭建

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

1. 创建虚拟环境

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

  1. pip install pipenv 
  2. 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.  
  4. BOTNAME = "Pyter" 
  5.  
  6. def start(): 
  7.     bot = ChatBot(BOTNAME, 
  8.         logic_adapters=[ 
  9.         { 
  10.             'import_path''chatterbot.logic.BestMatch'
  11.             'default_response''I am sorry, but I do not understand.'
  12.             'maximum_similarity_threshold': 0.90, 
  13.         },         
  14.     ], 
  15.         preprocessors = [ 
  16.             "chatterbot.preprocessors.clean_whitespace"
  17.         ], 
  18.         input_adaptor="chatterbot.input.TerminalAdaptor"
  19.         output_adaptor="chatterbot.output.TerminalAdaptor"
  20.         database_uri='sqlite:///database.sqlite3'
  21.  
  22.     trainer = ChatterBotCorpusTrainer(bot) 
  23.  
  24.     # Train based on the english corpus 
  25.     trainer.train( 
  26.         "chatterbot.corpus.english"
  27.         "chatterbot.corpus.english.greetings"
  28.         "chatterbot.corpus.english.conversations"
  29.         ) 
  30.  
  31.     print(f"Hello I am {BOTNAME}"
  32.  
  33.     while True
  34.         try: 
  35.             bot_input = input("You: "
  36.             bot_respose = bot.get_response(bot_input) 
  37.             print(f"{BOTNAME}: {bot_respose}"
  38.  
  39.         except(KeyboardInterrupt, EOFError, SystemExit): 
  40.             break 
  41.  
  42. if __name__ == "__main__"
  43.     start() 

【编辑推荐】

  1. 那些前端开发必不可少的生产力工具
  2. Python中有趣的Ellipsis对象
  3. PyTorch1.6:新增自动混合精度训练、Windows版开发维护权移交微软
  4. 分分钟甩Word几条街,Python编辑公式竟可以如此简单
  5. 通过VSCode RTOS插件使用Python为物联网系统编写程序
【责任编辑:华轩 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

大数据安全运维实战

大数据安全运维实战

CDH+Ambari
共20章 | 大数据陈浩

91人订阅学习

实操案例:Jenkins持续交付和持续部署

实操案例:Jenkins持续交付和持续部署

微服务架构下的自动化部署
共18章 | freshman411

184人订阅学习

思科交换网络安全指南

思科交换网络安全指南

安全才能无忧
共5章 | 思科小牛

109人订阅学习

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微