在没有 TensorFlow 管道的情况下使用 Rasa,你可以选择其他机器学习模型和管道组件来替代 TensorFlow。Rasa 提供了多种内置的管道组件,你可以根据需要选择和配置它们。
以下是一些步骤和示例,展示如何在没有 TensorFlow 的情况下配置和使用 Rasa:
首先,确保你已经安装了 Rasa。你可以使用 pip 来安装:
pip install rasa
config.yml
在 Rasa 项目中,config.yml
文件用于配置 NLU 和对话管理的管道。你可以选择不使用 TensorFlow 组件,而是使用其他可用的组件。
以下是一个示例 config.yml
,它使用 Spacy
和 Sklearn
组件,而不是 TensorFlow:
language: en
pipeline:
- name: SpacyNLP
model: "en_core_web_md"
- name: SpacyTokenizer
- name: SpacyFeaturizer
- name: RegexFeaturizer
- name: LexicalSyntacticFeaturizer
- name: CountVectorsFeaturizer
- name: CountVectorsFeaturizer
analyzer: "char_wb"
min_ngram: 1
max_ngram: 4
- name: DIETClassifier
epochs: 100
- name: EntitySynonymMapper
- name: ResponseSelector
epochs: 100
policies:
- name: MemoizationPolicy
- name: RulePolicy
- name: TEDPolicy
max_history: 5
epochs: 100
constrain_similarities: true
在这个配置中,我们使用了 SpacyNLP
作为自然语言处理的基础,并使用了 DIETClassifier
作为分类器。DIETClassifier
是 Rasa 提供的一个轻量级的、可替代 TensorFlow 的分类器。
配置好 config.yml
后,你可以训练你的 Rasa 模型:
rasa train
训练完成后,你可以启动 Rasa 服务器来测试你的模型:
rasa run
你可以使用 Rasa Shell 来与模型进行交互:
rasa shell
如果你想使用 Sklearn
作为分类器,可以在 config.yml
中配置 SklearnIntentClassifier
:
language: en
pipeline:
- name: SpacyNLP
model: "en_core_web_md"
- name: SpacyTokenizer
- name: SpacyFeaturizer
- name: RegexFeaturizer
- name: LexicalSyntacticFeaturizer
- name: CountVectorsFeaturizer
- name: CountVectorsFeaturizer
analyzer: "char_wb"
min_ngram: 1
max_ngram: 4
- name: SklearnIntentClassifier
- name: EntitySynonymMapper
- name: ResponseSelector
epochs: 100
policies:
- name: MemoizationPolicy
- name: RulePolicy
- name: TEDPolicy
max_history: 5
epochs: 100
constrain_similarities: true
领取专属 10元无门槛券
手把手带您无忧上云