我正在尝试构建一个聊天机器人,它需要在知识库中添加大量的实体值(至少我认为是这样)。
假设用户只说出餐厅的名称,我们需要提供其详细信息,如位置、评级、菜单等。那么,如何才能让wit.ai在不实际保存所有可用值的情况下理解名称。
发布于 2016-07-21 23:08:17
问得好。这真的取决于值的数量。
对于变化不大的值(例如餐馆),可以使用HTTP API以编程方式将值添加到应用程序中:https://wit.ai/docs/http/20160526#post--entities-link。您可能希望将实体转换为自由文本和关键字。这就是验证表达式并在这些表达式中标记restaurant实体非常重要的地方。验证的查询示例越多,Wit猜测新值的能力就越强。一个非常简单的例子来帮助理解:如果你验证了“我想在BLABLA预订一张2人桌”,“我需要在BLIBLI预订一张桌”……通过使用BLABLA和BLIBLI作为餐厅实体,Wit将能够在足够多的示例之后猜测"Toto“可能是以下表达式"need to book a table at Toto”中的餐厅实体值,即使您从未将"Toto“验证为餐厅值。
对于随时间变化很大的值(电影),您可能希望使用自由文本实体。同样,这也是验证表达式并在这些表达式中标记餐厅实体非常重要的地方。验证的查询示例越多,Wit猜测新值的能力就越强。在您这边,您将获得一个可能是电影的值,但您必须在您的代码中检查这是否真的是一部电影。
有关实体的更多信息,请单击此处:https://wit.ai/docs/recipes#which-entity-should-i-use
https://stackoverflow.com/questions/38504228
复制相似问题