Show the code
knitr::kable(
x$funnel_overall,
col.names = c("Level", "Description", "Distinct works")
)| Level | Description | Distinct works |
|---|---|---|
| level1 | Snowball corpus | 177357 |
| level2 | NLI SUPPORTS (certain) | 10340 |
| level3 | LLM-confirmed SUPPORTS | 0 |
Narrowing down citing works that support or contradict a Background Message
Every work discovered by the snowball search under a Background Message (BM) is put through a 3-level sieve, each level a subset of the one before it, counted as distinct citing works per (assessment, km, bm) — a work cited under two different BMs is two separate findings, not one, so per-BM counts sum to the assessment-wide total shown below.
label == "SUPPORTS" with uncertain == FALSE by the zero-shot NLI model (Phase 1 — see TD_BM_NLI_approach).llm_agrees == TRUE).There is deliberately no further “+ sufficient evidence” level: Phase 2’s own verification logic forces its llm_label to NOT_ENOUGH_INFO whenever it judges the evidence insufficient, so an LLM verdict of SUPPORTS already implies sufficient evidence — a separate level here would always contain exactly the same works as level 3.
Claim granularity: sub_bm. sub_bm (the default) segments each BM’s bm_description/bm_label into evidence-delimited sub-claims (2-17 per BM) at the sentence level. complete_bm instead treats each field as a single, whole claim (2 per BM, or 1 if bm_label/bm_description are identical) — cheaper to score (~71% fewer NLI pairs measured across both assessments), at the cost of losing which specific part of a longer BM a citing work actually supports or contradicts, and of the resulting hypothesis text sometimes exceeding the NLI model’s own token limit (see TD_BM_NLI_approach.qmd for the measured numbers and caveats). Level 2/3 counts below reflect whichever granularity this report was rendered for; the two are not directly comparable work-for-work, since they’re scored against different claim text.
Phase 2 (LLM verification) is a partial, ongoing process — OpenRouter credit has run out mid-run at least once already, so level 3 below reflects only the pairs reviewed so far, not the full SUPPORTS-certain set from level 2. This number will grow as llm_verification_parquet gets more OpenRouter runs; re-render this report after a rerun rather than treating today’s snapshot as final.
if (isTRUE(x$empty)) {
cat("No data available yet for this assessment — the snowball, NLI, or LLM verification stage hasn't produced output here.\n\n")
knitr::knit_exit()
}knitr::kable(
x$funnel_overall,
col.names = c("Level", "Description", "Distinct works")
)| Level | Description | Distinct works |
|---|---|---|
| level1 | Snowball corpus | 177357 |
| level2 | NLI SUPPORTS (certain) | 10340 |
| level3 | LLM-confirmed SUPPORTS | 0 |
if (length(fig_overall)) cat(sprintf("\n\n", fig_overall))knitr::kable(
x$funnel_by_bm,
col.names = c(
"KM", "BM", "Corpus", sprintf("NLI %s", params$label), "LLM-confirmed",
"% 2 of 1", "% 3 of 2"
)
)| KM | BM | Corpus | NLI SUPPORTS | LLM-confirmed | % 2 of 1 | % 3 of 2 |
|---|---|---|---|---|---|---|
| KM-A1 | A1 | 7151 | 483 | 0 | 6.8 | 0 |
| KM-A2 | A2 | 9599 | 1397 | 0 | 14.6 | 0 |
| KM-A2 | A3 | 7125 | 491 | 0 | 6.9 | 0 |
| KM-A3 | A4 | 9813 | 359 | 0 | 3.7 | 0 |
| KM-A3 | A5 | 5444 | 127 | 0 | 2.3 | 0 |
| KM-A4 | A5 | 5444 | 127 | 0 | 2.3 | 0 |
| KM-A4 | A6 | 2943 | 43 | 0 | 1.5 | 0 |
| KM-A5 | A7 | 8613 | 277 | 0 | 3.2 | 0 |
| KM-A5 | A8 | 2401 | 54 | 0 | 2.2 | 0 |
| KM-B1 | B11 | 5302 | 51 | 0 | 1.0 | 0 |
| KM-B1 | B12 | 5179 | 200 | 0 | 3.9 | 0 |
| KM-B1 | B14 | 6085 | 623 | 0 | 10.2 | 0 |
| KM-B1 | B9 | 4608 | 128 | 0 | 2.8 | 0 |
| KM-B2 | B10 | 929 | 19 | 0 | 2.0 | 0 |
| KM-B3 | B11 | 5302 | 51 | 0 | 1.0 | 0 |
| KM-B3 | B12 | 5179 | 200 | 0 | 3.9 | 0 |
| KM-B3 | B14 | 6085 | 623 | 0 | 10.2 | 0 |
| KM-B3 | B9 | 4608 | 128 | 0 | 2.8 | 0 |
| KM-B4 | B10 | 929 | 19 | 0 | 2.0 | 0 |
| KM-B4 | B13 | 5228 | 630 | 0 | 12.1 | 0 |
| KM-B4 | B14 | 6085 | 623 | 0 | 10.2 | 0 |
| KM-C1 | C15 | 602 | 63 | 0 | 10.5 | 0 |
| KM-C1 | C16 | 2203 | 134 | 0 | 6.1 | 0 |
| KM-C1 | C17 | 2580 | 74 | 0 | 2.9 | 0 |
| KM-C1 | C18 | 1823 | 69 | 0 | 3.8 | 0 |
| KM-C1 | C22 | 2359 | 342 | 0 | 14.5 | 0 |
| KM-C1 | C23 | 2413 | 74 | 0 | 3.1 | 0 |
| KM-C2 | C15 | 602 | 63 | 0 | 10.5 | 0 |
| KM-C2 | C17 | 2580 | 75 | 0 | 2.9 | 0 |
| KM-C2 | C18 | 1823 | 69 | 0 | 3.8 | 0 |
| KM-C3 | C19 | 2170 | 49 | 0 | 2.3 | 0 |
| KM-C4 | C20 | 1576 | 119 | 0 | 7.6 | 0 |
| KM-C5 | C21 | 3676 | 390 | 0 | 10.6 | 0 |
| KM-C6 | C23 | 2413 | 74 | 0 | 3.1 | 0 |
| KM-C6 | C24 | 884 | 25 | 0 | 2.8 | 0 |
| KM-D1 | D25 | 1768 | 92 | 0 | 5.2 | 0 |
| KM-D2 | D26 | 2500 | 68 | 0 | 2.7 | 0 |
| KM-D2 | D30 | 2739 | 12 | 0 | 0.4 | 0 |
| KM-D3 | D27 | 1768 | 24 | 0 | 1.4 | 0 |
| KM-D3 | D28 | 1098 | 14 | 0 | 1.3 | 0 |
| KM-D4 | D26 | 2500 | 68 | 0 | 2.7 | 0 |
| KM-D4 | D33 | 1423 | 150 | 0 | 10.5 | 0 |
| KM-D5 | D31 | 2903 | 278 | 0 | 9.6 | 0 |
| KM-D5 | D32 | 3802 | 267 | 0 | 7.0 | 0 |
| KM-D6 | D29 | 3170 | 131 | 0 | 4.1 | 0 |
| KM-D6 | D31 | 2903 | 278 | 0 | 9.6 | 0 |
| KM-D6 | D32 | 3802 | 267 | 0 | 7.0 | 0 |
| KM-D7 | D32 | 3802 | 268 | 0 | 7.0 | 0 |
| KM-D7 | D33 | 1423 | 150 | 0 | 10.5 | 0 |
if (length(fig_by_bm)) cat(sprintf("\n\n", fig_by_bm))Normalized so every BM’s own snowball corpus reads 1 (dashed line) — lets BMs be compared on conversion rate regardless of raw corpus size.
if (length(fig_by_bm_norm)) cat(sprintf("\n\n", fig_by_bm_norm))Every citing work where the LLM’s own independent review agreed with NLI’s SUPPORTS verdict (and, by construction, judged the evidence for it sufficient — see Methodology). Use the BM dropdown in the filter row below the header to narrow to one Background Message.
if (length(table_l3)) {
cat(sprintf(
'<iframe src="%s" width="100%%" height="800px" style="border:none;"></iframe>\n\n',
table_l3
))
}