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

View Source

English 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

Public API: Disambiguate a word in context.

Public API: Disambiguate all content words.

Functions

disambiguate(word, context_tokens, opts \\ [])

@spec disambiguate(String.t(), [Nasty.AST.Token.t()], keyword()) ::
  {:ok, Nasty.Semantic.WordSenseDisambiguation.sense()} | {:error, term()}

Public API: Disambiguate a word in context.

disambiguate_all(tokens, opts \\ [])

Public API: Disambiguate all content words.