Sentences sentiment analysis with CNN

Opinion mining (sometimes known as sentiment analysis or emotion AI) refers to the use of natural language processing, text analysis, computational linguistics, and biometrics to systematically identify, extract, quantify, and study affective states and subjective information. Sentiment analysis is widely applied to the voice of the customer materials such as reviews and survey responses, online and social media, and healthcare materials for applications that range … Continue reading Sentences sentiment analysis with CNN

Word similarity and analogy with Skip-Gram

In this post, we are going to show words similarities and words analogies learned by 3 Skip-Gram models trained to learn words embedding from a 3GB corpus size taken scraping text from Wikipedia pages. Skip-Gram is unsupervised learning used to find the context words of given a target word. During its training process, Skip-Gram will learn a powerful vector representation for all of its vocabulary … Continue reading Word similarity and analogy with Skip-Gram

RNN: Recurrent Neural Networks

In normal feed-forward neural networks the activation flows only in one direction, from the input layer to the output layer, eventually passing through a set of hidden layers. Conversely, recurrent neural networks (RNN) have also connections pointing backward, thus allowing them to take also the temporal dimension into account. This novel architecture enables them to take as their input not just the current input xi … Continue reading RNN: Recurrent Neural Networks

Analysis of parallel version of PageRank algorithm

In this post we are going to analyze a simplified parallel version of the famous algorithm PageRank, the algorithm used by Google Search to rank web pages in their search engine results. The code of the algorithm has been written in C++ exploiting the library OpenMP to parallelize the code. Finally it has been tested over different number of threads as well as different scheduling policies in order to compare … Continue reading Analysis of parallel version of PageRank algorithm

Generating new Anime faces with DCGAN

If I ask you the question “do you like anime characters?”, then it’s very likely that most of you would answer “yes” and that some of you would even admit that anime has been part of their childhood. Although most people, regardless their age, enjoy watching them, only a few people can actually draw them from scratch and even less people have mastered this skill … Continue reading Generating new Anime faces with DCGAN

The hacker, the photographer and the rival: Path Traversal

Artbit is an online social network where users can register for free and upload their own digital pictures in order to share them with the world and get popularity. To attract more visitors, the creators of the social network have launched a challenge on their platform which will reward the user who will upload the best picture. Any user can join the competition by simply … Continue reading The hacker, the photographer and the rival: Path Traversal

Playing Pacman with Multi-Agents Adversarial Search

In this post we are going to design various artificial intelligence agents to play the classic version of Pacman, including ghosts and capsules. Pacman is a famous Atari game developed back in 1979 by a nine-persons team and then released in 1980 by the former Japanese developer and publisher of arcade video games Namco. The great success the game had at the time, made it … Continue reading Playing Pacman with Multi-Agents Adversarial Search

AIs Battle Royale: The ultimate snake

In a previous post, we developed two AIs to play the game of Snake, of which, the first one implements a heuristic algorithm to select its moves while the second one consists of a deep neural network trained with a reinforcement learning algorithm (Deep Q-Learning). Afterward, in a second post, we used a genetic algorithm to create different generations of snakes where the best individuals … Continue reading AIs Battle Royale: The ultimate snake

Teaching AI to play Snake with Genetic Algorithm

Supervised learning, unsupervised learning and reinforcement learning are commonly recognized as the three main ways to train machine learning models. We can have a fourth one if we include the union of the first two, that is, semi-supervised learning. However, in this post we are going to introduce an alternative algorithm that can be used to both train and optimize neural network models: Genetic Algorithm. … Continue reading Teaching AI to play Snake with Genetic Algorithm