Wie funktioniert LanguageTool? Erklärung + beste Installation

LanguageTool - Steffen Lippke Coding Tutorials

Du möchtest verstehen, wie eine Grammatik Check am Computer funktioniert?

Hinter simplen Schlangenlinien unter einem Text stecken viele geniale Ideen.

Der Beitrag erklärt Dir wie die Software funktioniert.

Starten wir!

Wie funktioniert Rechtschreibungssoftware?

LanguageTool is t kostenlos
LanguageTool is t kostenlos

Computer verstehen nur 0en und 1en und können einfache mathematische Operationen ausführen.

Menschliche Sprache verstehen sie gar nicht. Weder gesprochen noch geschrieben ergibt die deutsche Sprache für Computer Sinn.

Jeder der Sprachen lernt, muss die 1000 Ausnahmen oder speziellen Formulierung auswendig lernen. Das nervt.

Der Computer kommt deshalb mit Sprache nicht ohne Umwege klar. Programmierer haben deswegen Abstraktionen geschaffen, um Worte für Computer verständlich und bewertbar zu machen.

Grammatik-Software wie Microsoft Word oder LanguageTool sind hochkomplexe Software, welche immer besser werden, aber noch nicht an die Qualität von guten Lektoren herankommen. In den letzten Jahren haben die Tools massive Verbesserung im Bereich Grammatik und natürlicheren Formulieren erreicht.

Natural Languagae Processing und Parse Trees

Der Teilbereich der Informatik nennt sich Natural Language Processing (NLP). Dieser beschäftigt sich mit der Verarbeitung von natürlicher Sprache. Auf der einen Seite kippen wir natürliche Sprache hinein, die Software prüft den Text und gibt uns Fehler möglichst verständlich und akkurat aus.

Korrekte Worte, aber nicht die Verbindung.
Korrekte Worte, aber nicht die Verbindung.

Die deutsche Grammatik folgt einem logischen Untergerüst, welches wir im Alltag nicht wahrnehmen, aber bei korrekten Sätzen vorkommen sollte. Diese Logik versteht der Computer, aber kann nicht den Inhalt des Satzes / der Worte verstehen. Der Computer arbeitet abstrahiert und nutzt Listen und Tabellen z. B.:

  • Julia – Eigennamen (wie Nomen)
  • fährt (fahren) – Verb
  • auf – Präposition
  • dem – Artikel
  • blau – Adjektiv
  • Boot – Nomen

Julia fährt auf dem blauen Boot.

Der Computer baut daraus einen Baum:

                       Sentence
                           |
    |----------------------|------------------|
    |                      |                  |
Noun Phrase           Verb Phrase         |-Noun Phrase -|
    |                      |              |      |       |
  Noun                   Verb           Prep    Adj     Noun
    |                      |              |      |       |
 Julia                  fährt           auf   blauen    Boot

Diese Bäume werden riesig mit langen Sätzen und Nebensätzen. Der Computer versteht nicht die Worte aber, kann die Strukturen wie diesen Baum verstehen.

Wie funktioniert Grammatik-Software?

Die klassische Grammatik Software kann Parse Trees bilden und hat viele Regeln einprogrammiert.

Diese Regeln sind von Sprache zu Sprache unterschiedlich. Eine Grammatik-Software versucht aus jedem Satz eine Parse Tree im Hintergrund zu erstellen.

Kommt die Software nicht weiter, geht die Software von einem Grammatikfehler aus. Der Fehler kann an allen Stellen in der Parse Tree passieren, sodass alle folgenden Äste nicht mehr analysiert werden. Die Bestimmung des Grammatikfehlers im Satz ist nicht trivial. Entweder der erste oder zweite Teil des Satzes ist unpassend. Inhaltlich versteht der Computer nicht, was aus dem Kontext Sinn ergibt

Fehlt das Verb oder Nomen, setzt die Software einen Platzhalter, um den Rest doch noch verarbeiten zu können.

Neue Ansätze aus der „Künstlichen Intelligenz“

KI immer und überall
KI immer und überall

Neuronale Netze wollen die klassische Software verbessern. Die Modelle werden mit Beispiel Korrekturen und richtigen Texten trainiert. Die Fehlererkennung basiert nicht auf eine vor-programmierte Logik, sondern auf den Modellen.

Eine Grammatik-Software wie Grammarly oder Microsoft Editor nutzen neuronale Netze:

  1. Eingabe: Die Software erhält Textdaten als Eingabe. Diese Daten können aus verschiedenen Textsammlungen stammen, z. B. aus Dokumenten, Webseiten oder Datenbanken.
  2. Vorverarbeitung: Die Eingabedaten werden vorverarbeitet, um sie für das neuronale Netz nutzbar zu machen. Dies kann das Entfernen von Füllwörtern (Stopwords), die Normalisierung (geht –> gehen) von Text und die Umwandlung von Wörtern in Zahlenabstraktion umfassen.
  3. Neuronales Netz: Das vorverarbeitete Datenmaterial wird dann durch das neuronale Netz geführt. Ein neuronales Netz besteht aus verschiedenen Schichten von Knotenpunkten (Neuronen), die Informationen von anderen Neuronen oder von außen aufnehmen, modifizieren und dann ein Ergebnis an das nächste Neuron weitergeben. Die Neuronen sind jeweils durch sogenannte Kanten verbunden. Ein künstliches neuronales Netzwerk kann in 3 Schichten aufgeteilt werden: in die Eingabeschicht (Input Layer), die verborgenen Schichten (Hidden Layers) und die Ausgabeschicht (Output Layer)
  4. Training: Während des Trainings lernt das Netzwerk, Muster in den Daten zu erkennen und Vorhersagen zu treffen. Dies geschieht durch einen Prozess namens “Backpropagation”, der einen Anpassungs- und Verbesserungsprozess im Netzwerk anstößt.
  5. Anwendung: Nach dem Training kann das Netzwerk auf neue Sätze angewendet werden, um Grammatikfehler zu erkennen und Korrekturen vorzuschlagen.

