克服多语言语音技术的障碍:五大挑战和创新解决方案

推荐:使用 NSDT场景编辑器 助你快速搭建可二次编辑器的3D应用场景

介绍

在用西班牙语(您的首选语言)向语音助手询问某些内容后,您有多少次不得不暂停,然后用语音助手理解的语言(可能是英语)重述您的问题,因为语音助手无法理解您的西班牙语请求?或者,当你要求你的语音助手播放他们的音乐时,你有多少次不得不故意念错你最喜欢的艺术家A. R. Rahman的名字,因为你知道如果你说出他们的名字是正确的,语音助手根本听不懂,但如果你说A.R.拉面,语音助手会明白吗?此外,当语音助手用他们舒缓、无所不知的声音,屠宰你最喜欢的音乐剧《悲惨世界》的名字并明确地将其发音为“Les Miz-er-ables”时,你有多少次畏缩?

尽管语音助手在大约十年前已成为主流,但它们仍然保持简单化,特别是在理解多语言环境中的用户请求方面。在一个多语言家庭正在崛起,现有和潜在用户群变得越来越全球化和多样化的世界中,语音助手在理解用户请求时变得无缝至关重要,无论他们的语言、方言、口音、语气、调制和其他语音特征如何。然而,语音助手在能够以人类彼此的方式与用户顺利交谈方面继续严重滞后。在本文中,我们将深入探讨使语音助手多语言运行的最大挑战是什么,以及缓解这些挑战的一些策略可能是什么。在本文中,我们将使用假设的语音助手 Nova,用于说明目的。

语音助手的工作原理

在深入探讨使语音助手用户体验多语言的挑战和机遇之前,让我们大致了解一下语音助手的工作原理。使用 Nova 作为假设的语音助手,我们看看请求音乐曲目的端到端流程是什么样的(参考)。

克服多语言语音技术的障碍:五大挑战和创新解决方案


1. 假设语音助手Nova的端到端概述

如图所示。1.当用户要求Nova播放流行乐队酷玩乐队的原声音乐时,用户的这个声音信号首先被转换为一串文本令牌,作为人-语音助手交互的第一步。此阶段称为自动语音识别 (ASR) 或语音转文本 (STT)。一旦令牌字符串可用,它就会传递到自然语言理解步骤,语音助手将尝试理解用户意图的语义和句法含义。在这种情况下,语音助手的NLU解释用户正在寻找酷玩乐队的歌曲(即解释酷玩乐队是一个乐队),这些歌曲本质上是原声的(即在该乐队的唱片中查找歌曲的元数据,并且只选择版本=原声的歌曲)。然后,此用户意图理解用于查询后端以查找用户要查找的内容。最后,用户正在寻找的实际内容以及向用户呈现此输出所需的任何其他附加信息将转到下一步。在此步骤中,响应和任何其他可用信息用于修饰用户的体验,并令人满意地响应用户查询。在这种情况下,它将是文本到语音转换 (TTS) 输出(“这是酷玩乐队的一些原声音乐”),然后播放为此用户查询选择的实际歌曲。

构建多语言语音助手的挑战

多语言语音助手 (VA) 意味着能够理解和响应多种语言的 VA,无论它们是由同一个人或多人说的,还是由同一个人用与另一种语言混合的同一个句子说的(例如“Nova,arrêt!玩别的东西“)。以下是语音助手在多模式环境中无缝操作时面临的主要挑战。

语言资源的数量和数量不足

为了使语音助手能够很好地解析和理解查询,需要对该语言的大量训练数据进行训练。这些数据包括来自人类的语音数据、地面真相注释、大量文本语料库、用于改进 TTS 发音的资源(例如发音词典)和语言模型。虽然这些资源很容易用于英语、西班牙语和德语等流行语言,但对于斯瓦希里语、普什图语或捷克语等语言,它们的可用性有限甚至不存在。即使有足够多的人使用这些语言,也没有结构化的资源可用于这些语言。为多种语言创建这些资源可能很昂贵、复杂且需要大量人力,从而为进展带来阻力。

语言变化

