Participant (участник) — это Edge, указывающий семантическую роль сущности, участвующей в событии предиката.

Event Node (глагол)
    ├─ PARTICIPANT Edge (role=Agent) ──→ Entity Node
    ├─ PARTICIPANT Edge (role=Theme) ──→ Entity Node
    └─ PARTICIPANT Edge (role=Instrument) ──→ Entity Node

Принципы проектирования

Принцип разделения

КатегорияПринадлежностьПримеры
УчастникиУровень EventAgent, Theme, Recipient
ПрагматикаУровень Context/ClaimSpeaker, Listener, Evidentiality

Speaker (говорящий), Listener (слушающий), Source (источник информации) обрабатываются не как участники, а в семантических квалификаторах или Context/Claim.

Кодирование

  • 4 бита (0x0~0xF), максимум 16 семантических ролей
  • Возможен паттерн-матчинг через побитовые SIMD-операции

Список семантических ролей (16)

Ключевые участники (Core Participants)

IDКодРольОпределениеПример
0x0AGTAgent (агенс)Субъект, намеренно совершающий действие«Иван ударил мяч»
0x1EXPExperiencer (экспериенцер)Субъект, испытывающий эмоции/восприятие«Мария грустила»
0x2THMTheme (тема)Объект, который перемещается или описывается«Иван ударил мяч»
0x3PATPatient (пациенс)Объект, состояние которого изменяется«Стекло разбилось»
0x4RCPRecipient (реципиент)Тот, кто получает что-либо«Дал книгу Марии»
0x5BNFBeneficiary (бенефициар)Тот, кто получает выгоду от действия«Сделал для ребёнка»

Инструменты и средства (Instruments & Means)

IDКодРольОпределениеПример
0x6INSInstrument (инструмент)Орудие, используемое при действии«Забил гвоздь молотком»
0x7MNRManner (образ действия)Способ выполнения действия«Бежал быстро»

Пространственные (Spatial)

IDКодРольОпределениеПример
0x8LOCLocation (место)Место, где происходит событие«Жил в Москве»
0x9SRCSource (источник)Начальная точка перемещения«Выехал из дома»
0xADSTDestination (цель)Конечная точка перемещения«Поехал в школу»
0xBPTHPath (путь)Промежуточная точка«Прошёл через парк»

Причинно-целевые (Causal)

IDКодРольОпределениеПример
0xCCAUCause (причина)Причина события«Отменили из-за дождя»
0xDPRPPurpose (цель)Цель действия«Пошёл заниматься спортом»

Прочие (Others)

IDКодРольОпределениеПример
0xECOMComitative (комитатив)Сопровождающий объект«Пошёл с другом»
0xFATRAttribute (атрибут)Описание состояния/свойства«Небо — голубое»

Структура Participant Edge

PARTICIPANT Edge {
    source:     Event SIDX       // узел глагола
    target:     Entity SIDX      // узел сущности
    role:       4-bit            // семантическая роль (0x0~0xF)
    gram_role:  2-bit (optional) // грамматическая роль (подлежащее/дополнение/предикатив)
    focus:      4-bit (optional) // степень акцента (0~15 → 0.0~1.0)
    quant_ref:  TID (optional)   // ссылка на квантификатор
}
ПолеБитОписание
role4Семантическая роль (обязат.)
gram_role20=не задано, 1=подлежащее, 2=дополнение, 3=предикатив
focus4Информационная значимость (0=фон, 15=ключевой акцент)
quant_ref16TID квантификатора «все», «большинство» и т.п.

Theme vs Patient

РольИзменение состоянияПример
ThemeНет (перемещение/описание)«Бросил мяч» (мяч не изменился)
PatientДа (затронут)«Разбил стекло» (стекло изменилось)

На практике можно объединять в Theme и различать по семантике глагола при необходимости.

Примеры

Простое предложение: «Иван дал Марии книгу»

Event: give.v.01
├─ PARTICIPANT (AGT) → Иван
├─ PARTICIPANT (THM) → книга
└─ PARTICIPANT (RCP) → Мария

Сложное предложение: «Из-за дождя с другом быстро бежал из дома в школу»

Event: run.v.01
├─ PARTICIPANT (AGT) → [говорящий]
├─ PARTICIPANT (CAU) → дождь
├─ PARTICIPANT (COM) → друг
├─ PARTICIPANT (SRC) → дом
├─ PARTICIPANT (DST) → школа
└─ PARTICIPANT (MNR) → быстро

Описание состояния: «Небо очень голубое»

Event: be.v.01
├─ PARTICIPANT (THM) → небо
└─ PARTICIPANT (ATR) → голубое (focus=15)

Нормализация актив/пассив

Поверхностная формаAgentTheme
«Apple приобрела Tesla»AppleTesla
«Tesla была приобретена Apple»AppleTesla

На этапе разбора формы нормализуются в единый шаблон.