home / fault-atlas / probes

probes: 12

The exact question asked of a corpus, kept verbatim (code column): a Python regex on one document, a SPARQL query on a public endpoint, a shell request. result_count/result_of is the re-run figure on result_date; matches_excerpt says whether that figure is the one quoted in the observation (0 = differs, both kept).

This data as json

id form_id form_name file kind corpus_id written run result_count result_of result_date matches_excerpt note code
12 form-042 Names damaged by scanning probes/2026-08/line-042.py python corpus-europe-pmc-jats-2023-2026 2026-08-08 python3 tools/run_probe.py probes/2026-08/line-042.py <dir with the 272 .xml> 1 272 2026-09-09 1   """Fault Atlas probe — catalogue line 42 (form-042). Extracted verbatim from the August 2026 observation campaign (Loxyn SAS, Lyon). A probe answers one question on one JATS XML file: "is this fault here, and where?" It repairs nothing and decides nothing. Returns a list of excerpts, empty if absent. Run on the reproducible corpus (see corpora/europe-pmc-jats-2023-2026-272.json): python3 tools/run_probe.py probes/2026-08/line-042.py <dir with the 272 .xml> """ import re, collections, unicodedata SONDES = {} def sonde(ligne, nom): def deco(f): SONDES[ligne] = (nom, f); return f return deco # ── 42 — nom abîmé par le scan (OCR) ──────────────────────────────────────── # ⚠️ CORRIGÉE le 08/08 : la 1re version écrivait `<(?:…|institution)[^>]*>`, qui # attrapait AUSSI <institution-id> — et rendait « chiffre dans le nom » sur des # URL ROR (https://ror.org/02z1vqm45). 22/272 étaient donc 0 vrai positif. # Elle rendait aussi « lettre détachée » sur le « e » conjonctif portugais. @sonde(42, "nom d'auteur abîmé par le scan (OCR)") def d42(x): noms = re.findall(r'<(surname|given-names)(?:\s[^>]*)?>([^<]{2,60})<', x) ab = [] for balise, n in noms: if '�' in n or '�' in n or re.search(r'Ã[©¨¢«¤ -¿]', n): ab.append(f"mojibake:{balise}:{n}") elif re.search(r'[A-Za-zÀ-ÿ][01]|[01][A-Za-zÀ-ÿ]', n): ab.append(f"chiffre-dans-le-nom:{balise}:{n}") elif re.search(r'(?<=[a-zà-ÿ]) [a-zà-ÿ](?![a-zà-ÿ])', n): ab.append(f"lettre-detachee:{balise}:{n}") return sorted(set(ab))[:6]
Powered by Datasette · Queries took 0.679ms