Clarity on Artificial Intelligence, Machine Learning and NLP
My previous article (link) looked at how RPA and AI could be combined to make a more flexible solution.
When speaking with clients, I often use the term AI as an encompassing term for all intelligent systems. After years of doing so, it still makes my eye twitch a little bit!
That's because a lot of the solutions we talk about aren't AI as such. There's machine learning, deep learning, NLP and data science to name but a few. Some are branches of AI, and some are implementations of different branches.
Here's a simple diagram that tries to illustrate the relationship:
I thought it would be useful to collate and outline what I believe each of those areas to be, and also hopefully get some feedback on how others are defining things.
So let's start with the overriding term Artificial Intelligence.
Artificial Intelligence
"In computer science, artificial intelligence (AI), sometimes called machine intelligence, is intelligence demonstrated by machines, in contrast to the natural intelligence displayed by humans and animals."
Not the most natural definition maybe. Maybe a better phrase could be:
"Any computer system, which, through algorithms and data, can process and reason to a human-equivalent outcome."
Let's break that down.
When we talk about AI, we're talking about algorithms. At a basic level, that means code that operates on data. The code may have produced by humans, or generated by algorithms, based on training.
The data could be anything such as sales, customer purchases, IoT (Internet of Things) sensors or video (think autonomous cars). To an algorithm, it's just data.
AI then relies on other branches such as natural language processing and deep learning to make sense of the data, and identify patterns to infer an output.
The outputs could be tagging (detecting traffic, tracking a human face) or maybe classification (such as is the traffic a bike or a lorry, or is there a likelihood that a component might fail).
As you can see above, AI is the catch-all for anything to do with intelligent systems.
Machine learning
"Machine learning (ML) is the scientific study of algorithms and statistical models that computer systems use to perform a specific task without using explicit instructions, relying on patterns and inference instead."
Not bad!
So we mostly classify machine learning (or ML) as a subset of AI. And today, together with deep learning (see below) it forms the bulk of what we might consider AI systems and solutions to be.
At its core, ML is about applying advanced statistical models (algorithms) to vast amounts of data, to both learning and infer correlation. We can use these models on new data to help us predict outcomes.
Much of the focus in ML is the production of algorithms that can self-learn or infer from training data. Of course, there are different levels to that as well.
Supervised Learning (SL)
A data scientist would typically produce training data for the models. As such, the training data should be a good sample of the real-world data which the model would eventually see in production. Usually, the training data includes many fields (variables) and a single output (target).
An ML algorithm processes the records (variables & target), to build an internal representation of the inference within the data. Once the model is complete, it can then be used on new data, to generate predictions (or target values).
Unsupervised Learning (USL)
These algorithms typically do not have prepared data. There's no labelling of variables, just the data stream. Instead, it focused on identifying hidden patterns between the data. An example of this may be cluster analysis, which an exploratory data analysis method to find hidden groups within data.
Additionally, the output from unsupervised learning could be generative models. These models would allow you to generate synthetic data based on the previously seen data.
Semi-supervised machine learning (SSML)
SSML is a combination of the above, where you have a smaller amount of labelled data (including a target), and a more substantial amount of unlabelled (or unstructured data) included in the set.
The aim is to help identify in the data, correlations and inference which may not have otherwise seen. It also can help where the preparation of the data (labelling) is time-consuming or expensive. Often the unlabelled data can help to improve the learning accuracy of the labelled data by providing additional data points.
Reinforcement machine learning (RL)
Unlike the other approaches above, reinforced learning are aware of the impact of their choices, and can adapt their underlying models as needed to achieve the correct outcome.
Being aware of the environment means that the RL algorithms are rewarded (for positive outcomes) and punished (for adverse outcomes). From this feedback loop, the model (or agent) can learn.
Reinforced models have been used to great success for areas such as games (Chess, Online gaming) and trading (when to buy, sell or hold a financial security).
Deep learning
"Deep learning (also known as deep structured learning or differential programming) is part of a broader family of machine learning methods based on artificial neural networks with representation learning. Learning can be supervised, semi-supervised or unsupervised."
Deep learning introduces the concepts of artificial neural networks. These are information and communication patterns modelled on biological systems such as the human brain.
A pivotal element to deep learning models is multiple levels of understanding. A single model may have different levels for interpreting the data coming in. For example, with vision systems, you may have early levels to identify the outline of individual objects, and deep levels to tag what those elements are.
NLP (Natural Language Processing)
"Natural language processing (NLP) is a subfield of linguistics, computer science, information engineering, and artificial intelligence concerned with the interactions between computers and human (natural) languages, in particular how to program computers to process and analyze large amounts of natural language data."
NLP underpins a considerable amount of the AI we interact with today. Virtual agents such as Alexa and Siri, and Chatbot technology deployed by leading companies to help with customer service all rely on NLP to aid in the understanding of what the customer is conveying.
Covering both spoken and written language, NLP breaks down conversations into utterances and looks for intent (meaning) and objects (entities).
The intent gives us the reason for the conversation. For example, a customer may say "My phone doesn't work". The intent is to get help from Support.
The entity often refers to objects or services that referred to as part of the intent. In the above example, NLP would have pulled 'phone' out as an entity.
Entities are essential, as the customer may seek the same intent for different entities.
Imagine a company that offers both TV, Mobile and Broadband. A customer may say:
- "My TV has a blank screen".
- "My phone wouldn't make a call".
- "I can't browse the internet".
Each of these would map to the intent of Support, but the entity would allow the company to map the contact to the right support group.
- "My TV has a blank screen" -> Intent: Support, Entity: TV -> TV Support Group
- "My phone wouldn't make a call" -> Intent: Support, Entity: Phone -> Phone Support Group
- "I can't browse the internet". -> Intent: Support, Entity: Broadband -> Broadband Support Group
Further research
If you're interested in learning more, feel free to reach and ask any questions. I'm always happy to talk (for hours) about this!
I'll leave you with this great mindmap I found as well, in case it helps with the google searches!
Conclusion
When someone says AI, they're typically referring to a specific, rather than the catch-all term.
The next time you hear AI, why not ask which type of AI the speaker is discussing. You're bound to learn something new!
If you enjoyed this article, please consider giving it a like below, and maybe sharing it with your network.