Valency frames #
This file defines valency frames over dependency graphs: slot data,
standard frame schemas for the basic valences, the map from a verb's
lexical ComplementType into them, and satisfaction of a frame by a
position's dependents.
Main definitions #
Valencyis a word's valency as a list of slots: relation, side of the head, optionality.Frames nis the per-position valency table.Graph.SatisfiesFramesis frame satisfaction: every filler on its slot's side of the head, required slots filled, and no unlicensed core arguments.
Implementation notes #
Frames are a side table (Frames n), not part of the graph carrier: the
frame is framework apparatus (like HPSG's ARG-ST), supplied alongside the
graph by the consumers that reason about valency and populated from the
lexical carrier (a verb's complementType.valency).
References #
[Tes59] — Éléments de syntaxe structurale, source of the valency notion [Hud10] — An introduction to Word Grammar [Osb19] — A dependency grammar of English
Slot data #
Direction of a dependent relative to its head.
Instances For
Equations
- DependencyGrammar.instReprDir = { reprPrec := DependencyGrammar.instReprDir.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- DependencyGrammar.instDecidableEqDir x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
A dependent at position dep sits on side dir of the head at
position head.
Equations
- DependencyGrammar.Dir.left.Admits x✝¹ x✝ = (x✝ < x✝¹)
- DependencyGrammar.Dir.right.Admits x✝¹ x✝ = (x✝¹ < x✝)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
The valency of a word: the dependent slots it requires or allows.
Equations
Instances For
The per-position frame table supplied alongside a Graph n.
Equations
- DependencyGrammar.Frames n = (Fin n → Option DependencyGrammar.Valency)
Instances For
A sparse frame table: positions not listed carry no frame.
Equations
- DependencyGrammar.Frames.ofList l i = Option.map (fun (x : Fin n × DependencyGrammar.Valency) => x.2) (List.find? (fun (x : Fin n × DependencyGrammar.Valency) => x.1 == i) l)
Instances For
Standard schemas #
Intransitive verb: subject to the left.
Equations
- DependencyGrammar.Valency.intransitive = [{ depType := UD.DepRel.nsubj, dir := DependencyGrammar.Dir.left }]
Instances For
Transitive verb: subject left, object right.
Equations
- DependencyGrammar.Valency.transitive = [{ depType := UD.DepRel.nsubj, dir := DependencyGrammar.Dir.left }, { depType := UD.DepRel.obj, dir := DependencyGrammar.Dir.right }]
Instances For
Ditransitive verb: subject left, indirect object right, object right.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Passive transitive: subject left (was patient), optional by-phrase right.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A verb's lexical complement type as a standard valency. Returns none
for frames without a standard schema: clause-embedding types take
xcomp/ccomp, not obj, and .np_pp has no fixture here.
Equations
Instances For
Frame satisfaction #
The graph satisfies a valency at head v: every filler of every slot
sits on the slot's side of the head, and required slots are filled.
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Each verb's dependents satisfy its frame: required slots filled in the
right direction (SatisfiesValency) and no unlicensed core arguments
(CoreArgsLicensed). Verbs without a frame are unconstrained.
Equations
- g.SatisfiesFrames frames = ∀ (v : Fin n), (g.words v).cat = UD.UPOS.VERB → ∀ val ∈ frames v, DependencyGrammar.SatisfiesValency g v val ∧ DependencyGrammar.CoreArgsLicensed✝ g v val