eta.core.planning.planning_loop

planning_loop(ds)[source]

Make modifications to the dialogue plan.

First, all suggested actions are popped from the actions buffer, and used to create a new plan. The plan of the current dialogue state is updated, and the contents of the plans buffer is replaced with the updated plan.

Second, this attempts to modify the plan in the plans buffer. This consists of the following substeps:
  1. Attempt to expand top-level steps in the plan into substeps.

  2. Merge equivalent steps in the plan.

  3. Reorder plan steps according to constraints.

If the plan was modified by the previous step, it is used to update the plan of the current dialogue state, and is re-added to the plans buffer.

Parameters:

ds (DialogueState) –