# Components

## Note
For clarity, we have renamed the pre-defined pipelines to reflect what they _do_ rather than which libraries they use as of Rasa NLU 0.15. The `tensorflow_embedding` pipeline is now called `supervised_embeddings`, and `spacy_sklearn` is now known as `pretrained_embeddings_spacy`. Please update your code if you are using these.

This is a reference of the configuration options for every built-in component in Rasa NLU. If you want to build a custom component, check out [Custom NLU Components](https://legacy-docs-v1.rasa.com/1.7.1/api/custom-nlu-components/#custom-nlu-components).

### Word Vector Sources
- [MitieNLP](https://legacy-docs-v1.rasa.com/1.7.1/nlu/components/#mitienlp)
- [SpacyNLP](https://legacy-docs-v1.rasa.com/1.7.1/nlu/components/#spacynlp)

### Text Featurizers
- [MitieFeaturizer](https://legacy-docs-v1.rasa.com/1.7.1/nlu/components/#mitiefeaturizer)
- [SpacyFeaturizer](https://legacy-docs-v1.rasa.com/1.7.1/nlu/components/#spacyfeaturizer)
- [ConveRTFeaturizer](https://legacy-docs-v1.rasa.com/1.7.1/nlu/components/#convertfeaturizer)
- [RegexFeaturizer](https://legacy-docs-v1.rasa.com/1.7.1/nlu/components/#regexfeaturizer)
- [CountVectorsFeaturizer](https://legacy-docs-v1.rasa.com/1.7.1/nlu/components/#countvectorsfeaturizer)

### Intent Classifiers
- [MitieIntentClassifier](https://legacy-docs-v1.rasa.com/1.7.1/nlu/components/#mitieintentclassifier)
- [SklearnIntentClassifier](https://legacy-docs-v1.rasa.com/1.7.1/nlu/components/#id21)
- [EmbeddingIntentClassifier](https://legacy-docs-v1.rasa.com/1.7.1/nlu/components/#embeddingintentclassifier)
- [KeywordIntentClassifier](https://legacy-docs-v1.rasa.com/1.7.1/nlu/components/#keywordintentclassifier)

### Selectors
- [Response Selector](https://legacy-docs-v1.rasa.com/1.7.1/nlu/components/#response-selector)

### Tokenizers
- [WhitespaceTokenizer](https://legacy-docs-v1.rasa.com/1.7.1/nlu/components/#whitespacetokenizer)
- [JiebaTokenizer](https://legacy-docs-v1.rasa.com/1.7.1/nlu/components/#jiebatokenizer)
- [MitieTokenizer](https://legacy-docs-v1.rasa.com/1.7.1/nlu/components/#mitietokenizer)
- [SpacyTokenizer](https://legacy-docs-v1.rasa.com/1.7.1/nlu/components/#spacynlp)
- [ConveRTTokenizer](https://legacy-docs-v1.rasa.com/1.7.1/nlu/components/#converttokenizer)

### Entity Extractors
- [MitieEntityExtractor](https://legacy-docs-v1.rasa.com/1.7.1/nlu/components/#mitieentityextractor)
- [SpacyEntityExtractor](https://legacy-docs-v1.rasa.com/1.7.1/nlu/components/#spacyentityextractor)
- [EntitySynonymMapper](https://legacy-docs-v1.rasa.com/1.7.1/nlu/components/#entitysynonymmapper)
- [CRFEntityExtractor](https://legacy-docs-v1.rasa.com/1.7.1/nlu/components/#crfentityextractor)
- [DucklingHTTPExtractor](https://legacy-docs-v1.rasa.com/1.7.1/nlu/components/#ducklinghttpextractor)

### Configuration Examples
#### `MitieNLP`
```yaml
pipeline:
  - name: "MitieNLP"
    model: "data/total_word_feature_extractor.dat"
```

#### `SpacyNLP`
```yaml
pipeline:
  - name: "SpacyNLP"
    model: "en_core_web_md"
    case_sensitive: false
```

#### `MitieFeaturizer`
```yaml
pipeline:
  - name: "MitieFeaturizer"
```

#### `SpacyFeaturizer`
```yaml
pipeline:
  - name: "SpacyFeaturizer"
```

#### `CountVectorsFeaturizer`
```yaml
pipeline:
  - name: "CountVectorsFeaturizer"
    use_shared_vocab: False
    analyzer: 'word'
    stop_words: None
    min_df: 1
    max_df: 1.0
    ngram_range: [1, 1]
    lowercase: true
    OOV_token: None
```

### Entity Extractor Output Example
```json
{
    "entities": [{
        "value": "New York City",
        "start": 20,
        "end": 33,
        "entity": "city",
        "extractor": "MitieEntityExtractor"
    }]
}
```
