Semantic Roles and Argument Structure
Explore semantic roles, argument structure, and semantic role labeling. Learn predicates, thematic roles, FrameNet, PropBank, and SRL evaluation with examples.
Language AI HandbookAll chapters Semantic Roles and Argument StructureFull chapter · Sections in this chapter1 / 8 ↓
Reading tools Definitions, links & notes
Choose your expertise level to adjust how many terms are explained. Beginners see more tooltips, experts see fewer to maintain reading flow. Hover over underlined terms for instant definitions.
Article links
Make inline references clickable
Semantic Roles and Argument Structure
Consider two sentences:
- "The chef carved the roast."
- "The roast was carved by the chef."
Ignoring case and punctuation, the passive adds only was and by to the active sentence's word multiset. The roast is the direct object in the active sentence and the subject in the passive. The pair can describe one carving event with the same participants playing the same parts: the chef does the carving, the roast gets carved. What changes is how the language packages that event into syntax.
The syntactic analyses supply useful evidence, including passive subjects and by-phrases, but grammatical relation labels are not semantic roles. A role analysis adds a predicate-centered representation: the chef is the carver and the roast is the carved participant. The active and passive examples can describe the same carving situation, even though the sentences have different subjects. Recovering this participant structure is the problem we will work through.
This chapter is about that middle layer of meaning, the layer where a word like carve specifies that there is a carver and an entity being carved, and where a grammar decides which of those participants becomes the subject. The expressions that realize a predicate’s participant slots are its arguments, and semantic roles describe the parts the participants play. The task of finding them automatically is semantic role labeling, usually shortened to SRL.
The middle layer matters because it sits between two extremes. At one extreme is raw lexical identity, the words themselves. At the other is full logical meaning, including quantification, tense, modality, and inference. Semantic roles describe a selected level of participant structure. In the carving example, role identity survives the active/passive change even though the subject changes. The abstraction depends on the inventory: a predicate-specific role number and a frame-specific role name need not remain identical across different lexical choices.
SRL adds relations that entity types alone do not express. In Named Entity Recognition we identified mentions and their types. Here we connect spans through the predicate that organizes the clause. These participant relations alone do not distinguish an asserted event from a negated or merely possible one.
Consider a passage that mentions a minister, a contract, and a company. Entity types alone do not tell us whether the minister signed the contract, cancelled it, or discussed it. Predicate-argument analysis distinguishes these descriptions. A downstream extractor must also preserve the difference between "signed", "did not sign", and "might sign": the same signer and contract roles can occur in all three. A downstream extractor needs that additional context before treating the description as an asserted event.
The chapter moves through four layers. First, predicates and the arguments they license, including the distinction between arguments and adjuncts. Second, thematic roles, the classical inventory and its problems, culminating in Dowty's proto-role theory. Third, frame semantics, where meaning is defined relative to a schematic scene rather than a fixed role list. Fourth, semantic role labeling as an engineering task. We build the dataset, features and evaluator step by step and fit a scikit-learn classifier.
Each layer answers a slightly different question, and it is worth keeping those questions separate as we go. The first layer asks which participant slots a predicate sense or construction licenses. The second asks what kind of participant each one is. The third asks which scene the word evokes and how that scene names its participants. The fourth implements a narrower task: predicting labeled spans for a supplied predicate in a small, hand-annotated corpus. Its output consists of role labels for overt spans. Frame identification, sense disambiguation, and unexpressed participants fall outside this toy task.
Predicates and Their Arguments
In the analysis used here, a predicate denotes a property or relation applied to its arguments. Carve denotes a relation between a carver and something carved. Give denotes a three-way relation among a giver, a gift, and a recipient. Rain denotes a zero-place relation: something happens, but nothing is required to participate.
The contrast between a thing and a relation is the first conceptual step. In the illustrated sentences, the noun phrases the roast and the chef refer to entities. In that verbal use, carve relates a carver to an entity being carved. You cannot understand the meaning of carve without understanding that it brings participants with it. Think of carve as having slots for the carver and the thing carved.
A word or multiword expression that denotes a relation or property. It can license zero or more participant slots. Verbs are prototypical predicates, but nouns (destruction), adjectives (fond), and prepositions (inside) can also be predicative.
The slots a predicate opens are filled by arguments.
An expression realizing a selected participant slot. A lexical analysis associates the slot with the predicate's entry; the constructional account discussed later can also contribute participant structure. A participant can be licensed by the predicate even when its expression is optional or recoverable from context; semantic selection and obligatory overt expression are different tests.
Predicatehood depends on how an expression is used. In "the hammer broke the window", the hammer fills a participant slot of broke. In "she hammered the nail flat", hammered is a verbal predicate. These related forms have different jobs; their spelling alone is insufficient to identify the predicate-argument structure.
Whether an expression is annotated as a predicate depends on its use and the chosen predicate inventory. Nouns can also organize participant structure. In "the attack on the city", nominal attack names an event and relates it to its target, the city. Naming an event does not make the noun nonpredicative.
Arguments are not always noun phrases. They can be clauses ("She believes that he left"), infinitives ("She wants to leave"), or prepositional phrases ("She put the book on the table"). Some subjects are not semantic arguments at all: in "It is raining", the it is a pleonastic placeholder with no referent, and in "There is a book on the table" the there is an expletive. A role labeler that assigns an Agent role to expletive it has misunderstood the syntax.
The variety of argument forms is one reason SRL is harder than it first appears. A system cannot simply look for noun phrases to the left and right of a verb. It has to recognize that a whole clause can fill a slot, that an infinitive can fill a slot, and that a prepositional phrase can fill a slot. It also has to recognize when a grammatical subject is not a participant in the event at all. A subject-to-Agent shortcut would fail on these expletive examples: their subject position does not establish an event participant.
Arguments versus adjuncts
Not every phrase in a clause fills a participant slot selected by the verb. Compare:
- "She put the book on the table."
- "She read the book on the table."
Both contain a PP headed by on. In the ordinary placement reading, "She put the book" leaves the selected location unspecified and is incomplete without supporting context. "She read the book" is acceptable without a location. On the event-location reading used here, the PP is an argument of put and an adjunct of read; the second sentence also permits a different attachment, identifying the book on the table (Merlo, 2003, Section 3).
An optional modifier that adds information about the event without filling a participant slot selected by the predicate. Its compatibility can still depend on the predicate's meaning. Adjuncts can usually be omitted, repeated, and stacked.
Linguists use several diagnostics to separate the two:
- Omissibility. A selected phrase may resist omission, as in the ordinary placement reading of "She put the book on the table" versus "*She put the book". Other arguments can be implicit, so omission alone does not settle argumenthood.
- Entailment. "She put the book on the table" entails that the book ended up on the table. In "She read the book on the table", the PP also permits attachment to book, describing which book was read. On an event-modifier reading, it adds a location that read itself does not select; the example does not establish the book's location is unconstrained.
- Iterability. Merlo contrasts "*Chris rented the gazebo to girls, to boys" with "Kim met Sandy in Baltimore in the hotel lobby in a corner" (2003, Section 3). The first is marked unacceptable as an iteration of the selected recipient; the second accumulates locative modifiers. Such contrasts are diagnostic evidence under the intended interpretations, rather than a rule that every repeated PP is unacceptable.
- Lexical sensitivity. The same PP can be an argument for one verb and an adjunct for another, as the put/read pair shows.
- Do-so substitution. In "She read the book in the library, and he did so at home", the location can remain outside the material replaced by did so. Such stranding has been used as an argumenthood diagnostic, but its interpretation is contested; it is not a categorical test (McInnerney, 2024).
Each diagnostic targets a different symptom, and no single diagnostic is decisive in every case. Omissibility asks whether the sentence remains grammatical without the phrase. The entailment cue asks whether the intended verb sense includes a participant of the kind expressed by the phrase. Iterability asks whether the phrase behaves like a modifier that can be repeated. Lexical sensitivity asks whether the phrase's status depends on the verb. The do-so example asks which material the pro-form can replace while leaving a modifier outside it. Agreement among tests supplies evidence for an analysis, but the existing tests and test collections discussed by Kim et al. do not supply necessary and sufficient conditions for every dependent (Kim et al., 2019, Section 2). Conflicting results should be recorded rather than forced into a supposedly decisive test.
The diagnostics are easier to compare side by side. The chart below scores four phrases from the put/read and give/cook contrasts on three tests. The scores are schematic illustration only: they are hand-assigned and are not measured annotation data. In the transfer reading of give, the entailment mark concerns the recipient slot. The phrase to the guest identifies who receives the item, and the recipient can remain implicit in a suitable context.
PythonIn [3]Expand
import numpy as np
import pandas as pd
adjunct_diagnostics = pd.DataFrame(
[
{
"phrase": "put ... on the table",
"omissibility": 0.0,
"entailment": 1.0,
"iterability": 0.0,
},
{
"phrase": "read ... on the table",
"omissibility": 1.0,
"entailment": 0.0,
"iterability": 1.0,
},
{
"phrase": "gave ... to the guest",
"omissibility": 1.0,
"entailment": 1.0,
"iterability": 0.0,
},
{
"phrase": "cooked ... in the kitchen",
"omissibility": 1.0,
"entailment": 0.0,
"iterability": 1.0,
},
]
)
diagnostic_labels = adjunct_diagnostics["phrase"].tolist()
diagnostic_x = np.arange(len(diagnostic_labels))
diagnostic_width = 0.24
diagnostic_columns = ["omissibility", "entailment", "iterability"]
diagnostic_display = ["Omissibility", "Entailment", "Iterability"]VisualizationOut [4]Expand

