08 Jul Playing the Slots
You could just throw everything into the blender and see if a nice smoothie comes out. But for some cuisine and some complex processing tasks, the blender model is unsatisfactory. With neural networks and semantic networks and concept graphs, it may be best to separate things by category, choose different blender speeds, and even use different food processor attachments for some parts of the recipe. There are many possible approaches for separating the ingredients of a knowledge task and its outcome.
One system I am using these days, BeInformed, separates groups of concepts, often entire sub-domains, into any number of separate concept models that are discretely defined by knowledge engineers. Another possibility, is to define frames that represent sub-domain models, and do a data-based approach. This is the model I will describe below.
|Understanding Context Cross-Reference
|Click on these Links to other posts and glossary/bibliography references
|Pattern Classification in Space
|B. Kuipers in Bobrow 1975
|Coulson 2001 Schank 1976
Creating models of real-world knowledge, in pictures or databases or semantic networks, is necessary, but not sufficient for intelligent systems. Getting the knowledge in and out of storage, as discussed in SPARQL Fireworks, is also necessary, and also not sufficient. I have discussed rules and inference techniques: quite valuable – but insufficient, even with the other elements. We need to be able to understand the present problem, and understand how the knowledge in the system relates to the present problem, and deliver an acceptable outcome. In rocket science, a successful outcome may be a correctly calculated trajectory with needed thrust and maneuver vectors. Constraints could include the origin and destination locations in 3D space, the atmospheric conditions in between, the affect of gravity, the weight and weight distribution of the vehicle, and many other possible variables that could affect a successful outcome.
For human language understanding, the constraints include the words, their order, the context and medium in which they were delivered, the motivations of the person speaking or writing (often unknowable), subtext and exformation. These are, on average, fuzzier than points in 3d space, weights and atmospheric conditions. Fuzzy logic goes beyond the binary branching of TRUE/FALSE logic, and often uses “weighting” schemes. Can we store knowledge in our database, semantic network or ontology with weights. I think we can, and I’ll speak more of this later. Today I am going to show how frames can sit between the knowledge and the solution, providing a brain-like method for recognition, classification and problem solving.
“The appeal of frames lies chiefly in in their ability to account for all the “extra” information readers infer in the course of meaning construction. Because slots in a frame can be thought of as hypotheses about the sorts of entities that might be encountered in a given scenario, a frame-based approach can deal nicely with the fact that people develop expectations in the course of language comprehension” (Coulson 2001, p. 83).
Frames provide a complex linkage of multiple related objects that somehow form a whole (B. Kuipers in Bobrow 1975). A frame consists of several related items identified by slot labels. Descriptive slot labels are an excellent functional representation for AI applications because of their simplicity and implementation ease. The frame shown below is an example of how a frame with weighted fillers may look for a mobile phone. The Frame is also likely to have a name (such as “Joe’s Mobile” or “Object 18739”) to differentiate it from other frames that may support the current process.
The process may involve matching objects in your immediate information space (input for example) with categories in your knowledge graph or database, and placing each matched object as a candidate filler in the matching category slot. In the example above, we use a weighting scheme to represent the likelihood of each candidate filler being the correct filler for the named slot. In at least one important way, frames resemble data tables in a relational model: the table has multiple named fields or columns (slots) and each may receive a value (filler). An important difference is that the frames model permits automated reasoning processes to select which value is most appropriate for the slot (column or field) of the record being processed at the moment. Frames are well suited for processing data in OAV format:
- Object: The name of the Frame
- Attribute: The name of the Slot
- Value: The Filler
The beauty of the Frames model is the ability to describe a specialized domain and to drill down taxonomically. “A frame is a specialist in a small domain. It contains the knowledge necessary to create a description of an element of its domain from observed data. The features of such a description may be frames in their own right… The frame for an object can have associated with it frames for actions which commonly affect that object” (B. Kuipers in Bobrow 1975).
By storing knowledge in a smart framework, such as concept graphs, extracting it using smart, tools such as SPARQL or MapReduce, and preprocessing it in frames using fuzzy logic, I submit we can improve the quality of recognition and classification outcomes. Successful recognition and classification are fundamental to many processes, so I think frames could play an important role in many systems in the coming age of knowledge.
|Click below to look in each Understanding Context section
|Perception and Cognition
|Language and Dialog
|Apps and Processes
|The End of Code