shared/author_norm.drop_institutional_coauthors entfernt institutionelle Affiliations-Segmente, greift aber bei zwei Mustern nicht. Empirisch reproduziert (Qwen-Review, 1. Durchgang).
Bug A — Plural-Marker (\b): _INSTITUTION_RE (author_norm.py:18) endet jede Alternative mit \b → Plurale matchen nicht (das s ist Word-Char).
drop_institutional_coauthors("Mahmood und National Institutes of Health") → unverändert (erwartet "Mahmood"). Betrifft Institutes, Universities, Centers, Departments, Hospitals, Foundations.
Bug B — Komma-Affiliation löscht echten Autor (HIGH): Komma ist bewusst kein Separator (author_norm.py:42, schützt "Lastname, Firstname"). Trifft eine Komma-Affiliation aber auf einen echten und-Trenner, wird das ganze Segment als institutionell verworfen:
drop_institutional_coauthors("Mahmood, University of the Punjab und Schlebbe") → "Schlebbe" — der echte Autor Mahmood geht verloren (schlimmer als nur Affiliation-behalten).
Fix-Richtung: (A) Plural-toleranter Marker (s? vor \b bzw. Stemming). (B) Komma-Segmente zusätzlich gegen _INSTITUTION_RE prüfen und die institutionellen Teile droppen, ohne "Lastname, Firstname" zu brechen — Person-bleibt-Garantie auch über Komma-Grenzen.
Datei: shared/author_norm.py:18,42,55. Latent (nur bei Affiliations-Dateinamen).
shared/author_norm.drop_institutional_coauthorsentfernt institutionelle Affiliations-Segmente, greift aber bei zwei Mustern nicht. Empirisch reproduziert (Qwen-Review, 1. Durchgang).Bug A — Plural-Marker (
\b):_INSTITUTION_RE(author_norm.py:18) endet jede Alternative mit\b→ Plurale matchen nicht (dassist Word-Char).drop_institutional_coauthors("Mahmood und National Institutes of Health")→ unverändert (erwartet"Mahmood"). BetrifftInstitutes,Universities,Centers,Departments,Hospitals,Foundations.Bug B — Komma-Affiliation löscht echten Autor (HIGH): Komma ist bewusst kein Separator (author_norm.py:42, schützt "Lastname, Firstname"). Trifft eine Komma-Affiliation aber auf einen echten
und-Trenner, wird das ganze Segment als institutionell verworfen:drop_institutional_coauthors("Mahmood, University of the Punjab und Schlebbe")→"Schlebbe"— der echte Autor Mahmood geht verloren (schlimmer als nur Affiliation-behalten).Fix-Richtung: (A) Plural-toleranter Marker (
s?vor\bbzw. Stemming). (B) Komma-Segmente zusätzlich gegen_INSTITUTION_REprüfen und die institutionellen Teile droppen, ohne "Lastname, Firstname" zu brechen — Person-bleibt-Garantie auch über Komma-Grenzen.Datei:
shared/author_norm.py:18,42,55. Latent (nur bei Affiliations-Dateinamen).