AI: expert systems and Cyc

One of the first real successes of the AI community was in the field of expert systems. The idea goes like this: what if we could distill all of the experience, knowledge, and wisdom of an expert in a field and put all of that concentrated knowledge into a computer program? Then anyone could use the computer program and be really smart about whatever the program knows about. Expert systems have been developed which can diagnose heart ailments, prescribe anti-biotics, and find molybdenum from the comfort of your office, without all of that running around, hitting things with a rock hammer business.

Ever had a technical problem while using Windows XP? Chances are you were directed to use a “troubleshooter” of one kind or another. Yep, that’s an expert system. My friend Keir (and fellow webblogger) has a field guide (a book) to identifying plants in Northern Wisconsin. It asks things like, does the plant have a flower, what color is it, how many pedals does the flower have, how many pistils and stamens and flowery sex bits does it have, and are they pointing up, down, sideways, or everywhichway? That book is like a little expert system: digitize it and attach a screen, and you have a little artificially intelligent program.

Expert systems are really good at solving problems in their problem domain. But they start to fall apart when they reach the edges of their knowledge, or when new information becomes available which invalidates the knowledge contained in the expert system. Keir’s little orange book is very helpful in Northern Wisconsin. It’s still helpful in Central Minnesota. But it’s very nearly useless in most of California, and you might as well use it as a coaster in Hawaii. Now Keir, Keir remains useful in Hawaii, if only because we need someone to keep fetching us drinks. But, transplanted out of its problem domain, Keir’s portable expert system can only perform the same function as a 50 cent cork coaster.

MYCIN was an early expert system developed in the 1970s which could help doctors prescribe the proper anti-biotics for sick patients. (As far as I know, it has never actually been used to do such a thing.)

MYCIN was filled with rules like this:

  IF the identity of the germ is not known with certainty
     AND the germ is gram-positive
     AND the morphology of the organism is \"rod\"
     AND the germ is aerobic
  THEN there is a strong probability (0.8) that the germ is of type
        enterobacteriacae

MYCIN would ask the user questions, and apply the rules of its inference engine to the answers it was given in response to its questions. Then it would think a bit, and ask more questions. But MYCIN did not know its own limitations. In a paper published in 1984 on the need for introducing common sense to expert systems, John McCarthy detailed some of the limitations of MYCIN, including the fact that while MYCIN understands “bacteria, symptoms, tests, possible sites of infection, antibiotics and treatments”, it doesn’t have a clue about “[d]octors, hospitals, illnesses and death,” or even patients. MYCIN just doesn’t know what it doesn’t know:

An example of MYCIN not knowing its limitations can be excited by telling MYCIN that the patient has Cholerae Vibrio in his intestines. MYCIN will cheerfully recommend two weeks of tetracycline and nothing else. Presumably this would indeed kill the bacteria, but most likely the patient will be dead of cholera long before that. However, the physician will presumably know that the diarrhea has to be treated and look elsewhere for how to do it.

You can perhaps see why doctors might have been reluctant to trust the thing!

Expert systems work very well in the center of their knowledge bases, and they work well in certain problem domains (like the XP troubleshooters, they solve my problems more often than not). But ask MYCIN a question about the interactions between viral and bacterial infections, and it’s not going to have a clue.

“Okay,” some folks reasoned. “If current expert systems don’t have enough common sense and broad knowledge, let’s build a really REALLY big system that is FULL of common sense stuff. This thing will have everything, right, like, it’ll know that a small rock can be thrown and when you hit two small rocks together it will make a noise and everything! It’s what, 1984? It’ll take about 10 years to make. We’ll call it Cyc, short for encyclopedia.”

Well, they were off by a factor of two, because when 1994 rolled around they were just getting started (having spent most of the first 10 years realizing how big of a mess they were getting into.) But Cyc is now being used for many things, including security risk analysis. It’s got a really big hierarchy though, too big. It has to be big because it contains all human knowledge (some folks think that there must be better ways of representing all human knowlege, however.) For instance (assuming I’m reading this chart on the Cyc web page right), the concept of a spy working on a mission would be represented as

Thing: Individual: Collection: Temporal Thing: Agent of: Organization: Type of Organization: Geopolitical entity: Nation

Now, if you wanted to define the mission, it might be

Thing: Intangible Thing: Relation: Path / Spatial Thing: Border: Movement: Plan / Goal: Organizational plan...

And so on. This is insane, and I bet that one of the problems is that the designers of Cyc got confused; representing all of human knowledge is very different from knowing all of the knowledge that any given human being has at their disposal. I mean, I’m a human being and I don’t know everything that humans know about everything in the entire world. At our current level of technological development, no human being knows the entirety of human knowledge. And, of course, knowing tons of things is no substitute for creativity. Is Cyc going to pick up a paintbrush any time soon?

It seems to me that what the guys at Cyc are doing is building up this hugemongous hierarchical tree of all human knowledge, yes, but when they create products out of it, they lop off most of the tree and just work with the domain-specific structure which they have left. When analyzing security risks, for instance, Cyc doesn’t need to know that bees communicate with pheremones and little wiggle dances.

Or perhaps it does. What Cyc sees as a harmless chemical may be potent “injured queen bee” pheremone, designed to be disbursed just as a semi truck full of bees is disabled and ripped open on a busy highway during rush hour.

Which brings us back to the same problem… Cyc doesn’t know what it doesn’t know. People using Cyc based products may misplace their confidence in the vastness of Cyc’s knowledge base, assuming that of course Cyc knows about some vitally important little scrap of information, which, of course, it doesn’t, because it got lopped off in an attempt to pare the thing down to a managable size.

Next time we’ll look at another field in artificial intelligence: symbolic logic.

2 Responses to “AI: expert systems and Cyc”

  1. Tim Tucker Identicon Icon Tim Tucker Says:

    Found this an interesting read given my yard sale find yesterday: for a mere $0.25 I picked up a copy of “Understanding Artificial Intelligence” by Paul Y. Gloess. Definitely an amusing read, given that it’s more in pamphlet than book form and was written back in 1981.

    A few excerpts:
    “Artificial Intelligence (AI) is a process by which mechanical devices are able to perform tasks which, when performed by humans, require some thought.”

    “Mathematicians and logicians have for thousands of years exertd their intelligence proving theorems. People tend to forget that much of the technology they are using is based on mathematicians’ findings, and often regard their activities as useless.”

    “Sentences can be fed into a computer, provided the words are clearly separated with silences. … (Continuous speech recognition is a much harder problem which is very far from being solved).”

    It’s really hard to figure out who the intended audience of this thing is — the short length and simplisic writing style seem geared towards novices, but then again there are sections covering predicate calculus and branching algorithms for tic-tac-toe and chess.

  2. mufteynah Identicon Icon mufteynah Says:

    a very interesting bit. is there really a future in Artificial Intelligence given that it took ten years after its conception to actually be considered as a valuable field, how long will it take before all the human complexities can be covered. is anything that helps solve a problem an expert system. i like AI very much but sometimes i have a very hard time understanding its complexities. is a hierarchical website that links different pages containing different solutions to a problem an expert system. i want to create an expert system how do i go about it.

Leave a Reply