Kölner-Phonetik

Suche von Adressen: Reicht die phonetische Suche?

Regelmäßig wird uns die Frage gestellt, ob q.address phonetisch suchen könne. Als Beispiel wird dann die Kölner Phonetik genannt. Natürlich klingt der Wunsch nach phonetischer Suche vernünftig. Denn natürlich möchten Sie Herrn Meier, Mayer oder Mayr finden, auch wenn Sie nach „Maier“ suchen. Aber reicht das auch?

Wenn Sie in einer Adressdatenbank nach dem Namen „Meier“ suchen müssen, werden Sie nicht immer wissen, wie er sich tatsächlich schreibt – Meier, Mayer oder Mayr? Sie erwarten sich von einer Suche deswegen zurecht, dass sie alle Schreibvarianten findet, also die „phonetische“ Suche beherrscht. Und auch wenn Sie in einer Adressdatenbank Dubletten finden und bereinigen wollen, sollte die Dublettensuche nicht an phonetischen Schreib­varianten scheitern. Doch allein mit einer phonetischen Suche kommen Sie nicht sehr weit.
Postit-Manfred-Bentin
Wer soll nun im CRM angelegt werden: Manfred Bentin oder Beutin?

Beispiele

  • Buchstabendreher: Sie suchen Herrn Maier, in der Datenbank gespeichert wurde aber versehentlich „Maire“ statt „Maier“, oder „Shcmidt“ statt „Schmidt“…
  • Lesefehler: Gespeichert ist „Hans Memert“ statt „Hans Meinert“ oder „Manfred Beutin“ statt „Manfred Bentin“ (siehe Bild).
  • Hörfehler (Telefon!): „Werner Bartel“ statt „Werner Bartels“.
  • Abkürzungen und Akronyme: „Bayerische Motoren Werke“ statt „BMW“ (oft sogar „Bayerische Motorenwerke“ geschrieben, mit dem „w“ mitten im Wort!).
  • Wortumstellungen/-Varianten: Sie erinnern sich nicht an den Namen und suchen mit „Maier Immobilen“, in Ihrem CRM tatsächlich gespeichert ist aber die „Immobilenbüro Meyer GmbH“.

Bereits diese Beispiele zeigen: Es reicht nicht, allein auf die phonetische (lautliche) Ähnlichkeit zu setzen. Bereits geringfügige Schreibfehler zerstören die phonetische Ähnlichkeit, ganz zu schweigen von den vielfältigen Namensvarianten, mit denen man es etwa bei Firmennamen zu tun bekommt.

Es muss umfassender gesucht werden. Wir sprechen von „fehlertoleranter“ Suche, weil die Suche nicht auf phonetische Fehler beschränkt bleiben darf.

Lassen Sie uns aber kurz bei der phonetischen Suche bleiben:

Kölner Phonetik

Das bekannteste Verfahren für die deutsche Sprache ist die „Kölner Phonetik“. Sie ist schlank zu programmieren und findet phonetische Schreibvarianten sehr zuverlässig.

Die Kölner Phonetik ersetzt Buchstaben durch Zahlen, Namen also durch Zahlencodes. Die Codierung ist so geschickt gewählt, dass phonetisch gleichlautende Namen den gleichen Zahlencode erhalten. Beispiele: Maier, Meier, Mayer und Mayr werden alle auf den Code 67 abgebildet. (Sie können es hier selbst ausprobieren!)

Das kann man für die phonetische Suche in einer Adressdatenbank ausnutzen: Man codiert in der Adressdatenbank alle Namen nach der Kölner Phonetik und ordnet ihnen ihren Code zu:

Name Code
Maier 67
Mair 67
Mann 66
Martin 6726
Mayer 67
Mayr 67
Meier 67
Meyer 67
Möller 657
Müller 657
Tabelle: Codes nach der Kölner Phonetik.

