python基于深度学习的聊天机器人设计
python基于深度学习的聊天机器人设计
-
开发语言:Python
- 数据库:MySQL
- 所用到的知识:Django框架
- 工具:pycharm、Navicat、Maven
系统功能实现
登录注册功能
用户在没有登录自己的用户名之前只能浏览本网站的首页,想要使用其他功能都会弹出对话框,显示请登录,所以使用本系统的第一个前提条件就是需要先完成注册和登录。在右侧先点击注册按钮进入注册界面,按照要求完成注册后在左侧输入自己的用户名和密码即可完成登录

首页展示功能
在浏览器的网址栏中输入正确的域名之后就可以进入本系统的首页面,不论用户是否进行登录都是可以访问本网站首页的。网站的首页为左右结构,左侧为菜单栏,右侧为数据显示的面板。用户如果在登录的情况下访问本网站,在左侧菜单栏的上方会显示自己的用户名,下方为各个功能的链接按钮

个人信息展示功能
此模块中用户可以查看自己的个人信息,其中包含的数据有用户在本系统内的编号,用户的姓名及联系方式,用户的权限,用户的注册时间和最后修改时间

用户信息管理功能:
注册用户信息维护包括用户添加和用户查询两个功能,在用户添加界面添加数据之后即可在查询界面中看到。在用户查询界面的头部是搜索区域,管理员可以通过用户的姓名对用户信息进行查询,还可以删除或修改某位员工的数据

修改密码功能:
用户在已经登录的情况下在前台页面中点击修改密码的链接后可以进入此功能,此功能的表单比较简单,有两个密码框分别为新密码和再次输入密码,两个密码框中的值通过比较验证后即可完成密码的修改

在线聊天功能:
用户在进入到聊天的界面后可以在看到界面中所有的历史聊天及问答的列表,当用户输入信息后,系统会自动进行回复。比如当用户输入“你几岁啦”,系统会回复“讨厌,不要问女生的年龄知道不”。从而达到陪伴用户进行聊天的功能,具体操作界面如下

问答列表功能:
系统中所有的聊天及问答的记录都可以通过此功能进行查询,在列表中可以查看到用户发送的信息及系统进行回复的信息,还可以看到具体的操作人和操作状态等。在数据列表的上方可以通过id及操作人对信息进行搜索,具体界面如下

改变主题:
本系统设置了多种主题及字体,当用户点击界面右上方的改变主题时可以看到所有内置的主题格式,不同的主题有不同的界面颜色及内容排版方式,当用户选择了不同的主题后界面会进行切换。具体界面如下


