Skip to content

Analyse de contenu quantitative dans Potato : livres de codes et alpha de Krippendorff

Codez des articles, des publications ou des discours selon un livre de codes chargé depuis un CSV dans Potato, affectez plusieurs codeurs par unité, et exportez l'alpha de Krippendorff avec des intervalles bootstrap.

Une analyse de contenu quantitative code des unités comme des articles, des publications, des discours ou des titres selon un livre de codes, avec au moins deux codeurs sur un échantillon, et rapporte la fiabilité inter-codeurs par variable. Dans Potato 2.12.0, le livre de codes peut être chargé depuis un fichier CSV, JSON ou YAML, et l'export reliability écrit l'alpha de Krippendorff par question avec un intervalle bootstrap.

L'analyse de contenu s'entend ici au sens de la méthode des sciences sociales de Krippendorff et d'autres : un livre de codes définit les variables et leurs catégories, des codeurs l'appliquent aux unités, et un coefficient d'accord corrigé du hasard, calculé sur un échantillon codé deux fois, montre si le livre de codes peut être appliqué de façon fiable. Dans Potato :

  • le livre de codes est une question hierarchical_multiselect chargée depuis un fichier (taxonomy_file), ou des questions radio et multiselect ordinaires ;
  • max_annotations_per_item: 2 ou plus donne plusieurs codeurs à chaque unité ;
  • --format reliability écrit le tableau de fiabilité.

Charger un livre de codes depuis un fichier

yaml
annotation_schemes:
  - annotation_type: hierarchical_multiselect
    name: topic
    description: Which topics does the headline cover?
    taxonomy_file: codebooks/topics.csv
    show_codes: true
    show_search: true
csv
code,label,parent,description
1,Economy,,"Taxes, jobs, prices and the budget"
101,Taxes,1,
102,Jobs and wages,1,
2,Environment,,
201,Climate,2,Climate change and emissions

Chaque ligne est un code : code, label, parent (le code du parent, vide au premier niveau) et une description facultative, affichée comme info-bulle du code. L'ordre est conservé. show_codes: true affiche 101 Taxes au lieu de Taxes. Un fichier JSON ou YAML contenant directement la taxonomie fonctionne aussi. Sélection multiple hiérarchique décrit les autres options du schéma.

Les livres de codes publiés ne sont pas fournis. Les thèmes du Comparative Agendas Project et les catégories du Manifesto Project peuvent être écrits dans ce format pour votre propre usage, mais Potato ne les distribue pas : le livre de codes du Comparative Agendas Project est sous licence CC BY-NC-SA, et les conditions du Manifesto Project n'autorisent pas la redistribution. Fournissez votre propre copie.

Affecter deux codeurs ou plus par unité

max_annotations_per_item fixe le nombre de codeurs qui voient chaque unité. Un plan courant fait coder par tous les codeurs un échantillon de fiabilité commun, et le reste des unités une seule fois. De combien d'annotateurs avez-vous besoin ? et Attribution des tâches décrivent les stratégies d'affectation, et /admin/iaa affiche l'accord pendant le codage.

Exporter la fiabilité

bash
python -m potato.export --config config.yaml --format reliability --output ./export/

L'export écrit reliability.csv et reliability.md (le même tableau en Markdown), avec une ligne par question :

ColonneSignification
levelNiveau de mesure : nominal (radio, select), ordinal (likert), d'intervalle (number, slider, VAS), ou MASI pour multiselect et la sélection multiple hiérarchique, avec un crédit partiel pour les ensembles qui se chevauchent
alphaL'alpha de Krippendorff sur les unités codées par deux codeurs ou plus
ci95_low, ci95_highUn intervalle bootstrap par percentiles, qui rééchantillonne les unités avec remise (bootstrap rééchantillonnages, 1000 par défaut, avec graine)
percent_agreementPart des paires de codeurs sur une unité qui ont donné la même réponse
units, coders, pairable_valuesCe sur quoi repose le coefficient

Le bootstrap rééchantillonne les unités, et ce n'est pas le bootstrap fondé sur les coïncidences de Hayes et Krippendorff (2007). Krippendorff (2004) suggère de s'appuyer sur les variables dont l'alpha atteint au moins 0,800 et de ne tirer que des conclusions provisoires jusqu'à 0,667. Potato rapporte les chiffres et vous laisse ce jugement.

L'arbitrage résout les désaccords une fois la fiabilité établie, et L'accord inter-annotateurs expliqué présente les coefficients.

Exemple

bash
python potato/flask_server.py start examples/classification/codebook-content-analysis/config.yaml -p 8000

Pour aller plus loin

Pour les détails d'implémentation, consultez la documentation source.