Jan 17, 2017

Rise of Machine Learning, Artificial Intelligence & Natural Language Processing

Deciphering Intention and Meaning

Machine Learning, Artificial Intelligence and Natural Language Processing (NLP) are transforming the technological landscape in a wide range of applications. Three primary uses are predictive analytics, deductive reasoning and natural language understanding. Interfaces for domains such as search and geolocation are increasingly natural-language-like instead of using rigid menu-driven, or programming-language-like interfaces. The task of understanding the user's intention requires complex systems based on machine learning, training data, NLP algorithms modeling theoretical linguistics, or a combination of these techniques. Secondly, machine learning allows us to predict user intention based off of previous user data and tendencies. This gives search systems the ability to more accurately provide suggestions to the user, or recommendations for new search avenues. Powerful technologies like this have applications in product recommendation, CRM systems, information retrieval, and many other areas.

Defining the New Language Technologies

Customers and end users in a wide variety of domains now demand fluid, natural language interfaces to search, information retrieval, and CRM systems to make access to information easier, more relevant, and faster. Behind all of this are three advanced technologies: machine learning, artificial intelligence, and natural language processing.

Machine learning refers to the ability of computers to learn from data gathered in it's previous experience so that can make inferences on it's decisions and behavior when it encounters new data. It evolved from the field of pattern recognition and computational learning theory. Whereas more traditionally programmed systems follow static rules for behavior, machine learning systems adapt their behavior based on training data and continuously evolving new data it gathers. Thus, they tend to be more flexible and adaptive than the otherwise rigid rule-based systems. Machine learning systems draw on several fields such as mathematics, probability, computer science, etc.

Artificial intelligence refers to the ability of computers to make intelligent, human-like decisions. This is related to machine learning as decisions can be made with respect to learned data as opposed to making static decisions. Additional, models for assumptions about the world can be created and deductive reason can be applied on these models. Ultimately the goal is to produce accurate decisions on par with human deduction.

Natural language processing refers to the use of computer algorithms to model various aspects of the structure and understanding of human language. This includes phonology, morphology, syntax, and semantics.

What problems can Machine Learning, Artificial Intelligence, and NLP solve?

What is the weather going to be like tomorrow? Which accounts were created last week? Who are the most popular musicians of our day? These are all questions that Machine Learning, Artificial Intelligence, and Natural Language Processing can solve.

Predicting the future of events given what we know about past data is a powerful technique we can use in many practical applications. Things such as weather, traffic, or even stock market prices can be foreseen using predictive analytics, which is a Machine Learning technique.

Using artificial intelligence we can also perform deductive reasoning. Asking a question like "Which are similar to golden retrievers?" requires knowledge about the world, and also needs reasoning to answer the question at hand. Knowledge systems are supplemented with a model of the world, namely that a golden retriever is a type of dog. So, we can deduce the user wants to know about more dogs. Using AI we can figure this out.

Natural Language Processing, or NLP, helps us analyze a question using linguistic structure. All phrases in natural language exhibit a structure, and knowing the structure helps guide our understanding of the users question. If we ask "Which accounts were created last week?", we can find 'accounts' and 'last week' precisely from this structure and then add this information to our understanding of the question. The goal of NLP algorithms is to get pertinent linguistic structure information and ultimately use that information to understand the user's question.

Ways to Employ These Technologies

Are these advanced technologies a silver bullet? What are some alternative approaches to solving these kinds of problems? What are the advantages and disadvantages of both?

Well, the answer to these questions depends. In problems which are very open, like language understanding, machine learning-based approaches are very useful because they allow us to account for the unknown. New vocabulary is created every day, and rule-based systems which do not use machine learning techniques can only operate as they are programmed to. However, machine learning techniques can adapt to new data. On the other hand, machine learning requires large amounts of stored data to operate, which is an additional cost a business must incur if it is not readily available in their domain.

In contrast, very closed problems which only have so much variation are better suited to precise, rule-based systems. This means less computational cost, server upkeep, and other business cost savings for a company. However, these rule-based systems tend to be very fragile. If new, unaccounted for data is encountered, system behavior may be undesired or outright incorrect.

Since the popularity of social media has surged over the past decade and the technical limitations of communication have been overcome through the widespread use of the internet, an excess of data has been produced spanning a wide variety of topics including social network structure, consumer behavior, and end-user product usage. This data exhibits such a wide range of variation that traditional rule-based techniques for analysis are insufficient. Thus, using machine learning, artificial intelligence, and NLP has become crucial to stay ahead of the wealth of data, and deliver life-enriching products to market.

Applications in CRM

Oracle Service Cloud and Oracle Sales Cloud present two prime applications of these advanced technologies in CRM. Sales and service users tend to be non-technical, and current systems expect them to have intimate knowledge of database structure. Furthermore, when browsing records, users have to take several clicks through several menus to hone in on which records they wish to access. Current open-query style search interfaces simply perform keyword matches on search terms, and are not sophisticated enough to analyze user restrictions on a given query. NLP allows us to have a single search box which analyzes their query for restrictions on the type of records they wish to access. For example, we could ask "what accounts were created last week", or "which accounts were closed by Smith", and yield accurate results. This makes things quicker for the sales or service user, and allows businesses to save on training costs for sales and service representatives.

Applications in Knowledge Management

Oracle Knowledge Management and Oracle Info Center are knowledge management systems whose domains are open, customizable, and configurable depending on a businesses domain and organizational needs. These systems are designed to handle tens of thousands to hundreds of thousands of an organization's knowledge, and searching and maintaining this amount of data requires significant training. Advanced technologies like machine learning, artificial intelligence, and NLP can help make the search workflow of company users quicker, less technical, and make an organizations processes more fluid overall.

Future Directions

Advanced technologies such as machine learning, artficial intelligence, and NLP will continue to shape our future by making information more accessible to users as well as making systems smarter and more user-centric with less manual specification. Applications in CRM and knowledge management are only two of the infinite possibilities.

.   .   .

Does your organization use NLP, Machine Learning, or Artificial Intelligence in it's products? Can your software be more intelligent by applying these techniques?

.   .   .

.   .   .

This post was written by Ray Mendoza, Principal Engineer at SoftClouds. His background is in Natural Language Processing and he has a wide range of research experience in semantic modeling, distributional analysis, and computational methods. He has applied NLP techniques in industry in a wide range of settings including medical coding, knowledge management, computer-assisted diagnosis systems. He holds a Ph.D. in Mathemathical Behavioral Science from UC Irvine.