Vue / FastAPI / NLP Visualization
《鲁迅全集》数字化阅读与知识可视化 Web
围绕《鲁迅全集》构建数字化阅读与知识可视化 Web 应用,集成 EPUB 章节导览、鲁迅生平与作品时间线、词云/频数统计、人物关系图和章节 AI 对话。
前端采用 Vue3 组织鲁迅全集概览、书籍导览和数据概览三类主模块,并提供主题与背景设置。
书籍导览模块通过 EPUB.js 加载 luxun.epub,支持卷、册、章节三级导航、分页阅读、字体调整和章节定位。
数据概览模块调用后端接口生成词云、词频/字频柱状图,并使用 ECharts 展示人物关系网络。
概览导航模块整理鲁迅生平年谱、作品时间线、笔名汇编和版本背景,形成面向阅读前理解的导航页。
后端采用 FastAPI、ebooklib、BeautifulSoup、HanziNLP、jieba 和 WordCloud,提供目录解析、文本抽取、词频统计和词云生成。
人物关系与章节对话通过智谱接口接入,提示词约束人物、角色、描述和关系字段,后端同时支持缓存与日志记录。
Timeline
推进过程
文本与材料准备整理《鲁迅全集》EPUB、年谱、版本背景、作品时间线和笔名资料。
前端模块搭建使用 Vue3 组织概览导航、书籍导览和数据概览三类主模块。
EPUB 阅读器通过 EPUB.js 实现卷册章节导航、章节定位、分页阅读、字体调整和明暗主题。
文本统计接口通过 FastAPI 解析 EPUB 章节文本,生成词云、词语频数和文字频数数据。
人物关系与问答接入智谱接口,按提示词抽取人物关系并提供章节上下文对话。
展示整理整理项目报告、PPT、README、核心组件、后端接口和 EPUB 资源。
Methods
标签解释
Vue3组织单页应用状态、模块切换、主题设置、阅读器面板和数据可视化组件。
FastAPI提供后端 API,包括健康检查、书籍列表、目录解析、词云、频数、人物关系和章节问答。
ECharts用于渲染鲁迅生平时间线、作品时间线、词频柱状图和人物关系图。
EPUB.js在前端加载 luxun.epub,完成章节渲染、分页阅读和章节定位。
ebooklib在后端读取 EPUB 结构、TOC 和章节 HTML,为前端目录与文本分析提供数据。
BeautifulSoup清洗 EPUB 章节 HTML,去除导航、页脚、脚注等干扰内容后抽取正文文本。
HanziNLP / jieba用于生成词语频数和文字频数,HanziNLP 不可用时通过 jieba 与 Counter 回退。
WordCloud根据章节词频生成词云 PNG,用于数据概览中的章节文本视觉呈现。
ZhipuAI用于人物关系抽取和章节 AI 对话,后端通过缓存和日志保存结构化输出。
Mermaid
技术路线
flowchart LR A["luxun.epub"] --> B["FastAPI / ebooklib 目录与正文解析"] B --> C["EPUB.js 书籍导览"] B --> D["词频 / 字频 / 词云接口"] B --> E["章节文本上下文"] D --> F["WordCloud 与 ECharts 图表"] E --> G["人物关系抽取提示词"] G --> H["ZhipuAI / LLM"] H --> I["人物关系图与章节对话"] C --> J["卷 / 册 / 章节导航"] F --> K["数据概览"] I --> K J --> L["鲁迅全集导览 Web"]
File Tree
交付材料
Gallery
报告图示与功能流程
Resources