python聊天机器人

简介: python聊天机器人

实现效果

实现效果图如下:



准备工作

一个文件夹,里面装一个python文件,一个questions.txt文件,一个answers.txt文件,下载所需要的库。

在question和answers设置对应的问题和答案。

如:




然后导入代码即可使用。

import jieba
import numpy as np
from sklearn.feature_extraction.text import CountVectorizer
# 问题和回答数据文件
questionTXT = 'questions.txt'
answerTXT = 'answers.txt'
# 数据预处理
questions = []
# 读入问题数据
with open(questionTXT, "r", encoding="utf-8") as f:
    for line in f:
        questions.append(line.strip())
questions = [jieba.lcut(q) for q in questions]
questions = [' '.join(q) for q in questions]
answers = []
# 读入回答数据
with open(answerTXT, "r", encoding="utf-8") as f:
    for line in f:
        answers.append(line.strip())
# 特征提取
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(questions)
# 聊天循环
while True:
    # 读入用户输入
    user_input = input('你: ').strip()
    if not user_input:
        continue
    # 预处理用户输入
    user_input = jieba.lcut(user_input)
    user_input = ' '.join(user_input)
    # 匹配最相似的问题
    test_X = vectorizer.transform([user_input])
    sims = np.dot(test_X[0], X.T)
    index = sims.argmax()
    # 输出回答
    print('虚拟人:', answers[index])


相关文章
|
7月前
|
人工智能 自然语言处理 机器人
探索人工智能:使用Python构建一个简单的聊天机器人
探索人工智能:使用Python构建一个简单的聊天机器人
330 0
|
7月前
|
传感器 机器人 定位技术
Python 机器人学习手册:6~10
Python 机器人学习手册:6~10
257 0
|
7月前
|
传感器 Ubuntu 机器人
Python 机器人学习手册:1~5
Python 机器人学习手册:1~5
262 0
|
7月前
|
算法 机器人 Python
动态规划法在扫地机器人中的实战应用(基于动作值函数的策略迭代 python 附源码)
动态规划法在扫地机器人中的实战应用(基于动作值函数的策略迭代 python 附源码)
98 0
|
2月前
|
JSON 机器人 API
详解如何使用 Python 操作 Telegram(电报)机器人(一)
详解如何使用 Python 操作 Telegram(电报)机器人(一)
397 8
|
2月前
|
机器人 数据库 Python
详解如何使用 Python 操作 Telegram(电报)机器人(二)
详解如何使用 Python 操作 Telegram(电报)机器人(二)
189 2
|
2月前
|
人工智能 自然语言处理 机器人
用Python构建你的第一个聊天机器人
【10月更文挑战第7天】在这篇文章中,我们将一起探索如何利用Python编程语言和AI技术,一步步打造一个基础的聊天机器人。无论你是编程新手还是有一定经验的开发者,都能通过这个指南获得启发,并实现一个简单的对话系统。文章将引导你理解聊天机器人的工作原理,教你如何收集和处理用户输入,以及如何设计机器人的响应逻辑。通过动手实践,你不仅能够学习到编程技能,还能深入理解人工智能在语言处理方面的应用。
110 0
|
4月前
|
机器学习/深度学习 算法 机器人
使用Python实现深度学习模型:智能灾害响应与救援机器人
使用Python实现深度学习模型:智能灾害响应与救援机器人
87 16
|
4月前
|
机器学习/深度学习 人工智能 算法
用Python实现简单的聊天机器人
【8月更文挑战第31天】 本文将介绍如何使用Python语言和AIML库来实现一个简单的聊天机器人。我们将从基本的安装和配置开始,然后逐步深入到聊天机器人的实现过程。最后,我们将展示如何训练我们的机器人以使其更加智能。无论你是编程新手还是有经验的开发者,都可以从本文中获得实用的知识。
|
4月前
|
监控 机器人 Java
【python】调用钉钉机器人发起通知
【python】调用钉钉机器人发起通知