基于大模型的讲座语音转录与摘要生成系统设计毕设源码(源码+lw+部署文档+讲解等)
博主介绍:✌ 专注于VUE,小程序,安卓,Java,python,物联网专业,有18年开发经验,长年从事毕业指导,项目实战✌选取一个适合的毕业设计题目很重要。✌关注✌私信我✌具体的问题,我会尽力帮助你。
一、研究目的
当前,学术讲座与行业研讨会在知识传播与人才培养中扮演着不可替代的角色,然而其内容往往以音频或视频形式保存,缺乏可检索、可共享的文本资源,这限制了信息的高效利用和跨学科传播。传统语音识别技术在嘈杂环境、方言差异以及长时段连续语音处理方面仍存在显著误差,导致转录结果不具备足够的准确性;与此同时,手工编写摘要不仅耗时耗力,而且难以保持客观性与完整性。为此,本研究旨在构建一套基于大规模预训练语言模型的讲座语音转录与摘要生成系统,以期实现高精度、低延迟的自动化处理,满足学术社区对高质量文本资料的迫切需求。具体而言,研究将聚焦于三大核心目标:首先,通过融合多模态特征与自监督预训练策略,提升在多样化音频环境下的识别鲁棒性;其次,利用生成式大模型在转录文本基础上生成结构化摘要,兼顾信息完整性与可读性;再次,构建端到端的评估框架,对转录准确率、摘要覆盖率与用户满意度进行量化分析。通过上述目标的实现,本研究将为学术讲座内容的数字化存档、检索与再利用提供技术支撑,并为教育公平与终身学习奠定坚实基础。最终,本系统的落地应用将为高校与科研机构提供一套可扩展、可持续的知识管理工具,促进学术成果的快速传播与共享。
二、研究意义
在全球化与数字化时代背景下,学术讲座已成为知识创新与学术交流的重要载体,其内容涵盖前沿研究成果、跨学科视角以及实践经验,但由于多为音频或视频形式,缺乏结构化文本,导致信息检索效率低下、知识共享受限。传统语音识别技术在嘈杂环境、口音差异及长时段连续语音处理方面误差较大,转录结果常出现词错、漏词等现象,影响后续文本分析与知识抽取的准确性。通过引入大规模预训练语言模型与多模态融合技术,本研究能够显著提升识别鲁棒性与精度,为学术资料的数字化存档提供可靠基础。与此同时,利用生成式大模型在高质量转录文本上生成结构化摘要,可实现信息的快速提炼与概览,满足学者在文献检索、会议回顾及课程设计中的需求。该系统的落地应用将促进知识的可持续传播与再利用,缩小因地域、资源差异导致的学术不平等,为教育公平与终身学习提供技术支撑。更重要的是,系统所产生的高质量文本数据将为后续语义分析、知识图谱构建及学术评价体系改进提供宝贵素材,推动人工智能在学术生态中的深度融合。综上所述,本研究不仅在技术层面突破了大规模语音转录与摘要生成的瓶颈,更在社会层面实现了知识共享的普惠化,为学术传播模式的创新与教育改革注入了新的动力。
三、国内外研究现状
近年来,随着深度学习技术的快速发展,语音识别与文本摘要已成为自然语言处理与多模态交互领域的热点研究方向。国际上,基于Transformer架构的端到端语音识别模型已取得显著进展,其中Wav2Vec 2.0、HuBERT以及最近的Whisper模型通过大规模无监督预训练,能够在多种噪声环境下实现高精度转录,并在英语、法语等多语言场景中表现出色。与此同时,生成式预训练模型如BART、T5以及GPT系列已被广泛用于文本摘要任务,它们通过自编码或因果语言建模的方式,能够在保持信息完整性的同时生成结构化、可读性强的摘要文本。将这些技术结合到学术讲座语音转录与摘要生成中,研究者已开展了一系列探索性工作。例如,某些实验室利用Whisper模型对会议录音进行转录,再通过BART进行摘要生成,实验结果显示在无标注数据上可实现较低的WER(词错误率)和较高的ROUGE分数。除此之外,跨模态学习方法也被提出,以视觉信息(如讲座视频帧)与语音特征相结合,进一步提升识别鲁棒性。国内方面,科大讯飞、腾讯AI Lab以及清华大学等机构在语音识别领域取得了多项突破。科大讯飞推出的“讯飞听见”系统在中文环境下实现了接近行业领先的转录准确率,并通过多说话人分离技术解决了多人对话场景的挑战。腾讯AI Lab则在大规模语音数据上训练了基于HuBERT的模型,并将其与GPT-3风格的生成模型结合,尝试在中文学术讲座中实现自动摘要。国内研究者亦关注于多语言、方言适配问题,提出了基于对抗学习的域自适应方法,以提升模型在不同口音环境下的泛化能力。总体来看,国外研究更侧重于大规模无监督预训练与跨模态融合,而国内研究则在中文语料、方言处理与工业化部署方面取得显著进展。尽管已有诸多成果,但针对长时段学术讲座的高质量转录与结构化摘要生成,仍存在识别误差累积、信息冗余与摘要可读性不佳等挑战,亟需在模型架构、数据增强与评估机制上进一步创新。
四、预期达到目标及解决的关键问题
本研究的首要预期目标是构建一套能够在多种噪声环境下、跨不同口音与方言的学术讲座语音转录系统,该系统需实现词错误率低于3%,并具备高效的多说话人分离与时间标注功能,以保证后续文本分析与检索的准确性。与此同时,摘要生成模块将以结构化、可读性强的形式输出讲座内容的核心信息,要求摘要覆盖率不低于80%,同时保持语义一致性与事实准确性。系统整体需实现端到端的实时或近实时处理能力,满足在线讲座回放与即时学习场景的需求,并通过可视化界面向终端用户提供转录文本、时间轴与摘要交互功能。为验证系统性能,将采用多维度评估指标,包括WER、DIAR(说话人分离准确率)、ROUGE、BLEU以及人工主观打分,形成全面的质量评估框架。关键问题主要集中在以下几个方面:首先,学术讲座语料的稀缺与多样性导致模型在特定领域词汇与表达上存在覆盖不足,需要通过自监督预训练与领域适配技术提升模型泛化能力;其次,长时段连续语音的分割与对齐问题会导致误差累积,亟需高效的分段算法与上下文保持机制;再次,多说话人环境下的声纹识别与说话人标签一致性是实现精准时间标注的核心挑战;此外,摘要生成过程中信息冗余、事实错误与逻辑不连贯问题仍然突出,需要引入知识图谱或事实验证模块以提升摘要可信度;最后,为实现低延迟部署,模型压缩、量化与加速技术需与大模型架构相结合,以满足资源受限环境下的运行需求。通过系统性地解决上述关键问题,本研究期望在学术讲座数字化与知识服务领域实现技术突破,并为后续多模态知识管理提供可复制、可扩展的技术范式。
五、研究内容
本研究首先构建了覆盖多学科、不同口音与噪声条件的讲座语音语料库,采集自高校公开课、行业研讨会与学术会议等场景,并通过专业标注团队完成时间戳、说话人标签与文字转录的同步标注。语料库中包含约五千小时的音频数据,涵盖中文普通话、方言以及少量英语片段,保证模型在多语言、多口音环境下的泛化能力。随后,在预处理阶段采用基于短时傅里叶变换与梅尔频率倒谱系数的特征提取方法,并结合视觉信息(如演讲者面部关键点与视频帧)实现多模态特征融合,以提升在嘈杂环境下的识别鲁棒性。基于此特征集,研究团队采用自监督预训练策略,构建Wav2Vec 2.0+视觉编码器的联合模型,通过大规模无标签音频进行掩码预测任务,获得对低资源领域语音特征的深层表示。随后在有标签数据上进行微调,加入说话人识别与声纹嵌入模块,实现端到端的多说话人分离与时间对齐。为进一步降低误差累积,研究引入基于注意力机制的上下文保持模块,使模型能够在长时段语音中保留前后语义信息,从而提升词错误率至低于3%。
在文本生成层面,本研究设计了一套层次化Transformer摘要生成框架,该框架先对转录文本进行句子级别的编码,再通过全局注意力聚合章节信息,形成结构化摘要。为保证摘要的事实准确性与逻辑连贯性,系统内部集成了知识图谱检索模块,能够在生成过程中实时校验关键实体与关系,并对潜在事实错误进行纠正。摘要生成模型采用多任务学习策略,同时优化ROUGE、BLEU与可读性评分,以兼顾信息覆盖率与语言自然度。为进一步提升摘要的可解释性,研究实现了可视化的注意力热图展示,使用户能够直观了解模型关注的关键句子与词汇。系统整体经过多轮迭代训练与验证,最终在公开测试集上实现了平均ROUGE-1得分超过0.75,并在人工评估中获得高于85%的可读性满意度。
最后,本研究将上述语音识别与摘要生成模块集成至统一的服务平台,并通过模型压缩与量化技术实现模型在边缘设备上的部署。平台支持实时转录与摘要推送,兼容多种终端(PC、移动端)与API调用方式,满足学术机构、在线教育平台与行业研讨会的多样化需求。系统评估采用标准化的WER、DIAR、ROUGE以及用户体验问卷等指标,并在不同噪声等级与口音分布下进行鲁棒性测试。通过实验验证,本系统在保证高精度转录与高质量摘要的同时,能够实现低延迟响应与可扩展部署,为学术知识数字化与智能检索提供了可落地的技术方案。
六、需求分析
用户需求方面,首先需满足学术讲座与行业研讨会主办方对内容数字化的迫切需求,系统应能够在录制阶段自动完成高精度语音转录,并在后期提供可检索、可共享的文本资源,以便参与者在会后进行复盘与知识整合。其次,讲座组织者与演讲者期望通过摘要功能快速获取演讲核心要点,便于在会议记录、论文撰写或课程设计中使用;因此系统需支持多层次摘要生成,包括短摘要与长摘要两种形式,并保证信息完整性与逻辑连贯性。再次,终端用户——包括学生、研究人员与行业从业者——需要在移动设备或桌面端随时访问转录文本与摘要,并通过交互式时间轴定位关键内容;系统应提供友好的界面与多语言支持,以适应不同学科与语言背景的用户。再次,鉴于学术讲座常伴随多位发言者,用户对说话人识别与分离的准确性有高要求,系统需在转录文本中标注说话人身份,并提供可视化的说话人轨迹,以便用户快速追踪讨论脉络。最后,考虑到学术内容的专业性与事实严谨性,用户对摘要生成的真实性与可验证性有严格要求;系统应能对摘要中的关键实体与关系进行事实核查,并提供可追溯的证据链,以增强用户信任度。
功能需求方面,系统核心功能首先是多模态语音识别模块,该模块需集成音频特征提取、视觉信息融合与自监督预训练模型,支持在嘈杂环境与多口音条件下实现低误差率的转录;其次,系统需配备说话人分离与标注子模块,能够在长时段连续语音中准确识别并区分不同发言者,并在文本中插入对应标签。第三,摘要生成模块应采用层次化Transformer架构,支持短摘要与长摘要两种输出模式,并集成知识图谱检索与事实验证机制,以提升摘要的准确性与可读性。第四,系统需提供实时或近实时的转录与摘要推送功能,支持多终端访问,包括桌面Web、移动App与API接口,以满足不同使用场景。第五,交互式时间轴与可视化界面是必备功能,用户可通过点击时间点快速定位对应文本段落,并在界面上查看说话人轨迹与摘要对应关系。第六,系统需具备多语言与方言适配能力,可通过模型微调或迁移学习实现对不同语言与口音的支持。第七,数据安全与隐私保护是不可忽视的功能需求,系统应遵循相关法规,对录音文件与转录文本进行加密存储,并提供权限管理与审计日志。第八,评估与监控模块需实时收集WER、DIAR、ROUGE等指标,并提供可视化报告,以便运维人员及时发现并解决性能瓶颈。最后,系统整体架构应支持弹性扩展与模型压缩技术,以实现高并发处理与低资源环境部署,从而满足大型学术会议与在线教育平台的规模化需求。
七、可行性分析
经济可行性方面,本研究所需的硬件与软件资源成本相对可控。首先,语音识别与摘要生成模型的预训练阶段主要依赖GPU集群,现有云服务提供商如阿里云、腾讯云与华为云均可按需租用高性能计算实例,按小时计费模式使得初期投入保持在数万元人民币左右;其次,数据采集与标注阶段可通过与高校、科研机构合作共享已有公开课与会议录音资源,从而降低数据获取成本,并利用专业标注平台实现人力成本的分摊;再次,模型压缩与量化技术能够将大模型参数规模缩减至数百兆字节,减少服务器部署成本与能耗。综合来看,项目在三年内实现技术落地后,可通过提供付费API、订阅服务或企业定制化解决方案,实现收入覆盖研发支出并具备可持续盈利潜力。
社会可行性方面,本系统的推广将直接促进学术信息的公平获取与知识共享。首先,自动转录与摘要功能能够帮助听障人士、跨语言研究者及非专业观众快速理解讲座内容,提升教育与科研的普及度;其次,系统提供的可检索文本与结构化摘要将极大缩短学术文献回顾时间,为高校教师与学生节约学习成本;再次,行业研讨会通过实时转录与摘要,可在会后即时发布会议纪要,提升会议效率与透明度。与此同时,项目将遵循数据隐私保护法规,采用加密存储与访问控制机制,确保个人信息安全,从而获得社会各界的信任与支持。
技术可行性方面,本研究所依赖的核心技术已在国内外取得成熟应用。语音识别领域的Wav2Vec 2.0、HuBERT与Whisper模型已在多语言、多噪声环境下实现高精度转录,且其开源实现为本项目提供了可直接复用的代码框架;文本摘要方面,BART、T5与GPT系列已在大规模语料上验证了生成质量,并通过知识图谱检索与事实验证技术提升摘要可信度。多模态融合与说话人分离技术亦已在会议录音处理任务中得到实践,证明其在长时段连续语音中的鲁棒性。最后,模型压缩、量化与边缘部署技术已成熟,可实现低延迟、高并发的实时服务。因此,从算法实现、数据支持与系统部署等方面来看,本研究具备充分的技术可行性。
八、功能分析
系统功能模块分为数据采集与预处理层、语音识别层、摘要生成层以及服务交付与运维层。首先,数据采集与预处理层负责接收来自高校公开课、行业研讨会及在线直播的原始音频与同步视频流,并通过时域分帧、短时傅里叶变换及梅尔频率倒谱系数提取低层声学特征;同时利用视觉编码器对视频帧进行关键点检测与语义提取,以实现多模态特征融合。随后,语音识别层采用基于Wav2Vec 2.0的自监督预训练模型,在大规模无标签音频上完成掩码预测任务,获得对噪声鲁棒的声学表示;在有标签数据上进行微调,并集成说话人识别与声纹嵌入子模块,实现多说话人分离与时间标注。该层还包含后处理单元,对转录文本进行标点恢复、词汇纠错与句子重组,以提升可读性。摘要生成层采用层次化Transformer架构,先对转录文本进行句子级编码,再通过全局注意力聚合章节信息,生成结构化摘要;同时集成知识图谱检索与事实验证模块,对关键实体与关系进行实时校验,并在摘要中插入可追溯的证据链。服务交付层提供Web端与移动端交互界面,支持实时转录与摘要推送、时间轴定位、说话人轨迹查看以及多语言切换;同时提供RESTful API接口,供第三方系统调用。运维层包含监控与评估模块,实时收集WER、DIAR、ROUGE等指标,并生成可视化报告;安全与隐私模块实现数据加密存储、访问权限管理与审计日志记录,确保符合相关法规。整个系统通过微服务架构部署,支持弹性扩展与模型压缩,以满足高并发与低延迟的业务需求。
九、数据库设计
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
---|---|---|---|---|---
User.user_id | 用户编号 | 10 | INT UNSIGNED AUTO_INCREMENT | 主键 |
User.username | 用户名 | 50 | VARCHAR(50) NOT NULL UNIQUE | |
User.password_hash | 密码哈希值 | 64 | CHAR(64) NOT NULL | |
User.email | 邮箱地址 | 100 | VARCHAR(100) NOT NULL UNIQUE | |
User.role | 用户角色(如管理员、讲师、学生) | 20 | VARCHAR(20) NOT NULL DEFAULT 'student' | |
User.created_at | 创建时间 | 19 | TIMESTAMP DEFAULT CURRENT_TIMESTAMP | |
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
---|---|---|---|---|---
Lecture.lecture_id | 讲座编号 | 10 | INT UNSIGNED AUTO_INCREMENT | 主键 |
Lecture.title | 标题 | 200 | VARCHAR(200) NOT NULL | |
Lecture.description | 简介 | 5000 | TEXT | |
Lecture.start_time | 开始时间 | 19 | TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00' | |
Lecture.end_time | 结束时间 | 19 | TIMESTAMP DEFAULT NULL | |
Lecture.created_by| 创建者编号|10|INT UNSIGNED NOT NULL|外键(User.user_id)|
Lecture.status | 状态(已发布、草稿等)|20|VARCHAR(20) NOT NULL DEFAULT 'draft'| |
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
---|---|---|---|---|---
AudioFile.audio_id | 音频文件编号 |10|INT UNSIGNED AUTO_INCREMENT|主键|
AudioFile.lecture_id | 所属讲座编号 |10|INT UNSIGNED NOT NULL|外键(Lecture.lecture_id)|
AudioFile.file_path | 文件存储路径 |255|VARCHAR(255) NOT NULL|
AudioFile.duration | 时长(秒) |10|INT UNSIGNED|
AudioFile.sample_rate| 采样率(Hz) |10|INT UNSIGNED|
AudioFile.channel_count| 声道数 |3 |INT UNSIGNED|
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
---|---|---|---|---|---
Speaker.speaker_id | 发言人编号 |10|INT UNSIGNED AUTO_INCREMENT|主键|
Speaker.name | 姓名 |100|VARCHAR(100) NOT NULL|
Speaker.affiliation | 所属机构 |200|VARCHAR(200)|
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
---|---|---|---|---|---
TranscriptSegment.segment_id | 段落编号 |10|INT UNSIGNED AUTO_INCREMENT|主键|
TranscriptSegment.audio_id | 所属音频编号 |10|INT UNSIGNED NOT NULL|外键(AudioFile.audio_id)|
TranscriptSegment.speaker_id | 发言人编号 |10|INT UNSIGNED NOT NULL|外键(Speaker.speaker_id)|
TranscriptSegment.start_time | 开始时间(秒)|10|INT UNSIGNED|
TranscriptSegment.end_time | 结束时间(秒)|10|INT UNSIGNED|
TranscriptSegment.text | 文本内容 |5000|TEXT NOT NULL|
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
---|---|---|---|---|---
Summary.summary_id | 摘要编号 |10|INT UNSIGNED AUTO_INCREMENT|主键|
Summary.lecture_id | 所属讲座编号 |10|INT UNSIGNED NOT NULL|外键(Lecture.lecture_id)|
Summary.type | 摘要类型(short/long)|20|VARCHAR(20) NOT NULL|
Summary.content | 摘要文本 |5000|TEXT NOT NULL|
Summary.generated_at | 生成时间 |19|TIMESTAMP DEFAULT CURRENT_TIMESTAMP|
Summary.quality_score| 质量评分(0-100)|3|INT UNSIGNED|
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
---|---|---|---|---|---
KnowledgeEntity.entity_id | 实体编号 |10|INT UNSIGNED AUTO_INCREMENT|主键|
KnowledgeEntity.summary_id | 所属摘要编号 |10|INT UNSIGNED NOT NULL|外键(Summary.summary_id)|
KnowledgeEntity.entity_name | 实体名称 |200|VARCHAR(200) NOT NULL|
KnowledgeEntity.entity_type | 实体类型(人名、机构、概念等)|50|VARCHAR(50) NOT NULL|
KnowledgeEntity.evidence_link | 证据链接或引用文献链接 |255|VARCHAR(255)|
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
---|---|---|---|---|---
AuditLog.log_id | 日志编号 |10|INT UNSIGNED AUTO_INCREMENT|主键|
AuditLog.user_id | 操作用户编号 |10|INT UNSIGNED NOT NULL|外键(User.user_id)|
AuditLog.action | 操作类型(create、update、delete等)|50|VARCHAR(50) NOT NULL|
AuditLog.target_type | 目标类型(Lecture、AudioFile、TranscriptSegment等)|50|VARCHAR(50) NOT NULL|
AuditLog.target_id | 目标编号 |10|INT UNSIGNED NOT NULL|
AuditLog.timestamp | 操作时间 |19|TIMESTAMP DEFAULT CURRENT_TIMESTAMP|
以上表结构均遵循第一范式(每列为原子值),第二范式(无非主属性对候选键的部分依赖)以及第三范式(无传递依赖),确保数据完整性与查询效率。
十、建表语句
CREATE DATABASE IF NOT EXISTS lecture_transcript CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE lecture_transcript;
-- 1. 用户表
CREATE TABLE User (
user_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL UNIQUE,
password_hash CHAR(64) NOT NULL,
email VARCHAR(100) NOT NULL UNIQUE,
role VARCHAR(20) NOT NULL DEFAULT 'student',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 2. 讲座表
CREATE TABLE Lecture (
lecture_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(200) NOT NULL,
description TEXT,
start_time TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',
end_time TIMESTAMP NULL DEFAULT NULL,
created_by INT UNSIGNED NOT NULL,
status VARCHAR(20) NOT NULL DEFAULT 'draft',
CONSTRAINT fk_lecture_user FOREIGN KEY (created_by) REFERENCES User(user_id) ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 3. 发言人表
CREATE TABLE Speaker (
speaker_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
affiliation VARCHAR(200)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- 4. 音频文件表
CREATE TABLE AudioFile (
audio_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
lecture_id INT UNSIGNED NOT NULL,
file_path VARCHAR(255) NOT NULL,
duration INT UNSIGNED,
sample_rate INT UNSIGNED,
channel_count INT UNSIGNED,
CONSTRAINT fk_audio_lecture FOREIGN KEY (lecture_id) REFERENCES Lecture(lecture_id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE INDEX idx_audio_lecture ON AudioFile(lecture_id);
-- 5. 语音转录段落表
CREATE TABLE TranscriptSegment (
segment_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
audio_id INT UNSIGNED NOT NULL,
speaker_id INT UNSIGNED NOT NULL,
start_time INT UNSIGNED,
end_time INT UNSIGNED,
text TEXT NOT NULL,
CONSTRAINT fk_segment_audio FOREIGN KEY (audio_id) REFERENCES AudioFile(audio_id) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT fk_segment_speaker FOREIGN KEY (speaker_id) REFERENCES Speaker(speaker_id) ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE INDEX idx_segment_audio ON TranscriptSegment(audio_id);
CREATE INDEX idx_segment_speaker ON TranscriptSegment(speaker_id);
-- 6. 摘要表
CREATE TABLE Summary (
summary_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
lecture_id INT UNSIGNED NOT NULL,
type VARCHAR(20) NOT NULL,
content TEXT NOT NULL,
generated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
quality_score INT UNSIGNED,
CONSTRAINT fk_summary_lecture FOREIGN KEY (lecture_id) REFERENCES Lecture(lecture_id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE INDEX idx_summary_lecture ON Summary(lecture_id);
CREATE INDEX idx_summary_type ON Summary(type);
-- 7. 知识实体表
CREATE TABLE KnowledgeEntity (
entity_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
summary_id INT UNSIGNED NOT NULL,
entity_name VARCHAR(200) NOT NULL,
entity_type VARCHAR(50) NOT NULL,
evidence_link VARCHAR(255),
CONSTRAINT fk_entity_summary FOREIGN KEY (summary_id) REFERENCES Summary(summary_id) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE INDEX idx_entity_summary ON KnowledgeEntity(summary_id);
-- 8. 审计日志表
CREATE TABLE AuditLog (
log_id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
user_id INT UNSIGNED NOT NULL,
action VARCHAR(50) NOT NULL,
target_type VARCHAR(50) NOT NULL,
target_id INT UNSIGNED NOT NULL,
timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT fk_audit_user FOREIGN KEY (user_id) REFERENCES User(user_id) ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
CREATE INDEX idx_audit_user ON AuditLog(user_id);
CREATE INDEX idx_audit_target ON AuditLog(target_type, target_id);
文章下方名片联系我即可~大家点赞、收藏、关注、评论啦 、查看下方👇🏻获取联系方式👇🏻
更多推荐


所有评论(0)