语言有不同的方言、口音、变体和区域适应。处理这些变化对于语音助手来说具有挑战性。除非语音助手适应这些语言上的细微差别,否则很难正确理解用户请求或能够以相同的语言语气做出响应,以提供自然的声音和更像人类的体验。例如,仅英国就有40多种英语口音。另一个例子是墨西哥使用的西班牙语与西班牙使用的西班牙语不同。

语言识别和适应

多语言用户在与其他人的交互过程中切换语言是很常见的,他们可能期望与语音助手进行相同的自然交互。例如,“Hinglish”是一个常用术语,用于描述在说话时使用印地语和英语单词的人的语言。能够识别用户与语音助手交互的语言并相应地调整响应是一项艰巨的挑战,这是当今主流语音助手无法做到的艰巨挑战。

语言翻译

将语音助手扩展到多种语言的一种方法是将 ASR 输出从卢森堡语等非主流语言翻译成 NLU 层可以更准确地解释的语言,例如英语。常用的翻译技术包括使用一种或多种技术,如神经机器翻译 (NMT)、统计机器翻译 (SMT)、基于规则的机器翻译 (RBMT) 等。但是,这些算法可能无法很好地针对不同的语言集进行扩展,并且可能还需要大量的训练数据。此外,语言特定的细微差别经常丢失,翻译版本往往显得尴尬和不自然。在能够扩展多语言语音助手方面,翻译质量仍然是一个持续的挑战。翻译步骤中的另一个挑战是它引入的延迟,降低了人与语音助手交互的体验。

真正的语言理解

语言通常具有独特的语法结构。例如,英语有单数和复数的概念,梵语有3(单数对偶,复数)。也可能有不同的习语不能很好地翻译成其他语言。最后,可能还有文化细微差别和文化参考,除非翻译技术具有高质量的语义理解,否则翻译可能很差。开发特定于语言的 NLU 模型是昂贵的。

克服构建多语言语音助手的挑战

上面提到的挑战是难以解决的问题。但是,有一些方法可以立即部分(如果不是完全)缓解这些挑战。以下是一些可以解决上述一个或多个挑战的技术。

利用深度学习检测语言

解释句子含义的第一步是知道句子属于哪种语言。这就是深度学习的用武之地。深度学习使用人工神经网络和大量数据来创建看起来像人类的输出。基于转换器的架构(例如BERT)在语言检测方面已经证明是成功的,即使在资源匮乏的语言中也是如此。基于转换器的语言检测模型的替代方法是递归神经网络 (RNN)。这些模型应用的一个例子是,如果一个平时用英语说话的用户有一天突然用西班牙语与语音助手交谈,语音助手可以正确检测和识别西班牙语。

使用上下文机器翻译来“理解”请求

一旦检测到语言,解释句子的下一步是获取 ASR 阶段的输出,即标记字符串,并将该字符串(不仅从字面上而且在语义上)转换为可以处理以生成响应的语言。而不是使用翻译 API,这些 API 可能并不总是知道语音界面的上下文和特性,并且由于高延迟而在响应中引入次优延迟,从而降低用户体验。但是,如果将上下文感知机器翻译模型集成到语音助手中,则由于特定于域或会话上下文,翻译可以具有更高的质量和准确性。例如,如果语音助手主要用于娱乐,它可以利用上下文机器翻译来正确理解和回答有关音乐流派和子流派、乐器和音符、某些曲目的文化相关性等问题。

利用多语言预训练模型

由于每种语言都有独特的结构和语法、文化参考、短语、习语和表达方式以及其他细微差别,因此处理不同的语言具有挑战性。鉴于特定于语言的模型很昂贵,预先训练的多语言模型可以帮助捕获特定于语言的细微差别。像BERT和XLM-R这样的模型是预先训练模型的很好的例子,可以捕获语言特定的细微差别。最后,这些模型可以微调到一个领域,以进一步提高其准确性。例如,对于在音乐领域训练的模型,可能不仅能够理解查询,还可以通过语音助手返回丰富的响应。如果这个语音助手被问到一首歌歌词背后的含义是什么,语音助手将能够以比简单解释单词更丰富的方式回答问题。

使用代码切换模型

实现代码切换模型以便能够处理混合使用不同语言的语言输入,可以在用户与语音助手的交互中使用多种语言的情况下提供帮助。例如,如果语音助手是专门为加拿大用户经常混淆法语和英语的地区设计的,则可以使用代码切换模型来理解指向语音助手的句子,这些句子是两种语言的混合,语音助手将能够处理它。

