目录
一、问答机器人介绍
问答机器人是一种能够基于自然语言处理和机器学习等技术,理解并模拟人类对话,回答人类提出的问题的计算机程序。 它能够通过与人类交互,获取知识、理解语境,并给出准确的答案。
二、国产操作系统——deepin介绍
deepin(原名:Linux Deepin;中文通称:深度操作系统)是由武汉深之度科技有限公司开发的Linux操作系统,其前身是Hiweed Linux操作系统,于2004年2月28日开始对外发行,可以安装在个人计算机和服务器中。
Deepin 是一款具有自主知识产权的国产操作系统,它拥有丰富的功能和良好的用户体验,逐渐在国内市场获得广泛认可。
三、文档问答机器人介绍
文档问答机器人是一种基于自然语言处理技术的智能对话系统,旨在帮助用户快速准确地获取文档信息。用户可以通过输入问题或关键词来与机器人进行交互,机器人会根据用户的输入在文档库中搜索相关内容,并给出相应的答案或建议。文档问答机器人可以应用在各种领域,如客服、教育、医疗等,帮助用户解决问题、提高效率。通过不断学习和优化,文档问答机器人可以逐渐提升其问答能力,为用户提供更加个性化、智能化的服务。
四、预期目标
1、完成一个聊天机器人,能根据 deepin wiki 内容回答问题
2、通过训练模型,使回答和问题要有80%以上概率的相关性。
3、使用web或qt为机器人添加可视化界面支持,能在deepin系统上使用。
4、博客记录进度
五、阶段性发展
1.前期准备与需求分析
在项目启动之初,我们深入分析了当前市场对国产操作系统领域中文问答机器人的需求,了解到国产操作系统如 Deepin 在知识获取方面的局限性。鉴于 chatGPT 等先进模型的盛行, 我们明确了项目的目标:开发一款能够基于 Deepin 系统文档进行精准问答的机器人。
在方案探索阶段,我们提出了两个主要方向:一是利用现有的 LLM 模型,结合向量相 关计算从文档中提取问题相关内容;二是基于文档生成数据集,利用 transformers 库训练专用的文档问答模型。经过深入研究和实验,我们最终选择了 RocketQA 模型作为核心,因为它在中文问答任务中表现出色。
2.实践与理论基础
在实践过程中,我们借鉴了市面上成熟的对话 AI 技术,并结合 NLP 领域的最新研究成果,为项目的实施提供了坚实的理论基础。我们深入学习了 BERT 模型等预训练语言模型,并对多种模型进行了对比测试,最终选定 RocketQA 模型进行微调。
3.系统架构设计与开发环境搭建
在系统架构设计方面,我们采用了基于 RocketQA 模型的微调方案,通过调整模型参数使其适应 Deepin 文档问答的特定场景。在开发环境搭建上,我们安装了包括 paddle、pandas、transformers、requests、faiss、7 json、numpy等在内的必要库,以确保程序的顺利运行。
4.功能模块开发与单元测试
在功能模块开发阶段,我们首先对部分数据进行了测试,验证了模型的可行性。随后,我们对整个数据集进行了抽样测试,并对模型进行了进一步的优化。系统集成与综合测试 完成功能模块开发后,我们进行了系统集成和综合测试。通过模拟真实场景下的用户提问,我们验证了系统的稳定性和准确性。测试结果表明,系统能够准确回答用户关于 Deepin 系统的问题,并提供相关文档的链接。
六、目前机器人所能提供服务
1.基于文本的精准问答服务
系统能够针对用户提出的关于 Deepin 操作系统的问题,从预先加载的 Deepin 文档数据库中检索相关信息,并给出准确的回答。这得益于 RocketQA 模型的微调与优化,使其能够处理 md 文档并精准定位到最相关的回答。
2.自动链接相关文档
除了给出直接回答系统还能够提供与问题相关的 wiki 文档链接。这不仅帮助用户了解回答的来源和依据,还能引导用户进一步深入学习和探索 Deepin 操作系统的相关知识。
3.命令行界面交互
系统通过命令行界面与用户进行交互,使得用户可以在终端中直接输入问题并获取回答。这种交互方式简单、直观,适合技术人员和编程爱好者使用、学习。
4.个性化知识库定制
系统支持对 Deepin 文档数据库进行更新和扩展,以适应操作系统版本的更新和新增功能的引入。这使得问答机器人能够持续为用户提供最新、最全面的 Deepin 知识。
5.跨平台兼容性
由于 Deepin 本身是一款国产操作系统,该系统支持在 Deepin 平台上运行,但也具备跨平台的兼容性,可以在其他主流操作系统上部署和使用。
6.系统学习与提升
随着用户使用的增多和数据的积累,系统可以通过持续学习和优化算法,不断提高问答的准确性和效率,为用户提供更好的体验。
七、目前问答机器人信息介绍
1、编程语言
本项目主要采用 Python 作为开发语言。Python 以其简洁易读、功能强大且拥有丰富的第三方库支持而著称,非常适合用于构建复杂的应用系统。在本项目中,Python 被用于编写系统的主要逻辑、处理用户请求、与数据库进行交互等任务。
2、模型与库
使用 RocketQA 模型,paddlepaddle、RocketQA、transformers、numpy、faiss、markdown、 tqdm 库
3、版本控制
我们采用 Git 作为版本控制系统。Git 是一个分布式版本控制系统,可以追踪代码的变更历史、管理不同版本之间的差异,并支持多人协作开发。通过 Git,我们可以轻松地进行代码提交、分支管理、合并冲突等操作,确保代码的质量和可维护性。
4、容器化技术
为了实现系统的快速部署和可移植性,我们采用了 Docker 容器化技术。Docker 可以将应用程序及其依赖项打包成一个可移植的容器,使得在不同环境中部署和运行应用程序变得更加简单和一致。通过 Docker,我们可以轻松地将系统部署到不同的服务器或云平台上,提高了系统的可扩展性和灵活性。