[de] compounds.txt oder eigene Regel für Komposita?

Wann werden zusammengeschriebene Wörter in languagetool/languagetool-language-modules/de/src/main/resources/org/languagetool/resource/de/compounds.txt eingetragen und wann bekommen sie eine eigene Regel?

Ich habe nämlich diese Regel mit dem Online-Editor erstellt und bin jetzt nicht mehr sicher, was ich damit tun soll. Sollte „hinein-fressen“ in compounds.txt eingetragen werden, würde ich es der Kategorie + zuordnen.

<!-- German rule, 2018-11-01 -->
<rule id="HINEIN_FRESSEN_HINEINFRESSEN" name="hinein fressen (hineinfressen)">
 <pattern>
  <token>hinein</token>
  <token>fressen</token>
 </pattern>
 <message><suggestion><match no="1"/><match no="2"/></suggestion> wird zusammengeschrieben.</message>
 <url>https://www.duden.de/rechtschreibung/hineinfressen</url>
 <example correction=''>Man kann nicht alles in sich <marker>hinein fressen</marker>.</example>
 <example>Man kann nicht alles in sich hineinfressen.</example>
</rule>

Mich würde auch interessieren, wann die compounds.txt anspringt und wie die Korrektur funktioniert. Zum Beispiel ergibt „Der Arbeit Geber ist nett.“ keine Fehler, bei „Der Arbeit geber ist nett.“ wird der Fehler aber erkannt.

2 Likes

Gute Regel, danke! Soll/darf ich sie in unser Repository committen?

Der Nachteil an compounds.txt ist, dass sie Groß- und Kleinschreibung nicht flexibel handhaben kann, wie du richtig bemerkt hast.

Ferner kann man bei Regeln in grammar.xml das Attribut inflected hinzufügen und so jede Menge Tipperei sparen. Beispiel:

  <token inflected="yes">fressen</token>

So würde dann auch “hinein fraß” usw. gematcht.

Um sicherzugehen, dass alles funktioniert, kann man weitere Beispiele mit dem entsprechenden Wert für das correction-Attribut hinzufügen:

<example correction='hineinfrisst'>Ich will nicht, dass du alles in dich <marker>hinein frisst</marker>.</example>

Eine feste Regel dazu kenne ich nicht. Aber wenn man eine URL angeben möchte oder eine speziellere Fehlermeldung ausgeben möchte, muss man dazu derzeit eine Regel schreiben.

Unbedingt!

1 Like

Ein weiterer Grund für eine eigene Regel kann sein, dass ein Eintrag in die Compounds.txt in manchen Fällen viele Falschmeldungen produzieren könnte. Dann kann man das mit einem Antipattern korrigieren.

Erledigt, auch wenn es ein paar Tage gedauert hat.