具有LUIS的实体中的多个单词

时间:2017-06-23 09:32:37

标签: c# botframework luis

我想知道是否有任何方法可以使LUIS能够以灵活的方式识别由多个单词组成的实体。

我知道如果我选择多个单词,LUIS会识别它们,但如果我有更长的实体会怎么样?

例如,假设我们在数据库中有一些产品,其中一个产品由4个单词组成,如:Abc summer green jacket。现在我输入我的意图"将abc夏季黑夹克添加到购物车",我是否必须创建一个实体"产品"由4件夹克组成?

如果有一天我的数据库获得了由10个单词组成的产品怎么办?我应该尝试其他解决方案? 谢谢。

3 个答案:

答案 0 :(得分:0)

对于"Abc",超简单方法可能会将"summer""green""jacket"分配给单个形容词实体。然后,我们将产品"abc summer black jacket"放在另一个实体中,用于产品,然后将它们中的两个放在composite entity中。

我们的复合实体至少会有这两个子实体,比如“形容词”和“服装”,我们会将复合实体标记为“产品”。

  

“将abc夏季黑色外套添加到购物车”

如果我们将此作为我们的训练话语,我们首先将"abc"包装成复合实体,方法是单击"jacket"然后“包装复合实体”。选择“产品”并完成标签,我们将选择case when (TRUCKS<(lag(Trucks,1) over (order by [date])) and (lag(Trucks,1) over (order by [date]) < lag(Trucks,2) over (order by [date])) and (lag(Trucks,2) over (order by [date]) < lag(Trucks,3) over (order by [date])) and (lag(Trucks,3) over (order by [date]) < lag(Trucks,4) over (order by [date])) and (lag(Trucks,4) over (order by [date]) < lag(Trucks,5) over (order by [date]))) OR (TRUCKS>(lag(Trucks,1) over (order by [date])) and (lag(Trucks,1) over (order by [date]) > lag(Trucks,2) over (order by [date])) and (lag(Trucks,2) over (order by [date]) > lag(Trucks,3) over (order by [date])) and (lag(Trucks,3) over (order by [date]) > lag(Trucks,4) over (order by [date])) and (lag(Trucks,4) over (order by [date]) > lag(Trucks,5) over (order by [date]))) THEN 'Six (or more) points continually increasing or decreasing' else null end as Rule_Three 。在内部,您需要使用“形容词”实体标记三个形容词,然后在将来(尽管可能需要更多培训),您的模型应该能够识别复合实体内的多个相同类型的实体。

答案 1 :(得分:0)

我一直在寻找相同的东西。微软所做的超级简单。请按照说明here

简而言之,添加话语,单击实体的开始,然后单击实体的末尾,方括号将在多个单词周围出现。将其标记为实体。

答案 2 :(得分:0)

像标准“多选”一样使用它。在Windows上,按住Ctrl并单击或选择短语中的每个单词。