问答-论文
论文一:基于 Flask Web 的中华心法问答系统 设计与实现
一、项目开发背景
1. 行业与文化背景
中华心法包含修身、处世、心性修养等传统哲学智慧,是中华传统文化核心内容之一。当下传统文化复兴热潮下,大众学习需求持续上涨,但现有传播载体存在明显短板:
- 传播形式老旧:依靠纸质书籍、线下讲座,无法随时随地检索提问;
- 缺少专业问答平台:市面上通用问答系统面向百科、教育,没有针对传统文化心法定制的内容管理体系;
- 检索精度低:普通网站仅关键词匹配,无法理解文字背后深层语义,同义问题检索不到答案;
- 内容质量难管控:用户自主上传传统文化内容易出现解读偏差、重复内容,缺少分级审核、专家复核流程;
- 多媒体资源存储压力大:心法讲解视频、古籍文档、图文素材本地存储成本高、加载缓慢。
2. 技术背景
- Python Flask 轻量 Web 框架上手简单、拓展丰富,适合中小型知识类系统快速开发;
- BERT 预训练模型、jieba 分词成熟落地,低成本实现中文语义检索;
- 云对象存储(腾讯云 COS)可低成本存放音视频、文档等非结构化文件;
- MySQL+ORM 模型简化数据库操作,搭配 Redis 缓存可提升并发访问性能。
二、整体技术栈总览
后端
Flask 2.0.1、Python3.8、MySQL8.0、Flask-SQLAlchemy(ORM)、Flask-Login、Flask-Migrate、Redis 缓存、Gunicorn
前端
HTML5+CSS3 + 原生 JS、Bootstrap 响应式、CSS 自定义国风主题变量
NLP 智能模块
jieba 中文分词、停用词过滤、BERT 预训练模型、余弦相似度算法
存储 & 部署
腾讯云 COS 对象存储、Nginx 反向代理、Ubuntu Linux 服务器
二、各模块技术点
1. 用户权限模块
Flask-Login 会话管理、Werkzeug 密码哈希、自定义角色装饰器;ORM 用户表区分普通用户 / 管理员 / 专家,细分分类审核权限。
2. 内容审核模块
Flask 接口接收问答 / 视频 / 文章;SQL 分待审、正式双表;查重接口、专家升级审核;事务保证数据一致性;secure_filename 安全处理上传文件,软删除回收站。
3. 分类标签模块
SQL 自关联树形分类;BERT 余弦相似度自动匹配标签;用户自定义私人标签;多对多 ORM 绑定内容与标签。
4. 智能搜索模块(核心)
jieba 分词 + 停用词过滤;BERT 生成文本向量;余弦相似度计算语义匹配;语义分数 + 专家评分加权排序;多标签分页筛选。
- jieba 分词:把一句话拆成单个词语,比如 “内心焦虑怎么办” 拆出焦虑、内心;
- 停用词过滤:删掉 “的、吗、怎么” 这种没用的字,减少干扰;
- BERT 向量:把文字转换成一串数字,意思相近的文字数字也接近;
- 余弦相似度:对比提问和库里所有问答的数字,算出像不像;
- 混合打分:算法相似度 + 专家人工打分各占一半,结果越贴合排越前面。
5. 腾讯云 COS 存储模块
COS SDK 云端上传音视频文档;UUID 防重命名;CDN 加速访问;后端代理接口实现文档在线预览;数据库仅存文件链接。
论文二:基于增量更新的中华心法问答系统研究
一、项目背景
1. 业务背景
中华心法是修身、养心类传统文化知识,需要线上问答平台供人查询解惑。平台会持续新增心法问答资料(新知识不断增加)。
2. 现有痛点
普通 BERT、BGE 语言模型有致命问题:每次新增大量知识,必须把全部新旧数据一起重新完整训练;只学新内容时,会把之前学到的旧心法知识忘掉(灾难性遗忘),重训耗时、耗显卡算力,更新成本极高。
3. 项目目标
搭建支持增量更新的心法问答系统,采用 LAUR 持续学习模型:不用每次全量重训,新增数据只做增量训练,同时保住旧知识不遗忘,提升语义检索、问答分类准确度。
二、基础底层技术(两大基础模型)
1. BERT 模型
- 作用:基础语义提取工具,把文字转换成数字向量,让电脑看懂句子含义;
- 技术逻辑:双向 Transformer 结构,同时看上下文,是所有 NLP 任务通用骨干网络;
- 短板:单独增量训练会严重遗忘旧知识。
2. BGE 嵌入模型
- 技术 1 RetroMAE 预训练:刻意加大文字还原难度,让模型学到更深层整体语义,检索更准;
- 技术 2 自知识蒸馏:模型自己训练自己,同时产出关键词、语义多维度向量,适配问答搜索场景。
三、核心 LAUR 增量模型两大模块(项目核心技术)
模块 1:自适应不确定性正则化(保护旧知识)
整体作用:区分 AI 里哪些参数存着老心法知识,把关键记忆锁住,不让新数据覆盖。
- 不确定性打分 普通模型参数只是一个数字;这个模型给每块记忆打分:分数越低 = 这段旧知识越重要,不能随便改。
- UR1 弹性约束 同时兼顾多层记忆,重要参数严格限制改动幅度,避免旧心法内容被冲掉。
- UR2 稀疏引导 让有用的记忆数值突出,没用的自动弱化。
- UR3 稳定打分机制 防止打分数值乱飘,如果打分全部失效,就分不清哪些是重要旧知识,整套保护功能报废。
- 动态学习率控制 一旦发现某段重要记忆分值变差,自动放慢修改速度,牢牢锁住旧知识。
模块 2:并行残差适应(单独通道学新知识,不碰老记忆)
整体作用:专门开一条独立小路学新增问答,不动存储旧知识的主干道,互不干扰。
- 降维:简化新数据,减少计算压力;
- 低维学习:在独立通道单独学习新增的心法问答;
- 升维:把简化后的信息还原成标准格式;
- 融合:(旧知识)+ (新知识)合并输出结果。 新旧知识分开储存,学新的完全不会洗掉以前记住的内容。
