In March I asked the question, Can I build Watson Jr in my basement? I performed two iterations of a basement build that I dubbed “What, son?” or “Whatson” for short. In a first iteration, I recreated the Question-Answer system outlined in Taming Text by Ingersoll, Mortin and Farris. In a second iteration, I did deep dive into a first build of my own, writing code samples on essential parts and charting out architectural decisions. Of course there is plenty more to be done but I consider the second iteration complete. I have to put the next “Wilson” iteration on hold for a bit as my brain is required elsewhere. I would like to conclude this iteration with a final post that covers what I believe to be the most important question in this emerging field … What makes a system cognitive?
Here are some key features of a cognitive system:
Big Data. Cognitive systems can process large amounts of data from multiple source in different formats. They are not limited to a well-defined domain of enterprise data but can also access data across domains and integrate it into analytics. One might call this feature “big open data” to reflect its oceanic size and readiness for adventure. You would expect this feature from an intelligent system, just as humans process large amounts of experience outside their comfort zone.
Unstructured Data. Structured data is handled nicely by relational database management systems. A cognitive system extracts patterns from unstructured data, just as human intelligence finds meaning in unstructured experience.
Natural Language Processing (NLP). A true artificial intelligence should be able to process raw sensory experience and smart people are working on that. A entry level cognitive system should at least be able to perform NLP on text. Language is a model of human intelligence, and the system should be able to understand Parts of Speech and grammar. The deeper the NLP processsing the smarter the system.
Pattern-Based Entity Recognition. Traditional database systems and even the modern linked data approach rely heavily on arbitrary unique identifiers, e.g., GUID, URI. A cognitive system strives to uniquely identify identities based on meaningful patterns, e.g., language features.
Analytic. Meaning is a two-step between context and focus, sometimes called figure and ground. Interpretation and analytics are cognitive acts, using contextual information to understand the meaning of the focus of attention.
Game Knowledge. Game knowledge is high order understanding of context. A cognitive system does not simply spit out results, but understands the user and the stakes surrounding the question.
Summative. A traditional search system spills out a list of results, leaving the user to sort through them them for relevance. A cognitive system reduces the results to the lowest possible number of results that satisfy the question, and presents them in summary format.
Adaptive. A cognitive system needs to be able to learn. This is expressed in trained models, and also in the ability to accept feedback. A cognitive system uses rules, but these rules are learned “bottom-up” from data rather than “top-down” from hard-wired rules. This approach is probabilistic and associated with a margin of error. To err is human. It allows systems to learn from new experience.
I believe the second Whatson iteration demonstrates these features.