Processing User Goals and Narratives
In order to model a strategy to reach a goal, we need to parse some user input.
A goal is a particular frame with particular arguments. Each step in a strategy is---in fact---also a goal! Some goals are stubs, certainly.
This feature means that the system understands the underlying details better and better. If once
"make a salad" is specified as a step in "make a dinner", and later "make a salad" is narrated, next time "make a dinner" is undertaken, the details of salad-making can be taken into account.
So, how does one undertake processing a narrative?
Each sentence is examined separately. It is an underlying assumption of the system that sentences will be kept simple. So, the goal is one statement, and each sentence in the narrative is a statement.
I am adopting the method described in "A Maximum Entropy Approach to FrameNet Tagging" (2008) by Michael Fleischman and Eduard Hovy.
According to that model, the MaxEnt classifier (I'll be using an NLTK impementation) will take these features:
- Phrase type: PP, NP, etc.
- Voice
- Position: position in the sentence
- Grammatical function: external argument, object argument, etc.
- Head word: the verb in question
-
The boy walked to school
- Theme: "the boy"
- Direction: "to"
- Goal: "school"
- Head: "WALK"