B RU Loginom (Habr)·Practitioner post·

Normalising millions of master-data records

ИИ-джинн должен сидеть в «лампе»: нормализация миллионов записей номенклатуры

B · Useful, limited Case report by the CEO of Loginom, a low-code analytics vendor, with concrete effort, speed and accuracy figures from a master-data project; numbers are self-reported, the client is unnamed and the post promotes the vendor's platform.

Summary based on the full text·Original: about 12 minutes to read

In short

A Habr case post (26 October 2026) by Alexey Arustamov, CEO of Loginom, on normalising millions of product master-data records (class plus attributes such as material and length) against a classifier of about 1,000 classes. Regular expressions cost 4 days per class to set up. Fine-tuned BERT for classification plus custom NER models cut that to 1-2 days and let domain experts do the labelling. Local LLMs were tried and dropped for production: slow, inconsistent output formats and invented attributes. The production pipeline is a hybrid of extractive ML, deterministic standardisation rules and human review, running on CPU.

Key numbers

  • 4 days vs 1-2 daysset-up effort per class: regex grammar versus labelling data for a fine-tuned BERT plus NER pipeline
  • about 3 s vs 100 msinference per record with a local LLM versus the local ML pipeline, about 30 times slower
  • 98%final average accuracy across 100+ classes processed (record counted correct only if class and all attributes are right)
  • 8 cores, 16 GB RAMCPU-only server the whole pipeline runs on
  • about 1,000classes in the classifier (500 most used), about 7 attributes per class on average

As reported by the source.

Read the original on habr.com

Russian·Web page·opens habr.com

What it reports

  • Target accuracy at least 95%, since class or attribute errors create duplicates and distort stock valuation and management reports.
  • Regex grammars: 100% interpretable, but 4 days per class implies 4,000 person-days for 1,000 classes before maintenance; a new supplier writing "Д. 150" or an OCR error breaks the parser.
  • BERT plus custom NER: 100-200 varied examples are enough to start a class; neural models only find spans, and rules convert values to canonical form. Labelled data became a reusable asset independent of model architecture.
  • Local open-source LLMs (cloud APIs ruled out because clients keep data inside their perimeter): about 3 seconds per record against 100 ms, roughly 30 times the compute for a million rows. Output format varied (150, "diameter 15 mm", a full sentence), and the model filled attributes absent from the input. Prompt fixes for one case broke others; the author calls prompt engineering "the same brittle grammar, written in words".
  • Pipeline split: BERT classification (above 95%), custom NN span extraction (~100 ms), standardisation rules (deterministic), MDM user plus post-validation (98% final).
  • New class workflow: validation set of about 120 records; 70-80% correct on the first pass, above 95% usually from the second iteration. Model errors are fixed by adding about 10 examples; rule errors by editing a dictionary.
  • LLMs stay in a support role: labelling data, drafting rules, suggesting variants for unusual descriptions.

How they got it

Project experience from the vendor's own team. Accuracy is measured per record on validation sets with a strict all-correct criterion. No client name, data sample, error breakdown or comparison on a shared test set is given.

Limits

  • Self-reported by the vendor; no independent check, and the post promotes the Loginom platform.
  • The LLM comparison used local open-source models of limited size; the author notes frontier models guess more accurately, but they were not tested in production due to data-perimeter constraints.
  • "Millions of records" is not broken down; the 98% average covers the 100+ classes processed so far, not all 1,000.
  • The claim that extractive models cannot invent attributes holds for span extraction; class errors remain possible, which is why post-validation exists.

Why it matters for companies

Master-data cleaning is a common first AI project in procurement, supply chain and finance, and this post gives a realistic cost structure. A generative model per record is the expensive and least predictable option at volume; a small extractive model plus rules runs on ordinary hardware and fails in ways that can be fixed. The useful shift is organisational: labelling by domain experts replaces regex coding by developers, and the labelled set outlives any model choice. Use LLMs to speed up labelling and rule drafting, and measure accuracy on whole records.

Key passages in translation

Russian original

Промпт-инжиниринг оказался той же самой хрупкой грамматикой, только написанной словами.

English translation

Prompt engineering turned out to be the same brittle grammar, only written in words.

Russian original

Инференс одной записи занимал около трех секунд, тогда как наш локальный ML-конвейер к тому моменту укладывался в 100 миллисекунд, т. е. в 30 раз быстрее.

English translation

Inference for one record took about three seconds, while our local ML pipeline by then fit into 100 milliseconds, that is, 30 times faster.

Russian original

В нашем конвейере действует «презумпция виновности» модели. По умолчанию мы не доверяем результатам автоматического разбора.

English translation

Our pipeline applies a "presumption of guilt" to the model. By default we do not trust the results of automatic parsing.

Summary based on the full text. Read the original for the full argument and data.Read the original on habr.com

Tags

Same week

All of Week 44