A Participant is an Edge that specifies the semantic role of an entity involved in an event within a predication.

Event Node (verb)
    ├─ PARTICIPANT Edge (role=Agent) ──→ Entity Node
    ├─ PARTICIPANT Edge (role=Theme) ──→ Entity Node
    └─ PARTICIPANT Edge (role=Instrument) ──→ Entity Node

Design Principles

Separation Principle

CategoryBelongs toExamples
ParticipantsEvent levelAgent, Theme, Recipient
Pragmatic infoContext/Claim levelSpeaker, Listener, Evidentiality

Speaker, Listener, and Source (information origin) are not participants but are handled in Qualifier or Context/Claim.

Encoding

  • 4 bits (0x0~0xF), up to 16 semantic roles
  • Pattern matching via SIMD bit operations

Semantic Role List (16)

Core Participants

IDCodeRoleDefinitionExample
0x0AGTAgentThe entity that intentionally performs an actionJohn kicked the ball”
0x1EXPExperiencerThe entity that experiences emotion/cognition/perceptionMary was sad”
0x2THMThemeThe entity that moves or whose state is described“John kicked the ball
0x3PATPatientThe entity whose state changes due to an actionThe window broke”
0x4RCPRecipientThe entity that receives something“He gave the book to Mary
0x5BNFBeneficiaryThe entity that benefits from an action“Made it for the child

Instruments & Means

IDCodeRoleDefinitionExample
0x6INSInstrumentThe tool used to perform an action“Drove the nail with a hammer
0x7MNRMannerThe way an action is performed“Ran quickly

Spatial

IDCodeRoleDefinitionExample
0x8LOCLocationThe place where an event occurs“Lived in Seoul
0x9SRCSourceThe starting point of movement“Departed from home
0xADSTDestinationThe ending point of movement“Went to school
0xBPTHPathThe waypoint of movement“Went through the park

Causal

IDCodeRoleDefinitionExample
0xCCAUCauseThe cause of an event“Cancelled because of rain
0xDPRPPurposeThe purpose of an action“Went to exercise

Others

IDCodeRoleDefinitionExample
0xECOMComitativeThe accompanying entity“Went with a friend
0xFATRAttributeState/attribute predication“The sky is blue

Participant Edge Structure

PARTICIPANT Edge {
    source:     Event SIDX       // verb node
    target:     Entity SIDX      // entity node
    role:       4-bit            // semantic role (0x0~0xF)
    gram_role:  2-bit (optional) // grammatical role (subject/object/complement)
    focus:      4-bit (optional) // emphasis level (0~15 → 0.0~1.0)
    quant_ref:  TID (optional)   // quantifier reference
}
FieldBitsDescription
role4Semantic role (required)
gram_role20=unspecified, 1=subject, 2=object, 3=complement
focus4Informational importance (0=background, 15=core emphasis)
quant_ref16Quantifier TID for “every”, “most”, etc.

Theme vs Patient

RoleState changeExample
ThemeNone (movement/description)threw the ball” (ball unchanged)
PatientYes (affected)broke the glass” (glass state changed)

In practice, they can be merged as Theme and distinguished by verb semantics when needed.

Examples

Simple sentence: “John gave Mary a book”

Event: give.v.01
├─ PARTICIPANT (AGT) → John
├─ PARTICIPANT (THM) → book
└─ PARTICIPANT (RCP) → Mary

Complex sentence: “Because of rain, I ran quickly from home to school with a friend”

Event: run.v.01
├─ PARTICIPANT (AGT) → [speaker]
├─ PARTICIPANT (CAU) → rain
├─ PARTICIPANT (COM) → friend
├─ PARTICIPANT (SRC) → home
├─ PARTICIPANT (DST) → school
└─ PARTICIPANT (MNR) → quickly

State predication: “The sky is very blue”

Event: be.v.01
├─ PARTICIPANT (THM) → sky
└─ PARTICIPANT (ATR) → blue (focus=15)

Active/Passive Normalization

Surface formAgentTheme
“Apple acquired Tesla”AppleTesla
“Tesla was acquired by Apple”AppleTesla

Normalized to the same pattern during the parsing stage.