Skip to content

Analyse de domaines culturels dans Potato : listes libres, triades, tris en piles et consensus

Menez des listes libres, des tests de triades et des tris en piles dans Potato, et exportez le S de Smith, le CSI de Sutrop, des matrices de similarité et un modèle de consensus culturel à partir des réponses.

L'analyse de domaines culturels étudie la façon dont les membres d'un groupe se représentent un ensemble de choses, comme des sortes de fruits, des maladies ou des termes de parenté. Potato 2.12.0 exécute les listes libres, les tests de triades, les tris en piles et les questionnaires vrai/faux comme des questions d'une étude, et son export cultural_domain calcule à partir des réponses des indices de saillance, des matrices de similarité et un modèle de consensus culturel.

Les méthodes sont celles que décrivent Weller et Romney dans Systematic Data Collection (1988) :

MéthodeSchéma PotatoCe qu'elle apporte
Listes libresfree_listLes éléments qui appartiennent au domaine, et la saillance de chacun
Triadestriad_testLa similarité entre éléments, deux à deux
Tris en pilescard_sortLa similarité entre éléments, deux à deux, et l'accord entre informateurs
Questionnairesradio, select, likertLes données d'entrée d'une analyse de consensus culturel

Listes libres

yaml
annotation_schemes:
  - annotation_type: free_list
    name: fruit_freelist
    description: List all the kinds of fruit you can think of.
    instructions: >-
      Type one kind of fruit, then press Enter. Keep going until you cannot
      think of any more.
    min_items: 3
    max_items: 60
    normalize: true
    label_requirement:
      required: true
OptionValeur par défautSignification
instructionsaucuneTexte affiché sous la consigne
min_itemsaucuneLa liste reste incomplète tant qu'elle ne contient pas ce nombre d'éléments
max_itemsaucuneLe champ de saisie est désactivé dès que la liste atteint ce nombre d'éléments
time_limit_saucuneUn compte à rebours en secondes. Le participant appuie sur Start, et la liste se verrouille à la fin du temps imparti
allow_duplicatesfalseSi false, un élément déjà présent dans la liste (sans tenir compte de la casse ni des espaces) est refusé avec un message
normalizefalsetrue, ou une liste de lowercase et trim. Appliqué par l'export, jamais à ce qui est stocké
placeholder"Type an item, then press Enter"Texte indicatif dans le champ de saisie

Chaque élément est stocké avec le temps écoulé depuis le début de la liste. L'horloge ne tourne que pendant l'affichage de la page, et une liste chronométrée enregistre son temps écoulé toutes les cinq secondes ; quitter la page fait donc regagner au plus cette durée. Une liste libre se place généralement sur une page de questionnaire ; mettez la même entrée dans le fichier de questions de la page.

Tests de triades

Le domaine provient de la configuration, ou d'une liste contenue dans chaque item :

yaml
annotation_schemes:
  - annotation_type: triad_test
    name: triads
    description: Triads
    labels: [apple, banana, cherry, grape, lemon, lime, mango]
yaml
annotation_schemes:
  - annotation_type: triad_test
    name: triads
    description: Triads
    items_field: items

Un domaine compte de 3 à 60 éléments, et un test de triades sur une page de questionnaire a besoin de labels, car une page de questionnaire n'a pas d'item. question vaut par défaut "Which is most different?", et max_triads plafonne le nombre de triades posées.

designTriadesQuand auto l'utilise
completeChacune des C(n, 3) triadesTant qu'il y en a au plus 20 (n ≤ 6) et que max_triads le permet
steinern(n - 1)/6 triades, chaque paire d'éléments figurant ensemble dans exactement uneQuand n vaut 1 ou 3 modulo 6 (7, 9, 13, 15, 19, 21, ...) et que max_triads le permet
samplemax_triads triades, ou sans cette option, assez pour que chaque paire apparaisse au moins une foisDans les autres cas

steiner est un plan en blocs incomplets équilibrés avec λ = 1 (un système de triplets de Steiner). Il n'existe que pour ces valeurs de n ; le demander ailleurs est donc une erreur de validation quand le domaine est dans labels, et se replie sur sample pour un domaine items_field. sample choisit les triades une à une, en prenant à chaque étape la triade inutilisée dont les paires sont apparues le moins souvent jusque-là. Avec un max_triads fixe, le nombre d'apparitions des paires reste proche de l'égalité mais peut différer de deux.

Tous les participants répondent aux mêmes triades, car le plan ne dépend que du domaine. L'ordre des triades et la position des éléments dans chaque triade sont mélangés par participant avec une graine, de sorte qu'un rechargement montre la même séquence. Les participants cliquent sur un élément ou appuient sur 1, 2 ou 3.

Une étude avec les trois méthodes

examples/advanced/cultural-domain/ enchaîne les étapes dans une seule étude :

  1. une page préalable avec une liste libre ("List all the kinds of fruit you can think of") ;
  2. deux items, neuf fruits et sept légumes, chacun avec un test de triades et un tri en piles ouvert sur la liste de l'item ;
  3. une page finale de huit affirmations vrai/faux pour une analyse de consensus.
bash
python potato/flask_server.py start examples/advanced/cultural-domain/config.yaml -p 8000

