How to Analyze ACLED’s Notes Column using Natural Language Processing (NLP)
The article is ACLED's guide to analysing the free-text 'Notes' column in its dataset with keyword searches and few-shot classification (SetFit).
Full analysis The complete summary ⌄
The article is ACLED's guide to analysing the free-text 'Notes' column in its dataset with keyword searches and few-shot classification (SetFit). It matches the version on ACLED's website. Its main methodological claims are confirmed by ACLED's own codebook and fatality documentation and by Hugging Face's SetFit documentation. Those claims are that 'Notes' gives a short narrative of each event, that ACLED records the most conservative fatality estimate and does not code injuries, and that SetFit needs little labelled data. Of the four example events, three are independently confirmed in their main details. The two Mexican cases are confirmed: Miriam Nohemí Ríos (11 Jan 2024) and Faustino Hernández Álvarez (30 Sep 2024, a 2021 PRI mayoral candidate). The Tindouf drone strike of 28 May 2024 is confirmed, but reported death tolls range from two to 'more than ten'. ACLED's '10–12' figure fits witness accounts, not FORSATIN's count of three. The Burkina Faso ambush at Gassel could not be checked against any independent source. Several technical problems were found. The stemming example ('voting', 'voter' → 'vot') does not match the Porter stemmer used in the article's own code. The Python apply_model function has a 'return' outside the function, which is a syntax error. The training code uses the legacy SetFitTrainer API and an undefined variable ('selected_sector'). The label 'fuzzy matching' actually describes plain substring matching, which produces false positives (e.g., 'poll' matches 'pollution'). The headline counts (206 of 4,019 events, and the ≤100 training examples per class) are internal ACLED results and cannot be checked from outside.
What checked out (12)
- The article is published on ACLED's methodology site as 'How to Analyze ACLED's Notes Column using Natural Language Processing (NLP)'. Source: https://acleddata.com/methodology/how-analyze-acleds-notes-column-using-natural-language-processing-nlp
- The ACLED dataset includes a 'notes' column containing a short description of each event. Source: ACLED Codebook 2023, https://acleddata.com/sites/default/files/wp-content-archive/uploads/dlm_uploads/2023/06/ACLED_Codebook_2023.pdf
- ACLED records a conservative fatality estimate. Where sources conflict, it codes the most conservative figure and tries to note the dispute in 'Notes'. Sources: https://acleddata.com/methodology/fatalities ; https://acleddata.com/sites/default/files/wp-content-archive/uploads/2023/01/FAQs-ACLED-Fatality-Methodology_2023.pdf
- ACLED does not collect injury data in structured form, but injuries may be mentioned in 'Notes'. This supports the article's point that injury counts can only be extracted from 'Notes'. Source: https://acleddata.com/methodology/fatalities
- An Algerian army drone strike hit Sahrawi gold miners near the Dakhla camp area (Tindouf) on 28 May 2024. Several outlets report the event and date, citing FORSATIN. Sources: https://www.yabiladi.com/articles/details/150236/tindouf-l-armee-algerienne-nouveau-orpailleurs.html ; https://fr.le360.ma/politique/tindouf-des-orpailleurs-sahraouis-tues-par-un-drone-de-larmee-algerienne_HQH7KZQKXJGRTILNKK2KN3LXYY/ ; https://northafricapost.com/77697-algerian-army-kills-sahrawi-miners-near-tindouf.html
- On 11 January 2024, Miriam Nohemí Ríos Ríos, a Movimiento Ciudadano municipal commissioner and trans woman, was shot dead at her business premises in Jacona, Michoacán. Sources: https://www.tvazteca.com/aztecanoticias/asesinan-a-miriam-rios-rios-activista-y-comisionada-movimiento-ciudadano-en-michoacan ; https://lasillarota.com/estados/2024/1/11/quien-es-miriam-rios-dirigente-trans-de-mc-asesinada-en-michoacan-380211.html ; https://www.informador.mx/mexico/Michoacan-Asesinan-a-Miriam-Rios-comisionada-trans-de-Movimiento-Ciudadano-20240111-0146.html
- On 30 September 2024, Faustino Hernández Álvarez, president of the Unión Ganadera Regional de Sinaloa, was shot dead in Culiacán. He had run for mayor of Culiacán for the PRI in 2021, consistent with 'former candidate in 2021'. Sources: https://www.jornada.com.mx/noticia/2024/09/30/estados/asesinan-al-presidente-de-la-union-ganadera-regional-de-sinaloa-2086 ; https://www.yucatan.com.mx/mexico/2024/09/30/asesinan-al-presidente-de-la-union-ganadera-regional-de-sinaloa.html ; https://riodoce.mx/2024/09/30/asesinan-a-faustino-hernandez-alvarez-lider-de-los-ganaderos/
- SetFit is a framework for training text classifiers with very little labelled data, and it supports multilingual tasks. Source: Hugging Face SetFit conceptual guide, https://huggingface.co/docs/setfit/conceptual_guides/setfit
- SetFit supports multi-label classification through the multi_target_strategy argument. Sources: https://huggingface.co/docs/setfit/reference/main ; https://github.com/Connatix/huggingface-setfit
- 'Lathi' is the term for the bamboo baton used by Indian (and other South Asian) police, so it is a valid example of a localised keyword. Sources: https://en.wikipedia.org/wiki/Lathi ; https://lethalindisguise.org/case-studies/india/
- INE stands for Instituto Nacional Electoral, Mexico's electoral body, so it is a relevant keyword. Sources: https://en.wikipedia.org/wiki/National_Electoral_Institute ; https://www.wilsoncenter.org/article/mexicos-national-electoral-institute-explainer
- Porter stemming turns 'candidate' into 'candid', 'rally' into 'ralli', 'nominee' into 'nomine', 'electoral' into 'elector' and 'election' into 'elect'. This matches the article's 'With Stemming' list. Checked by running NLTK PorterStemmer in the sandbox.
Disputed claims 4 claims ⌄
- DISPUTED (partly inaccurate): The stemming example says 'Voting', 'voter' → 'vot'. In the sandbox, NLTK PorterStemmer and Snowball both return 'vote' and 'voter'; only the Lancaster stemmer gives 'vot'. The article's own code uses PorterStemmer, so the example misrepresents what that code does. Evidence: reproducible NLTK test (primary computational evidence).
- INACCURATE CODE: In the Python apply_model snippet, 'return df_large' sits at module level (unindented). Python rejects this with "SyntaxError: 'return' outside function", checked by compiling the equivalent structure in the sandbox. The training snippet also refers to an undefined variable 'selected_sector' and uses pandas ('pd') without importing it.
- OUTDATED API: The training snippet uses SetFitTrainer with num_iterations and num_epochs passed directly. The official SetFit v1.0.0 migration guide says to replace SetFitTrainer with Trainer and to stop passing these hyperparameters to the trainer. The code works only with legacy versions or deprecated interfaces. Sources: https://huggingface.co/docs/setfit/en/how_to/v1.0.0_migration_guide ; https://github.com/huggingface/setfit/pull/265
- MISLABELLED METHOD (presentation): The snippets labelled 'Fuzzy Matching' actually do case-insensitive substring regex matching, not approximate (edit-distance) matching. A sandbox test showed the pattern 'poll' matching 'pollution protest', a false positive the article does not flag. The R 'Fuzzy Matching' comment also says it uses word boundaries when the code does not, and the filter line is duplicated.
Unverified claims 8 claims ⌄
- The Gassel ambush (30 May 2024): JNIM militants ambushed gendarmes near Gassel (Bani, Seno), killing 9, injuring 22, with one missing. Gassel is a real locality in Séno, Burkina Faso, but no independent news report of this incident was found. Unverified; Burkina Faso's restrictive media environment limits reporting.
- The Tindouf death toll of 'between 10 and 12'. Sources disagree: FORSATIN reported three dead; Barlamane reported two; Yabiladi cited witness estimates of about 10; Le360 cited 'more than ten' victims; a later Morocco World News piece said nine. ACLED's range fits the witness accounts but is not independently confirmed. The claim that Mauritanian miners were among the dead was also not confirmed for this event. Note too that the Dakhla camp is described as about 200 km from the main Tindouf camps.
- The search output of '206 election-related events among 4,019 VAC events in Mexico (2024-01-01 to 2024-10-11)'. This needs ACLED dataset access and could not be reproduced.
- That Miriam Ríos 'intended to be a candidate for councillor in the next electoral process'. The killing is confirmed, but this detail was not found in the sources reviewed. One outlet (Infobae) gives the location as Zamora rather than Jacona; the two municipalities are neighbours, so this is a minor discrepancy.
- That in ACLED's own application, no class needed more than 100 training examples. This is an internal result and cannot be checked from outside.
- That zero-shot models are 'often too inaccurate' for ACLED data. This is ACLED's own judgement with no published benchmark.
- That BERT-family models need 'hundreds of training examples' for high performance. This is plausible and broadly consistent with SetFit's documented comparison against full RoBERTa fine-tuning, but no exact threshold was found.
- That lemmatisation turns 'elected' into 'elect' and 'children' into 'child'. This is standard behaviour for verb- and noun-aware lemmatisers, but the WordNet data was not available in the sandbox, so it was not reproduced.
Sources & how we checked Search journal, source grades, confidence ⌄
Confidence
Medium-High — The core methodological claims are confirmed by ACLED's own documentation and by official SetFit documentation. Three of the four example events are confirmed in their main details. The technical errors were found through deterministic, reproducible sandbox tests and the official migration guide. Confidence is lowered because one example event (Gassel) has no independent confirmation, the Tindouf toll is contested, the headline counts depend on proprietary data that could not be reproduced, sources were reviewed through search extracts rather than full pages, and the SetFit and lemmatisation code could not be run end to end.
Search journal
ACLED Notes column NLP keyword search SetFit
- https://acleddata.com/methodology/how-analyze-acleds-notes-column-using-natural-language-processing-nlp
- https://acleddata.com/methodology/acled-codebook
- https://acleddata.com/sites/default/files/wp-content-archive/uploads/dlm_uploads/2022/06/ACLED_GeneralUserG...
28 May 2024 Algerian army drone gold miners Dakhla refugee camp Tindouf killed
- https://www.moroccoworldnews.com/2024/05/19029/algerian-army-kills-sahrawi-gold-miners-near-tindouf/
- https://www.moroccoworldnews.com/2024/11/168027/algerian-army-kills-sahrawi-and-mauritanian-gold-miners/
- https://northafricapost.com/77697-algerian-army-kills-sahrawi-miners-near-tindouf.html
drone algérien orpailleurs Tindouf mai 2024 morts
- https://fr.le360.ma/politique/tindouf-des-orpailleurs-sahraouis-tues-par-un-drone-de-larmee-algerienne_HQH7...
- https://www.yabiladi.com/articles/details/150236/tindouf-l-armee-algerienne-nouveau-orpailleurs.html
- https://barlamane.com/fr/tindouf-le-fils-dun-responsable-du-polisario-tue-par-un-drone-algerien/
- https://fr.hespress.com/370108-sahara-les-habitants-des-camps-de-tindouf-se-rebellent-contre-lalgerie.html
JNIM ambush gendarmes Gassel Seno 30 May 2024
- https://acleddata.com/methodology/how-analyze-acleds-notes-column-using-natural-language-processing-nlp
- https://en.wikipedia.org/wiki/Mourdiah_attack
Gassel Burkina Faso gendarmes embuscade mai 2024
- https://en.wikipedia.org/wiki/2022_Gaskinde_attack
- https://www.hrw.org/fr/world-report/2026/country-chapters/burkina-faso
Burkina Faso gendarmes tués Bani Séno fin mai 2024 JNIM
- https://en.wikipedia.org/wiki/Eastern_Burkina_Faso_military_convoy_massacres
- https://www.acaps.org/fileadmin/Data_Product/Main_media/20240918_ACAPS_Burkina_Faso_-_Spike_of_violence_in_...
Gassel Burkina Faso attack gendarmes killed
- https://www.africanews.com/2022/06/10/at-least-ten-gendarmes-killed-in-attack-by-suspected-jihadists-in-bur...
- https://en.wikipedia.org/wiki/Gasseliki_massacre
Gassel Seno Burkina Faso
Miriam Nohemí Ríos Jacona asesinada enero 2024 Movimiento Ciudadano
- https://www.informador.mx/mexico/Michoacan-Asesinan-a-Miriam-Rios-comisionada-trans-de-Movimiento-Ciudadano...
- https://lasillarota.com/estados/2024/1/11/quien-es-miriam-rios-dirigente-trans-de-mc-asesinada-en-michoacan...
- https://www.tvazteca.com/aztecanoticias/asesinan-a-miriam-rios-rios-activista-y-comisionada-movimiento-ciud...
- https://www.infobae.com/mexico/2024/08/16/cae-el-foco-presunto-asesino-de-miriam-rios-rios-comisionada-de-m...
Unión Ganadera Regional de Sinaloa líder asesinado Culiacán septiembre 2024
- https://www.yucatan.com.mx/mexico/2024/09/30/asesinan-al-presidente-de-la-union-ganadera-regional-de-sinaloa.html
- https://riodoce.mx/2024/09/30/asesinan-a-faustino-hernandez-alvarez-lider-de-los-ganaderos/
- https://www.jornada.com.mx/noticia/2024/09/30/estados/asesinan-al-presidente-de-la-union-ganadera-regional-...
ACLED codebook notes fatalities conservative estimate
- https://acleddata.com/sites/default/files/wp-content-archive/uploads/dlm_uploads/2023/06/ACLED_Codebook_2023.pdf
- https://acleddata.com/methodology/fatalities
- https://acleddata.com/sites/default/files/wp-content-archive/uploads/dlm_uploads/2024/10/ACLED-Codebook-202...
- https://acleddata.com/sites/default/files/wp-content-archive/uploads/2023/01/FAQs-ACLED-Fatality-Methodolog...
ACLED codebook notes column short summary event
- https://acleddata.com/sites/default/files/wp-content-archive/uploads/dlm_uploads/2023/06/ACLED_Codebook_2023.pdf
- https://www.strausscenter.org/wp-content/uploads/ACLED_Codebook_2015.pdf
SetFit few-shot learning sentence transformers multilingual multi-label
Hugging Face SetFit documentation multilingual multilabel
- https://huggingface.co/docs/setfit/conceptual_guides/setfit
- https://huggingface.co/docs/setfit/reference/main
- https://github.com/Connatix/huggingface-setfit
SetFitTrainer deprecated Trainer setfit v1.0
- https://huggingface.co/docs/setfit/en/how_to/v1.0.0_migration_guide
- https://github.com/huggingface/setfit/pull/265
- https://github.com/huggingface/setfit/issues/179
lathi baton India police
Mexico INE Instituto Nacional Electoral acronym
- https://en.wikipedia.org/wiki/National_Electoral_Institute
- https://www.wilsoncenter.org/article/mexicos-national-electoral-institute-explainer