基于大规模预训练语言模型的访谈语音转录与内容整理系统
博主介绍:✌ 专注于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);
文章下方名片联系我即可~大家点赞、收藏、关注、评论啦 、查看下方👇🏻获取联系方式👇🏻基于大模型的访谈语音转录与内容整理系统设计毕业设计源码(源码+lw+部署文档+讲解等)
博主介绍:✌ 专注于VUE,小程序,安卓,Java,python,物联网专业,有18年开发经验,长年从事毕业指导,项目实战✌选取一个适合的毕业设计题目很重要。✌关注✌私信我✌具体的问题,我会尽力帮助你。
一、研究目的
本研究聚焦于当前定性研究中访谈语音转录与内容整理所面临的低效与不准确问题,尤其是在多语言、多方言环境下的转录误差、专业术语识别不足以及后续文本结构化困难等挑战。为此,本研究旨在构建一套基于大规模预训练语言模型的端到端访谈语音转录与内容整理系统,该系统能够在保证高转录准确率的同时,通过语义层次分析实现访谈内容的自动主题归纳、情感倾向检测与关键实体抽取,从而显著降低研究者人工标注与编辑所需的时间成本。系统创新点包括:一是采用多模态预训练模型对语音、文本与视觉信息进行联合建模,以提升在嘈杂环境和非标准发音下的鲁棒性;二是通过领域自适应微调策略,使模型能够快速适配不同学科背景的专业术语与表达习惯;三是嵌入差分隐私技术与加密存储机制,确保受访者个人信息在转录与分析过程中的安全与合规。预期通过本系统的实现,能够为社会科学、人文科学以及医学等领域的访谈研究提供高质量、可追溯的文本数据资源,为后续语料库构建、文本挖掘与知识图谱生成奠定坚实基础;同时,该系统亦具备在市场调研、用户体验评估与公共政策评估等应用场景中的推广价值。综上所述,本研究不仅在技术层面推动大模型在语音转录与内容整理领域的实际落地,还将在学术研究方法论与数据治理实践中产生深远影响,为实现高效、精准且安全的访谈数据处理提供可复制、可扩展的技术路径。
二、研究意义
本研究的意义首先体现在对定性研究方法论的技术革新上。传统访谈语音转录往往依赖人工听写,耗时长、成本高且易受主观因素干扰,导致数据质量不稳定。通过引入大规模预训练语言模型并结合多模态信息融合,本系统能够在噪声环境下保持高转录准确率,同时自动完成语义层次分析与主题归纳,为研究者提供可直接使用的文本数据,从而显著提升研究效率与结果可靠性。其次,系统所采用的领域自适应微调机制使其能够快速适配不同学科、不同语言环境下的专业术语与表达习惯,突破了以往模型在跨域迁移时性能急剧下降的瓶颈,为跨学科研究提供了可复制、可扩展的技术路径。再次,嵌入差分隐私保护与加密存储技术,确保受访者个人信息在转录与分析过程中的安全与合规,符合国内外数据保护法规,为社会科学研究提供了符合法律伦理要求的数据处理方案。最后,该系统的实现将为后续语料库构建、文本挖掘与知识图谱生成奠定坚实基础,促进学术研究与行业应用的深度融合。综上所述,本研究不仅在技术层面推动大模型在访谈语音转录与内容整理领域的落地,还将在方法论创新、跨域适配、数据安全与应用推广等方面产生深远影响,为实现高效、精准且安全的访谈数据处理提供可复制、可扩展的技术路径。
三、国内外研究现状
国内外在访谈语音转录与内容整理领域的研究可大致分为两大方向:一是语音识别技术的提升与适配,二是文本后处理与知识抽取技术的发展。早期研究主要依赖基于声学模型和语言模型的统计方法,采用隐马尔可夫模型与n-gram语言模型实现语音识别;然而在多说话人、多噪声环境下识别精度受限。进入深度学习时代后,卷积神经网络、循环神经网络以及注意力机制被广泛用于构建端到端的自动语音识别系统,显著降低了词错误率;同时,基于Transformer的自回归模型进一步提升了长序列建模能力。国内研究方面,以北京大学、清华大学等高校为代表的团队在中文语音识别上取得了突破性进展,推出了基于深度双向LSTM与CTC解码的高精度模型,并在大规模中文语料上实现了低WER;此外,科大讯飞等企业将商业化产品与学术研究相结合,在工业界形成了可落地的解决方案。国外方面,Google、Microsoft、DeepMind等机构通过构建大规模多语言语音库,采用端到端的Transformer架构实现了跨语言识别,并在低资源语言上通过迁移学习取得显著提升。近年来,随着大模型技术的兴起,BERT、RoBERTa以及GPT系列被用于语音转写后文本的纠错、标点恢复与语义增强,在多模态融合方面也出现了将视觉信息与语音特征联合建模的研究,进一步提升了嘈杂环境下的鲁棒性。
在文本后处理与内容整理方面,研究重点集中在自动化分段、主题归纳、情感分析以及知识图谱构建。早期方法多采用基于规则或统计的关键词抽取与主题模型(如LDA)实现访谈内容的粗粒度分类;随后,深度学习模型被用于句子级别的情感识别和实体抽取,提升了细粒度分析能力。国内研究者利用HanLP、Jieba等中文分词工具结合BERT进行命名实体识别,并在社会科学访谈数据上实现了高召回率;国外则通过Transformer与图神经网络相结合,对访谈文本进行语义关系抽取,构建了可视化的知识图谱。与此同时,自动摘要技术也得到广泛关注,基于Seq2Seq与Pointer-Generator网络的摘要模型在访谈文本上取得了较好的ROUGE分数。值得注意的是,数据隐私与安全已成为研究热点,一些团队提出差分隐私保护的转写模型以及端到端加密传输方案,以满足合规要求。
总体而言,国内外在语音识别技术、跨域适配、文本后处理与知识抽取方面已取得显著成果,但仍存在挑战。首先,多说话人与方言环境下的转写精度尚未达到理想水平;其次,专业术语与行业特定词汇的识别依赖大量标注数据,成本高昂;再次,访谈文本的结构化程度有限,难以直接用于大规模知识图谱构建。针对这些问题,本研究将综合利用大规模预训练模型与多模态融合技术,并在保证数据安全与隐私的前提下,进一步提升转写准确率与内容整理质量,为定性研究提供更高效、更可靠的数据处理工具。
四、预期达到目标及解决的关键问题
本研究的预期目标主要体现在四个方面:首先,构建一套基于大规模预训练语言模型的端到端访谈语音转录系统,能够在多说话人、嘈杂环境以及方言变体下实现单词错误率低于5%的高精度转写;其次,在转写完成后通过语义层次分析实现访谈文本的自动主题归纳与情感倾向检测,使研究者能够在十分钟内获得访谈内容的结构化摘要;再次,系统需支持多语言与跨域适配,能够在少量领域标注数据下完成专业术语识别与领域知识抽取,从而满足社会科学、人文科学以及医学等多学科研究需求;最后,为保障受访者隐私与合规性,系统将嵌入差分隐私保护机制与端到端加密传输方案,确保数据在存储与处理过程中的安全性。实现上述目标后,研究将为定性研究提供高效、精准且可追溯的数据处理工具,并为后续语料库构建、文本挖掘与知识图谱生成奠定坚实基础。
在实现上述目标的过程中,关键问题主要体现在以下几个方面:一是数据稀缺与标注成本。访谈语音数据往往涉及多方言与专业术语,缺乏大规模标注语料,使得模型在低资源场景下的迁移学习效果有限;二是噪声鲁棒性与多说话人分离。现场访谈常伴随背景噪声与多位受访者同时发言,传统端到端模型在分离与识别方面仍存在误差累积;三是跨域适配的泛化能力。不同学科领域对术语、表达方式与情感色彩的要求差异显著,模型需在保持高准确率的同时实现快速自适应;四是实时处理与资源约束。在实际应用中,研究者往往需要在会议现场或移动端即时获取转写结果,系统需兼顾计算效率与能耗。针对这些挑战,本研究将通过多模态预训练、领域自适应微调、噪声增强训练以及差分隐私技术的综合应用,力求在保证高精度与安全性的前提下,实现可落地的访谈语音转录与内容整理解决方案。
五、研究内容
本研究围绕构建一套基于大规模预训练语言模型的访谈语音转录与内容整理系统展开,系统整体架构分为四个主要模块:语音采集与预处理、端到端语音识别、文本后处理与知识抽取以及隐私保护与安全保障。首先,在语音采集与预处理阶段,将采用高性能麦克风阵列对访谈现场进行多通道录音,并通过噪声抑制算法对原始波形进行降噪处理,随后利用语音分离技术将多说话人信号分离为单独的声道,为后续识别提供清晰的输入。其次,端到端语音识别模块将采用Transformer架构的大规模预训练模型,在公开中文与方言语料库上进行基础预训练后,利用少量领域标注数据进行微调,以实现对专业术语与非标准发音的精准识别。该模块还将集成多模态信息融合技术,将视觉辅助信息(如说话人面部表情)与声学特征联合编码,以提升在嘈杂环境下的鲁棒性。随后,文本后处理与知识抽取模块将对识别结果进行标点恢复、分句划分与命名实体识别,并利用主题模型与情感分析技术对访谈内容进行自动主题归纳与情感倾向检测,最终生成结构化的访谈摘要与知识图谱。最后,隐私保护与安全保障模块将嵌入差分隐私机制,对转写文本进行噪声注入,以防止逆向推断受访者身份,同时采用端到端加密传输与安全存储方案,确保数据在采集、处理与存储全过程中的机密性。
在研究方法层面,本项目将采用多阶段实验设计。首先,通过构建多语言、多方言的语音数据集,涵盖社会科学、人文科学以及医学等不同领域的访谈记录,为模型训练提供丰富多样的输入。其次,在端到端识别模块中,将探索基于自监督学习的声学特征表示方法,并结合注意力机制实现长序列建模,以提升对长时段语音的识别准确率。随后,文本后处理模块将引入基于预训练语言模型的文本纠错与语义增强技术,利用双向Transformer对识别错误进行纠正,并通过句子级别的情感分析模型实现情感倾向检测。最后,在知识抽取层面,将结合图神经网络对实体关系进行建模,生成可视化的知识图谱,为研究者提供直观的访谈内容结构。
本研究将重点解决以下关键技术难题。首先,如何在多说话人、多噪声环境下保持高识别精度,需通过声学模型与多模态融合技术共同提升鲁棒性。其次,如何在低资源场景下实现领域自适应,需利用少量标注数据进行迁移学习,并探索自监督预训练方法以减少对人工标注的依赖。再次,如何在保证转写质量的同时实现实时处理,需优化模型推理速度并采用分布式计算框架。最后,如何在满足隐私合规要求的前提下提供高质量文本输出,需结合差分隐私与加密技术,实现数据安全与可用性的平衡。
系统评估将采用多维度指标进行综合评价。语音识别性能将以词错误率(WER)和句子错误率(SER)为主要指标,并在公开评测集上与现有基线模型进行对比。文本后处理与知识抽取性能将通过ROUGE、F1分数以及知识图谱覆盖率等指标进行评估,同时将邀请领域专家对自动生成的主题摘要与情感分析结果进行人工评分,以验证系统的实用价值。隐私保护效果将通过差分隐私预算评估与逆向攻击实验来检验数据安全性。
综上所述,本研究通过构建端到端的访谈语音转录与内容整理系统,集成先进的声学模型、多模态融合技术、文本后处理与知识抽取方法,并嵌入差分隐私与加密保护机制,旨在为定性研究提供高效、精准且安全的数据处理工具,为跨学科研究与行业应用奠定技术基础。
六、需求分析
在访谈语音转录与内容整理系统的设计过程中,首先需聚焦于用户需求的层面。研究者与访谈主持人作为系统的主要使用者,期望能够在最短时间内获得高质量、可直接用于分析的文本资料;因此系统必须支持多说话人、低噪声环境下的实时转写,并兼顾多语言与方言的适配,以满足不同学科与地区研究的实际需求。其次,用户对数据安全与隐私保护有严格要求,尤其在社会科学与医学访谈中涉及敏感信息;系统应能够在保证转写精度的前提下实现差分隐私保护,并提供加密存储与访问控制功能,以满足合规性与伦理审查的双重标准。再次,研究者需要对访谈内容进行快速梳理与主题归纳,故系统需提供自动摘要、情感倾向分析以及知识图谱构建等辅助功能,使得后续定量分析与理论建模能够在更短时间内展开。最后,系统的易用性与可扩展性亦是用户关注的重点,界面应支持多平台(桌面、移动)访问,并提供插件式扩展机制,以便研究者根据自身需求添加自定义分析模块。
从功能需求的角度来看,该系统应包含四大核心模块。第一,语音采集与预处理模块需实现高保真录音、噪声抑制与多说话人分离,并支持多通道录音数据的同步管理。第二,端到端语音识别模块应基于Transformer或类似架构的预训练模型,具备低资源领域自适应能力,并能在实时模式下输出带标点、分句的文本。第三,文本后处理与知识抽取模块需实现自动标点恢复、命名实体识别、主题归纳与情感分析,并能够将结果可视化为结构化摘要或知识图谱,支持导出多种标准格式(如JSON、CSV)。第四,隐私保护与安全保障模块必须集成差分隐私机制、端到端加密传输以及细粒度访问控制策略,以确保数据在采集、处理与存储全过程中的机密性。上述功能的实现将共同满足用户对高效、精准、可追溯且安全的数据处理需求。
七、可行性分析
经济可行性方面,系统的研发成本主要集中在数据采集与标注、模型训练与调优以及软件开发与运维等环节。通过与高校、科研机构及行业企业合作,可共享已有访谈语音数据库并利用众包平台完成少量标注工作,从而显著降低人工成本;同时,采用开源深度学习框架和云端GPU资源进行模型训练,可进一步压缩研发周期与硬件投入。系统上线后,目标用户群体包括社会科学、人文科学、医学研究机构以及市场调研公司等,预计可形成稳定的订阅收入模式;此外,提供定制化服务与插件扩展将为企业创造额外收益。综合来看,初期投入与长期运营收益呈正相关,且在三至五年内可实现成本回收与盈利。
社会可行性方面,该系统直接服务于学术研究与行业调研,对提升数据质量、加速研究进程具有积极意义;然而,在访谈内容涉及个人隐私、敏感信息时,必须严格遵守数据保护法规。系统通过差分隐私技术与端到端加密传输实现对受访者信息的匿名化与安全存储,并提供访问权限管理,以满足伦理审查与合规要求。与此同时,系统的开放性与可解释性设计有助于提升研究者对自动化工具的信任度;若能在学术会议与期刊中展示案例,将进一步增强其社会认可度。
技术可行性方面,端到端语音识别已在多模态Transformer模型上取得突破,足以支持多说话人、低噪声环境下的高精度转写;但在方言、口音与专业术语方面仍需通过领域自适应微调与自监督预训练来提升鲁棒性。文本后处理与知识抽取模块可借助BERT系列模型实现标点恢复、命名实体识别与主题归纳,且已有研究表明在中文语料上可达到高召回率。隐私保护技术方面,差分隐私的实现已成熟,可在不显著降低文本质量的前提下提供安全保障。综合来看,现有技术体系已具备实现系统核心功能的基础,且通过模块化设计与持续迭代可进一步完善性能与安全性。
八、功能分析
系统功能模块设计依据用户需求、功能需求以及可行性分析结果,逻辑上分为六大核心模块:语音采集与预处理、端到端语音识别、文本后处理与知识抽取、隐私保护与安全保障、用户界面与交互以及数据管理与存储。每个模块均包含若干子功能,形成完整的数据流和控制流。
语音采集与预处理模块负责现场或录制文件的获取,并对原始音频进行清洗与分离。其子功能包括多通道录音采集、噪声抑制算法、说话人分离与声道标记、语音质量评估以及波形归一化。通过该模块,系统能够将多说话人、多噪声环境下的原始录音转化为可供识别的单通道高质量语音流。
端到端语音识别模块以Transformer或类似架构的大规模预训练模型为核心,完成从声学特征到文本的映射。其子功能包括声学特征提取、注意力机制调度、CTC或RNN-Transducer解码、领域自适应微调以及实时推理加速。该模块输出带标点、分句的原始转写文本,为后续处理奠定基础。
文本后处理与知识抽取模块对识别结果进行语义增强与结构化。其子功能包括标点恢复、分句划分、命名实体识别、关系抽取、主题模型归纳、情感倾向分析以及知识图谱构建。通过该模块,用户能够获得可直接用于定量分析的结构化数据以及可视化的访谈摘要。
隐私保护与安全保障模块确保数据在采集、处理与存储全过程中的机密性与合规性。其子功能包括差分隐私噪声注入、端到端加密传输、访问权限管理、审计日志记录以及合规报告生成。该模块使系统满足国内外数据保护法规的要求。
用户界面与交互模块提供直观易用的操作入口,支持多平台访问(桌面、移动)。其子功能包括录音控制与实时监控、转写结果展示与编辑、主题摘要与情感图表可视化、知识图谱浏览、任务管理与进度跟踪以及插件式扩展接口。通过该模块,研究者能够在最短时间内完成访谈数据的获取、审核与分析。
数据管理与存储模块负责高效、安全地保存所有原始音频、转写文本及结构化结果。其子功能包括分布式文件存储、数据库索引与检索、版本控制、备份恢复以及数据生命周期管理。该模块保证系统在大规模访谈项目中具备可扩展性与可靠性。
上述六大模块通过清晰的数据流相互衔接,形成完整的访谈语音转录与内容整理闭环,满足用户对高效、精准、可追溯且安全的数据处理需求。
九、数据库设计
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
---|---|---|---|---|---
user_id | 用户编号 | 36 | CHAR | 主键 (PK) | 唯一标识用户
username | 用户名 | 50 | VARCHAR(50) | | 登录凭证,唯一约束
password_hash | 密码哈希值 | 64 | CHAR(64) | | 加密存储
email | 邮箱地址 | 100 | VARCHAR(100) | | 用于通知与找回密码
role_id | 用户角色编号 | 36 | CHAR(36) | 外键 (FK) → roles.role_id| 权限控制
created_at | 创建时间戳 | 19 | DATETIME | |
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
---|---|---|---|---|---
role_id | 角色编号 | 36 | CHAR(36) | 主键 (PK) |
role_name | 角色名称 | 30 | VARCHAR(30) | |
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
---|---|---|---|---|---
project_id | 项目编号 | 36 | CHAR(36) | 主键 (PK) |
project_name | 项目名称 | 100 | VARCHAR(100) | |
description | 项目描述 | 5000 | TEXT | |
owner_id | 所有者用户编号 | 36 | CHAR(36) | 外键 (FK) → users.user_id|
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
---|---|---|---|---|---
session_id | 访谈会话编号 | 36 | CHAR(36) | 主键 (PK) |
project_id | 所属项目编号 | 36 | CHAR(36) | 外键 (FK) → projects.project_id|
title | 会话标题 | 200 | VARCHAR(200) | |
start_time | 开始时间戳 | 19 | DATETIME | |
end_time | 结束时间戳 | 19 | DATETIME | |
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
---|---|---|---|---|---
audio_id | 音频文件编号 | 36 | CHAR(36) | 主键 (PK) |
session_id | 所属会话编号 | 36 | CHAR(36) | 外键 (FK) → sessions.session_id|
file_path | 存储路径 | 255 | VARCHAR(255) | |
duration_seconds | 时长(秒) | 10 | INT(10) UNSIGNED | |
sample_rate_hz | 采样率(Hz) | 5 | INT(5) UNSIGNED | |
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
---|---|---|---|---|---
transcript_id | 转写编号 | 36 | CHAR(36) | 主键 (PK) |
audio_id | 所属音频编号 | 36 | CHAR(36) | 外键 (FK) → audio_files.audio_id|
full_text | 完整转写文本 | 50000 | TEXT | |
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
---|---|---|---|---|---
sentence_id | 句子编号 | 36 | CHAR(36) | 主键 (PK) |
transcript_id | 所属转写编号 | 36 | CHAR(36) | 外键 (FK) → transcripts.transcript_id|
sentence_text | 句子文本 | 2000 | TEXT | |
start_time_ms | 开始时间(毫秒) | 10 | INT(10) UNSIGNED | |
end_time_ms | 结束时间(毫秒) | 10 | INT(10) UNSIGNED |
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
---|---|---|---|---|---
entity_id | 实体编号 | 36 | CHAR(36) | 主键 (PK) |
sentence_id | 所属句子编号 | 36 | CHAR(36) | 外键 (FK) → sentences.sentence_id|
entity_text | 实体文本 | 200 | VARCHAR(200) | |
entity_type | 实体类型(人名、机构、地点等) | 50 | VARCHAR(50) | |
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
---|---|---|---|---|---
topic_id | 主题编号 | 36 | CHAR(36) | 主键 (PK) |
transcript_id | 所属转写编号 | 36 | CHAR(36) | 外键 (FK) → transcripts.transcript_id|
topic_label | 主题标签(如“政策影响”) | 100 | VARCHAR(100) | |
confidence_score | 置信度(0~1) | 5 | DECIMAL(5,4) | |
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
---|---|---|---|---|---
sentiment_id | 情感分析编号 | 36 | CHAR(36) | 主键 (PK) |
sentence_id | 所属句子编号 | 36 | CHAR(36) | 外键 (FK) → sentences.sentence_id|
sentiment_label | 情感标签(正面、负面、中性) | 10 | VARCHAR(10) | |
sentiment_score | 情感得分(-1~1) | 5 | DECIMAL(5,4) | |
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
---|---|---|---|---|---
kg_node_id | 知识图谱节点编号 | 36 | CHAR(36) | 主键 (PK) |
node_text | 节点文本(实体或概念) | 200 | VARCHAR(200) | |
node_type | 节点类型(实体、概念) | 50 | VARCHAR(50) | |
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
---|---|---|---|---|---
kg_edge_id | 知识图谱边编号 | 36 | CHAR(36) | 主键 (PK) |
source_node_id | 源节点编号 | 36 | CHAR(36) | 外键 (FK) → kg_nodes.kg_node_id|
target_node_id | 目标节点编号 | 36 | CHAR(36) | 外键 (FK) → kg_nodes.kg_node_id|
relation_type | 关系类型(关联、因果、同义) | 100 | VARCHAR(100) | |
字段名(英文) | 说明(中文) | 大小 | 类型 | 主外键 | 备注
---|---|---|---|---|---
audit_log_id | 审计日志编号 | 36 | CHAR(36) | 主键 (PK) |
user_id | 操作用户编号 | 36 | CHAR(36) | 外键 (FK) → users.user_id|
action_type | 操作类型(创建、更新、删除) | 50 | VARCHAR(50) | |
target_table | 目标表名 | 50 | VARCHAR(50) | |
target_id | 目标记录编号 | 36 | CHAR(36) | |
timestamp | 操作时间戳 | 19| DATETIME| |
以上表结构遵循第一范式,主键唯一标识记录,外键维护表间关联完整性,字段类型与大小根据实际数据需求设定。
十、建表语句
CREATE TABLE roles (
role_id CHAR(36) NOT NULL,
role_name VARCHAR(30) NOT NULL,
PRIMARY KEY (role_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户角色表';
CREATE TABLE users (
user_id CHAR(36) NOT NULL,
username VARCHAR(50) NOT NULL,
password_hash CHAR(64) NOT NULL,
email VARCHAR(100) NOT NULL,
role_id CHAR(36) NOT NULL,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (user_id),
UNIQUE KEY uk_username (username),
UNIQUE KEY uk_email (email),
CONSTRAINT fk_users_role_id FOREIGN KEY (role_id) REFERENCES roles(role_id) ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户信息表';
CREATE TABLE projects (
project_id CHAR(36) NOT NULL,
project_name VARCHAR(100) NOT NULL,
description TEXT,
owner_id CHAR(36) NOT NULL,
PRIMARY KEY (project_id),
CONSTRAINT fk_projects_owner_id FOREIGN KEY (owner_id) REFERENCES users(user_id) ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='项目表';
CREATE TABLE sessions (
session_id CHAR(36) NOT NULL,
project_id CHAR(36) NOT NULL,
title VARCHAR(200),
start_time DATETIME,
end_time DATETIME,
PRIMARY KEY (session_id),
CONSTRAINT fk_sessions_project_id FOREIGN KEY (project_id) REFERENCES projects(project_id) ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='访谈会话表';
CREATE TABLE audio_files (
audio_id CHAR(36) NOT NULL,
session_id CHAR(36) NOT NULL,
file_path VARCHAR(255) NOT NULL,
duration_seconds INT UNSIGNED,
sample_rate_hz INT UNSIGNED,
PRIMARY KEY (audio_id),
CONSTRAINT fk_audio_files_session_id FOREIGN KEY (session_id) REFERENCES sessions(session_id) ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='音频文件表';
CREATE TABLE transcripts (
transcript_id CHAR(36) NOT NULL,
audio_id CHAR(36) NOT NULL,
full_text TEXT,
PRIMARY KEY (transcript_id),
CONSTRAINT fk_transcripts_audio_id FOREIGN KEY (audio_id) REFERENCES audio_files(audio_id) ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='转写文本表';
CREATE TABLE sentences (
sentence_id CHAR(36) NOT NULL,
transcript_id CHAR(36) NOT NULL,
sentence_text TEXT,
start_time_ms INT UNSIGNED,
end_time_ms INT UNSIGNED,
PRIMARY KEY (sentence_id),
CONSTRAINT fk_sentences_transcript_id FOREIGN KEY (transcript_id) REFERENCES transcripts(transcript_id) ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='句子表';
CREATE TABLE entities (
entity_id CHAR(36) NOT NULL,
sentence_id CHAR(36) NOT NULL,
entity_text VARCHAR(200),
entity_type VARCHAR(50),
PRIMARY KEY (entity_id),
CONSTRAINT fk_entities_sentence_id FOREIGN KEY (sentence_id) REFERENCES sentences(sentence_id) ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='命名实体表';
CREATE TABLE topics (
topic_id CHAR(36) NOT NULL,
transcript_id CHAR(36) NOT NULL,
topic_label VARCHAR(100),
confidence_score DECIMAL(5,4),
PRIMARY KEY (topic_id),
CONSTRAINT fk_topics_transcript_id FOREIGN KEY (transcript_id) REFERENCES transcripts(transcript_id) ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='主题归纳表';
CREATE TABLE sentiments (
sentiment_id CHAR(36) NOT NULL,
sentence_id CHAR(36) NOT NULL,
sentiment_label VARCHAR(10),
sentiment_score DECIMAL(5,4),
PRIMARY KEY (sentiment_id),
CONSTRAINT fk_sentiments_sentence_id FOREIGN KEY (sentence_id) REFERENCES sentences(sentence_id) ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='情感分析表';
CREATE TABLE kg_nodes (
kg_node_id CHAR(36) NOT NULL,
node_text VARCHAR(200),
node_type VARCHAR(50),
PRIMARY KEY (kg_node_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='知识图谱节点表';
CREATE TABLE kg_edges (
kg_edge_id CHAR(36) NOT NULL,
source_node_id CHAR(36) NOT NULL,
target_node_id CHAR(36) NOT NULL,
relation_type VARCHAR(100),
PRIMARY KEY (kg_edge_id),
CONSTRAINT fk_kg_edges_source_node_id FOREIGN KEY (source_node_id) REFERENCES kg_nodes(kg_node_id) ON DELETE RESTRICT ON UPDATE CASCADE,
CONSTRAINT fk_kg_edges_target_node_id FOREIGN KEY (target_node_id) REFERENCES kg_nodes(kg_node_id) ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='知识图谱边表';
CREATE TABLE audit_logs (
audit_log_id CHAR(36) NOT NULL,
user_id CHAR(36) NOT NULL,
action_type VARCHAR(50),
target_table VARCHAR(50),
target_id CHAR(36),
timestamp DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (audit_log_id),
CONSTRAINT fk_audit_logs_user_id FOREIGN KEY (user_id) REFERENCES users(user_id) ON DELETE RESTRICT ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='审计日志表';
CREATE INDEX idx_transcripts_audio_id ON transcripts (audio_id);
CREATE INDEX idx_sentences_transcript_id ON sentences (transcript_id);
CREATE INDEX idx_entities_sentence_id ON entities (sentence_id);
CREATE INDEX idx_topics_transcript_id ON topics (transcript_id);
CREATE INDEX idx_sentiments_sentence_id ON sentiments (sentence_id);
CREATE INDEX idx_kg_edges_source_node_id ON kg_edges (source_node_id);
CREATE INDEX idx_kg_edges_target_node_id ON kg_edges (target_node_id);
CREATE INDEX idx_audit_logs_user_id ON audit_logs (user_id);
CREATE INDEX idx_sessions_project_id ON sessions (project_id);
CREATE INDEX idx_audio_files_session_id ON audio_files (session_id);
CREATE INDEX idx_projects_owner_id ON projects (owner_id);
CREATE INDEX idx_users_role_id ON users (role_id);
CREATE INDEX idx_users_email ON users (email);
CREATE INDEX idx_users_username ON users (username);
CREATE INDEX idx_roles_role_name ON roles (role_name);
文章下方名片联系我即可~大家点赞、收藏、关注、评论啦 、查看下方👇🏻获取联系方式👇🏻
更多推荐


所有评论(0)