The contrast concerns lexical selection, not just whether a phrase is spoken. The cooking example can omit its kitchen location. The transfer reading of give includes a recipient even when context leaves that participant unexpressed. An annotation inventory then makes its own distinctions: a numbered argument or an AM label is a resource convention, not a numerical measurement of argumenthood.
Annotation conventions must be read separately from these linguistic diagnostics. PropBank defines numbered roles in predicate-specific framesets and general modifier labels such as AM-LOC and AM-TMP. Its original specification explicitly avoids committing to a strict linguistic argument/adjunct division: some phrases that a linguistic analysis might call adjuncts receive numbered roles. NEG and MOD are also represented among the general labels without being ordinary adjuncts (Palmer et al., 2005, Section 3). A labeler must follow the chosen resource's definitions rather than infer the label solely from omissibility.
Valency and subcategorization
Here valency describes how many semantic participants a predicate sense selects and what kinds they are.
The number and kind of semantic participants selected by a predicate sense. Rain is avalent, sleep monovalent, devour divalent, and give trivalent.
For the senses illustrated here, rain has no participant argument, sleep one, devour two, and give three. In “She slept,” she is the only participant counted under the bare intransitive reading. These are analyses of particular predicate senses, not immutable counts attached to a spelling. A trivalent transfer reading distinguishes giver, transferred item, and recipient even when context leaves a participant implicit.
Here valency counts semantic participants. Subcategorization records their syntactic realization; other descriptions also use valency for syntactic dependents, so the counting convention must be stated.
A syntactic pattern for realizing a predicate's arguments. The bracketed examples below list postverbal complements and leave the subject implicit. A lexicon can list the permitted patterns for each verb sense.
The distinction between valency and subcategorization is the distinction between how many participants there are and how those participants are expressed. A verb can be trivalent and still permit more than one frame, because the same three participants can be arranged syntactically in more than one way. Conversely, two verbs can have the same valency and permit different frames. A lexicon or model needs to account for both the participant structure and the permitted syntactic patterns.
In the transfer sense of give, the giver is the subject in both examples. The postverbal complements can follow either pattern, [NP NP] or [NP PPto]:
- "She gave the student a book." (double object)
- "She gave a book to the student." (prepositional dative)
In the standard-English pattern illustrated here, explain permits "She explained the rule to the student", while "She explained the student the rule" is marked unacceptable. This is a restriction on that verb and variety, rather than a universal test of a speaker's language competence. Similar broad transfer meanings do not guarantee identical syntactic frames; a computational lexicon or learned model must represent the permitted realizations.
The two verbs can both be described broadly in terms of transfer, but that description leaves out lexical distinctions relevant to their realizations. The example therefore does not prove that syntax is independent of meaning or that a learner must memorize every frame separately. It shows what a lexicon or model must distinguish in this variety. In cross-language work, check the realizations licensed by the translated predicate rather than copying an English frame.
How alternations change syntactic realization
English has systematic diathesis alternations that change how a predicate's participants are expressed. Four examples show why grammatical position alone cannot identify a semantic role.
Here an alternation is a pair of related realization patterns. Passive voice can rearrange the same expressed participants; the causative/inchoative pair below contrasts a clause that names the causer with one that describes the change alone. The examples are evidence against identifying subject with Agent or object with Patient, rather than a claim that every alternation preserves full meaning.
Passive. "The chef carved the roast" becomes "The roast was carved by the chef." The active direct object the roast becomes the passive subject. The active subject the chef appears inside an optional by-phrase.
The passive illustrates the distinction between syntax and semantic roles. The two sentences can describe the same event with the same participants and roles. In the passive, was is the auxiliary and carved is the participle, spelled the same as the active past tense. The preposition by introduces the carver in this example. A rule that labels every subject as Agent would mislabel the roast in this passive example.
Dative shift. "She gave a book to the student" becomes "She gave the student a book." The recipient moves from a PP into the first object slot.
In both variants, the student is the recipient and the book is the thing given. The double-object variant places the recipient immediately after the verb as a bare noun phrase. The prepositional dative expresses the same recipient inside a to-phrase. In the double-object example, labeling the first object Patient would misidentify the recipient. The verb sense and the construction give the evidence for the role assignment.
Causative/inchoative. "The chef melted the butter" becomes "The butter melted." The inchoative makes the affected entity the subject without naming a cause.
The causative/inchoative alternation is a small lesson in event structure. The transitive variant describes an event with a causer and an affected entity. The intransitive variant describes the butter changing state and leaves open what caused the change. The butter is the patient in both cases, even though it is the object in one sentence and the subject in the other. This is another clear case where grammatical relation and semantic role come apart.
Spray/load. "She sprayed paint on the wall" becomes "She sprayed the wall with paint." The direct object switches from the substance being moved to the surface receiving it.
The spray/load alternation supplies another contrast between grammatical relations and participant roles. In one variant the direct object is the material; in the other it is the location. The direct-object label alone does not say whether paint or wall fills the material role.
The spray/load pair is worth pausing over because it defeats several simple heuristics at once. The verb is the same. The participants are the same. The preposition changes, and the direct object changes. A rule that always labels the first postverbal NP Material would label the paint correctly in the first variant and mislabel the wall in the second. A model that learns "the noun phrase after with is the instrument" will also fail, because in "sprayed the wall with paint", the with-phrase is not an instrument. The paint is the material, and the wall is the surface. An analysis that needs to preserve the material/surface distinction must represent it somewhere, rather than derive it from the preposition alone.
Predicates beyond simple verbs
Three constructions show why restricting the target to simple verbal predicates leaves important analysis choices unresolved.
Light verbs and support constructions. In "take a shower", "make a decision", or "give a talk", the noun names the event. Annotation schemes vary in whether they treat the noun or the verb as the predicate.
A support construction need not use the ordinary lexical sense of its verb. FrameNet analyzes "Pa gave her a lecture" with lecture as the frame-evoking target and gave as a support verb; Pa is Speaker and her is Addressee (FrameNet II, Section 3.1). Treating this as an ordinary transfer of a lecture would miss that annotation target. Other schemes may represent the construction differently, so predicate identification must follow the selected scheme.
Nominal predicates. "The army's destruction of the city" has the same participant structure as "The army destroyed the city", but the predicate is a noun. PropBank includes nominal framesets, and FrameNet includes nouns as lexical units. An extractor restricted to verbs would miss the destruction relation in this example.
A second example places event descriptions inside noun phrases. A sentence like "The committee's approval of the proposal led to immediate funding" contains two event-like nouns, approval and funding, each with its own participant structure. A verb-only extractor sees only led and misses the approval relation entirely. Including these nouns in the annotation target makes their participant relations available to the extractor; this example does not measure the added coverage or prediction difficulty.
Constructions. Goldberg (1995) analyzes caused motion as a construction pairing a subject, a nonstative verb, a direct object, and a directional phrase with a causal-motion interpretation. "Pat sneezed the napkin off the table" adapts her example, with the prepositional phrase off the table giving the direction. In this analysis, participant structure comes from combining the verb with the caused-motion construction; it is not projected from sneeze alone.
Compare the intransitive "Pat sneezed" with the caused-motion sentence. In the intransitive example, the selected core participant is the sneezer. PropBank's sneeze.01 likewise lists only ARG0, the person sneezing (complete frame file); that is a resource-specific role inventory, not a frequency claim about every use of the verb. In Goldberg's constructional analysis, the napkin realizes the entity caused to move and off the table expresses its path. The sentence means roughly "Pat caused the napkin to move off the table by sneezing". Sneezing supplies the means of causing the motion, while the caused-motion construction supplies the causal-motion structure. This illustrates a construction-based account in which a grammatical pattern pairs form with meaning.
Thematic Roles
Gruber (1965) and Fillmore (1968) analyzed semantic participant relations separately from surface grammatical relations such as subject and object.
The passive and dative shift examples keep the participant roles while changing how they are expressed. In both spray/load variants, the paint is the material and the wall is the receiving surface. The direct-object choice can change what the sentence implies about the extent of the effect. This motivates labeling participants independently of their grammatical positions. Thematic roles give us a vocabulary for who initiates an event, who is affected by it, and who receives something.
A semantic label describing the part a participant plays in the situation denoted by a predicate: who initiates, who is affected, who receives, and so on.
The following table fixes the thematic-role conventions used in this chapter. Role definitions vary across analyses, so the diagnostic column gives illustrative cues to examine rather than tests that determine a label by themselves.
| Role | Intuition | Typical diagnostic | Example |
|---|---|---|---|
| Agent | Volitional instigator | "deliberately" is compatible | The chef carved the roast. |
| Patient | Entity affected or changed | "What happened to X?" is answered | The chef carved the roast. |
| Theme | Entity moved, located, or described | What moves, is located, or is described? | The ball rolled. |
| Experiencer | Sentient participant who perceives or feels | Can be paraphrased with "feels" | The student feared the exam. |
| Stimulus | Target of perception or feeling, or what elicits a response | What is perceived or feared, or what prompts the response? | The student feared the exam. |
| Goal | Endpoint of motion or transfer | "to" or "into" paraphrase | She walked to the station. |
| Source | Origin of motion or transfer | "from" paraphrase | She came from the archive. |
| Recipient | Receiver in a transfer | Receiving paraphrase | She gave a book to the student. |
| Beneficiary | For whose benefit | "for" paraphrase | She bought a gift for her sister. |
| Instrument | Means used to bring about the event | "with" or "using" paraphrase | She carved it with a knife. |
| Location | Where the event happens | "where" question | They met in the kitchen. |
| Time | When the event happens | "when" question | They met yesterday. |
| Cause | Non-volitional instigator | No volition, but causal power | The storm destroyed the house. |
Read the table as a set of prototypes. Use deliberately to probe whether a reading is intentional and ask "what happened to X?" to probe affectedness. Both cues depend on the reading and can leave the role undecided.
The table uses Agent for a volitional instigator and Cause for a nonvolitional instigator. On an intentional reading, the chef and the storm illustrate that contrast. Theme and Patient require more care: some inventories use Theme broadly for affected participants. Here, Patient covers affected or changed entities, while Theme covers moved, located, or described entities without requiring a change of state; it does not establish that the terms are universally disjoint.
These conventions help explain why a label's definition must accompany its name. A storm can cause destruction without intending it. A rolling ball changes location, while carving changes the roast in another way. Whether a resource calls either participant Theme, Patient, or a frame-specific name depends on the distinctions that resource chooses to encode. Cross-resource comparisons must align the definitions rather than compare strings alone.
The linking problem and the thematic hierarchy
Given a verb's participants, how does a language decide which one becomes the subject? A thematic hierarchy proposes a ranking to constrain that mapping. Dowty derives the following schematic ordering from proto-role entailments, with the qualification "usually" (1991, Section 8.2, example 36):
Agent > {Instrument, Experiencer} > Patient > {Source, Goal} (usually)
Here > means both "outranks for subject" and "outranks an oblique for direct object" under Dowty's argument-selection assumptions. The ranking favors an agent over an affected participant in a simple active transitive example. In "The key opened the door", the lexical construction licenses an instrument subject. That realization is compatible with the schematic ranking. Passive syntax must be analyzed separately from lexical subject selection.
The linking problem concerns mappings from participant semantics to grammatical relations. A hierarchy proposes regularities that can be reused across predicates, rather than separately listing every realization. Its predictions still depend on the role definitions, the construction, and the predicate classes to which it applies. It is an analysis to evaluate against examples, not an ordering that follows from the labels themselves.
The ranking leaves out the entailment analysis from which it was derived. Applying it therefore requires checking the participants' properties and the relevant construction. The psych-verb contrast makes the limits of label names alone concrete:
- "The student feared the exam." (Experiencer subject, Stimulus object)
- "The exam frightened the student." (Stimulus subject, Experiencer object)
The examples place Experiencer and Stimulus in different grammatical positions. A fixed ranking of those two labels alone would not distinguish the realizations. The lexical meanings and relevant event properties must also be analyzed; this is the contrast examined in Dowty's discussion of psych predicates.
These psych predicates also differ in lexical meaning. Fear describes an experiencer's state, whereas frighten can describe causing fear or a change in emotional state. The pair therefore does not prove that two synonymous predicates simply reverse a fixed role order. It shows why both participant properties and lexical event structure matter when analyzing subject selection; Dowty discusses these contrasts in his treatment of psych predicates (1991, Section 8.3).
Where thematic roles break down
This section examines five issues: role granularity, definitions, assignment choices, links to syntax, and annotation reliability.
Granularity. How many roles should there be? If Goal, Recipient, and Beneficiary are all separate, why not separate "Goal-of-transfer" from "Goal-of-motion"? If they are merged, distinctions that matter for downstream tasks disappear. Different resources choose different stopping points according to the distinctions they represent.
Inventory granularity determines which distinctions the annotations can express. Merging Recipient and Goal removes a distinction between transfer and other endpoints; separating them requires a definition for each. The appropriate choice depends on the task and annotation guidelines. Granularity alone does not determine annotation speed, agreement, or model accuracy, which must be measured for the particular resource and annotators.
Definition dependence. Theme does not have one fixed extension across theories. Dowty discusses differences between stative Theme, affected participants, and incremental themes (1991, Sections 2 and 8.1). Judging whether a model's Theme labels are semantically appropriate requires specifying their intended definition. This motivates documenting the inventory; it does not establish that one label scheme is inherently better for machine learning.
Assignment depends on the intended contribution. In "The gardener planted roses in the garden", the planting-site reading identifies where the roses end up. A resource may represent that selected site with Goal, Destination, or a frame-specific location role. A separate event-setting analysis asks where the event occurs. The fact that the garden can be both endpoint and setting does not, by itself, establish two labels for the same PP within one fixed inventory. An annotation project must specify the distinction and assess whether annotators follow it.
A selected endpoint and the setting of an event are distinct questions, even when a phrase appears to answer both. A project may choose one label, permit several, or use frame-specific definitions. The example alone does not establish how often disagreements occur or whether training and adjudication would resolve them.
Roles do not determine syntax, and syntax does not determine roles. The passive, the dative shift, the spray/load alternation, instrument subjects, and psych verbs all show that the mapping is many-to-many.
The many-to-many mapping raises a linking question. If roles determined syntax, we could predict grammatical relations from semantic labels. If syntax determined roles, we could predict semantic labels from grammatical relations. Neither shortcut follows from the labels alone. The mapping is mediated by the verb's lexical entry, the construction, and the discourse context, which is why SRL systems need predicate-specific information.
Annotation reliability. Disagreements may concern span boundaries, predicate senses, or role definitions. These are different sources of error and should be measured separately. Comparing agreement across SRL and part-of-speech projects requires matched protocols; a general ordering does not follow merely from one task seeming more abstract.
A model is evaluated against the released reference annotations, which may differ from another defensible analysis of the text. Annotation agreement helps characterize uncertainty in that reference, but a pairwise human agreement score is not a mathematical upper bound on model accuracy against one fixed gold set. Report annotation procedures and adjudication alongside the metric, and inspect disagreements before deciding whether a model prediction or a reference label needs correction.
Proto-roles: roles as clusters of entailments
Dowty (1991) proposes two cluster concepts, Proto-Agent and Proto-Patient, characterized by predicate entailments. Arguments can satisfy different numbers of their properties, share a proto-role, qualify partially for both, or have neither. The lists are preliminary and need not be exhaustive.
The comparison asks which agent-like and patient-like properties a predicate entails about each argument. Dowty allows unclear property boundaries and possible differences in the weight of entailments. Counting fixed binary properties, as in the later tutorial table, is a simplified way to illustrate the comparison; it is not a complete implementation of the theory.
The properties Dowty associates with the Agent proto-role are:
- Volitional involvement in the event or state.
- Sentience, and/or perception.
- Causing an event or change of state in another participant.
- Movement relative to the position of another participant.
- Existence independently of the event named by the verb, which Dowty lists in parentheses.
The properties of the Patient proto-role are:
- Undergoes a change of state.
- Is an incremental theme, with relevant parts of the participant corresponding to parts of the event as it progresses.
- Is causally affected by another participant.
- Is stationary relative to the movement of another participant.
- Does not exist independently of the event, or does not exist at all, also listed in parentheses.
Dowty explicitly qualifies the independent-existence properties: he is uncertain whether they belong to the proto-role definition or to discourse associations of subjecthood (1991, Section 7, properties 27e and 28e). He also asks whether relative stationarity should be omitted from the Patient list (property 28d, Section 9.3.3). The lists should therefore be read as a proposal with stated qualifications, not ten equally settled tests. He also qualifies movement: he treats movement as agent-like only when no other participant in the named event causes or interrupts it. For movement to count as patient-like change, he usually requires it to be described to or from a specified location. In these comparisons, causation takes priority over movement (pp. 573–574).
Dowty's Argument Selection Principle relates lexical subject selection to the greatest number of entailed Proto-Agent properties and direct-object selection to the greatest number of Proto-Patient properties, subject to the qualifications just discussed. In note 17, Dowty limits the apparent scope of the principle to two-place predicates with a grammatical subject and a true direct object. The first corollary permits alternative lexicalizations when arguments have approximately equal Proto-Agent and Proto-Patient entailments. The second compares nonsubject arguments of three-place predicates when selecting direct versus oblique objects (Dowty, 1991, p. 576).
The selection principle concerns lexical argument selection, with the relevant subject and direct-object configurations specified in the proposal. It is not a rule that generates every surface subject from a count of observed event details. Passive syntax and the behavior of psych predicates require their own analysis; the principle alone does not guarantee a unique surface arrangement.
This reframing allows nonvolitional participants to have agent-like properties. A key used to open a door can cause a change without being sentient, and a destructive storm can cause damage without intending it. Which properties are entailed must be checked for the predicate and interpretation, rather than filled in from a typical imagined scene. The later binary table gives selected illustrative judgments to demonstrate property-count arithmetic; its numbers are not evidence that a particular subject is uniquely required by the theory.
The proto-role proposal concerns argument selection, not the label strings an annotator must write. PropBank explicitly cites Proto-Agent and Proto-Patient tendencies when describing A0 and A1 (Palmer et al., 2005, Section 3). The tendencies do not define a universal algorithm that selects the most agent-like phrase as A0: the predicate sense's roleset supplies the annotation definitions. FrameNet instead defines frame elements relative to a frame.
Frame Semantics
Thematic roles reuse definitions across predicates. A broad inventory can use Goal for both transfer and motion endpoints. Frame semantics defines each role relative to a specific schematic scene.
The contrast is between generality and semantic specificity. Thematic roles aim to be general enough to apply across many predicates. Frame semantics aims to be precise enough to capture the particular structure of each scene. A Goal role can apply to motion and transfer; analyses that treat communication as transfer also use Goal for the recipient (Michaelis and Ruppenhofer, Section 5.3.1). The label alone does not tell us what kind of goal it is. The Recipient role in Giving identifies the receiver in that transfer frame, while a broad Goal role can also cover motion endpoints.
A schematic scene with participant roles defined for that frame. In a frame-semantic analysis, commercial buy evokes a transaction schema involving buyer, goods, seller, and money.
Commercial transactions provide a concrete frame-semantics example. English has several verbs that describe the same scene from different perspectives:
- "The collector bought the painting from the dealer for a thousand dollars."
- "The dealer sold the painting to the collector for a thousand dollars."
The participants are identical: a buyer, a seller, goods, and money. What changes is which participant is foregrounded. Buy takes the buyer's perspective and makes the buyer the subject. Sell takes the seller's perspective. In FrameNet, Commerce_buy and Commerce_sell provide different perspectives on the more neutral Commerce_goods-transfer frame. The Perspective_on relation connects a perspectivized frame to that neutral frame; it is not a direct symmetric link between buying and selling (FrameNet II, Section 6.1.2).
The perspective metaphor is apt. The same scene can be viewed from different angles, and each angle makes a different participant salient. Buy foregrounds the buyer and backgrounds the seller. Sell foregrounds the seller and backgrounds the buyer. The verbs select different perspectives on the transaction; the lexical meaning does not require every participant to be spoken. In the two sentences here, both the goods and the price are explicit.
The Berkeley FrameNet project (Baker, Fillmore, and Lowe, 1998) turned this idea into a lexicon and an annotated corpus. Its core constructs are:
- Frame. A schematic scene such as Giving or Commerce_buy.
- Frame element (FE): a participant role defined by the frame, for example Donor, Theme, and Recipient in Giving. FrameNet II describes three main levels: core (conceptually central), peripheral (background such as Time), and extra-thematic. It also discusses a special core-unexpressed value.
- Lexical unit (LU). A lexical item in one of its senses, paired with the frame it evokes. The item can be multiword. Buy is an LU of Commerce_buy, and sell is an LU of Commerce_sell.
- Frame relations: inheritance, perspective, subframe, and using relations that organize the frame inventory into a network.
The frame-element classification differs from a test of obligatory syntactic expression. A core FE is conceptually central to the frame, but it need not be overt in every sentence. Peripheral FEs provide background such as time or place. Extra-thematic FEs introduce information that can place the target situation within another event or state, such as iteration or a containing event. Consult the particular frame and release: these categories are not interchangeable with PropBank's numbered and AM labels.
FrameNet's role labels are frame-specific. Giving includes Donor, Theme, and Recipient; Commerce_buy includes Buyer, Goods, Seller, and Money. The same participant can therefore receive different labels when a different frame is evoked. When using released data, record the FrameNet version as well as the frame name, since a resource release fixes the definitions and inventories available to the system.
Frame-specific annotation requires consulting the relevant definitions rather than selecting from one short global list. Frame identification and frame-element prediction must agree: a label licensed by one frame may not be licensed by another. A model can share representations across these decisions, but shared features do not make the inventories identical. Annotation time and predictive difficulty depend on the task setup and should be measured rather than inferred from the number of labels alone.
Comparing the major resources
Four lexical resources illustrate different choices about what to organize and annotate.
| Resource | Unit of organization | Role inventory | Example uses |
|---|---|---|---|
| WordNet | Synset (synonym set) | No PropBank-style role-labeled corpus; verb entries include sentence frames | Lexical semantics, word similarity |
| VerbNet | Verb class (Levin-style) | Thematic roles plus selectional restrictions | Verb lexicon, parsing, generation |
| PropBank | Predicate sense (roleset) | Numbered args such as A0 to A5, plus general labels such as AM-TMP | Corpus annotation, SRL benchmarks |
| FrameNet | Frame | Frame-specific frame elements | Frame semantics, rich role annotation |
The table is best read as a map of design tradeoffs rather than a ranking. WordNet organizes lexical senses into synsets and includes syntactic sentence frames for verbs (WordNet Reference Manual, Verb Frames), but it does not provide a PropBank-style role-labeled corpus. VerbNet organizes verbs by syntactic behavior and adds thematic roles and selectional restrictions. PropBank organizes annotations by predicate sense, including verbal and nominal predicates, and uses numbered labels defined by each roleset. FrameNet defines roles for each semantic frame. Each resource answers a different question, and the right choice depends on the task.
VerbNet groups verbs into classes that share syntactic behavior, following Levin's (1993) alternation-based classification. Each class lists its members, the thematic roles its members assign, and the syntactic frames they permit, annotated with semantic predicates that describe event structure, including relevant processes, causes, and states.
VerbNet's great strength is that it links syntax and semantics at the level of verb classes. Class membership gives a system the frames and role definitions recorded for that class. It does not guarantee that a particular release lists every acceptable use of every member. A parser or generator using the lexicon must still select the intended sense and applicable frame.
PropBank (Palmer, Gildea, and Kingsbury, 2005) annotates the Penn Treebank with predicate-argument structure. Its numbered roles A0 through A5 are defined per predicate sense. A0 generally has Proto-Agent properties and A1 generally has Proto-Patient or Theme properties, but these are tendencies rather than substitutes for the frameset. General labels include AM-TMP, AM-LOC, AM-MNR, AM-CAU, and AM-PNC in the older conventions used here. For fear.01, A0 is the experiencer, illustrating why A0 must not be read as a universal volitional-Agent label (frame file).
The phrase "for this particular predicate sense" is the key to understanding PropBank. The numbered labels are not global semantic categories or surface grammatical positions. An annotator consults the sense's role definitions and examples. Some senses do not have an A0 at all: the relevant role inventory must come from the resource, rather than from a rule that assigns A0 to whichever phrase happens to look most agent-like.
FrameNet instead names roles within a frame shared by its lexical units. This provides a different level of organization from a predicate-sense roleset, rather than a general ranking of which resource is better or easier to annotate.
The practical consequence is that role labels from different resources are not interchangeable. For the purchase reading, a PropBank-style task can use numbered labels such as A0 and A1 from buy.01, while a FrameNet task targeting Commerce_buy can use Buyer and Goods. Mappings must specify which senses, frames, and role definitions they align. SemLink distributes explicit mappings between these resources (project description).
The mapping problem is harder than it looks because the resources carve the space differently. PropBank's buy.01 A0 can align to a Buyer role, but the string A0 by itself is insufficient: sell.01 A0 denotes Seller. A mapping must include the selected sense and resource definitions. Existing SemLink mappings are versioned data to inspect, rather than evidence that every label has one universal counterpart.
Semantic Role Labeling
Start with the selected-predicate task for contiguous argument spans.
Given tokens and a selected predicate at position with , predict a set of labeled spans
where each denotes the half-open range from token through token , with , and is a role drawn from an inventory determined by the benchmark. The toy’s gold spans are nonoverlapping and exclude the selected predicate token, as required by its BIO encoding. The set lists which text spans fill which roles for the selected predicate; it does not by itself encode every aspect of sentence meaning. The CoNLL-2012 organizer paper's sample marks the selected predicate with V in its argument column, serialized as (V*) (Table 12 and Figure 3). The toy tag sequence below uses bare V. The toy code below takes the selected token index and uses the lowercased form of that token as a feature.
The inventory can be coarse or fine, global or frame-specific. A task that permits discontinuous arguments also needs a way to link separated spans as parts of one argument, such as the continuation convention below. Other protocols predict the predicate instead of supplying it. These decisions specify the output target and evaluation protocol. Their effect on empirical prediction difficulty must be measured for the selected setting.
The problem is usually decomposed into four subtasks:
- Predicate identification. Which tokens are predicates? An evaluation can supply gold predicates instead of scoring their identification.
- Frame or sense identification. Which frameset or frame does this predicate instance evoke? For verbal predicates, this includes word sense disambiguation; the selected frameset or frame determines which role definitions apply.
- Argument identification. Which spans realize roles for this selected predicate, including any adjunct-like modifiers included by the annotation scheme?
- Argument classification. Which role does each span receive?
The four-way decomposition separates different outputs to inspect. If gold predicates are supplied, predicate identification is not a model decision in that evaluation. Predicting them introduces another possible source of error. A wrong sense or frame can also change which role definitions should apply; no universal severity ranking follows from the decomposition. Argument identification errors determine whether a span is considered at all. Argument classification errors determine which label it receives. A system that gets identification right but classification wrong will produce spans with plausible boundaries and incorrect labels, which is a different failure mode from a system that misses spans entirely.
In a pipeline these decisions run in sequence, so an upstream error can affect downstream labels. He et al. (2018) use shared contextual features to score word-indexed predicate candidates and span-based argument candidates and predict their relations. Their end-to-end setting predicts predicates and argument spans without gold predicates. Given the input, the baseline predicts a role or no relation separately for each pair that survives pruning. Across examples, errors on different pairs can still co-vary when the model relies on the same misleading features. Pruning a candidate rules out all of its pairs.
If a pipeline retains intermediate predictions and reference annotations for its stages, we can compare them to locate predicate, sense, boundary, or role-label disagreements. Such a comparison does not by itself establish which earlier decision caused a later error. A joint model can use evidence from several decisions together. Gold-predicate tagging and full predicate-argument prediction both remain useful experimental settings, so the term end-to-end should be accompanied by an explicit description of which labels were supplied and which were predicted.
Predicate conditioning
In SRL, the labels depend on which predicate you are asking about. In "The chef carved the roast", the span "the roast" is A1 of carved. If the sentence also contained a nominalization, the same span could be an argument of two different predicates with two different roles.
Predicate conditioning identifies which predicate-argument relations the output describes. The same token can receive different labels depending on which predicate it is associated with. A sentence with multiple predicates therefore needs an output convention that preserves predicate identity, for example separate tagging passes or labeled predicate–argument edges.
For predicate-conditioned token tagging, the input or output convention must identify the selected predicate. The tagger below encodes each token's position relative to the supplied predicate, together with its surface form, as features. This convention identifies which predicate-argument relations the tags describe; it does not require every SRL architecture to use an externally supplied predicate index.
Relative position identifies whether a token precedes or follows the selected predicate and records its distance, clipped to six tokens in either direction. The predicate form adds lexical context. These inputs can distinguish the same token under different supplied predicates; they do not prove a general distance ordering between arguments and adjuncts or guarantee that the correct role is recoverable. The later position plot describes only the hand-built corpus.
Span representation and BIO
One encoding converts labeled spans into a per-token tag sequence using the BIO convention we saw in BIO Tagging. In the toy's gold encoding, argument spans exclude the selected predicate token. A span of role A0 starting at token and ending before token becomes:
B-A0at position ,I-A0at positions through .
In this gold encoding, the predicate token is V and every remaining token outside the arguments is O. The example uses the tutorial's AM-MNR label for the instrument. Released PropBank carve.01 lists the instrument as ARG2.
| Token | The | chef | carved | the | roast | with | a | knife | . |
|---|---|---|---|---|---|---|---|---|---|
| Tag | B-A0 | I-A0 | V | B-A1 | I-A1 | B-AM-MNR | I-AM-MNR | I-AM-MNR | O |
The plain BIO scheme used here cannot connect separated pieces as one argument. PropBank-style data can include continuation segments, which need an additional convention such as C-A1 to associate them with the argument's first segment. A list of unlinked B-A1 spans does not express that relationship. CoNLL-2005 explicitly describes noncontiguous arguments (Carreras and Màrquez, 2005, Section 2); the miniature corpus below avoids them.
For one predicate, this BIO scheme can encode a flat set of nonoverlapping contiguous argument spans that exclude the selected predicate token. Discontinuous arguments need a way to link their separated pieces, such as the continuation convention above. The toy converter handles only contiguous spans.
Evaluation
The standard metric is span-level precision, recall, and F1, where a predicted span counts as correct only if both boundaries and the label match the gold annotation exactly:
Here is the set of gold arguments and the predicted argument set for the same selected predicate. The notation counts elements of set , and the intersection keeps arguments with matching start, end, and role. is precision, is recall, and is their harmonic mean. For corpus aggregation, the keys also retain sentence and predicate identity. The formulas assume nonzero denominators. The code returns zero for precision when the prediction set is empty, for recall when the gold set is empty, and for when .
The formula is the familiar one, but the unit of evaluation is the span, not the token. A prediction is correct only if the start boundary, the end boundary, and the label all match. This is a strict criterion, and it is the right one for applications that need exact argument spans.
Three details make published numbers hard to compare:
- Gold versus predicted predicates. An evaluation can supply gold predicates or require their prediction. He et al. (2018) report these as separate settings; a score from one setting cannot by itself establish performance in the other.
- Head-word versus full-span scoring. Span SRL and dependency SRL use different units: complete argument spans versus argument heads. CoNLL-2005 required both the words spanning an argument and its role to be correct (Carreras and Màrquez, 2005, Section 2.1). Do not compare its span scores directly with dependency SRL scores.
- Annotation inventory and tokenization. PropBank and FrameNet define different semantic labels. OntoNotes is a corpus project that includes PropBank-style annotations, rather than a third independent role theory. Compare the actual resource release and evaluation token boundaries. Two encoders can use different subword tokenizers while their predictions are evaluated against the same original word spans.
These settings change what is evaluated. Reading SRL results requires checking the predicate-identification setting, the annotation unit, the label inventory, and alignment to the benchmark tokenization. Subword tokenization inside an encoder does not itself change the benchmark evaluation unit when outputs are correctly realigned.
The distribution of labels matters too. In CoNLL-2005's training data, A0 and A1 are much more frequent than A4 and A5; Table 1 reports 61,440 A0 instances, 84,917 A1 instances, 2,703 A4 instances, and 68 A5 instances. AM-PNC has 2,289 training instances, so calling all less common roles "a few dozen" would be inaccurate. The counts and their split must be stated when interpreting a per-role score (shared-task paper, Table 1).
Pool exact matches across roles to compute micro-averaged scores. Precision divides the match count by the total predicted count when that count is positive. Recall divides it by the total gold count when that count is positive. Micro F1 is twice the match count divided by the sum of those two totals when that sum is positive. An aggregate does not specify the error rate for a rare role. If an application requires that role, report its support and per-role precision and recall as well as the aggregate. The role’s value depends on the application.
A short history of SRL systems
The field's trajectory is a useful case study in how NLP moved from feature engineering to pretraining.
| Era | Representative approach | What mattered |
|---|---|---|
| 2002 to 2005 | Parse-tree path features with statistical classifiers (Gildea and Jurafsky, 2002), then CRFs and memory-based learners in the CoNLL-2005 shared task | Hand-designed features: path from predicate to constituent in the parse tree, head word, voice, predicate lemma, POS |
| 2005 to 2013 | Dependency-based SRL in CoNLL-2008 and 2009, system ensembles in CoNLL-2005 | Argument heads as a scoring unit; multilingual PropBank-style annotation in OntoNotes 5.0 |
| 2015 to 2018 | BiLSTM taggers (He et al., 2017), dependency path LSTMs (Roth and Lapata, 2016), joint span prediction (He et al., 2018), graph convolutional networks over syntax (Marcheggiani and Titov, 2017) | Learned contextual representations and different uses of syntactic information |
| 2019 to 2021 | BERT-based models evaluated on span and dependency SRL (Shi and Lin, 2019); seq2seq reformulations that cast SRL as translation into an augmented target string (Paolini et al., 2021) | Pretrained models for token tagging or augmented-text generation |
These examples illustrate different modeling choices rather than a sequence in which each newer approach replaces all earlier ones. Parse features expose explicit structural information; recurrent and pretrained encoders learn contextual features; text-to-text approaches serialize annotations into an output string. The representation and decoding choices affect which outputs a model can express and how its errors must be scored.
For a concrete example of pretrained encoders in SRL, Shi and Lin (2019) present BERT-based models for span and dependency tasks. Their evaluation settings and comparisons belong to that paper; they do not establish a timeless performance level for every OntoNotes experiment. To attribute a gain to pretraining rather than syntax features or decoding, compare systems that control those other choices or inspect a relevant ablation.
A generated annotation must satisfy the same structural requirements as any other prediction: spans must align to the input, labels must belong to the chosen inventory, and the selected predicate must be identifiable. Set an invalid-output policy before scoring, check the predictions against these requirements, and apply that policy consistently when computing F1. For example, an output phrase absent from the input cannot be accepted as an exact input span, even if it is a plausible paraphrase of an argument.
Prompted and task-trained systems should be compared on a named dataset, output protocol, and metric, rather than assigned a universal accuracy ranking. The text-to-text formulation itself is compatible with supervised training: Paolini et al. (2021) include SRL among the structured tasks in their Translation between Augmented Natural Languages framework. Serialization is a modeling choice, not evidence that exact structural prediction is impossible.
A worked example
Take the sentence:
The committee awarded the prize to the young researcher last year.
With awarded as the predicate, compare the following participant analyses. The frame-based description needs a qualification about the resource target.
Thematic roles. The committee is Agent, the prize is Theme, to the young researcher is Recipient, and last year is Time.
PropBank. In award.01, the official descriptors are giver for A0, award for A1, and beneficiary for A2. In this sentence, those labels go on the committee, the prize, and to the young researcher, respectively. Last year is AM-TMP, an adjunct.
Frame semantics. Giving provides a useful comparison: its core FEs are Donor, Theme, and Recipient, and Time is peripheral. Those names describe the transfer participants in a paraphrase with gave. FrameNet 1.7 lists give.v in Giving but does not list award.v there or in its LU index. The transfer analogy is therefore not a released FrameNet annotation of awarded: a corpus analysis must consult the actual lexical unit and release rather than assign a frame from intuition alone.
Proto-roles. On an intentional-awarding reading, the committee has agent-like properties such as volition and causation. The prize is the transferred participant, and the researcher is the recipient. Calling the prize Theme does not establish Dowty's incremental-theme property: that property concerns a separate relation between parts of a participant and parts of an event. A proto-role analysis must justify the predicate entailments rather than derive a score from the names Agent, Theme, or Recipient.
The four analyses are not competing answers to the same question. They address different questions. Thematic roles answer "what kind of participant is this?" PropBank answers "which role does the selected roleset define for this argument?" FrameNet answers "which frame element does this fill in this scene?" Proto-roles answer "how agent-like or patient-like is this participant?" The thematic-role, PropBank, and proto-role analyses use the award sentence. The FrameNet comparison uses a paraphrase with gave. Choose the analysis that fits the application.
Now passivize:
The prize was awarded to the young researcher by the committee last year.
The same participant roles are expressed differently in the passive. A1 covers the prize, A2 covers to the young researcher, and A0 covers by the committee, including by in this worked annotation.
A subject-to-A0 shortcut would mislabel the prize. The passive construction identifies it as the passive subject, and the agentive phrase by the committee points to the awarder. The award.01 role definitions determine the numbers. Compare by noon, which gives a time limit. Gildea and Jurafsky use a voice feature and prepositions as PP heads. The toy tagger below uses local token features, including an auxiliary flag for the current word.
Finally, nominalize:
The committee's award of the prize to the young researcher last year.
The predicate is now the noun award. In this event reading the same participants can be identified. A verb-only target excludes this nominal relation; the PropBank frame files and FrameNet include nominal predicates.
The noun award in this event reading relates an awarder, an award, and an awardee. A verb-only target excludes this nominal relation. Whether a system must support it depends on the extraction task; the example does not measure a corpus-wide coverage gain.
Building an SRL tagger step by step
The rest of the chapter implements a small PropBank-style tagger. The corpus is deliberately tiny (31 sentences) so every step is visible. The point is the pipeline, not the accuracy.
The toy system trains on 25 sentences, uses hand-designed features, and predicts BIO tags with logistic regression. Larger systems make different choices about representations and decoding, as the cited examples show. This exercise exposes feature extraction, fitting, decoding, and evaluation; scaling its data alone would not turn it into every model in the timeline.
A miniature annotated corpus
Each entry stores the token list, the predicate index, and a list of (start, end, role) spans using half-open indexing.
PythonIn [5]Expand
def sent(text, pred_word, args):
tokens = text.split()
return {"tokens": tokens, "pred": tokens.index(pred_word), "args": args}
CORPUS = [
sent("The chef carved the roast .", "carved", [(0, 2, "A0"), (3, 5, "A1")]),
sent("The chef sliced the bread .", "sliced", [(0, 2, "A0"), (3, 5, "A1")]),
sent(
"The gardener planted the roses .",
"planted",
[(0, 2, "A0"), (3, 5, "A1")],
),
sent(
"The student answered the question .",
"answered",
[(0, 2, "A0"), (3, 5, "A1")],
),
sent(
"The mechanic repaired the engine .",
"repaired",
[(0, 2, "A0"), (3, 5, "A1")],
),
sent(
"The nurse examined the patient .",
"examined",
[(0, 2, "A0"), (3, 5, "A1")],
),
sent(
"The company sold the building .", "sold", [(0, 2, "A0"), (3, 5, "A1")]
),
sent(
"The jury rejected the appeal .",
"rejected",
[(0, 2, "A0"), (3, 5, "A1")],
),
sent(
"The chef carved the roast with a knife .",
"carved",
[(0, 2, "A0"), (3, 5, "A1"), (5, 8, "AM-MNR")],
),
sent(
"The gardener dug the hole with a spade .",
"dug",
[(0, 2, "A0"), (3, 5, "A1"), (5, 8, "AM-MNR")],
),
sent(
"The mechanic opened the crate with a crowbar .",
"opened",
[(0, 2, "A0"), (3, 5, "A1"), (5, 8, "AM-MNR")],
),
sent(
"The student wrote the essay with a pencil .",
"wrote",
[(0, 2, "A0"), (3, 5, "A1"), (5, 8, "AM-MNR")],
),
sent(
"The chef cooked the meal in the kitchen .",
"cooked",
[(0, 2, "A0"), (3, 5, "A1"), (5, 8, "AM-LOC")],
),
sent(
"The gardener planted the roses in the garden .",
"planted",
[(0, 2, "A0"), (3, 5, "A1"), (5, 8, "AM-LOC")],
),
sent(
"The student read the book in the library .",
"read",
[(0, 2, "A0"), (3, 5, "A1"), (5, 8, "AM-LOC")],
),
sent(
"The mechanic parked the truck on the street .",
"parked",
[(0, 2, "A0"), (3, 5, "A1"), (5, 8, "AM-LOC")],
),
sent(
"The chef gave a plate to the guest .",
"gave",
[(0, 2, "A0"), (3, 5, "A1"), (5, 8, "A2")],
),
sent(
"The teacher handed a book to the student .",
"handed",
[(0, 2, "A0"), (3, 5, "A1"), (5, 8, "A2")],
),
sent(
"The company sent a contract to the client .",
"sent",
[(0, 2, "A0"), (3, 5, "A1"), (5, 8, "A2")],
),
sent(
"The nurse brought a file to the doctor .",
"brought",
[(0, 2, "A0"), (3, 5, "A1"), (5, 8, "A2")],
),
sent(
"The roast was carved by the chef .",
"carved",
[(0, 2, "A1"), (5, 7, "A0")],
),
sent(
"The bread was sliced by the chef .",
"sliced",
[(0, 2, "A1"), (5, 7, "A0")],
),
sent(
"The engine was repaired by the mechanic .",
"repaired",
[(0, 2, "A1"), (5, 7, "A0")],
),
sent(
"The essay was written by the student .",
"written",
[(0, 2, "A1"), (5, 7, "A0")],
),
sent("The vase broke .", "broke", [(0, 2, "A1")]),
sent("The window cracked .", "cracked", [(0, 2, "A1")]),
sent("The ice melted .", "melted", [(0, 2, "A1")]),
sent("The child laughed .", "laughed", [(0, 2, "A0")]),
sent("The audience applauded .", "applauded", [(0, 2, "A0")]),
sent(
"The chef carved the roast yesterday .",
"carved",
[(0, 2, "A0"), (3, 5, "A1"), (5, 6, "AM-TMP")],
),
sent(
"The student read the book yesterday .",
"read",
[(0, 2, "A0"), (3, 5, "A1"), (5, 6, "AM-TMP")],
),
]The span (5, 8) in the instrument sentence covers "with a knife". The span (5, 7) in the passive covers "the chef" without by. The toy annotations are specified inline for this exercise. The exercise groups its instrument phrases under AM-MNR and omits by from passive A0 spans for simplicity; an official frameset may instead define a numbered instrument role, and a benchmark's boundary conventions must be followed when evaluating against that benchmark. The toy labels in the garden AM-LOC in its planting example. The released plant.01 lists the selected planting location as ARG2 (frame file).
These toy boundaries differ from the PropBank paper's passive example, which includes by in the Arg0 span (Palmer et al., 2005, Section 1). Training predictions and evaluation references need compatible span boundaries, either directly or through an explicit conversion. The training labels define the behavior being learned, but successful imitation is an empirical question. Evaluate predictions against that convention rather than assume the model has learned it.
Sentences: 31 Annotated arguments: 71
| sent_id | predicate | role | argument | sentence | |
|---|---|---|---|---|---|
| 0 | 0 | carved | A0 | The chef | The chef carved the roast . |
| 1 | 0 | carved | A1 | the roast | The chef carved the roast . |
| 2 | 1 | sliced | A0 | The chef | The chef sliced the bread . |
| 3 | 1 | sliced | A1 | the bread | The chef sliced the bread . |
| 4 | 2 | planted | A0 | The gardener | The gardener planted the roses . |
| 5 | 2 | planted | A1 | the roses | The gardener planted the roses . |
Thirty-one sentences yield 71 annotated arguments. Each table row records one predicate-argument instance; the span metric below scores held-out argument instances rather than tokens.
The preview shows each argument’s text and role alongside its sentence ID, predicate text, and full sentence. These fields let you trace an annotation back to its sentence. The exact held-out score below uses sentence ID, start and end offsets, and role, so identical offsets in different sentences identify different arguments.
VisualizationOut [7]Expand

