# literature_topic_recognization_v3 **Repository Path**: liyan24/literature_topic_recognization_v3 ## Basic Information - **Project Name**: literature_topic_recognization_v3 - **Description**: 使用vosviewer作为插件对literature_topic_recognization_v2聚类图的改进 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-28 - **Last Updated**: 2025-06-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Literature Topic Recognition V3 #### 项目介绍 基于 Streamlit 框架开发的文献主题识别系统,是对原 literature_topic_recognition 项目的重构版本。本项目提供了友好的 Web 界面,用于进行文献主题的自动识别与分类,支持流式输出和多种文件格式,提供更优的用户体验。 #### 更新日志 - **2024-12-25** 🚀 **重大功能升级** - 新增**流式输出**功能:实时显示AI分析过程,提供更好的交互体验 - 支持**JSON格式**聚类文件:兼容VOSviewer网络JSON格式 - **简化工作流程**:一个JSON文件即可完成主题标签分析和可视化 - 智能文件格式检测和错误处理 - 优化用户界面和交互体验 - 2024-12-23 增加了.env文件,用户配置可以使用.env文件,不需要在代码或者前台中每次配置。 - 2024-12-18 增加了主题揭示部分,增加了获取标签结果之后的下载功能,可以将揭示标签结果下载为txt文件。 - 2024-12-18 增加了术语抽取部分,增加了进度条及错误处理,如果中间出错,将在输出文件位置放置空字符串,在程序运行结束后将错误的输入行号和输入信息也提供下载。 #### 背景 ![背景](image/README/background.png) #### 软件效果 ![软件效果](image/README/software_effect.png) #### 方法路线 ![方法路线](image/README/method_route.png) #### 技术架构 - **前端框架**:Streamlit - **后端语言**:Python - **AI集成**:LangChain + OpenAI兼容接口 - **可视化**:ECharts + VOSviewer - **主要功能**:文献主题识别、聚类分析、流式AI交互 #### 🌟 主要功能特色 ### 🔥 新功能亮点 - **🤖 AI流式输出**:实时显示AI思考过程,告别等待焦虑 - **📁 智能文件支持**:支持TXT和JSON多种格式,自动检测和处理 - **🎯 一站式处理**:单个文件完成分析到可视化的全流程 - **⚡ 双模式选择**:流式模式(实时交互)+ 标准模式(快速处理) - **🛡️ 智能容错**:自动错误检测和恢复机制 ### 核心功能模块 1. **📝 术语抽取**:从文献标题和摘要中自动提取科技术语 2. **🔗 聚类及可视化**:基于术语共现关系进行聚类分析,生成可视化网络图 3. **🏷️ 主题标签揭示**:为聚类结果自动生成主题标签,揭示研究热点 4. **📊 批量文献处理**:支持批量处理大量文献数据 5. **💾 结果导出功能**:支持将处理结果导出为多种格式 #### 🔄 处理步骤 ### 1. **📝 术语抽取** - 上传CSV格式的文献数据(包含标题和摘要) - 配置大模型API参数(API Key、Base URL、模型名称) - 系统自动从文献中提取科技术语,实时显示处理进度 - 导出提取结果,包含完整的错误处理记录 ### 2. **🔗 聚类及可视化** - 上传术语列表文件(TXT格式) - 配置聚类参数(节点个数、关系个数等) - 系统自动构建术语共现矩阵,进行聚类分析 - 生成术语关系网络可视化图,支持VOSviewer在线查看 - 导出聚类结果和节点关系数据(JSON格式) ### 3. **🏷️ 主题标签揭示** ⭐ **全新升级** #### 📁 文件格式支持 - **TXT格式**:`cluster_id\t术语1;术语2;术语3`(仅用于主题标签生成) - **JSON格式**:VOSviewer网络JSON格式(**推荐**,支持完整功能) #### 🤖 AI分析模式 - **🔥 流式输出模式**:实时显示AI分析过程,观看思考全程 - **⚡ 标准模式**:快速获取完整结果 #### 🎨 可视化生成 - **智能检测**:自动识别文件是否支持可视化 - **一键生成**:编辑主题标签后直接生成交互式网络图 - **无需重复上传**:使用同一个文件完成分析和可视化 #### 💾 结果导出 - 下载主题标签分析结果(TXT格式) - 交互式可视化图表(在线查看) #### 📋 安装步骤 1. **克隆项目到本地** ```bash git clone https://gitee.com/liyan24/literature_topic_recognition_v3.git cd literature_topic_recognization_v3 ``` 2. **安装依赖 (推荐Python 3.12)** ```bash pip install -r requirements.txt ``` 或者单独安装: ```bash pip install streamlit streamlit-echarts langchain langchain_openai networkx python-dotenv ``` **使用国内镜像源加速**: ```bash pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ -r requirements.txt ``` 3. **配置环境变量(可选)** 创建 `.env` 文件: ```bash LLM_API_KEY=your_api_key_here LLM_BASE_URL=your_base_url_here LLM_MODEL_NAME=your_model_name_here ``` 4. **运行项目** ```bash streamlit run app.py ``` 5. **访问系统** 在浏览器中打开 `http://localhost:8501` #### 📁 示例文件 - **术语抽取输入**:`data/test.csv`(文献数据) - **聚类分析输入**:`data/keywords.txt`(术语列表) - **主题标签输入**:`data/cluster.txt`(聚类结果)或 `data/VOSviewer-network.json`(网络数据,**推荐**) #### 🏗️ 项目结构 ``` literature_topic_recognization_v3/ ├── app.py # 🚀 主程序入口 ├── requirements.txt # 📦 项目依赖 ├── .env # ⚙️ 环境配置 ├── modules/ # 🧩 核心功能模块 │ ├── clustering.py # 🔗 聚类分析模块 │ ├── term_extraction.py # 📝 术语抽取模块 │ └── topic_labeling.py # 🏷️ 主题标签模块(支持流式输出) ├── utils/ # 🛠️ 工具函数 │ ├── llm_utils.py # 🤖 LLM接口工具(支持流式) │ └── time_utils.py # ⏰ 时间处理工具 ├── image/ # 🖼️ 图片文件 │ └── README/ # 📄 文档图片 └── data/ # 📊 数据文件 ├── test.csv # 📝 示例文献数据 ├── keywords.txt # 🔑 示例术语列表 ├── cluster.txt # 📋 示例聚类结果 └── VOSviewer-network.json # 🌐 示例网络数据(推荐使用) ``` #### 💡 使用建议 1. **首次使用**:建议从第二步开始,使用示例术语列表快速体验 2. **推荐流程**:聚类分析 → 下载JSON文件 → 主题标签揭示(使用流式输出) 3. **最佳体验**:使用JSON格式文件,一次上传即可完成分析和可视化 4. **API配置**:建议使用.env文件配置API参数,避免重复输入 #### 📞 技术支持 如遇到问题,请检查: - Python版本是否为3.12 - 依赖包是否正确安装 - API配置是否正确 - 文件格式是否符合要求 --- **🎉 体验全新的AI驱动文献分析,享受流式交互的乐趣!**