Skip to content

Conversational assistant capable of accompanying the client throughout the clothing discovery process

License

Notifications You must be signed in to change notification settings

kabirivan/Ecommerce-Assistant-Jasmine

Repository files navigation

Jasmine Logo

Jasmine Assistant

Rasa Open Source | Algolia | Airtable | Rasa X

Thesis project - Escuela Politécnica Nacional (June 2022)

Assistant Views

-----------------------------------------------------

✏️ About The Project

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.

-----------------------------------------------------

📓 Results

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.

-----------------------------------------------------

📌 Rasa - NLU Pipeline

  • 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

-----------------------------------------------------

📌 Rasa - Core Policies

  • 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

-----------------------------------------------------

📌 Environment Production

Production_Environment

-----------------------------------------------------

Setup

Python setup

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

Poetry Installation

You can follow the steps here to intall poetry in either osx / linux or windows.

Spacy configuration

Run this command to download the espanish spacy model for entity extraction

poetry run python -m spacy download es_core_news_md

Installation

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

Package setup using poetry

poetry shell
poetry install
rasa train

Development

Activate ngrok to serve on https

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 project

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

Production

docker-compose up

Extras

Remove Env

poetry env info
poetry env remove 3.7
rm -rf `poetry env info -p`

Remove Credentials

git rm --cached credentials.yml

-----------------------------------------------------

🙋‍♂️ Credits

Acknowledgements:

  • PhD. Marco E. Benalcázar
  • Escuela Politécnica Nacional
  • JRTEC - Agencia de desarrollo tecnológico

GitHub Badge LinkedIn Badge