A0 and A1 together account for more than half the annotations. That frequency statement does not specify the accuracy of a particular restricted classifier. The later evaluation compares token accuracy with exact spans on actual predictions.
The same qualitative frequency difference appears in the CoNLL-2005 counts discussed earlier. The counts here come from the inline tutorial examples above. Use the actual support counts when reading the scores below. A role with many gold arguments contributes more to the recall denominator, and a role with many predictions contributes more to the precision denominator. A single error can dominate a category with only one held-out argument.
The next heatmap shows where roles start relative to the predicate in all 31 authored sentences, including the six held-out examples. It shows the templates in the corpus. A controlled feature comparison on held-out data would be needed to measure predictive value. A span is counted as before if it starts to the left of the predicate (offset < 0), near after if it starts at the predicate or up to two tokens after it (offset 0 to 2), and far after if it starts more than two tokens to the right (offset > 2). The code includes zero in the middle bucket. None of the supplied gold spans starts at the predicate.
PythonIn [8]Expand
import numpy as np
import pandas as pd
position_order = ["before", "near after", "far after"]
position_rows = []
for item in CORPUS:
pred = item["pred"]
for s, e, r in item["args"]:
offset = s - pred
if offset > 2:
bucket = "far after"
elif offset >= 0:
bucket = "near after"
else:
bucket = "before"
position_rows.append({"role": r, "bucket": bucket})
position_df = pd.DataFrame(position_rows)
position_matrix = (
position_df.groupby(["role", "bucket"])
.size()
.unstack(fill_value=0)
.reindex(columns=position_order, fill_value=0)
)
role_position_order = position_matrix.index.tolist()
position_ticks = np.arange(len(role_position_order))
bucket_ticks = np.arange(len(position_order))VisualizationOut [9]Expand

