"聊天机器人数据处理器设计与实现:基于Python的统计分析功能机器人系统"

版权申诉
0 下载量 188 浏览量 更新于2024-04-07 1 收藏 955KB DOC 举报
stract With the advancement of modern computer and internet technology, human society is gradually moving towards informatization. The handling of analytical tasks in various fields can also be entrusted to computers and networks, making computer data analysis increasingly important in the information society. Using a humanized interactive way to allow computers to process various data for a long time is also particularly valuable. There are many types of human-computer interaction robots developed in China, and text-based interactive robots are currently a relatively inexpensive and visually intuitive type of robot. However, existing similar robots lack good scalability, demonstrating their inflexibility. This system will implement a human-like chatbot data processor with statistical analysis capabilities through various technological means such as weak artificial intelligence segmentation, classifier matching models, and self-learning. The system can interact with people in text form in a way that is close to ordinary people's language, and can generate different chat styles based on the historical chat records of the interacting person. During this process, the system will record and analyze all conversations, and anonymize the recorded conversations. Operators can view emotional indexes calculated based on long-term incoming sentence data in the system, and high-level operators can view emotional index data for the overall users. Therefore, this system can effectively collect user data in a silent manner, organize data that is helpful for educators to plan teaching strategies, and improve educational work. Keywords: software engineering, chatbot, natural language, data processing, Python development.
2023-03-07 上传
聊天机器⼈系统设计⽅案 聊天机器⼈系统设计⽅案 ⼀、项⽬介绍 ⼀、项⽬介绍 我的⼯程实践项⽬是偏研究类型的NLP领域任务,细分则是情感类对话⽣成任务,考虑在此次作业将⼯程实践的相应技术封装成⼀个聊天机器⼈的项⽬。 整个项⽬的⼯作流程可⼤致描述如下: 在聊天机器⼈系统中,⽤户给系统输⼊⼀句话(可以是问询式或仅仅是闲聊),系统根据⽤户输⼊的句⼦进⾏回复(这个回复的⽣成不仅考虑了输⼊句⼦的内容,也考虑了其情 感性),⽤户得到回答后可以给这个回复进⾏打分评价,管理员收集这些信息以便后续的模型优化和训练集集扩张。 ⼆、软件架构设计⽅案 ⼆、软件架构设计⽅案 本项⽬的基于MVC框架模式进⾏开发,即Model(模型)-View(视图)-Controller(控制器)。 M即model,模型是是应⽤程序中⽤于处理应⽤程序数据逻辑的部分。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中⽴的,模型与数据格式⽆ 关,具有复⽤性,这样使得⼀个模型能为多个视图提供数据,由于应⽤于模型的代码只需写⼀次就可以被多个视图重⽤,所以减少了代码的重复性。 V即View,视图是指⽤户看到并与之交互的界⾯。⽐如我们平时上⽹所见的由HTML/CSS编写⽽成的⽹页界⾯,或者软件app的⽤户交互界⾯。要注意的是,在视图层中其 实没有真正的处理发⽣,这交由其他两层进⾏处理,它只是作为⼀种输出数据并允许⽤户操纵的⽅式。 C即controller,控制器是指控制器接受⽤户的输⼊并调⽤模型和视图去完成⽤户的需求,控制器本⾝不输出任何东西和做任何处理。它只是接收请求并决定调⽤哪个模型构 件去处理请求,然后再确定⽤哪个视图来显⽰返回的数据。正是由于它的存在,使得视图层与模型层能够解耦合。 将上述关系⽤⼀张直观的图来进⾏描述如下: 三、软件概念模型 三、软件概念模型 1. 分解视图 分解视图 分解是构建软件架构模型的关键步骤,分解视图也是描述软件架构模型的关键视图,⼀般分解视图呈现为较为明晰的分解结构(breakdown structure)特点。 分解视图⽤软件模块勾划出系统结构,往往会通过不同抽象层级的软件模块形成层次化的结构。 1)⽤户分解视图 2)管理员分解视图 3)系统分解视图 2. 依赖视图 依赖视图 依赖视图在项⽬计划中有⽐较典型的应⽤。⽐如它能帮助我们找到没有依赖关系的软件模块或⼦系统,以便独⽴开发和测试,同时进⼀步根据依赖关系确定开发和测试软件模块 的先后次序。 依赖视图展现了软件模块之间的依赖关系。⽐如⼀个软件模块A调⽤了另⼀个软件模块B,那么我们说软件模块A直接依赖软件模块B。如果⼀个软件模块依赖另⼀个软件模块产 ⽣的数据,那么这两个软件模块也具有⼀定的依赖关系。 依赖视图在项⽬的变更和维护中也很有价值,⽐如它能有效帮助我们理清⼀个软件模块的变更对其他软件模块带来影响范围。 ⽤户与系统对话,系统输出回答,存储到对话数据; ⽤户可以对系统给出的回答进⾏打分评价; ⼀个账户的历史对话数据应与特定账号绑定; 得到评分后的对话数据可以⽤来优化NLP模型。 3. 执⾏视图 执⾏视图 执⾏视图展⽰了系统运⾏时的时序结构特点,⽐如流程图、时序图等。执⾏视图中的每⼀个执⾏实体,⼀般称为组件(Component),都是不同于其他组件的执⾏实体。如果有 相同或相似的执⾏实体那么就把它们合并成⼀个。 ⽤户执⾏视图 管理员执⾏视图 4. 实现视图 实现视图 实现视图有助于码农在海量源代码⽂件中找到具体的某个软件单元的实现。实现视图与软件架构的静态结构之间映射关系越是对应的⼀致性⾼,越有利于软件的维护,因此实现 视图是⼀种⾮常关键的架构视图。 5. 部署视图 部署视图 部署视图是将执⾏实体和计算机资源建⽴映射关系。这⾥的执⾏实体的粒度要与所部署的计算机资源相匹配,⽐如以进程作为执⾏实体那么对应的计算机资源就是主机,这时应 该描述进程对应主机所组成的⽹络拓扑结构,这样可以清晰地呈现进程间的⽹络通信和部署环境的⽹络结构特点。 6. ⼯作分配视图 ⼯作分配视图 姓名 姓名 学号 学号 项⽬任务分⼯ 项⽬任务分⼯ 张三 SA20225XXX 构建并训练模型,后端开发 赵四 SA20225XXX 数据预处理,项⽬架构,后端开发 王五 SA20225XXX UI设计,前端开发 四、数据库设计 四、数据库设计 1. ⽤户表 ⽤户表 字段名称 字段名称 类型 类型 注释 注释 username string ⽤户名 password string 密码 person_type string ⽤户类型 phone_number string 电话号码 email string 电⼦邮箱 user_id int ⽤户ID 2. 管理员表 管理员表 字段名称 字段名称 类型 类型 注释 注释