Gavin老师Transformer直播课感悟 - 基于Transformer的Rasa 3.x Internals解密之DIET源码剖析(十二)

本文详细剖析了Rasa对话框架中的核心组件DIETClassifier,该组件结合Transformer进行意图识别和实体提取。通过分析源码,解释了Transformer如何处理输入信息,以及DIETClassifier如何利用CRF进行损失计算。同时介绍了DIETClassifier、DIET、TransformerRasaModel和RasaModelData等相关类的功能和交互。
摘要由CSDN通过智能技术生成

        本文继续围绕工业级业务对话平台和框架Rasa对DAG图中的核心组件DIETClassifier的源码进行解析,另外从Transformer的角度来解析意图分类任务和实体识别任务是如何实现的。

一、DIETClassifier组件源码解析

        DIETClassifier的作用是完成意图识别和实体提取这两大任务。这个组件使用了模型DIET(Dual Intent and Entity Transformer),意图识别和实体提取共享一个Transformer,Transformer通过注意力机制对输入信息进行编码处理,之后把输出的tokens传给CRF内部的前馈神经网络(CRF不同位置之间存在Transition Matrix,从而可以表达信息之间的关系)进行处理,CRF把处理结果与ground truth(正确的entity labels)进行比较,从而计算出Entity Loss。 代表全局信息的token ”__CLS__”经过Transformer处理后的输出和intent labels被编码进同一个语义级别的向量空间(vector space)。通过计算loss来最大化与target label的相似度,而最小化负样本的相似度。

  1. 关于class “DIETClassifier”

DIETClassifier实现了GraphComponent接口,并继承自IntentClassifier和EntityExtractorMixin。

IntentClassifier目前没有具体实现,这是为了将来可以进行扩展:

EntityExtractorMixin提供了实体提取需要使用的一些公共的方法,譬如find_entity:等:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值