Pipeline przetwarzania paragonów i dokumentów dla Vault
Branża
Technologie
Kraj
O Kliencie
Vault zbiera zakupy użytkowników z dwóch źródeł. Papierowe paragony użytkownicy skanują telefonem, a potwierdzenia zamówień online przekazują na osobisty adres w aplikacji. Jedne i drugie przychodzą bez struktury, w każdym formacie, jaki produkuje brytyjski handel: zdjęcia papieru termicznego, e-maile HTML, załączniki PDF. Platforma, którą zbudowaliśmy, zamienia te dokumenty w czyste, rozbite na pozycje dane zakupowe. Pipeline odczytuje dokumenty narzędziami OCR, wyodrębnia i normalizuje każdą pozycję produktową, rabat, metodę płatności i informację lojalnościową, a produkty kategoryzuje do spójnej taksonomii. Paragony to główny typ dokumentu, ale samo przetwarzanie jest uniwersalne. Pozyskiwanie, ekstrakcja, normalizacja, deduplikacja i przegląd przez człowieka działają tak samo dla każdego częściowo ustrukturyzowanego dokumentu. Jakość tych danych decyduje o jakości całego produktu, od asystenta AI po analitykę wydatków, dlatego niezawodność była głównym wymaganiem projektu.
Potrzeby Klienta
Dwa kanały pozyskiwania: aparat i e-mail
Zdarzeniowy pipeline przetwarzania
Unifikacja sprzedawców i produktów
Dane zakupowe gotowe do analityki
Pipeline musiał przyjąć wszystko, co prześle użytkownik: zeskanowany paragon, e-paragon, e-mail z zamówieniem i załącznikiem PDF. Do tego niezawodnie wyodrębniać pojedyncze pozycje, rozpoznawać, że "TESCO STORES 3211" i "Tesco Extra" to ten sam sprzedawca, mapować opisy produktów na wspólny katalog, wykrywać ten sam paragon wysłany dwukrotnie i zgłaszać błędy z jasnym powodem, zamiast po cichu gubić dokumenty. Całość asynchroniczna, odporna na nadużycia i gotowa do skalowania wraz z bazą użytkowników.
Dostarczone Usługi
Dwa kanały pozyskiwania: Mobilne skanowanie z detekcją dokumentu i poprawą jakości obrazu na urządzeniu oraz pozyskiwanie z e-maili przez osobiste adresy przekierowań. Treści wiadomości i załączniki trafiają do tego samego pipeline'u niezależnie od formatu.
Podwójna ekstrakcja: Dane dokumentu odczytują dwa niezależne silniki, a dokument uznaje się za przetworzony dopiero, gdy są oba wyniki. To wychwytuje błędy, które przy dokumentach niskiej jakości umknęłyby pojedynczemu silnikowi.
Pełna historia przetwarzania: System zapisuje wynik każdego etapu, więc zawsze widać, co dokładnie działo się z konkretnym paragonem czy e-mailem. Dzięki temu łatwiej znaleźć przyczynę problemu i prześledzić dane przy audycie.
Unifikacja sprzedawców: Różne zapisy tego samego sklepu na paragonach są rozpoznawane i łączone w jednego sprzedawcę. Wydatki w jednej sieci widać razem niezależnie od tego, jak sklep opisał się na paragonie, i na tym opiera się analityka między sklepami.
Unifikacja produktów: Opisy pozycji z paragonów są mapowane na wspólny katalog produktów, co umożliwia porównywanie cen między sklepami i analitykę wydatków.
Deduplikacja: Ten sam paragon wysłany dwukrotnie jest wykrywany zarówno w obrębie jednego konta, jak i w całej platformie, a historia duplikatu jest zachowywana do audytu. Ma to znaczenie wszędzie tam, gdzie dane zakupowe wiążą się z nagrodami.
Konsola operacyjna: Wewnętrzne narzędzie, w którym zespół przegląda niedopasowanych sprzedawców, surowe produkty i problematyczne e-maile. Poprawki wracają do danych wzorcowych, więc pipeline poprawia się z każdym przejrzanym przypadkiem.
Ochrona przed nadużyciami: Dzienne limity zgłoszeń na użytkownika, ograniczenia typów i rozmiarów plików oraz limity przetwarzania na każdym etapie utrzymują stabilność pipeline'u przy niepożądanym ruchu.
Zakres Prac
Zaprojektowaliśmy i zbudowaliśmy platformę przetwarzania dokumentów od początku do końca.
Projekt zdarzeniowej architektury pipeline'u: orkiestrator, model niezmiennych rekordów i snapshotów oraz komunikacja Pub/Sub między usługami.
Budowa ścieżki pozyskiwania z e-maili: osobiste adresy przekierowań, ekstrakcja wiadomości i załączników oraz dopasowywanie poczty do właściwego użytkownika.
Implementacja mobilnego skanowania paragonów z detekcją krawędzi na żywo, oceną jakości klatek i poprawą obrazu dostrojoną do papieru paragonowego.
Budowa unifikacji sprzedawców z dopasowaniem po podobieństwie i zarządzaniem aliasami oraz unifikacji produktów do wspólnego katalogu.
Implementacja deduplikacji na poziomie użytkownika i całej platformy, z metadanymi duplikatów zachowanymi do audytu.
Rozwój wewnętrznej konsoli operacyjnej do ręcznego przeglądu niedopasowanych sprzedawców, surowych produktów i nieudanych e-maili.
Przygotowanie danych zakupowych pod Genie Vision, produkt analityczny B2B dla sieci handlowych, w którym te same dane napędzają analizy rynkowe i kampanie.
Technologie
Współpraca
Zaczęliśmy od samych dokumentów: zanim powstał kod, ustaliliśmy, co znaczy poprawnie przetworzony paragon i które błędy kosztują najwięcej. Te kryteria poprowadziły architekturę. Pipeline zaprojektowaliśmy przy założeniu, że danym wejściowym nie można ufać: każdy etap zapisuje niezmienne rekordy, każdy dokument niesie pełną historię przetwarzania, a ścieżki błędów dostały tyle samo uwagi co główny przepływ. Konsola operacyjna pozwala zespołowi samodzielnie rozstrzygać niejasne przypadki, a ich poprawki stale ulepszają pipeline. Na tym samym pipelinie działa dziś Genie Vision, produkt analityczny B2B dla sieci handlowych, w którym te same dane zakupowe napędzają analizy rynkowe i narzędzia kampanijne. Zaczął jako prototyp, przeszedł do wersji produkcyjnej i jest rozwijany równolegle z konsumencką częścią platformy.
Sprawdź naszą pracę na Clutch