Nasty.Language.English.WordSenseDisambiguator (Nasty v0.3.0)
View SourceEnglish word sense disambiguation using WordNet.
Provides comprehensive word sense disambiguation by leveraging the full Open English WordNet database with 120K+ synsets.
Example
iex> WSD.disambiguate("bank", [river_token], pos_tag: :noun)
{:ok, %{definition: "land alongside water", synset_id: "oewn-...", ...}}Features
- Full WordNet coverage (120K+ synsets)
- Automatic lemmatization and POS conversion
- Context-based disambiguation using Lesk algorithm
- Semantic similarity scoring
- Frequency-based fallback
Summary
Functions
@spec disambiguate(String.t(), [Nasty.AST.Token.t()], keyword()) :: {:ok, Nasty.Semantic.WordSenseDisambiguation.sense()} | {:error, term()}
Public API: Disambiguate a word in context.
@spec disambiguate_all( [Nasty.AST.Token.t()], keyword() ) :: [{Nasty.AST.Token.t(), Nasty.Semantic.WordSenseDisambiguation.sense()}]
Public API: Disambiguate all content words.