pyevoc.features.emoji_labelling#
Emoji description labelling with codepoint fallback.
This module enriches term-level EVOC outputs with emoji descriptions. It is intended to run after term-level statistics and, typically, after concreteness labelling.
The expected input is a dataframe containing at least:
termupos
The module adds:
emoji_descriptionemoji_in_lookupemoji_match_methodemoji_match_similarity
Matching strategy#
Emoji matching is performed through several increasingly permissive passes:
exact glyph;
exact codepoints;
normalised glyph;
normalised codepoints;
conservative codepoint-similarity fallback.
The normalisation removes variation selectors and dangling zero-width joiners, while preserving the visible base emoji sequence.
- class pyevoc.features.emoji_labelling.EmojiLabellingConfig(lookup_file='emoji_lookup.csv', models_dir=None, term_col='term', upos_col='upos', emoji_upos='EMOJI', min_similarity=0.8, verbose=True)[source]#
Bases:
objectConfiguration for emoji description labelling.
- Parameters:
- pyevoc.features.emoji_labelling.resolve_emoji_lookup_path(lookup_file='emoji_lookup.csv', *, models_dir=None)[source]#
Resolve the emoji lookup file path.
- pyevoc.features.emoji_labelling.available_emoji_lookup_paths(lookup_file='emoji_lookup.csv')[source]#
Return a diagnostic table of detected emoji lookup locations.
- Parameters:
lookup_file (str)
- Return type:
DataFrame
- pyevoc.features.emoji_labelling.load_emoji_lookup(path=None, *, models_dir=None, lookup_file='emoji_lookup.csv', encoding='utf-8')[source]#
Load an emoji lookup table.
- pyevoc.features.emoji_labelling.emoji_codepoints_hex(value)[source]#
Return Unicode codepoints for an emoji/string as uppercase hex tokens.
- pyevoc.features.emoji_labelling.normalise_emoji_glyph(value)[source]#
Conservatively normalise emoji glyphs for lookup matching.
The function removes variation selectors FE0E/FE0F and dangling zero-width joiners, while preserving the visible base emoji sequence.
- pyevoc.features.emoji_labelling.codepoint_tokens(value)[source]#
Return codepoint tokens excluding variation selectors and ZWJ.
- pyevoc.features.emoji_labelling.codepoint_jaccard(a, b)[source]#
Return Jaccard similarity between two emoji codepoint sets.
- pyevoc.features.emoji_labelling.prepare_emoji_lookup(lookup)[source]#
Prepare a normalised emoji lookup table.
- Parameters:
lookup (DataFrame)
- Return type:
DataFrame
- pyevoc.features.emoji_labelling.add_emoji_descriptions(term_stats_df, *, lookup=None, config=None, models_dir=None, emoji_lookup_file=None, min_similarity=None)[source]#
Add emoji descriptions to a term-level dataframe.