Sucht man nun nach „Maier“, dann geht man so vor: Man bestimmt zu „Maier“ den Code nach der Kölner Phonetik, das Ergebnis ist 67. Dann sucht man in der Adressdatenbank nach allen Namen, denen der Code 67 zugeordnet ist und erhält nun alle Maiers: Maier, Meier, Mayer, Mayr, Mair etc.

Wo ist also das Problem?

  • Die Kölner Phonetik geht mit den Vokalen recht rigoros um: Vokale (bis auf führende Vokale) werden im Laufe der Codierung vollständig entfernt („Maier“ wird also zu „mr“). Es erhalten daher auch folgende Namen bzw. Zeichenfolgen den Wert 67: Maire, Murr, MAAAROOO, MR.
    Zumindest Maier und Murr sind nicht mehr ähnlich.
    Man nennt solche falschen Zuordnungen „false positve“. Bei der Kölner Phonetik liegt die Quote für false positives bei rund 15 % – zu viel, wenn man die Ergebnisse automatisch weiterverarbeiten will! Bei ähnlich arbeitenden phonetischen Algorithmen (z. B. dem bekannten Soundex oder Metaphone) ist Quote allerdings noch viel höher!
  • Die Kölner Phonetik ist für die deutsche Sprache optimiert. Schon bei englischen Namen klappt es deswegen nicht mehr so gut:
    Das englische Pendant für die Maiers ist Rodgers/Rogers: Die Kölner Phonetik liefert für Rodgers den Code 72478 und für Rogers den Code 7478. Suchen Sie also etwa mit „Rodgers“, dann wird „Rogers“ nicht gefunden. Ähnlich ergeht es Ihnen mit „Stewart“ und „Stuart“ und vielen anderen Namen.
  • Die Kölner Phonetik scheitert auch in den aufgeführten Beispielfällen wie „Manfred Beutin“ statt „Manfred Bentin“, „Werner Bartel“ statt „Werner Bartels“, „BMW“ statt „Bayerische Motoren Werke“.

Die Kölner Phonetik funktioniert mit deutschen Namen gut und findet weitgehend alle phonetisch ähnlichen Namen – oft aber zu viele. In der Regel sind rund 15 % der gefundenen Namen vom gesuchten Namen verschieden („false positive“).

Bei Schreibfehlern und Geschäftsadressen mit ihren Abkürzungen und Namensvarianten funktioniert die Kölner Phonetik überhaupt nicht, weil sie nicht ausreichend fehlertolerant ist.

Phonetische Suche in q.address

Und wie geht q.address mit phonetischen Fehlern um? q.address berechnet die Ähnlichkeit, indem es die Abweichungen zweier Namen (oder allgemeiner: zweier Zeichenfolgen) bestimmt. Dabei werden phonetische Abweichungen erkannt und geringer bewertet. Zugrunde liegen umfangreiche Regelwerke aus der Computerlinguistik.

Fehlertolerante Suche

Was verstehen wir unter der weitergehenden „Fehlertoleranz“? Zum einen natürlich die Toleranz gegenüber unterschiedlichen Schreibweisen bei phonetischer (lautlicher) Ähnlichkeit. Darüber hinaus haben wir im Laufe der Jahre umfassende Regelwerke entwickelt, die mit sehr vielen weiteren Fehlerarten umgehen können, zum Beispiel Tippfehler, Abkürzungen, Namensvarianten, Vertauschung von Eingabefeldern (z.B. Vor- und Nachnamen) u.v.a.m.

Grundsätzlich läuft eine fehlertolerante Suche in zwei Schritten ab:

  • Ermittlung von Kandidaten: Bei größeren Adressbeständen kann man aus Gründen der Performance nicht alle Adressen untersuchen, sondern muss eine möglichst effektive Vorauswahl treffen.
  • Bewertung der Kandidaten: Bestimmung des Grades der Übereinstimmung mit dem Suchbegriff (also: Bestimmung der Ähnlichkeit).

Selbst wenn man die Kölner Phonetik für die Kandidatensuche (= erster Schritt) einsetzt, bleibt einem der zweite Schritt (Bewertung) nicht erspart. Denn wie wir bereits sahen, bildet die Kölner Phonetik auch unähnliche Namen auf denselben Code ab. Gleichzeitig ist die Kandidatenauswahl zu beschränkt, viele erwünschte Kandidaten werden verpasst.

q.address sucht geeignete Kandidaten im Wege der Fuzzifizierung. Das erhöht die Kandidatenzahl. Und – das ist die unvermeidbare Konsequenz – auch den Rechenzeitbedarf, da nunmehr deutlich mehr Namensvergliche durchzuführen sind. Allerdings werden deutlich mehr Kandidaten erreicht, und wird der zusätzliche Rechenzeitbedarf von heutigen Rechnern problemlos weggesteckt.

Resümee – ein Abgesang auf die Kölner Phonetik

Fassen wir die Ergebnisse zusammen: Die phonetische Suche (Soundex, Metaphone, Kölner Phonetik) liefert Kandidaten, die dem gesuchten Namen bzw. der gesuchten Adresse häufig, aber bei weitem nicht immer, phonetisch ähnlich sind. Sie liefert einerseits zu viel Kandidaten (false positives, die Kölner Phonetik etwa Meier/Murr). Und sie liefert andererseits nicht alle benötigten Kandidaten. Es fehlen Namen mit Schreibfehlern, Abkürzungen, Namensvarianten, wie sie besonders bei Geschäftsadressen auftreten. Für die Praxis reicht das nicht.

Erst weitergehende fehlertolerante Suchverfahren (also Verfahren, die deutlich mehr können als nur phonetische Ähnlichkeiten) finden auch diese Namen und Adressen. Die Suche ist aufwendiger und es müssen zwei Schritte durchlaufen werden. Dafür wird sehr viel mehr gefunden, und die Ergebnisse sind so sicher, dass dann auch eine automatische Weiterverarbeitung dieser Ergebnisse möglich ist.

Die Kölner Phonetik war zur Zeit ihrer Veröffentlichung (1969) sinnvoll für die interaktive Suche in Namenslisten. Für automatische Verarbeitungen, vor allem komplexerer Gebilde wie vollständiger Adressen mit Orts- und Straßennamen, ist sie nicht geeignet. Das gilt für die übrigen phonetischen Verfahren (etwa Soundex oder Metaphone) erst recht.

Die Kölner Phonetik wurde vor einem halben Jahrhundert veröffentlicht. Da waren aufwendige Suchverfahren und Ähnlichkeitsberechnungen nicht realisierbar, Assembler war selbst bei kommerziellen Aufgabenstellungen state of the art. Bis zum ersten PC (1981) gingen noch zwölf Jahre ins Land. Heute gilt das nicht mehr. Auch aufwendige Suchen und Ähnlichkeitsberechnungen fehlertoleranter Verfahren sind performant genug, um sie im Alltag einzusetzen. Auf reine Phonetik beschränkte Suchverfahren werden nicht mehr benötigt.

Wo bin ich hier?

ACS Informatik fokussiert sich auf Produkte zur Siche­rung der Adress­qualität. Ihre Produk­tfamilie q.address reicht von einer Stand-alone-Version bis hin zu Inte­gratio­nen in die Business-Anwendun­gen Microsoft Dynamics 365 und SAP CRM, ERP und IS. > mehr…

q.address sichert Adressqualität in Dateien, Datenbanken, in CRM und ERP: Es sucht und findet Adressen, prüft Anschriften postalisch, spürt doppelte Adressen auf und bereinigt sie ohne Informationsverlust. Grundlage ist stets die leistungsstarke, fehlertolerante Suchlogik von q.address, die auch in schwierigsten Fällen fündig wird.

Code berechnung nach Kölner Phoentic

Code nach Kölner Phoentic:
Quellenangabe: LinguList/pyjs-seminar
QADDRESS-LOGO-blue