微软推出 Hierarchical Transformer 实现更高准确率的语音评测

news2025/1/12 8:53:43

对于语言学习者来说,练习发音并获得及时准确的反馈,是提高口语水平的重要环节。多年来,微软一直深耕基于 Azure 认知服务的语音功能,不断优化语音评测[1]功能的底层技术,从准确率、流畅度、完整性和语音语调等方面,提供更实用的反馈,赋能教育行业,提升教与学水平。微软承诺发展“负责任的人工智能”,因此在设计和开发人工智能产品的过程中,始终恪守这一原则。本文将为大家介绍微软语音评测模型的整体架构,深入解析底层 Hierarchical Transformer 技术。

语音评测底层技术剖析

微软语音评测功能利用 Azure 神经网络语音合成(Azure Neural TTS)、Transformer[2]、有序回归[3]和 Hierarchical 架构提升了评测的准确率,并且获得了单词级别的准确性提升。与此同时,基于神经网络的 GOP[4](goodness of pronunciation)方法在高质量的声学模型支持下,其表现与真人专业评测水平极为相近。Azure 语音识别(STT)经过大规模真实数据的训练,微软可以利用高质量的 GOP 特征来训练发音错误检测模型。

模型整体架构:攻克数据稀缺难题,模型 PPC 系数大幅提升

语音错误检测面临的主要挑战之一是难以获得高质量的标注数据。为了克服数据稀缺问题(包括正面样本和负面样本的不均衡),微软使用 Azure Neural TTS 生成训练数据,即模拟人类辨别发音错误的过程。在此基础上,使用增强数据进行预训练得到源模型,然后使用标注数据对源模型进行微调。此外,在数据标注阶段,聘请多名语言专家(LE, Langurage Expert)根据相同的评测体系,单独对数据进行标注。两个独立 LE 之间的皮尔逊相关系数[5](Pearson Correlation Coefficients,PCC)必须大于给定的阈值,以保证标注质量。对于某些低资源区域,利用 Azure Neural TTS 强大的数据生成能力,同样可以采用这种两阶段建模方式提供支持。结合这些创新,模型在 SpeechOcean762 数据集[6]上的 PCC 从 0.5661 提高到 0.6562。

图1:语音错误检测系统架构

构建 Hierarchical Transformer:兼顾全文与单词级别语音评测

微软将来自于 Azure STT 系统声学模型的 Senone、音素和单词特征作为Hierarchical Transformer 模型的输入特征。Senone 信息用于检测细粒度的发音模式,自注意力机制重点聚焦于 Senone 和音素,而单词级别的特征则为当前单词评分提供全局视角(bird’s-eye view)。对齐块用于显式连接 Senone 和音素信息,让Transformer 理解它们之间的隐式关系。

对于单词级特征,模型中采用了单词后验分数、语句级信噪比(SNR)、时长、辅音和元音属性和统计信息等指标进行评测。音素特征比单词特征简单得多,仅包括音素得分和时长。而对于 Senone 特征,仅使用 Senone 分数和状态。通过这种精心设计的特征和模型架构,粗粒度和细粒度特征都将有助于 Transformer 对发音分数进行建模。

图2:发音错误检测Hierarchical Transformer总体框架

(a)Hierarchical Transformer 模型的结构(b)Transformer 块的详细信息(c)连接 senone 和音素信息的对齐块

引入有序回归,提升语句级别的流利性与准确性

微软在语音评测的准确率评估上进一步引入有序回归[7](Ordinal Regression,OR),并在 SpeechOcean762 数据集验证了结果。

OR 在之前的研究工作中已用于语句级流利性及准确性的语音评测。与传统的机器学习任务相比,OR 表现得更好,因为它没有将语音评测任务当作分类或回归任务。OR 旨在预测比较样本之间的排序信息——也就是说,它对两个样本进行比较并判断哪一个更好。这种二元偏好测试比传统方法更容易、更快、且更准确。此外,打分本身就是一种在得分上的自然排序,这种二元偏好测试理论上也更符合人类的行为习惯。

为了与其他系统公平比较,微软在 SpeechOcean762 公开数据集上训练了一些模型,该数据集分别包含 2500 个标注良好的训练样本和评价样本。评价指标 PCC 赋予一个介于-1 和 1 之间的值,其中 0 表示无相关性。负值意味着预测与目标相反,正值意味着预测与目标一致。它用于衡量机器生成的评价分数与真人专家标记分数之间的相关性。数值接近 1 则表示强相关性。在 SpeechOcean762 数据集中,每个样本均由 5 名 LE 单独标记。之后针对所有 2500 个评价样本,每 2 名 LE 之间的 PCC 都进行平均,作为真人评分的校验。实验结果如图 3 所示,通过利用 OR,微软语音评测模型在与头部厂商的商业语音评测服务横向对比中取得了最佳成绩,而且在 PCC 指标上进一步缩小了与真人评测的差距。

