DSL: Linguistic Agency Transformation

DSL LAT — это формальный язык описания высказывания.

Его задача — превратить обычную фразу в структуру, с которой может работать человек, интерфейс или программа.

Общая модель

input(statement)
  → parse()
  → detect()
  → classify()
  → transform()
  → output(actionable_statement)

Базовые сущности

Statement

{ "text": "Надо что-то менять" }

Agent

{
  "type": "explicit | implicit | absent",
  "value": "я | мы | null"
}

Агент отвечает на вопрос: кто действует?

Action

{
  "type": "present | absent | abstract",
  "verb": "пишу | выбираю | null"
}

Действие отвечает на вопрос: что именно происходит?

Modality

{
  "type": "external | internal | undefined",
  "markers": ["надо", "хочу", "решаю"]
}

Модальность показывает, откуда исходит импульс: снаружи или изнутри.

Observability

{ "level": "0..2" }
  • 0 — «что-то менять»;
  • 1 — «начать делать»;
  • 2 — «написать 1 сообщение клиенту сегодня».

Режимы высказывания

mode =
  action      // есть агент и действие
  intention   // есть желание, но нет действия
  reflection  // описание без действия
  avoidance   // уход от агентности

Правила трансформации

Добавить агента

IF agent.type == absent
THEN insert("я")

Заменить внешнюю модальность

IF modality.type == external
THEN replace_with_internal()

Пример:

надо сделать → я делаю

Конкретизировать действие

IF action.type != present
THEN define_observable_action()

Повысить наблюдаемость

WHILE observability.level < 2
  → уточнить действие

Пример

Вход:

Надо что-то менять.

Детекция:

agent: absent
action: abstract
modality: external
observability: 0
mode: avoidance

Трансформация:

Я пишу одному клиенту сегодня.

Минимальный API

analyze(statement) → {
  agent,
  action,
  modality,
  observability,
  mode
}

transform(statement) → {
  variants: [neutral, direct, radical],
  recommended: actionable_statement
}

Зачем нужен DSL

DSL нужен, чтобы LAT не оставался метафорой. Он делает язык объектом вычисления: высказывание можно разобрать, классифицировать, сравнить, трансформировать и встроить в продукт.

Главное правило

Нет агента → нет действия.
Нет действия → нет изменения.

Связанные страницы:


Связанные страницы