All Projects → RasaHQ → Rasalit

RasaHQ / Rasalit

Licence: apache-2.0
Visualizations and helpers to improve and debug machine learning models for Rasa Open Source

Projects that are alternatives of or similar to Rasalit

Research Paper Notes
Notes and Summaries on ML-related Research Papers (with optional implementations)
Stars: ✭ 218 (+115.84%)
Mutual labels:  jupyter-notebook, research
Lagom
lagom: A PyTorch infrastructure for rapid prototyping of reinforcement learning algorithms.
Stars: ✭ 364 (+260.4%)
Mutual labels:  jupyter-notebook, research
Hamiltonian Nn
Code for our paper "Hamiltonian Neural Networks"
Stars: ✭ 229 (+126.73%)
Mutual labels:  jupyter-notebook, research
Learnpythonforresearch
This repository provides everything you need to get started with Python for (social science) research.
Stars: ✭ 163 (+61.39%)
Mutual labels:  jupyter-notebook, research
Whitehat
Information about my experiences on ethical hacking 💀
Stars: ✭ 54 (-46.53%)
Mutual labels:  jupyter-notebook, research
Atari Model Zoo
A binary release of trained deep reinforcement learning models trained in the Atari machine learning benchmark, and a software release that enables easy visualization and analysis of models, and comparison across training algorithms.
Stars: ✭ 198 (+96.04%)
Mutual labels:  jupyter-notebook, research
Google Research
Google Research
Stars: ✭ 20,927 (+20619.8%)
Mutual labels:  jupyter-notebook, research
Infiniteboost
InfiniteBoost: building infinite ensembles with gradient descent
Stars: ✭ 180 (+78.22%)
Mutual labels:  jupyter-notebook, research
Openpmd Viewer
🐍 Python visualization tools for openPMD files
Stars: ✭ 41 (-59.41%)
Mutual labels:  jupyter-notebook, research
Research
Notebooks based on financial machine learning.
Stars: ✭ 714 (+606.93%)
Mutual labels:  jupyter-notebook, research
Datasets
🎁 3,000,000+ Unsplash images made available for research and machine learning
Stars: ✭ 1,805 (+1687.13%)
Mutual labels:  jupyter-notebook, research
Python nlp tutorial
This repository provides everything to get started with Python for Text Mining / Natural Language Processing (NLP)
Stars: ✭ 72 (-28.71%)
Mutual labels:  jupyter-notebook, research
Smpybandits
🔬 Research Framework for Single and Multi-Players 🎰 Multi-Arms Bandits (MAB) Algorithms, implementing all the state-of-the-art algorithms for single-player (UCB, KL-UCB, Thompson...) and multi-player (MusicalChair, MEGA, rhoRand, MCTop/RandTopM etc).. Available on PyPI: https://pypi.org/project/SMPyBandits/ and documentation on
Stars: ✭ 244 (+141.58%)
Mutual labels:  jupyter-notebook, research
Dnc Tensorflow
A TensorFlow implementation of DeepMind's Differential Neural Computers (DNC)
Stars: ✭ 587 (+481.19%)
Mutual labels:  jupyter-notebook, research
Instapy Research
📄 Research repository for InstaPy
Stars: ✭ 60 (-40.59%)
Mutual labels:  jupyter-notebook, research
Hyperlearn
50% faster, 50% less RAM Machine Learning. Numba rewritten Sklearn. SVD, NNMF, PCA, LinearReg, RidgeReg, Randomized, Truncated SVD/PCA, CSR Matrices all 50+% faster
Stars: ✭ 1,204 (+1092.08%)
Mutual labels:  jupyter-notebook, research
Genetic Algorithm
Genetic algorithm tutorial for Python
Stars: ✭ 101 (+0%)
Mutual labels:  jupyter-notebook
Learning notebook
利用python进行财务分析
Stars: ✭ 101 (+0%)
Mutual labels:  jupyter-notebook
Context aug
Context-driven data augmentation for Object Detection (ECCV'18)
Stars: ✭ 101 (+0%)
Mutual labels:  jupyter-notebook
Hass Deepstack Face
Home Assistant custom component for using Deepstack face recognition
Stars: ✭ 101 (+0%)
Mutual labels:  jupyter-notebook

RasaLit

A collection of helpful viewers that help with understand Rasa NLU components. Some of these views are made using streamlit, hence the wink in the name.

Feedback is welcome.

Installation

You can install via pip by linking to this github repository.

python -m pip install git+https://github.com/RasaHQ/rasalit

Compatibility

The focus is to support the most recent version of Rasa. We do tag a release every time that we upgrade though. That means you can find compatible versions of rasalit for Rasa 1.10 here.

Usage

You can directly access the command line app.

> python -m rasalit --help
Usage: rasalit [OPTIONS] COMMAND [ARGS]...

  Helper Views for Rasa NLU

Options:
  --help  Show this message and exit.

Commands:
  diet-explorer  Allows you to explore the DIET settings.
  live-nlu       Select a trained Rasa model and interact with it.
  nlu-cluster    Cluster a text file to look for clusters of intents.
  overview       Gives an overview of all `rasa train nlu` results.
  spelling       Check the effect of spelling on NLU predictions.
  version        Prints the current version of rasalit.

Features

The app contains a collection of viewers that each specialize in a seperate task.

nlu-cluster

This command allows you to cluster similar utterances in a text file.

Note that this app has some extra dependencies. You can install them via;

python -m pip install "whatlies[umap]"

Example Usage:

python -m rasalit nlu-cluster --port 8501

This will start a server locally. Internally it is using the whatlies package to handle the embeddings. This means that while the demo is only in English, you can extend the code to work for Non-English scenarios too! For more details, as well as a labelling tool, check out the notebook found here.

overview

This command shows an summary of the intent/entity scores from a rasa train nlu run.

Example Usage:

> python -m rasalit overview --folder gridresults --port 8501

This will start a server locally on port that will displace an interactive dashboard of all your NLU gridsearch data.

To fully benefit from this feature you'll need to run some models first. You can run cross validation of models in Rasa via the command line:

rasa test nlu --config configs/config-light.yml \
              --cross-validation --runs 1 --folds 2 \
              --out gridresults/config-light
rasa test nlu --config configs/config-heavy.yml \
              --cross-validation --runs 1 --folds 2 \
              --out gridresults/config-heavy

Then Rasa, in this case, will save the results in gridresults/config-light and gridresults/config-heavy respectively.

To get an overview of all the results in subfolders of gridresults, you can run the rasalit overview --folder gridresults command from the same folder where you ran the rasa test command. You'll get some simple charts that summarise the intent/entity performance.

spelling

This command let's you predict text with augmented spelling errors to check for robustness.

> python -m rasalit spelling --help
> python -m rasalit spelling --port 8501

This will start a server locally on port 8501 that will displace an interactive playground for your trained Rasa NLU model. You can see the confidence levels change as you allow for more or less spelling errors.

It's assumed that you run this command from the root of your Rasa project but you can also make it point to other projects via the command line settings.

live-nlu

This command gives you an interactive gui that lets you see the output of a trained modelling pipeline.

Example Usage:

> python -m rasalit live-nlu --help
> python -m rasalit live-nlu --port 8501

This will start a server locally on port 8501 that will displace an interactive playground for your trained Rasa NLU model. You can see the confidence levels as well as the detected entities. We also show some shapes of internal featurization steps.

It's assumed that you run this command from the root of your Rasa project but you can also make it point to other projects via the command line settings.

Attention Charts

If you're using the DIETClassifier you'll be able to also use this app to debug the internals. The app also allows you to inspect all the pipeline settings as well as the internal attention mechanism.

diet-explorer

This command gives you an interactive visualisation of DIET that allows you to see the available hyperparameters from all the layers in the algorithm.

Example Usage:

> rasalit diet-explorer --port 8501

This will start a server locally on port 8501 that will display an interactive visualisation of the DIET architecture.

Notebooks

This project also hosts a few jupyter notebooks that contain interactive tools.

Bulk Labelling

The bulk labelling demo found in this video and this video can be found here.

This notebook allows you to use embeddings and a drawing tool to do some bulk-labelling.

Contribute

There are many ways you can contribute to this project.

  • You can suggest new features.
  • You can help review new features.
  • You can submit new components.
  • You can let us know if there are bugs.
  • You can let us know if the components in this library help you.

Feel free to start the discussion by opening an issue on this repository. Before submitting code to the repository it would help if you first create an issue so that we can disucss the changes you would like to contribute. You can ping the maintainer (Github alias: koaning) both in the issues here as well as on the Rasa forum if you have any questions.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].