

# Como verificar a concordância entre dois codificadores de comentários do Reddit

Peça que dois codificadores apliquem, de forma independente, a mesma regra escrita às mesmas unidades de comentário e comparem as decisões salvas antes de discutir as divergências. Um Actor é um programa hospedado de coleta de dados. Uma Task é uma predefinição de entrada salva. O kappa de Cohen é uma pontuação que mede o quanto duas pessoas concordam além do acaso.

## Como montar a amostra de comentários

Comece coletando threads públicas com uma ferramenta de coleta conhecida. A build pública 1.0.7 do Reddit Comments aceita postUrls com 1 a 50 URLs conhecidas de posts públicos do Reddit e maxCommentsPerPost de 1 a 500. Substitua a thread de amostra e altere o limite salvo de 250 para 3 em um piloto.

Revise os campos de OUTPUT, inclusive `commentsSaved`, `duplicatesSkipped`, `hiddenBranchesRemaining`, `completionReason`, `status`, `isComplete`, `inputResults` e, por entrada, `commentsFound`, `commentsSaved`, `status` e `reason`. Trate a conclusão do processamento separadamente da cobertura completa da thread.

Extraia campos do conjunto de dados, inclusive `postId`, `commentId`, `body`, `authorName`, `status`, `statusReason` e `observedAt`. Os valores de status do conjunto de dados são apenas `ok`, `deleted` e `removed`. Mantenha texto indisponível, excluído ou removido, IDs ausentes e falhas de coleta fora das unidades de codificação utilizáveis. Guarde esses itens em um registro separado de decisões ausentes. Conte os IDs conhecidos distintos na sua tabela de trabalho, em vez de procurar um campo de saída de comentários distintos.

O controle AskMarketing da build pública 1.0.7 atual retornou 3 IDs de comentário conhecidos distintos e corpos não vazios, e não a amostra LocalLLaMA salva. O processamento com isComplete true coexiste com entrada parcial/limitada, o que prova uma amostra piloto, e não a cobertura completa da thread. Parent, depth e hiddenBranchesRemaining estavam null e não são usados neste método de codificação.

## Oito passos para a codificação independente e as verificações de concordância

1. Formule a pergunta de pesquisa e uma versão estreita de regra binária, como explicit_current_failure, junto com exemplos positivos, negativos e ambíguos.
2. Escolha a mesma amostra pública finita para os dois codificadores e registre os IDs de comentário conhecidos e as URLs de origem em um registro de trabalho privado.
3. Remova o texto inutilizável da amostra elegível com motivos explícitos e registre esses motivos em um registro de decisões ausentes.
4. Dê a cada codificador o mesmo texto e contexto, a mesma versão da regra e uma ficha de decisão separada para marcar de forma independente, sem ver o trabalho um do outro, permitindo unknown.
5. Una as duas fichas de decisão pelo ID da unidade de comentário conferida, mantendo decisões unknown, absent e invalid no registro de decisões ausentes.
6. Monte uma tabela dois por dois apenas com unidades conhecidas pareadas e calcule a concordância observada, a concordância esperada e o kappa de Cohen.
7. Revise as divergências no contexto de origem depois da passagem independente para esclarecer a regra, mantendo a adjudicação separada da estatística inicial.
8. Salve as fichas independentes originais sem alteração, versione a regra revisada e teste-a em uma amostra nova ou em uma amostra recodificada declarada de forma explícita.

## Como escrever a regra e fazer a codificação independente

Formule a pergunta de pesquisa e uma regra binária estreita. Neste guia, o código é explicit_current_failure. Marque yes para uma falha de produto presente e declarada, e no para texto que não declara uma falha. Forneça exemplos positivos, negativos e ambíguos aos codificadores. Permita unknown quando o texto ou o alvo não puder ser resolvido.

Escolha a mesma amostra pública finita para os dois codificadores. Guarde IDs de comentário conhecidos e URLs de origem em um registro de trabalho privado. Defina um comentário inteiro como uma unidade de codificação. Remova o texto inutilizável da amostra elegível com motivos explícitos. Dê a cada codificador o [mesmo texto e contexto](/pt-BR/articles/como-verificar-o-assunto-de-uma-resposta-no-reddit/), a mesma versão da regra e uma ficha de decisão separada. Os codificadores não devem ver as decisões uns dos outros durante esta passagem. Os codificadores podem marcar unknown; não force uma escolha yes ou no.

## Como calcular a concordância e o kappa

Una as duas fichas de decisão pelo ID da unidade de comentário conferida. Registre a decisão do codificador A, a decisão do codificador B, a versão da regra e se as duas decisões são conhecidas. Uma origem ausente em uma das fichas não é uma divergência. Monte uma tabela dois por dois apenas com unidades conhecidas pareadas.

A concordância observada, escrita como p_o, é a soma das duas contagens da diagonal dividida por n. A concordância esperada, escrita como p_e, é a soma dos produtos das proporções marginais correspondentes dos codificadores. O kappa de Cohen é calculado como (p_o menos p_e) dividido por (1 menos p_e), quando o denominador é diferente de zero. A expectativa vem dessas marginais dos codificadores, e não de um rótulo conhecido de verdade da população.

## Exemplo fictício de auditoria e registros de decisão

Todos os comentários, decisões e contagens abaixo são ficção original. Suponha que existam 22 unidades de texto elegíveis. Vinte unidades têm duas decisões independentes conhecidas, uma tem o codificador A unknown e uma tem o codificador B absent. Somente 20 unidades entram na tabela de concordância.

### Registro fictício de decisões ausentes

| ID da unidade | Codificador A | Codificador B | Versão da regra | Pareado-conhecido | Motivo da exclusão |
| --- | --- | --- | --- | --- | --- |
| cmt_fictional_01 | unknown | yes | v1.0 | false | Decisão do codificador A unknown |
| cmt_fictional_02 | no | absent | v1.0 | false | Decisão do codificador B absent |

Este registro detalha as 2 lacunas de decisão excluídas, de 22 unidades de origem elegíveis, e deixa 20 unidades conhecidas e pareadas para entrar na tabela de concordância. Decisões ausentes não são divergências e ficam fora do denominador em que n é igual a 20.

### Tabela principal de concordância (20 unidades pareadas)

| Codificador A | Codificador B Yes | Codificador B No | Total da linha |
| --- | --- | --- | --- |
| Yes | 8 | 2 | 10 |
| No | 1 | 9 | 10 |
| Total da coluna | 9 | 11 | 20 |

As marginais do codificador A mostram 10 yes e 10 no. As marginais do codificador B mostram 9 yes e 11 no. Dezessete das 20 decisões pareadas concordam, o que dá concordância observada p_o igual a 0,85.

A concordância esperada p_e é calculada como (10 dividido por 20 vezes 9 dividido por 20) mais (10 dividido por 20 vezes 11 dividido por 20), o que é igual a 0,50.

O kappa de Cohen é (0,85 menos 0,50) dividido por (1 menos 0,50), o que é igual a 0,70.

Três divergências pareadas e duas lacunas de decisão excluídas permanecem separadas. Este caso de teste não rotula nenhum cliente real nem prova que o código de classificação está correto.

### Textos de comentário de exemplo e tratamento da regra

- Comentário concordante em yes: "A sincronização do calendário falha todas as manhãs." (Declara um defeito presente de forma direta).
- Comentário concordante em no: "A cor do calendário é azul." (Não declara um defeito).
- Comentário de desejo ambíguo: "Queria que a sincronização do calendário funcionasse." (Pode expressar um defeito atual ou uma capacidade desejada; não prova que quem escreveu pede um recurso. Preserve a escolha unknown ou ambígua e o contexto posterior ou o esclarecimento da regra, sem impor intenção).

### Tabela diagnóstica um (concordância alta, kappa baixo)

| Codificador A | Codificador B Yes | Codificador B No | Total da linha |
| --- | --- | --- | --- |
| Yes | 18 | 1 | 19 |
| No | 1 | 0 | 1 |
| Total da coluna | 19 | 1 | 20 |

Marginais dos codificadores: o codificador A tem 19 yes e 1 no. O codificador B tem 19 yes e 1 no. O total de unidades n é igual a 20. A concordância observada p_o é igual a 0,90. A concordância esperada p_e é igual a 0,905. O kappa é igual a menos 1 dividido por 19, o que é cerca de -0,05263.

### Tabela diagnóstica dois (kappa indefinido)

| Codificador A | Codificador B Yes | Codificador B No | Total da linha |
| --- | --- | --- | --- |
| Yes | 20 | 0 | 20 |
| No | 0 | 0 | 0 |
| Total da coluna | 20 | 0 | 20 |

Marginais dos codificadores: o codificador A tem 20 yes e 0 no. O codificador B tem 20 yes e 0 no. O total de unidades n é igual a 20. A concordância observada p_o e a concordância esperada p_e são ambas iguais a 1. Isso torna o kappa indefinido. Não chame um valor indefinido de kappa perfeito nem invente um limiar universal de aprovação.

## Como analisar as divergências e revisar as regras

Leia as divergências no contexto de origem depois da passagem independente. No comentário de desejo, a regra pode ser lida como um defeito presente ou como um recurso desejado. Registre a divergência e esclareça o texto da regra. A adjudicação é uma decisão conjunta posterior, e não parte da estatística de concordância original.

Salve as fichas independentes originais e a tabela sem alteração. Versione a regra revisada e teste-a em uma amostra nova ou em uma amostra recodificada declarada de forma explícita. Entregue a tabela de concordância, o registro de decisões ausentes e as mudanças concretas da regra antes de aplicar o código de classificação de forma mais ampla.

## Próxima ação

Dê a dois codificadores a mesma amostra pequena e compare as fichas independentes antes da discussão. Para executar a coleta piloto, copie a entrada da Task para a plataforma Apify, atualize a lista `postUrls` para a sua thread pública conhecida, defina `maxCommentsPerPost` como 3 e execute o [Reddit Comments Scraper Actor](https://apify.com/chronometrica/reddit-comments-scraper) usando a [Reddit Conversation Analysis Data Task](https://apify.com/chronometrica/reddit-comments-scraper/examples/reddit-conversation-analysis-data).

## Fontes e leituras adicionais

- [https://online.stat.psu.edu/stat509/Lesson07#713-cohens-kappa-statistic-for-measuring-agreement](https://online.stat.psu.edu/stat509/Lesson07#713-cohens-kappa-statistic-for-measuring-agreement)
- [https://online.stat.psu.edu/stat504/Lesson11](https://online.stat.psu.edu/stat504/Lesson11)
- [https://www.reddit.com/r/ProductMarketing/comments/1liklfb/best_tactics_for_customer_research/](https://www.reddit.com/r/ProductMarketing/comments/1liklfb/best_tactics_for_customer_research/)
- [https://www.reddit.com/r/SaaS/comments/1tb26ri/customer_research_on_reddit/](https://www.reddit.com/r/SaaS/comments/1tb26ri/customer_research_on_reddit/)