Argument structure patterns
Grouping the annotations by role signature counts the recurrence of each supplied role signature.
| role_signature | sentences | |
|---|---|---|
| 0 | A0 + A1 | 12 |
| 1 | A0 + A1 + AM-MNR | 4 |
| 2 | A0 + A1 + AM-LOC | 4 |
| 3 | A0 + A1 + A2 | 4 |
| 4 | A1 | 3 |
| 5 | A0 | 2 |
| 6 | A0 + A1 + AM-TMP | 2 |
| sentence | roles | |
|---|---|---|
| 0 | The chef carved the roast . | A0, A1 |
| 1 | The chef carved the roast with a knife . | A0, A1, AM-MNR |
| 2 | The roast was carved by the chef . | A0, A1 |
| 3 | The chef carved the roast yesterday . | A0, A1, AM-TMP |
The four carve sentences instantiate three distinct role signatures: plain transitive (A0 + A1), transitive with an instrument (A0 + A1 + AM-MNR), and transitive with a temporal adjunct (A0 + A1 + AM-TMP). The passive sentence has the same role set as the plain transitive, with A1 in subject position and A0 in a by-phrase. The selected participant inventory and its syntactic realizations must be distinguished. In the temporal example, adding yesterday changes the supplied role signature while leaving the selected carver and carved-thing participants unchanged. The instrument example uses a tutorial AM-MNR label; the official PropBank carve.01 frameset includes an ARG2 instrument role.
Across the 31 sentences, the co-occurrence matrix counts how often each pair of labels appears in the same annotation, with roles ordered alphabetically. Its diagonal counts sentences containing a label; an off-diagonal cell counts sentences containing both labels. These descriptive counts do not by themselves estimate grammatical licensing or establish statistical dependence in a population.
PythonIn [12]Expand
import numpy as np
import pandas as pd
role_order = sorted({r for item in CORPUS for _, _, r in item["args"]})
role_pos = {r: i for i, r in enumerate(role_order)}
cooc = np.zeros((len(role_order), len(role_order)), dtype=int)
for item in CORPUS:
present = sorted({r for _, _, r in item["args"]})
for r in present:
for c in present:
cooc[role_pos[r], role_pos[c]] += 1
cooc_df = pd.DataFrame(cooc, index=role_order, columns=role_order)
role_ticks = np.arange(len(role_order))VisualizationOut [13]Expand

