应用 | AI 自动化某讯会议转录与摘要生成系统

一、需求设计

请使用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 关键信息提取
  • 工具/方法
    1. 命名实体识别(NER)
      提取人名、时间、任务、项目等实体(阿里云百炼AI API)。
    2. 议题与结论识别
      使用关键词匹配(如“结论是”、“下一步”),或训练分类模型。
    3. 任务分配提取
      通过正则表达式匹配“@人名”或“负责”等关键词。
    4. 情感分析(可选)
      识别讨论中的争议点(deepseek-r1)。
2.3 文本摘要
  • 工具推荐
    • 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方法。
  • 主要流程
    1. 提取音频
    2. 语音转文字
    3. 文本清理
    4. 关键信息提取
    5. 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.文件关系及数据流

  1. 程序从 meeting_01.mp4 视频文件开始处理
  2. 提取音频到 output/audio.m4a
  3. 音频转录生成 output/transcript.txt 和 output/transcript_with_timestamps.txt
  4. 对转录文本进行清理和关键信息提取(无独立文件输出)
  5. 调用AI生成会议纪要,保存为 output/summary.md

4. 运行时可能生成的临时文件

在处理过程中,系统可能会生成一些临时文件,但会在处理完成后自动清理。这些文件不会出现在最终的目录结构中。

五、最终项目实现

本项目是一个AI自动化会议转录与摘要生成系统,通过分析会议视频/音频内容,自动生成结构化的会议纪要。系统结合了语音识别、文本处理以及AI摘要生成技术,实现从会议录制到最终摘要的完整流程。

1. 主要功能特性

  • 音频提取:从会议视频文件中提取音频内容
  • 语音转文字:使用Whisper模型将会议音频转换为文本
  • 文本清理与处理:优化转录文本,提高可读性和摘要生成质量<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zuozewei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值