[
https://issues.apache.org/jira/browse/OPENNLP-1975?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18121667#comment-18121667
]
ASF GitHub Bot commented on OPENNLP-1975:
-----------------------------------------
rzo1 commented on code in PR #1314:
URL: https://github.com/apache/opennlp/pull/1314#discussion_r4159273870
##########
opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/featuregen/FeatureGeneratorUtil.java:
##########
@@ -110,4 +107,21 @@ else if (pattern.isInitialCapitalLetter()) {
return (feat);
}
+
+ /**
+ * Tests for one uppercase code point followed by a period, and nothing
else. Any script
+ * counts, including the supplementary planes.
+ *
+ * @param token The token.
+ * @return {@code true} for exactly that shape.
+ */
+ private static boolean isCapPeriod(String token) {
+ if (token.isEmpty()) {
+ return false;
+ }
+ final int first = token.codePointAt(0);
+ final int periodOffset = Character.charCount(first);
+ return Character.isUpperCase(first) && periodOffset + 1 == token.length()
Review Comment:
Thanks @krickert, the LEGACY switch looks good to me. It reproduces the old
^[A-ZÄÖÜ]\.$ behaviour exactly, including the trailing line terminator, and
it's consistent with what we did for the emoji normalizer in #1313.
@jzonthemtn, does that work for you? If so, please resolve the thread.
One blocker before merge: eval #93
(https://ci-builds.apache.org/job/OpenNLP/job/eval-tests-configurable/93/) on
4ea6f1c71 has a failure:
ConllXPosTaggerEval.evalSwedishMaxentQn
expected: <0.9377652050919377> but was: <0.934052333804809>
@krickert Can you take a look ?
> RegEx removal part 9: Correct the output of the regex sites in
> TokenSampleStream, ParserTool, ConlluStream, DownloadUtil and
> FeatureGeneratorUtil
> -------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: OPENNLP-1975
> URL: https://issues.apache.org/jira/browse/OPENNLP-1975
> Project: OpenNLP
> Issue Type: Bug
> Reporter: Richard Zowalla
> Assignee: Kristian Rickert
> Priority: Major
> Fix For: 3.0.0
>
> Time Spent: 1h 20m
> Remaining Estimate: 0h
>
> Split out of OPENNLP\-1928 \(PR #1275\). Depends on OPENNLP\-1928 \(RegEx
> removal part 1\).
> Replaces the regular expressions of these sites with scans that follow the
> intended format instead of copying the regex quirks. The output changes:*
> {{TokenSampleStream}} \(English\): tokens are split on Unicode White\_Space;
> a leading space no longer yields an empty first token; a line without a token
> resets the open\-quote state; a token with a letter or digit of any script is
> a word.
> * {{ParserTool}}: brackets that follow each other are each separated
> \({{a\)\)b}} gives {{a \) \) b}}\).
> * {{ConlluStream}}: a malformed multiword token id \({{3\-}}, {{\-4}},
> {{3\-\-4}}, {{1\-2\-3}}, {{4\-3}}\) fails with an {{InvalidFormatException}}
> naming the id.
> * {{DownloadUtil}}: a blank checksum file is an {{IOException}} saying so.
> * {{FeatureGeneratorUtil}}: the {{cp}} class requires exactly one capital and
> one period.
> Before merge: tokenizer eval build that reads through {{TokenSampleStream}}.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)