Login


 
Newsletter
Werbung
Do, 13. Dezember 2012, 15:00

LanguageTool-Tutorial Teil III: Java-Regeln und falsche Freunde

Von gulp21

LanguageTool warnt den Benutzer vor dem falschen Freund »actual«

Markus Brenneis

LanguageTool warnt den Benutzer vor dem falschen Freund »actual«

Regeln für falsche Freunde

Nun noch einmal kurz zu in XML geschrieben Regeln. Es geht aber nicht mehr um Grammatik- und Stilregeln, sondern um die Regeln zur Warnung vor falschen Freunden in fremdsprachigen Texten. Die Regeldatei false-friends.xml befindet sich im Verzeichnis src/main/resources/org/languagetool/rules.

Die folgende Regel zeigt Deutsch-Muttersprachlern in englischen Texten dann eine Warnung an, wenn »actual« (eigentlich, tatsächlich) verwendet wird, und schlägt die richtige Übersetzung des deutschen »aktuell« (current, [the] latest, up-to-date) vor. Der Kontext wird dabei nicht beachtet, weshalb die Warnung immer bei dem Wort »actual« erscheint. Wer also Englisch gut genug beherrscht, um nicht mehr in diese Falle zu tappen, kann diese Regel einfach in den Einstellungen von LanguageTool abstellen.

<rulegroup id="ACTUAL">
  <rule>
    <pattern lang="en">
      <token regexp="yes">actual|actually</token>
    </pattern>
    <translation lang="de">eigentlich</translation>
    <translation lang="fr">vrai</translation>
  </rule>
  <rule>
    <pattern lang="de">
      <token>aktuell</token>
    </pattern>
    <translation lang="en">current</translation>
    <translation lang="en">(the) latest</translation>
    <translation lang="en">up-to-date</translation>
  </rule>
</rulegroup>

Alle Regeln, die etwas mit der Warnung vor Wörtern, die »actual« ähneln, zu tun haben, werden in einer rulegroup zusammengefasst. Jedes rule-Element hat ein Unterelement pattern, das einen Token enthält. Dieser Token gibt an, bei welchem Wort eine Warnung ausgeben werden soll. Die Sprache des Wortes wird mit dem lang-Attribut am pattern-Tag angegeben. Nach dem pattern-Teil werden in translation-Tags mit lang-Attribut die Übersetzungen in den Sprachen angegeben, für deren Muttersprachler das im pattern-Teil angegebene Wort ein falscher Freund ist.

Andersherum ist für Englisch-Muttersprachler das deutsche »aktuell« auch ein falscher Freund. Deshalb gibt es auch für die andere Richtung eine Regel. Hier sieht man auch, dass mehrere Übersetzungen für eine Sprache angegeben werden können. Außerdem benutzt LanguageTool diese Information, um Deutsch-Muttersprachlern die richtige Übersetzung von »aktuell« vorschlagen zu können.

Zusammenfassung und weitere Informationen

Hier ist noch eine Zusammenfassung von dem, was in Teil III erklärt wurde:

  • Erstellen von Java-basierten Regeln und das Testen dieser Regeln
  • Verwendung von POS-Tags in Java-Regeln (hasPosTag, hasPartialPosTag, getReadings)
  • Grundlegende SVN-Befehle (up, add, status, diff, commit)
  • Anlegen von Regeln für die Warnung vor falschen Freunden

Dies war der letzte Teil der Artikelreihe. Das LanguageTool-Entwicklerteam freut sich immer über neue Beiträge, egal ob es sich um neue Regeln, Fehlermeldungen oder Übersetzungen handelt. Neben dem Entwickeln neuer Regeln gibt es noch andere kleine und große Aufgaben auf der To-Do-Liste, bei deren Bearbeitung Hilfe gerne gesehen ist (z.B. beim Vereinfachen des Einstellungsdialogs). Wie immer gibt es weitere Informationen auf der Development-Webseite und im Wiki.

Autoreninformation

Markus Brenneis (Webseite) ist seit November 2011 LanguageTool-Entwickler und schreibt regelmäßig u.a. neue Regeln für die deutsche Grammatikprüfung.

Dieser Artikel ist in freiesMagazin 12/2012 (ISSN 1867-7991) erschienen. Veröffentlichung mit freundlicher Genehmigung.

  • Das Werk darf vervielfältigt, verbreitet und öffentlich zugänglich gemacht werden, Abwandlungen und Bearbeitungen des Werkes müssen unter den gleichen Bedingungen weitergegeben werden. Der Name des Autors/Rechteinhabers muss in der von ihm festgelegten Weise genannt werden.

    - Weitere Informationen
Kommentare (Insgesamt: 0 || Kommentieren )
Pro-Linux
Frohe Weihnachten Fest!
Neue Nachrichten
Werbung