krickert opened a new pull request, #1177: URL: https://github.com/apache/opennlp/pull/1177
This change adds an emoji annotation layer that classic components can opt into, built in three strictly separated tiers so no third-party data ever enters the project: - **Bundled facts**: a project-authored attribute-row table (`codepoints;attribute;value;source;notes`) covering 40 symbols with four attributes each, loaded by `EmojiAnnotations` with per-value provenance and an audit test. The file carries no third-party data; notes cite UCD character names. - **Derived facts**: `EmojiFlags` decodes ISO 3166 codes from flag emoji sequences (regional-indicator pairs and tag sequences) as a pure algorithm over the code points, with no data file at all. - **Joined facts**: `EmojiAnnotationJoin` resolves ISO codes against a user-installed gazetteer at load or run time. Foreign identifiers are never baked into the bundled files, so dataset version churn cannot stale the distribution. The annotation surface is `EmojiAnnotator`, a parallel accessor beside `Term`, deliberately not a set of `Dimension` constants (rationale in the javadoc). Wiring is opt-in only: a feature-generator XML factory for NameFinder, a `DoccatFactory` array entry, and the `SentimentFactory` seam. Default behavior of every component is unchanged; nothing activates without explicit configuration. Out of scope for this iteration, tracked on the ticket: manual section, skin-tone/ZWJ sequence reduction, and a loader for user-downloaded sentiment rankings (the project ships no sentiment data; the bundled table's coarse sentiment column is project-authored). Verification: the full opennlp-runtime suite passes on current main (1449 tests), including the 39 emoji-specific tests (record store audit, flag decoding, annotator surface, and the opt-in wiring for all three components). -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
