Rasa2框架概览
掌握一样新技术,从框架开始。
本篇也主要是通过框架,对rasa各个模块功能有个整体的把握。
Rasa框架图
Rasa opensource就是我们下载rasa源码时候的主体部分,rasa通过这个主体可以外接知识图谱、Rasa SDK、Rasa X 可视化界面、服务器、API交互等各种集成,功能非常强大。
如果已经对Rasa1.x版本有所了解或者看了网上那么多的1.x版本的rasa教程,那么可能有些概念还要着重区分一下的。因为Rasa2中有了很大的调整。比如原来的rasa_nlu和rasa_core的概念已经替换不用了(虽然源代码中还有nlu和core文件夹)。NLU就是NLU,core就是对话管理,别人提到这个概念的时候,我们明白就好。
核心模块讲解:
这里根据框架简单讲下处理流程和作用,每个模块具体的实现细节,我们后面拆开讲解。依旧是从整体把握到细节攻克的思路。
Rasa通过一个Agent智能体对接到其他的各个模块。
对内和Dialogue Polices(对话策略,决策和选择最优actions)、NLU pipline(自然语言理解的工作管道,主要是实体和意图相关的工作)对接。
对接外部模块有:
Rasa SDK(用户自定义actions)、
Tracker Store(对话存储追踪器,可以连接到不同的数据库的)、
Lock Store(会话锁定器,一旦会话被处理,就会触发票据锁机制ticket lock mechanism来锁定会话,这样可以使得rasa服务器并行运行多节点服务)、
Event Broker(事件代理,可以处理实时对话的数据到其他服务,比如在对话中,你可以使用Rasa X将实时对话数据观看和标注,也可以转发到外部的分析服务)、
Filesystem(文件系统,包括模型和数据,可以存储在本地、http服务器、云服务器)、
I/O channels(进出通道,就是用户和rasa交互的通道,可以是你自己的网站、Facebook Messenger、Telegram、用户自定义连接器等)、
NLG(自然语言生成,Rasa允许外接对话生成功能,以提供更好回复给用户)
本文转载自:Rasa2.x 从框架入手,了解各个模块