我试图对Rasa Core处理故事的方式有一个合理的了解。
我基本上有3个实体-occasion
,relationship
和gender
基于每一个的不同值,我想说出某些模板。但是,有时候occasion
是Christmas
,无论relationship
或gender
插槽中有多少,我仍然想使用某个模板。
但是,我似乎要解决这个问题的唯一方法是,将relationship
和gender
的所有置换值输入为occasion
的给定值Christmas
。 / p>
我可以宁愿使用这样的东西吗?
* suggest {"occasion": "Christmas", "relationship": *, "gender" : *}
我已经在Rasa中尝试了以下故事情节:
* suggest {"occasion": "Christmas"}
但是,当我输入“您建议我去哪里带哥哥去圣诞节”的查询时,Rasa NLU会将插槽occasion
标识为Christmas
,将插槽relationship
标识为{{ 1}},而且我的故事情节从未被调用,因为现在brother
设置为relationship
。
我不会说用brother
来替换relationship
和occasion
的所有可能组合是很直观的,而是我将通过操作以编程方式实现这一点。但是,我只是认为我可以利用Rasa的故事并更好地理解这个概念。
任何帮助将不胜感激。
答案 0 :(得分:0)
Rasa Core当前不支持“通配符”插槽。 但是,我不确定是否真的需要这样做。
情况1: 您要根据填充的插槽来指定不同的模板。在这种情况下,您必须为训练数据提供不同的故事(具有不同的组合)。
情况2:您不在乎是否已填充某个插槽,而是希望漫游器说出相同的模板。在这种情况下,我建议按照here的说明将被忽略的插槽的插槽类型设置为$this->input->post('Name');
。 unfeaturized
表示是否设置了这些广告位不会影响故事。