我们可以在Rasa Core Stories中使用通配符作为插槽值吗?

时间:2019-01-20 18:34:14

标签: nlp chatbot rasa-nlu rasa-core

我试图对Rasa Core处理故事的方式有一个合理的了解。 我基本上有3个实体-occasionrelationshipgender

基于每一个的不同值,我想说出某些模板。但是,有时候occasionChristmas,无论relationshipgender插槽中有多少,我仍然想使用某个模板。

但是,我似乎要解决这个问题的唯一方法是,将relationshipgender的所有置换值输入为occasion的给定值Christmas。 / p>

我可以宁愿使用这样的东西吗?

* suggest {"occasion": "Christmas", "relationship": *, "gender" : *}

我已经在Rasa中尝试了以下故事情节:

* suggest {"occasion": "Christmas"}

但是,当我输入“您建议我去哪里带哥哥去圣诞节”的查询时,Rasa NLU会将插槽occasion标识为Christmas,将插槽relationship标识为{{ 1}},而且我的故事情节从未被调用,因为现在brother设置为relationship。 我不会说用brother来替换relationshipoccasion的所有可能组合是很直观的,而是我将通过操作以编程方式实现这一点。但是,我只是认为我可以利用Rasa的故事并更好地理解这个概念。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

Rasa Core当前不支持“通配符”插槽。 但是,我不确定是否真的需要这样做。

情况1: 您要根据填充的插槽来指定不同的模板。在这种情况下,您必须为训练数据提供不同的故事(具有不同的组合)。

情况2:您不在乎是否已填充某个插槽,而是希望漫游器说出相同的模板。在这种情况下,我建议按照here的说明将被忽略的插槽的插槽类型设置为$this->input->post('Name');unfeaturized表示是否设置了这些广告位不会影响故事。