src.lscd#

Submodules#

Package Contents#

Classes#

APD

ClusterJSD

Helper class that provides a standard way to create an ABC using

Cos

BinaryThresholdModel

Helper class that provides a standard way to create an ABC using

GradedLSCDModel

Helper class that provides a standard way to create an ABC using

Permutation

class src.lscd.APD#

Bases: src.lscd.model.GradedLSCDModel

wic: APD.wic#
use_pair_options: src.lemma.UsePairOptions#
predict(lemma: src.lemma.Lemma) float#

Generates predictions for use pair samples for input lemma.

Parameters:

lemma (Lemma) – lemma instance from data set

Returns:

mean of pairwise distances

Return type:

float

predict_all(lemmas: list[src.lemma.Lemma]) list[float]#
class src.lscd.ClusterJSD#

Bases: src.lscd.model.GradedLSCDModel

Helper class that provides a standard way to create an ABC using inheritance.

wsi: ClusterJSD.wsi#
predict(lemma: src.lemma.Lemma) float#
class src.lscd.Cos#

Bases: src.lscd.model.GradedLSCDModel

wic: src.wic.ContextualEmbedder#
predict(lemma: src.lemma.Lemma) float#
predict_all(lemmas: list[src.lemma.Lemma]) list[float]#
class src.lscd.BinaryThresholdModel#

Bases: BinaryModel

Helper class that provides a standard way to create an ABC using inheritance.

class Config#
json_encoders#
threshold_fn: Callable[[list[float]], list[int]]#
graded_model: GradedLSCDModel#
predict(graded_predictions: list[float]) list[int]#
class src.lscd.GradedLSCDModel#

Bases: pydantic.BaseModel, abc.ABC

Helper class that provides a standard way to create an ABC using inheritance.

class Config#
json_encoders#
abstract predict(lemma: src.lemma.Lemma) float#
abstract predict_all(lemmas: list[src.lemma.Lemma]) list[float]#
class src.lscd.Permutation#

Bases: src.lscd.model.GradedLSCDModel

wic: src.wic.ContextualEmbedder#
n_perms: int#
whiten: bool#
k: int | None#
static compute_kernel_bias(vecs: numpy.typing.NDArray[numpy.float32], k: int | None = None) tuple[numpy.typing.NDArray[numpy.float32], numpy.typing.NDArray[numpy.float32]]#

vecs = matrix (n x 768) with the sentence representations of your whole dataset (in the paper they use train, val and test sets)

static transform_and_normalize(vecs: numpy.typing.NDArray[numpy.float32], kernel: numpy.typing.NDArray[numpy.float32] | None = None, bias: numpy.typing.NDArray[numpy.float32] | None = None) numpy.typing.NDArray[numpy.float32]#

Kernel and bias are W and -mu from previous function. They’re passed to this function when inputing vecs vecs = vectors we need to whiten.

static euclidean_dist(m0: numpy.typing.NDArray[numpy.float32], m1: numpy.typing.NDArray[numpy.float32]) numpy.typing.NDArray[numpy.float32]#
get_n_rows(len_m0: int, len_m1: int) int#
permute_indices(len_m0: int, len_m1: int) tuple[list[int], list[int]]#
predict(lemma: src.lemma.Lemma) float#
predict_all(lemmas: list[src.lemma.Lemma]) list[float]#