摘 要
进入二十一世纪之后,网络发展越来越迅速,人们的很多生活与消费习惯都随之发生了改变。在互联网技术及深度学习算法不发达的年代,人们是无法通过电脑进行聊天和交流的,人们通常是通过去线下组织的交友会或者在不同的场合进行聊天和交流,但这种形式费事费力,并且不一定可以找到可以聊天的人。不过随着许多传统的行业逐渐与互联网接轨,各种算法及编程技术越来越发达,聊天系统等软件也逐渐被网络化的识别系统所替代了。在计算机刚开始发展的时候就出现了许多的在线聊天和交流系统,但是因为技术的限制导致系统并不完美,有很多不符合使用者使用习惯的瑕疵,也有很多的功能缺陷。随着计算机编程语言的不断发展和移动设备的出现,聊天机器人等服务逐渐朝着更专业、更精准、更效率的方向发展。
本系统前台界面使用了最新的HTML5技术,使用DIV+CSS进行布局,使整个前台页面变得更美观,极大的提高了用户的体验,另外本系统无论是使用电脑的浏览器进行访问还是使用移动设备进行访问,都可以保证网站正确的排版。后端的代码技术选择的是PYTHON,PYTHON语言是当下最常用的编程语言之一,可以保证系统的稳定性和流畅性,PYTHON可以灵活的与数据库进行连接。本系统的数据使用的MYSQL数据库,它可以提高查询的速度,增强系统数据存储的稳定性和安全性。本系统的核心算法是深度学习算法,是当下很流行的一种机器学习语言,也是未来很多行业的发展趋势,利用深度学习方法可以准确的与用户进行聊天。
关键词:深度学习;聊天机器人;PYTHON;MySQL
绪论
1.1课题研究意义
计算机技术对当今社会发展和人们生活水平的提高是很重要的组成部分,人们可以通过网络从衣食住行等方面提高自己的生活质量,比如不想做饭的时候可以通过外卖平台下单点餐;想买新衣服但又不想出门的时候可以通过淘宝网等购物网站进行衣服的挑选;想要出行可以提前通过携程网或途游旅行等应用进行机票或酒店的预购……通过网络进行线上的操作可以避免很多时间的浪费。
在日常生活中经常有一些性格比较内向的人,不擅长与人交谈,甚至是在网络上都很腼腆,无法畅快地进行聊天。这不利于人们之间的人际交往,会使本身就不爱说话的人变得更沉默寡言。另一方面,当人们在生活中遇到一些问题的时候,以往只能通过查找书籍和询问他人进行了解,但这种方式也并不是能随时进行的。基于上述原因,许多可以通过在线进行聊天或问答的软件出现了。网络平台和网络系统式的聊天及问答方式逐渐取代了传统的通过书本或线下等方式,使得人们可以更好的利用电脑或手机进行聊天和学习,在节约了时间的同时也极大概率的提高了准确率,也会避免许多错误的发生。在本次的毕业设计开始之前,我选择了很久我要做的毕业设计,最终决定通关自己所学的计算机方面的相关知识,开发一款功能齐全并且可以保证深度学习的聊天机器人系统。
1.2开发背景
对于通过电脑进行的聊天或者不同领域的问答以往都是通过人工线下来识别的,在此之前这些功能都是需要通过互相聊天或者人工回答的,这种方式耗时长且无法保证回答问题准确率。除了上述的缺点之外,以往通过人工进行聊天或者问答有以下的几个痛点:
(1)各大城市的传统聊天室及工作人员水平稂莠不齐。因为各个城市的经济发展水平和人口数量有很大的差异,所以每个城市的聊天室和工作人员的数量是不同的,比如在北京、上海等大城市有许多非常有经验的工作人员,而像比较偏远的城市可能会由一个人负责所有人的聊天工作。
(2)效率较差,因为通过线下进行聊天交流或知识问答的方式需要耗费很多的时间成本,工作人员需要一次一次的去核对用户的需求。
(3)整个聊天或知识问答的各个环节无法得到保证,经常会出现漏掉个别用户聊天的情况。
1.3本文的研究思路与结构
本系统的开发遵循着软件工程学的设计原则,在决定自己的毕业设计做什么之前会进行项目的前期调研和可行性分析,如果可行的话就对项目进行立项。在项目立项之后会对整体的功能进行需求分析和数据库设计,这可以保证后期编码的顺利进行。在所有的前期准备工作完成之后会对所有的功能模块进行计划,保证在某一个时间段完成对应的功能。最后就是项目的编码与测试,这两者最好可以同时进行,在保证开发效率的同时还能提升测试的准确性
需要源代码或者二次开发的,请联系

