本周,我围绕易学探索助手的实现做了以下工作:
1.完成易学古籍辅助学习前端界面的大体搭建;
2.实现文献上传功能模块
3.对句读处理模块的前后端功能开发,支持用户交互式编辑与二次处理的技术探索与思考。
一、易学古籍辅助学习前端界面的搭建以及文献上传功能的实现
本项目中,主要包含两个主要的界面,一个是AI助手界面(主界面),另一个即是古籍处理的前端界面。古籍处理的前端页面这一部分主要包含古籍的上传与返回文本显示模块,支持交互式编辑,以及注释显示、翻译显示模块,本周则主要完成了大致框架搭建以及古籍上传前端功能的实现,其中,具体实现了以下功能点:
(1)统一的主界面布局,响应式导航栏;
(1)支持多种文件格式,如PDF、Word、图片等;
(2)文件大小限制,限制文件大小不超过50MB;
(3)支持拖拽和点击上传,实时上传进度显示
(4)图片预览功能,方便用户查看上传内容;
(5)完善的错误处理机制,对错误原因进行提示。
技术实现细节:
-
前端技术栈:Vue3 + Element Plus + Axios
-
核心功能点:
功能 | 技术实现 |
---|---|
文件上传 | 通过 <upload-container> 组件实现拖拽上传,限制文件类型为PDF/WORD/图片。 |
图片预览 | 通过判断文件类型是否为图片,为图片则支持预览功能。 |
上传状态反馈 | 结合 loading 状态与进度条组件,实时显示上传进度及成功/失败提示。 |
存在的问题:文件预览功能只支持对于图片的预览,可进一步实现对于各种文件类型进行预览功能。
二、句读处理功能开发的技术探索
实现目标:
对上传的易学文献进行句读处理,便于用户阅读和理解,同时支持用户更改与系统进行交互。
功能点
(1)自动断句,根据标点符号和语境进行智能断句;
(2)实现句读结果的动态展示与手动调整功能。
(3)显示句读进度,让用户了解当前处理情况;
(4)对接后端句读处理接口,完成文本分段与高亮渲染。
1.实现上述功能点需要解决这些问题:
-
自动断句的核心挑战
-
标点符号多样性:古汉语与现代标点差异(如“。”与“.”的区分)。
-
语境歧义:如“子曰学而时习之不亦说乎”需结合语义拆分。
-
性能与精度平衡:大规模文本处理时需兼顾效率与准确性。
-
-
手动调整交互设计难点
-
用户友好性:需支持拖拽、合并、拆分等操作,降低学习成本。
-
实时反馈:编辑后需即时保存并与后端同步,避免数据丢失。
-
-
进度展示的技术选择
-
短时处理:采用简单加载动画(如进度条)。
-
长时处理:WebSocket 实时推送进度百分比。
-
2.技术设想:
通过 HanLP 分句算法 + 前端可编辑组件 + WebSocket 进度反馈 的组合方案,可满足易学文献的智能断句与交互式编辑需求。
1. 自动断句实现
-
后端(HanLP 分句逻辑):通过 HanLP 的
SentenceUtil.splitSentence
方法结合自定义规则 -
前端请求与响应处理:使用JavaScript实现句读结果的展示(调用后端接口)和手动调整。
2.样式与交互逻辑
-
分段高亮:通过 CSS 实现背景色区分(如偶数行浅灰色)。
-
拖拽调整:使用
draggable
属性与dataTransfer
API 实现句子顺序调整。
3. 数据回传与进度反馈机制
-
短时处理(<5秒):使用进度条动画。
-
长时处理(>5秒):WebSocket 实时推送。
3.后续重点优化方向:
-
结合深度学习模型(如BERT)提升语境理解能力。
-
实现多版本句读结果对比功能。