Skip to content

Semantic expressions, moves, and interpretations

Baseline: Tala 31.0.1. Tala models dialogue semantics as typed objects and converts them to and from JSON. Semantic expressions are a compact textual notation for propositions, questions, goals, and moves in DDDs and interaction data. The parser is tala/ddd/parser.py; model encoders/decoders live in tala/model/.

Interpretation JSON

Tala's Interpretation model reads an interpretation object with modality, moves, and, when required by the modality, utterance. A move is parsed into a typed user-move object. perception_confidence is optional. Supported modalities and whether they require utterance text are defined by Tala's Modality model.

An interaction request can supply interpretations as request.semantic_input.interpretations. Alternatively, speech input arrives as request.natural_language_input.hypotheses and the Pipeline adds interpretations during processing.

An interpretation's moves are structured move objects. A user move includes semantic_expression, perception_confidence, and understanding_confidence; a DDD-specific move also includes ddd. The interpretation includes modality, moves, and (for text/speech modalities) utterance. Tala 31.0.1 supports text, speech, haptic, and other; text and speech require utterance text.

Core expression forms

These forms are exercised by Tala's parser tests:

Meaning Expression
Predicate proposition dest_city(paris)
Nullary proposition need_visa()
Perform goal goal(perform(book_room))
Resolve goal goal(resolve(?X.dest_city(X)))
User requests an action request(book_room)
Ask a wh-question ask(?X.dest_city(X))
Answer with a predicate/value answer(dest_city(paris))
Positive grounding of a proposition icm:und*pos:USR*dest_city(paris)
Service action has terminated service_action_terminated(BookRoom)

Question expressions use a typed variable form such as ?X.predicate(X) for a wh-question. The parser also supports yes/no, alternative, knowledge precondition, and nested goal questions. Proposition arguments are interpreted using the active DDD ontology, so names and values are not untyped free text.

Semantic object families

The model layer represents propositions, questions, goals, actions, predicates, individuals, and sets, along with user/system moves. These are structured objects, not arbitrary strings. Their JSON representation is implemented by the relevant as_dict methods and the semantic-expression parser in Tala.

ICMs (interaction control moves) include perception (per), acceptance (acc), semantic grounding (sem), understanding (und), and structure control moves such as reraise, accommodate, resume, report_inference, and loadplan. Polarity and any semantic content are part of the move representation. For example, icm:acc*neg:issue is a negative acceptance of an issue. cardinal_sequencing carries an integer step. Use Tala's ICM.create(...) and parser/model tests to check valid type/content combinations.

Source of truth

Use Tala's tala/model/ classes and parser tests as the serialization source of truth. This notation describes semantic objects; it does not define which understanding or realization service produces them.