Industrial safety intelligence has long been trapped in a reactive loop. An incident occurs, a report is filed, and the data sits in a siloed database — rarely cross-referenced with similar near-misses from three years prior. ASCENSION was built to break that loop.
The Core Problem
OIL India's HSSE database contains thousands of incident narratives written by field engineers in natural language. Each report describes a hazard, the barriers that failed, and the outcome. The challenge is that the same barrier failure — say, a defective pressure relief valve — might be described in 40 different ways across 40 different reports. No keyword search can reliably find them all.
The 14-Layer Architecture
We designed a pipeline that moves from raw text to calibrated risk intelligence in 14 discrete, auditable stages:
- Ingestion & Deduplication — Raw reports are normalised, deduplicated by fuzzy hash, and loaded into a PostgreSQL medallion store.
- Domain Embedding — We fine-tuned a BERT checkpoint on HSSE corpora (SafetyBERT) to encode incident narratives into 768-dimensional semantic vectors stored via pgvector.
- Barrier Ontology Matching — A critical barrier ontology (derived from IEC 61511 and OIL internal standards) is matched against each narrative using RapidFuzz token-set ratio with a tuned threshold of 82.
- Platt-Calibrated Classification — An XGBoost ensemble classifies each extracted segment as a confirmed barrier degradation, potential precursor, or noise. Platt scaling corrects the overconfident raw probabilities.
- Dual-Threshold Abstention — Segments with confidence between the low and high threshold are routed to a human-in-the-loop queue rather than being force-classified.
- Precursor Density Shrinkage — Bayesian Beta-Binomial shrinkage estimates the true recurrence rate of each precursor class across the corpus, dampening noise from low-count events.
What We Found
Across the first 3,200 incident reports processed, ASCENSION surfaced 14 distinct precursor chains that had not been captured by manual review. Three of them involved repeated partial failures of the same barrier category across geographically separate sites — the kind of pattern that is invisible in a siloed, per-site reporting system.
Open Code
The full pipeline is available on GitHub under Apache 2.0. We welcome contributions from safety engineers, ML researchers, and domain experts.