eta.core.perception

The core process responsible for perceiving and interpreting inputs and adding them to memory.

Functions

observe

Collect all observations from a given perceptual server source.

perception_loop

Observe and interpret inputs from perceptual servers.

process_observations

Process non-speech observations by parsing them as eventualities.

process_utterances

Process utterances by deriving gist clauses, semantics, pragmatics, and logging each turn.

perception_loop(ds)[source]

Observe and interpret inputs from perceptual servers.

The resulting observations are added to dialogue context, as well as to the observations and inferences buffers.

In the case where the observed input is speech, this also interprets the input as a gist clause, as well as deriving the underlying semantic and pragmatic meanings. The input is also interpreted as a reply to the previous turn in the conversation log, if any. The observed turn is then added to the conversation log.

Parameters:

ds (DialogueState) –

observe(source)[source]

Collect all observations from a given perceptual server source.

Parameters:

source (str) – The name of the perceptual server (speech in the special case of a user utterance).

Returns:

A list of observations, each being either a natural language string or a LISP-formatted S-expression string representing a logical form.

Return type:

list[str]

process_utterances(inputs, ds)[source]

Process utterances by deriving gist clauses, semantics, pragmatics, and logging each turn.

Parameters:
  • inputs (list[str]) – A list of speech inputs to process as dialogue turns.

  • ds (DialogueState) –

Returns:

All eventualities derived from the input utterances.

Return type:

list[Eventuality]

process_observations(inputs)[source]

Process non-speech observations by parsing them as eventualities.

Parameters:

inputs (list[str]) – A list of observed facts, as either natural language strings or LISP-formatted S-expression strings.

Returns:

All eventualities derived from the observations.

Return type:

list[Eventuality]