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])


相关文章
|
29天前
|
人工智能 自然语言处理 机器人
探索人工智能:使用Python构建一个简单的聊天机器人
探索人工智能:使用Python构建一个简单的聊天机器人
42 0
|
1月前
|
传感器 机器人 定位技术
Python 机器人学习手册:6~10
Python 机器人学习手册:6~10
22 0
|
1月前
|
传感器 Ubuntu 机器人
Python 机器人学习手册:1~5
Python 机器人学习手册:1~5
36 0
|
2月前
|
算法 机器人 Python
动态规划法在扫地机器人中的实战应用(基于动作值函数的策略迭代 python 附源码)
动态规划法在扫地机器人中的实战应用(基于动作值函数的策略迭代 python 附源码)
25 0
|
2月前
|
机器学习/深度学习 算法 Python
动态规划法和策略迭代在扫地机器人中确定状态值和动作值函数的策略评估(python实现 附源码 超详细)
动态规划法和策略迭代在扫地机器人中确定状态值和动作值函数的策略评估(python实现 附源码 超详细)
21 0
|
6月前
|
机器人 Python
帮你找个机器人聊天保姆,不要998,不要98,只要9.8行Python代码!
帮你找个机器人聊天保姆,不要998,不要98,只要9.8行Python代码!
70 0
|
29天前
|
传感器 机器人 C++
ROS 2机器人编程实战:基于现代C++和Python 3实现简单机器人项目
ROS 2机器人编程实战:基于现代C++和Python 3实现简单机器人项目
38 0
|
1月前
|
人工智能 算法 机器人
【Python数据结构与算法】--- 递归算法的应用 ---[乌龟走迷宫] |人工智能|探索扫地机器人工作原理
【Python数据结构与算法】--- 递归算法的应用 ---[乌龟走迷宫] |人工智能|探索扫地机器人工作原理
22 0
|
6月前
|
人工智能 机器人 API
用Python开发一个AI消息回复机器人
用Python开发一个AI消息回复机器人
134 0
|
2月前
|
自然语言处理 机器人 数据库
【Python自然语言处理+tkinter图形化界面】实现智能医疗客服问答机器人实战(附源码、数据集、演示 超详细)
【Python自然语言处理+tkinter图形化界面】实现智能医疗客服问答机器人实战(附源码、数据集、演示 超详细)
31 1

相关产品

  • 云迁移中心