Kristian Rickert created OPENNLP-1870:
-----------------------------------------
Summary: Emoji annotation layer wired to Sentiment, Name Finder,
and Doccat
Key: OPENNLP-1870
URL: https://issues.apache.org/jira/browse/OPENNLP-1870
Project: OpenNLP
Issue Type: Task
Components: dl, Sentiment Detection
Affects Versions: 3.0.0-M4
Reporter: Kristian Rickert
Assignee: Kristian Rickert
*Stacks on:* OPENNLP-1869.
*Summary.* Extend the emoji lookup with a small, provenance-tagged annotation
layer per symbol: human-readable name (CLDR short-name), sentiment (with its
own {{sentiment_source}}), coarse entity type (VEHICLE, LANDMARK, ANIMAL, FLAG,
FOOD, ...), and a document-category hint. Surface these as parallel layers on
the {{Term}} model (original emoji, folded emoticon, name text, sentiment tag)
so each consumer picks the layer it needs. Wire the annotations as optional
input to Sentiment Detection, the Name Finder (name text plus entity-type as a
gazetteer-like signal), and the Document Categorizer. Each annotation dimension
is opt-in, so a consumer that only wants the folded text pays nothing for the
rest.
*Acceptance criteria.*
* Optional annotation dimensions (name, sentiment, entity type, category), each
with its own provenance/source field, surfaced through {{Term}}.
* Wired as optional features into Sentiment Detection, Name Finder, and
Document Categorizer.
* Each dimension independently opt-in; default behavior unchanged.
* Licensing cleared and documented for every bundled annotation source (see
epic-level LEGAL item).
h2. Out of scope (for the whole epic)
* DL whitespace/dash offset-safety (done in 1850:
{{NameFinderDL.findInOriginal}}, {{AbstractDL.normalizeInputAligned}}).
* The {{Alignment}} model and {{andThen}} themselves (delivered in 1850; this
epic consumes them).
* Changing any default normalization behavior. This epic adds offset-aware
capability and the provenance/annotation model; it does not turn expanding
folds on by default.
h2. Open questions to close in design review
# The gate (NFC/NFKC/case-fold edits): confirm option (c) for the MVP, or take
ICU4J. Gates OPENNLP-1867.
# CSV vs annotated {{.txt}} for the lookups; one combined file or one per fold
type.
# Offset-aware method on {{CharSequenceNormalizer}} directly vs a parallel
capability interface.
# Default aggressiveness: full case folding and NFKC change tokens visibly, so
likely opt-in, not default.
# Whether {{UNSPECIFIED}} entries are allowed in a release build at all, or
each must be reviewed and signed off.
# Which dataset anchors each annotation dimension (emoji-sentiment ranking,
CLDR for names, and what for entity type and category); same file or a separate
keyed file.
# Emoji/emoticon as punctuation vs a dedicated {{WordType}} for counting and
feature generation.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)