Add Docling corpus pipeline, retrieval evaluation and hybrid search with reranking

- prepare_corpus.py: split double-page scans (split_spreads.py), re-OCR with
  OCRmyPDF/Tesseract only where the existing text layer is worse, Docling
  layout extraction with heading hierarchy, QA report per PDF
- docling_loader.py: cleanup (margin noise, split paragraphs, footnote marks,
  OCR comma/period repair), page mapping back to the original PDF, chunk
  headers with author, title and section
- local_rag.py: bge-m3 embeddings, configurable chunking and loader, index
  settings check (index_info.json), hybrid/union BM25 search with Reciprocal
  Rank Fusion and bge-reranker-v2-m3 cross-encoder; query instruction text
  removed after it lowered recall
- eval_retrieval.py: CLI options, same retrieval path as the chat, tolerant
  file name matching; goldsets and evaluation reports for the Kafka corpus
- grobid_test.py, grobid_qa.py, extract_docling.py, compare_extractors.py:
  extractor tests and quality checks
- .gitignore: corpus PDFs, vector stores and extractor output stay local
- server.py: uses ./vectorstore_docling_hdr

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-07 16:48:12 +02:00
co-authored by Claude Opus 5.5
parent 7d70169ee3
commit d54b3e5b8b
49 changed files with 5007 additions and 75766 deletions
+70
View File
@@ -0,0 +1,70 @@
====================================================================
Retrieval-Auswertung — 2026-10-07 14:00
====================================================================
Konfiguration
Vektorspeicher ./vectorstore_docling_split
Embedding-Modell BAAI/bge-m3
Chunk-Größe 1500 (Overlap 300)
Query-Zusatztext aus
Seitentoleranz ±1
Fragen 43
Ergebnis
Recall@5 0.72 (31 von 43)
Recall@10 0.77 (33 von 43)
Recall@20 0.77 (33 von 43)
MRR 0.56
Nach Korpus
primaer Recall@5 0.67 MRR 0.42 (3 Fragen)
sekundaer Recall@5 0.72 MRR 0.57 (40 Fragen)
Einzelne Fragen (Rang = Position des ersten korrekten Treffers)
Rang 1 sekundaer Wo konnte man nach Kittler und Neumann sehen, wie einer einen lebenden Ochsen frisst?
Rang 1 sekundaer Ahmt das Naturbild im Amerika-Roman die Welt nach oder legt es sie aus?
Rang 1 sekundaer Welcher dreistufige Ablauf zeigt sich im Motiv des Kopfhebens, als Gregor aus dem Bett zu kommen versucht?
Rang 1 sekundaer Welche Käferart nennt Kafka selbst für Gregor, und wie bezeichnet ihn die Bedienerin?
Rang 1 sekundaer Wie lässt sich das Kreisen der Krähen um den Schlossturm als Vorwegnahme des Romanverlaufs deuten?
Rang 1 sekundaer Wie beurteilt Binder Corngolds Deutung der Verwandlung als Geschichte einer verwandelten Metapher?
Rang 1 sekundaer Warum bestreitet Kudszus den abschließenden Charakter des Schlusskapitels im Prozess?
Rang 1 sekundaer Welche Quellen Kafkas zum Roman Der Verschollene erwähnt die Kritische Kafka-Ausgabe nicht?
Rang 1 sekundaer Wie reagieren der Prokurist und die Mutter auf Gregors angebliches Unwohlsein?
Rang 1 sekundaer Welches modale Hilfsverb steht in Kafkas Romanen an der Spitze der Häufigkeitsrangliste, und welches fehlt in den Textproben?
Rang 1 sekundaer Wie verändert sich die Figur der Mutter im Verlauf der Verwandlung?
Rang 1 sekundaer Wie unterscheiden sich ästhetische Texte von Pamphlet, Werbung oder Predigt im Umgang mit Werten?
Rang 1 sekundaer Welcher Tagebucheintrag belegt, dass die Irrealisierung in Beschreibung eines Kampfes einer Traumarbeit entspringt?
Rang 1 sekundaer Welches Buch von Schopenhauer empfahl Kafka Gustav Janouch, und womit begründete er die Lektüre?
Rang 1 primaer Wie erlebt Gregor den Vater, als er ihn nach längerer Zeit in Uniform wiedersieht?
Rang 1 sekundaer Welche Chiffren einer fetischisierten Lust kehren in Kafkas Texten immer wieder?
Rang 1 sekundaer Wofür steht die Uhrkette in der Tagebuchskizze über den Gast mit der Uhrkette?
Rang 1 sekundaer Wofür steht der Name des Bürgermeisters Salvatore im Jäger Gracchus?
Rang 1 sekundaer Wie bezeichnete Kafka nach Nekula sein eigenes Deutsch, und woran orientierte sich die Prager Oberschicht sprachlich?
Rang 2 sekundaer Wie wird im Kommentar die nachlassende Sehkraft Gregors mythologisch gedeutet?
Rang 2 sekundaer Was bedeutet das Sonnenlicht, in dem Karl Roßmann bei der Ankunft in New York die Freiheitsstatue sieht?
Rang 2 sekundaer Aus welcher Sprache könnte die Wendung aus unruhigen Träumen erwachen im ersten Satz der Verwandlung stammen?
Rang 2 sekundaer In welche Bereiche wird die Wirklichkeit in der Verwandlung differenziert, sodass die Alltagswelt wie eine Art Traum erscheint?
Rang 2 sekundaer Welche gesellschaftlichen Haltungen entlarvt Kafka in den Reflexionen seiner Hundefigur?
Rang 2 sekundaer Welches Gegenbild bildet der Dicke zum Ich-Erzähler in Beschreibung eines Kampfes?
Rang 2 sekundaer Was bedeutet Larve nach Grimms Wörterbuch, und wie bezieht Krock das auf Gregor?
Rang 3 sekundaer Welche sprichwörtliche Redensart verwendet Kafka im Gespräch zwischen K. und dem Fabrikanten, und wo wird ihr Vorstellungsbereich entfaltet?
Rang 3 sekundaer Wie reagiert Clara in Hoffmanns Sandmann auf Nathanaels Brief über Coppelius?
Rang 4 primaer Mit welchen Worten ruft die Bedienerin Gregor zu sich, und wie droht sie ihm?
Rang 4 sekundaer Welche Deutungen der Verwandlung werden im Exkurs über ihren Gleichnischarakter erwogen?
Rang 5 sekundaer Welche Konjunktion wird fälschlich als Merkmal des Prager Deutsch gewertet, und welche verwendet Julie Kafka parallel dazu?
Rang 7 sekundaer Welche Funktion hat das In-Ohnmacht-Fallen der Mutter in der Verwandlung, und auf welchen Dichter wird dabei verwiesen?
Rang 9 sekundaer Welche Ausgangskonstellation erweist sich in der Verwandlung im Erzählverlauf als nicht tragfähig?
Rang – sekundaer Warum ist der Umschlag in die zweite Person in der Erzählung Heimkehr nur eine scheinbare Ausnahme?
Rang – sekundaer Wie wird Gregor nach seinem Tod von der Bedienerin bezeichnet, und was bedeutet das für die Ordnung des Gewöhnlichen?
Rang – sekundaer Welches immer wiederkehrende Schema bestimmt nach Hillmann den Aufbau von Kafkas Geschichten?
Rang – primaer Wie reagiert die Schwester, als sie Gregor am ersten Morgen nicht gleich in seinem Zimmer findet?
Rang – sekundaer Was steht auf der kleinen Säule am Dorfausgang, von der in Kafkas Text über den Kaiser die Rede ist?
Rang – sekundaer Welche Figur im Verschollenen hat den gleichen Beruf wie Kafkas spätere Verlobte Felice Bauer?
Rang – sekundaer Wie verhält sich bei Kafka der Anspruch der Aufgabe zum Ungenügen des Menschen?
Rang – sekundaer Worauf verweisen die eckigen Schultern des Beters nach Lehmann?
Rang – sekundaer Welche Verwandlungsgeschichte nennt Neumann als beispielhaft, und was versucht Kafka darin?
Rang – sekundaer Wie wird das Naturerleben in Kafkas frühen Prosastücken wie Zerstreutes Hinausschaun dargestellt?
10 Frage(n) ohne Treffer unter den ersten 20.
Prüfen: Steht die Fundstelle wirklich dort? Stimmt der Dateiname?
Ist das Dokument überhaupt im Index (rag.list_documents())?