利用 AI 技术进行设备端翻译

探索实验性的 Translate API,以便为全球客户服务提供支持。

Maud Nalpas
Maud Nalpas
Kenji Baheux
Kenji Baheux
Alexandra Klepper
Alexandra Klepper

将业务拓展到国际市场的成本很高。市场越多,支持的语言越多,语言越多,互动功能和流程(例如售后支持聊天)也可能会带来挑战。如果贵公司只有说英语的支持人员,那么非母语人士可能很难准确说明自己遇到了什么问题。

我们如何利用 AI 改善多种语言使用者的体验,同时尽可能降低风险并确认是否有必要投资使用其他语言的支持人员?

某些用户尝试使用浏览器的内置网页翻译功能或第三方工具克服语言障碍。但用户体验却不如我们的售后支持服务聊天等互动功能。

对于具有集成式翻译功能的聊天工具,必须尽量减少延迟。通过在设备上处理语言,您可以在用户提交消息之前实时翻译。

也就是说,在消除语言差距和自动化工具时,透明度至关重要。请记住,在对话开始前,要明确您实施的 AI 工具支持这种翻译。这样可以让用户建立合理的预期,并有助于避免在翻译不完美时尴尬。点击此链接可查看政策详情。

我们正在开发包含内置于 Chrome 的模型的实验性 Translate API

演示聊天

我们构建了一个客户支持聊天,允许用户使用其母语输入内容,并收到支持人员的实时翻译。

使用 Translate API

Chrome 通过 window.model 对象公开 Translate API。此对象有两个重要的方法:

  • canTranslate():检查语言对的翻译模型是否已准备就绪。如果模型已在设备上可用,则返回 "readily";如果浏览器需要先下载模型,则返回 "after-download";如果无法翻译,则返回 "no"
  • createTranslator():此命令以异步方式设置 Translator 对象。如果模型需要下载,系统会等到模型下载完毕后再下载。

Translator 对象只有一个方法:

  • translate():向其提供源文本,然后输出翻译版本。

由于此功能目前尚处于实验阶段且特定于 Chrome,因此请务必将您的所有代码封装在功能检测中。

const supportsOnDevice = 'model' in window && 'createTranslator' in model;
if (!supportsOnDevice) {
  return;
}

const parameters = { sourceLanguage: 'en', targetLanguage: 'pt' };
const modelState = await model.canTranslate(parameters);
if (modelState === 'no') {
  return;
}
const onDeviceTranslator = await model.createTranslator(parameters);

const result = await onDeviceTranslator.translate(input);
if (!result) {
  throw new Error('Failed to translate');
}
return result;

模型需要一段时间才能提供给用户使用。您可以通过两种方式来实现此目的:

  • 等待模型准备就绪后启用翻译功能界面元素。
  • 先使用云端模型进行翻译,然后在模型下载完毕后切换到设备端翻译。

后续步骤

我们期待收到您的宝贵意见。您可以在说明文档上发起问题,分享您对此方法的反馈,并告诉我们您最感兴趣的使用场景。您可以注册加入早期预览版计划,使用本地原型测试此技术。

您的贡献可以帮助我们将 AI 打造成一个强大且实用的工具,造福每个人。