Rasa实战:构建开源对话机器人
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2.1 意图字段

具有intent键表明当前的对象是用来存储训练样例的。intent对应的值是意图名。需要注意的是意图名中不能包含“/”字符,因为Rasa已经将这个字符保留了,具有特殊意义,第4章将会解释原因。训练样例对象有一个名字为examples的列表,每个列表里面都是一个训练样本。

下面是一个完整的训练样例。

训练数据中普通的字符直接用字符表示即可。实体用Markdown语法中URL的表示方法,也就是[实体值](实体类型名)。实体的值(也就是实体值)用[]包裹起来,紧随着用()包裹起来的实体的类型(也就是实体类型名)。例如,[明天](日期)[上海](城市)的天气如何?表示训练语句是“明天上海的天气如何?”,其中,明天是日期,上海是城市。

Rasa为更加复杂的标记情况增加了一种语法:[实体值]{"key":"value",...},其中{"key":"value",...}部分是一个有效的JSON格式的字典。在这种标记体系语法下,[实体值](实体类型名)的标记体系就是[实体值]{"entity":"实体类型名"}。该语法中合法的键还有rule、group和value。我们将在第7章介绍rule和group的含义和使用方法。

具体例子如下。