Dans une véritable étude, les listes libres viennent généralement en premier, et les éléments des triades et des tris en piles sont choisis ensuite à partir d'elles, ce qui suppose deux déploiements. L'exemple réunit les trois pour qu'on puisse l'essayer de bout en bout.

Exporter l'analyse

bash
python -m potato.export --config config.yaml --format cultural_domain --output out/ \
    --option consensus_schemes=cc_tomato,cc_lemon_sweet,cc_banana_tree \
    --option synonyms=data/synonyms.csv
OptionValeur par défautSignification
normalizele normalize de chaque schématrue, false, ou lowercase et trim (séparés par des virgules), appliqué aux éléments des listes libres avant le décompte
synonymsaucuneUn CSV de lignes variant,canonical, appliqué après la normalisation
consensus_schemesaucuneNoms de schémas, séparés par des virgules, pour l'analyse de consensus
consensus_choicesle nombre d'étiquettesLe nombre d'options L pour les questions dont le schéma a moins d'étiquettes que ce nombre
consensus_min_answers2Les informateurs ayant moins de réponses sont exclus de l'analyse de consensus

Saillance des listes libres

freelist_items.csv contient une ligne par élément listé, avec l'utilisateur, l'élément normalisé, ce qui a été saisi, son rang, la longueur de la liste et le moment où il a été ajouté. salience.csv contient une ligne par élément et par domaine, du plus saillant au moins saillant, avec N (les listes non vides), F (les listes qui mentionnent l'élément), le pourcentage d'informateurs, le rang moyen, le S de Smith et l'indice de saillance cognitive de Sutrop (2001). Pour l'élément j, où la liste i a pour longueur L_i et mentionne j au rang r_ij :

text
S_j   = (1/N) × Σ_i (L_i − r_ij + 1) / L_i     (sum over lists that mention j)
CSI_j = F_j / (N × mean rank of j)

Avant le décompte, chaque élément est normalisé si on le demande et passe par la table de synonymes. Un élément qui apparaît alors deux fois dans une même liste compte une seule fois, à son premier rang. Ajoutez les formes plurielles au fichier de synonymes, comme apples,apple, pour qu'elles ne soient pas comptées séparément.

Similarité des tris en piles et des triades

À partir de chaque réponse card_sort, l'export construit une matrice élément par élément qui porte un 1 là où deux éléments partagent une pile. pilesort_cooccurrence_<scheme>_<item>.csv contient la part des informateurs qui ont mis chaque paire dans une même pile, parmi les informateurs qui ont trié les deux éléments, et pilesort_informants_<scheme>_<item>.csv contient la proportion de paires d'éléments que deux informateurs donnés ont traitées de la même façon.

Dans une triade (a, b, c) où c a été choisi comme le plus différent, la paire (a, b) est jugée similaire. triads_similarity_<scheme>.csv donne, pour chaque paire, le nombre de fois où elle a été jugée similaire divisé par le nombre de fois où elle a été présentée ensemble. Avec un plan de Steiner, chaque paire apparaît dans une triade par informateur ; la similarité d'une paire est donc la proportion d'informateurs qui l'ont laissée ensemble.

Consensus culturel

Le modèle de consensus (Romney, Weller et Batchelder, 1986) cherche à savoir si un groupe d'informateurs partage un même corpus de connaissances, quelle part chaque informateur en possède (sa compétence), et quelles sont les réponses culturellement correctes. Un schéma radio, select ou likert nommé dans consensus_schemes fournit une question par item, ou une seule question quand il se trouve sur une page de questionnaire.

  1. Accord. Pour les informateurs i et j, la proportion de réponses concordantes est corrigée de la devinette parmi L options.
  2. Compétence. Les compétences sont les saturations sur le premier facteur de la matrice d'accord corrigée, estimées par factorisation en axes principaux itérée.
  3. Une seule culture. Les valeurs propres sont rapportées. Un rapport entre la première et la deuxième supérieur à 3 est la règle empirique habituelle pour conclure à une culture partagée, et c'est une règle empirique, pas un test.
  4. Clé de réponses. Suivant Batchelder et Romney (1988), l'export donne pour chaque question la réponse culturellement correcte la plus probable, avec sa probabilité a posteriori.

consensus_informants.csv, consensus_answers.csv et consensus_summary.json contiennent les résultats. Il faut au moins trois informateurs, et avec peu de questions les estimations de compétence sont bruitées, car le modèle est conçu pour des questionnaires de plusieurs dizaines de questions. Les schémas multiselect sont refusés pour le consensus, puisqu'un informateur peut donner plusieurs réponses à une même question ; utilisez donc un radio par affirmation.

Références

  • Weller, S. C., & Romney, A. K. (1988). Systematic Data Collection. Sage.
  • Romney, A. K., Weller, S. C., & Batchelder, W. H. (1986). Culture as consensus: A theory of culture and informant accuracy. American Anthropologist, 88(2), 313-338.
  • Batchelder, W. H., & Romney, A. K. (1988). Test theory without an answer key. Psychometrika, 53(1), 71-92.
  • Sutrop, U. (2001). List task and a cognitive salience index. Field Methods, 13(3), 263-276.

Pour aller plus loin

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