Skip to content

Análisis de dominios culturales en Potato: listados libres, tríadas, clasificaciones en montones y consenso

Realiza listados libres, pruebas de tríadas y clasificaciones en montones en Potato, y exporta la S de Smith, el CSI de Sutrop, matrices de similitud y un modelo de consenso cultural de las respuestas.

El análisis de dominios culturales estudia cómo piensan los miembros de un grupo sobre un conjunto de cosas, como tipos de fruta, enfermedades o términos de parentesco. Potato 2.12.0 ejecuta listados libres, pruebas de tríadas, clasificaciones en montones y cuestionarios de verdadero/falso como preguntas de un estudio, y su exportación cultural_domain calcula índices de prominencia, matrices de similitud y un modelo de consenso cultural a partir de las respuestas.

Los métodos son los que describen Weller y Romney en Systematic Data Collection (1988):

MétodoEsquema de PotatoQué aporta
Listado librefree_listQué elementos pertenecen al dominio y qué prominencia tiene cada uno
Tríadastriad_testSimilitud elemento a elemento
Clasificaciones en montonescard_sortSimilitud elemento a elemento, y concordancia entre informantes
Cuestionariosradio, select, likertLa entrada para un análisis de consenso cultural

Listados 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
OpciónValor por defectoSignificado
instructionsningunoTexto que se muestra bajo el enunciado
min_itemsningunoLa lista está incompleta hasta que tiene este número de elementos
max_itemsningunoEl cuadro de entrada se desactiva cuando la lista tiene este número de elementos
time_limit_sningunoUna cuenta atrás en segundos. El participante pulsa Start, y la lista se bloquea cuando se agota el tiempo
allow_duplicatesfalseSi es false, un elemento que ya está en la lista (sin tener en cuenta mayúsculas ni espacios) se rechaza con un mensaje
normalizefalsetrue, o una lista de lowercase y trim. La aplica la exportación, nunca lo que se guarda
placeholder"Type an item, then press Enter"Texto de marcador de posición en el cuadro de entrada

Cada elemento se guarda con el tiempo transcurrido desde que empezó la lista. El reloj solo corre mientras la página está a la vista, y una lista cronometrada guarda su tiempo transcurrido cada cinco segundos, así que salir de la página devuelve como mucho esa cantidad. Un listado libre suele ir en una página de encuesta; pon la misma entrada en el archivo de preguntas de la página.

Pruebas de tríadas

El dominio procede de la configuración, o de una lista en cada ítem:

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 dominio necesita de 3 a 60 elementos, y una prueba de tríadas en una página de encuesta necesita labels, porque una página de encuesta no tiene ítem. question es por defecto "Which is most different?", y max_triads limita el número de tríadas que se plantean.

designTríadasCuándo lo usa auto
completeTodas las C(n, 3) tríadasMientras haya como mucho 20 (n ≤ 6) y max_triads lo permita
steinern(n - 1)/6 tríadas, con cada par de elementos juntos en exactamente unaCuando n es 1 o 3 módulo 6 (7, 9, 13, 15, 19, 21, ...) y max_triads lo permite
samplemax_triads tríadas o, sin esa opción, las suficientes para que cada par aparezca al menos una vezEn los demás casos

steiner es un diseño de bloques incompletos balanceado con λ = 1 (un sistema de ternas de Steiner). Solo existe para esos valores de n, así que pedirlo en otro caso es un error de validación cuando el dominio está en labels, y recurre a sample cuando el dominio viene de items_field. sample elige las tríadas de una en una, y en cada paso toma la tríada no usada cuyos pares han aparecido menos hasta ese momento. Con un max_triads fijo, los recuentos de pares quedan cerca de ser iguales, pero pueden diferir en dos.

Todos los participantes responden a las mismas tríadas, porque el diseño depende solo del dominio. El orden de las tríadas y la posición de los elementos dentro de cada tríada se barajan por participante con una semilla, así que al recargar se ve la misma secuencia. Los participantes hacen clic en un elemento o pulsan 1, 2 o 3.

Un estudio con los tres métodos

examples/advanced/cultural-domain/ ejecuta los pasos en un solo estudio:

  1. una página previa al estudio con un listado libre ("List all the kinds of fruit you can think of");
  2. dos ítems, nueve frutas y siete verduras, cada uno con una prueba de tríadas y una clasificación en montones abierta sobre la lista del ítem;
  3. una página posterior al estudio con ocho enunciados de verdadero/falso para un análisis de consenso.