利用迁移学习和零镜头学习来开发低资源语言

迁移学习是 ML 中的一种技术,其中模型在一项任务上训练,但用作第二个任务的模型的起点。它利用从第一个任务中学习来提高第二个任务的性能,从而在一定程度上克服了冷启动问题。零镜头学习是指使用预先训练的模型来处理以前从未见过的数据。迁移学习和零镜头学习都可以用于将知识从高资源语言转移到低资源语言。例如,如果语音助手已经接受了世界上最常用的 10 种语言的培训,则可以利用它来理解斯瓦希里语等低资源语言的查询。

结论

总之,在语音助手上构建和实现多语言体验具有挑战性,但也有一些方法可以缓解其中一些挑战。通过解决上述挑战,语音助手将能够为用户提供无缝体验,无论其语言如何。

原文链接:克服多语言语音技术的障碍:五大挑战和创新解决方案 (mvrlink.com)

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

离线安装Nginx(rpm方式)

环境:centos7.9 下面将展示通过rpm方式安装Nginx 1.官方下载Nginx rpm包 下载地址 http://nginx.org/packages/ 下载版本根据操作系统版本进行选择,本次操作系统是centos7.9 - 64位系统,所以对应的下载路径是: http://nginx.or…

AI Chat 设计模式:15. 桥接模式

本文是该系列的第十五篇,采用问答式的方式展开,问题由我提出,答案由 Chat AI 作出,灰色背景的文字则主要是我的一些思考和补充。 问题列表 Q.1 如果你是第一次接触桥接模式,那么你会有哪些疑问呢?A.1Q.2 什…

Hlang社区项目说明

文章目录 前言Hlang社区技术前端后端 前言 Hello,欢迎来到本专栏,那么这也是第一次做这种类型的专栏,如有不做多多指教。那么在这里我要隆重介绍的就是这个Hlang这个项目。 首先,这里我要说明的是,我们的这个项目其实是分为两个…

list

目录 迭代器 介绍 种类 本质 介绍 模拟实现 注意点 代码 迭代器 介绍 在C中,迭代器(Iterators)是一种用于遍历容器(如数组、vector、list等)中元素的工具 无论容器的具体实现细节如何,访问容器中的元素的方…

包管理工具 nvm npm nrm yarn cnpm npx pnpm详解

包管理工具 nvm npm yarn cnpm npx pnpm npm、cnpm、yarn、pnpm、npx、nvm的区别:https://blog.csdn.net/weixin_53791978/article/details/122533843 npm、cnpm、yarn、pnpm、npx、nvm的区别:https://blog.csdn.net/weixin_53791978/article/details/1…

实验三 图像分割与描述

一、实验目的: (1)进一步掌握图像处理工具Matlab,熟悉基于Matlab的图像处理函数。 (2)掌握图像分割方法,熟悉常用图像描述方法。 二、实验原理 1.肤色检测 肤色是人类皮肤重要特征之一&#xff…

【wiki】电竞助手掉落提醒 EsportsHelper「Webhook」「钉钉」「饭碗警告」「企业微信」「Discord」

介绍 本项目链接 Github电竞助手链接 github上项目电竞助手(EsportsHelper)的掉落提醒配置教程,当有掉宝的时候会发送你信息提示. 至于这个脚本是怎么使用的简单说一下,就是通过自动观看英雄联盟直播 从而获取奖励(仅限直营服),有兴趣的可以去github上看readme,非常详细,支持…

ppt怎么压缩?试试这样压缩文件

当PPT文件体积过大时,打开的速度就会很慢,演示的时候刘程度也会受到影响,其次,现在很多平台对于上传的文件是有大小限制的,比如超过100M的文件就无法上传、发送等等,那么,怎么才能压缩PPT文件呢…

云曦暑期学习第五周——2022美亚杯个人赛

I.案件详情 于2022年10月,有市民因接获伪冒快递公司的电邮,不慎地于匪徒架设的假网站提供了个人信用咭资料导致经济损失。警方追查下发现当中一名受骗市民男子李大輝 (TaiFai) 的信用卡曾经被匪徒在区内的商舖购物。 后来警方根据IP地址,锁定…

