应用 | AI 自动化某讯会议转录与摘要生成系统
文章目录
- 一、需求设计
 - 1. 处理录屏文件
 - 1.1 提取音频(如录屏是视频格式)
 - 1.2 语音转文字(ASR)
 
- 2. AI分析文本内容
 - 2.1 文本清洗
 - 2.2 关键信息提取
 - 2.3 文本摘要
 
- 3. 生成结构化会议纪要
 - 3.1 模板示例
 - 3.2 自动化工具
 
- 4. 优化建议
 - 5. 完整流程示例
 
- 二、技术栈设计
 - 1. 主要编程语言
 - 2. 核心第三方库
 - 2.1 音频处理
 - 2.2 语音识别
 - 2.3 文本处理
 - 2.4 API集成
 - 2.5 环境与配置
 - 2.6 命令行界面
 - 2.7 日期时间处理
 - 2.8 其他实用工具
 
- 3. AI模型
 - 4. 开发环境与依赖管理
 
- 三、主要功能模块
 - 1. 音频提取模块
 - 2. 语音转文字模块
 - 3. 文本清理与处理模块
 - 4. 关键信息提取模块
 - 5. AI摘要生成模块
 - 6. 主流程控制模块
 - 7. 命令行接口模块
 
- 四、目录结构说明
 - 1. 项目根目录
 - 2. output 目录
 - 3.文件关系及数据流
 - 4. 运行时可能生成的临时文件
 
- 五、最终项目实现
 - 1. 主要功能特性
 - 2. 技术栈
 - 3. 安装指南
 - 3.1 前置要求
 - 3.2 安装步骤
 - 3.3 使用方法
 
- 4. 输出结果
 - 5. 目录结构
 - 6. 处理流程
 - 7. 注意事项
 - 8. 源代码
 - 9. 运行效果
 
一、需求设计
请使用Python实现以下的功能:
通过AI分析会议录屏文件并生成会议纪要,可以借助语音转文字(ASR)、自然语言处理(NLP)和文本摘要技术。
1. 处理录屏文件
1.1 提取音频(如录屏是视频格式)
- 工具推荐: 
- 使用FFmpeg(命令行工具)提取音频:
 -  
ffmpeg -i input.mp4 -vn -acodec copy output.m4a `` 
 
1.2 语音转文字(ASR)
- Whisper(OpenAI开源模型)
免费、支持多语言(包括中文),可本地部署:# 安装Whisper pip install openai-whisper # 转写音频 whisper "input.mp3" --language Chinese --model medium 
2. AI分析文本内容
将转写的文字通过NLP技术提取关键信息:
2.1 文本清洗
- 删除重复词、语气词(如“嗯”、“啊”)。
 - 分段处理:按发言人或时间戳分段。
 
2.2 关键信息提取
- 工具/方法: 
- 命名实体识别(NER)
提取人名、时间、任务、项目等实体(阿里云百炼AI API)。 - 议题与结论识别
使用关键词匹配(如“结论是”、“下一步”),或训练分类模型。 - 任务分配提取
通过正则表达式匹配“@人名”或“负责”等关键词。 - 情感分析(可选)
识别讨论中的争议点(deepseek-r1)。 
 - 命名实体识别(NER)
 
2.3 文本摘要
- 工具推荐: 
- deepseek-r1
直接输入文本并提示:“请总结以下会议内容,列出议题、结论和待办事项。” 
 - deepseek-r1
 
3. 生成结构化会议纪要
将分析结果整理为标准化模板:
3.1 模板示例
会议主题:[主题]
时间:[日期]
参会人:[人员列表]议题与讨论:
1. [议题1]- 讨论内容:[摘要]- 结论:[结论]
2. [议题2]...待办事项:
- [任务1] @负责人(截止时间)
- [任务2] @负责人(截止时间)
 
3.2 自动化工具
- 低代码方案:
使用deepseek-r1,自动生成纪要。 
4. 优化建议
1 时间戳标记:
 在纪要中保留关键讨论的时间点(如“00:12:30 决策通过XX方案”)。
