eta.core.planning.add_possible_actions_to_plan

add_possible_actions_to_plan(actions, ds)[source]

Given a list of possible actions, attempt to add actions into the current plan.

Parameters:
  • actions (list[str]) – A list of possible actions (as natural language strings or LISP-formatted S-expression strings).

  • ds (DialogueState) –

Returns:

The updated plan, if successful.

Return type:

PlanNode or None

Notes

TODO: some possible future improvements:
  1. For now, we assume that only the first action in a set of possible actions is used. In the future, this might be extended with a policy for attempting to add the top K possible actions.

  2. This currently adds the action unconditionally; ultimately, the system should verify that the action can be added to the plan. This may be done by way of a pattern transducer.

  3. The action is currently inserted as the current step, but ultimately we should be able to insert actions elsewhere in the plan as well.