Question: How are frames found and populated?
Example: He ate a frog.
Long term memory

What is the process?
1. Low level processing on the sentence.á This is a data driven, input driven, bottom up (natural language processing) process.á The output of such a process would be an identification of words in the sentence, i.e. ate = verb.á For the sake of this discussion, we will assume the output is like this, and discuss in more detail later topics on natural language processing.
2. ôAteö would be sent to long term memory, and a frame would be found to apply.á This ôingestö frame is brought into short term, working memory.
3. Processing continues, prompted by the slots of the frame in working memory.á This is memory based, or expectation driven.á The frame hints at what to expect in the coming statements.á (top down approach)
Consider the example sentence: ôJohn ate a frog with a fork.ö
Using the frame process to load the ingest frame from long term memory to working memory, the ingest frame is found, loaded, and populated.
Suppose that we want to answer questions about the story.á Example: Do you think that JohnÆs hand moved while eating the frog?
Agents should be able to answer questions on topics that are not part of the input, or with partial, incorrect, uncertain input.á How should a frame system handle this?
We can extend frames with a new slot ôsubaction.öá These subaction slots would contain pointers to other frames that further describe a process.á In the frog example, the ingest subaction slots contains pointers to p-trans frames containing the information (most slots of which would be default values) of the hand movements involved in the process.

Frames can then contain information in a script form.á A script of frames says that when the ingest frame occurs in the frog example, one action that occurs is some hand movement to convey food from the plate to mouth.á
Script: a representation of a sequence of actions where each action is represented as a frame
Question:á It is not obvious that the temporal sequence of actions in a script is represented.á How do we represent ordering?
Possibilities
¸ Use a finite state automaton structure of the frame pointers in the subaction slot
¸ Group actions into a higher macro
Frames/Scripts Observations
¸ Problem: Difficult to define rules for all the possible variances of meanings of input that will arrive.á Too many rules will be generated to be useable
ááááááááááá
-We want to make sure the the ruleset is sufficiently small for a set of rules for a class of sentences, so some topics do not lend themselves to this way of modeling.
¸ Problem: There are infinitely many things/processes to describe.á How can this system by used for all things?á
-Not all actions will be able to be captured, and all questions will not be able to be answered, yet this system should be able to answer some questions.
¸ Problem: Where are all these things coming from?á We can infinitely break down a process into smaller and smaller steps.á How do we generate these scripts/frames?
-Through observations and experience, a generalization of observations of actions
Example: John ate a frog with a forká What is meaning of this sentence?
1. Create the set of all possible meanings of all possible sentences in the English language
2. Starting from the start state of this tree we want to find a path from a given sentence to the correct meaning of the sentence
This search problem is computationally hard, yet humans are able to solve this problem in real time in everyday experience.á Humans can also do this with partial input and can answer questions about things not in the input.
If we partition the search space of the large tree of meanings and sentences, this may reduce the search time significantly
¸ Extract ate from input
¸ Consider only those states with ate in search space
¸ Iteratively partition the search space further from facts observed in the sentence.
This process costs less time to complete, and makes solutions possible.á There is evidence that humans do the same thing cognitively to solve this problem.
We have talked about control in several contexts:
¸ Production Systems:á With many rules or a small set of rules, a production systems need a control module that can select and apply rules
¸ Agents:á A reflexive agent (perception maps directly to action) with reactive control needs to be able to know what action to take next.
¸ Heuristic Search: from a given state with several possible transitions in a state diagram, a search program needs to know which node to expand next i.e A*, best first search, bounded search
All of these methods have some control structure that is a part of their operation
We have also talked about inference in several different contexts
¸ Semantic Networks: With partial input, nodes are activated and thatá activation spreads to infer that other nodes are involved.á This allows for questions about things not contained in the input to be answered.
¸ Logic: if p then q, p conclude q
¸ Neural Networks can learn how to make an inference based on several examples
¸ Frames:á When making inferences, it is not only important to know what inferences you can make, but it is also important to know what inferences not to make.
Semantic networks do this through activation.á By activating nodes related to a mentioned node, semantic networks indicate what inferences can be made.á By decaying activations, and limiting the spreading activation, semantic networks control what not to infer (if spreading was not bounded, then eventually all nodes would be activated from every mention, and no meanings would be possible from semantic networks).
When making many inferences,
control tells you which inferences to make and what not to make.
Consider an example from vision, line labeling.
How do we analyze lines to detect surfaces/edges?
We can label lines that are analyzed to give an indication of surfaces.á We want to consider shapes that have at most trihedral junctions only.
Examining lines at trihedral junctions, we can categorize lines:

Line Notation
Boundary lines are denoted with arrows, where the surface side of the line is on the right of the arrow

ááááááááááá Concave Lines
![]()
ááááááááááá Convex Lines
![]()
Consider the example:

Line analysis: How do we decide which lines to couple with which lines?