多意图处理方法 - 电子邮件解析

Multiple intents handling approach - email parsing

我的机器人在简单的邮件对话中阅读和回复。更像是聊天方式,一两句话只通过电子邮件完成。我的后端负责阅读电子邮件、解释 api.ai 回复、在本地存储有用的数据并发送下一个问题。在发送到 api.ai 之前,消息被分成句子。

我从人类已经完成的示例对话中看到的是,最终用户经常在一句话中发送多个重要信息。这意味着从例如我完全可以拥有 8 种可能的信息和平(大部分不是必需的)我可以在一句话中得到其中任何 2 种信息。

如何组织?

我开始时对我需要的每个字段都有一个意图。但是为了在一个句子中解决任何两个意图的情况,我也在扩展用户说其他领域的例子。最后我将有 8 个意图,实际上充满了类似的例子。
现在我想只有一个意图并涵盖所有内容。这可能行得通,但真正的问题是真正的方法吗?

以下是更好地描述问题的示例对话

v1 - 类似于 api.ai 示例中的简单方法
- 你:嗨。我需要 700 美元以下的笔记本。
-b:太好了。它应该是什么尺寸?
- 你:17'
- b: 我有一台 590 美元的游戏机和一台 650 美元的专业机。
- u:我更喜欢玩游戏。

v2 - 我可以从现实生活中的例子中得到什么
- u: 你好,我想买 15 英寸的游戏本。
- 很好,价格范围是多少?
- ...

Api.ai 有一个称为插槽填充的功能,允许在单个意图中收集参数值。它非常适合构建对话界面。您可以查看它是否与您的用例兼容。

对于您提供的示例,这种意图可能是这样的:

查看 "book_notebook" 意图:

以及它在对话中的作用:

查看 "book_notebook" 意图的测试: