0
点赞
收藏
分享

微信扫一扫

1.认识rasa

认识rasa

  • Rasa是一套开源机器学习框架,用于构建基于对话上下文的AI小助手和聊天机器人。
  • Rasa有两个主要模块:
    • Rasa NLU 用于对用户消息内容的语义理解;
    • Rasa Core 用于对话管理。
  • 配置文件
    • Rasa主要的的配置文件有NLU配置、Stories、Domain等
    • NLU配置作为实现自然语言的识别,Stories作为会话的剧本、Domain作为处理Action的模本
  • NLU训练数据
    • NLU 是英文 Natural Language Understanding 的简称,也就是自然语言理解,这个模块用于对用户消息内容进行语义理解并转换成意图。在 Rasa 这里,需要提供一份训练数据,Rasa NLU 会基于这份数据进行模型训练,然后通过模型对用户消息进行语义理解,主要是意图识别和槽值提取

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ucm6DNkS-1641608562355)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20201208215824215.png)]

  • NLU Config

    • 指定训练文字的Pipeline过程,比如指定语言类型、分词模块、词向量Embedding等

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RlnxXEDV-1641608562357)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20201208220623405.png)]

  • Stories

    • Stories可以理解为对话的场景流程,为什么机器人会基于对话上下文呢? 其实就是这里我们定义的不同场景(剧本),一个 story 是一个用户与机器人之间真实的对话,这里面包含了可以反映用户输入(信息)的意图和实体以及小助手在回复中应该采取的 action(行动)

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W80nh28I-1641608562358)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20201208220730347.png)]

  • Domain

    • Domain 可以理解为机器的知识库,其中定义了intents(意图),actions(动作),以及对应动作所反馈的templates(内容模板),用户说的话转化为意图intents,根据意图提供相对应的响应内容Action:

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xnydTsS1-1641608562359)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-20201208220850250.png)]

训练模型

  • 训练nlu意图:

    • python -m rasa_nlu.train -c config/nlu_config.yml --data config/nlu_data.md -o models
  • 训练Stories及Action:

    • python -m rasa_core.train -d config/domain.yml -s config/stories.md -o models/dialogu
  • 启动nlu:

    • python -m rasa_nlu.server --path models/
  • 启动core:

    • python -m rasa_core.run --enable_api --port 5005 -d models/dialogue

run --enable_api --port 5005 -d models/dialogue

举报

相关推荐

0 条评论