自然语言处理-rasa机器人的初体验(三)
我们已经体验过了rasa机器人,并且了解了NLP的基本原理,下一步,我们对机器人做出一些修改创造一个只属于我们自己的机器人。
再次打开 rasa shell 问问这个机器人,Whats your name ?
它没有回答???它竟然敢不回答我??
那么我们接下来就给它起个名字。
1 首先在nlu.yml里面加上如下关于ask_name意图的example配置,添加如下内容
- intent: ask_name
examples: |
- what is your name
- tell me your name
- what others call you
- what should I call you
备注: nlu.yml文件的作用:配置意图以及触发该意图的文本
2 然后在stories.yml下面构建story,添加如下内容
- story: happy name path
steps:
- intent: greet
- action: utter_greet
- intent: ask_name
- action: utter_name
备注: stories.yml 的作用:
stories.yml通过story这种类型作为训练数据来训练助手的对话管理模型。 此外story还可以可用于训练能够推广到看不见的对话路径的模型。
3 在nlu.yml中的每一个intent都需要在domain.yml里面的intents中声明
intents:
- ask_name
备注: domain.yml 的作用
domain.yml定义了助手在其中运行的范围。 此外指定了机器人助手应该知道的意图,实体,位置,响应,形式和动作。 并且它还定义了对话会话的配置。
4 此外相应的action:utter_name ,需要在domain.yml中responses下面中定义该action对应的response。添加的内容如下:
responses:
utter_name:
- text: "my name is Simple_peter"
5 接下来直接运行以下命令
rasa train && rasa shell
模型训练需要一段时间哦!另外,要注意格式,空行和空格(血与泪的教训)
哇哦!它知道告诉我它的名字啦。