Ali Abdel Aal, Developer in Cairo, Cairo Governorate, Egypt
Ali is available for hire
Hire Ali

Ali Abdel Aal

Verified Expert  in Engineering

Software Developer

Location
Cairo, Cairo Governorate, Egypt
Toptal Member Since
August 8, 2018

Ali is a passionate computer engineer with expertise in software engineering, machine learning, and natural language processing. He has hands-on experience in Python and machine learning libraries including sklearn, TensorFlow, and PyTorch. With a profound understanding of AI techniques and algorithms, Ali's implemented several machine learning production-ready projects.

Portfolio

Mawdoo3
Software Development, Natural Language Processing (NLP), GPT...
Grata
Machine Learning, JSON, Pandas, Dashboards, Parallel Programming, Scikit-learn...
Adam.ai
Regex, Software Development, Generative Pre-trained Transformers (GPT)...

Experience

Availability

Part-time

Preferred Environment

Jupyter Notebook, Git, Ubuntu, Visual Studio Code (VS Code)

The most amazing...

...project I've developed is Switch-bot. It is used to target customers on social media platforms based on their feed analysis using natural language processing.

Work Experience

Machine Learning Engineer

2020 - 2021
Mawdoo3
  • Designed and implemented a custom entity extraction model and integrated it with Salma's, an Arabic virtual assistant, existing pipeline.
  • Enhanced model latency time using batching techniques.
  • Co-implemented an NLU back end that supported fast and accurate multi-intent classification, with context support and custom entities extraction for a custom chatbot builder platform.
  • Implemented a concept tagging model using Joint BERT.
  • Created a disambiguation-resolving model with high accuracy and very low latency.
  • Built an automatic evaluation and reporting system for our models.
  • Conducted lots of experiments, literature reviews, and reports on the state-of-the-art models for different NLP tasks.
Technologies: Software Development, Natural Language Processing (NLP), Generative Pre-trained Transformers (GPT), GPT, Sentiment Analysis, Data Science, Natural Language Toolkit (NLTK), Deep Learning, Chatbots, Python 3, Flask, Machine Learning, Artificial Intelligence (AI), Scikit-learn, Regex, Python

NLP/Machine Learning Engineer

2020 - 2020
Grata
  • Worked on key phrase extraction using data-driven and statistical approaches.
  • Enhanced the ETL system making it 10 times faster using multiprocessing.
  • Handled processing of gigabytes of JSON documents on small machines using batching techniques.
  • Implemented a dashboard using Streamlit to showcase the model's capabilities and to modify it on the run.
  • Conducted key phrase extraction experiments using state of the art models.
Technologies: Machine Learning, JSON, Pandas, Dashboards, Parallel Programming, Scikit-learn, Generative Pre-trained Transformers (GPT), Natural Language Processing (NLP), GPT

Machine Learning Engineer

2019 - 2020
Adam.ai
  • Implemented and deployed a few-shot text classification model that needs (<30) examples to train.
  • Built a real-time dashboard to monitor, train new models, and test them in real time.
  • Enhanced the data collection and labeling process by building a slack bot that is able to retrieve documents and simplify the labeling process via a simple Slack interface.
  • Implemented and deployed an entity extraction model to help recognize dates, places, and names.
Technologies: Regex, Software Development, Natural Language Processing (NLP), Generative Pre-trained Transformers (GPT), GPT, Sentiment Analysis, SpaCy, Web Scraping, Natural Language Toolkit (NLTK), Deep Learning, Chatbots, Python 3, Flask, Machine Learning, Artificial Intelligence (AI), IBM Watson, Python

Machine Learning Engineer

2017 - 2018
Botler.io
  • Designed and implemented a social media monitoring bot that supported sentiment analysis, topic detection, and ad recommendation based on the users' profiles and content.
  • Implemented a multi processing social media scraper from the ground up.
  • Conducted lots of experiments on text classification for the Arabic language.
  • Designed and implemented a user profiling system to monitor users over Twitter.
Technologies: Regex, Software Development, GPT, Generative Pre-trained Transformers (GPT), Natural Language Processing (NLP), Twitter API, Sentiment Analysis, Web Scraping, Data Science, Natural Language Toolkit (NLTK), Deep Learning, Chatbots, Python 3, Flask, Machine Learning, Artificial Intelligence (AI), Pandas, Scikit-learn, Python

Data Analyst Intern

2017 - 2017
IBM
  • Obtained experience working in Blue mix.
  • Built multiple products using IBM Watson.
Technologies: Data Science, Bluemix, IBM Watson

Software Engineering Intern