相关文章:
python基于深度学习的聊天机器人设计
python基于深度学习的聊天机器人设计 开发语言:Python 数据库:MySQL所用到的知识:Django框架工具:pycharm、Navicat、Maven 系统功能实现 登录注册功能 用户在没有登录自己的用户名之前只能浏览本网站的首页,想要使用其他功能都…...
Golang设计模式(四):观察者模式
观察者模式 什么是观察者 观察者模式(Observer Pattern):定义对象之间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式的别名包括发布-订阅(Publish/Subscribe…...
huggingface 笔记:查看GPU占用情况
0 准备部分 0.1 创建虚拟数据 import numpy as npfrom datasets import Datasetseq_len, dataset_size 512, 512 dummy_data {"input_ids": np.random.randint(100, 30000, (dataset_size, seq_len)),"labels": np.random.randint(0, 1, (dataset_size…...
JavaSE 学习记录
1. Java 内存 2. this VS super this和super是两个关键字,用于引用当前对象和其父类对象 this 关键字: this 关键字用于引用当前对象,即调用该关键字的方法所属的对象。 主要用途包括: 在类的实例方法中,通过 this …...
HTML与CSS的学习
什么是HTML,CSS? HTML(HyperText Markup Language):超文本标记语言。 超文本:超越了文本的限制,比普通文本更强大。除了文字信息,还可以定义图片、音频、视频等 标记语言:由标签构成的语言 >HTML标签都是预定义好的。例如:使用<a>…...
【单片机】STM32F070F6P6 开发指南(一)STM32建立HAL工程
文章目录 一、基础入门二、工程初步建立三、HSE 和 LSE 时钟源设置四、时钟系统(时钟树)配置五、GPIO 功能引脚配置六、配置 Debug 选项七、生成工程源码八、生成工程源码九、用户程序下载 一、基础入门 f0 pack下载: https://www.keil.arm…...
源码编译安装Rsync数据同步
源码编译安装 RPM软件包:rpm -ivh 或者 yum -y install 需要开发编译工具gcc、gcc-c、make等... 源码包----开发工具gcc与make----》可以执行的程序-----》运行安装 •主要优点 –获得软件的最新版,及时修复bug –软件功能可按需选择/定制ÿ…...
SQL Server2019安装步骤教程(图文)_最新教程
一、下载SQL Server2019 1.到微软官网下载SQL Server Developer版本,官网当前的2019版本下载需要注册账号。 不想注册的朋友,可以选择从网盘下载:点击此处直接下载 2.下载之后先解压,解压后执行exe安装程序。打开之后的界面如下…...
【SpringBoot】SpringBoot中防止接口重复提交(单机环境和分布式环境)
📝个人主页:哈__ 期待您的关注 目录 🌼前言 🔒单机环境下防止接口重复提交 📕导入依赖 📂项目结构 🚀创建自定义注解 ✈创建AOP切面 🚗创建Conotroller 💻分布…...
零基础学Java(全170集)
课程概述 本课程旨在全面深化对 Java 语言的核心技术理解,并提升编程实践能力。课程内容涵盖以下关键领域: 掌握Java核心语法,为后续学习打下扎实的基础。熟练运用Java常用的类库与开发工具,提高开发效率与质量。解决面向对象编…...
摄像头应用测试
作者简介: 一个平凡而乐于分享的小比特,中南民族大学通信工程专业研究生在读,研究方向无线联邦学习 擅长领域:驱动开发,嵌入式软件开发,BSP开发 作者主页:一个平凡而乐于分享的小比特的个人主页…...
Golang框架HTTP客户端框架zdpgo_resty发送表单请求
核心代码 这里通过字典传递了一个简单的表单数据。 发送的是POST请求。 resp, err : client.R().SetFormData(map[string]string{"username": "jeeva","password": "mypass",}).Post("http://127.0.0.1:3333/login")fmt.P…...
【机器学习300问】99、多通道卷积神经网络在卷积操作时有哪些注意事项?
一、多通道卷积神经网络示例 还是以图像处理为例,如果你的目标不仅是分析灰度图像特性,还打算捕捉RGB彩色图像的特征。如下图,当面对一张66像素的彩色图像时,提及的“3”实际上是指红、绿、蓝三种颜色通道,形象地说&am…...
Rust之函数、单元测试
1、函数 类似于C函数。 1.1、普通函数 在Rust中,函数的定义使用fn关键字,后跟函数名、参数列表、返回类型和函数体。函数体由一系列语句组成,用于执行特定的操作和计算。 函数定义: 使用fn关键字定义函数,函数由函数…...
Linux环境下TensorFlow安装教程
TensorFlow是学习深度学习时常用的Python神经网络框 下面以Mask R-CNN 的环境配置为例: 首先进入官网:www.tensorflow.org TensorFlow安装的总界面: 新建anaconda虚拟环境: conda create -n envtf2 python3.8 (Pyth…...
基于Open3D的点云处理19-模拟生成点云
如果没有设备,怎么得到点云进行学习研究呢,一般通过以下方法: 模型采样+增加噪声:简单方便,但结果比较理想与真实扫描不一致;光线投射:简单方便,可以模仿传感器的一个扫描视角Blensor点云仿真:能够模仿传感器本身的一些噪声,适合激光雷达和tof相机的仿真,传感器较少…...
安全分析[1]之网络协议脆弱性分析
文章目录 威胁网络安全的主要因素计算机网络概述网络体系结构 网络体系结构脆弱性分组交换认证与可追踪性尽力而为匿名与隐私对全球网络基础实施的依赖无尺度网络互联网的级联特性中间盒子 典型网络协议脆弱性IP协议安全性分析IPSec(IP Security)IPv6问题 ICMP协议安…...
数据湖对比(hudi,iceberg,paimon,Delta)
Delta 数据湖 Delta 更新原理 update/delete/merge 实现均基于spark的join功能。 定位 做基于spark做流批一体的数据处理 缺点 本质为批处理。强绑定spark引擎。整体性能相较其他数据湖比较差 hudi 数据湖 hudi 更新原理 通过hudi自定义的主键索引hoodiekey 布隆过…...
基于ssm的蛋糕商城系统java项目jsp项目javaweb
文章目录 蛋糕商城系统一、项目演示二、项目介绍三、系统部分功能截图四、部分代码展示五、底部获取项目源码(9.9¥带走) 蛋糕商城系统 一、项目演示 蛋糕商城管理系统 二、项目介绍 系统角色 : 管理员、用户 一,管理员 管理员有…...
vue3父组件使用ref获取子组件的属性和方法
在vue3中父组件访问子组件中的属性和方法是需要借助于ref: 1.<script setup> 中定义响应式变量 例如: const demo1 ref(null) 2.在引入的子组件标签上绑定ref属性的值与定义的响应式变量同名( <demo1 ref"demo1"/>)。 父组件代码如下&…...
idea大量爆红问题解决
问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...
