Rasa Core 聊天机器人对话管理

Rasa Core

RasaCore 是一个用来处理对话流程的框架。https://core.rasa.ai/,下文将对基本流程及使用方式以及部分原理进行描述,本文来自http://lvchongstudio.top/。

Rasa Core 工作原理

智能机器人是人工智能一个重大分支,只能机器人包括几大模块:自然语言识别(ASR)、自然语言处理(NLU)、对话管理(DM)、自然语言生成(TTS),目前自己的工作涉及的方面主要是 NLU 与 DM,本文主要写一下DM,即Rasa Core,关于 NLU 在另一篇博客记录。

具体流程:

  • 从Rasa Nlu或其他自然语言理解框架,获取训练好的意图识别模型。(这个主要是用来识别用户要问什么,即细分出用户的当前一句话的意图)
  • 编写一个文件 domain.yml 用来放置所有的意图名字、 所有用来回答的意图的名字 和 每个回答意图的回答语句(这个主要是用来声明这个项目支持用户问哪类问题,声明能做出哪种回答, 以及部分不涉及逻辑,可以直接回答的问题)
  • 编写另一个文件 stories.md 见名知意,这里用来存放剧本。(以简单的格式将上一个文件的问题与回答建立关系形成各种剧本)
  • 接下来就是用上面的两个文件,训练出 Rasa Core 的模型。
  • 最后,这就到最后了,使用Rasa Nlu 的模型、 Rasa Core 的模型,这两个模型就可以开启服务。
  • 哦,这才是最后,现在就可以根据剧本做一些问答了。

看完自己写的工作原理,发现真的很简练,哈哈,根本不能上手使用。总要写的完全一些,深入一些的。

Rasa Core 项目使用方法

github 上面搜索 Rasa_Core,具体安装方式参见项目介绍。建议将整个项目源码拉下来,在项目的根目录运行

python setup.py install

进行安装。Rasa Nlu 同理。可以先根据项目里自带的example进行训练运行。具体运行方式见项目及Demo中的Makefile。

Rasa Core 深入了解

  • NLU 问题中提取出的参数可以在回答中以类似如下例句形式出现。(“我没听过{news},最近没有了解过新闻。”)
  • 涉及到逻辑的回答可以在代码中很简单的实现,实现方式见官方文档。
  • 以上两种为回答的形式,并支持回复多媒体(即音视频、图片、gif等),支持同时回复多条。

有什么错误欢迎指出,其他的具体问题也可以在评论中留言。

你可能感兴趣的:(人工智能)