[DE] Zusammengesetzte Wörter mit Sonderzeichen ("Node.js-Applikation")

Hallo zusammen,

wie kann ich LanguageTool beibringen, zusammengesetzte Begriffe wie beispielsweise Node.js-Applikation als korrekt zu erkennen und in solchen Fällen nicht bezüglich der Regel KLEIN_NACH_PUNKT einen Fehler zu melden?

1 Like

Hallo,

ich habe mich mit diesem Thema eine Weile auseinandergesetzt und bin leider zu keiner Lösung gekommen.

Im Speziellen habe ich versucht, eine neue Ausnahme in segments.srx hinzuzufügen, damit der Tokenizer das Ende des Satzes nach Node. ignorieren soll. Meine Lösung bisher war so oder ähnlich:

<rule break="no">
<beforebreak>\bNode\.</beforebreak>
<afterbreak>js\-Applikation\b</afterbreak>
</rule>

Diese Definition ist an der Definition von URLs (URLs without "www." und Subdomains without "www." (e.g. foo.MyDomain.com), auch in der Datei segments.srx zu finden) angelehnt und sollte meinem Verständnis nach auf das Wort Node. triggern. Allerdings sehe ich kein anderes Verhalten von LanguageTool als ohne dieser Definition.
Auch einfachere Varianten wie

<rule break="no">
<beforebreak>Node.</beforebreak>
<aftetbreak>js-Applikation</afterbreak>
</rule>

scheinen den Tokenizer das Satzende bei Node. nicht korrekt ignorieren zu lassen.

Stimmt die Regel überhaupt? Kann damit der Tokenizer das Satzende richtig erkennen?
Falls nein, wie muss ich die Regel umdefinieren?

Ok, für alle, die später noch auf dieses Problem stoßen: Es musste stattdessen eine neue Regel in disambiguation.xml definiert werden:

<rule id="NODE.JS-APPLIKATION" name="Node.js-Applikation">
    <pattern case_sensitive="yes">
        <token>Node</token>
        <marker>
            <token postag="PKT"/>
        </marker>
        <token spacebefore="no">js-Applikation</token>
    </pattern>
    <disambig action="immunize"/>
</rule>
2 Likes