Checklist IOAI PH 2026 Team Selection · Task 1
The "Bayanihan" Crisis Concept Extractor
Extract urgency, location and rescue/medical needs from 10,000 Taglish disaster SMS messages and 50 noisy radio audio clips using ASR and free-tier LLM APIs.
The task
During severe weather, rescue organisations receive large numbers of unstructured distress messages. The dataset contains 10,000 synthetic records: Taglish SMS texts with heavy abbreviations, slang and noise (spam, wrong numbers), and 50 shortwave radio intercepts (.mp3) with dispatcher 10-codes over static.
Contestants write a pipeline that transcribes the audio programmatically (for example with Whisper), queries a free-tier LLM API (for example OpenRouter or Groq) with few-shot prompts, and outputs four labels per record: urgency_level (Critical, High, Moderate, Non-Emergency), location (string or 'Unknown'), needs_rescue (Yes/No) and needs_medical (Yes/No).
Abridged by SOTA from the official materials. The official statement has the exact rules, and it wins wherever this summary differs.
At a glance
- You get
test.csv(id,raw_text,audio_filename), 50 audio files,benchmark_submission.csv.- You submit
- A 'melted' CSV of exactly 40,000 rows: RowId (e.g. 1_urgency_level) and Prediction.
- Scoring
- Macro F1-score averaged across the four label types.
- Rules
- All transcription and extraction must run programmatically in the Kaggle notebook; no manual transcriptions, hard-coded answers or web GUIs.
- Data only from the official competition input directory.
- Individual work; API keys must be loaded via Kaggle Secrets, never hard-coded.
- Notebooks must be made public or shared with the organisers after the deadline.
- Format
- IOAI Philippines 2026 Team Selection, Task 1 (private Kaggle community competition).