本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
代理语音最佳实践
Amazon Connect 代理语音将高级语音识别 (ASR) 与富有表现力、听起来很自然的语音相结合,可提供完整的语音人工智能体验。Advanced ASR 在实时对话中提供自然、低延迟的轮流录音,而语音引擎可在 50 多个地区提供逼真的语音。这些组件共同支持呼叫者与 Amazon Connect AI 代理之间无缝的、类似人类的交互。本指南涵盖了这两个组件的配置和最佳实践,因此您可以充分利用完整的代理语音体验。
注意
要使用亚马逊连接代理语音功能,请确保您的实例启用了亚马逊连接客户。亚马逊连接代理语音是亚马逊连接客户的默认语音提供商。
本指南涵盖以下内容:
ASR 控件的会话属性语法。
Barge-in (中断)行为以及何时将其禁用。
End-of-turn 正在调整高级 ASR。
多语言语音识别的语言提示。
处理长时间运行的工具调用。
语音输出的文本格式最佳做法。
用于精细语音控制的语音控制标签。
Amazon Connect AI 代理的系统提示。
联络中心示例。
支持多语言的多语言语音配置。
高级语音识别 (ASR) 最佳实践
Advanced ASR 语音模型首选项是一种流媒体识别器,专为在实时对话中进行自然、低延迟的回合而设计。它不是仅依赖固定的沉默窗口,而是评估来电者通话时的语音并预测来电者何时结束——回合结束(EOT)。
会话属性语法
本节中的控件使用x-amz-lex命名空间中的标准 Lex V2 会话属性进行设置。您可以在开始对话时对其进行设置,并且可以在 Lambda 函数中覆盖它们(例如,仅在收集敏感值时放松检测)。
将每个属性的范围限定为一个意图和槽位:
x-amz-lex:audio:<setting>:<intentName>:<slotToElicit>
用
*作意图或插槽名称来设置适用于所有地方的默认值。任何特定于 Intent 或 Slot 的设置都优先于默认设置。
*
做:
仅在需要保守值的插槽(例如,账户号码槽)上设置保守值,将其他所有值保留为默认值。
敏感收集完成后,重置下一个时段的宽松值。
不要:
在全局范围内应用单一的激进
*:*默认值来修复一个插槽——它会改变机器人中每回合的节奏。
Barge-in (中断行为)
Barge-in 让呼叫者打断机器人正在播放的提示。默认情况下它处于启用状态,这通常是你想要的自然对话。你可以通过以下方式来控制它:
x-amz-lex:allow-interrupt:<intentName>:<slotToElicit>
默认值:true
在以下情况下禁用 barge-in (false):
使用必须完整听到的法律、合规或记录披露语言。
回读确认来电者不应通话的消息。
在以下情况下保持强入功能处于启用状态:
来电者可能想更正或缩短机器人中间的提示音,这是正常的对话情况。
示例
对于自助式 AI 代理,默认情况下将任意位置的强行插接设置为开启状态。仅在必须完整听取提示时(例如,法律或合规免责声明)将其禁用。开始对话时设置属性。在*:*条目中保持默认开启状态,仅针对播放免责声明的意图关闭强行插入:
{ "sessionState": { "sessionAttributes": { "x-amz-lex:allow-interrupt:*:*": "true", "x-amz-lex:allow-interrupt:Disclaimer:*": "false" } } }
特定于 Intent 和 slot 的条目优先于*:*默认条目,因此除了 Int Disclaimer ent 正在说话时,调用者可以在任何地方中断。如果您改为在 Lambda 函数中设置免责声明属性,请在免责声明提示播放之前进行设置。将其重置为true之后,这样对话的其余部分就可以中断了。
注意
超时驱动的重新提示并不是真正的强行干预。一个常见的困惑点:如果来电者保持沉默并启动回合结束后备回合,机器人可能会自行结束回合或重新提示。这可能看起来像是中断,但这是回合结束时的探测触发,而不是来电者闯入。解决方法几乎总是调整回合结束设置,而不是允许中断标志。
End-of-turn 调音
当首先满足任一条件时,高级 ASR 结束回合:
End-of-turn 置信度阈值 — 模型足够自信,来电者已经完成了任务。这是主要信号,也是让转弯听起来很自然的原因。
End-of-turn 静音超时 — 呼叫者在配置的时间内一直处于沉默状态。这是后备方法(呼叫者离开或保持沉默)。
| 设置 | 会话属性 | 默认 | Range |
|---|---|---|---|
| End-of-turn 置信阈值 | x-amz-lex:audio:end-confidence-threshold |
0.7 | 0.5—0.9 |
| End-of-turn 沉默超时 | x-amz-lex:audio:end-timeout-ms |
5,000 毫秒 | 500—10,000 毫秒 |
值越高,机器人等待的时间越长,结束回合越保守(过早截止时间越少,延迟稍长)。值越低,结束时间越快(延迟越低,切断暂停来电者的可能性越高)。置信度阈值是主要杠杆;只有当信心尚未结束回合时,沉默超时才重要。
Out-of-range 行为:
end-confidence-threshold0.5—0.9 以外的会话属性错误被拒绝。end-timeout-ms低于 500 或高于 10,000 会被静默地限制到最接近的支持值。
选择值
| 场景 | 推荐设置 | 注意 |
|---|---|---|
| 自然对话 | 默认值(0.7/5,000 毫秒) | 针对响应式通用回合进行了调整。 |
| 敏感或听写输入(OTP、账号) | 阈值:0.9,超时:6,000—8,000 毫秒 | 容忍暂停。收集后重置到下一个插槽。 |
| 短期交流(yes/no单个字) | 阈值:~0.5,超时:~500 毫秒 | 更快的转弯。首先测试是否过早截止。 |
示例
对VerifyIdentity意图AccountNumber槽进行保守的回合末端检测:
{ "sessionState": { "sessionAttributes": { "x-amz-lex:audio:end-confidence-threshold:VerifyIdentity:AccountNumber": "0.9", "x-amz-lex:audio:end-timeout-ms:VerifyIdentity:AccountNumber": "7000" } } }
每个 intent 和 slot 都有一个默认值:
{ "sessionState": { "sessionAttributes": { "x-amz-lex:audio:end-confidence-threshold:*:*": "0.8", "x-amz-lex:audio:end-timeout-ms:*:*": "800" } } }
用于多语言识别的语言提示
Advanced ASR 可以识别同一个对话中的多种语言,而不会被告知预期会使用哪种语言。它可以检测来电者语音中的语言,因此来电者可以从英语开始,然后切换到西班牙语,然后进行转录。这是默认行为,无需配置。
如果您已经知道来电者使用哪种语言,则可以通过语言提示将识别偏向于他们。当两种语言听起来相似时,提示最有用。当简短的话语(一个单词、一个数字、一个)几乎没有什么可 yes/no 用的时候,它们也会有所帮助。你把它们设置为:
x-amz-lex:audio:locale-override:<intentName>:<slotToElicit>
默认:无提示 — 高级 ASR 会自行检测语言。
使用与本节中其他控件相同的方式设置属性的范围。在对话的每一个回合中都使用*:*偏见,或者说出一个意图,只在你知道预期语言的回合处产生偏见。
值格式
将该值设置为你想要偏爱的语言代码,很可能要先设置。使用以逗号分隔的列表,如果更容易从 Flow 或 Lambda 函数生成,则可以选择将其括在方括号和引号中。高级 ASR 会忽略周围的空白并将下划线视为连字符,因此和是等效的。pt_BR pt-BR
下表显示了示例属性值以及每个属性值偏向于 Advanced ASR 的语言。
| 属性值 | 高级 ASR 偏向的语言 |
|---|---|
| 未设置属性 | 无。高级 ASR 可检测来电者语音中的语言。 |
es,en-US |
西班牙语,然后是美国英语 |
["ja"] |
日语 |
[ "es" , "en" ] |
先是西班牙语,然后是英语 |
fr, de , it |
法语,然后是德语,然后是意大利语 |
验证
每个条目都必须是有效的语言代码。使用两个或三个字母的基本代码,可以选择在后面加上连字符和区域子标签,例如
es、或。en-USpt-BR与该表格不匹配的条目将被删除,剩余的有效条目仍然适用。如果没有有效的条目,对话将在没有任何提示的情况下继续进行,而不是失败。
高级 ASR 会传递并忽略其无法识别的格式正确的代码。该代码不会产生错误,但也不会造成识别偏差,因此请验证您发送的代码。
高级 ASR 删除重复项。它最多应用 10 个提示,忽略第十个以外的任何提示。
示例
以下示例对呼叫者说西班牙语或英语的线路存在识别偏差,而西班牙语是更常见的语言:
{ "sessionState": { "sessionAttributes": { "x-amz-lex:audio:locale-override:*:*": "es,en-US" } } }
可咨询示例
除非您有特定原因进行偏差识别,否则不要设置该属性。Detection 可处理大多数多语言对话。
仅列出您的来电者实际使用的语言,很可能首先列出。
不可咨询示例
列出您的来电者实际使用的语言以外的语言。长长的清单会淡化偏见,完全消除设置提示的好处。
发送一条提示,将对话锁定为一种语言。提示会导致识别偏差;它不限制识别。要限制 AI 代理的响应语言,请参阅仅限于特定语言。
提示
语言提示偏见语音识别——机器人听到的内容。它们不会改变机器人说的语言。对于响应语言,使用 AI 代理系统提示和多语言语音。请参阅多语言语音配置。
处理长时间运行的工具调用
当 AI 代理或 Lambda 在机器人准备好监听之前进行长时间运行的工具调用(后端查询、外部 API、模型调用)时,调用者会保持沉默。对于呼叫者来说,这可能感觉就像机器人停滞不前或者在终于回应时与他们交谈。
缓解措施:
在机器人打开麦克风之前完成长时间运行的工作。在机器人进入下一个槽位之前完成工具调用。
播放按住或填充提示音(“稍等片刻,我把它拉起来...”),这样来电者就不会沉默地坐着。
在工具调用期间或依次启用填充音效。
通过这些步骤保持强行输入功能,这样,如果来电者在填充提示时说话,他们就可以继续进行操作。
提示
使用您的实际工具调用端到端验证延迟。目标是让呼叫者永远不会在后端处于死气沉沉的状态。
ASR 会话属性快速参考
| 属性 | 默认 | 注意 |
|---|---|---|
x-amz-lex:allow-interrupt:<intent>:<slot> |
true | Barge-in。设置false免责声明。 |
x-amz-lex:audio:end-confidence-threshold:<intent>:<slot> |
0.7 | 主要 EOT 信号。范围 0.5—0.9。 Out-of-range 被拒绝。 |
x-amz-lex:audio:end-timeout-ms:<intent>:<slot> |
5,000 毫秒 | EOT 后备方案。范围 500—10,000 毫秒。 Out-of-range 夹紧。 |
x-amz-lex:audio:locale-override:<intent>:<slot> |
未设置 | 语言提示识别有偏差。 Comma-separated 代码,最多 10 个。 |
常见的 ASR 错误
| 错误 | 为什么不好 | Fix |
|---|---|---|
| 收集听写数字时置信度阈值低 | 机器人切断群组间来电者的联系 | 在该时段上提高信心并超时,之后重置。 |
| 在全球范围内禁用强行入侵 | 来电者无法在任何地方更正机器人 | 仅在 disclaimer/compliance 提示时禁用。 |
应用*:*默认值来修复一个插槽 |
更改了整个机器人的节奏 | 将该属性的范围限定为特定范围 intent/slot。 |
| 将阈值设置在 0.5—0.9 以外 | 请求因错误而被拒绝 | 将其保持在射程范围内。只能默默地end-timeout-ms夹住。 |
| 在长时间的工具调用期间保持输入窗口处于打开状态 | 来电者坐在死气中 | 先完成工具调用或播放填充提示音。 |
| 将 EOT 重新提示视为真正的入侵 | 对允许中断进行了错误的修复 | 改为调整回合结束设置。 |
列出多种语言 locale-override |
淡化了它本应提供的偏见 | 只列出来电者使用的语言,很可能是最先列出的。 |
语音消息最佳实践
Amazon Connect 代理语音可在 50 多个地区提供富有表现力、听起来自然的文字转语音。引擎会自动将书面文本标准化为自然语音。在大多数情况下,您可以按原样传递文本,无需任何特殊格式即可获得出色的结果。
文本格式设置
一般规则
传递自然、标点清晰的文本。使用正常大小写和标点符号的完整句子可产生最佳的节奏和语调。
做:
使用带有末端标点符号的完整句子(.?!)。
使用普通大小写。
以传统的书面形式保留数字、日期和常用格式。
让每一代人至少讲一个完整的句子或短语。很短的片段听起来往往不太自然。
不要:
删除标点符号或强制全部大写。
包括降价、原始 JSON、表情符号或特殊字符。
在没有完整上下文的情况下自行发送数字、字母数字或拼写标签。
用 markdown 粗体或斜体换行文本 — 引擎将尝试说出星号。
使用圆括号、方括号、大括号、尖括号和引号。
自动标准化
该引擎以自然语音的形式读取常见的书面格式。大多数时候,你不需要重新格式化它们:
| Type | 传递这个 | 引擎读取为 |
|---|---|---|
| 大数字 | 1,234,567 | “一百万二百三十四万...” |
| 电话号码 | (415) 555-1212 | 自然的电话号码节奏 |
| 电子邮件地址 | user@example.com | “用户在示例中 dot com” |
| 日期 | 04/20/2025 | Locale-appropriate 日期阅读 |
| Times | 晚上 7:00 | “晚上七点” |
| 首字母缩略词 | 美国国家航空航天局 | 说话如预期 |
| 百分比 | 12% | “百分之十二” |
提示
电子邮件地址的书面形式读起来不错。如果你想要精确的控制,你也可以指示你的代理直接输出口头表单(例如,“example dot com 的用户”)。
语音控制标签
语音引擎会自动从笔录内容中推断出适当的节奏和情感。仅在默认值不满足的特定用例中使用控制标签。所有标签都直接放置在脚本中。
Speed
控制说话速率。范围:0.6(慢速)到 1.5(快速)。默认值:1.0。
<speed ratio="0.85"/>This call may be recorded for quality purposes.
| 值 | 使用场景 |
|---|---|
| 0.8 | 阅读重要信息或法律语言 |
| 1.0 | 默认 — 自然对话速度 |
| 1.2 | Faster-paced 对话 |
要在减速后重置速度,请执行以下操作:
<speed ratio="0.85"/>Important notice.<speed ratio="1.0"/>Now, how can I help?
卷
控制响度。范围:0.5(静音)到 2.0(响亮)。默认值:1.0。
<volume ratio="0.5"/>I'll speak softly for this part.
休息时间
插入暂停。以秒或毫秒 (ms) 为单位指定持续时间。
Your balance is $1,234.<break time="500ms"/>Your next payment is due June 15th.
将休息时间用于:
在信息片段之间切换。
在法律或合规性语言之前。
在 IVR 中的菜单选项之间。
注意
自然标点符号应该是暂停的第一个工具。逗号或句号通常会产生正确的暂停。Break 标签最好保留给特定持续时间的显式沉默。
拼写
强制逐字符读取代码、身份证、电话号码或任何应逐字朗读的字符串。
Your confirmation code is <spell>TKT4829XB</spell>.
对于较长的序列,在拼写标签包装器内添加一个空格以插入暂停:
Your phone number is <spell>(415)</spell><break time="200ms"/><spell>5551212</spell>.
替代格式(不带标签):
Space-delimited: A B C 1 2 3
按逗号分组:A B C,1 2 3。
减速并发音:A、B、C、1、2、3
注意
该模型将所有大写字母的文本视为将其包装在<spell>标签中——它将逐个字母读出。例如,“ACME BANK” 将被说成 “” A-C-M-E B-A-N-K。要让模型把它说成一个字,请使用标准大小写:“Acme Bank”。
Emotion
该模型自然会从内容中推断出情感基调——在大多数情况下不需要标签。情感标签是一项测试版功能,当情感与文字记录相匹配时,其作用最为可靠。
<emotion value="sympathetic"/>I understand this is frustrating. Let me investigate that for you.
主要情绪:neutralangry、excited、content、sad、和scared。
笑声
插入[laughter]即可产生自然的笑声。
Oh, I've actually heard that one before! [laughter] Alright, let's get this sorted out.
标签参考
| Tag | 作用 | 示例 |
|---|---|---|
<speed ratio="X"/> |
说话率 (0.6—1.5) | <speed ratio="0.85"/> |
<volume ratio="X"/> |
响度 (0.5—2.0) | <volume ratio="1.5"/> |
<break time="Xs"/> |
暂停(秒或毫秒) | <break time="500ms"/> |
<spell>...</spell> |
Character-by-character 读出 | <spell>AB12CD</spell> |
<emotion value="X"/> |
情感语气 | <emotion value="content"/> |
[laughter] |
自然的笑声 | [laughter] |
标签格式不正确
Well-formed 引擎
<...>会正确处理匹配中包含的标签。格式错误或未关闭的标签不会被静默删除,引擎会大声说出格式错误的文本。
不支持的 SSML 包装器(如)不是必需
<speak>...</speak>的,也不应包含在内。
提示
如果引擎遇到无法解析的标签,它将尝试说出包括标签片段在内的原始文本。务必验证您的标签格式是否正确。
多语言语音配置
Amazon Connect 代理语音包括多语言语音,可以说多种语言,并在对话中无缝切换。呼叫者可以用英语开始,切换到西班牙语,然后代理人紧随其后,无需更改流程或中断。在 “设置语音” 区块中,这些声音被标记为通晓多种语言的声音。本指南使用多语言声音一词来描述它们。本节介绍如何配置多语言语音以及需要注意的事项。
多语言的声音
多语言语音可在单个对话中在支持的语言之间进行本地切换。当您的联络中心需要处理说不同语言的来电者或在通话中切换语言时,请使用多语言语音。
| 语音 | 性别 | 支持的语言 |
|---|---|---|
| 凯蒂 | 女性化 | 英语、德语、西班牙语、法语、印地语、意大利语、日语、挪威语、葡萄牙语、俄语 |
| 布莱克 | 阳刚 | 英语、德语、西班牙语、法语、印地语、意大利语、日语、挪威语、葡萄牙语、俄语 |
| 布鲁克 | 女性化 | 英语、德语、西班牙语、法语、印地语、意大利语、日语、挪威语、葡萄牙语、俄语 |
| 罗纳德 | 阳刚 | 英语、德语、西班牙语、法语、印地语、意大利语、日语、挪威语、葡萄牙语、俄语 |
| Gemma | 女性化 | 英语、德语、西班牙语、法语、印地语、意大利语、日语、挪威语、葡萄牙语、俄语 |
配置
第 1 步:在多语言语音的本地环境中构建您的 Amazon Lex 机器人
如果您使用多语言语音,则只需要一个 Amazon Lex 机器人区域即可。在与多语言语音(例如 en-US 或 en-GB)相匹配的语言环境中构建您的机器人。在 Amazon Lex 中,您无需将多语言语音支持的每种语言都添加为单独的语言区域。
做:
以 en-US(如果使用英国英语多语言语音,则使用 en-GB)构建您的机器人。
使用单一区域。AI 代理和多语言语音可以处理多语言对话,无需额外的 Amazon Lex 语言环境。
不要:
为多语言语音支持的每种语言添加单独的 Amazon Lex 机器人区域设置。这是不必要的,AI 代理通过提示符处理语言切换。
如果您需要支持一种不在多语言语音支持的语言列表中的语言(例如泰语或他加禄语),请为该区域创建一个单独的机器人并使用特定于语言环境的语音。请参阅在非英语区域使用非多语言代理语音。
第 2 步:将 Lex bot 语言环境与 Set Voice 模块相匹配
在 “设置语音” 区块中设置的语言属性必须与您的 Lex 机器人的语言环境相匹配。如果它们不匹配,则 “获取客户输入” 模块将返回错误。更新 “设置语音” 区块语言以匹配您的机器人区域。
对于基于英语语言环境的多语言语音:
在 “设置语音” 区块中,选择多语言语音(例如 Brooke)并将语言设置为英语(美国)。
你的 Lex 机器人必须将 en-US 作为内置区域。
First-turn 问候
在第一回合中,AI 代理没有收到任何呼叫者输入。如果没有输入,代理将无法检测到呼叫者的语言。语音会说出 “获取客户输入” 区块中配置的问候语文本。如果你想让机器人用特定的语言向来电者打招呼,请确保该区块中的问候消息是用该语言写的。
例如,如果您的主要来电者群讲西班牙语,请使用西班牙语配置 “获取客户输入” 问候语:
Hola, gracias por llamar. ¿Cómo puedo ayudarle hoy?
在第一回合之后,AI 代理接管并在接下来的对话中检测并遵循呼叫者的语言。
步骤 3:向 AI 代理系统提示符添加语言处理指令
在 AI 代理的系统提示符中添加语言处理部分。本节推动了多语言行为。AI 代理从笔录中检测来电者的语言,并以该语言进行回应。
模板(根据您的用例自定义):
You are connected to a multilingual voice that supports the following languages: English, German, Spanish, French, Hindi, Italian, Japanese, Norwegian, Portuguese, and Russian. Language handling rules: Detect the language of the caller's input from the transcription. If the caller speaks in one of the supported languages listed above, respond in that same language. If the caller speaks a language not in the supported list, respond in English and politely let them know you can assist in the supported languages. Always respond in one language at a time. Do not mix languages in a single response unless the caller mixes first. If the caller switches languages mid-conversation, follow their lead immediately. When responding in any non-English language, always use proper accent marks, diacritics, and locale-appropriate formatting (for example, é, ñ, ü, ç). This ensures the voice engine produces natural pronunciation. Keep English brand names, product names, codes, and identifiers in English. Do not translate them.
提示
仅在提示符中列出您的多语言语音实际支持的语言。列出不支持的语言会使代理声称它可以提供帮助,但是 TTS 产生的输出不自然。
在非英语区域使用非多语言代理语音
如果您使用的代理语音不是多语言语音(例如泰语、韩语或葡萄牙语语音),则必须明确设置语言属性,以便系统路由到正确的 ASR 引擎。
选项 A:设置语音屏蔽
选择您的非英语语音(例如,第 H 个区域的泰语语音)。
将语言设置为匹配的语言环境(例如,第 th-th)。
使用匹配的语言环境(第 th-th)构建您的 Lex 机器人。
选项 B:设置联系人属性块
如果 “设置语音” 块未显示配置的语言设置,则可以在 “获取客户输入” 块之前使用 “设置联系人属性” 块设置语言:
类型 — 系统
属性 -语言
值 — 区域代码(例如,他加禄语为 Tl-pH,泰语为 th-th)
仅限于特定语言
如果您的联络中心仅支持部分语言,请简化提示:
You support English and Spanish on this line only. Detect the language of the caller's input. If the caller speaks English or Spanish, respond in that language. If the caller speaks any other language, respond in English: I apologize, but I can only assist in English or Spanish. How can I help you today? If the caller switches between English and Spanish, follow their lead. Use proper accent marks when responding in Spanish (á, é, í, ó, ú, ñ, ü). Keep brand names and codes in English.
Amazon Connect AI 代理的系统提示
当 Amazon Connect AI 代理生成可朗读的文本时,将这些语音格式说明添加到代理的系统提示符中。将下面的区块直接复制并粘贴到您的提示配置中。
注意
这些提示是帮助您入门的模板。根据您的特定用例、语气和业务要求对其进行修改。
提示
有关优化 AI 代理提示音以提高语音性能和延迟的指南,请参阅AI 代理的即时工程最佳实践。
语音输出格式化提示
Speech Output Formatting Everything you output will be spoken aloud by text-to-speech. Follow these rules: GENERAL FORMATTING Use full sentences with normal capitalization. Always end with . ? or ! Use conventional written forms for numbers, dates, acronyms, symbols. Do NOT use markdown, bullet points, headers, bold, raw JSON, emoji, or special characters. Write plain prose only. SPELLING OUT CODES AND IDS For codes or IDs that must be read character-by-character, except for phone numbers, wrap in <spell> tags: Example: Your confirmation code is <spell>TKT4829XB</spell>. Was that the account ending in <spell>1234</spell>? THINGS TO AVOID Do not output bullet points, numbered lists, or structured formatting. Do not use asterisks, hashtags, or markdown syntax. Do not include internal thoughts, reasoning, or meta-commentary. Do not use parentheses, brackets, curly braces, or quotation marks. NATURALNESS Respond as if speaking directly to the caller. Keep responses concise. Avoid long monologues. Use natural transitions like: Let me check that for you. Or: Here is what I found.
多语言插件
如果您的机器人使用多语言语音,请在系统提示中添加以下内容以启用多语言响应:
Language Handling You are connected to a multilingual voice that supports: English, German, Spanish, French, Hindi, Italian, Japanese, Norwegian, Portuguese, and Russian. Detect the language of the caller input from the transcription. If the caller speaks in one of the supported locales, respond in that language. If the caller speaks a language not in the supported list, respond in English and politely let them know you can assist in English. Always respond in one language at a time. Do not mix multiple languages in a single response. If the caller switches languages mid-conversation, follow their lead and switch your responses to match. When responding in a non-English language, always use proper accent marks, diacritics, and locale-appropriate formatting. This ensures the voice engine produces natural, native-sounding pronunciation.
联络中心示例
IVR 问候
Hi, thanks for calling. How can I help you today?
无需标签 — 引擎可以自然处理对话问候语。
法律免责声明(已放缓)
<speed ratio="0.85"/>This call may be recorded for quality assurance purposes. By continuing, you consent to recording.
配对时在流量级别禁用强行插入。
读回账号
使用拼写标签:
Your account number is <spell>1234</spell> <spell>5678</spell> <spell>9012</spell>.
没有拼写标签:
Your account number is 1 2 3 4, 5 6 7 8, 9 0 1 2.
使用参考代码进行确认
I've created your ticket. Your reference number is <spell>TKT4829XB</spell>. Is there anything else I can help with?
菜单选项
Press 1 for billing.<break time="500ms"/>Press 2 for technical support.<break time="500ms"/>Press 3 to speak with an agent.
拼写客户的名字
Let me confirm — your last name is Smith, spelled <spell>SMITH</spell>. Is that correct?
常见的文字转语音错误
| 错误 | 为什么不好 | Fix |
|---|---|---|
| 删除标点符号 | 破坏节奏和语调 | 保持自然的标点符号。 |
| 全部大写文本 | 更改引擎的读取方式 | 使用普通大小写。 |
| 包括降价 | 引擎会说出格式化字符 | 在发送之前脱光衣服,或指示代理避开。 |
| 直播不完整的标签 | 标签以文本形式大声朗读 | 在发送之前缓冲完整的标签值。 |
| 情感 + 内容不匹配 | 产生不自然的输出 | 使情感与内容保持一致,或省略。 |
| Over-engineering 提示音 | 会降低自然度 | 从简单开始 — 仅在需要时添加标签。 |
| Non-multilingual 多语言配音 | 语音保留了主要的区域口音 | 使用多语言语音进行母语发音。 |
| 用 markdown 粗体或斜体换行文本 | 引擎大声说出星号 | 移除所有降价格式。 |
| 发送格式错误或未关闭的标签 | 引擎会说出原始标签文本 | 使用匹配的括号验证标签的格式是否正确。 |