This is an automated email from the ASF dual-hosted git repository.
krickert pushed a change to branch OPENNLP-1991-feedforward-dependency-parser
in repository https://gitbox.apache.org/repos/asf/opennlp.git
omit 1519c758f OPENNLP-1991: Add a feedforward dependency parser
add 139b9ddb3 GH-1449: Share ONNX inference between DocumentCategorizerDL
and NameFinderDL with one failure message (#1450)
add ce2da5357 GH-1447: Reject self-closing AD markup tags as opening tags
(#1448)
add 779420863 GH-1451: Share staged install, checksum and tar helpers
across the dictionary installers (#1452)
add 8d2a8c310 GH-1419: Correct and trim opennlp-runtime Javadoc (#1426)
add eef3909dc GH-1420: Remove duplication and add readResolve in
opennlp-runtime (#1427)
add ef814bdba GH-1454: Tidy document, stemmer, corpora and doccat chapters
and README (#1455)
add 84a1d6268 GH-1460: Match escaped tags in the bundled Spanish head
rules (#1461)
add e286928a1 GH-1458: Parse name-finder tags and parse-tree strings
without regular expressions (#1459)
add a6f19f91e GH-1449: Align DocumentCategorizerDLEval with the shared
ONNX failure message (#1463)
add 46d9d96a1 GH-1456: Tighten normalizer, tokenizer, introduction and
language detector chapters (#1457)
add 7a560bd7a OPENNLP-1935: Regex removal (10/10): Forbid java.util.regex
in production code (#1348)
add c1e5fa142 OPENNLP-1991: Add a feedforward neural dependency parser
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (1519c758f)
\
N -- N -- N
refs/heads/OPENNLP-1991-feedforward-dependency-parser (c1e5fa142)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.github/CONTRIBUTING.md | 14 +
README.md | 9 +-
dev/README-hunspell-dictionaries.md | 4 +-
dev/forbidden-regex.txt | 30 +
.../opennlp/tools/commons/SuppressForbidden.java | 51 +
.../java/opennlp/tools/namefind/NameSample.java | 50 +-
.../src/main/java/opennlp/tools/parser/Parse.java | 109 +-
.../main/java/opennlp/tools/util/ParamChecks.java | 36 +
.../main/java/opennlp/tools/util/StringUtil.java | 199 ++-
.../java/opennlp/tools/util/ParamChecksTest.java | 29 +
.../opennlp/tools/util/StringUtilLocaleTest.java | 27 +-
.../tools/util/StringUtilSplitNonEmptyTest.java | 7 +-
.../java/opennlp/tools/util/StringUtilTest.java | 117 +-
.../opennlp/tools/formats/ad/ADSentenceStream.java | 7 +-
.../opennlp/tools/formats/conllu/ConlluStream.java | 7 +-
.../tools/formats/ad/ADSentenceStreamTest.java | 23 +
.../conllu/ConlluDependencyParserUsageTest.java | 50 +-
opennlp-core/opennlp-ml/opennlp-dl/README.md | 27 +-
.../src/main/java/opennlp/dl/AbstractDL.java | 216 ++-
.../src/main/java/opennlp/dl/JsonScan.java | 6 +-
.../opennlp/dl/doccat/DocumentCategorizerDL.java | 134 +-
.../java/opennlp/dl/namefinder/NameFinderDL.java | 150 +-
.../java/opennlp/dl/AbstractDLChunkingTest.java | 24 +-
.../opennlp/dl/InferenceOptionsValidationTest.java | 22 +
.../src/test/java/opennlp/dl/LoadVocabTest.java | 19 +
.../dl/doccat/DocumentCategorizerDLTest.java | 21 +-
.../opennlp/dl/namefinder/NameFinderDLTest.java | 18 +-
opennlp-core/opennlp-runtime/BENCHMARKS.md | 12 +
.../java/opennlp/tools/ml/BeamSearchBenchmark.java | 11 +-
.../opennlp/tools/depparse/ArcStandardBeam.java | 147 ++
.../opennlp/tools/depparse/ContributionCache.java | 175 +++
.../opennlp/tools/depparse/FeedforwardContext.java | 125 +-
.../tools/depparse/FeedforwardDependencyModel.java | 937 +------------
.../depparse/FeedforwardDependencyParser.java | 173 +--
.../depparse/FeedforwardDependencyTrainer.java | 1474 ++++++++++----------
.../opennlp/tools/depparse/FeedforwardNetwork.java | 1011 ++++++++++++++
.../tools/doccat/EmojiFeatureGenerator.java | 5 +-
.../tools/lemmatizer/LemmatizerAnnotator.java | 3 +
.../tools/namefind/NameFinderAnnotator.java | 3 +
.../opennlp/tools/namefind/RegexNameFinder.java | 11 +-
.../tools/namefind/RegexNameFinderFactory.java | 9 +-
.../parser/lang/es/AncoraSpanishHeadRules.java | 13 +-
.../java/opennlp/tools/postag/POSDictionary.java | 6 +-
.../opennlp/tools/postag/POSTaggerAnnotator.java | 3 +
.../sentdetect/SentenceDetectorAnnotator.java | 3 +
.../tools/sentdetect/SentenceDetectorME.java | 23 +-
.../sentiment/EmojiSentimentContextGenerator.java | 5 +-
.../tools/sentiment/EmojiSentimentFactory.java | 2 +
.../java/opennlp/tools/stemmer/CachingStemmer.java | 9 +-
.../opennlp/tools/stemmer/DelegatingStemmer.java | 16 +-
.../java/opennlp/tools/stemmer/PorterStemmer.java | 8 +-
.../java/opennlp/tools/stemmer/SharingStemmer.java | 4 +-
.../opennlp/tools/stemmer/StemmerAnnotator.java | 3 +
.../tools/stemmer/hunspell/AffixCondition.java | 20 +-
.../tools/stemmer/hunspell/HunspellDictionary.java | 47 +-
...nload.java => HunspellDictionaryInstaller.java} | 14 +-
.../tools/stemmer/snowball/SnowballStemmer.java | 3 +-
.../stemmer/snowball/SnowballStemmerFactory.java | 6 +-
.../tools/termvector/TermVectorAnnotator.java | 29 +-
.../opennlp/tools/tokenize/TokSpanEventStream.java | 4 +
.../opennlp/tools/tokenize/TokenizerAnnotator.java | 5 +-
.../opennlp/tools/tokenize/TokenizerFactory.java | 7 +
.../java/opennlp/tools/tokenize/TokenizerME.java | 3 +
.../java/opennlp/tools/tokenize/lang/Factory.java | 34 +-
.../tokenize/lattice/MecabDictionaryInstaller.java | 154 +-
.../tools/tokenize/uax29/WordBreakProperty.java | 7 +-
.../tools/tokenize/uax29/WordSegmenter.java | 10 +-
.../tools/tokenize/uax29/WordTokenizer.java | 14 +-
.../opennlp/tools/tokenize/uax29/WordType.java | 14 +-
.../main/java/opennlp/tools/util/Checksums.java | 96 ++
.../java/opennlp/tools/util/DictionaryCatalog.java | 64 +-
.../main/java/opennlp/tools/util/DownloadUtil.java | 32 +-
.../java/opennlp/tools/util/ResourceInstaller.java | 282 ++--
.../java/opennlp/tools/util/archive/TarStream.java | 67 +-
.../EmojiAnnotationFeatureGenerator.java | 5 +-
.../EmojiAnnotationFeatureGeneratorFactory.java | 1 +
.../AccentFoldCharSequenceNormalizer.java | 3 -
.../opennlp/tools/util/normalizer/AsciiChars.java | 19 +
.../normalizer/BulletCharSequenceNormalizer.java | 14 +-
.../ConfusableSkeletonCharSequenceNormalizer.java | 5 +
.../normalizer/DashCharSequenceNormalizer.java | 7 +
.../normalizer/DigitCharSequenceNormalizer.java | 8 +-
.../opennlp/tools/util/normalizer/Dimension.java | 10 +-
.../normalizer/EllipsisCharSequenceNormalizer.java | 5 +-
.../tools/util/normalizer/EmojiAnnotation.java | 19 +-
.../tools/util/normalizer/EmojiAnnotations.java | 12 +-
.../tools/util/normalizer/EmojiAnnotator.java | 19 +-
.../tools/util/normalizer/EmojiEmoticons.java | 37 +-
.../opennlp/tools/util/normalizer/EmojiFlags.java | 13 +-
.../EmojiToEmoticonCharSequenceNormalizer.java | 5 +
.../EmoticonToEmojiCharSequenceNormalizer.java | 5 +
.../FullCaseFoldCharSequenceNormalizer.java | 28 +-
.../GermanUmlautCharSequenceNormalizer.java | 10 +-
.../InvisibleCharSequenceNormalizer.java | 11 +-
...PreservingWhitespaceCharSequenceNormalizer.java | 2 +-
.../util/normalizer/NfcCharSequenceNormalizer.java | 7 +-
.../normalizer/NfkcCharSequenceNormalizer.java | 7 +-
.../util/normalizer/NormalizationProfile.java | 16 +-
.../util/normalizer/NormalizationProfiles.java | 19 +-
...PreservingWhitespaceCharSequenceNormalizer.java | 3 +-
.../normalizer/QuoteCharSequenceNormalizer.java | 8 +-
.../SocialMediaCharSequenceNormalizer.java | 5 +-
.../tools/util/normalizer/TermAnalyzer.java | 5 +-
.../tools/util/normalizer/TextNormalizer.java | 7 +-
.../util/normalizer/UnicodeEmojiSequences.java | 4 +-
.../util/normalizer/UrlCharSequenceNormalizer.java | 30 +-
.../WhitespaceCharSequenceNormalizer.java | 2 +-
.../tools/chunker/ChunkerAnnotatorTest.java | 18 +-
.../tools/depparse/ArcStandardStateTest.java | 1 +
.../depparse/DependencyParserEdgeCaseTest.java | 123 +-
.../tools/depparse/DependencyTestSamples.java | 123 ++
.../tools/depparse/FeedforwardContextTest.java | 116 ++
.../FeedforwardDependencyParserEdgeCaseTest.java | 184 ---
.../depparse/FeedforwardDependencyParserTest.java | 1266 +++++++++++------
.../depparse/FeedforwardDependencyScoringTest.java | 440 +++---
.../tools/depparse/FeedforwardRefinementTest.java | 220 +++
.../tools/document/DocumentAnalyzerTest.java | 49 +-
.../document/DocumentPipelineExampleTest.java | 10 +-
...{TestComponents.java => DocumentTestStubs.java} | 25 +-
.../opennlp/tools/namefind/NameSampleTest.java | 67 +
.../test/java/opennlp/tools/parser/ParseTest.java | 181 +++
.../opennlp/tools/parser/ParserAnnotatorTest.java | 15 +-
.../lang/es/AncoraSpanishHeadRulesBundledTest.java | 147 ++
.../opennlp/tools/postag/POSDictionaryTest.java | 10 +
.../opennlp/tools/stemmer/StemmerFactoryTest.java | 4 +
...t.java => HunspellDictionaryInstallerTest.java} | 12 +-
.../tools/termvector/SingleSpaceTokens.java | 46 +-
.../tools/termvector/TermVectorAnnotatorTest.java | 5 +
.../tools/termvector/TermVectorPipelineTest.java | 5 +-
.../lattice/MecabDictionaryInstallerTest.java | 7 +-
.../tokenize/uax29/WordBreakPropertyTest.java | 2 +-
.../tools/tokenize/uax29/WordSegmenterTest.java | 5 +-
.../tools/tokenize/uax29/WordTokenizerTest.java | 5 +-
.../opennlp/tools/tokenize/uax29/WordTypeTest.java | 5 +-
.../java/opennlp/tools/util/ChecksumsTest.java | 85 ++
.../opennlp/tools/util/DictionaryCatalogTest.java | 87 ++
.../opennlp/tools/util/InstallerTestSupport.java | 42 -
.../tools/util/ResourceInstallerHttpTest.java | 16 +-
.../tools/util/ResourceInstallerSelectedTest.java | 198 +++
.../opennlp/tools/util/ResourceInstallerTest.java | 61 +-
.../opennlp/tools/util/archive/TarStreamTest.java | 58 +
.../AccentFoldCharSequenceNormalizerTest.java | 5 +-
.../normalizer/AlignedNormalizerPipelineTest.java | 9 +-
.../CaseFoldCharSequenceNormalizerTest.java | 5 +-
.../CharSequenceNormalizerContractTest.java | 33 +
.../util/normalizer/ConfusableSkeletonTest.java | 5 +-
.../tools/util/normalizer/ConfusablesTest.java | 5 +-
...CharSequenceNormalizerCharacterizationTest.java | 5 +-
.../EmojiCharSequenceNormalizerTest.java | 6 +-
.../EmojiToEmoticonCharSequenceNormalizerTest.java | 5 +-
.../EmoticonToEmojiCharSequenceNormalizerTest.java | 5 +-
.../FullCaseFoldCharSequenceNormalizerTest.java | 5 +-
.../GermanUmlautCharSequenceNormalizerTest.java | 5 +-
...ervingWhitespaceCharSequenceNormalizerTest.java | 5 +-
.../util/normalizer/NormalizationProfilesTest.java | 13 +-
...ervingWhitespaceCharSequenceNormalizerTest.java | 5 +-
.../util/normalizer/SetBasedNormalizerTest.java | 5 +-
.../normalizer/TermAnalyzerMultilingualTest.java | 5 +-
.../tools/util/normalizer/TermAnalyzerTest.java | 9 +-
.../tools/util/normalizer/TextNormalizerTest.java | 5 +-
.../UnicodeCharSequenceNormalizerTest.java | 5 +-
.../normalizer/UnicodeEmojiSequencesParseTest.java | 5 +-
.../resources/opennlp/tools/parser/es_head_rules | 22 +
opennlp-docs/src/docbkx/corpora.xml | 15 +-
opennlp-docs/src/docbkx/dependency.xml | 34 +-
opennlp-docs/src/docbkx/doccat.xml | 1 -
opennlp-docs/src/docbkx/document.xml | 42 +-
opennlp-docs/src/docbkx/introduction.xml | 47 +-
opennlp-docs/src/docbkx/langdetect.xml | 13 +-
opennlp-docs/src/docbkx/namefinder.xml | 2 +-
opennlp-docs/src/docbkx/normalizer.xml | 80 +-
opennlp-docs/src/docbkx/stemmer.xml | 32 +-
opennlp-docs/src/docbkx/tokenizer.xml | 63 +-
opennlp-eval-tests/lang/es/parser/es-head-rules | 24 +-
.../dl/doccat/DocumentCategorizerDLEval.java | 3 +-
.../tools/eval/UniversalDependencyParserEval.java | 47 +-
opennlp-tools/lang/es/parser/es-head-rules | 24 +-
pom.xml | 19 +
rat-excludes | 1 +
179 files changed, 6964 insertions(+), 4153 deletions(-)
create mode 100644 dev/forbidden-regex.txt
create mode 100644
opennlp-api/src/main/java/opennlp/tools/commons/SuppressForbidden.java
create mode 100644
opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/depparse/ArcStandardBeam.java
create mode 100644
opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/depparse/ContributionCache.java
create mode 100644
opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/depparse/FeedforwardNetwork.java
rename
opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/stemmer/hunspell/{HunspellDictionaryDownload.java
=> HunspellDictionaryInstaller.java} (84%)
create mode 100644
opennlp-core/opennlp-runtime/src/main/java/opennlp/tools/util/Checksums.java
create mode 100644
opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/depparse/FeedforwardContextTest.java
delete mode 100644
opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/depparse/FeedforwardDependencyParserEdgeCaseTest.java
create mode 100644
opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/depparse/FeedforwardRefinementTest.java
rename
opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/document/{TestComponents.java
=> DocumentTestStubs.java} (76%)
create mode 100644
opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/parser/lang/es/AncoraSpanishHeadRulesBundledTest.java
rename
opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/stemmer/hunspell/{HunspellDictionaryDownloadTest.java
=> HunspellDictionaryInstallerTest.java} (94%)
create mode 100644
opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/util/ChecksumsTest.java
create mode 100644
opennlp-core/opennlp-runtime/src/test/java/opennlp/tools/util/ResourceInstallerSelectedTest.java
create mode 100644
opennlp-core/opennlp-runtime/src/test/resources/opennlp/tools/parser/es_head_rules