Checklist ROAI 2025 National Stage · Task 1
Human vs AI
Romanian title: Om vs AI
Detect whether Romanian texts were written by a human or generated by AI, and assign texts to four topics without topic labels.
The task
As AI-generated content spreads, it becomes harder to tell human from machine-written text, while identifying a text's topic remains essential for organising information.
Subtask 1 asks for a binary model (0 = human, 1 = AI) trained on train_data.csv and applied to the test texts marked with subtaskID 1. Subtask 2 asks for the topic of each test text marked with subtaskID 2 among SCIENCE, BUSINESS, CRIME and RELIGION, although the training file contains no topic labels.
Abridged and translated by SOTA from the official Romanian materials. The official statement has the exact rules, and it wins wherever this summary differs.
In English
This task was published in Romanian. SOTA translated it into English on 16 September 2026.
Read the task statement in English
Human vs AI
English translation by SOTA – AI Community of the Romanian original, published with the permission of Asociația Nitro. Organisers who would like this translation removed can email [email protected].
Statement
In a world in which almost everyone uses artificial intelligence models such as ChatGPT to generate content, it is becoming increasingly difficult to distinguish between a text written by a human and one generated automatically. At the same time, identifying the main topic of a text remains essential for organising and interpreting information.
The aim of this exercise is twofold:
- Subtask 1: Detecting the source of a text – is it written by a human or generated by AI?
- Subtask 2: Classifying the text into one of four major topics: science, business, religion or crime.
Dataset
The input file contains a table with the following columns:
- ID – a unique identifier for each sentence.
- text – the sentence itself.
- label – the source of the text (
0if it is written by a human,1if it is generated by AI).
Subtask 1 – Detecting the source of the text (AI vs. Human)
You will train a binary classification model, using the data in the file train_data.csv, that takes a text as input and returns:
0if the text is written by a human.1if the text is generated by AI.
Using this model, you will predict the source of all the texts in test_data.csv that have the value 1 in the subtaskID column.
Subtask 2 – Topic classification of the texts
For each text, the main topic is to be determined by classifying it into one of four categories:
- "SCIENCE"
- "BUSINESS"
- "CRIME"
- "RELIGION"
The train_data.csv dataset does not directly contain these topic labels.
The methods you design will be applied only to the texts in test_data.csv that have the value 2 in the subtaskID column.
Output file format
The model will generate a .csv file named output.csv, with the following 3 columns:
subtaskID–1for the source of the text (AI vs. Human),2for the topic classification.datapointID– the value from theIDcolumn of the text in the input file.answer– the label predicted by the model (in numeric format:0/1for subtask 1, or a string for subtask 2).
Example output.csv:
subtaskID,datapointID,answer
1,101,0
1,102,1
2,101,SCIENCE
2,102,CRIME
...
For the complete format, see the file sample_output.csv.
Training file – train_data.csv
Column format:
| Column | Type | Description |
|---|---|---|
ID |
int |
Unique identifier for each text instance. |
text |
str |
The sentence or paragraph to be analysed. |
label |
int |
The label associated with the text (0/1). |
Examples:
ID,text,label
1,Acest text este generat de AI.,1
2,Aceasta este o propoziție scrisă de un om.,0
(The two example texts are in Romanian: "This text is generated by AI." and "This is a sentence written by a human.")
Test file – test_data.csv
Column format:
| Column | Type | Description |
|---|---|---|
ID |
int |
Unique identifier for each text instance. |
subtaskID |
int |
Value 1 or 2, indicating which subtask the prediction is for. |
text |
str |
The sentence or paragraph to be classified. |
Summary:
| File | Purpose | Columns |
|---|---|---|
train.csv |
Training the models | ID, text, label |
test.csv |
Prediction + classification | ID, subtaskID, text |
Scoring
Subtask 1 – AI vs Human classification (F1-score)
| F1-score (%) | Points awarded |
|---|---|
| ≥ 95 | 60 points |
| 70 – 94.99 | between 10 and 50 |
| < 70 | 0 points |
The score is computed from the macro-averaged F1 and converted into points by linear interpolation within the corresponding interval.
Subtask 2 – Topic classification (Accuracy)
| Accuracy (%) | Points awarded |
|---|---|
| < 25 | 5 points |
| 25 – 49.99 | between 5 and 10 |
| 50 – 79.99 | between 10 and 20 |
| 80 – 96.99 | between 20 and 35 |
| ≥ 97 | 40 points |
The accuracy (accuracy_score) is converted into a score by linear interpolation within the interval into which it falls.
Translated by SOTA. The Romanian original is the official version and wins wherever the two differ. The two example rows of train_data.csv are kept in Romanian and glossed. The summary table calls the files train.csv and test.csv, as in the original; the data files are train_data.csv and test_data.csv. Published with the permission of Asociația Nitro, which runs ROAI (17 September 2026). If you organise this olympiad and would like the translation removed, email [email protected] and we will take it down.
At a glance
- You get
train_data.csv(ID, text, label 0/1) andtest_data.csv(ID, subtaskID, text).- You submit
output.csvwith subtaskID, datapointID (text ID) and answer (0/1 for subtask 1, topic string for subtask 2).- Scoring
- Subtask 1 (60 points): macro-F1; ≥ 95% gives 60, 70–94.99% gives 10–50 by linear interpolation, below 70% gives 0. Subtask 2 (40 points): accuracy; below 25% gives 5, 25–49.99% gives 5–10, 50–79.99% gives 10–20, 80–96.99% gives 20–35, ≥ 97% gives 40.
- Rules
- On-site; the Ministry of Education regulation for the 2025 olympiad applies
- Only submissions ticked during the round count; anti-fraud session locking on the judge
- Format
- ROAI/ONIA 2025 national stage, one paper for both sections, 17 May 2025 (09:30–14:15 UTC on the judge; 5-hour test).