[Trennmuster] Entfernen von deklinierten Wörtern

Werner LEMBERG wl at gnu.org
Mi Aug 19 07:43:09 CEST 2020


>> Meiner Erkenntnis nach ist `patgen` da recht empfindlich.  Immer
>> wieder tauchen in `german.dic` Wörter auf, wo die Grundform bereits
>> in unserer Liste ist, die deklinierte Form allerdings falsch
>> getrennt wird.  Es nützt übrigens gar nichts, wenn beispielsweise
>> das Wort »Dreher« mit allen Deklinationsformen inkludiert ist.  Es
>> kommt explizit darauf an, daß »Binnendreher« mit Deklinationsformen
>> in der Liste aufscheint.
> 
> Hier weichen unsere Ansichten ab: acht Buchstaben Abstand ist die
> große Ausnahme und eine weitere Trennstellen zwischen der kritischen
> Stelle und dem Rest senkt die Wahrscheinlichkeit, dass der letzte
> Endungsbuchstabe eine Rolle spielt weiter.  Auch gehört es nicht zur
> kritischen Gruppe der Wörter mit expliziter Trennunterdrückung.

`Patgen` sind all solche Regeln gänzlich egal.  Es reagiert
empfindlich (a) auf kleinste Unregelmäßigkeiten in den Mustern, und
(b) wenn bestimmte Buchstabenkombinationen nicht enthalten sind.

Qualität für `patgen` heißt, möglichst viele Buchstabenkombinationen
abzudecken.  Wir haben also zwei verschiedene Ziele, die nicht
deckungsgleich sind:

  (1) eine hochqualitative Wortliste, die auch für andere Zwecke
      verwendet werden kann (z.B. morphologische Wortanalyse)
  (2) hochqualitative Trennmuster

> Mit dem Wortzerlegungsskript haben wir jetzt auch eine gute
> Kontrollmöglichkeit um uns iterativ an die nötigen Einträge
> heranzutasten, daher befürworte ich eine Beschränkung auf die
> Grundformen + ggf. nahestehende Ableitungen oder Fälle mit Umlautung
> (werde aber fortan auf Entfernungen verzichten).

Hmm.  Das mit dem »iterativ herantasten« ist ja genau das, was ich
mache!  Nachdem ich 5% der Fehltrennungen abgearbeitet habe, erzeuge
ich die 1000 Dateien mit Fehltrennungen neu, und das wird noch eine
ganze Weile so weitergehen.

>> Sobald es einen Übergang zu automatisch generierten
>> Deklinationsformen gibt, brauchen wir das nicht mehr, und vieles
>> kann aufgeräumt und entfernt werden.
> 
> Anstelle der automatisch generierten Deklinationsformen schlage ich
> ein "kontrolliertes Auslichten" vor:
> 
> * Abgeleitete Formen von Zusammensetzungen werden in eine
>   Zusatzliste verschoben, wenn die Endung "hinreichend weit" von der
>   Morphemgrenze entfernt ist.  Diese Liste bildet unsere
>   Kontrollgruppe.
>   
> * Die patgen-Muster werden neu generiert und für alle Wörter der
>   Kontrollgruppe wird die patgen-Zerlegung mit dem Original
>   verglichen.
>   
> * Bei Abweichungen werden die betroffenen Wörter zurück in die
>   eigentliche "wortliste" verschoben.

Das halte ich für unnötig kompliziert.  Ich bin eher dafür, daß wir
direkt die Trennergebnisse von automatisch generierten
Deklinationsformen mit denen der vorhandenen Wortliste abgleichen.
Das Skript und die Eingangsdatei werden solange verfeinert, bis sie
ident sind (sprich: bis wir eine fehlerfreie Trennung in beiden Fällen
haben).  Danach brauchen wir uns um das Einfügen von
Deklinationsformen keine Gedanken mehr zu machen.

> Damit kann die Worthäufigkeit als Aufnahmekriterium entfallen ohne
> dass die Liste unnötig aufgebläht wird.

Das Argument mit dem »unnötig aufblähen« ist auch etwas, das ich für
falsch halte.  Wie erwähnt, kommt es bei `patgen` *ausschließlich* auf
die Quantität an – zumindest ist das die Beobachtung, die ich in all
den Jahren gemacht habe.  Die Hypothese, daß Muster, die auf
ausgewählten Wörtern basieren, nicht enthaltene Wörter besser trennen,
konnte ich nie verifizieren.

Und Kritik an der Größe der Musterdatei lasse ich nicht gelten:
Derzeit ist sie ca 233kByte groß, was heutzutage wirklich winzig klein
ist und keinerlei Rolle mehr spielt.


    Werner




Mehr Informationen über die Mailingliste Trennmuster