Ahmed Ragab, Developer in Cairo, Cairo Governorate, Egypt
Ahmed is available for hire
Hire Ahmed

Ahmed Ragab

Verified Expert  in Engineering

Natural Language Processing (NLP) Developer

Cairo, Cairo Governorate, Egypt

Toptal member since November 27, 2019

Bio

With a diverse toolkit of cutting-edge technologies, Ahmed is a machine learning research engineer—specializing in researching and implementing state-of-the-art models in natural language processing. Ahmed is enthusiastic about his field, has in-depth knowledge of a diverse set of Python ML/DL libraries (TensorFlow, scikit-learn, and so on), and has accumulated years of hands-on machine learning professional experience.

Portfolio

Bold Metrics Inc.
Matplotlib, Pandas, GitHub, Docker, Flask, Scikit-learn, Amazon S3 (AWS S3)...
Mawdoo3
Amazon Web Services (AWS), Generative Pre-trained Transformers (GPT)...
The Grid
Amazon Web Services (AWS), Statistical Analysis, TensorFlow...

Experience

  • Generative Pre-trained Transformers (GPT) - 3 years
  • Natural Language Toolkit (NLTK) - 3 years
  • Python - 3 years
  • NumPy - 3 years
  • Pandas - 3 years
  • TensorFlow - 3 years
  • Natural Language Processing (NLP) - 3 years
  • PyTorch - 2 years

Availability

Part-time

Preferred Environment

Jupyter Notebook, PyCharm, GitHub, Ubuntu

The most amazing...

...thing I've worked on is a conversational engine that can be easily customized and deployed to serve different domains.

Work Experience

Data Scientist

2020 - PRESENT
Bold Metrics Inc.
  • Built machine learning models to help retailers in the fashion industry predict accurate size recommendations for online shoppers.
  • Built data analysis, visualization, modeling, training, and testing pipelines using Python, Scikit-Learn, Matplotlib, and Pandas.
  • Designed and implemented a lite-framework to organize and ease the implementation and deployment of ML models to the AWS cloud.
  • Used AWS S3, SageMaker, EC2, and CloudWatch with TensorFlow Serving for an end-to-end model deployment at scale.
  • Presented clients with regular reporting (a mixture of descriptive statistics and visual plots) of the ML models' performance in alignment with the business objectives.
Technologies: Matplotlib, Pandas, GitHub, Docker, Flask, Scikit-learn, Amazon S3 (AWS S3), Amazon SageMaker, Python

Machine Learning Research Engineer

2017 - 2021
Mawdoo3
  • Made key contributions to the design and implementation of a conversational engine that supports their digital assistant Salma.
  • Designed and implemented a combined named-entity recognition and part-of-speech tagger that exceeded the SOTA for the Arabic language.
  • Implemented a high accuracy factoid-question detection model using limited data by applying data-augmentation techniques.
  • Designed and implemented a deep-learning model to detect the positive or negative polarity of the Arabic language short-texts by utilizing data from different domains and designed a preprocessing and batch generation pipeline to reduce sampling bias.
  • Supervised juniors who were working on different research projects (e.g., multi-intent classification).
Technologies: Amazon Web Services (AWS), Generative Pre-trained Transformers (GPT), Natural Language Processing (NLP), Statistical Analysis, Natural Language Toolkit (NLTK), Deep Neural Networks (DNNs), Deep Learning, Machine Learning, GitHub, Python, Socket.IO, Flask, SciPy, NumPy, Matplotlib, Pandas, Scikit-learn, Keras, PyTorch, TensorFlow

Machine Learning Engineer