图3:SpeechOcean762 数据集的实验结果

语音评测功能助力教与学,满足多元教学场景

目前,微软语音评测支持十七种语言和口音,包括英语(美国)、英语(英国)、英语(澳大利亚)、法语(法国)、西班牙语(西班牙)、西班牙语(墨西哥)、德语(德国)、中文(普通话)和日语(日本)的通用版,以及其它多种语言口音[8]的预览版。

同时,语音评测已集成在微软 Immersive Reader 的 Reading Coach[9],作为教师助教提升教学效率;在微软 Teams 的 Speaker Progress[10]功能中,语音评测可以成为学生的陪练,助力学生提高外语朗读流畅性;PowerPoint Coach[11]能够在演练过程中向演讲者提供口语词汇的正确发音建议。

Berlitz[12]是全球领先的语言培训公司,通过使用 Azure 语音识别和语音评测功能提供平台产品,用户可以实时收到关于发音准确性和流畅度的详细反馈,随时随地灵活练习和完善他们的发音。全球语言学习社区 HelloTalk[13]将学习者与来自世界各地的母语用户联系起来,通过语音评测功能,学习者可以提升发音准确度,并在此过程中结交新朋友,更加沉浸于目标语言的文化中。 

此外,培生[14]的朗文英语插件通过语音评测为不同水平的学生提供个性化的等级测试功能和学习材料建议;印度教育科技公司BYJU[15]利用语音评测开发了英语语言应用(ELA),帮助学生以个性化的方式学习英语。

随着以 ChatGPT 为代表的大语言模型等前沿技术的逐步成熟,将为外语教学场景带来更多可能。未来,在确保隐私安全、合法合规且符合道德伦理的前提下,学生将有机会拥有更加个性化、沉浸式的陪练体验,教育机构则能为老师提供教学助理,因材施教。

图4:ChatGPT 与多种应用集成,将为教学方式带来更多可能

测试你的语音发音水准

你可以尝试使用微软 Azure 云账号和语音服务账号登录微软语音工作室[16],无需编写程序即可体验口语评测功能,用更直观的交互界面评测语音流利程度和发音准确性。如果你没有账号,可以免费注册微软语音服务[17]

以下更多资源能够帮助你将语音功能添加到语言学习应用中:

  • 阅读“语言学习”博客[18],了解更多语音应用场景

  • 在 GitHub 上试用发音评价的演示版[19]和示例代码[20]

  • 发音评价:使用发音评价-Azure认知服务| Microsoft Learn[21]

  • 语音转文本:语音转文本概述-语音服务-Azure 认知服务|Microsoft Learn[22]

  • 文本转语音:文本转语音概述-语音服务-Azure 认知服务| Microsoft Learn[23]

  • 定制语音:自定义神经网络语音概述-语音服务-Azure认知服务| Microsoft Learn[24]

  • 联系我们获取反馈或功能:mspafeedback@microsoft.com

参考链接

[1]:https://learn.microsoft.com/zh-cn/azure/cognitive-services/speech-service/how-to-pronunciation-assessment?pivots=programming-language-csharp

[2]:https://arxiv.org/abs/1706.03762

[3]:https://arxiv.org/abs/2010.13339

[4]:https://www.sciencedirect.com/science/article/abs/pii/S0167639314001010

[5]:https://en.wikipedia.org/wiki/Pearson_correlation_coefficient

[6]:https://arxiv.org/pdf/2104.01378v2.pdf

[7]:https://ieeexplore.ieee.org/abstract/document/8682187

[8]:https://learn.microsoft.com/zh-cn/azure/cognitive-services/speech-service/language-support?tabs=pronunciation-assessment#speech-to-text

[9]:https://techcommunity.microsoft.com/t5/education-blog/reading-coach-in-immersive-reader-plus-new-features-coming-to/ba-p/3734079

[10]:https://learn.microsoft.com/en-us/training/educator-center/product-guides/reading-progress/

[11]:https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.microsoft.com%2Fen-us%2Fmicrosoft-365%2Fblog%2F2021%2F03%2F17%2Fimprove-your-presenting-skills-with-additional-platforms-and-new-features-for-powerpoint-presenter-coach%2F&data=04%7C01%7CMa.Melissa%40microsoft.com%7C6e47e4f7a841403a79dd08d8ee6b254b%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637521492199781979%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=yZ4BGASLPF9HAaQhi4sm6KtC%2Fr70RnWpF29K0t64j4Y%3D&reserved=0

[12]:https://www.berlitz.com/

[13]:https://customers.microsoft.com/en-us/story/1615006392710416983-hellotalk-azure-ai-education-china

[14]:https://customers.microsoft.com/en-us/story/1379625676815325642-pearson-education-azure-cognitive-services

[15]:https://byjus.com/global/

[16]:https://learn.microsoft.com/zh-cn/azure/cognitive-services/speech-service/speech-studio-overview

[17]:https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/overview#try-the-speech-service-for-free

[18]:https://github.com/Azure-Samples/Cognitive-Speech-TTS/tree/master/PronunciationAssessment/BrowserJS

[19]:https://github.com/Azure-Samples/Cognitive-Speech-TTS/tree/master/PronunciationAssessment/BrowserJS

[20]:https://github.com/Azure-Samples/cognitive-services-speech-sdk/blob/5b2aa44055b529ec3bd7c961efbe6a151f93ee5e/samples/csharp/sharedcontent/console/speech_recognition_samples.cs#L970

[21]:https://learn.microsoft.com/azure/cognitive-services/speech-service/how-to-pronunciation-assessment?pivots=programming-language-csharp

[22]:https://learn.microsoft.com/en-us/azure/cognitive-services/speech-service/speech-to-text

[23]:https://learn.microsoft.com/en-us/azure/cognitive-services/speech-service/text-to-speech

[24]:https://learn.microsoft.com/en-us/azure/cognitive-services/speech-service/custom-neural-voice

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/558285.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Cadence+SPB16.2入门教程(下)

弹出Create Net Class对话框,如图4.21所示。输入名称DDR_DATA,点击OK关闭对话框。 建立DDR_ADDR的过程也一样,同时选中网络XM1ADDR0-XM1ADDR15,XM1CASN、XM1CKE0、XM1CSN0、XM1RASN、XM1WEN后右键Create->Net Class。其它就不重复了。 然后将上一步建立的两个电气规则D…

chatgpt赋能Python-python_ijust

简介 Python ijust,是一款非常优秀的Python代码编辑器,它支持多种语言编程、自动补全、代码高亮、代码片段库和多种主题等众多特性。Python ijust 可以在Windows、macOS、Linux上运行,而且界面简洁、易用。 主要功能 代码高亮:P…

【MySQL新手到通关】第三章 基本的SELECT语句

文章目录 1. SQL 概述1.1 SQL 背景知识 1.2 SQL 分类2. SQL语言的规则与规范2.1 基本规则2.2 注释2.3 数据导入指令 3. 基本的SELECT语句3.1 SELECT ... FROM3.2 列的别名3.3 去除重复行3.4 空值参与运算3.5 着重号 4. 显示表结构5. 基本的过滤数据 1. SQL 概述 1.1 SQL 背景知…

计讯物联打造医疗设备远程质检“新神器”TG453,引领医疗设备数字化浪潮

方案背景 基于物联网的普及与推广,物联网技术在医疗行业得到更广泛的应用。在医院的日常诊疗工作开展中,CT、呼吸机、监护仪、注射泵、核磁共振、DR系统、工频X光机等医疗设备稳定无故障地运行对于医院、患者而言具有重要影响。医疗设备在长期使用过程中…

讨论:为什么越来越多的企业开始搭建属于自己的知识库?

随着信息技术的发展,人们可以在互联网上随时随地获取各种信息。企业作为一个独立的组织体系,其运营和管理需要依赖于大量的知识和信息。因此,建立一个属于自己的知识库,可以帮助企业更好地管理和共享知识,提高员工的工…

VS Code 大量 Java 新功能来袭!

大家好,欢迎来到 Visual Studio Code Java 的 4 月更新!在此博客中,我们将带来大量基础用户体验更新,其中包括调试功能改进、Maven 插件中的配置文件支持、全新 Java Project Explorer 的用户界面和 Spring Boot 项目的可视化增强…

2.shell脚本基本操作及案例

本文介绍了shell脚本的基本建立过程,并举了4个案例。关键是例3的shell脚本检测局域网ip地址机器是否宕机,例4的shell脚本获取本机ip地址 一、第一个shell脚本 1、定义解释器 #!/bin/bash echo "hello world" #! 是一个约定的标记…

