Nasty.Language.English.DependencyExtractor (Nasty v0.3.0)

View Source

Extracts dependency relations from parsed syntactic structures.

Converts phrase structure parses (NP, VP, PP, etc.) into Universal Dependencies relations, creating a dependency graph that captures grammatical relationships.

Approach

  • Extract dependencies from clause structures (subject, predicate)
  • Extract dependencies within phrases (determiners, modifiers)
  • Handle coordination and subordination
  • Handle relative clauses

Example

iex> sentence = parse("The cat sat on the mat")
iex> deps = DependencyExtractor.extract(sentence)
[
  %Dependency{relation: :det, head: cat, dependent: the},
  %Dependency{relation: :nsubj, head: sat, dependent: cat},
  %Dependency{relation: :case, head: mat, dependent: on},
  %Dependency{relation: :det, head: mat, dependent: the},
  %Dependency{relation: :obl, head: sat, dependent: mat}
]

Summary

Functions

Extracts all dependencies from a sentence.

Extracts dependencies from a single clause.

Functions

extract(sentence)

Extracts all dependencies from a sentence.

Returns a list of Dependency structs representing grammatical relations.

extract_from_clause(clause)

@spec extract_from_clause(Nasty.AST.Clause.t()) :: [Nasty.AST.Dependency.t()]

Extracts dependencies from a single clause.