recs_searcher.embeddings package

Submodules

recs_searcher.embeddings._base module

Модели для создания эмбеддингов.

class recs_searcher.embeddings._base.CountVectorizerWrapperEmbedding(analyzer='word', ngram_range=(1, 1), max_df=1.0, min_df=1, input='content', encoding='utf-8', decode_error='strict', strip_accents=None, lowercase=False, preprocessor=None, tokenizer=None, stop_words=None, token_pattern='(?u)\\b\\w\\w+\\b', max_features=None, vocabulary=None, binary=False, dtype=<class 'numpy.float64'>)[исходный код]

Базовые классы: BaseEmbedding

Мешок слов/символов N-грам.

_abc_impl = <_abc._abc_data object>
fit(array: Iterable[str]) object[исходный код]

Обучение vectorizer.

Параметры

arrayIterable[str]

Массив с текстом, на котором обучается vectorizer.

Returns

self

transform(array: Iterable[str]) ndarray[исходный код]

Обучение vectorizer.

Параметры

arrayIterable[str]

Массив с текстом, который нужно трансформировать в вектор чисел.

Returns

array: np.ndarray

Массив с закодированными словами в числа.

class recs_searcher.embeddings._base.EnsembleWrapperEmbedding(models: List[BaseEmbedding], weights: List[float] | None = None)[исходный код]

Базовые классы: BaseEmbedding

Ансамбль из vectorizer, объединяющий их результаты.

_abc_impl = <_abc._abc_data object>
fit(array: Iterable[str]) object[исходный код]

Обучение vectorizer.

Параметры

arrayIterable[str]

Массив с текстом, на котором обучается vectorizer.

Returns

self

transform(array: Iterable[str]) ndarray[исходный код]

Обучение vectorizer.

Параметры

arrayIterable[str]

Массив с текстом, который нужно трансформировать в вектор чисел.

Returns

array: np.ndarray

Массив с закодированными словами в числа.

class recs_searcher.embeddings._base.SentenceTransformerWrapperEmbedding(name_model: str = 'sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2', train_loss: ~typing.Type[~torch.nn.modules.module.Module] = <class 'sentence_transformers.losses.MultipleNegativesRankingLoss.MultipleNegativesRankingLoss'>, augmentation_transform: None | ~typing.List[~recs_searcher.base.BaseTransformation] = None, shuffle=True, batch_size=32, evaluator: ~sentence_transformers.evaluation.SentenceEvaluator.SentenceEvaluator = None, epochs: int = 4, steps_per_epoch=None, scheduler: str = 'WarmupLinear', warmup_steps: int = 10000, optimizer_class: ~typing.Type[~torch.optim.optimizer.Optimizer] = <class 'torch.optim.adamw.AdamW'>, optimizer_params: ~typing.Dict[str, object] = {'lr': 0.02}, weight_decay: float = 0.01, evaluation_steps: int = 0, output_path: str = None, save_best_model: bool = True, max_grad_norm: float = 1, use_amp: bool = False, callback: ~typing.Callable[[float, int, int], None] = None, show_progress_bar: bool = True, checkpoint_path: str = None, checkpoint_save_steps: int = 500, checkpoint_save_total_limit: int = 0)[исходный код]

Базовые классы: BaseEmbedding

Эмбеддинги на основе трансформеров из Sentence-transformers.

Примечание

Предобученные модели брать с этих источников:
  1. https://sbert.net/docs/pretrained_models.html

  2. https://huggingface.co/models?library=sentence-transformers

_abc_impl = <_abc._abc_data object>
fit(array: Iterable[str]) object[исходный код]

Обучение vectorizer.

Параметры

arrayIterable[str]

Массив с текстом, на котором обучается vectorizer.

Returns

self

transform(array: Iterable[str]) ndarray[исходный код]

Обучение vectorizer.

Параметры

arrayIterable[str]

Массив с текстом, который нужно трансформировать в вектор чисел.

Returns

array: np.ndarray

Массив с закодированными словами в числа.

Module contents