[玩游戏想道理]底层能力提升

继续金铲铲中想道理; overview 很多熟悉的情况是调用记忆即可,但是新的情况则需要使用底层能力,包括不限于做事的方式倾向,对事物的深刻理解等等; 既有事情更多在调用和打磨记忆,新的事物更多调用和打磨底…

『C++』C++的IO流详解

「前言」文章是关于C的IO流 「归属专栏」C嘎嘎 「笔者」枫叶先生(fy) 「座右铭」前行路上修真我 「枫叶先生有点文青病」 「每篇一句」 就像山看水,水流山还在, 喜欢之人,只管远去, 我只管喜欢。 ——烽火戏诸侯《剑来》 目录 一…

留学热议话题:在美国可以用ChatGPT写作业吗?

今年,学术界最热议的话题要数人工智能技术非大语言数据模型ChatGPT了。随着ChatGPT等智能写作助手在学生群体中的应用和日益普及,极大程度地影响了学生们的传统学习方法。然而,在享受技术革新带来便利的同时,不恰当的运用这些软件…

rails routes的使用

Rails routes 是用于确定应该将请求发送到哪个控制器和操作的一种机制。在 Rails 应用程序中,可以通过定义路由来映射 URL 到控制器操作。可以使用 rails routes 命令查看当前应用程序中定义的所有路由。 以下是一些常见的用法: 查看所有路由&#xff…

从三个层次来介绍用于机器人主控板的设计思想

在很多人眼里,主控板有着密密麻麻的芯片引脚与PCB走线,看起来非常难的样子。其实恰恰相反,主控板的设计有着其特有的设计规律,其实说白了就像搭积木,在满足单片机最小系统的条件下,需要哪些功能&#xff0c…

chatgpt赋能Python-python_head_first

Python Head First:学习Python编程的必备指南 如果你是一位编程新手,尤其是对Python感兴趣,那么Head First Python是你需要阅读的书籍之一。这本书通过富有趣味性的教学方法,让你轻松理解Python编程语言。 了解Python编程 Pyth…

物联网通信协议-MQTT及使用python实现

MQTT概念及其原理 简述 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量 级"通讯协议,该协议构建于TCP/IP协议上,由IBM在…

亚马逊云科技构建Serverless数据分析战略

亚马逊云科技Amazon EMR是行业领先的大数据分析服务,适用于使用开源框架进行PB级数据处理、交互分析和机器学习,它可以更快地运行大数据应用并且成本不到本地解决方案成本的一半。通过性能优化且兼容开源API的Spark、Hive和Presto版本,洞察时…

增加或修改现有apk的功能(apk功能扩展)

现有apk不能满足需要,又没有源代码,想要扩展其功能,是可以实现的。 本人根据多年修改apk的经验,总结如下: 一、扩展apk功能的原理及步骤 1、必要条件: 该apk能够被反编译为smali代码,也能够…

【2023五一杯数学建模】B题 快递需求分析 31页论文

【2023五一杯数学建模】B题 快递需求分析 31页论文及代码 1 题目 请依据以下提供的附件数据和背景内容,建立数学模型,完成接下来的问题:问题背景是,网络购物作为一种重要的消费方式,带动着快递服务需求飞速增长&…

Spring源码阅读:Spring事务执行流程

一、概述 Spring事务执行的流程如下图,我们将按照下面的执行顺序,介绍Spring的事务。 二、代码分析 (一)核心流程 TransactionAspectSupport#invokeWithinTransaction 事务处理核心伪代码 // 通过事务调用 protected Object i…

第12届蓝桥杯Scratch选拔赛真题集锦

第12届蓝桥杯Scratch选拔赛真题集锦 编程题 第 1 题 问答题 吃豆人游戏 题目说明 编程实现: 吃豆人游戏: 通过方向键控制吃豆人吃到水果,当水果全部被吃掉后游戏结束。具体要求: 1).点击绿旗,舞台上出现要求的角色与背景;每个格子内有一个水果和一个幽…

chatgpt赋能Python-python_ip摄像头

Python IP摄像头介绍 IP摄像头技术的快速发展,使得越来越多的人开始使用IP摄像头来保护家庭、企业和公共场所的安全。Python语言的简洁、优雅和易于学习,使得它成为越来越多人选择的编程语言。在本文中,我们将介绍如何使用Python编程来控制I…