The carve example makes the point concretely. The verb has a stable core meaning, but it appears in several syntactic frames. The passive rearranges their expression, while the instrument and time phrases add annotations in this toy scheme. VerbNet records class frames and semantic roles; PropBank records predicate-sense role definitions and examples. Neither statement guarantees an exhaustive list of every acceptable carve construction.
Scoring proto-roles by hand
The following table illustrates property-counting with hand-assigned binary values. It is a coding exercise inspired by proto-roles, not an annotation from Dowty or a validated lexical analysis. Dowty's properties concern what a predicate entails about an argument; an imaginable event detail such as whether a door moves is not automatically an entailment of the predicate.
PythonIn [14]Expand
AGENT_PROPS = [
"volitional",
"sentient",
"causes_change",
"moves",
"exists_independently",
]
PATIENT_PROPS = [
"changes_state",
"incremental_theme",
"causally_affected",
"stationary",
"existence_dependent",
]
PROTO_DATA = [
# (argument, event, agent-property bits, patient-property bits)
("the chef", "carve the roast", (1, 1, 1, 1, 1), (0, 0, 0, 0, 0)),
("the roast", "carve the roast", (0, 0, 0, 0, 1), (1, 1, 1, 1, 0)),
("the key", "open the door", (0, 0, 1, 1, 1), (0, 0, 0, 0, 0)),
("the door", "open the door", (0, 0, 0, 0, 1), (1, 1, 1, 1, 0)),
("the storm", "destroy the house", (0, 0, 1, 1, 1), (0, 0, 0, 0, 0)),
("the house", "destroy the house", (0, 0, 0, 0, 1), (1, 1, 1, 1, 0)),
]
proto_df = pd.DataFrame(
[
{
"argument": arg,
"event": ev,
"agent_score": sum(a),
"patient_score": sum(p),
"agent_properties": ", ".join(
k for k, v in zip(AGENT_PROPS, a) if v
)
or "none",
}
for arg, ev, a, p in PROTO_DATA
]
)
proto_x = np.arange(len(proto_df))
proto_width = 0.38| argument | agent_score | patient_score | agent_properties | |
|---|---|---|---|---|
| 0 | the chef | 5 | 0 | volitional, sentient, causes_change, moves, exists_independently |
| 1 | the roast | 1 | 4 | exists_independently |
| 2 | the key | 3 | 0 | causes_change, moves, exists_independently |
| 3 | the door | 1 | 4 | exists_independently |
| 4 | the storm | 3 | 0 | causes_change, moves, exists_independently |
| 5 | the house | 1 | 4 | exists_independently |
The preview lists the Agent properties and shows totals for both groups. To see which Patient properties were assigned, find the matching row in PROTO_DATA. Match the 1s in its final tuple to PATIENT_PROPS in order. The chef has five agent-property indicators and zero patient-property indicators; the roast has one and four. The storm has three agent-property indicators. These sums demonstrate how a participant can have several agent-like properties without volition. They do not establish that motion or incrementality is entailed by every use of the displayed predicate, and they are not a fitted predictor of subject position.
The numbers below follow directly from the supplied vectors. The vectors record the interpretation chosen for this exercise. The four Patient indicators assigned to the door are change of state, incrementality, causal affectedness and relative stationarity. The example does not specify a motion path for the door or the key. A prototype-like cluster does not mean every property must be a continuously graded quantity. The table demonstrates arithmetic over the chosen judgments; it does not establish those judgments as necessary lexical entailments or prove a subject-selection rule.
VisualizationOut [16]Expand

