Recently I completed work on a tool called nlphoseGUI that allows creation of complex NLP pipelines visually, without writing a single line of code ! It uses Blockly to enable creation of NLP pipelines using drag and drop.
✨Checkout the live demo here !
Currently following operations are supported:
- Sentiment Analysis (AFINN)
- NER (Spacy)
- Language Identification (FastText)
- Chunking (NLTK)
- Sentiment Analysis (Transformers)
- Question Answering (Transformers)
- Zero shot Classification (Transformers)
The tool generates a nlphose command that can be executed in a docker container to run the pipeline. These pipelines can process streaming text like tweets or static data like files. They can be executed just like normal shell command using nlphose. Let me show you what I mean !
Below is pipeline that searches Twitter for tweets containing ‘netflix’ and performs named entity recognition on it.
It generates a nlphose command which looks like this
twint -s netflix |\ |
When the above pipeline is run using nlphose, you can expect to see stream of JSON output similar to the one shown below:
.... |
Lets try out something more, the below pipeline searches for tweets containing the word ‘rainfall’ and then finds the location where it rained using ‘extractive question answering’. It also filters out answers with lower scores.
Here is the nlphose command it generates:
twint -s rainfall |\ |
It is also possible to create a pipeline that processes multiple files from a folder :
The above pipeline generates this command:
./files2json.py -n 3 data/*.txt |\ |
Play with the tool here: https://ashishware.com/static/nlphose.html
Here is the link to the projects git repository: https://github.com/code2k13/nlphoseGUI
Here is a YouTube link of the tool in action:
Don’t forget to checkout the repository of the companion project nlphose: https://github.com/code2k13/nlphose