语音中的 Dialogflow 电子邮件地址

问题描述 投票:0回答:2

有人对通过语音获取用户的电子邮件地址有什么建议吗?书面形式非常简单,因为电子邮件地址在某种程度上遵循某种模式,但使用语音相当困难。是不是直接要求用户将字符一一读出比较好?

google-cloud-platform dialogflow-es speech-to-text
2个回答
1
投票

Dialogflow 为最常见的用户输入提供系统实体。 您可以将 sys.email 实体用于您的目的,然后在您的实现中使用它。

在您的 webhook 实现中获取上述电子邮件地址:

app.intent('getEmail', (conv, params) => {

  const userMail = params.email;
// remember to use the same variable name that you defined as
// Parameter name in your intent to access in params

 });

如果对话流没有自动检测到电子邮件地址,请确保在训练短语中手动选择电子邮件地址。请参阅以获得更多帮助。

希望有帮助!


0
投票

即使在问题提出五年后的今天,问题仍然不那么简单。大多数语音转文本服务,包括 OpenAI 的 Whisper 或 Google Cloud 的语音转文本 API,都无法轻松识别电子邮件地址并以正确的格式呈现它们。如果不进行后处理,当用户尝试执行以下操作时,您将看到类似“john at doe.com”(其中 @ 符号格式不正确且元素由空格分隔)或“J O H N at D O E .com”的结果拼写地址。 我建议使用一些人工智能作为后处理,训练一个模型来识别/分类可能发生的几种不同情况(不是很多;我展示的 2 个,然后是常见域名的一些拼写错误)并通过以下方式解决每种情况根据情况重新格式化(在我给出的两个示例中:将“at”替换为“@”并删除空格)。这效果相当好,我的认可度高达 90%。

为了达到更高的水平,我对我国 200 个最常见的域名添加了相似性检查(和更正),这将水平提高到了 95% 左右。

如果您想要识别的电子邮件地址可能包含在已知列表中(即注册客户),您可以添加自定义类别

另一个挑战是速度。如果您实时要求用户提供他们的电子邮件地址(例如用于注册、跟踪订单命令或投诉),您可能希望立即提供有关您如何识别该地址的反馈。我需要本地 STT 模型和本地分类模型来提供店内情况所需的速度。

© www.soinside.com 2019 - 2024. All rights reserved.