1. Getting the definition right
At present, there is no single agreed upon definition for cognitive computing. One of the best definitions I have come across is that of Bernard Marr’s. He defines Cognitive Computing “as 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.”
2. Technologies that fuel Cognitive Computing
One of the most common misconceptions among the general public is that Cognitive Computing is a standalone technology. But Cognitive Computing is a concept that is a combination of multiple technologies that helps it to mimic the human thought process. Some of the key technologies that enable Cognitive Computing are
- Machine Learning - Machine learning (ML) is a discipline where a program or system can learn from existing data and dynamically alter its behavior based on the ever-changing data. Therefore, the system has the ability to learn without being explicitly programmed. Machine Learning algorithms can be broadly categorized as classification, clustering, regression, dimensionality reduction and anomaly detection etc. The machine Learning module acts as the core computing engine, which using algorithms & techniques helps Cognitive Systems to identify patterns, perform complex tasks like prediction, estimation, forecasting and anomaly detection.
- Machine Reasoning - Machine reasoning (MR) systems generate conclusions from available knowledge by using logical techniques like deduction and induction. Machine Reasoning acts as the brain or decision engine within a Cognitive System. Machine reasoning systems are mainly employed to reason / validate the outcomes of other modules like ML, Statistical Analysis, NLP etc., Apart from validating the outcomes of other modules they can also function as a standalone module by individually solving a problem. Some of the most common types of reasoning systems include rules engine, case based reasoning, procedural reasoning systems, deductive classifiers, machine learning systems. For further reading on Machine Reasoning, I would recommend you to go through the paper titled “From Machine Learning to Machine Reasoning” by Leon Bottou
- Natural Language Processing – Wikipedia defines Natural language processing (NLP) as a field of computer science, artificial intelligence and computational linguistics concerned with the interactions between computers and human (natural) languages, and, in particular, concerned with programming computers to fruitfully process large natural language corpora. Natural Language Understanding (NLU) and Natural Language Generation (NLG) are two of the most prominent sub fields within NLP. NLP helps cognitive systems to comprehend natural language data sources as well as present insights in the form of Natural Language. NLP is critical for applications like Search, Text Mining, Sentiment Analytics, Large Scale Content Analysis, Text Summarization, Narrative / Dialog Generation, Chatbots, Virtual Assistants.
- Speech Recognition - TechTarget defines Speech Recognition as the ability of a machine or program to identify words and phrases in spoken language and convert them to a machine-readable form. Speech Recognition is also commonly known as speech to text, automatic speech recognition or computer speech recognition. Common applications of speech recognitions include voice search, Home Automation (like Amazon Echo, Google Home), Virtual Assistants, Speech Analytics, Interactive Voice Response, Contact Center Analytics etc.
- Computer Vision - The British Machine Vision Association and Society for Pattern Recognition (BMVA) defines Computer vision is a field concerned with the automatic extraction, analysis and understanding of useful information from a single image or a sequence of images. Computer Vision deals with the creations of theoretical and algorithmic foundations to achieve automatic visual understanding. Some key applications of computer vision include facial recognition, medical image analysis, self-driving vehicles, asset management, industrial quality management, content based image retrieval etc.
- Human Computer Interaction - Interaction Design Foundation defines Human-Computer Interaction (HCI) as “a field of study focusing on the design of computer technology and, in particular, the interaction between humans (the users) and computers.” It encompasses multiple disciplines, such as computer science, cognitive science, and human-factors engineering. The goal of HCI is to ensure that human – computer interaction is very similar to that human – human interaction. Some popular examples of modern HCI include voice based systems, gesture controls, facial recognition systems, natural language question answering (NLQA)
3. Key Attributes of a Cognitive Computing System
Cognitive Computing Consortium mentions that any system to be qualified as a cognitive system, it should meet the following criteria
- Adaptive - The systems must have the capability to learn as information changes, and as goals and requirements evolve. The system must have the capability to overcome ambiguity and tolerate unpredictability. Also the systems should have the capability to process and analyze real time / near real time data.
- Interactive – The systems should enable users to interact with them as close to a human – human interaction by employing gestures, touch, voice and natural language. They might also need to seamlessly interact with other systems like processors, devices, and Cloud services, as well as with people.
- Iterative and Stateful – If the requirement is not clear, the systems should help in defining a problem statement by asking questions or asking more information. They must remember inputs, results from previous iterations and should be able to choose the right action applicable for a particular scenario.
- Contextual – Systems should be able to identify, and extract relevant context required such as users details, location, time, syntax etc. The system should be able to work with both structured and unstructured data sources in addition to sensory inputs (speech, visual, gesture and sensor data).
4. Key Enablers of Cognitive Computing
The following factors played a significant role in helping cognitive computing becoming mainstream from the confines of academic research
- Big Data & Cloud Computing – Some Cognitive computing applications like computer vision, speech recognition need good storage and computing infrastructure. Enterprises now can now elastically scale their storage and processing infrastructure with Big Data Platforms like Hadoop and Cloud Computing Platforms like Azure, AWS & Google Cloud.
- Cheaper Processing Technology – Exponential decrease in processing cost is also one of the key factors enabling cognitive computing adoption. Higher processing costs in 1970s were one of the major inhibitors that prevented further research and adoption of AI. Nick Ingelbrecht from Gartner, in a Financial Review article explains that in the past eight years there has been a 10,000-fold increase in processing speeds.
- Access to Machine Learning & Deep Learning – Open source Machine Learning libraries like Mahout, Spark ML made machine learning algorithms accessible to a wider audience. Google, Microsoft, Intel and IBM played a key role in making deep learning capabilities accessible to the developer community through their Cognitive Services & APIs which could be easily embedded into other applications.
- Innovative Start Ups – As per Bloomberg’s estimate there are around 2600+ startups in the AI & Cognitive Computing Space alone and in the last year around 200 startups raised around $1.5 Billion in equity funding. Gartner predicts that these startups will be giving the large players like IBM, Google, Microsoft a tough competition due to their niche focus and rapid pace of innovation.
- Data Availability – IDC predicts that there is around 160 ZB of data in the present digital universe. This data is available across multiple formats like machine logs, text, voice and video waiting for enterprises to exploit their potential. Data Availability is also a key factor for enterprises to embrace cognitive computing.
5. Major Benefits of Cognitive Computing
Cognitive Computing has interesting use cases catering to multiple industries and functions. Listed below are some of the major business benefits of cognitive computing
- Increased Customer Experience – In a survey conducted by IBM, 49% of the respondents mentioned that Cognitive Computing helps in improving customer engagement and service. Cognitive Computing can help enterprises to enhance customer experience by enabling them with cognitive applications like cognitive assistants, personalized recommendations, social intelligence and behavioral predictions.
- Enhanced Productivity - Since the focus of Cognitive Computing is to mimic human capabilities and tasks, it helps in enhancing employee productivity and quality of outcomes. In an article by Joshbersin, he claims that by using cognitive computing to interpret commercial loans, JPMorgan Chase & Co was able to reduce 360,000 hours of lawyer time each year. Similarly other applications that help enterprises enhance employee productivity include cognitive assistants for doctors, robo advisors for wealth management, automated data scientists etc.
- Business Growth – Based on a study by IDC, 1.7 MB of data is generated per second for each person on the planet. On the other hand, 99.5% of the world’s data is not analyzed. Cognitive Computing can help enterprises unlock business opportunities and revenues from these untapped data assets. Analyzing this dark data can help enterprises identify the right markets for expansion, new customer segments to target and new products to launch.
- Increased Operational Efficiency - Nanette Byrnes in an MIT Technology Review article mentions that General Electric is using AI & Cognitive computing technologies like computer vision to improve service on its highly engineered jet engines. Post adoption of these technologies, GE was able to effectively detect cracks and other problems in airplane engine blades. Enterprises can enhance operational efficiency by implementing cognitive applications like predictive asset maintenance, contact center bots, automated replenishment systems etc.