German rules

Hello,

my students used the (really cool) rule editor to make a few new German rules. We hope this helps:

<rule id="ID" name="tot vs. Tod">    
 <pattern>
  <token postag='ART:.*' postag_regexp='yes'></token>
  <token>Tot</token>
 </pattern>
 <message>Meinen Sie Tod?</message>
 <example correction=''><marker>Der Tot</marker> kam unerwartet.</example>
 <example>Der Tod kam unerwartet.</example>
</rule>
<rule id="ID" name="fehlendes zu">    
 <pattern>
  <token inflected='yes'>brauchen</token>
  <token postag='NEG' postag_regexp='yes'></token>
  <token postag='VER:.+' postag_regexp='yes'><exception postag='VER:EIZ:.*' postag_regexp='yes'></exception><exception postag='PA2:.*' postag_regexp='yes'></exception></token>
 </pattern>
 <message>Meinen Sie "zu" + Verb</message>
 <example correction=''>Du <marker>brauchst nicht kommen</marker>.</example>
 <example>Du brauchst nicht zu kommen.</example>
</rule>
<rule id="ID" name="bei + Pronomen">    
 <pattern>
  <token>bei</token>
  <token postag='VER:.*' postag_regexp='yes'></token>
 </pattern>
 <message>Nach bei kein Verb.</message>
 <example correction=''>Was ich <marker>bei machen</marker> Softwareentwicklern hasse.</example>
 <example>Was ich bei manchen Softwareentwicklern hasse.</example>
</rule>
<rule id="ID" name="Für wie blöd?">    
 <pattern>
  <token>für</token>
  <marker>
  <token>wir</token>
  </marker>
  <token postag='ADJ:.+' postag_regexp='yes'></token>
 </pattern>
 <message>Meinen Sie "wie"?</message>
 <example correction=''>Für <marker>wir</marker> doof hält der mich?</example>
 <example>Für wie doof hält der mich?</example>
</rule>
<rule id="ID" name="Erstellung + Genitiv">    
 <pattern>
  <token>Erstellung</token>
  <token inflected='yes'>ein</token>
  <marker>
  <token postag='SUB:.+' postag_regexp='yes'><exception postag='SUB:GEN:.+' postag_regexp='yes'></exception></token>
  </marker>
 </pattern>
 <message>nach Erstellung folgt der Genitiv.</message>
 <example correction=''>…zur Erstellung eines <marker>Kriterium</marker>.</example>
 <example>... zur Erstellung eines Kriteriums.</example>
</rule>
<rule id="ID" name="zu, als dass">    
 <pattern>
  <token>zu</token>
  <token postag='ADJ:PRD:GRU'></token>
  <token postag='PKT'></token>
  <token>als</token>
  <token negate='yes'>dass</token>
 </pattern>
 <message>Ist "als dass" gemeint?</message>
 <example correction=''>Es war <marker>zu schrecklich, als man</marker> es mit Worten beschreiben kˆnnte.</example>
 <example>Es war zu schrecklich, als dass man es mit Worten beschreiben kˆnnte.</example>
</rule>

Note: This last rule throws matches in the correct samples (Wikipedia/tatoeba). These matches are in fact errors according to Duden. This is a pretty tough comma rule to get right.

<rule id="ID" name="konjunktionale Einheit: insofern als">    
 <pattern>
  <token>insofern</token>
  <token postag='PKT'></token>
  <token>als</token>
 </pattern>
 <message>Zwischen insofern und als steht kein Komma.</message>
 <example correction=''>Du hast mehr geholfen als alle anderen, <marker>insofern, als</marker> du sofort gehandelt hast.</example>
 <example>Du hast mehr geholfen als alle anderen, insofern als du sofort gehandelt hast.</example>
</rule>

Thanks, there are some nice rules. So your students are okay when the rules get published with LanguageTool?

Thanks! I’ll make sure to pass on the compliment.

Yes, the students have kindly given me permission to submit the rules. Great you’re checking back on that!

The rules have been added now except these two:

-“Für wir doof hält der mich?” → we can already detect that (but only using ngram data, as it’s active on https://languagetool.org)

-The last rule, as I didn’t find a good source of explanation yet that we could link (which I prefer to do for tricky cases)

This means the new rules will be active on languagetool.org tomorrow.

Thanks again!

Great!

Regarding the insofern rule, my student used Zwiebelfisch ( Zwiebelfisch-Abc: insofern als/insofern dass - DER SPIEGEL )
and I double-checked in Duden (Duden | insofern | Rechtschreibung, Bedeutung, Definition, Herkunft).

Hope this helps!

Hey,

here my first try with adding an additional rule. It is related to an existing rule, but my example wasn’t corrected by LanguageTool. Instead of “versteinert” it could be for example “finster”, “gut” and so on. How can I trigger this rule with different specified tokens?

<rule id="ID" name="Mine/Miene">    
 <pattern>
  <token inflected='yes'>versteinert</token>
  <marker>
  <token>Mine</token>
  </marker>
 </pattern>
 <message>Mögliche Wortverwechslung: Meinten Sie <suggestion>Miene</suggestion>? (Mine = unterirdischer Gang, Sprengkörper, Kugelschreibermine)</message>
 <example correction=''>Sie schaute ihn mit versteinerter <marker>Mine</marker> an.</example>
 <example>Sie schaute ihn mit versteinerter Miene an.</example>
</rule>

Thanks! I’ve extended the rule, it now looks like this:

      <pattern>
          <token regexp="yes">gute|versteinerte|böse|finstere|traurige</token>
          <marker>
              <token>Mine</token>
          </marker>
      </pattern>

So with regexp=“yes” you can use a regular expression to find more than one word.

Thanks for your hint, but with your expression my example isn’t corrected.

Sie schaute ihn mit versteinerter Mine an.

Don’t you wanna use this expression?

gut|versteinert|böse|finster|traurig

You’re right of course, I’ll change that.

A new rule :slight_smile:

<rule id="ID" name="unter anderem">    
 <pattern case_sensitive='yes'>
  <token regexp='yes'>unter|Unter</token>
  <marker>
  <token>Anderem</token>
  </marker>
 </pattern>
 <message>Bei der Wortgruppe "unter anderem" wird <suggestion>anderem</suggestion> kleingeschrieben.</message>
 <url>http://www.duden.de/rechtschreibung/unter_anderem</url>
 <short>"unter anderem" kleingeschrieben</short>
 <example correction=''>Gefördert wurden unter <marker>Anderem</marker> solarthermische Anlagen. Es gab unter Anderem Nudeln mit Ketchup.</example>
 <example>Gefördert wurden unter anderem solarthermische Anlagen.</example>
 <example correction=''>Es gab unter Anderem Nudeln mit Ketchup.</example>
 <example>Es gab unter anderem Nudeln mit Ketchup.</example>
 <example correction=''>Unter Anderem konnte sie seine Witze nicht verstehen.</example>
</rule>

Danke, dafür gibt es allerdings schon eine Regel, d. h. wenn Du “Es gab unter Anderem Nudeln mit Ketchup.” auf languagetool.org prüfen lässt, wird der Fehler schon gefunden.

Mist. Mein LibreOffice hatte den Fehler vorhin nicht angekreidet (jetzt schon). Und auch im Regel-Editor und in der Liste der Regeln hab ich es nicht finden können. Ich habe aber auch zu speziell gedacht. Wie ich nun gesehen habe, ist es mit durch die spezielle Java-Regel für Groß- und Kleinschreibung abgedeckt. Beim nächsten Mal teste ich es vorher noch in dem Online-Checker. Nichts für ungut :wink: