Why NLP is a Great First AI Solution for Businesses
ModelingNLP/Text Analyticsposted by Alex Amari
June 19, 2018
The world of the C-suite isn’t quite ready to embrace artificial intelligence just yet. That’s according to an oft-cited Accenture study from late 2016,…
The world of the C-suite isn’t quite ready to embrace artificial intelligence just yet.
That’s according to an oft-cited Accenture study from late 2016, which found that less than half of the 1,700 business leaders interviewed in a global sample would feel comfortable trusting the advice of AI “in making business decisions.” Interviews with executives revealed that many were unsure of the technology’s usefulness, or at least its capacity to add value to their companies. Even those convinced by the promise of AI worried that implementation costs would prove too much for an investment to make sense.
The good news for companies still taking their first steps down the AI path is that there already exist affordable and straightforward AI solutions for business. Chief among them is natural language processing, more commonly known as NLP.
Simply put, NLP is the science of training machines to understand human language. In a time when cars drive themselves and robots do backflips, it’s easy to underestimate the difficulty of this task. In reality, human language is extraordinarily complicated, full of contextual rules and inflections that we take for granted.
NLP in Business
For decades, researchers tried to build ‘expert systems’ that could interpret text and speech by analyzing every possible meaning for words and sentences, a sort of massive phrasebook translating “human to machine.” Perhaps unsurprisingly, they didn’t get very far. More recently, breakthroughs in machine learning have allowed programmers to train algorithms with vast quantities of human language data. Instead of the massive phrasebook trying to remember all the sentences, new NLP programs use probability and inference to make guesses about their meanings. And as it turns out, they’re getting very good at it.
Part of what makes NLP a great solution for enterprises is its end-user simplicity; once the programs have been built, they’re remarkably easy to use. The complex mechanics of an NLP system’s back-end can be neatly encapsulated within a user-friendly interface, meaning that most employees will rarely need technical expertise, and customers will be able to easily adapt. In fact, if you use Google Translate, or voice assistants like Siri or Alexa, you’re already using NLP. Thus, ‘AI solutions’ need not always entail advanced software engineering or data consulting in their implementation, but they can still result in considerable gains in workplace efficiency.
Using AI can be as simple as installing and syncing Alexa throughout a company’s office spaces, a service which Amazon is already providing as part of its Web Services business. Perhaps the most common use of NLP in business comes in the form of chatbots – programs designed to simulate conversations with people in areas like sales or technical support. Gartner forecasts that bots like these will automate up to 85% of customer interactions by 2020, and the market for them has been growing exponentially.
More Than Just Chatbots and Voice Assistants
NLP, however, can provide a lot more than chatbots and voice assistants. Another thing that makes NLP a great initial foray into the world of AI is its integration capability with ‘unstructured data,’ meaning information that’s not neatly organized in ways that computers traditionally deal with. Examples of unstructured data include handwritten documents, audio clips of human conversations, text message, photos and video. As much as 80% of the data in the business world today is stored in these unstructured mediums which means that it’s difficult or nearly impossible to analyze through conventional data science tools like Microsoft Excel.
Given the vastness of these datasets, it’s impractical to have human analysts deeply evaluate them in search of patterns or trends that could add value to a business. By analyzing unstructured data at superhuman speeds, NLP is helping with all kinds of business tasks. Consider just a few examples:
- Administrative: NLP can automate the processes of searching, modifying, and even changing business documents. Often, the ability to contextualize information allows NLP algorithms to find mentions of particular subjects even when the relevant keywords are absent.
- Branding: NLP algorithms can monitor Internet channels for mentions of a particular company or brand, painting a fuller picture of its online persona. NLP systems can also alert companies to the efforts of malicious actors trying to attack their reputation with fake posts or negative ad campaigns.
- Customer management: As we’ve seen, NLP-powered chatbots are already streamlining customer interactions for businesses small and large. NLP systems can also help generate leads by analyzing various channels for particular words, phrases, or profiles.
The same Accenture study that identified areas of AI-uncertainty among business leaders also urges them to begin exploring the new technology, even if that means taking small steps:
“Now is the time for executives to get themselves and their organizations started on experimenting with AI and learning from these experiences. If the labor market’s shortage of analytical talent is any guide, executives can ill afford to “wait and see” if they and their managers are equipped to work with AI and capable of acquiring the essential skills and work approaches.”
Versatility and usability make NLP an ideal first AI step for businesses of all kinds, creating efficiencies in the short run, and preparing them for more intricate AI solutions in the future.
A simple neural network with Python and Keras – Data Science Central
A simple neural network with Python and Keras
This article was written by Adrian Rosebrock. Adrian is an entrepreneur and Ph.D who has launched two successful image search engines, ID My Pill and Chic Engine.
If you’ve been following along with this series of blog posts, then you already know what a hugefan I am of Keras. Keras is a super powerful, easy to use Python library for building neural networks and deep learning networks. In the remainder of this blog post, I’ll demonstrate how to build a simple neural network using Python and Keras, and then apply it to the task of image classification.
A simple neural network with Python and Keras
To start this post, we’ll quickly review the most common neural network architecture — feedforward networks. We’ll then write some Python code to define our feedforward neural network and specifically apply it to the Kaggle Dogs vs. Cats classification challenge. The goal of this challenge is to correctly classify whether a given image contains a dog or a cat. Finally, we’ll review the results of our simple neural network architecture and discuss methods to improve it.
Feedforward neural networks
While there are many, many different neural network architectures, the most common architecture is the feedforward network:
In this type of architecture, a connection between two nodes is only permitted from nodes in layer i to nodes in layer i + 1 (hence the term feedforward; there are no backwards or inter-layer connections allowed). Furthermore, the nodes in layer i are fully connected to the nodes in layer i + 1. This implies that every node in layer i connects to every node in layer i + 1. For example, in the figure above, there are a total of 2 x 3 = 6 connections between layer 0 and layer 1 — this is where the term “fully connected” or “FC” for short, comes from. We normally use a sequence of integers to quickly and concisely describe the number of nodes in each layer. For example, the network above is a 3-2-3-2 feedforward neural network:
- Layer 0 contains 3 inputs, our values. These could be raw pixel intensities or entries from a feature vector.
- Layers 1 and 2 are hidden layers, containing 2 and 3 nodes, respectively.
- Layer 3 is the output layer or the visible layer — this is where we obtain the overall output classification from our network. The output layer normally has as many nodes as class labels; one node for each potential output. In our Kaggle Dogs vs. Cats example, we have two output nodes — one for “dog” and another for “cat”.
To read more, click here. For other articles about python and keras, click here.
Top DSC Resources
- Article: What is Data Science? 24 Fundamental Articles Answering This Question
- Article: Hitchhiker’s Guide to Data Science, Machine Learning, R, Python
- Tutorial: Data Science Cheat Sheet
- Tutorial: How to Become a Data Scientist – On Your Own
- Categories: Data Science – Machine Learning – AI – IoT – Deep Learning
- Tools: Hadoop – DataViZ – Python – R – SQL – Excel
- Techniques: Clustering – Regression – SVM – Neural Nets – Ensembles – Decision Trees
- Links: Cheat Sheets – Books – Events – Webinars – Tutorials – Training – News – Jobs
- Links: Announcements – Salary Surveys – Data Sets – Certification – RSS Feeds –