These docs are for version 1.x of Rasa Open Source.

## User Guide

- [Installation](https://legacy-docs-v1.rasa.com/1.10.13/user-guide/installation/)
- [Tutorial: Rasa Basics](https://legacy-docs-v1.rasa.com/1.10.13/user-guide/rasa-tutorial/)
- [Tutorial: Building Assistants](https://legacy-docs-v1.rasa.com/1.10.13/user-guide/building-assistants/)
- [Command Line Interface](https://legacy-docs-v1.rasa.com/1.10.13/user-guide/command-line-interface/)
- [Architecture](https://legacy-docs-v1.rasa.com/1.10.13/user-guide/architecture/)
- [Messaging and Voice Channels](https://legacy-docs-v1.rasa.com/1.10.13/user-guide/messaging-and-voice-channels/)
- [Testing Your Assistant](https://legacy-docs-v1.rasa.com/1.10.13/user-guide/testing-your-assistant/)
- [Setting up CI/CD](https://legacy-docs-v1.rasa.com/1.10.13/user-guide/setting-up-ci-cd/)
- [Validate Data](https://legacy-docs-v1.rasa.com/1.10.13/user-guide/validate-files/)
- [Configuring the HTTP API](https://legacy-docs-v1.rasa.com/1.10.13/user-guide/configuring-http-api/)
- [Deploying Your Rasa Assistant](https://legacy-docs-v1.rasa.com/1.10.13/user-guide/how-to-deploy/)
- [Cloud Storage](https://legacy-docs-v1.rasa.com/1.10.13/user-guide/cloud-storage/)

### NLU
- [About](https://legacy-docs-v1.rasa.com/1.10.13/nlu/about/)
- [Using NLU Only](https://legacy-docs-v1.rasa.com/1.10.13/nlu/using-nlu-only/)
- [Training Data Format](https://legacy-docs-v1.rasa.com/1.10.13/nlu/training-data-format/)
- [Language Support](https://legacy-docs-v1.rasa.com/1.10.13/nlu/language-support/)
- [Choosing a Pipeline](https://legacy-docs-v1.rasa.com/1.10.13/nlu/choosing-a-pipeline/)
- [Components](https://legacy-docs-v1.rasa.com/1.10.13/nlu/components/)
- [Entity Extraction](https://legacy-docs-v1.rasa.com/1.10.13/nlu/entity-extraction/#)

### Core
- [About](https://legacy-docs-v1.rasa.com/1.10.13/core/about/)
- [Stories](https://legacy-docs-v1.rasa.com/1.10.13/core/stories/)
- [Domains](https://legacy-docs-v1.rasa.com/1.10.13/core/domains/)
- [Responses](https://legacy-docs-v1.rasa.com/1.10.13/core/responses/)
- [Actions](https://legacy-docs-v1.rasa.com/1.10.13/core/actions/)
- [Reminders and External Events](https://legacy-docs-v1.rasa.com/1.10.13/core/reminders-and-external-events/)
- [Policies](https://legacy-docs-v1.rasa.com/1.10.13/core/policies/)
- [Slots](https://legacy-docs-v1.rasa.com/1.10.13/core/slots/)
- [Forms](https://legacy-docs-v1.rasa.com/1.10.13/core/forms/)
- [Retrieval Actions](https://legacy-docs-v1.rasa.com/1.10.13/core/retrieval-actions/)
- [Interactive Learning](https://legacy-docs-v1.rasa.com/1.10.13/core/interactive-learning/)
- [Fallback Actions](https://legacy-docs-v1.rasa.com/1.10.13/core/fallback-actions/)
- [Knowledge Base Actions](https://legacy-docs-v1.rasa.com/1.10.13/core/knowledge-bases/)

### Conversation Design
- [Dialogue Elements](https://legacy-docs-v1.rasa.com/1.10.13/dialogue-elements/dialogue-elements/)
- [Small Talk](https://legacy-docs-v1.rasa.com/1.10.13/dialogue-elements/small-talk/)
- [Completing Tasks](https://legacy-docs-v1.rasa.com/1.10.13/dialogue-elements/completing-tasks/)
- [Guiding Users](https://legacy-docs-v1.rasa.com/1.10.13/dialogue-elements/guiding-users/)

### API Reference
- [Action Server](https://legacy-docs-v1.rasa.com/1.10.13/api/action-server/)
- [HTTP API](https://legacy-docs-v1.rasa.com/1.10.13/api/http-api/)
- [Jupyter Notebooks](https://legacy-docs-v1.rasa.com/1.10.13/api/jupyter-notebooks/)
- [Agent](https://legacy-docs-v1.rasa.com/1.10.13/api/agent/)
- [Custom NLU Components](https://legacy-docs-v1.rasa.com/1.10.13/api/custom-nlu-components/)
- [Rasa SDK](https://legacy-docs-v1.rasa.com/1.10.13/api/rasa-sdk/)
- [Events](https://legacy-docs-v1.rasa.com/1.10.13/api/events/)
- [Tracker](https://legacy-docs-v1.rasa.com/1.10.13/api/tracker/)
- [Tracker Stores](https://legacy-docs-v1.rasa.com/1.10.13/api/tracker-stores/)
- [Event Brokers](https://legacy-docs-v1.rasa.com/1.10.13/api/event-brokers/)
- [Lock Stores](https://legacy-docs-v1.rasa.com/1.10.13/api/lock-stores/)
- [Training Data Importers](https://legacy-docs-v1.rasa.com/1.10.13/api/training-data-importers/)
- [Featurization of Conversations](https://legacy-docs-v1.rasa.com/1.10.13/api/core-featurization/)
- [TensorFlow Configuration](https://legacy-docs-v1.rasa.com/1.10.13/api/tensorflow_usage/)
- [Migration Guide](https://legacy-docs-v1.rasa.com/1.10.13/migration-guide/)
- [Rasa Open Source Change Log](https://legacy-docs-v1.rasa.com/1.10.13/changelog/)

### Migrate from (beta)
- [Dialogflow](https://legacy-docs-v1.rasa.com/1.10.13/migrate-from/google-dialogflow-to-rasa/)
- [Wit.ai](https://legacy-docs-v1.rasa.com/1.10.13/migrate-from/facebook-wit-ai-to-rasa/)
- [LUIS](https://legacy-docs-v1.rasa.com/1.10.13/migrate-from/microsoft-luis-to-rasa/)
- [IBM Watson](https://legacy-docs-v1.rasa.com/1.10.13/migrate-from/ibm-watson-to-rasa/)

### Reference
- [Glossary](https://legacy-docs-v1.rasa.com/1.10.13/glossary/)

# Entity Extraction

Entity extraction involves parsing user messages for required pieces of information. Rasa Open Source provides entity extractors for custom entities as well as pre-trained ones like dates and locations. Here is a summary of the available extractors and what they are used for:

| Component | Requires | Model | Notes |
| --- | --- | --- | --- |
| `CRFEntityExtractor` | sklearn-crfsuite | conditional random field | good for training custom entities |
| `SpacyEntityExtractor` | spaCy | averaged perceptron | provides pre-trained entities |
| `DucklingHTTPExtractor` | running duckling | context-free grammar | provides pre-trained entities |
| `MitieEntityExtractor` | MITIE | structured SVM | good for training custom entities |
| `EntitySynonymMapper` | existing entities | N/A | maps known synonyms |
| `DIETClassifier` |  | conditional random field<br>on top of a transformer | good for training custom entities |

## [The “entity” Object](https://legacy-docs-v1.rasa.com/1.10.13/nlu/entity-extraction/#the-entity-object)

After parsing, an entity is returned as a dictionary. There are two fields that show information about how the pipeline impacted the entities returned: the `extractor` field of an entity tells you which entity extractor found this particular entity, and the `processors` field contains the name of components that altered this specific entity.

```json
{
  "text": "show me chinese restaurants",
  "intent": "restaurant_search",
  "entities": [
    {
      "start": 8,
      "end": 15,
      "value": "chinese",
      "entity": "cuisine",
      "extractor": "CRFEntityExtractor",
      "confidence": 0.854,
      "processors": []
    }
  ]
}
```

Some extractors, like `duckling`, may include additional information.

## [Custom Entities](https://legacy-docs-v1.rasa.com/1.10.13/nlu/entity-extraction/#id3)

Almost every chatbot and voice app will have some custom entities. A restaurant assistant should understand `chinese` as a cuisine, but to a language-learning assistant it would mean something very different. The `CRFEntityExtractor` and the `DIETClassifier` component can learn custom entities in any language, given some training data.

## [Entities Roles and Groups](https://legacy-docs-v1.rasa.com/1.10.13/nlu/entity-extraction/#id4)

Warning: This feature is experimental. We introduce experimental features to get feedback from our community, so we encourage you to try it out! However, the functionality might be changed or removed in the future.

Assigning custom entity labels to words, allow you to define certain concepts in the data. For example:

```plaintext
I want to fly from [Berlin](city) to [San Francisco](city).
```

## [Extracting Places, Dates, People, Organizations](https://legacy-docs-v1.rasa.com/1.10.13/nlu/entity-extraction/#id5)

spaCy has excellent pre-trained named-entity recognizers for a few different languages.

## [Dates, Amounts of Money, Durations, Distances, Ordinals](https://legacy-docs-v1.rasa.com/1.10.13/nlu/entity-extraction/#id6)

The [duckling](https://duckling.wit.ai/) library does a great job of turning expressions like “next Thursday at 8pm” into actual datetime objects that you can use.

## [Passing Custom Features to `CRFEntityExtractor`](https://legacy-docs-v1.rasa.com/1.10.13/nlu/entity-extraction/#id8)

If you want to pass custom features, such as pre-trained word embeddings, to `CRFEntityExtractor`, you can add any dense featurizer to the pipeline before the `CRFEntityExtractor`.
