Thesis project - Escuela Politécnica Nacional (June 2022)
In this work, a conversational assistant capable of accompanying the client throughout the clothing discovery process was developed, through Rasa; a framework that combines the comprehension and processing of natural language based on transformer-type neural networks allowing to improve the effectiveness of responses.
- Website Jasmine --> https://chatbotecommercejasmine.web.app/
- Video --> https://youtu.be/UsBJSsgSivg
- Portfolio --> https://www.xavieraguas.com/
The results of this work showed that through Rasa it is possible to create assistants as personalized as desired and that incorporating continuous training and evaluation processes with real users makes it possible for the model to be generalized to real-world scenarios, thus increasing the rate effectiveness.
- Tokenizers - WhiteSpaceTokenizer
- (1) Feature Extractor - RegexFeaturizer
- (2) Feature Extractor - LexicalSyntacticFeaturizer
- (3) Feature Extractor - CountVectorsFeaturizer
- (1) Intent Classifier - DIETClassifier
- (2) Intent Classifier - FallbackClassifier
- (1) Entity Extractor - DIETClassifier
- (2) Entity Extractor - EntitySynonymMapper
- (3) Entity Extractor - DucklingEntityExtractor
- (4) Entity Extractor - SpacyEntityExtractor
- RulePolicy - Manage parts of the conversation that follow a fixed behavior
- AugmentedMemoizationPolicy - Handle parts of the conversation based on the example conversations in the training set
- TEDPolicy - Drive the conversation through predictions based on a machine learning model
Currently this projects just work using python 3.7 so It is recommend that make sure you have this python version. To check run on command line:
python3 --version
If you do not have the correct version, please download it from here
You can follow the steps here to intall poetry in either osx / linux or windows.
Run this command to download the espanish spacy model for entity extraction
poetry run python -m spacy download es_core_news_md
The following commands helps to install python packages needed to make this project run correctly locally.
git clone https://github.com/kabirivan/Ecommerce-Assistant.git
cd Ecommerce-Assistant
poetry shell
poetry install
rasa train
In order to make this example to test, please use ngrok. You can setup ngrok in you pc from here.
Run on console the following command. It will expose 5005 local port on internet.
./ngrok http 5005
Start action server and Duckling
docker-compose -f docker-compose-dev.yml up
Run on console the following command. It will start project on port 5005
poetry shell
rasa shell
rasa run --enable-api --cors "*"
rasa interactive
docker-compose up
poetry env info
poetry env remove 3.7
rm -rf `poetry env info -p`
git rm --cached credentials.yml
Acknowledgements:
- PhD. Marco E. Benalcázar
- Escuela Politécnica Nacional
- JRTEC - Agencia de desarrollo tecnológico