5. 完整流程示例
录屏文件(.mp4) → FFmpeg提取音频(.m4a) → Whisper转写文本 → DeepSeek-R1总结 → 生成Markdown纪要
 
二、技术栈设计
1. 主要编程语言
- Python: 项目的核心编程语言,用于实现所有功能模块。
 
2. 核心第三方库
2.1 音频处理
- ffmpeg-python: 用于音视频处理,负责从视频文件中提取音频轨道。 
- 功能: 视频转音频, 音频格式转换
 - 版本: 建议使用最新稳定版本
 
 
2.2 语音识别
- OpenAI Whisper: 用于语音转文字,将会议音频转换成文本。 
- 功能: 自动语音识别(ASR)
 - 版本: 未在代码中明确指定,建议使用最新稳定版本
 - 特点: 支持多种模型大小(tiny/base/small/medium/large),可根据需求平衡准确性和性能
 
 
2.3 文本处理
-  
jieba: 中文分词和文本分析库。
- 功能: 中文分词、关键词提取
 - 版本: 未在代码中明确指定
 - 具体组件: 
- jieba.analyse: 用于从转录文本中提取关键词
 
 
 -  
re: Python标准库正则表达式模块。
- 功能: 文本模式匹配与处理
 - 用途: 清理文本、识别特定模式的信息(如人名、任务等)
 
 
2.4 API集成
- OpenAI Python客户端: 用于调用DeepSeek API。 
- 功能: 与DeepSeek大语言模型通信
 - 版本: 未在代码中明确指定
 - 注意: 代码使用OpenAI客户端连接DeepSeek API,而非标准OpenAI API
 
 
2.5 环境与配置
- python-dotenv: 管理环境变量和配置。 
- 功能: 从系统加载环境变量
 - 用途: 安全地存储API密钥等敏感信息
 
 
2.6 命令行界面
- argparse: Python标准库命令行参数处理模块。 
- 功能: 解析命令行参数
 - 用途: 提供用户友好的命令行接口
 
 
2.7 日期时间处理
- datetime: Python标准库日期时间处理模块。 
- 功能: 处理日期和时间
 - 用途: 格式化时间戳等
 
 
2.8 其他实用工具
-  
os: Python标准库操作系统接口模块。
- 功能: 文件和目录操作
 - 用途: 创建目录、检查文件是否存在等
 
 -  
warnings: Python标准库警告控制模块。
- 功能: 控制警告消息的显示
 - 用途: 抑制特定警告消息,如Whisper模型的FP16警告
 
 
3. AI模型
- DeepSeek-r1: 用于生成会议摘要的大语言模型。 
- 功能: 自然语言理解与生成
 - 访问方式: DeepSeek API
 - 模型变体: deepseek-reasoner
 
 
4. 开发环境与依赖管理
- 推荐依赖安装:
pip install ffmpeg-python openai-whisper jieba python-dotenv openai 
三、主要功能模块
1. 音频提取模块
- 功能描述:从会议视频文件中提取音频内容。
 - 核心实现:使用ffmpeg库从视频中分离出音频轨道,保存为独立的音频文件。
 - 输入:会议视频文件(如MP4格式)。
 - 输出:音频文件(m4a格式)。
 
2. 语音转文字模块
- 功能描述:将会议音频内容转换为文本。
 - 核心实现:使用Whisper语音识别模型进行自动转录。
 - 主要特点: 
- 支持多种语言识别(项目中主要针对中文)
 - 可选择不同大小的模型(tiny/base/small/medium/large)平衡性能和准确性
 - 生成带有时间戳的转录文本,便于定位会议内容
 
 - 输入:音频文件
 - 输出: 
- 完整转录文本(无时间戳)
 - 带时间戳的转录文本(每个语音片段带有开始时间)
 
 
3. 文本清理与处理模块
- 功能描述:优化转录文本,提高摘要生成质量。
 - 核心实现:使用正则表达式和文本处理技术清理文本。
 - 主要功能: 