Es ist wichtig zu beachten, dass die genaue Funktionsweise und Architektur des neuronalen Netzes je nach spezifischer Grammatik-Software variieren kann. Es gibt viele Arten von neuronale Netzen, welche unterschiedlich verknüpft sind.

n-grams und Wahrscheinlichkeiten

Klassische Grammatik Software ist so la la.

Wenn Du ein Buch veröffentlichen willst oder eine Abschlussarbeit schreibst, findet die Software nicht alle Fehler. Oberflächliche Fehler trüben das Bild und wirken unprofessionell und schlampig. Der Leser geht davon aus, dass der Inhalt genauso schlecht sein muss.

n-grams (Wortgruppen) sind Abschnitte aus großen, „korrekten“ Textsammlungen (Korpus).

  • 2-gram ist z. B. „Das ist“ oder „Er lernt“
  • 4-gram ist „Heute gehe ich zu“, „auf dem schnellen Schiff“.

Eine n-gram Erkennung versteht weder Grammatik noch Rechtschreibung, aber berechnet Wahrscheinlichkeiten. Das n-gram „Er lernt“, kommt 124234 Mal in der Textsammlung vor, während „Wir lernt“ nur 4 Mal vorkommt.

Die Software sagt den Schreiberling, dass ein Satz mit „Wir lernt“ sehr ungewöhnlich ist, und deshalb markiert die Software einen Fehler.

Wir lernt Schach heute“

Die Software prüft den Satz nicht nur mit 2-grams, 3-grams oder 4-grams, sondern schaut sich auch das n-gram verschoben an. Die Software prüft aus unserem Beispiel „Wir lernt“ und „lernt Schach“ oder auch „Wir lernt Schach“

Eigene LanguageTool Server

Du bist jetzt so richtig scharf auf eine gute Software, die Deine Fehler findet?

Das Programm LanguageTool läuft lokal auf vielen Computer oder auf einen Homeserver im eigenen Netz.

Die Software ist integriert in LibreOffice. Alternativ zeige ich Dir, wie Du einen kleinen LanguageTool-Server startest. n-grams sind keine leichte Kost für Deinen Computer. 15 GB Text musst Du downloaden, um n-grams zu nutzen. Trotzdem solltest Du immer die möglichst beste Erkennung verwenden.

Docker aufsetzen

LanguageTool basiert auf Java. Die Ausführungsplattform kannst Du Dir aus dem Web direkt laden oder alternativ einen Docker verwenden.

  • Notwendig: Docker Setup / Docker Compose
  • Notwendig: min. 16 GB RAM – die Software ist RAM hungrig. Auf 8 GB RAM kannst Du LanguageTool auch betreiben. Es kann aber zu Crashs kommen, wenn kein RAM mehr vorhanden ist.
  • Optional: Java Tutorial

Docker bietet den Vorteil eine gekapselte und vollständige Umgebung zu haben. Alles ist im Container, was das Programm braucht, um zu funktionieren.

Erstelle eine Datei mit languagetool.yml

version: "3.9"
services:
  languagetool:
    container_name: languagetool
    image: meyay/languagetool:latest
    restart: always
    read_only: true
    tmpfs:
      - /tmp:exec
    cap_drop:
      - ALL
    cap_add:
      - CAP_CHOWN
      - CAP_DAC_OVERRIDE
      - CAP_SETUID
      - CAP_SETGID
    security_opt:
      - no-new-privileges
    ports:
       - 8081:8081
    environment:
      MAP_UID: 783
      MAP_GID: 783
      JAVA_XMX: "1000m"
    volumes:
      - /home/user/ngrams:/ngrams
      - /home/user/fasttext:/fasttext

Die N-grams (Wortgruppen) musst Du Dir herunterladen und dann so entpacken, dass Du diese Ordnerstruktur aufbaust:

home/
├─ user/
│  ├─ ngrams/
│  │  ├─ en/
│  │  │  ├─ 1grams/
│  │  │  ├─ 2grams/
│  │  │  ├─ 3grams/
│  │  ├─ de/
│  │  │  ├─ 1grams/
│  │  │  ├─ 2grams/
│  │  │  ├─ 3grams/

Starte LanguageTool mit docker compose -f languagetool.yml

Verwende http://localhost:8071/v2, um diesen z. B. in LibreOffice oder VS Code zu verwenden. Die Software sendet den Textabschnitt zu der Schnittstelle des Servers, erkennt die Sprache, detektiert den Fehler und sendet diese zurück. Die Frontend-Software zeigt dann die Schlangenlinien an.

Dieser Beitrag ist zitierfähig. Adaptiere das Beispiel nach dem Harvard Stil: Lippke, Steffen (2026): ‚Programmieren lernen – Tutorial für Einsteiger‘, Security and Coding Explosive Tutorials [online], 01. Januar 2026. Verfügbar unter: https://lippke.li/programmieren-lernen/, ISSN: 3054-3436

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert