PROJEKTEINBLICK ·

Die Suche musste auch ohne KI funktionieren

Operus Search ist zuerst eine Suchmaschine. Die Volltextsuche funktioniert auch ohne Sprachmodell – und zeigt, wo ihre Grenze liegt.

KONZEPT · UMSETZUNGOliver Röschner
LESEZEIT5 Minuten
BEREICHTECHNOLOGIE
Eine ausgewählte Fundstelle in der Volltextsuche ist direkt mit derselben markierten Zeile im Originaldokument verbunden.
KI GENERIERTES ARTIKELBILD | OPERUS

Ich tippe „Grundsteuer“ ein, und der Grundsteuerbescheid steht ganz oben. Darunter der Ausschnitt, in dem das Wort vorkommt, und die Seite, auf der er steht. Dafür braucht Operus Search kein Sprachmodell, keine Grafikkarte und keine Sekunde Nachdenken. Es ist die älteste und unspektakulärste Funktion des Programms – und die wichtigste.

Als ich begann, über lokale Sprachmodelle nachzudenken, stand eine Regel schon fest: Operus Search sollte keine KI mit angehängter Dateisuche werden. Es sollte eine Suchmaschine sein, die auch dann vollständig funktioniert, wenn das Sprachmodell gerade nicht läuft.

Erst suchen, dann alles andere

Grundlage ist die Volltextsuche von SQLite. Sie kennt jedes Wort in jedem erkannten Brief und jeden Dateinamen. Wie gut ein Treffer passt, bewertet sie mit einem bewährten Verfahren aus der klassischen Suchtechnik: Ein Wort zählt umso mehr, je seltener es im ganzen Archiv vorkommt und je häufiger in genau diesem Dokument.

Operus Search sucht in mehreren Stufen:

  • genaue Wörter und Wortanfänge im Text;
  • Begriffe im Dateinamen, auch bei Dokumenten ohne erkannten Text;
  • eine zusätzliche Stufe für zusammengesetzte deutsche Wörter;
  • nur wenn die KI-Funktionen eingeschaltet sind: Treffer nach Bedeutung.

Was am besten passt, steht oben. Das Datum entscheidet erst bei Gleichstand. Ein alter Brief, der genau passt, soll nicht hinter einer neuen Datei verschwinden, die nur zufällig dasselbe Wort enthält.

KI darf die Suche erweitern. Sie darf nicht darüber entscheiden, ob ich mein Archiv überhaupt benutzen kann.

Deutsch braucht mehr als ein Sternchen

Viele Suchprogramme finden Wortanfänge: Wer „Versicherung“ sucht, findet auch „Versicherungsschein“. Umgekehrt klappt das nicht. Wer „Versicherungen“ eintippt, würde den „Versicherungsschein“ mit dieser Technik verfehlen – das Wort beginnt nicht mit „Versicherungen“.

Operus Search ergänzt deshalb vorsichtig typische deutsche Endungen. Der eingegebene Begriff bleibt erhalten, zusätzlich wird nach seinem wahrscheinlichen Wortstamm gesucht. Kurze Wörter, Zahlen und Begriffe mit Sonderzeichen bleiben unverändert. Diese Zurückhaltung ist wichtig, denn eine zu eifrige Regel erzeugt genauso schnell falsche Treffer.

Manche Grenzen nehme ich bewusst hin. „Verträge“ lässt sich nicht gefahrlos durch einfaches Ersetzen in „Vertrag“ zurückverwandeln. Die Suche versucht also nicht, die deutsche Grammatik vollständig nachzubauen. Sie verbessert die häufigen Fälle, ohne den Index mit unkontrollierten Regeln umzuschreiben.

Auch kein Treffer ist eine Information

Findet die Suche nichts, schlägt Operus Search eine Schreibweise vor, die tatsächlich in meinen Dokumenten vorkommt. Sonderzeichen in der Eingabe werden dabei entschärft, damit eine Suchanfrage nicht versehentlich als Befehl an die Datenbank verstanden wird.

Zusätzlich lässt sich die Suche eingrenzen:

  • nach Dateiart;
  • nach Datum von und bis;
  • nach Art des Dokuments, etwa Rechnung oder Vertrag;
  • nach Mindest- oder Höchstbetrag;
  • nach Angaben aus Rechnungen, etwa dem Absender;
  • auch ganz ohne Suchbegriff, nur mit Filtern.

Schreibe ich „Rechnungen aus 2024“, kann Operus Search den Zeitraum später auch aus dem Satz herauslesen. Was ich aber selbst in der Oberfläche einstelle, hat immer Vorrang. Eine klare Auswahl darf nicht von einer Vermutung des Programms überschrieben werden.

Ein Brief, ein Treffer

Ein mehrseitiger Vertrag kann denselben Begriff an vielen Stellen enthalten. In der Trefferliste erscheint er trotzdem nur einmal. Weitere Fundstellen lassen sich bei Bedarf aufklappen.

Auch exakte Kopien derselben Datei werden zusammengefasst. In einem über Jahre gewachsenen Archiv liegt derselbe Brief schnell an mehreren Orten – im Jahresordner, in einem Themenordner und in einer alten Sicherung. Er belegt trotzdem nur einen Platz in der Trefferliste; die weiteren Speicherorte stehen dabei.

Wo Wörter nicht reichen

So zuverlässig die Volltextsuche ist, eine Grenze hat sie: Sie findet nur Wörter, die tatsächlich im Brief stehen.

Suche ich nach „schnelles Internet zuhause“, denke ich an meinen Glasfaservertrag. In dem Vertrag stehen aber Wörter wie „Glasfaser“, „Tarif“ und „Router“ – nicht „schnelles Internet“. Die Volltextsuche hat keine Chance, beides zusammenzubringen.

Wie oft das passiert, habe ich gemessen. Dafür gibt es einen kleinen Testbestand aus 15 Dokumenten und 27 Suchfragen, bei denen feststeht, welches Dokument gefunden werden muss. Gezählt wird, wie oft das richtige Dokument unter den ersten fünf Treffern ist und wie weit oben es steht.

Verfahren im Testbestandrichtiges Dokument unter den ersten fünfPosition, wenn gefunden
klassische Volltextsuche22 von 27 Fragenganz oben
Volltext plus Suche nach Bedeutung27 von 27 Fragenganz oben

Die fünf Fragen, an denen die Volltextsuche scheiterte, waren genau solche Fälle: Frage und Dokument benutzten unterschiedliche Wörter für dieselbe Sache.

Ein Testbestand aus 15 Dokumenten beweist nichts über ein ganzes Archiv. 27 von 27 ist ein gutes Signal, aber kein Gütesiegel. Der eigentliche Wert liegt woanders: Der Test läuft bei jeder Änderung mit. Eine neue Idee darf die Fragen, die heute funktionieren, nicht wieder kaputt machen.

Damit war Operus Search bereits ein nützliches Werkzeug: Begriff eingeben, Brief und Fundstelle sehen, Original öffnen. Für die fünf schwierigen Fragen brauchte es aber etwas anderes – eine Suche, die nicht nach Wörtern fragt, sondern nach Bedeutung. Und von dort war es nur noch ein kleiner Schritt, meinem Archiv eine ganz normale Frage zu stellen.

Teil 6: Die erste Frage an mein eigenes ArchivWeiterlesen in der Operus-Search-Serie. OPERUS SEARCH