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)[исходный код]
Базовые классы:
objectAPI для взаимодействия с алгоритмами. С помощью данного класса можно:
обучить выбранную модель на пользовательском датасете;
- сохранять и загружать собранный и обученный pipeline для
последующего использования;
производить вычисления для пользовательского ввода;
проверить точность работы обученного pipeline;
получить интерпретацию полученных результатов.
- Параметры
- 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.