Skip to main content

Allow receipt parsing

Project description


Version GitHub Workflow Status Upload Python Package CodeFactor GitHub

Receipt parser🧾

What is it?

receipt_parser - Python библиотека, помогающая распознавать товарную позицию из чеков. Для это задачи есть хороший сервис от Тинькофф, однако он не справляется с грязными данными, как на картинке выше. Изначально была задумка использовать нейронные сети, однако в процессе работы, понял, что на разметку нужно потратить много времени/денег, да и модель, основанная на правилах и словарях, даёт хороший результат.

Features

  • распознавание продукта;
  • определение категории товара;
  • распознавание брендов;
  • перевод англицизмов (хугарден --> hoegaarden)🍺

Where to get it

Исходный код в размещен на GitHub.

Библиотека размещёна на Python package index:

pip install receipt-parser

Если возникнет ошибка при установке пакета: Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-izdic4qt/youtokentome/ То установите Cython и повторите попытку: pip install Cython

Usage

Для распознавания сейчас доступна только RuleBased модель.

На вход можно подавать как строку:

from receipt_parser import RuleBased

product_desription = 'Нап.пив.ХУГАР.ГРЕЙПФ.н/ф 0.47л'
rb = RuleBased()
rb.parse(product_desription)

output:

name product_norm brand_norm cat_norm
0 Нап.пив.ХУГАР.ГРЕЙПФ.н/ф 0.47л напиток, пиво hoegaarden Воды, соки, напитки

Так и pd.DataFrame (колонка с товарной позицией должна называться name):

from receipt_parser import RuleBased

rb = RuleBased()
rb.parse(df)

Также в библиотеке есть два вспомогательных класса:

  • Normalizer - для нормализации;
  • Finder - для поиска по словарям.

Future work

  • Добавить тесты
  • Дополнить словари и собранные датасеты
  • Поднять сервис
  • Перейти на нейронные сети...

Support the project 🤗

Буду рад, если вы:

  • найдёте баги;
  • сможете оптимизировать код;
  • дополните словари и датасеты;
  • поможете с разметкой.

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

receipt_parser-0.0.28.tar.gz (18.7 kB view hashes)

Uploaded Source

Built Distribution

receipt_parser-0.0.28-py3-none-any.whl (19.5 kB view hashes)

Uploaded Python 3

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