RASA的逻辑是根据用户本轮说话的意图做分类,然后结合历史上下文,给出一个action。意图分类是后续策略选择的基础。
RASA支持的意图分类器有:
MitieIntentClassifier
使用MitieNLP的分类器,需要Tokenizer都使用MitieNLP,但是MitieIntentClassifier分类器里面已经自带Featurizer功能,所以不是必须配置的。简单来说,是基于稀疏线性核的一个多分类线性SVM。具体算法参考:https://github.com/mit-nlp/MITIEgithub.com
SklearnIntentClassifier
使用Sklearn去做意图识别。sklearn也是通过SVM做意图识别,只是sklearn的SVM是通过grid search方法优化的,关于Grid Search参考sklearn.model_selection.GridSearchCV - scikit-learn 0.23.2 documentationscikit-learn.org
SklearnIntentClassifier使用时候需要将SVM的超参数配置上。具体配置如下:
pipeline:- name:"SklearnIntentClassifier"# Specifies the list of regularization values to# cross-validate over for C-SVM.# This is used with the ``kernel`` hyperparameter in GridSearchCV.C:[1,2,5,10,20,100]# Specifies the kernel to use with C-SVM.# Thi