Codificação qualitativa no Potato: livros de códigos, memorandos e códigos in vivo
Um olhar sobre o Modo QDA, o espaço de trabalho de análise de dados qualitativos que chega no Potato 2.6: um livro de códigos vivo, codificação in vivo, memorandos analíticos, casos e busca em texto completo sobre um corpus inteiro.
Quem já codificou transcrições de entrevistas conhece a história do software. As ferramentas sérias de análise de dados qualitativos (QDA), como NVivo, ATLAS.ti, MAXQDA e Dedoose, são poderosas e caras. Vivem no desktop, prendem o seu projeto em um arquivo proprietário e transformam a colaboração em uma negociação de licenças. Muitos pesquisadores acabam codificando em uma planilha e, no meio do caminho, perdem o fio da meada, porque uma planilha não faz a menor ideia do que seja um código.
O Potato nasceu do outro lado da cerca, como ferramenta de anotação de texto para conjuntos de dados de PLN e aprendizado de máquina. Ao longo das últimas versões, foi desenvolvendo as peças de que um fluxo de trabalho qualitativo precisa: spans sobre passagens, um livro de códigos compartilhado, métricas de concordância. A próxima versão 2.6 as une em um modo construído para a maneira como os pesquisadores qualitativos realmente trabalham.
Este artigo percorre o Modo QDA: o que ele ativa, como as peças se encaixam e como é uma configuração. Se você procura a referência, a documentação do Modo QDA traz a lista completa de opções.
Potato no Modo QDA
Um único interruptor, padrões qualitativos
A maior parte do maquinário do Potato é compartilhada entre tarefas muito distintas. O mesmo esquema de span que rotula entidades nomeadas em um conjunto de dados de NER pode rotular passagens em uma entrevista. A diferença entre esses dois trabalhos não é o conjunto de recursos, mas a postura. Um projeto de NER por crowdsourcing quer um conjunto fixo de rótulos e amostragem com sobreposição para medir a concordância. Uma pesquisadora que codifica sozinha vinte entrevistas quer inventar códigos à medida que lê e manter notas privadas sobre o que vai observando.
O Modo QDA é o único interruptor que assume essa segunda postura:
qda_mode:
enabled: true # compose codebook + memos + cases + searchDefinir qda_mode.enabled: true muda os recursos universais do Potato para seus padrões qualitativos. O livro de códigos passa a ser editável enquanto você codifica, em vez de ficar travado. A barra lateral de memorandos é ativada. Os casos são ativados, com detecção automática. A codificação in vivo fica disponível em qualquer esquema de span que você marque como apoiado em livro de códigos.
| Recurso | Padrão estândar | No Modo QDA |
|---|---|---|
| Modo do livro de códigos | fixed | open: adicione, renomeie, recolora, mova ou exclua códigos conforme avança |
| Barra lateral de memorandos | desativada | ativada |
| Casos | desativados | ativados, com detecção automática |
| Busca-e-reivindicação por anotador | desativada | disponível (search.annotator_claim: true) |
| Tecla de codificação in vivo | i | ativa em qualquer esquema de span apoiado em livro de códigos |
Nada disso fica travado em definitivo. O Modo QDA apenas muda o ponto de partida; cada padrão pode ser sobrescrito. A única exceção é uma proteção: se você acoplar um backend de crowdsourcing como Prolific ou Mechanical Turk, o Potato trava à força o livro de códigos em fixed, para que anotadores remunerados não possam remodelar o esquema compartilhado pelas suas costas.
As peças
Um livro de códigos vivo
Na codificação ao estilo da teoria fundamentada, o livro de códigos não é algo que você redige de antemão. Ele cresce conforme você lê. Você nota uma ideia recorrente, dá-lhe um nome e, uma semana depois, percebe que dois dos seus códigos são, na verdade, o mesmo e os funde.
Um esquema de span passa a fazer parte do livro de códigos quando você o marca:
annotation_schemes:
- annotation_type: span # span + codebook = qualitative coding
name: codes
description: Highlight a passage and apply (or mint, via `i`) a code
codebook: true
labels: [access barriers, cost concerns, provider trust]Esses labels são um conjunto inicial, não uma jaula. No modo open do livro de códigos, você adiciona, renomeia, recolora, move e exclui códigos enquanto trabalha. O modo extensible permite que os codificadores adicionem códigos, mas não excluam os compartilhados; fixed é o clássico travado, para quando você já fixou um esquema.
Codificação in vivo
A codificação in vivo toma as próprias palavras do participante como código. Alguém diz «eu simplesmente não conseguia que me retornassem a ligação», e «que me retornassem a ligação» vira o código, ao pé da letra.
Selecione uma passagem em um esquema de span apoiado em livro de códigos e pressione a tecla in vivo (codebook_invivo_key, padrão i). O Potato cunha um código diretamente a partir do texto destacado. À medida que você faz isso por um corpus inteiro, a fragmentação se torna a inimiga: você acaba com «sem retorno», «não conseguia que me retornassem a ligação» e «nunca retornaram» como três códigos para uma única ideia. O compositor de códigos contra-ataca isso fazendo emergir códigos quase duplicados enquanto você digita, para que reutilize um código existente em vez de gerar outro.
Memorandos
Codificar sem notas faz perder o raciocínio por trás dos códigos. Memorandos são notas analíticas anexadas a uma instância ou a uma seleção de texto específica. Você pode mantê-los privados ou compartilhá-los com a equipe. É onde mora o «por que codifiquei isto assim», e eles são exportados junto com as citações, para que a sua trilha de auditoria sobreviva ao projeto.
Casos
Um caso agrupa excertos em uma unidade de análise: um participante, um documento, uma visita de campo. Uma vez agrupados os excertos, os atributos no nível do caso são elevados para que você possa tabular os códigos em relação às variáveis dos participantes. Se cada entrevista carrega um campo condition, a tabela cruzada da administração pode mostrar como um código se distribui entre as condições.
cases:
enabled: true
key: participant_id
attributes: [condition]Busca
Um corpus só é navegável se você puder saltar para qualquer menção de uma palavra. O Modo QDA inclui busca em texto completo FTS5 sobre o conjunto de dados inteiro. Com annotator_claim: true, um codificador pode puxar qualquer resultado da busca diretamente para a sua própria fila, que é como um único analista percorre um corpus por tema em vez de lê-lo estritamente do começo ao fim.
search:
enabled: true
annotator_claim: trueComo tudo se encaixa
Por baixo dos panos, o livro de códigos, os memorandos, os casos e a busca leem e escrevem no mesmo banco de dados do projeto, de modo que um código cunhado em um lugar fica imediatamente pesquisável e exportável em todos os demais.
Como o Modo QDA compõe suas peças sobre um armazenamento compartilhado
Uma configuração completa
Aqui está um estudo pequeno, mas completo. Os blocos cases, search e de memorandos são opcionais (o Modo QDA já ativa casos e memorandos), então você só os escreve para ajustar um padrão como a chave do caso.
annotation_task_name: My Qualitative Study
task_dir: .
output_annotation_dir: annotation_output/
data_files:
- data/interviews.json
item_properties:
id_key: id
text_key: text
qda_mode:
enabled: true
codebook_invivo_key: i
cases:
enabled: true
key: participant_id
attributes: [condition]
search:
enabled: true
annotator_claim: true
annotation_schemes:
- annotation_type: span
name: codes
description: Highlight a passage and apply (or mint, via `i`) a code
codebook: true
labels: [access barriers, cost concerns, provider trust]Execute-a a partir da raiz do repositório depois que a 2.6 estiver instalada:
python potato/flask_server.py start examples/advanced/qda-mode-example/config.yaml -p 8000Recuperando a sua codificação
Dois exportadores transformam os dados codificados nos resultados de que um artigo qualitativo precisa:
codebookdá uma linha por código, com sua hierarquia, descrição, cor e contagem de usos.quotation_reportdá uma linha por span codificado: a citação, seus deslocamentos de caractere, a instância de origem e o codificador. Acrescenteinclude_memos=truepara anexar os seus memorandos.
python -m potato.export config.yaml --format quotation_report \
--option include_memos=true -o quotations.csvSe mais de uma pessoa codifica o mesmo material, você vai querer um número de confiabilidade. O Potato relata os kappa de Cohen e de Fleiss sobre os códigos, recurso que chegou na versão 2.5 junto com esses exportadores.
Onde isto se encaixa
O Modo QDA não tenta superar o NVivo em recursos em todos os eixos. O que ele oferece é uma troca diferente: gratuito, de código aberto, baseado na web e colaborativo, alojado na mesma ferramenta que a sua anotação para aprendizado de máquina e a sua avaliação de agentes. Se o seu laboratório já roda o Potato para rotulagem, a codificação qualitativa está agora a um bloco de configuração de distância, e não mais à de um software de desktop licenciado à parte.
O Modo QDA chega no Potato 2.6. A documentação completa cobre todas as opções, e o guia de concordância entre anotadores explica as métricas de confiabilidade.