Approach
At a high level, the learning procedure consists of three steps:
- Concept Library Update: Checking whether the existing concept library
C
is sufficient for successfully learning the desired preference evaluation function. For example, if the natural language explanation uses the term "far away" but the concept library does not contain a suitable definition,Synapse-Learn
interactively queries the user for clarification and updates its concept library as needed. - Program Sketch Synthesis: If the concept library is sufficient for representing the
preference,
Synapse-Learn
proceeds to synthesize a so-called program sketch, which is a program with missing constants to be synthesized. This is so because the user's natural language explanation is often sufficient to understand the general structure of the preference evaluation function but not its numeric parameters, which can only be accurately learned from the physical demonstrations. - Parameter Synthesis: We use all physical demonstrations provided thus far to synthesize the unknown numeric parameters of the sketch using a constraint-solving approach. For example, if the user's NL explanation mentions "not too close to the sidewalk", the physical demonstrations are needed to understand what the user considers "too close". Thus, a separate parameter synthesis procedure to determine suitable numeric parameters from the physical demonstrations.