DEEP LEARNING · NLP · 2024 to 2025

ForeHumanity

A deep learning system that forecasts where the next humanitarian crisis is likely to break out, trained on roughly 2 million New York Times articles spanning 24 years. A LoRA-fine-tuned Mistral 7B sits on top of the classifier and explains each prediction in natural language.

NLP Deep Learning LoRA PyTorch TensorFlow Streamlit Synopsys SCVSEF · 2025 · Betterment of Humanity Award
2 M
NYT Articles Processed
24 yr
Coverage Window
84.6%
Pattern Detection Accuracy
ForeHumanity research poster: utilizing deep learning to forecast humanitarian crises through media coverage patterns
Research poster · Synopsys SCVSEF 2025 Click to enlarge
01 · WHY EARLY WARNING

Crises don't appear. They surface.

Famines, conflicts, and refugee surges are usually visible in the news weeks or months before relief organizations mobilize. The pattern is in the coverage. The hard part is reading it at scale.

Existing crisis-response systems are reactive. By the time UNHCR, WHO, or a national government acts, the crisis has already cost lives. Forecasting tools exist (FEWS NET, ACAPS) but rely on hand-curated indicators and operate on monthly cadences.

ForeHumanity asks a simpler question: can a model trained on the language of crisis reporting predict where the next one will surface? If the answer is yes, even by a few weeks, the lead time is enough to pre-position aid.

100M+
People displaced globally as of 2024 (UNHCR).
~6 wk
Typical lag between media surge and humanitarian response mobilization.
28%
Of WFP food assistance arrives after the worst hunger spike has already happened.
02 · DATA PIPELINE

2 million articles, 24 years, structured for learning.

Every article from the NYT archive between 2000 and 2024, parsed for keywords, section, and timestamp. Multi-hot encoded. Time normalized. Used as supervised signal against a labeled crisis ledger.

Source
NYT Archive API
2000 to 2024
Clean
Keyword + section parse
Drop boilerplate, dedupe, lemmatize
Encode
Multi-hot vectors
+ timestamp normalization to [0, 1]
Label
Crisis ledger
UNHCR · OCHA · ACLED merge
03 · MODEL ARCHITECTURE

Two models. One pipeline.

A TensorFlow/Keras classifier predicts when the next crisis tied to a keyword will surface. A LoRA-fine-tuned Mistral 7B explains why.

The forecaster (Keras)

Dense network over multi-hot keyword vectors plus section embeddings. Output is a normalized timestamp in [0, 1] that gets denormalized back into a real date. Trained with MSE loss on labeled crisis events.

The explainer (Mistral 7B + LoRA)

Mistral 7B base, LoRA-fine-tuned on a curated dataset of crisis explainers. Adapters live in lora_mistral_ckpt/. Runs on CPU with the peft + transformers stack. Generates a natural-language rationale for each prediction.

# app.py · Streamlit forecasting interface
from transformers import AutoTokenizer, AutoModelForCausalLM
from data_preprocessing import (load_and_clean_data, parse_keywords,
                                normalize_timestamp, create_multi_hot_vectors)

@st.cache_resource
def load_lora_model(lora_path="./lora_mistral_ckpt"):
    tokenizer = AutoTokenizer.from_pretrained(lora_path)
    model = AutoModelForCausalLM.from_pretrained(lora_path).to("cpu")
    return tokenizer, model

def denormalize_timestamp(norm_val, min_ts, max_ts):
    pred_ts = norm_val * (max_ts - min_ts) + min_ts
    return datetime.datetime.utcfromtimestamp(pred_ts)
FIG 01 · ForeHumanity Streamlit app · CPU inference path app.py
04 · LORA EXPLAINER

Predictions you can interrogate.

A bare classifier output (a date) is not a useful product for a humanitarian operator. ForeHumanity wraps each prediction in a generated rationale that names the keywords driving the forecast and the historical patterns the model is matching against.

The Mistral adapter was trained on prompt-completion pairs derived from the labeled crisis ledger plus surrounding NYT context. The result: when a user enters famine, the system both predicts a date and writes a paragraph explaining which historical episodes the prediction resembles and what early-warning indicators are most active.

The choice of LoRA over full fine-tuning was deliberate. The adapters are 65 MB versus Mistral's 14 GB, training ran on a single consumer GPU, and the explainer can be retrained as new crisis data lands without retraining the whole base model.

05 · RESULTS

Recognized for impact.

Model performance on holdout crisis events

Held-out 20% of crisis ledger events not seen during training.

Pattern detection accuracy
84.6%
Time-window prediction (±2 wk)
71%
Time-window prediction (±4 wk)
88%
3rd
Place, CSEF Mathematical Sciences (2025).
SVP
SVP Market Research recognition (Apr 2025).
SCVSEF
Synopsys Championship 2025: Betterment of Humanity Award.