Numbered roles in buy.01 and sell.01
The following manually specified table compares selected roles from the PropBank senses buy.01 and sell.01. It uses scene descriptions for the column values; these descriptions are not a claim that FrameNet itself assigns A0 through A3. The official frame files assign buyer to buy.01 A0 and seller to sell.01 A0 (buy, sell).
PythonIn [17]Expand
FRAMES = {
"buy.01": {
"A0": "Buyer",
"A1": "Goods",
"A2": "Seller",
"A3": "Price paid",
},
"sell.01": {
"A0": "Seller",
"A1": "Goods",
"A2": "Buyer",
"A3": "Price paid",
},
}
frame_table = pd.DataFrame({frame: spec for frame, spec in FRAMES.items()}).T
frame_table| A0 | A1 | A2 | A3 | |
|---|---|---|---|---|
| buy.01 | Buyer | Goods | Seller | Price paid |
| sell.01 | Seller | Goods | Buyer | Price paid |
A0 is the buyer in one roleset and the seller in the other. Numbered role meanings are predicate-specific; their identity can remain stable while syntactic position changes, as the passive examples showed. The table lists only the four roles relevant to the commercial-transaction example. It is not the complete inventory of every buying or selling sense, and its mnemonic descriptions do not replace the definitions in the frame files.
Choose a resource by its annotation target, available data, definitions, and license. A need for a particular corpus or role distinction does not establish a general PropBank-versus-FrameNet ranking. If an application combines their labels, use an explicit sense/frame mapping and record the resource versions.
Converting spans to BIO tags
The tagger operates on per-token tags, so the first step is a converter.
PythonIn [19]Expand
def to_bio(tokens, pred, args):
tags = ["O"] * len(tokens)
tags[pred] = "V"
for start, end, role in args:
tags[start] = f"B-{role}"
for i in range(start + 1, end):
tags[i] = f"I-{role}"
return tagsConsoleOut [20]Expand
The B-A0
chef I-A0
carved V
the B-A1
roast I-A1
with B-AM-MNR
a I-AM-MNR
knife I-AM-MNR
. OThe predicate token gets V and is excluded from the argument spans. The instrument PP receives a clean B-/I-/I- sequence.
The converter assumes valid, contiguous, nonoverlapping spans within the token list, with no argument covering the supplied predicate. It does not validate these preconditions: overlapping spans can overwrite earlier tags, including V. If an argument were discontinuous, the converter would need a more complex scheme. This converter implements a restricted contiguous-span subset, rather than all PropBank continuation and reference conventions.
Features that condition on the predicate
Every feature is computed with the predicate index available, because the same word can be an argument of different predicates with different roles.
PythonIn [21]Expand
PREPOSITIONS = {"by", "with", "in", "on", "to", "at", "from", "for"}
DETERMINERS = {"the", "a", "an"}
def token_features(tokens, i, pred):
w = tokens[i].lower()
rel = i - pred
return {
"bias": 1.0,
"w": w,
"prev": tokens[i - 1].lower() if i > 0 else "<s>",
"next": tokens[i + 1].lower() if i + 1 < len(tokens) else "</s>",
"rel": str(max(-6, min(6, rel))),
"side": "before" if rel < 0 else ("at" if rel == 0 else "after"),
"is_det": w in DETERMINERS,
"is_prep": w in PREPOSITIONS,
"is_aux": w in {"was", "were", "is", "are", "be"},
"suffix": w[-3:],
"pred_form": tokens[pred].lower(),
}The rel feature encodes distance and direction from the predicate. The side feature coarse-grains it. The prev and next features expose local word context, including nearby prepositions. They do not supply a syntactic parse or guarantee where a phrase ends; the held-out errors let us inspect that limitation.
The feature set is small enough to inspect. Word identity and neighboring words supply lexical context; relative position records distance from the selected predicate. The preposition and determiner flags are simple lexical indicators. The auxiliary flag records whether the current token is one of a few listed auxiliary forms; it does not explicitly label the clause voice. The suffix keeps the final three characters of the lowercased token, or the whole token when it is shorter. The pred_form feature is a lowercased surface form, not a lemma produced by morphological analysis. These distinctions matter when interpreting what the classifier could have learned.
A held-out split with unseen vocabulary
Six sentences are held out. Each test role-label signature also occurs in training, while several test sentences contain verb forms and nouns absent from training. Here a signature is the sorted multiset of observed role labels, not a FrameNet frame or a complete lexical entry.
PythonIn [22]Expand
from sklearn.feature_extraction import DictVectorizer
from sklearn.linear_model import LogisticRegression
TEST_IDS = [5, 11, 15, 19, 23, 28]
def build_examples(ids):
X, y = [], []
for sid in ids:
item = CORPUS[sid]
tokens, pred = item["tokens"], item["pred"]
tags = to_bio(tokens, pred, item["args"])
for i, tag in enumerate(tags):
X.append(token_features(tokens, i, pred))
y.append(tag)
return X, y
train_ids = [i for i in range(len(CORPUS)) if i not in TEST_IDS]
X_train, y_train = build_examples(train_ids)
X_test, y_test = build_examples(TEST_IDS)
vectorizer = DictVectorizer(sparse=True)
X_train_vec = vectorizer.fit_transform(X_train)
X_test_vec = vectorizer.transform(X_test)
tagger = LogisticRegression(max_iter=2000, C=1.0)
tagger.fit(X_train_vec, y_train)With the book’s specified scikit-learn 1.8.0 and default lbfgs solver, this multiclass fit uses multinomial logistic regression over BIO tags (API reference). Its 25 training sentences are intended to make feature extraction and evaluation inspectable. This experiment does not compare the classifier with a neural system, and its accuracy cannot establish a general model ranking.
Several held-out sentences contain verb forms and nouns absent from training. These full-feature predictions do not measure a word-only tagger's accuracy or isolate the contribution of positional features. The classifier also has local context and lexical-class indicators; a controlled ablation would be needed to separate their contributions.
Token accuracy is not the metric
ConsoleOut [23]Expand
Token accuracy: 0.933 All-O baseline: 0.178
The all-O baseline is low in this argument-dense toy corpus: most tokens belong to an annotated argument. Token accuracy also scores the V tag at each supplied predicate position. Predicate identification is a separate task. Token accuracy still hides boundary errors, because getting most tokens right does not guarantee an exact argument span.
In data where O is frequent, an all-O system can obtain high token accuracy while retrieving no arguments. That is not the class distribution of this toy split. We report exact labeled span F1 so each argument must have both the correct boundaries and the correct role. The scoring keys retain sentence identity; spans with the same offsets in different sentences must remain distinct. This toy corpus selects one predicate per sentence, so its sentence ID also identifies the selected predicate instance. A corpus with several predicates per sentence must add predicate identity to the scoring key. The decoder below starts spans at B tags and skips I tags outside a matching run. It receives only the tags, so a predicted role span can cover the selected predicate. The toy scores the raw spans. A span covering the predicate cannot match a gold argument here, so it counts as a false positive.
PythonIn [24]Expand
def bio_to_spans(tags):
spans = []
i = 0
while i < len(tags):
if tags[i].startswith("B-"):
role = tags[i][2:]
j = i + 1
while j < len(tags) and tags[j] == f"I-{role}":
j += 1
spans.append((i, j, role))
i = j
else:
i += 1
return spans| sentence | gold | predicted | |
|---|---|---|---|
| sent_id | |||
| 5 | The nurse examined the patient . | A0[0, 2): The nurse | A1[3, 5): the patient | A0[0, 2): The nurse | A1[3, 5): the patient |
| 11 | The student wrote the essay with a pencil . | A0[0, 2): The student | A1[3, 5): the essay | AM-MNR[5, 8): with a pencil | A0[0, 2): The student | A1[3, 5): the essay | AM-MNR[5, 8): with a pencil |
| 15 | The mechanic parked the truck on the street . | A0[0, 2): The mechanic | A1[3, 5): the truck | AM-LOC[5, 8): on the street | A0[0, 2): The mechanic | A1[3, 5): the truck | A1[6, 7): the |
| 19 | The nurse brought a file to the doctor . | A0[0, 2): The nurse | A1[3, 5): a file | A2[5, 8): to the doctor | A0[0, 2): The nurse | A1[3, 5): a file | A2[5, 7): to the |
| 23 | The essay was written by the student . | A1[0, 2): The essay | A0[5, 7): the student | A1[0, 2): The essay | A0[5, 7): the student |
| 28 | The audience applauded . | A0[0, 2): The audience | A0[0, 2): The audience |
Span precision: 0.857 Span recall: 0.857 Span F1: 0.857 Gold spans: 14
| role | gold | precision | recall | f1 | |
|---|---|---|---|---|---|
| 0 | A0 | 6 | 1.000 | 1.0 | 1.000 |
| 1 | A1 | 5 | 0.833 | 1.0 | 0.909 |
| 2 | A2 | 1 | 0.000 | 0.0 | 0.000 |
| 3 | AM-LOC | 1 | 0.000 | 0.0 | 0.000 |
| 4 | AM-MNR | 1 | 1.000 | 1.0 | 1.000 |
VisualizationOut [27]Expand

