RASA 和 Spacy 之间的区别或关系

问题描述 投票:0回答:1

我真的是聊天机器人的新手,开始使用框架学习这些东西。我开始使用这个开源框架 RASA 并了解它。然后发现这个实体抽取工具Spacy,是RASA用的。

谁能解释一下这些之间的实际关系是什么? Spacy 在 RASA 中的作用是什么?

python nlp spacy rasa-nlu rasa-core
1个回答
24
投票

Rasa 堆栈有两个主要组件:NLUCore。在 Rasa NLU 内部,有用于提取意图和实体的管道。其中一个管道组件使用 spaCy。例如在这个 Rasa 管道中:

pipeline:
- name: "nlp_spacy"
- name: "tokenizer_spacy"
- name: "intent_entity_featurizer_regex"
- name: "intent_featurizer_spacy"
- name: "ner_crf"
- name: "ner_synonyms"
- name: "intent_classifier_sklearn"

spaCy 用于话语的预处理、标记化和特征化。它还利用其他 python 库,如 nltksklearn

但是 Rasa NLU 有几种不同的管道选项。所以在下面的管道中:

pipeline:
- name: "tokenizer_whitespace"
- name: "ner_crf"
- name: "intent_featurizer_count_vectors"
- name: "intent_classifier_tensorflow_embedding"

spaCy根本没用,但是sklearn和tensorflow用了

Rasa NLU 试图抽象出使用 spaCy 和其他库的一些困难,使其更容易、更专注于构建聊天机器人。然后还有其他应用程序试图采用 Rasa NLU,并通过提供更抽象的 GUI 使其更易于使用。这是开源中相当常见的一种模式,其中一种工具构建于另一种工具之上。 Rasa 的一些 GUI 应用程序是:

© www.soinside.com 2019 - 2024. All rights reserved.