/

Cross-border child protection cases span 120 countries — International Social Service (ISS), a 96-year-old NGO managing 70,000 such cases a year, had no tool to surface relevant precedents or estimate case risk. Omdena built an NLP pipeline using USE embeddings, XLNet summarization, and a custom Keras risk model trained on 230 curated cross-border legal cases. Delivered in eight weeks: a Flask app retrieving similar cases, generating summaries, extracting abuse indicators, and assigning risk scores across 108 languages.
| Outcome | Detail |
| Administrative workload | Up to 40% reduction in case management tasks |
| Similar case retrieval | Top 5 matches from 230-case corpus via cosine similarity on USE embeddings |
| Summarization model | XLNet, selected over BART, BERT-SUM, and GPT-2 |
| Risk scoring accuracy | RMSE 0.189 (custom Keras NN, beating AutoKeras 0.212 and XGBoost) |
| Languages supported | 108 via Google Translate API |
| Training corpus | 230 curated cross-border cases from ECHR, WorldCourt, US Case Law, and LawCite |
| Project timeline | 8 weeks |
Child protection cases that cross international borders are among the most complex files in social work. A 96-year-old global NGO with operations in more than 120 countries coordinates over 70,000 such cases each year, connecting children and families across national systems that differ in law, language, and procedure.
For each new file, social workers manually searched prior cases for comparable situations, assessed risk based on individual expertise, and routed files to the appropriate national contact. No automated system existed to retrieve relevant precedents, generate summaries, or flag abuse patterns.
Omdena partnered with ISS to automate the three documentation workflows that consumed the most caseworker hours. The NGO’s global network of social workers and legal specialists handled tens of thousands of active cross-border cases with no NLP tooling to assist with precedent search, risk scoring, or abuse detection.
Over eight weeks, an Omdena team curated 230 public cross-border legal cases, benchmarked embedding, summarization, and risk-scoring models against quantitative metrics, and delivered a multilingual web application with a cloud-hosted database. The project targeted the three documentation tasks that consumed most caseworker time: finding precedents, writing summaries, and assigning risk levels.
Severe training data constraints: The client provided only five anonymized files because child protection records are among the most confidential documents in social services. Every other training example came from public records: ECHR decisions, WorldCourt rulings, US case law databases, LawCite, and a Malawi caseworker training manual; together these sources comprised a 230-case corpus assembled from scratch.
Dense and variable legal text: Cross-border case files span hundreds of pages, mix legal and social work terminology, and arrive in formats that vary widely across 120+ national systems. ECHR decisions follow different conventions from domestic court rulings, requiring custom preprocessing before any NLP model could operate reliably across the full corpus.
Subjective and multi-factor risk assessment: Risk in child protection draws together factors including past abuse, access to education, caretaker stability, and willingness to care for the child — all compressed into a single numeric score. Three experts independently scored each training case on a 0-to-1 scale; their disagreements revealed how much risk assessment depends on individual expertise rather than shared criteria.

With only five ISS-provided files available, the team curated 230 public cross-border legal cases from the ECHR, WorldCourt, US case law databases, LawCite, and a Malawi caseworker training manual. Each document was cleaned, tokenized, stop-word-filtered, and lemmatized using NLTK and spaCy before any modeling began.
Four embedding approaches were evaluated on Silhouette scores: TF-IDF, Doc2Vec, Universal Sentence Encoder, and BERT. USE produced the highest scores and was selected as the retrieval foundation; PCA then reduced dimensionality from 512 to 100 to keep similarity search efficient.
The system computed cosine similarity between a new case description and the full 230-case corpus, returning the five most similar cases alongside their summaries and risk scores, converting hours of manual search into a sub-second query.
Four models competed: BERT-SUM, BART, GPT-2, and XLNet. BART was slow on long documents; GPT-2 occasionally introduced content not present in the source. XLNet delivered the best factual fidelity and speed on held-out legal documents and was selected as the production summarization model.

Three domain experts scored each of the 230 training cases on a 0-to-1 risk scale; the averaged score defined ground truth. Risk bands were set at low (below 0.35), medium (0.35 to 0.75), and high (0.75 and above). A custom Keras neural network achieved an RMSE of 0.189, outperforming AutoKeras (RMSE 0.212) and an XGBoost baseline.