2020 - 2020
The Grid
  • Developed a semantic search engine over a database of companies in Singapore and their business description.
  • Developed a model to cluster and segment the companies based on their business description (text features) and other numerical features (company's size).
  • Led a team of two DS to launch the next iteration of a ranking algorithm that detects the top X similar companies given a subject company.
Technologies: Amazon Web Services (AWS), Statistical Analysis, TensorFlow, Deep Neural Networks (DNNs), Deep Learning, Machine Learning, Git, GitHub, Scikit-learn, NumPy, Pandas, Flask, PyTorch, Hugging Face, Natural Language Toolkit (NLTK), Gensim, Python

Software Engineer

2015 - 2016
Egyncy
  • Worked on designing the database schema for a social media platform and continuously maintained the database through proper migrations and tuning the schema as needed.
  • Designed and developed a RESTful API to support the multiple clients (Android, IOS, web frontend) needs of querying and modifying the internal database of a social media platform.
  • Contributed to the front-end web development of their social media platform using jQuery and AngularJS.
  • Participated in the planning of inter work-plans across the web-development team.
  • Contributed to the continuous maintainability and monitoring of their social media platform.
Technologies: Git, GitHub, Docker, MongoDB, Angular, jQuery, Tastypie, Django, Python

Experience

Multilingual Conversational Engine (Arabic/English)

http://salma.ai/
I built a contextual AI-enabled chatbot builder that works with the Arabic language. It's currently supporting the first Arabic-speaking digital assistant, Salma.

During my work on the project, I have contributed to the following components of the engine.

Work Done:
01. Contributed to the intent-classification component of the engine by complex feature engineering and using a mixture of ML/DL techniques.

02. Designed and implemented complex entity slot-filling from user's input utterances and enabled quick and easy customization to tweak for whatever domain.

03. Designed a factoid-question detection model achieving a high accuracy of more than 95% through the incorporation of data augmentation techniques.

04. Integrated and utilized more than ten ML models within the conversational engine, some of which I have developed solely as a stand-alone service.

05. Developed a Socket.IO interface to the engine's API to expose the engine's capabilities and be consumed by multiple front ends.

06. Implemented CI/CD pipelines through unit testing, Docker, and Travis.

07. Wrote comprehensive technical documentation on the engine APIs and the possible configuration settings.

Named Entity Recognition

I designed and implemented a deep learning model to extract named entities from Arabic short-texts.

Work Done:
• Reviewed the available literature for state of the art models and datasets, arranging for further meetings to acquire needed datasets if beneficial.
• Performed preliminary data analysis and preprocessing using Python’s Pandas and NumPy
• Reported the results of the data analysis using Matplotlib for visualizations.
• Adapted various implementations for the sequence to sequences DL models for the task at hand.
• Designed, implemented, and evaluated multiple enhancements to the model inspired by recent papers in the literature addressing issues for different functions in different languages.

Sentiment Classification

I developed a sentiment classification model by utilizing data from multiple different domains by engineering complex pre-processing pipelines and batch-generation techniques to reduce the un-informative variance in the data and reduce the sampling bias since the dataset suffered from an imbalance in the distribution of both the classes and the domains.

The model achieved a SOTA at the time of deployment for the Arabic language.

Education

2012 - 2016

Bachelor's Degree in Computer Science

Assiut University - Asyut, Egypt

Certifications

MAY 2019 - PRESENT

Software Development Processes and Methodologies

Coursera

SEPTEMBER 2018 - PRESENT

Structuring Machine Learning Projects

Coursera

SEPTEMBER 2018 - PRESENT

Mathematics for Machine Learning: Multivariate Calculus

Coursera

APRIL 2018 - PRESENT

Mathematics for Machine Learning: Linear Algebra

Coursera

DECEMBER 2017 - PRESENT

Applied Data Science with Python Specialization

Coursera

SEPTEMBER 2017 - PRESENT

Machine Learning

Coursera

Skills

Libraries/APIs

Scikit-learn, TensorFlow, Pandas, NumPy, PyTorch, Natural Language Toolkit (NLTK), Keras, Socket.IO, Tastypie, jQuery, SciPy, Matplotlib

Tools

GitHub, Git, Stanford CoreNLP, Amazon SageMaker, PyCharm, Gensim

Languages

Python, JavaScript, PHP

Platforms

Jupyter Notebook, Docker, Amazon Web Services (AWS), Ubuntu

Frameworks

Django, Angular, Flask

Paradigms

Agile Software Development

Storage

MongoDB, Amazon S3 (AWS S3)

Other

Natural Language Processing (NLP), Generative Pre-trained Transformers (GPT), Hugging Face, Data Analysis, Natural Language Understanding (NLU), Machine Learning, Deep Learning, Neural Networks, Deep Neural Networks (DNNs), Data Science, Statistical Analysis, Statistical Modeling

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring