Gavin老师Transformer直播课感悟 - Rasa项目实战之银行金融Financial Bot智能业务对话机器人架构与流程及Rasa Interactive实验剖析(八十)

84 篇文章 16 订阅

   本文继续围绕工业级业务对话平台和框架Rasa,对Rasa项目实战之银行金融Financial Bot智能业务对话机器人架构、流程进行解析,并通过Rasa Interactive分析配置文件中各个组件的使用,结合可视化流程图演示项目对话流程主要功能。

一、Rasa项目实战之银行金融Financial Bot智能业务对话机器人架构与流程及Rasa Interactive实验剖析

  1. 使用Rasa Visualize对Financial Bot智能业务对话机器人架构进行解析

运行rasa visualize命令可以获取对话流程可视化图:

运行完成会自动弹出可视化流程页面,从图中可以看到包含了以下几大功能:

-围绕form “cc_payment_form”构建的支付功能

-围绕form “transaction_search_form”构建的交易查询功能

-围绕form ”transfer_money_form”构建的转账功能

-关于转人工服务的handoff功能及异常处理

-关于提供帮助信息的功能

这是项目整体流程图:

左边部分包括支付,交易查询,转账等功能:

右边部分主要包括转人工处理,fallback处理,以及对话超出业务范围(out of scope)的处理等:

 2.  逐行剖析Rasa Interactive启动内幕及Config文件剖析

运行命令rasa interactive进入交互式模式,你可以在交互过程中针对对话机器人在NLU部分的intent预测或者对话管理使用policies进行action的预测出现的偏差进行纠正,从而生成新的训练数据,然后你可以保存并使用这些新数据来重新训练你的对话机器人。通过使用这种方式可以在开发对话机器人时实现不断的迭代。

从运行命令后的输出信息可以看到:

使用了三种policies来基于NLU部分的输出进行对话决策,在Policy Ensemble中会对三种policies同时进行预测获得的confidences进行比较,一般来说会采用confidence更高的预测结果,另外不同的policy的优先级不同,在选择最终结果时也会考虑这一点。从优先级看,RulePolicy是最高的,用于当rule定义的条件满足时必然会执行相应的逻辑的情况;AugmentedMoizationPolicy是MoizationPolicy的一个变种,它具有“遗忘机制”,可以在忽略一些内容的前提下使用对话中的turns来和训练数据中的内容进行匹配;而TEDPolicy是基于机器学习的policy,它的优先级在三者之中最低。

CountVectorFeaturizer使用了两个,一个是基于token级别的,另一个是基于character级别的。EntitySynonymMapper是使用同义词技术把不同的表达方式转换为同一个表达方式。DIETClassifier可以同时完成意图分类任务和实体提取任务。

关于config文件:

任何graph 组件都需要使用recipe进行注册,譬如DIETClassifier:

下面是pipeline的定义,从这里看不出哪些组件是并行执行的,在Rasa启动时,会把这里定义的组件映射为graph中的节点:

在这里使用了SpacyNLP,以及使用了DucklingEntityExtractor来提取实体信息,如amount-of-money,time,number。DucklingEntityExtractor和SpacyEntityExtractor都是已经训练好的模型,可以直接输入数据来使用。关于FallbackClassifier,设定的threshold为0.7,当使用DIETClassifier预测intent的confidence低于此设定值时,就会触发fallback的处理。

下面是对话决策使用的policies的定义:

AugmentedMoizationPolicy:它是MoizationPolicy的一个变种,通过忽略部分内容来判断对话turns的内容和stories.yml里的训练数据是否匹配来预测action

TEDPolicy:基于机器学习模型TED进行预测的policy

RulePolicy:在使用RulePolicy时,定义了core_fallback_threshold:当一个policy的预测confidence低于这个threshold时,就会触发这里定义的fallback action “action_default_fallback”

 3.  使用Rasa Interactive实验Financial Bot进行账户余额查询及现象解密

