Skip to main content

GitHub Workflow Status (branch) Read the docs

PyPI PyPI - Downloads

recs-searcher — библиотека для поиска похожих текстов

Библиотека позволяет находить похожие на пользовательский ввод тексты из датасета.

Содержание

  1. Проблематика
  2. Особенности библиотеки
  3. Установка
  4. Примеры применения

Проблематика

Пользовательский ввод может содержать как орфографические, так и реестровые ошибки.

Рассмотрим самые частые ошибки:

  • используются сокращения или полные формы слова: «Литературный институт имени А.М. Горького» || «Литературный институт им. А.М. Горького»;
  • пропущены либо добавлены слова: «Литературный институт имени А.М. Горького» || «Институт имени А.М.Горького»;
  • пропущены либо добавлены дополнительные символы: «Сибирский федеральный университет» || «Сибрский федерааальный универ»;
  • слова могут быть в не правильном порядке: Институт космических и информационных технологий || Институт информационных и космических технологий.

Данные проблемы помогает решить разработанный модуль recs-searcher (registry error correction system - searcher), основанный на известных NLP-алгоритмах.

Особенности библиотеки:

  • модуль универсален для любого датасета;
  • содержит API для использования библиотеки;
  • содержит множество подмодулей алгоритмов для оптимизации задачи, из которых строится pipeline (предобработка текста, модели для создания эмбеддингов, алгоритмы для эффективного сравнения эмбеддингов, аугментация текста для оценки обученного pipeline);
  • возможность интерпретировать результаты обученных pipeline;
  • масштабирование библиотеки благодаря имеющимся абстрактным классам.

Установка

pip install recs-searcher

Примеры применения

  1. Соберём pipeline:
from recs_searcher import (
    dataset,  # учебные датасеты
    preprocessing,  # предобработка текста
    embeddings,  # преобразование текста в эмбеддинги
    similarity_search,  # быстрые поисковики в пространстве эмбеддингов
    augmentation,  # аугментация текста для валидации пайплайнов
    explain,  # интерпретация сходства двух текстов
    api,  # Пайплайн
)

model_embedding = embeddings.CountVectorizerWrapperEmbedding(
    analyzer='char',
    ngram_range=(1, 2),
)

pipeline = api.Pipeline(
    dataset=['Красноярск', 'Москва', 'Владивосток'],
    preprocessing=[preprocessing.TextLower()],
    model=model_embedding,
    searcher=similarity_search.FaissSearch,
    verbose=True,
)
# Pipeline ready!
  1. Найдём 3 схожих текстов в базе данных на пользовательский ввод "Красный ярск":
pipeline.search('Красный ярск', 3, ascending=True)
# return: pandas.DataFrame

Документация.

Более подробные примеры кода API.

Пример WEB-интерфейса, в который внедрена данная библиотека.

Автор

Metadata

Release files for recs-searcher 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for recs-searcher 0.1.1
File Size Uploaded Provenance Actions
recs-searcher-0.1.1.tar.gz 683.5 kB Without provenance Details for recs-searcher-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for recs-searcher 0.1.1
File Interpreter ABI Platform Actions
recs_searcher-0.1.1-py3-none-any.whl Python 3 none any Details for recs_searcher-0.1.1-py3-none-any.whl

Total release size: 1.4 MB

Release files / recs-searcher-0.1.1.tar.gz

Download URL recs-searcher-0.1.1.tar.gz
Size 683.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d0d54bcc1a5c17b9acb952f5f2a054f050535bab99c2ff17ee6b18ccdcb2b03c
BLAKE2b-256 checksum
How to use checksums
6afb300d578631f375d1517ddc39209c20b83466dd3ad1109feb972820ea5dc5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Release files / recs_searcher-0.1.1-py3-none-any.whl

Download URL recs_searcher-0.1.1-py3-none-any.whl
Size 733.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1967a5efdae9215ae672a789b426e0d0e24d76e2d5a707592635e653badb9396
BLAKE2b-256 checksum
How to use checksums
28e85df32b18b42a113015af0c7b87c5551bce81bdd3d82544d7597432f40ad4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.5

Security for recs-searcher 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page