A Machine learning roadmap for Web Developers

6 min read

Now that you’ve opened this article, I’ll assume you’re a web developer who is all excited with the prospect of building a machine learning project. You may be here for one of these reasons.

  1. Either you have been in a circle of people who find web development is dying? (Is it really dying or just unwell?). Or maybe you are stagnating in your current trajectory. And so, you want to learn something different, something trending, something like Artificial Intelligence.
  2. Or you/your employer/your client is aware of the capabilities of machine learning and want to include it in some part of your web app to make it more powerful.
  3. Or like the majority of the folks, you just want to see first hand if all the fuss about artificial intelligence is really worth all the effort to switch gears, by building a side toy ML project.

Either way, there are different approaches to fulfill these needs.

Learning Machine Learning for the Web with Javascript

Learning machine learning coming from a web development background comes with its own constraints. You might worry about having to learn entirely different concepts from scratch – from different algorithms to programming languages like Python to mathematical concepts like linear algebra, calculus, and statistics.

However, chances are you can skip learning a new language. You probably know some Javascript in some form or the other thanks to your web development experience. As such, you can learn Machine Learning in JavaScript (You don’t have to learn another programming language from scratch) and take it right to your browsers with WebGL.

There are some advantages to using JavaScript for ML. Its popularity is one; while ML in JavaScript is not as popular as Python’s ML ecosystem, at the moment, the language itself is. As demand for ML applications rises, and as hardware becomes faster and cheaper, it’s only natural for machine learning to become more prevalent in the JavaScript world.

The JavaScript ecosystem offers a rich set of libraries suited for most Machine Learning tasks.

  • Math: math.js
  • Data Analysis: d3.js
  • Server: node.js (express, koa, hapi)
  • Performance: Tensorflow.js (e.g. GPU accelerated via WebGL API in the browser), Keras.js etc.

Read also: 5 JavaScript machine learning libraries you need to know

BRIIM is a good collection of materials to get you started as web developer or JavaScript enthusiast in machine learning.

In case you’re interested in learning Python instead of Javascript, here are the set of libraries you should pick.

  • Math: numpy
  • Data Analysis: Pandas
  • Data Mining: PySpark
  • Server: Flask, Django
  • Performance: TensorFlow (because it is written with a Python API over a C/C++ engine) or Keras (sits on top of TensorFlow).

Using Machine Learning as a service

If you don’t want to spend your time learning frameworks, tools, and languages suited for machine learning, you can adopt Machine Learning as a service or MLaaS. These services provide machine learning tools as part of cloud computing services. So basically, you can benefit from machine learning without the allied cost, time and risk of establishing an in-house internal machine learning team. All you need is sufficient knowledge of incorporating APIs. All Machine Learning tasks including data pre-processing, model training, model evaluation, and predictions can be completed through MLaaS.

Read also: How machine learning as a service is transforming cloud

A large number of companies provide Machine Learning as a service. Most prominent ones include:

Amazon Machine Learning

Amazon ML makes it easy for web developers to build smart applications using simple APIs. This includes applications for fraud detection, demand forecasting, targeted marketing, and click prediction. They provide a Developer Guide, which provides a conceptual overview of Amazon ML and includes detailed instructions for using the service. They also have a API reference, which describes all the API operations and provides sample requests and responses for supported web service protocols.

Azure ML web app templates

The web app templates available in the Azure Marketplace can build a custom web app that knows your web service’s input data and expected results. All you need to do is give the web app access to your web service and data, and the template does the rest.

There are two available templates:

Each template creates a sample ASP.NET application by using the API URI and key for your web service. The template then deploys the application as a website to Azure. No coding is required to use these templates. You just supply the API key and URI, and the template builds the application for you.

Google Cloud based APIs

Google also provides machine learning services, with pre-trained models and a service to generate your own tailored models. Google’s Cloud AutoML is a suite of machine learning products that enables developers with limited machine learning expertise to train high-quality models specific to their business needs. Cloud AutoML is used by Disney on their website shopDisney to enhance guest experience through more relevant search results, expedited discovery, and product recommendations.

Building Conversational Interfaces

As a web developer, another thing you might be looking into, is developing conversational interfaces or chatbots to enhance your web apps. Amazon, Google, and Microsoft provide Machine learning powered tools to help developers with building their own chatbots.

Amazon Lex

You can embed chatbots in your web apps with the Amazon Lex featuring ASR (Automatic Speech Recognition) and NLP (Natural Language Processing) capabilities. The API can recognize written and spoken text and the Lex interface allows you to hook the recognized inputs to various back-end solutions. Lex currently supports deploying chatbots for Facebook Messenger, Slack, and Twilio.

Google Dialogflow

Google’s Dialogflow can build voice and text-based conversational interfaces, such as voice apps and chatbots, powered by AI. Dialogflow incorporates Google’s machine learning expertise and products such as Google Cloud Speech-to-Text. The API can be tweaked and customized for needed intents using Java, Node.js, and Python. It is also available as an enterprise edition.

Microsoft Azure Cognitive Services

Microsoft Cognitive Services simplify a variety of AI-based tasks, giving you a quick way to add intelligence technologies to your bots with just a few lines of code. It provides tools and APIs for aiding the development of conversational interfaces. These include:

  • Translator Speech API
  • Bing Speech API to convert text into speech and speech into text
  • Speaker Recognition API for voice verification tasks
  • Custom Speech Service to apply Azure NLP capacities using own data and models
  • Language Understanding Intelligent Service (LUIS) is an API that analyzes intentions in text to be recognized as commands
  • Text Analysis API for sentiment analysis and defining topics
  • Bing Spell Check
  • Translator Text API
  • Web Language Model API that estimates probabilities of words combinations and supports word autocompletion
  • Linguistic Analysis API used for sentence separation, tagging the parts of speech, and dividing texts into labeled phrases

Read also: Top 4 chatbot development frameworks for developers

These tools should be enough to get your feet off the ground quickly and move into the specific area of machine learning. Ultimately your choice of tool relies on the kind of application you want to build, your level of expertise, and how much time and effort you’re willing to put to learn. Obviously, depending on your area of choice, you would have to do more research and develop yourself in those areas.

Read Next

How should web developers learn machine learning?

5 examples of Artificial Intelligence in Web apps

The most valuable skills for web developers to learn in 2018


Please enter your comment!
Please enter your name here