Nasty.Semantic.EntityRecognition behaviour (Nasty v0.3.0)
View SourceBehaviour for language-agnostic named entity recognition (NER).
This behaviour defines the interface for identifying and classifying named entities in text, regardless of the source language.
Summary
Callbacks
Recognizes named entities from token sequence.
Recognizes named entities in a document.
Recognizes named entities in a sentence.
Returns entity types supported by this implementation.
Types
@type entity_types() :: [
:person | :organization | :location | :date | :money | :percent | :misc
]
@type options() :: keyword()
Callbacks
@callback recognize(tokens :: [Nasty.AST.Token.t()], opts :: options()) :: {:ok, [Nasty.AST.Semantic.Entity.t()]} | {:error, term()}
Recognizes named entities from token sequence.
Parameters
tokens- List of tokens to analyzeopts- Recognition options
Returns
{:ok, entities}- List of recognized entities{:error, reason}- Recognition error
@callback recognize_document(document :: Nasty.AST.Document.t(), opts :: options()) :: {:ok, [Nasty.AST.Semantic.Entity.t()]} | {:error, term()}
Recognizes named entities in a document.
Parameters
document- Document AST to processopts- Recognition options:types- Specific entity types to recognize (default: all):confidence_threshold- Minimum confidence (default: 0.5)
Returns
{:ok, entities}- List of recognized entities{:error, reason}- Recognition error
@callback recognize_sentence(sentence :: Nasty.AST.Sentence.t(), opts :: options()) :: {:ok, [Nasty.AST.Semantic.Entity.t()]} | {:error, term()}
Recognizes named entities in a sentence.
Parameters
sentence- Sentence AST to processopts- Recognition options
Returns
{:ok, entities}- List of recognized entities{:error, reason}- Recognition error
@callback supported_types() :: entity_types()
Returns entity types supported by this implementation.