Skip to content

Inform

Definition

<inform>
  <proposition predicate="p" value="a"/>
</inform>

The plan item that informs the user about a proposition.

Attribute Type Description
insist boolean Optional. If set to false, the system will not try to tell the user, if a proposition of the same predicate (not the same proposition) is already shared with the user. If set to true, the system will try to inform the user, even if a proposition of the same predicate is already shared. The default is false
generate_end_turn boolean Optional. If set to true, the system will end the turn after this dialogue move. The length of the expected passivity is set using the expected_passivity attribute. The default is false.
expected_passivity float The value of this attribute defines the number of seconds that TDM should wait for an utterance from the user before continuing the dialogue. It defaults to 0.0 seconds.

Parents

Children

Behaviour

The <inform/> element makes the system believe a proposition p(a), and then also assume that the issue of ?X.p(X) is under discussion. This means that the system will try to inform the user that p(a), unless this is already known by the user. It is required that the proposition is of a predicate defined in the ontology (i.e. goal propositions etc... are not supported).

The same behaviour can be obtained by the following code:

<if>
  <proposition predicate="p" value="a"/>
  <else>
    <assume_system_belief>
      <proposition predicate="p" value="a"/>
    </assume_system_belief>
    <assume_issue predicate="p"/>
  </else>
</if>

Setting the attribute insistto true means that TDM will always make the utterance, regardless if a proposition over the same predicate is already known.

Setting the attribute generate_end_turn to true means that TDM will generate the equivalent of an <end_turn>element, making sure that the current turn will be ended after this move.

NB! If you want to use several inform items in the same plan, make sure that they are referring to different predicates, as they will otherwise interfere with each other.

Examples

Inform element for telling the user that the first name is "Charlie"

<inform>
    <proposition predicate="first_name" value="Charlie"/>
</inform>

Inform element for telling the user that the first name is "Charlie" followed by 3 seconds of passivity

<inform generate_end_turn="true" expected_passivity="3.0">
    <proposition predicate="first_name" value="Charlie"/>
</inform>

Inform element for telling the user that the first name is "Charlie" followed by a 0.0 second passivity.

<inform generate_end_turn="true">
    <proposition predicate="first_name" value="Charlie"/>
</inform>

Last update: January 20, 2023