Zum Inhalt springen
Abdullah Al Rafi

OCR für bengalische Geburtsurkunden bei bKash

Eine bislang einzigartige mehrsprachige OCR für bangladeschische Geburtsurkunden, betrieben auf NVIDIA Triton für das Kunden-Onboarding bei bKash.

Überblick

Rolle
ML Engineer, später Senior ML Engineer (Data Science)
Zeitraum
Apr. 2023 – Okt. 2025
Technologien
Python · ONNX Runtime · NVIDIA Triton
Links
Nicht öffentlich (Arbeitsprojekt)

3×

erfolgreiche Onboardings pro Woche, höchstens

gegenüber der Zeit vor den neuen Dokumenttypen

+8%

OCR-Leistung

gegenüber dem vorherigen Produktivmodell

100k+

Anfragen pro Woche

betrieben auf Triton mit ONNX Runtime

Arbeitsprojekt. Details sind verallgemeinert – ohne proprietären Code, Daten oder Screenshots.

Auf dieser Seite
  1. Überblick
  2. Problem
  3. Rahmenbedingungen
  4. Vorgehen und Architektur
  5. Ergebnisse
  6. Was ich heute anders machen würde

Problem

Das Kunden-Onboarding bei bKash hängt davon ab, Ausweisdokumente zuverlässig zu lesen. Bangladeschische Geburtsurkunden mischen bengalischen und englischen Text und existieren in mehreren Layouts – keine fertige OCR konnte sie zuverlässig lesen. Eine Urkunde, die das System nicht lesen kann, ist ein Onboarding, das nicht abgeschlossen wird.

Rahmenbedingungen

  • Zwei Schriften auf einer Seite. Bengalischer und lateinischer Text stehen nebeneinander, also mussten Erkennung und Texterkennung beide beherrschen.
  • Vielfalt der Layouts. Urkunden gibt es in mehreren Formaten. Neue Formate zu unterstützen, erwies sich später als größter einzelner Gewinn.
  • Produktiver Maßstab. Der Dienst ist Teil eines laufenden Onboarding-Prozesses und verarbeitet über 100.000 Anfragen pro Woche.
  • Sensible Daten. Geburtsurkunden sind persönliche Ausweisdokumente. Diese Seite enthält keine echten Beispiele oder Screenshots, und das Diagramm ist nachgezeichnet und verallgemeinert.

Vorgehen und Architektur

  1. Bild der Urkunde

    Eingabe

    Aufgenommen beim Kunden-Onboarding

  2. NVIDIA Triton · ONNX Runtime
    1. Vorverarbeitung

      Stufe 1

      Ausrichtung, Zuschnitt und Kontrast

    2. Texterkennung

      Stufe 2

      Textzeilen und Felder lokalisieren

    3. Zeichenerkennung

      Stufe 3

      Bengalischer und englischer Text nebeneinander

  3. Feldextraktion & Prüfung

    Stufe 4

    Text Feldern zuordnen und Formate prüfen

  4. Onboarding-Dienst

    Ausgabe

    Strukturierte Felder für die Kundenprüfung

Abb. 1 · Verallgemeinerte OCR-Pipeline, nachgezeichnet. Die Stufengrenzen sind illustrativ; Details aus der Produktion sind vertraulich.
Beschreibung des Diagramms

Ein Urkundenbild aus dem Onboarding durchläuft Vorverarbeitung, Texterkennung und bengalisch-englische Zeichenerkennung. Diese Stufen laufen als ONNX-Modelle auf NVIDIA Triton. Der erkannte Text wird strukturierten Feldern zugeordnet und geprüft, bevor er den Onboarding-Dienst erreicht.

Entscheidung

Eine eigene mehrsprachige Pipeline bauen

Erkennung, Zeichenerkennung und Feldextraktion wurden um die Urkunde selbst herum entworfen: zwei Schriften, feste Felder und eine bekannte Menge an Layouts.

Ebenfalls erwogen

  • Eine Allzweck-OCR-EngineKeine verfügbare Lösung las die Mischung aus Bengalisch und Englisch zuverlässig – deshalb war das Ergebnis eine Premiere.

Entscheidung

Modelle nach ONNX exportieren und auf NVIDIA Triton betreiben

Triton betreibt ONNX-Runtime-Modelle hinter einer standardisierten Inferenz-API, mit dynamischem Batching und Modellversionierung. Das hat die OCR auf über 100.000 Anfragen pro Woche skalieren lassen.

Ebenfalls erwogen

  • Die Modelle im Anwendungsprozess ausführenKoppelt die Modellausführung an die Web-Schicht und lässt Batching, Versionierung und Skalierung als Eigenbau zurück.

Entscheidung

Abdeckung durch neue Dokumenttypen erweitern

Als Senior ML Engineer habe ich das System um neue Dokumenttypen erweitert. Das steigerte die OCR-Leistung um 8 % und hat die erfolgreichen Onboardings pro Woche bis zu verdreifacht.

Ebenfalls erwogen

  • Das bestehende Modell nur auf den ursprünglichen Layouts verbessernUrkunden in nicht unterstützten Layouts scheiterten, egal wie gut die bekannten gelesen wurden.

Ergebnisse

3×

erfolgreiche Kunden-Onboardings pro Woche, höchstens

Basis: erfolgreiche Onboardings pro Woche vor den neuen Dokumenttypen

+8%

OCR-Leistung nach Ergänzung neuer Dokumenttypen

Basis: das vorherige Produktivmodell

100k+

Anfragen pro Woche im Produktivbetrieb

Betrieben auf NVIDIA Triton mit ONNX Runtime

Die erste Version machte das Onboarding mit Geburtsurkunden durchgängig möglich. Die Erweiterung um neue Dokumenttypen im Jahr 2025 steigerte die OCR-Leistung gegenüber dem vorherigen Produktivmodell um 8 % und hat die erfolgreichen Kunden-Onboardings pro Woche bis zu verdreifacht.

Was ich heute anders machen würde

  • Von Anfang an einen Evaluationsdatensatz pro Dokumenttyp aufbauen, damit jedes neue Layout eine Vorher-nachher-Zahl bekommt, statt erst im Betrieb aufzufallen.
  • Genauigkeit auf Feldebene neben dem Onboarding-Erfolg berichten, damit ein Rückschritt in einem Feld sichtbar wird, bevor er sich in den Geschäftszahlen zeigt.