输入信息:

确认执行后输出:

执行action “utter_greet”:

执行action “utter_help”,对话机器人提供下列反馈供用户选择:

输入查询账户余额信息:

执行action “action_show_balance”,返回了查询结果:

可视化流程图更新如下,可以很清晰地看到到目前为止整个对话执行过程:

 4.  使用Rasa Interactive实验Financial Bot进行transactions消费查询及现象解密

输入查询消费交易的信息,从输出结果看,对话机器人正确识别了”last month”的时间:

确认继续执行:

运行form “transaction_search_form”来收集信息:

根据requested_slot “vendor_name”输入选择的vendor信息:

确认继续执行:

运行form “transaction_search_form”:

可视化流程图更新如下:

继续根据对话机器人反馈进行选择,这里选择1:

运行form “transaction_search_form”,之后会输出信息询问用户是否需要查询时间段为上个月的关于Target的交易信息:

选择1执行:

运行form “transaction_search_form”:

当form收集完信息后,可以看到requested_slot为null,active_loop也设置为null来使当前运行的form进入不激活状态。

根据提示运行action “action_transaction_search”,返回的查询结果如下,查到了关于Target的13笔交易及总金额,然后会把查询时使用的所有slots都设置为空:

可视化流程图更新如下:

欢迎订阅Rasa系列课程:

====================================================================

Rasa 3.x 源码高手之路:系统架构、内核算法、源码实现详解:
https://appz0c1mshy7438.h5.xiaoeknow.com/v1/auth?redirect_url=https%3A%2F%2Fappz0c1mshy7438.h5.xiaoeknow.com%2Fv1%2Fgoods%2Fgoods_detail%2Fp_62353091e4b0beaee43652c9%3Fentry%3D2%26entry_type%3D2001%26share_type%3D5%26share_user_id%3Du_621b7b85b8dc5_3yDAYnFXeM%26type%3D3

Rasa 3.x 源码高手之路:基于Transformer的对话机器人RasaPolice:
https://appz0c1mshy7438.h5.xiaoeknow.com/v1/auth?redirect_url=https%3A%2F%2Fappz0c1mshy7438.h5.xiaoeknow.com%2Fv1%2Fgoods%2Fgoods_detail%2Fp_62353421e4b04d7e2fd83665%3Fentry%3D2%26entry_type%3D2001%26share_type%3D5%26share_user_id%3Du_621b7b85b8dc5_3yDAYnFXeM%26type%3D3

星空NLP对话机器人论文班:NLP领域10篇最高质量的对话机器人经典论文解密:
https://appz0c1mshy7438.h5.xiaoeknow.com/v1/goods/goods_detail/p_623874b7e4b04e8d90256da1?type=3&share_type=5&share_user_id=u_621b7b85b8dc5_3yDAYnFXeM&entry=2&entry_type=2001

Rasa 3.X 智能对话机器人案例开发硬核实战高手之路 (7大项目Expert版本):
https://appz0c1mshy7438.h5.xiaoeknow.com/v1/goods/goods_detail/p_62276dd8e4b0beaee431c848?type=3&share_type=5&share_user_id=u_621b7b85b8dc5_3yDAYnFXeM&entry=2&entry_type=2001

Advanced Python硬核实力高手实战之路:架构、算法、源码、案例(81讲):
https://appz0c1mshy7438.h5.xiaoeknow.com/v1/goods/goods_detail/p_6227e564e4b0beaee431ce2a?type=3&share_type=5&share_user_id=u_621b7b85b8dc5_3yDAYnFXeM&entry=2&entry_type=2001

NLP on Transformers 高手之路137课Pro版:
https://appz0c1mshy7438.h5.xiaoeknow.com/v1/goods/goods_detail/p_621c0289e4b04d7e2fd0365a?type=3&share_type=5&share_user_id=u_621b7b85b8dc5_3yDAYnFXeM&entry=2&entry_type=2001
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值