<commit_before>
Language Understanding with rasa NLU
====================================


rasa NLU is an open source tool for intent classification and entity extraction. For example, taking a sentence like 

.. code-block:: console

    "I am looking for a Mexican restaurant in the center of town"

and returning structured data like

.. code-block:: json

    { 
      "intent": "search_restaurant",
      "entities": {
        "cuisine" : "Mexican",
        "location" : "center"
      }
    }


You can use rasa as a drop-in replacement for `wit <https://wit.ai>`_ , `LUIS <https://luis.ai>`_ , or `api.ai <https://api.ai>`_ 

The intended audience is mainly people developing bots. Why might you use rasa instead of one of those services?

- you don't have to hand over your data to FB/MSFT/GOOG
- you don't have to make a `https` call every time.
- you can tune models to work well on your particular use case.

These points are laid out in more detail in a `blog post <https://medium.com/lastmile-conversations/do-it-yourself-nlp-for-bot-developers-2e2da2817f3d>`_ .


The quickest quickstart in the west
------------------------------------


.. code-block:: console

    $ python setup.py install
    $ python -m rasa_nlu.server -e wit &
    $ curl 'http://localhost:5000/parse?q=hello'
    {"intent":"greet","entities":[]}


There you go! you just parsed some text. 
See :ref:`section_configuration` for how to configure rasa NLU,
and :ref:`section_migration` for how to clone your existing app.

About 
---------------------------------------

You can think of rasa NLU as a set of high level APIs for building your own language parser using existing NLP and ML libraries.
The setup process is designed to be as simple as possible. If you're currently using wit, LUIS, or api.ai, you just:

1. download your app data from wit or LUIS and feed it into rasa NLU
2. run rasa NLU on your machine and switch the URL of your wit/LUIS api calls to ``localhost:5000/parse``.

rasa NLU is written in Python, but it you can use it from any language through the HTTP API. 
If your project *is* written in Python you can simply import the relevant classes.

rasa is a set of tools for building more advanced bots, developed by `LASTMILE <https://golastmile.com>`_ . This is the natural language understanding module, and the first component to be open sourced. 


Read Next:

.. toctree::
   :maxdepth: 1

   backends
   config
   migrating
   http
   closeloop
   troubleshoot
   roadmap
   contribute
   license



<commit_msg>ref to tutorial in index<commit_after>
Language Understanding with rasa NLU
====================================


rasa NLU is an open source tool for intent classification and entity extraction. For example, taking a sentence like 

.. code-block:: console

    "I am looking for a Mexican restaurant in the center of town"

and returning structured data like

.. code-block:: json

    { 
      "intent": "search_restaurant",
      "entities": {
        "cuisine" : "Mexican",
        "location" : "center"
      }
    }


You can use rasa as a drop-in replacement for `wit <https://wit.ai>`_ , `LUIS <https://luis.ai>`_ , or `api.ai <https://api.ai>`_ 

The intended audience is mainly people developing bots. Why might you use rasa instead of one of those services?

- you don't have to hand over your data to FB/MSFT/GOOG
- you don't have to make a `https` call every time.
- you can tune models to work well on your particular use case.

These points are laid out in more detail in a `blog post <https://medium.com/lastmile-conversations/do-it-yourself-nlp-for-bot-developers-2e2da2817f3d>`_ .


The quickest quickstart in the west
------------------------------------


.. code-block:: console

    $ python setup.py install
    $ python -m rasa_nlu.server -e wit &
    $ curl 'http://localhost:5000/parse?q=hello'
    {"intent":"greet","entities":[]}


There you go! you just parsed some text. 
See :ref:`section_configuration` for how to configure rasa NLU,
and :ref:`section_migration` for how to clone your existing app.

About 
---------------------------------------

You can think of rasa NLU as a set of high level APIs for building your own language parser using existing NLP and ML libraries.
The setup process is designed to be as simple as possible. If you're currently using wit, LUIS, or api.ai, you just:

1. download your app data from wit or LUIS and feed it into rasa NLU
2. run rasa NLU on your machine and switch the URL of your wit/LUIS api calls to ``localhost:5000/parse``.

rasa NLU is written in Python, but it you can use it from any language through the HTTP API. 
If your project *is* written in Python you can simply import the relevant classes.

rasa is a set of tools for building more advanced bots, developed by `LASTMILE <https://golastmile.com>`_ . This is the natural language understanding module, and the first component to be open sourced. 


Read Next:

.. toctree::
   :maxdepth: 1

   tutorial
   backends
   config
   migrating
   http
   closeloop
   troubleshoot
   roadmap
   contribute
   license




{'fraction_non_alphanumeric': 0.1183874139626352, 'fraction_numerical': 0.007079646017699115, 'mean_word_length': 2.99528672427337, 'pattern_counts': {'":': 8, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 10, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5165954', 'n_tokens_mistral': 1526, 'n_tokens_neox': 1439, 'n_words': 673}