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.23-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cafc425266a26715f233db732d15c88c353169390c068b96d55884d0f611445c |
|
MD5 | 298313f9689758343702eba87a6a3ba8 |
|
BLAKE2b-256 | c229d9b17dae547a8953981f81c6ececbbf790cd4f6acf1805d8c9b5ff99c791 |