A custom spaCy pipeline detected abuse-related content across eight verb categories (including assault, coercion, neglect, and exploitation) at a cosine similarity threshold of 0.65. OpenIE and AllenNLP were both evaluated and rejected: both produced repetitive, overlapping extractions on dense legal text that the spaCy pipeline handled cleanly.
The complete NLP pipeline was delivered as a Flask web application with WTForms, Plotly charts, and Bootstrap. Case data persisted to PostgreSQL via SQLAlchemy on Amazon RDS, with Google Translate API integration providing 108-language support across every feature in the application.
Similar case retrieval system: Powered by USE embeddings and cosine similarity, the retrieval system returned the five most relevant prior cases for any new submission, alongside their summaries and risk scores, replacing hours of manual search.
XLNet summarization module: Selected after benchmarking against BART, BERT-SUM, and GPT-2 on speed and factual accuracy, XLNet generated concise summaries from dense legal documents, reducing the time required to orient a caseworker to any new file.
Custom Keras risk scoring model: The risk model assigned a numeric score and low/medium/high band based on 230 expert-scored training cases. RMSE of 0.189 indicated consistent alignment with expert judgment, making risk assessment systematic rather than intuition-dependent.
Abuse extraction and multilingual web application: The complete NLP pipeline was delivered as a Flask application supporting 108 languages via the Google Translate API. Caseworkers submitted a case description and received precedents, a summary, a risk band, and flagged abuse passages in a single browser interface.
Before this project, a caseworker opening a complex cross-border file had no systematic way to find comparable situations. The retrieval system surfaced precedents in seconds, alongside generated summaries that reduced the reading burden before any assessment could begin.
The risk scoring model replaced a process that depended entirely on individual expertise. A new caseworker and a senior specialist now received the same algorithmically derived starting point, enabling consistent risk categorization across 120+ countries. The client estimated the full suite could reduce administrative workload by up to 40%.
A data-driven precedent base for every new case: The 230-case retrieval corpus gave caseworkers instant access to prior decisions from the ECHR, WorldCourt, and national courts — a structured evidence base that did not exist before. Each case arrived with a generated summary and risk score, reducing the time required to orient to a new file.
No specialist AI skills required to use the system: The Flask application presented results through a standard browser interface requiring no technical knowledge. Caseworkers submitted a case description and received retrieved precedents, a summary, a risk band, and flagged abuse patterns directly — without configuring models, running code, or interpreting probability outputs.
Open-source codebase available through OmdenaLore: The full pipeline (preprocessing, embedding, summarization, scoring, and web application) was released as open-source code through OmdenaLore, Omdena’s open-source knowledge-sharing platform. The client retained the ability to retrain models on expanded case corpora, audit every component, and adapt the system to new languages or case types without vendor dependency.
The team could not obtain more than five confidential case files from the client. Sourcing 230 public cases across ECHR, WorldCourt, and national legal databases took significant effort, but a model trained on those 230 carefully curated cases outperformed any model trained on a larger but noisier corpus of tangentially related legal text.
When three domain experts scored the same case and reached different values, the variation exposed genuine ambiguity in the case facts. Rather than resolving disagreements through a single reviewer, the team averaged scores and treated the variance as calibration data — teaching the model to assign moderate confidence in cases where reasonable experts disagreed.
OpenIE and AllenNLP produced repetitive, overlapping output on dense legal documents; a custom spaCy pipeline tuned to eight child-protection verb categories extracted cleaner, more actionable results. The lesson extended to summarization: XLNet outperformed GPT-2 because its outputs stayed faithful to the source text rather than introducing plausible content that was not there.
Expanding the training corpus: The 230-case corpus drew from public records only. As the client establishes privacy-compliant data-sharing procedures, retraining models on actual case outcomes would improve both retrieval relevance and risk accuracy.
Active case file integration: Connecting the application to the client’s active case management system would enable real-time matching against live cases, flagging pattern clusters and alerting supervisors when a new file closely resembles a high-risk precedent.
Predictive routing to national branches: A routing model trained on case type, jurisdiction, and language features could suggest the appropriate national branch at case opening, reducing coordination delays that currently depend on individual caseworker knowledge.
Precedent search was the most time-consuming step in the client’s case opening workflow. The USE-based retrieval engine returned the five closest matches with generated summaries attached, converting an hours-long manual task into a sub-second query without accessing any confidential case data.
An RMSE of 0.189 placed the Keras model ahead of AutoKeras (0.212) and XGBoost. For an organization that previously relied on individual caseworker judgment for risk assignment, a reproducible scoring model represented a qualitative shift in how risk could be monitored across 120+ countries.
The Flask application unified retrieval, summarization, risk scoring, and abuse extraction into a single browser interface. Support for 108 languages via the Google Translate API meant the platform could reach every national branch without additional localization work.
Omdena partnered with ISS, a global child-protection NGO operating across 120+ countries, to build an NLP case intelligence system. Over eight weeks, the team curated 230 public legal cases and delivered a Flask web application with case retrieval, XLNet summarization, Keras risk scoring, and abuse pattern extraction in 108 languages.