Allow receipt parsing
Project description
Receipt parser🧾
What is it?
receipt_parser - Python библиотека, помогающая распознавать товарную позицию из чеков. Для это задачи есть хороший сервис от Тинькофф, однако он не справляется с грязными данными, как на картинке выше. Изначально была задумка использовать нейронные сети, однако в процессе работы, понял, что на разметку нужно потратить много времени/денег, да и модель, основанная на правилах и словарях, даёт хороший результат.
Features
- распознавание продукта;
- определение категории товара;
- распознавание брендов;
- перевод англицизмов (
хугарден --> hoegaarden
)🍺
Where to get it
Исходный код в размещен на GitHub.
Библиотека размещёна на Python package index:
pip install receipt-parser
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for receipt_parser-0.0.25-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5acf040978edf082379b81bd9c468ef8071572d8a7e08eb556afbd2f8f74ebb4 |
|
MD5 | b858d91ef260794af8ff2755a7654e1d |
|
BLAKE2b-256 | 630ad92d93e040d6cb124860c9617996e6ba2da579639fedb593bd1a36f7ecfe |