Notes - University of St. Thomas

Download Report

Transcript Notes - University of St. Thomas

Some Thoughts to Consider 9
•
How could it possibly be the case that
using AI techniques to develop a
knowledge base is easier than just
programming the solution to a problem?
•
What happens when the amount of
knowledge required to solve a problem is
very large?
•
So, what would it be like to represent
enough knowledge for the Web to really
be a ‘Semantic Web’?
Special Hardcopy Handout
•
“Building a Small Knowledge System”
•
from Harmon and King, Expert Systems: Artificial
Intelligence in Business.
•
The paper details the importance of and the
methodology for developing such systems.
•
The basic idea is that very useful, but relatively
small, commercial systems can be built using
AI tools and techniques - The knowledge bases
don’t necessarily have to be extremely large or
have to contain lots of comprehesive human
expertise in order to be useful.
•
The example developed is a ‘Media Advisor’,
implemented as a rule-based system.
Managing a Knowledge Based
Development Project
•
•
•
Start with a very narrowly-focused problem domain.
•
Find a single expert who possesses most of the
knowledge relative to the problem.
•
•
Have a high tolerance for ambiguity.
•
Have lots of knowledge-focused meetings involving
the team and expert. Create storyboards, scenarios,
use cases, query cases.
•
Focus on the knowledge. Don’t commit to
implementation details too early. But do use tools to
visualize, simulate, and prototype the knowledge flow.
•
When the team has familiarity with all the knowledge,
select appropriate representation and implementation
strategies and tools.
•
Continue developing to production using Agile
Development methods.
•
Perform an extensive postmortem analysis of what
went well and what could have been done differently.
Keep the team small - 3 to 4 people.
Find a management champion that believes in the
new way of going about the problem.
Every month perform a go/no go evaluation of the
progress. Cancel or realign the project if necessary.
A Whodunnit Logic Example
person(allan,
person(allan,
person(barbara,
person(bert,
person(john,
25,
25,
22,
55,
25,
m,
m,
f,
m,
m,
football_player).
butcher).
hairdresser).
carpenter).
pickpocket).
had_affair(barbara, john).
had_affair(barbara, bert).
had_affair(susan,
john).
killed_with(susan, club).
motive(money).
motive(jealousy).
smeared_in(catherine, blood).
smeared_in(allan,
mud).
owns(bert, wooden_leg).
owns(john, pistol).
operates_identically(wooden_leg,
operates_identically(bar,
operates_identically(pair_of_scissors,
operates_identically(football_boot,
club).
club).
knife).
club).
owns_probably(X, football_boot)
:owns_probably(X, pair_of_scissors) :owns_probably(X, Object)
:-
person(X, _, _, football_player).
person(X, _, _, _, _).
owns(X, Object).
suspect(X) :-
killed_with(susan, Weapon),
operates_identically(Object, Weapon),
owns_probably(X, Object).
suspect(X) :-
motive(jealousy), person(X, _, m, _),
had_affair(susan, X).
suspect(X) :-
motive(jealousy), person(X, _, f, _),
had_affair(X, Man),
had_affair(susan, Man).
suspect(X) :-
motive(money),
person(X, _, _, pickpocket).
Assignment 4
Due: November 18
Part 1:
Take the Whodunnit Prolog logic example
and reverse engineer the logic by writing a
story in English prose that explains what is
going on. Try to use all the facts and
inferences present in the logic.
Part 2:
Construct a semantic network representation
of the Whodunnit example. It should be
constructed in a manner that facilitates
reasoning by a crime-solving agent.