本文来源:阿里云语音AI
2024通义语音AI技术图景,大模型引领AI再进化(1)https://developer.aliyun.com/article/1587424
局部语义说话人信息的全局扩散
上一系统语义说话人信息模块对说话人日志系统的主要作用在于说话人日志局部结果的修正,缺少对于全局说话人结果的优化。因此,我们提出了基于成对约束扩散方法的说话人日志系统,将局部说话人语义信息对全局说话人日志结果产生影响。
首先我们将语义模块得到的说话人信息总结成两类成对约束(Pairwise Constraints):Must-Link和Cannot-Link。例如Dialogue Detection判断为非多人对话的一段时间中所有的speaker embedding都在Must-Link中,而Speaker-Turn Detection判断为转换点前后两段的speaker embeddings都在Cannot-Link中,这样我们就可以将语义信息抽象成方便使用的约束信息。
我们提出了JPCP(Joint Pairwise Constraints Propagation)方法,将这些成对约束用于speaker embedding降维和说话人聚类过程中:(1)利用SSDR(semi-supervised dimension reduction)策略,利用特征值优化将成对约束引入到speaker embedding降维之中,调整了其用于聚类的speaker embedding分布。(2)引入了E2CP(exhaustive and efficient constraint propagation)方法,利用成对约束调整聚类相似度矩阵,从而改进说话人聚类的效果。(3)提出了E2CPM的改进方法,有效减少了语义结果解码错误所带来的负收益,对于高置信度的说话人相似度进行保留和强调。
我们的实验基于AIShell-4数据集,该数据集包括人数较多的多说话人会议,输入进入语义模块的文本则来自于ASR系统的解码结果(JPCP-I)。可以看到我们提出的JPCP方案可以有效提高说话人聚类的效果,其中我们提出的E2CPM方法起到了关键作用,并且说话人人数预测错误也得到一定的缓解。
考虑到语言模型的蓬勃发展,为了充分探索我们方案的上限,我们还在仿真的成对约束(JPCP-S)上充分探索了我们方案的上限,可以看到当constraints的质量和数量进一步提升时,最终的结果有显著的提升,并且可以更好的减少说话人日志系统说话人人数预测错误。
相关论文:https://arxiv.org/pdf/2309.10456.pdf
结合视觉信息的说话人日志技术
在现实场景中部分声学环境可能非常复杂,存在背景噪声、混响和信道等干扰因素,这些因素会导致难以获取高质量的语音信息或转写文本信息。为了更准确地识别不同的说话人,结合视觉信息的说话人日志技术是一种非常具有潜力的解决方案,可以弥补语音信息受限的问题,进一步提升对说话人的理解和识别能力。
为此,我们设计了一套结合音频、图像信息的多模态说话人日志系统。除了传统的基于声学的识别模块,我们添加了额外的视觉说话人日志模块。首先输入的视频流数据会进行场景检测分段,由于在每帧画面中可能存在不止一个人,说话人检测模块(Active speaker detector)会基于连续的视频帧进行说话者检测,输出当前正在说话的说话者信息,后续人脸识别模块会提取该说话者的人脸特征,并和音频特征进行对齐,修正说话人全局聚类的结果。
在一个包含访谈、综艺等多种类型视频数据上的实验结果表明,结合了视觉信息的说话人日志系统在分割错误率(Diarization Error Rate)上有着显著的提升。
说话人识别,说话人分割以及语种识别
说话人识别包括全监督和自监督说话人识别。全监督说话人识别中,包含自研模型CAM++, ERes2Net和经典模型ECAPA-TDNN在各公开训练集3D-Speaker, CN-Celeb和VoxCeleb上训练,推理代码。
自监督说话人识别包含正则化DINO框架的训练,推理代码。说话人分割使用经典的分割聚类算法,首先使用VAD模型去除语音中静音片段,再通过说话人特征提取模型CAM++或ERes2Net提取鲁棒性的说话人矢量,最后使用经典聚类算法K-均值或谱聚类得到各说话人的时间戳对原语音片段进行分割。语种识别包括自研模型CAM++, ERes2Net在公开训练集3D-Speaker进行训练推理代码。
除此之外,在平台ModelScope上开源上述所有预训练模型,模型下载量40w+。
语音合成模型
CSP语音合成模型
为了提高TTS的生成效果和流式推理高效性,通义实验室语音团队今年在自回归TTS声学模型(SAMBERT)的已有积累上升级到非自回归声学模型CSP (Chunk Streaming Parallel) 。其中多个子模块均进行了相应打磨:
- 在韵律建模方面融合显隐式进行多尺度建模,并结合深度生成模型(Flow,LCM)进行韵律预测,使得声学模型在具有控制能力鲁棒性的同时对韵律有较好的预测刻画效果。
- 采用chunk cache based decoder 支持高效的非自回归流式推理,满足工业应用需求。chunk 内可以并行计算提高推理效率,非自回归建模避免teacher-forcing带来的mismatch,便于模型效果整体端到端优化。
- 采用深度生成模型(Flow,GAN)的Post-Net对decoder生成的mel-spectrogram进行refine, 在引入look-ahead减少chunk带来的流式损失的同时避免over-smoothing进一步提升mel-spectrogram的生成质量。
非自回归声学模型 CSP 相较于自回归声学模型 SAMBERT 在语速停顿等韵律方面具有一定优势,多音色评测CMOS avg +0.07, 推理效率CPU提升4倍,进一步结合GPU后推理效率提升18倍。该方案正结合具体的业务场景做进一步的细致优化,并逐渐进行线上音色的模型升级。相关代码及模型也将通过KAN-TTS和ModelScope进行开源。
个人声音定制
个人声音定制是基于KAN-TTS训练框架、AutoLabel自动标注工具以及SambertHifigan个性化语音合成基模型搭建的一款ModelScope Studio应用,用户可以在应用主页录制20句话等待数分钟后即可复刻自己的声音。
个人声音定制ModelScope地址:https://www.modelscope.cn/studios/damo/personal_tts/summary
03 多模态语义大模型
通义听悟应用实践
过去一年,得益于以OpenAI为首提出的大规模语言模型(LLM)的飞速发展,我们基于通义实验室的通义千问底座结合过往的口语语言处理经验进行了进一步的基础算法探索以及应用落地;本话题先针对语义板块结合大模型以及多模态在通义听悟场景下的应用实践进行讨论,再介绍口语语言处理领域的应用研究工作。
算法能力架构图
通义听悟是通义家族首个消费者端应用产品,聚焦于音视频内容记录和理解分析,期望在多媒体时代帮助用户梳理和挖掘音视频信息价值并沉淀为知识资产;针对听悟中用到的文本、语音、视觉、翻译等相关算法进行梳理,得到以下的算法架构图。
多模态分割
PPT视觉边界检测及大模型摘要
PPT视觉边界检测及大模型摘要是指提取视频中的PPT画面,并将每页PPT展示时所讲述的内容,提炼成摘要总结,便于快速回顾PPT及讲解内容。算法基本流程如下图所示,我们针对PPT展示的特点设计了结合视觉和文本的检测任务;具体为以固定时间间隔从视频中采集视频帧得到视频帧序列,首先进行前景物体过滤,之后依据运动和静止事件检测结果锚定PPT切换的时间戳,并进行时间戳校准、相似度去重、OCR识别PPT内容等后处理操作,最后对齐视频转写的文本和PPT内容,输入到通义听悟摘要大模型得到每张PPT对应讲解内容的摘要总结。
语义结构分割
文本语义主题分割旨在将长篇章文本按照各部分所表达的中心思想分割成一系列语义片段,该能力是通义听悟中“文本分段”以及“章节速览分话题”的基石。我们提出了两种方法来增强预训练语言模型感知文本连贯性的能力并提升主题分割性能,一是主题感知句子结构预测(Topic-aware Sentence Structure Prediction ,TSSP)任务,该任务首先构造主题和句子级别扰乱的文档作为增强数据,之后训练模型学习增强文档中相邻句子的原始逻辑结构关系;二是对比语义相似性学习(Contrastive Semantic Similarity Learning ,CSSL),该任务利用主题边界信息构造对比样本,确保同一主题中的句子表示具有较高的相似度,而不同主题的句子表示相似度较低。
实验结果表明,TSSP 和 CSSL 任务能提升 BERT、BigBird 和 Longformer 等预训练语言模型的主题分割效果,并且Longformer+TSSP+CSSL 在 Intra-domain 和 Out-of-domain 下均显著优于现有方法,并且在不同上下文长度下均能提升基准模型性能。此外,我们探索了不同的 Prompt 来测试 ChatGPT3.5 在长篇章文档的主题分割性能,结果显示 Longformer+TSSP+CSSL 模型在 Out-of-domain 配置下效果优于 ChatGPT3.5 的 zero-shot 和 one-shot 性能。
更多技术细节可以参考我们发表在 EMNLP2023 的技术论文:
https://aclanthology.org/2023.emnlp-main.341/
智能待办
在智能待办方面,根据不同策略的对比结果最终采用了“小模型识别+大模型总结”的两段式方法,基于小模型行动项识别结果,通过大模型进行总结,以期提高用户体验。
行动项识别(action item detection)旨在识别会议记录中待办相关内容,通常建模为句子级别的二分类任务。然而,该任务面临着数据量少、标注质量低、类别不均衡等问题。为此,我们构建并开源了第一个带有行动项标注的中文会议数据集。在此基础上,我们提出了 Context-Drop 的方法,通过对比学习建模同时建模局部和全局上下文,在行动项识别表现和鲁棒性方面均取得更好的效果。此外,我们探索了 Lightweight model ensemble 的方法,利用不同的预训练模型,提高行动项识别的表现。
另一方面通过对大模型的效果摸底,可以观察到其在智能待办生成方面具有“准确率较低而可读性强”的特点。因此,我们先通过小模型召回待办相关片段,然后再通过大模型结合上下文内容进行总结,返回待办事项的任务描述、负责人、时间期限等要素信息,并通过探索上下文长度、Prompt、待办提示、聚合策略等方面的设置,不断改善行动项识别及总结的数据标注质量,优化大模型的总结表现。此外,训练过程中引入高难度负例样本强化了大模型的拒识能力,进一步激活大模型能力提高返回结果的准确率。
最终,业务侧主观评测结果显示上述的 两段式方法 显著优于单独的小模型检测和大模型端到端生成方法。
更多技术细节可以参考我们发表在 ICASSP2023 的技术论文:
https://ieeexplore.ieee.org/document/10096053
口语语义理解研究
ICASSP2023 MUG会议理解和生成大挑战
以往的研究表明,会议记录的口语语言处理(Spoken Language Processing, 简称 SLP) 如关键词提取和摘要生成,对于会议的理解和生成 (Meeting Understanding and Generation) 包括信息的提取、组织排序及加工至关重要,可以显著提高用户获取重要信息的效率。
然而由于会议数据的高度保密性,会议内容理解和生成技术的发展一直受到大规模公开数据集缺失的制约。为了促进会议理解和生成技术的研究和发展,阿里巴巴通义语音实验室构建并发布了目前为止规模最大的中文会议数据集 Alimeeting4MUG Corpus(AMC),并基于会议人工转写结果进行了多项SLP任务的人工标注。AMC 也是目前为止支持最多 SLP任务开发的会议数据集。基于AMC 举办的 ICASSP2023 MUG 挑战目标是推动SLP在会议文本处理场景的研究并应对其中的多项核心挑战,包括人人交互场景下多样化的口语现象、会议场景下的长篇章文档建模等。
MUG挑战赛总共包含五个赛道:Track1-话题分割,Track2-话题及篇章抽取式摘要,Track3-话题标题生成,Track4-关键词抽取,Track5-行动项抽取。
详情可参阅往期文章介绍:ICASSP2023 通用会议理解及生成挑战(MUG)成功举办及获奖团队结果分析
数据集及基线系统见Github 链接:https://github.com/alibaba-damo-academy/SpokenNLP
竞赛相关技术论文: https://arxiv.org/abs/2303.13932 Overview of the ICASSP 2023 General Meeting Understanding and Generation Challenge (MUG)
Ditto: 一种简单而有效的改进句子嵌入的方法
以前的研究诊断了预训练语言模型(例如BERT)在没有进行微调的情况下,其句子表示存在的各向异性问题。我们的分析揭示了BERT生成的句子嵌入对无信息词有偏向,这限制了它们在语义文本相似性(STS)任务中的性能。为了解决这种偏差,我们提出了一种简单而有效的无监督方法,即对角线注意力池化(Ditto),该方法利用基于模型的重要性估计对单词进行加权,并计算预训练模型中单词表示的加权平均值作为句子嵌入。Ditto可以轻松地作为后处理操作应用于任何预训练语言模型。与以往的句子嵌入方法相比,Ditto既不增加参数,也不需要任何学习。实证评估表明,我们提出的Ditto可以缓解各向异性问题,并改善各种预训练模型在STS基准上的表现。
观察1:强调了信息丰富单词的组合对于生成高质量句子嵌入的重要性。
我们使用了一种无需参数的探究技术——扰动掩码,用于分析预训练语言模型(例如BERT)。该技术通过对每对标记(x_i, x_j)施加两阶段的扰动过程,来衡量一个标记x_j对预测另一个标记x_i的影响。与以往研究不同,我们使用扰动掩码技术来分析原始的BERT和强大的句子嵌入模型SBERT。
下图展示了代表英语PUD树库中示例句子的影响矩阵F的热图。比较BERT和SBERT的影响矩阵,发现SBERT的影响矩阵在诸如“social media”、“Capitol Hill”和“different”等信息丰富的标记上呈现出明显的垂直线,这表明信息丰富的标记对预测其他标记有很大的影响,因此掩盖这些标记可能严重影响句子中其他标记的预测结果。相比之下,BERT没有呈现这种模式。这一观察表明,信息丰富标记的组合可能是SBERT高质量句子嵌入的强有力指标。此外,我们计算了影响矩阵与TF-IDF的相关性,发现SBERT的影响矩阵与TF-IDF的相关性要比BERT的影响矩阵高得多,这与上述观察一致。值得注意的是,ELECTRA在STS任务上表现不佳,并且与TF-IDF之间的相关性较弱。因此,我们推测原始的BERT和ELECTRA的句子嵌入可能存在对无信息单词的偏向,从而限制了它们在STS任务上的性能。
观察2:指出了BERT的某些自注意力头对应于单词的重要性。
尽管在观察1中已经验证SBERT与TF-IDF的相关性要高于BERT,但BERT仍然显示出了适度的相关性。因此,我们假设信息丰富单词的语义信息已经被编码在BERT中,但尚未被充分利用。以往的研究通过将BERT的每个自注意头视为一个简单的、无需训练的分类器来分析BERT的注意机制,该分类器可根据输入的单词输出其最关注的其他单词。
研究发现,某些自注意力头与语法和指代的语言概念相对应,例如,那些关注动词的直接宾语、名词的限定词、介词的宾语和指代性提及的自注意力头的准确性非常高。我们认为BERT中的注意力信息需要进一步利用。我们将特定的自注意力头表示为层-头编号(l-h),对于尺寸为BERT-base的模型,层的取值范围为1至12,头编号的取值范围为1至12。我们可视化了BERT每一层中每个头的注意权重,并关注信息丰富的单词。我们发现,某些自注意力头的从单词到自身的自注意力(即注意力矩阵的对角线值,称为对角线注意力)可能与单词的重要性相关。
正如下图所示,信息丰富的单词“social media transitions”、“hill”和“little”在头1-10的注意力矩阵的对角线值较高。BERT头部1-10的注意力权重示意图(左侧)和头部11-11的注意力权重示意图(右侧)。线条的深浅代表着注意力权重的数值。注意力矩阵的前五个对角线数值用蓝色标示。
根据在观察部分的两个发现,我们提出了一种新的无需训练的方法,称为"Diagonal Attention Pooling"(Ditto),旨在改善PLM的句子嵌入。该方法通过权衡某个头部的对角线注意力来加权隐藏状态,从而获得更好的句子嵌入。Ditto通过计算BERT特定头部的注意力矩阵的对角线值,然后利用这些值加权计算句子嵌入。与基于计算影响矩阵的方法相比,Ditto更加高效,因为影响矩阵的计算代价较高。该方法的有效性得到了实验证实,同时也具有更高的计算效率。示意图如下图所示。
更多技术细节可以参考我们发表在EMNLP 2023 的技术论文:
Ditto: A Simple and Efficient Approach to Improve Sentence Embeddings
https://aclanthology.org/2023.emnlp-main.359/
开源代码:https://github.com/alibaba-damo-academy/SpokenNLP/tree/main/ditto
加权采样的掩码语言建模
掩码语言建模(MLM)被广泛用于预训练语言模型。然而,MLM中的标准随机掩码策略导致了预训练语言模型(PLM)偏向高频标记,罕见标记的表示学习效果不佳,从而限制了PLM在下游任务上的性能。为了解决这一频率偏差问题,我们提出了两种简单有效的基于标记频率和训练损失的加权采样策略,用于掩盖标记。通过将这两种策略应用于BERT,我们得到了加权采样BERT(WSBERT)。实验表明,WSBERT在语义文本相似性基准(STS)上的性能显著优于BERT。在对WSBERT进行微调并与校准方法和提示学习相结合后,进一步改善了句子嵌入。我们还研究了在GLUE基准上对WSBERT进行微调,并展示了加权采样提高了骨干PLM的迁移学习能力。我们进一步分析并提供了有关WSBERT如何改善标记嵌入的见解。
首先,我们提出了一种对标记频率进行转换的方法,以减少罕见标记的影响。然后,根据转换后的频率计算了每个标记的采样权重。对于句子中的每个标记,根据其计算得到的采样权重进行归一化,计算出掩码该标记的采样概率。
其次,我们提出了动态加权采样策略,旨在解决传统频率加权采样不考虑骨干掩码语言模型学习状态的问题。动态加权采样通过存储每个标记的采样权重并在每个迭代的每个批次之后更新权重字典,而不是在迭代结束后更新权重。在每个小批次中,当前模型预测掩码标记并计算标记的交叉熵损失,然后使用损失值计算采样权重。动态加权采样的设计目的在于扩大不同标记之间的采样权重差异,进一步提高罕见标记的采样概率。在预训练的每个迭代中,权重字典会更新为每个标记的最新采样权重,以便在下一个迭代中使用。
以上是提出的动态加权采样的示意图,用于掩码语言建模(MLM)。选择掩盖标记的采样权重是基于当前 PLM 对该标记的预测损失计算得出的。我们将每个标记的采样权重存储在权重字典中。
更多技术细节可以参考我们发表在ICASSP 2023 (Top 3% Paper Recognition) 的技术论文:Weighted Sampling for Masked Language Modeling
https://arxiv.org/abs/2302.14225
04 开源概况
经过2023年的建设,Modelscope魔搭社区语音板块已经初具规模。不仅包含音频领域数十个研究方向的,大量工业级的开源模型,也包含相应的工具包,以及进一步打通了模型的推理、训练、微调和部署的pipeline。
FunASR开源项目
前面我们介绍了语音识别服务基本框架,包含语音识别声学模型、音端点检测、标点恢复、时间戳预测等模块。Modelscope上在各个技术方向上均有性能优越的开源模型。但是如何进一步讲这些开源模型有效的组成服务,打通学术研究和工业应用。
基于此,我们在github上发布了FunASR工具包。FunASR希望在语音识别的学术研究和工业应用之间架起一座桥梁。通过发布工业级语音识别模型的训练和微调,研究人员和开发人员可以更方便地进行语音识别模型的研究和生产,并推动语音识别生态的发展。
FunASR开源仓库:https://github.com/alibaba-damo-academy/FunASR
FunASR社区软件包地址:https://github.com/alibaba-damo-academy/FunASR/blob/main/runtime/readme_cn.md围绕上
述语音识别链路能力,FunASR提供多种功能,包括语音识别(ASR)、语音端点检测(VAD)、标点恢复、语言模型、说话人验证、说话人分离和多人对话语音识别等。FunASR提供了便捷的脚本和教程,支持预训练好的模型的推理与微调。同时推出了语音识别服务部署社区软件包,支持用户便捷高效的部署工业级的语音识别服务。
离线文件转写软件包目前支持中文、英文离线文件转写软件包,结合了通义语音实验室在Modelscope社区开源的FSMN-VAD语音端点检测、Paraformer语音识别声学模型、CT-Transformer标点断句等模型,并提供了可方便快捷部署到本地或者云端服务器的部署流程。开发者可以基于软件包,便捷的构建高精度、高并发、高效率的离线文件转写服务。典型应用场景为,录音文件转写,电话质检,音视频字幕等。
离线文件转写软件包集成了ffmpeg,支持多种音视频文件格式,包括音频(flac, mp3, ogg, opus, m4a, wav, pcm等)、视频(mp4、mov、avi、mkv、wmv、flv等)格式;同时支持时间戳输出,可输出字级别、句子级别时间戳;支持加载Ngram语言模型,采用TLG(Token、Lexicon、Grammar)结构构建统一解码网络,直接将音素/字符序列、发音词典、语言模型编译形成T、L、G三个wfst子网络,再通过composition、determinization、minimization等一系列操作生成统一解码网络,支持从原始语料和发音词典到最终解码资源的全流程编译,便于用户自行定制适合自身的解码资源。
离线文件转写软件包同时支持Contextual-Paraformer热词与wfst热词增强。Contextual-Paraformer将Paraformer模型作为主体,在NAR decoder中引入了一个multi-headed attention与最后一层的cross attention并列,分别计算decoder表征与热词表征、encoder输出的注意力再进行结合,在解码时支持对用户输入的任意热词进行激励。
wfst热词增强采用AC自动机结构进行热词网络构图,解决热词前缀重叠场景下难以有效激励的问题;采用对主解码网络弧上ilabel音素/字符序列信息进行热词发现及匹配,而非在网络搜索出词时再对整词匹配,能够更早实现对尚未出词热词路径激励,避免热词路径被过早误裁减,其次也可避免由于热词分词结构不一致而导致匹配失败;采用过程渐进激励和整词激励相结合的方式,既可以过程中每匹配成功一步即进行等量激励,也可以支持用户针对不同的热词做差异化的激励分配置,在热词整词出词时进一步施加对应的补偿或惩罚,进而提高热词综合效果。
实时语音听写软件包集成了实时语音端点检测模型(FSMN-VAD-realtime),语音识别实时模型(Paraformer-online),语音识别非流式模型(Paraformer-offline),标点预测模型(CT-Transformer)。
采用多模型协同,既可以实时的进行语音转文字,也可以在说话句尾用高精度转写文字修正输出,输出文字带有标点,开发者可以基于软件包,便捷的构建高精度、高并发、高效率的实时语音听写服务。典型应用场景为,会议场景实时听写,人机交互场景对话,数字人/虚拟人,大语言模型语音输入等。
实时语音听写支持以下几种推理模式:
1)实时语音听写服务(ASR-realtime-transcribe):客户端连续音频数据,服务端检测到音频数据后,每隔600ms进行一次流式模型推理,并将识别结果发送给客户端。同时,服务端会在说话停顿处,做标点断句恢复,修正识别文字。
2)非实时一句话转写(ASR-offline-transcribe):客户端连续音频数据,服务端检测到音频数据后,在说话停顿处进行一次非流式模型推理,输出带有标点文字,并将识别结果发送给客户端。
3)实时与非实时一体化协同(ASR-realtime&offline-twoPass):客户端连续音频数据,服务端检测到音频数据后,每隔600ms进行一次流式模型推理,并将识别结果发送给客户端。同时,服务端会在说话停顿处,进行一次非流式模型推理,输出带有标点文字,修正识别文字。
2024通义语音AI技术图景,大模型引领AI再进化(3)https://developer.aliyun.com/article/1587433