- 去除语气词(如"嗯"、“啊”、"那个"等)
 - 去除重复内容
 - 优化文本结构,提高可读性
 
 - 输入:原始转录文本
 - 输出:清理后的文本
 
4. 关键信息提取模块
- 功能描述:从会议内容中识别关键信息。
 - 核心实现:结合jieba分词和正则表达式进行信息提取。
 - 提取内容: 
- 关键词(使用jieba.analyse提取重要词汇)
 - 可能的人名(使用正则表达式识别)
 - 可能的任务(识别包含"需要"、“应该”、"必须"等词的句子)
 - 会议议题(识别包含"关于"、“议题”、"讨论"等词的句子)
 
 - 输入:清理后的文本
 - 输出:结构化的关键信息数据
 
5. AI摘要生成模块
- 功能描述:基于转录内容自动生成结构化会议纪要。
 - 核心实现:调用DeepSeek API,使用大语言模型生成高质量摘要。
 - 主要特点: 
- 生成标准化的会议纪要格式
 - 包含会议主题、参会人员、议题、讨论内容、结论和待办事项等
 - 使用Markdown格式输出,便于阅读和共享
 
 - 输入:清理后的会议转录文本
 - 输出:结构化的会议纪要(Markdown格式)
 
6. 主流程控制模块
- 功能描述:协调各模块工作,实现完整的处理流程。
 - 核心实现:MeetingSummarizer类的process方法。
 - 主要流程: 
- 提取音频
 - 语音转文字
 - 文本清理
 - 关键信息提取
 - AI摘要生成
 
 - 输入:会议视频文件、配置参数
 - 输出:完整的处理结果,包括转录文本和会议纪要
 
7. 命令行接口模块
- 功能描述:提供用户友好的命令行接口。
 - 核心实现:使用argparse库解析命令行参数。
 - 支持参数: 
- 视频文件路径(必需)
 - 输出目录(可选,默认为"output")
 - Whisper模型大小(可选,默认为"medium")
 
 - 使用方式:
python meeting_summary.py 会议视频路径 --output 输出目录 --model medium 
四、目录结构说明
1. 项目根目录
- meeting_summary.py: 主程序文件,包含整个系统的核心代码和处理流程。该文件定义了MeetingSummarizer类及其相关方法,以及命令行接口。
 - meeting_01.mp4: 示例会议视频文件,作为系统输入的测试数据。
 
2. output 目录
输出目录,存放程序处理结果的各种文件:
- audio.m4a: 从视频中提取的音频文件,作为语音识别的输入。
 - transcript.txt: 完整的会议转录文本,不包含时间戳,只有纯文本内容。
 - transcript_with_timestamps.txt: 带时间戳的会议转录文本,每个语音片段前标注了开始时间(格式:[小时:分钟:秒])。
 - summary.md: 最终生成的会议纪要,采用Markdown格式,包含结构化的会议信息。
 
3.文件关系及数据流
- 程序从 meeting_01.mp4 视频文件开始处理
 - 提取音频到 output/audio.m4a
 - 音频转录生成 output/transcript.txt 和 output/transcript_with_timestamps.txt
 - 对转录文本进行清理和关键信息提取(无独立文件输出)
 - 调用AI生成会议纪要,保存为 output/summary.md
 
4. 运行时可能生成的临时文件
在处理过程中,系统可能会生成一些临时文件,但会在处理完成后自动清理。这些文件不会出现在最终的目录结构中。
五、最终项目实现
本项目是一个AI自动化会议转录与摘要生成系统,通过分析会议视频/音频内容,自动生成结构化的会议纪要。系统结合了语音识别、文本处理以及AI摘要生成技术,实现从会议录制到最终摘要的完整流程。
1. 主要功能特性
- 音频提取:从会议视频文件中提取音频内容
 - 语音转文字:使用Whisper模型将会议音频转换为文本
 - 文本清理与处理:优化转录文本,提高可读性和摘要生成质量<
 