Spring Boot @Validated 验证注解的使用

1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId> </dependency> 2、使用 2.1、非对象参数 参数如果是非对象格式&#xff0c;需要在controller类上面添…

高等数学教材重难点题型总结(二)导数与微分

本章重点题目较少&#xff0c;除了*标题页没什么特别难的&#xff0c;本帖出于总结性的角度考虑并未囊概全部的*标&#xff0c;最后会出一期*标题的全部内容整理&#xff0c;在攻克重难点的基础上更上一层楼。 1.根据定义求某点处的导数值 2.通过定义证明导数 3.左右导数的相关…

vue基础知识四:Vue实例挂载的过程

一、思考 我们都听过知其然知其所以然这句话 那么不知道大家是否思考过new Vue()这个过程中究竟做了些什么&#xff1f; 过程中是如何完成数据的绑定&#xff0c;又是如何将数据渲染到视图的等等 一、分析 首先找到vue的构造函数 源码位置&#xff1a;src\core\instance\…

CentOS防火墙操作:开启端口、开启、关闭、配置

一、基本使用 启动&#xff1a; systemctl start firewalld 关闭&#xff1a; systemctl stop firewalld 查看状态&#xff1a; systemctl status firewalld 开机禁用 &#xff1a; systemctl disable firewalld 开机启用 &#xff1a; systemctl enable firewalld systemctl是…

栈存储结构详解

目录 栈存储结构详解 进栈和出栈 栈的具体实现 栈的应用 什么是队列&#xff08;队列存储结构&#xff09; 栈存储结构详解 同顺序表和链表一样&#xff0c;栈也是用来存储逻辑关系为 "一对一" 数据的线性存储结构&#xff0c;如图 1 所示。 图 1 栈存储结构示意…

Tomcat的部署及优化(多实例和动静分离)

目录 绪论 1、tomact 1.1 核心组件 1.2 什么是 servlet 1.3 什么是 JSP? 1.4 Tomcat 功能组件结构 1.5 Tomcat 请求过程 2、Tomcat 服务部署 2.1 tomcat自身优化&#xff1a; 2.2 内核优化 2.3 jvm 2.3.1 jvm配置 2.3.2 Tomcat配置JVM参数 2.3.3 jvm优化 3、tom…

Labview选项卡之实现被选择选项卡工作

文章目录 前言一、使用选项卡二、实现被选择选项卡工作1、需求2、分析3、实现①、前面板②、程序框图 三、效果展示四、源码自取 前言 有些时候&#xff0c;我们做界面&#xff0c;需要好多个界面切换。如果是同一个 VI 里界面切换&#xff0c;一般都是选项卡了。切换不同选项…

OJ练习第147题——字符串中的查找与替换

字符串中的查找与替换 力扣链接&#xff1a;833. 字符串中的查找与替换 题目描述 你会得到一个字符串 s (索引从 0 开始)&#xff0c;你必须对它执行 k 个替换操作。替换操作以三个长度均为 k 的并行数组给出&#xff1a;indices, sources, targets。 要完成第 i 个替换操…

【MySQL--->数据库操作】

文章目录 [TOC](文章目录) 一、操作语句1.增2.删3.改4.查5.备份 二、字符集与校验规则 一、操作语句 1.增 语句格式:create database [if no exists]数据库名[create_specification [,create_specification] …]; 中括号内是可选项,if no exists是指如果数据库不存在就创建,存…

【每日一题】1572. 矩阵对角线元素的和

【每日一题】1572. 矩阵对角线元素的和 1572. 矩阵对角线元素的和题目描述解题思路 1572. 矩阵对角线元素的和 题目描述 给你一个正方形矩阵 mat&#xff0c;请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 示例 1&a…

jenkins自动化构建保姆级教程(持续更新中)

1.安装 1.1版本说明 访问jenkins官网 https://www.jenkins.io/&#xff0c;进入到首页 点击【Download】按钮进入到jenkins下载界面 左侧显示的是最新的长期支持版本&#xff0c;右侧显示的是最新的可测试版本&#xff08;可能不稳定&#xff09;&#xff0c;建议使用最新的…