Open udomai opened 3 years ago
Aufgabe:
Kurze Notiz:
posRegex("…")
entspricht dem XML <token postag="…" postag_regexp="yes"/>
tokenRegex("…")
entspricht dem XML <token regexp="yes">…</token>
new PatternTokenBuilder().posRegex("PRP.*").min(0).build()
entspricht dem XML <token min="0" postag="…" postag_regexp="yes"/>
usw. usw., man kann sich an den anderen APs orientieren. cs
steht für "case sensitive".
Wichtig: vor dem Committen testen per de\AgreementRuleTest.java UND per SentenceSourceChecker auf dem Nightly Regression Test Corpus (vorher/nachher, Diff)
Test auf dem Nightly Regression Test Corpus: (Auswirkung von 9c156e5a22070eaf492c6f17d01679815d227ad0, s.o.)
REM 22 Zeilen (3581 → 3559), davon
→ kann theoretisch auf 13 TFP, 0 AFP, 1 TP reduziert werden, wenn man das Antipattern erweitert:
token(","),
new PatternTokenBuilder().posRegex("PRP.*").min(0).build(),
new PatternTokenBuilder().posRegex("ART:DEF.*").setSkip(-1).build(),
posRegex("VER.*[123].*"),
tokenRegex("und|oder|aber"),
new PatternTokenBuilder().posRegex("PRP.*").min(0).build(),
posRegex("ART:DEF.*")
Test des erweiterten AP auf dem Nightly Regression Test Corpus:
REM 12 Sätze (3581 → 3569), davon
→ Das Antipattern erstmal so lassen, wie es nach dem obigen Commit ist, Statistiken im Auge behalten
The above before/after tests with a self-made diff take an hour each (2 x 30 mins to have the SentenceSourceChecker
run DE_AGREEMENT
over the entire de-DE regression test corpus).
@fabrichter, as a personal Christmas wish, I would love to be able to run the SentenceSourceChecker
on a server and, as an extra, have a diff like the nightly between the "before" and "after" results... maybe @s-burst can help with a script?
This would facilitate work on DE_AGREEMENT and DE_AGREEMENT2 (as well as other java rules, presumably) massively. It can be done with the existing infrastructure, though – it's just that it's really slow.
Thanks to the new testing infrastructure created by @fabrichter, testing a new AP for DE_AGREEMENT was a breeze!
https://github.com/languagetool-org/languagetool/commit/df41d495a9f26229b3461ad261e17da30c16b701
Die deutsche AgreementRule (src/main/java/org/languagetool/rules/de/AgreementRule.java) wird >100k-mal pro Woche geöffnet, aber nur in <47 % der Fälle angewendet. Hier können wir mit ein paar systematischen Fixes bestimmt viel bewegen.
False Positives
UNKNOWN
)Falsche Suggestions
Keine Suggestion, obwohl eine möglich ist
Erkannte Fehlermuster