Exact-span scores vary by role on this held-out split. Compare the half-open token offsets in the prediction table with per-role precision and recall: a correct label on an incomplete span still fails exact matching. There is only one held-out instance of each of A2, AM-LOC, and AM-MNR, so a single boundary mistake can move a role score from one to zero. These six sentences do not establish how a model generalizes at scale.
Per-role analysis localizes the observed errors, but does not by itself distinguish learning from memorization or show which feature caused a prediction. Use controlled feature ablations to test a feature’s contribution, then check whether the pattern holds on additional held-out examples. Here it is a tool for inspecting errors, not a causal account of why the classifier made them.
Running the tagger on a new sentence
ConsoleOut [28]Expand
The B-A0
committee I-A0
awarded V
the B-A1
prize I-A1
to B-A2
the I-A2
young I-A1
researcher O
. O
Extracted spans: [(0, 2, 'A0'), (3, 5, 'A1'), (5, 7, 'A2')]The sentence contains the unseen verb awarded and unseen nouns. The decoder returns A2 over "to the", at [5, 7), while the intended recipient span "to the young researcher" is [5, 9). The label agrees, but the end boundary fails exact matching. The tagger gives young I-A1 outside an A1 run, so the decoder skips that tag. This single example is an error-analysis exercise, not evidence of general accuracy on unseen verbs.
The toy training examples deliberately reuse subject-before-verb and transfer-to-recipient patterns. This makes positional and lexical-context features candidates for explaining the predictions, but the experiment has not isolated their contributions. Changing the voice, adding a longer argument, or replacing a familiar phrase provides a useful next test. To claim that one feature or model improves transfer, evaluate a controlled comparison on additional held-out examples.
Limitations and Impact
An SRL score must be interpreted relative to its annotation target. PropBank roles require the selected predicate sense; FrameNet roles require the selected frame. Neither a large label inventory nor an intuitive label name guarantees that a system has analyzed the sentence correctly. In "She ate", the thing eaten can remain unexpressed, and in "The window was broken" the breaker may not be mentioned. A system whose output consists only of overt text spans cannot assign a span to an absent expression. FrameNet explicitly records types of null instantiation, so this limitation of an overt-span task should not be mistaken for a complete absence of implicit-participant information in the resource.
In "She ate", an eater is expressed but the thing eaten need not be. An overt-span output cannot supply a text span for that unexpressed participant; this does not determine whether a reader can identify a particular food. The same problem arises with passives that omit the agent, with middles such as "This book reads easily", and with instructions such as "Insert the tab into the slot", where an addressee is understood rather than explicitly named. A task that asks for such a participant needs an output convention beyond selecting overt spans. FrameNet's null-instantiation conventions are one example of recording an unexpressed role (FrameNet II, Section 3.2.3).
Dataset coverage and language also matter. OntoNotes 5.0 includes English, Chinese, and Arabic, with several annotation layers, including proposition structure (LDC release description). A multilingual experiment must specify which language-specific annotations, role mappings, and data splits it uses. Universal Dependencies describes its basic syntactic annotation as typed dependency relations between words (official guidelines). Those syntactic tree annotations alone do not supply a separate semantic-role inventory's gold labels. Accuracy across languages must be measured for the selected language pairs and protocol rather than inferred from linguistic relatedness alone.
A cross-lingual evaluation should inspect how the source and target languages realize arguments. Relevant differences can include case marking, word order, omitted participants, and the lexical frames allowed by a translated predicate. The same numbered label does not by itself establish an identical role definition across independently annotated resources. Document the mappings and inspect examples of each construction before interpreting a transfer score as evidence about general semantic understanding.
Evaluation protocols should state whether predicates are gold or predicted, whether arguments are heads or full spans, how model tokens align to benchmark words, and which role inventory is scored. A change in any of those settings can change what a score measures. For prompted systems, retain the role descriptions, output schema, model version, decoding settings, and invalid-output policy. Sensitivity to these choices is an empirical question to test, rather than a property established by the toy classifier here.
Training/test overlap is another evaluation concern, particularly when a model's pretraining data are incompletely documented. Check known overlaps, disclose what could not be checked, and distinguish exact or near-duplicate test exposure from legitimate learning of annotation conventions on training examples. Sharing a construction does not by itself demonstrate that a particular test sentence was seen during training. The toy classifier starts from a new scikit-learn estimator and fits only on the training labels. For systems that use pretraining, establish exposure separately from the supervised split.
Predicate-argument structures provide a useful intermediate representation for extraction. They retain a predicate and its participants while separating participant roles from surface subject/object positions. This can reduce the number of surface patterns an application needs to inspect, but the mapping from a role analysis to an event schema is a separate step. The next chapter examines relation and event extraction, including the additional context needed to connect sentence-level arguments into document-level records.
A surface pattern that matches only "X bought Y" misses "X purchased Y" unless the application adds another rule or a shared semantic mapping. Frame or sense information can help identify the common commercial scene. That mapping still needs lexical conditions: acquire is broader than buy, so replacing one with the other does not establish that money changed hands. Faithful recovery from the role representation alone requires preserving the distinctions needed by the downstream task.
Role matching can support question answering, but a wh-word does not uniquely determine a numbered argument. For the worked award.01 example, "Who awarded the prize?" asks for A0 and "Who did the committee award the prize to?" asks for A2; "Who was examined?" can ask for a human A1. Likewise, comparing participant roles can help detect a source/summary mismatch, but matching them does not prove that the sentences have the same truth conditions. "The committee awarded the prize" and "The committee did not award the prize" share the participants and predicate while disagreeing about whether the event occurred.
The explicit role structure also gives error analysis a concrete object to inspect. In the displayed predictions, a reader can compare a role label and its exact span with the reference annotation. This tagger receives the predicate as input, so its displayed predictions can be checked for boundary or role-label disagreements. Predicate identification must be checked separately in a system that predicts predicates. Comparing these outputs does not explain all of the classifier's internal reasoning.
Summary
- A predicate denotes a property or relation. Arguments realize selected participant slots, which lexical entries or constructions can license. Adjuncts add event information. Argumenthood judgments can be graded and depend on lexical and contextual information.
- Valency describes how many semantic participants a predicate sense selects and what kinds they are. Subcategorization frames describe the syntactic patterns available to realize arguments. The illustrated give sense permits two postverbal complement patterns, [NP NP] and [NP PP_to], with the giver as subject in both examples.
- Alternations expose differences between syntactic functions and participant roles. Passive and dative examples rearrange expressed participants; a causative/inchoative pair contrasts a named causer with a change whose cause is left open. Similar participant sets do not guarantee identical event meaning across all alternations.
- Thematic roles label participant properties and relations. Their definitions and granularity differ across inventories, and a single universal role-to-syntax mapping does not explain every lexical and constructional contrast.
- Dowty's proto-roles describe graded membership in two clusters of predicate entailments. Under the lexical-configuration conditions stated above, the Argument Selection Principle predicts subject and direct-object choice from the relative numbers of entailed proto-role properties. Natural forces and instruments can have Proto-Agent properties without being volitional.
- Frame semantics defines roles relative to a schematic scene. FrameNet frame elements and PropBank numbered arguments belong to different inventories; matching them requires the frame and predicate sense. The selected buy.01 and sell.01 roles illustrate why A0 is not a global semantic role name.
- Semantic role labeling identifies a predicate's arguments and assigns them roles. The demonstrated task is predicate-conditioned, encoded with BIO tags and relative-position features, and evaluated with exact-span precision, recall, and F1.
- Representative SRL approaches use parse features, neural tagging, joint span prediction, pretrained encoders, and text-to-text serialization. Compare their performance only under stated datasets, supplied labels, and scoring conventions.
- Practical limitations include inventory design, implicit arguments, nominal predicates, multilingual coverage, annotation disagreement, non-comparable evaluation conventions, and contamination. For downstream extraction, preserve the predicate sense, participant roles, and context such as polarity rather than treating a matching role set as a complete asserted fact.
Quiz
Ready to test your understanding? Take this quick quiz to reinforce what you've learned about semantic roles and argument structure.
Semantic Roles and Argument Structure Quiz
Join the discussionAsk a question or share what you learned.
Keep exploring
Reference
Citation details
Cite or share this article.


Comments
Add to the conversation
A question, a correction, or an example from your own work.
No comments yet. Be the first to share your thoughts!