glazing.wordnet.relations¶
Lexical relation utilities.
relations
¶
WordNet relation traversal functionality.
This module provides relation traversal capabilities for WordNet, including hypernym/hyponym chains, meronym/holonym navigation, entailment and causation relations, and similarity measure calculations.
| CLASS | DESCRIPTION |
|---|---|
WordNetRelationTraverser |
Traverser for WordNet semantic and lexical relations. |
Classes¶
WordNetRelationTraverser(synsets: dict[SynsetOffset, Synset])
¶
Traverser for WordNet semantic and lexical relations.
Provides methods for navigating WordNet's relation graph, including hypernym/hyponym traversal, meronym/holonym relations, and calculating semantic similarity measures.
| PARAMETER | DESCRIPTION |
|---|---|
synsets
|
Mapping from synset offset to synset object.
TYPE:
|
| ATTRIBUTE | DESCRIPTION |
|---|---|
_synsets |
Internal synset storage.
TYPE:
|
| METHOD | DESCRIPTION |
|---|---|
get_hypernyms |
Get hypernyms (is-a relations) of a synset. |
get_hyponyms |
Get hyponyms (inverse of hypernym) of a synset. |
get_hypernym_paths |
Get all paths to root hypernyms. |
get_common_hypernyms |
Find common hypernyms of two synsets. |
get_meronyms |
Get meronyms (part-of relations) of a synset. |
get_holonyms |
Get holonyms (has-part relations) of a synset. |
get_entailments |
Get entailments (verb relations) of a synset. |
get_causes |
Get causes (verb relations) of a synset. |
get_similar_to |
Get similar adjectives for an adjective synset. |
get_also_see |
Get also-see relations for a synset. |
get_antonyms |
Get antonyms for a synset or specific lemma. |
get_derivations |
Get derivationally related forms. |
calculate_path_similarity |
Calculate path-based similarity between synsets. |
calculate_depth |
Calculate depth of synset in hypernym hierarchy. |
Examples:
>>> traverser = WordNetRelationTraverser(synsets)
>>> hypernyms = traverser.get_hypernyms(dog_synset)
>>> paths = traverser.get_hypernym_paths(dog_synset, max_depth=5)
>>> similarity = traverser.calculate_path_similarity(dog_synset, cat_synset)
Initialize relation traverser with synset data.
Source code in src/glazing/wordnet/relations.py
Functions¶
calculate_depth(synset: Synset) -> int
¶
Calculate depth of synset in hypernym hierarchy.
| PARAMETER | DESCRIPTION |
|---|---|
synset
|
Synset to calculate depth for.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
int
|
Maximum depth from root (0 for root synsets). |
Source code in src/glazing/wordnet/relations.py
calculate_path_similarity(synset1: Synset, synset2: Synset) -> float
¶
Calculate path-based similarity between synsets.
| PARAMETER | DESCRIPTION |
|---|---|
synset1
|
First synset.
TYPE:
|
synset2
|
Second synset.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
float
|
Similarity score between 0 and 1. Returns 0 if synsets are not connected. |
Source code in src/glazing/wordnet/relations.py
get_all_relations(synset: Synset) -> dict[str, list[Synset]]
¶
Get all relations for a synset.
| PARAMETER | DESCRIPTION |
|---|---|
synset
|
Synset to get relations for.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
dict[str, list[Synset]]
|
Dictionary mapping relation names to related synsets. |
Source code in src/glazing/wordnet/relations.py
get_also_see(synset: Synset) -> list[Synset]
¶
Get also-see relations for a synset.
| PARAMETER | DESCRIPTION |
|---|---|
synset
|
Synset to get also-see relations for.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list[Synset]
|
Related synsets. |
Source code in src/glazing/wordnet/relations.py
get_antonyms(synset: Synset, lemma: str | None = None) -> list[tuple[Synset, str]]
¶
Get antonyms for a synset or specific lemma.
| PARAMETER | DESCRIPTION |
|---|---|
synset
|
Synset to get antonyms for.
TYPE:
|
lemma
|
Specific lemma to get antonyms for.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list[tuple[Synset, str]]
|
List of (antonym synset, antonym lemma) pairs. |
Source code in src/glazing/wordnet/relations.py
get_causes(synset: Synset) -> list[Synset]
¶
Get causes (verb relations) of a synset.
| PARAMETER | DESCRIPTION |
|---|---|
synset
|
Verb synset to get causes for.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list[Synset]
|
Caused synsets. |
Source code in src/glazing/wordnet/relations.py
get_common_hypernyms(synset1: Synset, synset2: Synset) -> list[Synset]
¶
Find common hypernyms of two synsets.
| PARAMETER | DESCRIPTION |
|---|---|
synset1
|
First synset.
TYPE:
|
synset2
|
Second synset.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list[Synset]
|
Common hypernym synsets. |
Source code in src/glazing/wordnet/relations.py
get_derivations(synset: Synset, lemma: str | None = None) -> list[tuple[Synset, str]]
¶
Get derivationally related forms.
| PARAMETER | DESCRIPTION |
|---|---|
synset
|
Synset to get derivations for.
TYPE:
|
lemma
|
Specific lemma to get derivations for.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list[tuple[Synset, str]]
|
List of (related synset, related lemma) pairs. |
Source code in src/glazing/wordnet/relations.py
get_entailments(synset: Synset) -> list[Synset]
¶
Get entailments (verb relations) of a synset.
| PARAMETER | DESCRIPTION |
|---|---|
synset
|
Verb synset to get entailments for.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list[Synset]
|
Entailed synsets. |
Source code in src/glazing/wordnet/relations.py
get_holonyms(synset: Synset, holonym_type: str | None = None) -> list[Synset]
¶
Get holonyms (has-part relations) of a synset.
| PARAMETER | DESCRIPTION |
|---|---|
synset
|
Synset to get holonyms for.
TYPE:
|
holonym_type
|
Type of holonym: "member", "substance", "part", or None for all.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list[Synset]
|
Holonym synsets. |
Source code in src/glazing/wordnet/relations.py
get_hypernym_paths(synset: Synset, max_depth: int = 10) -> list[list[Synset]]
¶
Get all paths to root hypernyms.
| PARAMETER | DESCRIPTION |
|---|---|
synset
|
Starting synset.
TYPE:
|
max_depth
|
Maximum depth to traverse.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list[list[Synset]]
|
List of paths, each path is a list of synsets from start to root. |
Source code in src/glazing/wordnet/relations.py
get_hypernyms(synset: Synset, direct_only: bool = True) -> list[Synset]
¶
Get hypernyms (is-a relations) of a synset.
| PARAMETER | DESCRIPTION |
|---|---|
synset
|
Synset to get hypernyms for.
TYPE:
|
direct_only
|
If True, return only direct hypernyms. If False, return all hypernyms up to root.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list[Synset]
|
Hypernym synsets. |
Source code in src/glazing/wordnet/relations.py
get_hyponyms(synset: Synset, direct_only: bool = True) -> list[Synset]
¶
Get hyponyms (inverse of hypernym) of a synset.
| PARAMETER | DESCRIPTION |
|---|---|
synset
|
Synset to get hyponyms for.
TYPE:
|
direct_only
|
If True, return only direct hyponyms. If False, return all hyponyms recursively.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list[Synset]
|
Hyponym synsets. |
Source code in src/glazing/wordnet/relations.py
get_meronyms(synset: Synset, meronym_type: str | None = None) -> list[Synset]
¶
Get meronyms (part-of relations) of a synset.
| PARAMETER | DESCRIPTION |
|---|---|
synset
|
Synset to get meronyms for.
TYPE:
|
meronym_type
|
Type of meronym: "member", "substance", "part", or None for all.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list[Synset]
|
Meronym synsets. |
Source code in src/glazing/wordnet/relations.py
get_similar_to(synset: Synset) -> list[Synset]
¶
Get similar adjectives for an adjective synset.
| PARAMETER | DESCRIPTION |
|---|---|
synset
|
Adjective synset.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list[Synset]
|
Similar adjective synsets. |
Source code in src/glazing/wordnet/relations.py
get_verb_groups(synset: Synset) -> list[Synset]
¶
Get verb group members for a verb synset.
| PARAMETER | DESCRIPTION |
|---|---|
synset
|
Verb synset.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list[Synset]
|
Related verb synsets in the same group. |