Wednesday, March 1, 2017

Cognitive Computing IBM Watson Part 1



Introduction

            The IBM product and project of Watson will be presented here.  Watson is an extreme innovation that takes a large step towards making artificial intelligence viable.  Watson is more of a long term engineering project which has gone through several iterations and will continue to develop more fully in the future.  Several IBM Watson products have been released to the market, with applications of the artificial intelligence engine to several knowledge domains to yield, essentially, expert systems in those domains.  Watson has expert system products in oncology diagnosis, tax preparation, financial applications (credit analysis), insurance coverage for medical procedures, and basic research, with planned business applications, and more applications in healthcare, finance, contact centers, government, and chemical industries.  The reason Watson was chosen is because it is an innovative project which has a long and grand future ahead of it.

General Description of Watson

            Watson is a cognitive computing product.  You do not program Watson, you use human language to interact with it.  It does human type reasoning or inferences using human language, in  this case English (High, 2012).  It understands English by using a deep language processing set of algorithms.  It answers questions, analyzes text, and provides advice.  It does English language understanding, it conducts inferences and can derive new information from existing texts.  It uses context to understand and doesn't just operate literally on language.  It constantly improves its performance by using a machine learning algorithm to modify the knowledge base as it searches for answers to questions or analyzes novel texts.  More on this will be said in the next paper, where the general algorithm by which Watson works will be presented.



Figure 1:  How Watson Answers a Question.  Source:  High, 2012, The Era of Cognitive Systems by IBM Redbooks.
 
            In the next iteration of this paper in Unit 5, the exact algorithm of how Watson answers a question will be presented.  Here just the general idea is presented.  Watson analyzes the statement, decomposes it into its key parts and uses contextual information to understand it.  Once there is a deep understanding of the question hypotheses as to the correct answer are constructed and compared to information in the knowledge base, also known as the corpus.  Each possible answer is evaluated and a confidence score is attached to it.  These scores are ranked and the answer with the highest score is presented along with its confidence number.

Scope and Features of Watson

            The Watson Cognitive System has many interesting features.  First, it does Deep Language Processing.  Most language understanding systems to date are shallow language processing.  At the simplest level, search engines use mere combinations of keywords to find relevant web pages.  There isn't really much understanding here, it's more of a word match, without any real understanding of the meaning of sentences.  Shallow language processing uses specific well formed rules based upon keyword combinations to try to understand language.  It does not exhibit general language understanding.  It is not adaptable.  It is precise but not accurate.  Precision is literal understanding.  Non-literal aspects of language are not understood, like metaphors, idioms, expression, etc... Accuracy means understanding language when it is imprecise.  Most human understanding is accurate but imprecise, i.e., we understand what someone is saying regardless of the particular form or syntax and to some extent exact words that are being used.  We understand things that are non-literal, metaphoric, and expressive.  Deep language understanding attempts to model how humans actually understand language.  Deep language understanding understands different sentences that have the same meaning, or the same sentence that has different meanings in different contexts.  It uses contextual information from a passage or from the knowledge base to perform language understanding.  It provides not a narrow but a broad and adaptable understanding of language.  Like  human language understanding it is imprecise yet accurate.

            A second feature that Watson has is machine learning.  I.e., in each encounter where it answers a question, it stores the link between the question and the answer in its knowledge base and hence becomes more skilled at answering questions over time.  In other words, it learns, and by learning, it constantly improves its performance.

            A third feature is that Watson has an inference engine.  I.e., it can infer new information from existing texts by following chains of reasoning.  Inference engines have been around for a while.  But natural language inference engines are somewhat new.  There are close connections between Philosophy and Artificial Intelligence in Computing.  First of all, logic is a subject taught in Philosophy departments.  Even if you study symbolic mathematical logic, you do not take the subject in the Math department, you take it in the Philosophy department.  The reason logic is a part of Philosophy and not Math is because logic underlies all mathematics and all language (natural and artificial, i.e., human language and programming languages).  It applies to and underlies both.  When things are general, i.e., are cross-departmental, they are philosophical.  When I was at Berkeley, in order to get my Philosophy degree I had to take a year of symbolic mathematical logic (Fregean Quantificational Predicate Calculus).  One way that an inference engine works is by syllogisms (invented by Aristotle).  A syllogism is a simple line of reasoning that allows one to proceed from premises to a conclusion.  A simple example is "Socrates is a man," "all men are mortal," (the two premises)  therefore (the conclusion) "Socrates is mortal."  Stated symbolically, S is M, All M are m, therefore S is m.  In symbolic form the syllogism is universal, i.e., it is always true as long as one preserves the logical form.  Therefore, a carp is a fish, all fish have gills, therefore a carp has gills.  This is the same syllogism or logic.  The premises are based upon evidence.  But the reasoning is unassailable.  If it is true that all fish have gills and a carp is a fish, then by the logical form of the syllogism, it is also true that carp have gills.  You can see how syllogisms can be used to create chains or lines of reasoning, to take a set of premises and derive conclusions.  All and Some are existential quantifiers (hence Quantificational predicate calculus).  There are many logic laws of inference that Watson would use:  modus ponens, modus tollens, hypothetical syllogism, disjunctive syllogism, constructive dilemma, absorption, simplification, conjunction, addition, De Morgan's theorem, material equivalence, and many others.  There are also logical fallacies which an inference engine would avoid, but a human may not.  This is how Watson does computerized inference or has reasoning algorithms based upon these logical inference laws.

            As an aside, computers would not exist without logic.  Computers would not exist with Aristotle who invented logic.  Computers are logical machines both in terms of their hardware and software.  Hardware is based upon Boolean logic; in fact, for every circuit there is a Boolean logic equation.  Software is based upon logic.  Anyone who programs knows that programming is all logic (not mathematics, logic).  Programs can be written that do mathematical tasks as well as linguistic tasks.  Since logic underlies both language and math, computer use logic, particularly binary logic.  Programming languages have keywords and syntax.  If one makes a syntactical error in programming a program doesn't compile.  But one can create a perfectly syntactically correct program which compiles and yet doesn't work right, doesn't do what it's supposed to do, i.e., there are logic errors.  Also programming languages have logic features, like "if ... then ... else" and "or" and "and" and "not," etc...  Computers wouldn't exist without logic and artificial intelligence in particular wouldn't exist without logic and Philosophy.

            There are many cognitive capabilities that stem from the ability of a program to infer.  These include among others the ability of the program (Watson) to infer new knowledge by running inference algorithms on its existing and growing knowledge base.

Watson's Current Limitations

            There are several limitations to the current Watson project and products.  First, it only speaks English.  It is a Natural Language Processing and Understanding System, but many of its features are based upon English specific idioms, expression, and oddities.  It is perfectly possible to adapt this NLP technology to other languages, this just hasn't been done yet.  The goal was to completely master English language understanding first.

            Watson has many other current limitations to a full-fledged cognitive system.  These capabilities will be added at some later date.  These include the ability to sense and perceive, the ability to have a dialog or do planning, the ability to have foresight, or do knowledge extrapolation and the creation of new knowledge.  These capabilities will be discussed in the next paper on Watson, which will be described as areas of future research.

Why Watson is Needed:  Its Purpose

            Greatly needed are computing systems that can talk to us, that can understand human language and answer questions and carry out tasks stated in English.  This is true in many domains.  And as Watson can be adapted to answer questions and provide advice in many expert domains, it can be of great help to doctors doing diagnoses, to insurers or bankers doing credit analysis or valuation, to people doing their taxes, and to people doing many other complex tasks that need questions answered or advice.

            Greatly needed are computer systems that can reason and can deduce new information and therefore make discoveries by inferring from current expert knowledge bases.

References

High, R. (2012). The era of cognitive systems: An inside look at IBM Watson and how it works. IBM Corporation, Redbooks.


No comments:

Post a Comment