A Primer on Cognitive Computing
According to technology publisher TechTarget[i], “Cognitive computing is “the simulation of human thought processes in a computerized model. Cognitive computing involves self-learning systems that use data mining, pattern recognition and natural language processing to mimic the way the human brain works.”
Other definitions refer to “computer systems modeled after the human brain.”[ii] IBM’s well known foray into the space centered on Watson, which competed with humans in playing Jeopardy, and won. Watson’s expected applications include medicine, finance and a range of consumer facing applications.
The definition put forward by an industry consortium[iii] suggests that cognitive computing “addresses complex situations that are characterized by ambiguity and uncertainty,” that they learn from experience, and understand users’ context and intent.
This Cognitive Computing stuff sounds pretty good. You may be asking yourself, “Where can I get me some of that?”
The potential offered by new approaches at the intersection of technology developments is tremendous, in cloud computing, processing power, machine learning and others. Each of these are at various points in the hype cycle with a great deal of confusion and inflated vendor claims. This confluence of innovations will evolve and mature over the next decade and will create a very different way of interacting with our technologies, the environment, and each other. The question is, how to make intelligent decisions today and prepare the enterprise for developments that are coming.
By understanding some of the components of a cognitive computing approach, one can determine what aspects are most relevant, what deserves deeper investigation, and what is impractical or unfeasible with today’s approaches and tools. Below are three essential components of a cognitive computing system:
1. A way of interpreting input: A cognitive computing system needs to answer a question or provide a result based on a signal. That signal might be a search term or phrase, a query asked in every day, conversational language (“natural language”), or it may be a response to an action of some sort – perhaps hitting a help button or purchasing a particular product.
The first thing a system needs to do is understand the context of the signal. In the case of Siri, one contextual signal is location, another is speed of motion. Each of those contexts will allow the system to narrow the potential responses to those that are more appropriate. Cognitive computing systems need to start someplace – they need to “know” or expect something about the user to interpret the signal. A cognitive computing system built as a shopping assistant “knows” the context of the shopper. One such system built to optimize marketing offers “knows” the parameters of the offer and the audience that the offer will be presented to. The more contextual clues that can be derived, defined or implied, the easier it will be to narrow the appropriate types of information to be returned. At one level, cognitive computing can be considered a type of advanced search or information retrieval mechanism.
2. A body of information that supports the decision: The purpose of cognitive computing is to help humans make choices and solve problems. This is not done in a vacuum. The system does not make up the answer. Though some might argue that this is the ultimate goal, even synthesis of new knowledge is based on foundational knowledge.
The “corpus” or domain of information is a key component of a cognitive computing system. The more effectively that information is curated, the better the result. In some ways, this is knowledge management 101 or even content management 101. It means that knowledge structures are important, that taxonomies and metadata are required, and some form of information hygiene is required. (I can hear the collective disappointment – I am sure there are many people who thought that this new way of doing things would obviate the old fashioned approaches of capturing and managing knowledge assets.)
Creating and maintaining information structures is not very exciting or interesting to many people. But the fact is, many applications and environments require highly vetted, curated information sources as a foundation for cognitive computing applications. Question-answering systems, intelligent agents and field service expert applications come to mind. High-value knowledge and information can be made more accessible and useable through cognitive computing systems; however, the quality of that core knowledge is essential to the success of the application. Judith Hurwitz, Marcia Kaufman, and Adrian Bowles’ excellent book Cognitive Computing and Big Data Analytics devotes a chapter to representing knowledge in taxonomies and ontologies and states “to create a cognitive system, there needs to be organizational structures for the content,” which “provide meaning to unstructured content.”
IBM’s Watson ingested many structured and semi structured repositories of information: dictionaries, thesauri, news articles and databases, taxonomies, and ontologies such as DBpedia, Wikipedia, and Wordnet.[iv] These sources provided the information needed to respond to questions – they formed the corpus of information that Watson drew upon.
An article in KMWorld suggested that “by synthesizing the complex and unique customer context, and comparing it to similar past scenarios in real time, the system can help identify reliably the best customer actions to take, such as best resolution, best product, best follow-up, etc.”[v] This ability requires that the system somehow model ‘customers,’ ‘context,’ and ‘scenarios’ as well as ‘products’ and ‘resolutions.’ This initial modeling requires a non-trivial investment of time and expertise to build the foundational elements from which the system can then synthesize responses. Each of these actions requires content modeling and metadata structures, use cases, and a customer engagement strategy and approach.
3. A way of processing the signal against the body of information: This component is where elements such as machine learning come into play. In fact, machine learning has long been applied to categorization and classification approaches, text analytics and processing, and search index creation. The processing might be in the form of a query/matching algorithm or may entail other mechanisms to interpret the query, transform it, disambiguate, derive syntax, define word sense (context of “stock” for example – a financial instrument or a farm animal), deduce logical relationships or otherwise parse and process the signal against the body of information.
Machine learning has many incarnations – from various types of supervised learning approaches where a known sample or result is used to teach the system what to look for, to classes of unsupervised approaches where the system is simply asked to find patterns and outliers and even combinations of these approaches at different stages of the process. (An unsupervised learning approach could find hidden structures and then the output could be applied as a “training set” to another source of data).
The key here is to iteratively improve the system’s performance over time by approximating an output and using that as an input for the next round of processing. In some cases, incorrect answers (as judged by a human or another data source) might be input for the next time the system encounters the problem or question. Systems can also optimize over time to meet a target state or condition, such as providing the most efficient operating parameters for a piece of industrial equipment or maximizing sales to a particular customer base through multiple offers.