Login
Newsletter
Werbung

Do, 18. Oktober 2012, 15:00

LanguageTool-Tutorial – Teil I: Einfache XML-Regeln

Von gulp21

Testen der Regel

Um sicherzugehen, dass die erweiterte Regel keine Fehlalarme auslöst, sollte sie wieder anhand von Wikipedia-Artikeln getestet werden. Dies ist auch wieder über den Rule Creator möglich, der jetzt über den Link oben rechts in den »Expert Mode« geschaltet werden muss. Dort muss nun als Sprache German eingestellt, der komplette Code eingegeben und auf Check XML geklickt werden. Zur Zeit (Juli 2012) werden ein paar Fehler in der Wikipedia gefunden, die aber keine Fehlalarme, sondern schlicht Fehler in den Wikipedia-Artikeln sind, die natürlich direkt in der Wikipedia korrigiert werden sollten (ein Hinweis auf LanguageTool in der Änderungszusammenfassung wäre wünschenswert). Da die Testdaten aber nicht immer den aktuellen Artikelversionen entsprechen, könnte der Fehler zwischenzeitlich schon behoben sein.

Jetzt sollte die Regel noch in LanguageTool selbst getestet werden. Dazu lädt man zunächst die Stand-Alone-Version (.zip) herunter, wobei es bei der Regelentwicklung sinnvoll ist, eine aktuelle Entwicklerversion zu nehmen, damit man nicht aus Versehen eine bereits existierende Regel neu erfindet.

Wenn man die zip-Datei entpackt hat, findet man in der Datei rules/de/grammar.xml alle XML-Regeln für die deutsche Sprache. Dort fügt man in der passenden Kategorie den Code der Regel ein. (Für das Beispiel wäre das nach der Zeile <category name="Zusammen-/Getrenntschreibung">.)

Nach dem Speichern der Änderung kann nun die Benutzeroberfläche durch das Öffnen von LanguageToolGUI.jar gestartet werden. Dort gibt man noch einmal einen Beispielsatz ein und überprüft, ob sowohl der Vorschlag als auch die angezeigte Fehlermeldung richtig sind. Darüber hinaus sollte man, wenn die Regel veröffentlicht werden soll, die gesamte grammar.xml noch mit dem testrules-Skript prüfen. Dazu führt man

$ sh testrules.sh de

(bzw. testrules.batde unter Windows) aus. Wenn alles glatt läuft, dann erscheint die folgende Ausgabe:

Running XML pattern tests...
Running tests for German...
Tests finished!
Running disambiguator rule tests...
Running tests for German...
Tests successful.
Running XML bitext pattern tests...
Tests successful.
Validating XML grammar files ...
Running tests for German...
Validation tests successful.

Das Skript prüft neben der Richtigkeit der XML-Syntax, ob die Regel die Fehler in den fehlerhaften Beispielsätzen findet und die Fehlermarkierung an der richtigen Stelle ist, ob in den richtigen Sätzen von der Regel keine Fehler gefunden werden und ob der Vorschlag mit dem im correction-Attribut vermerkten Vorschlag übereinstimmt. Sollte ein Fehler gefunden werden, könnte das so aussehen:

Exception in thread "main" junit.framework.AssertionFailedError: German: Incorrect suggestions: [denselben] != [dasselben] for rule DAS_SELBE[1]:[(der|die|das|des|dem|den), selbe(n)?]:Zusammen-/Getrenntschreibung: 'das selbe (dasselbe)' etc. on input: Er trägt heute ein und den Selben Pullover wie gestern.

In der Zeile steht, dass der Korrekturvorschlag falsch ist (»Incorrect suggestions«).

Veröffentlichung neuer Regeln

Wenn man eine neue Regel erstellt und getestet hat, möchte man für gewöhnlich diese Regel anderen LanguageTool-Benutzern zur Verfügung stellen. Jeder, der noch kein »offizielles Mitglied« des Entwickler-Teams ist und somit noch keinen Zugriff auf das Versionsverwaltungssystem von LanguageTool hat, kann neue Regeln an die Mailingliste schicken oder alternativ auch im Forum veröffentlichen. Wer regelmäßig neuen Code beisteuern möchte und bereits ein paar gute Beiträge geleistet hat, wird in das Entwickler-Team eingeladen.

Beim Erstellen neuer Regeln ist es immer wichtig, eine seriöse Quelle zu haben, damit LanguageTool keine Verschlimmbesserungen vorschlägt (Sprachgefühl allein genügt nicht). Gute Internetquellen sind z.B. Duden online, canoonet und korrekturen.de.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung