ac_qual_sample() seleciona uma amostra de documentos classificados pela
LLM para validação por um codificador humano.
Duas finalidades diferentes, duas estratégias diferentes.
Estimar a confiabilidade que vai para o artigo (
ac_qual_reliability()): a amostra precisa ser representativa do corpus. Krippendorff (2018, cap. 12) exige que os dados de confiabilidade sejam amostrados da mesma população que os dados analisados; uma amostra enviesada para casos difíceis subestima a concordância real, e uma enviesada para casos fáceis a superestima. Use"random"(padrão) ou"proportional".Diagnosticar erros e refinar o codebook: aí vale concentrar o esforço humano onde a LLM mais erra, como em amostragem por incerteza de active learning (Settles, 2012). Use
"uncertainty"ou"disagreement", mas não reporte a concordância calculada nessa amostra como confiabilidade do corpus.
Sobre o tamanho: Neuendorf (2017) sugere uma subamostra de confiabilidade de 10% a 20% do corpus, raramente menos de 50 unidades; Krippendorff (2018, sec. 12.3) oferece um cálculo formal a partir do alfa mínimo aceitável e da frequência da categoria mais rara.
Usage
ac_qual_sample(
coded,
n = 50L,
strategy = c("random", "uncertainty", "stratified", "disagreement", "proportional"),
strata = NULL,
min_per_stratum = 1L,
min_stratum_size = 10L,
exclude_ids = NULL,
seed = 42L,
...
)Arguments
- coded
Tibble com classificação LLM, saída de
ac_qual_code().- n
Número de documentos a amostrar. Padrão:
50.- strategy
Estratégia de amostragem:
"random"(padrão): amostra aleatória simples. Representativa: use para estimar a confiabilidade que vai para o artigo;"uncertainty": prioriza documentos com menorconfidence_score(maior incerteza da LLM). Serve para diagnóstico de erros, não para estimar confiabilidade (amostra enviesada para casos difíceis);"stratified": dividenigualmente entre as categorias atribuídas pela LLM (sobre-representa categorias raras; não é representativa);"disagreement": prioriza documentos onde rodadas de self-consistency divergiram (requerconfidence_score < 1);"proportional": amostragem estratificada com alocação proporcional ao tamanho de cada estrato (método do maior resto), respeitando um mínimo por estrato. Diferente de"stratified"(que dividenigualmente entre categorias), preserva a distribuição original destratana amostra: a escolha correta quando a amostra alimenta uma estimativa populacional (ex.:ac_qual_reliability()ponderada), não só uma checagem qualitativa de cada categoria.
- strata
Nome da coluna usada para estratificar quando
strategy = "proportional". Obrigatório nesse caso.- min_per_stratum
Mínimo de documentos por estrato na amostra proporcional, mesmo que a alocação exata dê menos. Padrão
1.- min_stratum_size
Estratos da população com menos documentos que isso são agrupados em
"Outras"antes de alocar: evita alocar uma fração ínfima da amostra a uma categoria com 2 documentos na população inteira. Padrão10.- exclude_ids
Vetor de
doc_ida excluir do universo amostrado (ex.: documentos já validados em uma rodada anterior). PadrãoNULL.- seed
Semente para reprodutibilidade. Padrão:
42.- ...
Ignorado.
Value
Tibble com os documentos selecionados, incluindo uma coluna
sample_reason indicando por que cada documento foi selecionado.
Com strategy = "proportional", ganha também peso_amostral
(n_populacao_estrato / n_amostra_estrato) para uso em estimativas
ponderadas.
References
Krippendorff, K. (2018). Content Analysis: An Introduction to Its Methodology (4th ed.). SAGE.
Neuendorf, K. A. (2017). The Content Analysis Guidebook (2nd ed.). SAGE.
Settles, B. (2012). Active Learning. Morgan & Claypool.
Examples
# Simular saida de ac_qual_code() com 20 documentos já classificados
set.seed(1)
coded <- tibble::tibble(
doc_id = paste0("doc_", 1:20),
categoria = sample(c("favor", "contra"), 20, replace = TRUE),
confidence_score = runif(20, 0.5, 1.0)
)
# Amostra representativa (padrao): para estimar a confiabilidade
ac_qual_sample(coded, n = 5)
#> ℹ Amostra de 5 documentos selecionada (estratégia: "random").
#> ℹ Use `ac_qual_export_for_review()` para exportar para Excel.
#> # A tibble: 5 × 4
#> doc_id categoria confidence_score sample_reason
#> <chr> <chr> <dbl> <chr>
#> 1 doc_17 contra 0.897 random
#> 2 doc_5 contra 0.634 random
#> 3 doc_1 favor 0.967 random
#> 4 doc_10 contra 0.670 random
#> 5 doc_4 favor 0.563 random
# Priorizar casos mais incertos: diagnostico de erros, nao confiabilidade
ac_qual_sample(coded, n = 5, strategy = "uncertainty")
#> ℹ Amostra de 5 documentos selecionada (estratégia: "uncertainty").
#> ℹ Use `ac_qual_export_for_review()` para exportar para Excel.
#> # A tibble: 5 × 4
#> doc_id categoria confidence_score sample_reason
#> <chr> <chr> <dbl> <chr>
#> 1 doc_7 favor 0.507 uncertainty (confidence=0.51)
#> 2 doc_18 contra 0.554 uncertainty (confidence=0.55)
#> 3 doc_4 favor 0.563 uncertainty (confidence=0.56)
#> 4 doc_14 favor 0.593 uncertainty (confidence=0.59)
#> 5 doc_2 contra 0.606 uncertainty (confidence=0.61)
# Garantir cobertura proporcional das duas categorias
ac_qual_sample(coded, n = 6, strategy = "stratified")
#> ℹ Amostra de 6 documentos selecionada (estratégia: "stratified").
#> ℹ Use `ac_qual_export_for_review()` para exportar para Excel.
#> # A tibble: 6 × 4
#> doc_id categoria confidence_score sample_reason
#> <chr> <chr> <dbl> <chr>
#> 1 doc_16 contra 0.834 stratified (cat=contra)
#> 2 doc_6 favor 0.693 stratified (cat=favor)
#> 3 doc_2 contra 0.606 stratified (cat=contra)
#> 4 doc_19 contra 0.862 stratified (cat=contra)
#> 5 doc_14 favor 0.593 stratified (cat=favor)
#> 6 doc_13 favor 0.747 stratified (cat=favor)