bash
python potato/flask_server.py start examples/advanced/cultural-domain/config.yaml -p 8000

En un estudio real los listados libres suelen ir primero, y los elementos para las tríadas y las clasificaciones en montones se eligen después a partir de ellos, lo que supone dos despliegues. El ejemplo pone los tres en uno para que pueda probarse de principio a fin.

Exportar el análisis

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
OpciónValor por defectoSignificado
normalizeel normalize de cada esquematrue, false, o lowercase y trim (separados por comas), aplicado a los elementos de los listados libres antes de contar
synonymsningunoUn CSV de filas variant,canonical, aplicado después de normalizar
consensus_schemesningunoNombres de esquemas separados por comas para el análisis de consenso
consensus_choicesel número de etiquetasEl número de opciones L para las preguntas cuyo esquema tiene menos etiquetas que eso
consensus_min_answers2Los informantes con menos respuestas quedan fuera del análisis de consenso

Prominencia en los listados libres

freelist_items.csv tiene una fila por elemento listado, con el usuario, el elemento normalizado, lo que se escribió, su rango, la longitud de la lista y el momento en que se añadió. salience.csv tiene una fila por elemento y dominio, de más a menos prominente, con N (las listas no vacías), F (las listas que mencionan el elemento), el porcentaje de informantes, el rango medio, la S de Smith y el índice de prominencia cognitiva de Sutrop (2001). Para el elemento j, donde la lista i tiene longitud L_i y menciona j en el rango 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)

Antes de contar, cada elemento se normaliza si se pide y se asocia mediante la tabla de sinónimos. Un elemento que después aparece dos veces en una lista cuenta una sola vez, en su primer rango. Añade las formas de plural al archivo de sinónimos, como apples,apple, para que no se cuenten por separado.

Similitud en las clasificaciones en montones y las tríadas

A partir de cada respuesta card_sort, la exportación construye una matriz elemento por elemento con un 1 donde dos elementos comparten montón. pilesort_cooccurrence_<scheme>_<item>.csv contiene la proporción de informantes que pusieron cada par en un mismo montón, sobre los informantes que clasificaron ambos elementos, y pilesort_informants_<scheme>_<item>.csv contiene la proporción de pares de elementos que cada par de informantes trató igual.

En una tríada (a, b, c) en la que c se eligió como el más diferente, el par (a, b) se considera similar. triads_similarity_<scheme>.csv da, para cada par, el número de veces que se consideró similar dividido entre el número de veces que se mostró junto. Con un diseño de Steiner, cada par aparece en una tríada por informante, así que la similitud de un par es la proporción de informantes que lo dejaron junto.

Consenso cultural

El modelo de consenso (Romney, Weller y Batchelder, 1986) pregunta si un grupo de informantes comparte un mismo cuerpo de conocimiento, cuánto de él tiene cada informante (su competencia) y cuáles son las respuestas culturalmente correctas. Un esquema radio, select o likert nombrado en consensus_schemes aporta una pregunta por ítem, o una sola pregunta cuando está en una página de encuesta.

  1. Concordancia. Para los informantes i y j, la proporción de respuestas coincidentes se corrige por las respuestas al azar entre L opciones.
  2. Competencia. Las competencias son las cargas en el primer factor de la matriz de concordancia corregida, estimadas mediante factorización de ejes principales iterada.
  3. Una sola cultura. Se informa de los autovalores. Un cociente entre el primero y el segundo superior a 3 es la regla práctica habitual para una cultura compartida, y es una regla práctica, no una prueba.
  4. Clave de respuestas. Siguiendo a Batchelder y Romney (1988), la exportación da la respuesta culturalmente correcta más probable de cada pregunta con su probabilidad a posteriori.

consensus_informants.csv, consensus_answers.csv y consensus_summary.json contienen los resultados. Se necesitan al menos tres informantes, y con pocas preguntas las estimaciones de competencia son ruidosas, porque el modelo está pensado para cuestionarios de decenas de preguntas. Los esquemas multiselect se rechazan para el consenso, ya que un informante puede dar varias respuestas a una misma pregunta, así que usa un radio por enunciado.

Referencias

  • 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.

Lecturas adicionales

Para detalles de implementación, consulta la documentación fuente.