Mouhib Chatti logo
All work

Payments / SWIFT · Dec 2025 - Feb 2026

ISO 20022 structured-address extraction (NER)

Converts unstructured free-text addresses from SWIFT pacs.008 / pacs.009 payment messages into ISO 20022 structured postal-address components - the migration every bank faced ahead of the structured-address mandate.

What it did, and what it measured

  • Modelled the full 16-field ISO 20022 schema directly against the pacs.008 XSD, then built a Dockerised bootstrapping pipeline that auto-labelled ~8,000 raw addresses into a seed corpus with a validation layer before human review.
  • Trained and benchmarked spaCy pipelines against XLM-RoBERTa across 3k / 8k / 41k dataset generations, evaluated with seqeval, and shipped an ensemble extractor.
  • Built an augmentation toolkit that beat naive scaling: Unicode and separator normalisation with span offsets recomputed rather than reused, plus slot-aware address permutations on a quarter of the data to teach word-order invariance. Companion country matcher covers 2,532 name variations across 248 ISO codes in six languages.

Stack

PythonspaCy 3.7HuggingFace TransformersXLM-RoBERTaPyTorchseqevalLabel StudioDockerISO 20022 XSD

Repo and demo

This is client work, so the source is not public. Happy to walk through the architecture, the scorecards and the trade-offs on a call.

© Mouhib Chatti 2026. All rights reserved.