R
RasidMonitoring hate speech and incitement against migrants and refugees in Libya

Rasid monitors hate speech and incitement against migrants, refugees and UN agencies in Libyan public content, built for protection actors and their partners.

The purpose is to document what is said about people, not to track who says it.

What passes through the platform — last 30 days

4,146posts collected
3,860classified against the codebook
1,294on the hate scale
174alerts raised

102 sources read publicly

How it works

  1. 01CollectPublic posts and comments from Facebook groups and pages, TikTok, Telegram channels and groups, and X search. Author identities are hashed at capture.
  2. 02ClassifyEvery item is classified automatically against a published codebook: one class, a severity, and who is targeted.
  3. 03AdjudicateA human adjudicates a sample each round. Disagreements become written rulings in the codebook, and the agreement rate is published per class.
  4. 04AlertText rules — not the classifier — raise alerts: dated ultimatum, threat, call for violence, location exposure, statement attributed to an institution, volume spike.

Classes v0.2 + rulings 1–42

H1Dehumanisation / slurDehumanisation or a direct slur91% · 33
H2Incitement to violenceIncitement to a concrete violent act93% · 45
H3Incitement to exclusionIncitement to exclusion: that they leave, be expelled, or be denied73% · 139
H4Hostile generalisationA hostile generalisation that describes the group without demanding they go84% · 96
M1Misinformation — settlementSettlement misinformation: figures, grants, cards, secret deals93% · 42
M2Misinformation — otherOther misleading framing, including tying the group to an external plot88% · 26
P1Policy oppositionLegitimate opposition — to a policy, a government, or organisations100% · 18
C1Counter-speechCounter-speech: pushing back on the hostility itself86% · 22
N1NeutralOn-topic and neutral — news or a report98% · 42
N2Migrant voiceThe targeted group speaking for itself95% · 20
XUnusableOff topic — nothing to do with migrants or the campaign93% · 96

The last column is how often the model agreed with the human adjudicator on the operative question — is this text hate speech or not — and how many labels that is measured from. Classes whose sample has not reached the floor show a dash rather than a number that cannot be measured.

Severity

S3An explicit call to kill, burn or attack; a dated ultimatum with weapons; approval under a real violence video
S2A slur, a call to expel or evict or denounce, a location exposure, a forged statement, an ultimatum without violence language
S1A hostile generalisation, mild contempt, a vague settlement claim, low reach
S0No severity — policy opposition, counter-speech, neutral, migrant voice, unusable

Targets

AFR Black AfricansSDN SudaneseTCD ChadiansNER NigeriensNGA NigeriansERI EritreansETH EthiopiansSOM SomalisEGY EgyptiansBGD BangladeshisSYR SyriansPSE PalestiniansMIG Migrants (general)UN UNGOV GovernmentACT Activists / Libyans who push back

What the platform will not do

  1. 01Author identities are hashed at capture. The platform holds no identities and offers no way to resolve them.
  2. 02No raw export. Subscribers see aggregates, labelled excerpts and alerts only.
  3. 03Locations of individuals and organisations are always withheld — the occurrence is shown, never the content.
  4. 04Every label carries the codebook version and the human/model agreement rate behind it.
579 human-adjudicated labels · 86.7% hate/not-hate agreementA Rakeeza product