Edit Distance and Jaccard Distance Calculation with NLTK

Edit Distance

Edit Distance (a.k.a. Levenshtein Distance) is a measure of similarity between two strings referred to as the source string and the target string.

The distance between the source string and the target string is the minimum number of edit operations (deletions, insertions, or substitutions) required to transform the source into the target. The lower the distance, the more similar the two strings. 

Continue reading “Edit Distance and Jaccard Distance Calculation with NLTK”

Building Basic Chatbots for Facebook Messenger

Why Chatbots?

ChatBots have been a popular technology for many years, but with the recent advances in the fields of Natural Language Processing (NLP), Machine Learning (ML), and Artificial Intelligence (AI), many new and interesting uses for Chatbots have arisen. ChatBots have usually been deployed for automatically answering questions of users, but nowadays they can be programmed for more engaging behaviors, such as suggesting topics based on users profiles and interests. Nowadays, many APIs can be used by the Chatbots for answering users’ questions. For example, if someone asks the Chatbot “what is the expected weather for today?” the Chatbot can refer to an API such as OpenWeatherMap and answer the question.

In this tutorial, you will learn the basic concepts behind building a Chatbot.

Continue reading “Building Basic Chatbots for Facebook Messenger”

Text Classification with Pandas & Scikit

In this tutorial, we introduce one of most common NLP and Text Mining tasks, that of Document Classification. Note that while being common, it is far from useless, as the problem of classifying content is a constant hurdle we humans face every day. It is important to know basic elements of this problem since many of them can be used for other tasks such as sentiment analysis.

Continue reading “Text Classification with Pandas & Scikit”

9 Best Python Online Courses on Udemy

With online courses, you can study anywhere, at the time suitable for you, get full lifetime access, and a Certificate of Completion. It is a wonderful experience that enables you to be taught by international skillful instructors whom you might not get the chance to meet otherwise. Nowadays, e-learning is a great advantage of technology that enables you to easily improve your skills and enjoy the learning experience.

In this article, we are trying to recommend the 9 best Python courses currently available on Udemy, the prominent online courses platform.

Continue reading “9 Best Python Online Courses on Udemy”

Data Extraction from APIs with Python – Currency Exchange

There are several popular platforms that give developers access to their “web services”, aka “APIs” (Application Programming Interface). So using APIs is the official way for data extraction and doing other stuff allowed by such applications. You can even benefit from some APIs to build other applications. REST APIs usually generate output in JSON or XML format because most of programming languages can handle these formats easily. In fact, JSON (JavaScript Object Notation) is very similar to data types in programming languages; for example, it is very similar to Python dictionaries. If a REST API allows you to get the data you want to retrieve, then you do not need regular web scraping.

Some APIs require authentication (API Key or Client ID and Client Secret, similar to a username and password, so to speak) to control their usage, and some do not. We will explain this later in multiple APIs. For the purpose of clarifying the basics, we will start with a very simple currency rate conversion API that does not require any authentication.

So this tutorial explains how to use Python to extract data from ExchangeRatesAPI.io which is -according to its official website- “a free service for current and historical foreign exchange rates published by the European Central Bank.” Continue reading “Data Extraction from APIs with Python – Currency Exchange”