recs_searcher.api package

Submodules

recs_searcher.api.api module

api.py Взаимодействие с системой.

class recs_searcher.api.api.Pipeline(dataset: Iterable[str], searcher: Type[BaseSearch], preprocessing: List[BaseTransformation] | None = None, model: BaseEmbedding | None = None, explainer: Type[BaseExplain] | None = None, verbose: bool | None = True, **searcher_args)[исходный код]

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

API для взаимодействия с алгоритмами. С помощью данного класса можно:

  1. обучить выбранную модель на пользовательском датасете;

  2. сохранять и загружать собранный и обученный pipeline для

    последующего использования;

  3. производить вычисления для пользовательского ввода;

  4. проверить точность работы обученного pipeline;

  5. получить интерпретацию полученных результатов.

Параметры
datasetIterable[str]

Датасет, на котором будут обучаться алгоритмы.

searcherType[BaseSearch]

Класс, на основе которого будут искаться схожие текста.

preprocessingOptional[List[BaseTransformation]]

Список предобработки текстовых данных.

modelOptional[BaseEmbedding]

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

explainerOptional[Type[BaseExplain]]

Алгоритм для интерпретации результатов и объяснения схожести двух текстов.

verboseOptional[bool]

Вывод этапов Pipeline.

searcher_args : Параметры для настройки searcher типа BaseSearch.

__clear_dataset(dataset: Iterable[str], preprocessing: List[BaseTransformation]) ndarray

Предобработка текста.

Параметры

datasetIterable[str]

Необработанный датасет текстов.

preprocessingList[BaseTransformation]

Список алгоритмов для предобработка текста.

Returns

text: np.ndarray

Массив обработанных текстов.

__create_searcher(searcher: str, model: BaseEmbedding | None, embedding_database: ndarray, original_array: Iterable[str], preprocessing: List[BaseTransformation], clear_array: Iterable[str], searcher_args: dict) BaseSearch

Инициализация поискового алгоритма.

Параметры

searcherstr

Название поискового алгоритма.

modelBaseEmbedding

Модель для обучения.

embedding_databasenp.ndarray

Датасет в виде эмбеддингов.

original_arrayIterable[str]

Исходный датасет.

preprocessingList[BaseTransformation]

Список алгоритмов для предобработки текстов.

clear_arrayIterable[str]

Предобработанный текст.

searcher_argsdict

Словарь аргументов для поискового алгоритма.

Returns

searcher: BaseSearch

Инициализированный объект поискового алгоритма.

__fit_transform(model: BaseEmbedding, dataset: Iterable[str]) ndarray

Обучение на входном датасете и преобразование его в эмбеддинги.

Параметры

modelBaseEmbedding

Модель для обучения.

datasetIterable[str]

Датасет текстов.

Returns

text: np.ndarray

Датасет в виде эмбеддингов.

__verbose(message: str, verbose: bool) None

Вывод инофрмации об этапе обучения pipeline.

Параметры

messagestr

Выводимое сообщение.

verbosebool

Выводить сообщение или нет.

Returns

None

change_explainer(explainer: Type[BaseExplain]) None[исходный код]

Изменение алгоритма для интерпретации результатов.

Параметры

explainerType[BaseExplain]

Тип алгоритма для интерпретации результатов.

Returns

None

change_searcher(searcher: Type[BaseSearch] | None = None, **searcher_args) None[исходный код]

Изменение или пересоздание поискового алгоритма.

Параметры

searcherOptional[Type[BaseSearch]]

Тип поискового алгоритма.

searcher_argsOptional[dict]

Словарь аргументов для поискового алгоритма.

Returns

None

explain(compared_text: str, original_text: str, n_grams: Tuple[int, int] | int | None = 1, analyzer: Literal['word', 'char'] | None = 'word', sep: str | None = ' ', k: int | None = 10, ascending: bool | None = True, **explainer_args) Tuple[DataFrame, List[Tuple[int, int]]][исходный код]

Поиск наиболее схожих N-грамм из compared_text в original_text.

Параметры

compared_textstr

Пользовательский текст, в котором нужно найти n-граммы, похожие на original_text.

original_textstr

Текст, с которым сравнивается compared_text.

n_gramsOptional[Union[Tuple[int, int], int]]

Длины N-грамм, которые будут оцениваться. Может приниматься либо одно число, либо список чисел.

analyzer: Optional[Literal[„word“, „char“]]

Считать схожесть текстов на основе N-грамм слов или символов.

sep: Optional[str]

Разделитель слов.

kOptional[int]

Кол-во выдаваемых результатов.

ascendingOptional[bool]

Флаг сортировки полученных результатов. False - убывающая, True - возрастающая сортировка.

Returns

df: pd.DataFrame

Датафрейм с результатами. df.columns = [„text“, „similarity“]

indeces_n_grams: List[Tuple[int, int]]

Список кортежей индексов старта и конца самых важных N-грамм из df.

fine_tuning(dataset: Iterable[str]) object[исходный код]

Дообучение пайплайна на новых данных.

Параметры

datasetIterable[str]

Датасет текстов.

Returns

pipeline: Pipeline

Новый объект Pipeline.

get_model() BaseEmbedding | None[исходный код]
get_preprocessing() List[BaseTransformation] | None[исходный код]
load(path_to_filename: str) Pipeline[исходный код]

Загрузка pipeline из файла.

Параметры

path_to_filenamestr

Путь до файла.

Returns

self: Pipeline

Загруженный pipeline.

save(path_folder_save: str, filename: str) object[исходный код]

Сохранение pipeline в файл pickle.

Параметры

path_folder_savestr

Путь до папки, куда сохранить файл.

filenamestr

Название файла.

Returns

self: Pipeline

Текущий pipeline.

search(text: str, k: int, ascending: bool = True) DataFrame[исходный код]

Поиск наиболее схожих k-текстов из БД на text пользователя.

Параметры

textstr

Пользовательский текст, которому нужно найти наиболее схожий текст из БД.

kint

Кол-во выдаваемых результатов.

ascendingbool

Флаг сортировки полученных результатов. False - убывающая, True - возрастающая сортировка.

Returns

df: pd.DataFrame

Датафрейм с результатами. df.columns = [„text“, „similarity“]

validate(augmentation_transforms: List[BaseTransformation], accuracy_top: List[int] | None = [1, 5, 10], ascending: bool | None = True) Dict[int, float][исходный код]

Получение метрик точности обученного pipeline.

Параметры

augmentation_transformsList[BaseTransformation]

Список алгоритмов аугментации для создания ошибок в тексте.

accuracy_topOptional[List[int]]

Список для оценивания N@Accuracy.

ascendingOptional[bool]

Флаг сортировки полученных результатов. False - убывающая, True - возрастающая сортировка.

Returns

score_metrics: Dict[int, float]

Посчитанные метрики.

recs_searcher.api.api.load_pipeline(path_to_filename: str) Pipeline[исходный код]

Загрузка pipeline из файла.

Параметры

path_to_filenamestr

Путь до файла.

Returns

self: Pipeline

Загруженный pipeline.

Module contents