Nasty.Semantic.Coreference.Neural.E2EResolver (Nasty v0.3.0)
View SourceEnd-to-end coreference resolver using span-based models.
Performs joint mention detection and coreference resolution without requiring a separate mention detection stage.
Workflow
- Encode document with BiLSTM
- Enumerate and score candidate spans
- Prune to top-K spans (mentions)
- Score pairwise coreference between spans
- Build coreference chains using clustering
Example
# Load trained models
{:ok, models, params, vocab} = E2ETrainer.load_models("priv/models/en/e2e_coref")
# Resolve coreferences
{:ok, document} = E2EResolver.resolve(document, models, params, vocab)
# Access chains
chains = document.coref_chains
Summary
Types
@type models() :: Nasty.Semantic.Coreference.Neural.E2ETrainer.models()
@type params() :: Nasty.Semantic.Coreference.Neural.E2ETrainer.params()
Functions
@spec resolve(Nasty.AST.Document.t(), models(), params(), map(), keyword()) :: {:ok, Nasty.AST.Document.t()} | {:error, term()}
Resolve coreferences using end-to-end span model.
Parameters
document- Document to resolvemodels- Trained e2e modelsparams- Model parametersvocab- Vocabulary mapopts- Resolution options
Options
:max_span_length- Maximum span length (default: 10):top_k_spans- Top K spans to keep (default: 50):min_span_score- Minimum span score threshold (default: 0.5):min_coref_score- Minimum coreference score threshold (default: 0.5)
Returns
{:ok, document}- Document with coreference chains{:error, reason}- Resolution error
@spec resolve_auto(Nasty.AST.Document.t(), Path.t(), keyword()) :: {:ok, Nasty.AST.Document.t()} | {:error, term()}
Resolve with automatic model loading.
Convenience function that loads models from disk if path is provided.
Parameters
document- Document to resolvemodel_path- Path to saved modelsopts- Resolution options
Returns
{:ok, document}- Document with coreference chains{:error, reason}- Resolution error