Nasty.Semantic.Coreference.Neural.Resolver (Nasty v0.3.0)
View SourceNeural coreference resolver integrating with existing pipeline.
Replaces the rule-based scorer with neural models while keeping the existing mention detection and clustering infrastructure.
Workflow
- Use existing mention detector to extract mentions
- Encode all mentions with neural encoder
- Score all mention pairs with neural scorer
- Use existing clusterer with neural scores
- Build coreference chains
Example
# Load trained models
{:ok, models, params, vocab} = Trainer.load_models("priv/models/en/coref")
# Resolve coreferences
{:ok, document} = NeuralResolver.resolve(document, models, params, vocab)
# Access chains
chains = document.coref_chains
Summary
Types
@type models() :: Nasty.Semantic.Coreference.Neural.Trainer.models()
@type params() :: Nasty.Semantic.Coreference.Neural.Trainer.params()
Functions
@spec resolve(Nasty.AST.Document.t(), models(), params(), map(), keyword()) :: {:ok, Nasty.AST.Document.t()} | {:error, term()}
Resolve coreferences using neural models.
Parameters
document- Document to resolvemodels- Trained neural modelsparams- Model parametersvocab- Vocabulary mapopts- Resolution options
Options
:min_score- Minimum score threshold (default: 0.5):max_distance- Maximum sentence distance (default: 3):merge_strategy- Clustering strategy (default: :average):context_window- Context window for mentions (default: 10)
Returns
{:ok, document}- Document with neural coreference chains{:error, reason}- Resolution error
@spec resolve_auto( Nasty.AST.Document.t(), Path.t() | {models(), params(), map()}, keyword() ) :: {:ok, Nasty.AST.Document.t()} | {:error, term()}
Resolve with automatic model loading.
Convenience function that loads models from disk if path is provided, or uses already-loaded models.
Parameters
document- Document to resolvemodel_path_or_models- Either path to models or loaded modelsopts- Resolution options
Returns
{:ok, document}- Document with coreference chains{:error, reason}- Resolution error