Due April 14, 1997 (Before Class)
Written Assignment:
For this assignment, you will turn the implicit knowledge of a human expert into explicit knowledge from which a computer program can draw inferences. In other words, you will create the knowledge base of a simple knowledge-based (expert) system.
Read the attached transcript of the knowledge engineering session with Pierre, the sommelier, carefully.
1. State the purpose of the Wine Advisor in one sentence.
2. The simplest way to organize the data in this example is with "attribute-value
pairs". Create a list of the attribute value pairs referenced in
the transcript.
Attribute value pairs can be grouped in the following ways: numeric,
(e.g., Number_of_Courses: 0, 1, 2, 3, etc.); object (e.g. Name: value can
be any piece of text); Booleans (e.g. Prefers_French: True, False); or
attributes (e.g. Wine_Origin: Rhine, Napa, Somerville).
Note: not all data types are necessary for this assignment.
3. Using the attribute-value dictionary that you created in (2) and the transcript of the interview with Pierre, write 6-12 if-then rules that capture Pierre's problem solving knowledge. Please indicate which rules are intermediate-level conclusions and which are final goals for the knowledge base.
You will probably find it beneficial to first sketch an "inference
net" which diagrammatically relates some of the attribute-value pairs,
showing how certain conclusions (e.g. "recommended-wine IS grape-juice"
can be drawn from certain (combinations of) antecedents (e.g "main-course
IS birthday-cake" and "candle-number IS 3").
In your knowledge-base, notice that two rules can share the same clause. Some pairs might share antecendents. Others might share a conclusions. A third kind of pair might share a clause as antecedent in one, conclusion in the other. This third type of rule "chains".
April 11, 1996
KE: What's the most important factor in choosing a wine?
Exp: I imagine the tastes blending in my mouth and aim for the one with the right body and bouquet for the meal.
KE: What's "bouquet"?
Exp: The nose . . . the essence . . .the smell.
KE: What's body?
Exp: Like any professional, we wine experts have our own language. I suppose you could say that body is the strength of its flavor.
KE: Give me an example. What would you recommend with Filet of Sole?
Exp: Chablis, one of my favorite white wines. Chablis is a lovely white wines, and our house Chablis is from the Gallo vineyards in California.
KE: Why Chablis?
Exp: Well, fish has a delicate flavor.
KE: So we could say that if a meal has a delicate flavor, then recommend the Chablis.
Exp: That doesn't seem quite right.
KE: Maybe we should create some subtasks to work on first. Perhaps we can break the problem down.
Exp: As you like.
KE: You mentioned that Chablis is a white wine. Are there rules for when to recommend a white wine and when to recommend a red one?
Exp: Everyone knows that red wines go with meat and white wines go with fish and poultry.
KE: Is that because fish and poultry have delicate flavors?
Exp: You obviously haven't eaten Blackened Redfish. Both fish and poultry can be prepared to be very spicy, but then I would recommend the Chardonnay, a more full-bodied white wine.
KE: So let's see. Wines can be full-bodied or light-bodied, red or white. Are there other characteristics that describe flavor?
Exp: Surely, there are many. Next, I would say "Is the wine dry or sweet?" That is generally a matter of personal preference.
KE: Okay, let's look at color for a moment. Using you rule, red wine goes with steak.
Exp: Right.
KE: And roast rack of lamb.
Exp: Very good!
KE: And Veal Marsala.
Exp: No. Veal is an exception. White wines go better with veal.
KE: I ate here last night and I had a Burgundy wine with veal. It was a red wine.
Exp: You must have had the Veal Parmesan, which has a tomato sauce.
KE: How did you know?
Exp: Tomato sauce requires a red wine. If we recommend a red wine with veal, it was because of the sauce.
KE: Okay. I think I have it. We now have two rules, one for recommending red wines and one for recommending white wines.
-Break-
KE: Let's go back to what you call the "body" of the wine and the case of the Blackened Redfish. Starting with your conclusion: you recommended the Chardonnay. How did you decide that?
Exp: Well, we needed a full-bodied wine.
KE: How did you know we needed a full-bodied wine?
Exp: Because the flavor of the meal was strong.
KE: How does one know that a given customer's meal has a strong flavor? Must you know every single dish that the restaurant serves, even when the menu is changed frequently?
Exp: No. Actually, I've never had Blackened Redfish myself but I know that like all Cajun food, it tends to be spicy.
KE: So if the food is Cajun, then the flavor is strong. -- Couldn't salt and pepper cause the same effect?
Exp: Yes, I suppose.
KE: How about delicate meals. How do you recognize them?
Exp: That's easy. If the flavor isn't strong , it is delicate.
KE: And that means one would recommend a light wine, right?
Exp: Exactly!
KE: And then recommend a Chablis, right?
Exp: Yes. That is sometimes true. But to be sure, I need to know whether the meal included a main course of meat. . . that is, a red meat but not veal.
KE: Why is the main component important to know?
Exp: Chablis is a white wine and should not be recommended unless a white wine is called for.
KE: Okay. I now understand the distinction between a light wine and white wine.
Exp: Yes, they're quite different.
KE: Great! I think I have enough information to build a small paper prototype. I'll show it to you later and we can test and revise it.