2017 - 2017
Crowd Analyzer
  • Built a gender detection module using Node.js.
  • Integrated gender detection APIs.
Technologies: Software Development, Git

ATKSpy

https://github.com/AliAbdelaal/ATKSpy
A Python package that supports SOAP interface to communicate with the Microsoft ATKS, enabling the Python community to use the ATKS tool in their natural language processing based apps.

Twitter Dash

https://github.com/AliAbdelaal/twitter-dash
A dashboard for any custom query with simple analysis tools.

SwitchBot

A project that had the purpose of targeting customers based on their social media feed using natural language understanding.

Masri

An Arabic Egyptian voice assistant with a chat-bot extension on Facebook.

My graduation project is a virtual assistant that interacts with you using your voice commands that are in Egyptian Arabic.

A variety of tools were integrated into the system to enable high accuracy and performance.

Mwaslaty

https://github.com/AliAbdelaal/Mwaslaty
Mwaslaty is an Android application that helps the user find the shortest path and minimum time and cost to reach their destination. It was designed to minimize the effort of the user when trying to get directions to a new destination.

My role was to clean the data that is processed by the algorithm.

Using Python, I was able to achieve a good level of data cleaning, provided project-ready data that included translations and finding matched words in Arabic, and uploaded the data to a database.

Road Fraud Detection

https://github.com/AliAbdelaal/Road-Obstacles-Detection-Using-Arduino
The system monitors the car's balance. When the car drives over a manhole or bump, the system detects the change and sends the location from a Skylab GPS. The modules used in the system include the accelerometer, gyroscope, ultrasonic, and GPS. The system was built using an Arduino environment.

Financial Model

https://github.com/AliAbdelaal/FinancialModel
a classification model that classify whether the EURUSD stock exchange will go up or down next day based on historical data.

Flask Tutorial

https://stackabuse.com/deploying-a-flask-application-to-heroku/
A tutorial on how to deploy a Flask app on Heroku server.

Telegram Bot Tutorial Code Base

https://github.com/AliAbdelaal/telegram-bot-tutorial
learn how to make a telegram bot and deploy it on a Heroku server, the bot will be up 24/7, and you can inject your own brain and responses into it.

Autoencoders for Image Reconstruction in Python and Keras

https://stackabuse.com/autoencoders-for-image-reconstruction-in-python-and-keras/
Learn how to compress and decompress images using Keras.

Salma the First Arabic Personal Voice Assistant

http://salma.ai/
The world's first Arabic voice assistant. My responsibility included delivering new features to Salma, from modeling the idea and doing a literature review on the idea to delivering it fully coded and functional.
Together with a wonderful team, we were able to deliver the first Arabic voice assistant.

AraPlagDet

Detects plagiarism in Arabic documents using distance function and machine learning.

The system model the relation between two articles by calculating multiple distance metrics and a machine learning model is trained on these metrics to classify whether there is a plagiarism or not.

Authorship Verification

Verify a tweet’s author by constructing a vector representation for the user by averaging the tweet's vectors that were created using word2vec.

The vectors are weighted with TF-IDF to enable sort of attention to the vectors that are important and a classifier is trained on the weighted vectors to predict the user.

EGBot

Match user input with the correct semi-generated response for a chat-bot that is mainly focused on restaurants, based on TF-IDF and other similarity calculations.

The bot was provided as an API that you can send new data to it to train on and sample of the required responses.

Languages

Python, Regex, Python 3, SQL, C++, C

Frameworks

Flask

Libraries/APIs

Scikit-learn, NumPy, Twitter API, Natural Language Toolkit (NLTK), PyTorch, Matplotlib, SpaCy, Pandas, Keras, TensorFlow, SciPy

Other

Artificial Intelligence (AI), Natural Language Processing (NLP), Machine Learning, Software Development, Data Engineering, GPT, Generative Pre-trained Transformers (GPT), Chatbots, Web Scraping, Recommendation Systems, Deep Learning, Sentiment Analysis, Dashboards

Tools

Git, IBM Watson

Paradigms

Data Science, Parallel Programming

Platforms

Jupyter Notebook, Bluemix, Amazon Web Services (AWS)

Storage

JSON

2013 - 2018

Bachelor's Degree in Computer Engineering

Helwan University - Cairo, Egypt

JUNE 2020 - PRESENT

Natural Language processing

Coursera

APRIL 2020 - PRESENT

Deep Learning

Coursera

JULY 2017 - PRESENT

Machine Learning Specialization

Coursera

FEBRUARY 2017 - PRESENT

Algorithmic Toolbox

Coursera

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