Monday, 8 August 2016

Scala NLP: Machine Learning Basics

Post Brief TOC:

  • Introduction
  • What is NLP
  • What is Machine Learning (ML)
  • Scala and Spark ML Frameworks
  • Types of ML Problems and Tasks
  • Scala NLP

Introduction

In this post, we are going to discuss about Scala NLP and Machine Learning Basics. We will list out what are all the different Scala Frameworks available in the Market for Machine Learning.

We will discuss those frameworks in detail in my coming posts.

What is NLP? 

NLP Stands for Natural Language Processing.

Natural Language Processing is a combination of the following three techniques:
  1. Computer Science (CS)
  2. Artificial Intelligence (AI)
  3. Computational Linguistics (CL)
NLP is used to understand the interactions between Human and Computer. That means understanding about Human Languages (Natural Languages).  

NLP technique have many Algorithms. We can use all these NLP Algorithms for Machine Learning and Scientific Computation.

What is Machine Learning?

Machine Learning (ML) is a technique used to understand the system without developing any programs.

That means by analysing Data and Algorithms, we can understand the system. We don't need to develop any programs explicitly.

We can perform ML using different frameworks and Languages. Some popular Languages/Frameworks are:

  • Apache Spark
  • Scala
  • Python
  • R Framework
  • DOT NET Framework etc

Spark & Scala ML Frameworks:

Scala has many Frameworks for Machine Learning (ML), Scientific Computation and BigData Data Science.

The following are the following Scala/Spark ML Frameworks:
  • Breeze
  • Deeplearning4j
  • MLlib
  • Epic
  • Puck
  • DynaML
BigData Data science is technique to analyse the data and generate statistics.

Types of ML Problems and Tasks

Machine Learning Problems and Tasks are classified into the following three main categories:
  1. Supervised learning
  2. Unsupervised learning
  3. Reinforcement learning

Scala NLP

ScalaNLP is a suite of machine learning and numerical computing libraries.

ScalaNLP is the umbrella project for several libraries, including Breeze and Epic. Breeze is a set of libraries for machine learning and numerical computing. Epic is a high-performance statistical parser and structured prediction library.

Thank you for reading my posts.

Please drop me a comment if you like my posts or have any suggestions or issues.