如何使用Dialogflow创建从任何消息中提取实体的意图?

时间:2019-07-05 16:46:45

标签: dialogflow

我正在创建一个企业级聊天机器人,其用户体验确实很重要。我们的用户可以在对话的任何部分提及有用的信息。因此,我正在寻找一种将每条消息与某个意图匹配的方法,该意图可以从任何消息中提取各种实体,就像当您为某个意图输入训练短语时,它会标记其中的所有已知实体。这样,当用户在对话中提及某些内容时,聊天机器人可以将其保存到用户的个人资料中,以收集尽可能多的信息,并避免稍后再问有关该问题的问题,从而使它看起来很笨。但是我想不出一种创建这种意图的方法。

我尝试了以下方法来构建意图:

1。训练短语1:“ @ sys.any @ entity_1 @ sys.any”

训练短语2:“ @ sys.any @ entity_2 @ sys.any”

....

它只能从包含多个实体的消息中提取一个实体,因为其他实体作为@ sys.any的一部分进行匹配。 @ sys.any被设置为贪婪匹配,这会产生很多问题。

2。 训练短语:“ @ sys.any @ entity_1 @ sys.any @ entity_2 @ sys.any @ entity_3 @ sys.any”

当您在一条消息中同时包含所有三个实体时,效果很好。但是,即使这是代理中的唯一意图,它也无法将这些消息与1或2个实体匹配。

我认为结合方法1和2可能有效,但是我需要提取30-50个实体。这将创建大量的训练短语组合。而且它们将很难维护。

我愿意就可能适用的其他任何方向提出建议。预先感谢。

0 个答案:

没有答案