This thread has been quiet for a while, but I came across a pointer
to a blog with answers to questions about Watson. All the answers
were written by members of the Watson team:
http://blog.reddit.com/2011/02/ibm-watson-research-team-answers-your.html
They answered 14 questions on various issues. At the end of this
note is question #3 and the answer, which shows the steps to process
a typical question. Watson does a lot more than matching words.
The answer to question #6 included the following point:
"Watson was written in mostly Java but also significant chunks of
code are written in C++ and Prolog, all components are deployed and
integrated using UIMA."
Note that the excerpts below use a variant of Prolog notation.
Marking variables with a capital letter, such as X, is a typical
Prolog convention. But the person who answered the question
probably removed the obligatory quotes around phrases like
"Stevenson's Treasure Island".
John
___________________________________________________________________
3. Can you walk us through the logic Watson would go through to answer
a question such as, "The antagonist of Stevenson's Treasure Island."
(Who is Long John Silver?)
Step One: Parses sentence to get some logical structure describing
the answer. X is the answer.
antagonist(X).
antagonist_of(X, Stevenson's Treasure Island).
modifies_possesive(Stevenson, Treasure Island).
modifies(Treasure, Island)
Step Two: Generates Semantic Assumptions
island(Treasure Island)
location(Treasure Island)
resort(Treasure Island)
book(Treasure Island)
movie(Treasure Island)
person(Stevenson)
organization(Stevenson)
company(Stevenson)
author(Stevenson)
director(Stevenson)
person(antagonist)
person(X)
Step Three: Builds different semantic queries based on phrases, keywords
and semantic assumptions.
Step Four: Generates 100s of answers based on passage, documents
and facts returned from 3. Hopefully Long-John Silver is one of them.
Step Five: For each answer formulates new searches to find evidence in
support or refutation of answer -- score the evidence.
Positive Examples:
Long-John Silver the main character in Treasure Island.....
The antagonist in Treasure Island is Long-John Silver
Treasure Island, by Stevenson was a great book.
One of the great antagonists of all time was Long-John Silver
Richard Lewis Stevenson's book, Treasure Island features many great
characters, the greatest of which was Long-John Silver.
Step Six: Generate, get evidence and score new assumptions
Positive Examples: (negative examples would support other characters,
people, books, etc associated with any Stevenson, Treasure or Island)
Stevenson = Richard Lewis Stevenson
"by Stevenson" --> Stevenson's
main character --> antagonist
Step Seven: Combine all the evidence and their scores Based on analysis
of evidence for all possible answer compute a final confidence and link
back to the evidence.
Watson's correctness will depend on evidence collection, analysis and
scoring algorithms and the machine learning used to weight and combine
the scores.
_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx