Regel-Vorschlag doppeltes Verb

Hallo,

ich hab eine kleine Regel geschrieben. Ich bin völlig aus der Übung, deshalb gerne nochmal drübergucken und evtl. auch generalisieren.

Die Premium-Version entdeckt diesen Fehler bereits, aber unzuverlässig. Die kostenlose Version noch gar nicht.

<rule id="DOPPELTES_VERB" name="Doppelt verwendetes Verb">
 <pattern>
  <token postag='VER:.+' postag_regexp='yes'></token>
  <token postag='ART:.+' postag_regexp='yes' min='0'></token>
  <token postag='SUB:.+' postag_regexp='yes'></token>
  <token><match no="0"/></token>
 </pattern>
 <message>Das Wort "\1" kommt versehentlich doppelt vor oder es fehlt evtl. ein Komma.</message>
 <suggestion>\1 \2 \3</suggestion>
 <suggestion>\2 \3 \4</suggestion>
 <suggestion>\1 \2 \3, \4</suggestion>
 <short>Doppeltes Verb</short>
 <example correction="hat Angst|Angst hat|hat Angst, hat">So habe ich mich gefragt, warum Herr Müller <marker>hat Angst hat</marker>, obwohl eine Härtefallregelung für seine Altersgruppe geplant ist.</example>
<example>Theodor hat Krebs, hat aber keine Chemo.</example>
<example correction="hat Krebs|Krebs hat|hat Krebs, hat">Theodor <marker>hat Krebs hat</marker> aber keine Chemo.</example>
<example correction="haben Glück|Glück haben|haben Glück, haben">Wir hoffen, wir <marker>haben Glück haben</marker>.</example>
<example>Ich hoffe, er hat Glück gehabt.</example>
<example correction="trinken Bier|Bier trinken|trinken Bier, trinken">Wir <marker>trinken Bier trinken</marker> Wein, so soll es sein!</example>
<example correction="kaufen Wurst|Wurst kaufen|kaufen Wurst, kaufen">Wenn wir <marker>kaufen Wurst kaufen</marker>, müssen wir sie auch bezahlen.</example>
<example correction="tanken Benzin|Benzin tanken|tanken Benzin, tanken">Kann es sein, dass <marker>tanken Benzin tanken</marker> immer teurer wird?</example>
</rule>

Ich habe die Regel angepasst, damit sie auch mit gebeugten Formen funktioniert. Aktuell hat sie noch sehr unspezifische Vorschläge, meistens ergibt nur einer von den dreien grammatikalisch Sinn. Es wäre also zu überlegen, für verschiedene Satzstellungen einzelne Regeln zu schreiben.

Ich habe die Regel auf alle Verben ausgeweitet.

Hallo Michael, danke, ich kann zumindest spontan kein Problem mit der Regel sehen. Am besten erstellst du einen Pull Request dafür.

1 Like

Ich versuche gerade, diese Regel zu verbessern, habe aber Probleme. Vereinfachtes Beispiel:

<token>wenn</token>
<token min="0">der</token>
<token min="0">schöne</token>
<token>Hans</token>
<token postag="VER:.+" postag_regexp="yes"></token>
<token>Socken</token>
<marker>
  <token><match no="2" /></token>
</marker>
<example correction="">Wenn der schöne Hans <marker>kauft</marker> Socken kauft, ist er froh</example>

Der match stimmt nur, wenn die beiden min-Tokens nicht zutreffen, sonst wäre match="3" oder "4" korrekt. Ich kann ja aber dem Verb keine explizite Variable zuweisen. Muss ich jetzt für jede mögliche Variante eine eigene Regel schreiben?