Java JLanguageTool不要忽略单词中的数字
我将JLanguageTool与德语(Java JLanguageTool不要忽略单词中的数字,java,numbers,tokenize,digits,languagetool,Java,Numbers,Tokenize,Digits,Languagetool,我将JLanguageTool与德语(de)一起用于拼写检查,并注意到数字似乎用作单词分隔符(就像空格一样?)。例如,We8lt不是作为一个不正确的单词报告的,而是作为两个拼写错误报告的(一个用于We,一个用于lt)。或者,例如,bis8根本不作为错误报告 示例调用(我将其用作Java库,但行为相同): 这是一个很大的问题,例如单词和数字之间的空格找不到。如何使库/工具不将数字视为分词符?非常感谢。是的,你是对的:LanguageTool在德语中将数字视为分词符 要修改此行为,您必须更改源代码并
de
)一起用于拼写检查,并注意到数字似乎用作单词分隔符(就像空格一样?)。例如,We8lt
不是作为一个不正确的单词报告的,而是作为两个拼写错误报告的(一个用于We
,一个用于lt
)。或者,例如,bis8
根本不作为错误报告
示例调用(我将其用作Java库,但行为相同):
这是一个很大的问题,例如单词和数字之间的空格找不到。如何使库/工具不将数字视为分词符?非常感谢。是的,你是对的:LanguageTool在德语中将数字视为分词符 要修改此行为,您必须更改源代码并从
String pattern=“(“+nonWordPattern.pattern()+”)(?是的,你是对的:LanguageTool在德语中将数字视为单词分隔符
要修改此行为,您必须更改源代码并从
String pattern=“(“+nonWordPattern.pattern()+”|)(?”?
$ echo "Hallo We8lt bis8 Test" | java -jar languagetool-commandline.jar -l de-DE -
Expected text language: German (Germany)
Working on STDIN...
1.) Line 1, column 7, Rule ID: GERMAN_SPELLER_RULE prio=-3
Message: Möglicher Tippfehler gefunden.
Suggestion: WE; Der; Den; Des; Dem
Hallo We8lt bis8 Test
^^
2.) Line 1, column 10, Rule ID: GERMAN_SPELLER_RULE prio=-3
Message: Möglicher Tippfehler gefunden.
Suggestion: LT; als; lag; alt; elf
Hallo We8lt bis8 Test
^^
Time: 1618ms for 1 sentences (0.6 sentences/sec)
String pattern = "(" + nonWordPattern.pattern() + "|(?<=[\\d°])-|-(?=\\d+))";
String pattern = ("(" + nonWordPattern.pattern() + "|(?<=[\\d°])-|-(?=\\d+))").replace("{L}", "{L}\\d");
<rule id="RULE" name="rule">
<pattern>
<token regexp="yes">[a-zäöüß]+\d+[a-zäöüß]*</token>
</pattern>
<message>Fehlt hier ein Leerzeichen?</message>
<example correction=""><marker>P4sswort</marker>.</example>