Skip to main content

Search engine and registry error corrector

Project description

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-интерфейса, в который внедрена данная библиотека.

Автор

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

recs-searcher-0.1.1.tar.gz (683.5 kB view details)

Uploaded Source

Built Distribution

recs_searcher-0.1.1-py3-none-any.whl (733.7 kB view details)

Uploaded Python 3

File details

Details for the file recs-searcher-0.1.1.tar.gz.

File metadata

  • Download URL: recs-searcher-0.1.1.tar.gz
  • Upload date:
  • Size: 683.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for recs-searcher-0.1.1.tar.gz
Algorithm Hash digest
SHA256 d0d54bcc1a5c17b9acb952f5f2a054f050535bab99c2ff17ee6b18ccdcb2b03c
MD5 9f6ef071ba51b2d5f546a8dcef2367ce
BLAKE2b-256 6afb300d578631f375d1517ddc39209c20b83466dd3ad1109feb972820ea5dc5

See more details on using hashes here.

File details

Details for the file recs_searcher-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for recs_searcher-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1967a5efdae9215ae672a789b426e0d0e24d76e2d5a707592635e653badb9396
MD5 7f8d525659ae5e96b3eb8e2210401029
BLAKE2b-256 28e85df32b18b42a113015af0c7b87c5551bce81bdd3d82544d7597432f40ad4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page