pyevoc.features.concreteness#
Concreteness labelling for PyEvoc term-level tables.
This module enriches term-level EVOC outputs with lexical concreteness information. It is designed to operate after term-level statistics have been computed.
The expected input is a dataframe containing at least:
termupos
The module adds:
concreteness_scoreconcreteness_labelconcreteness_in_lexicon
and returns a coverage diagnostic table.
Lexicon lookup#
The concreteness lexicon is searched in the following order:
explicit
pathargument;explicit
lexicon_fileif it is already a valid path;models_dir / lexicon_filewhenmodels_diris supplied;package-bundled resource locations: -
pyevoc.models-pyevoc.resources-pyevoc.datalocal package-adjacent folders: -
pyevoc/models-models-mdluser model directory, usually
~/.pyevoc/models.
Emoji terms are explicitly retained but excluded from lexical concreteness labelling, because emojis are not standard lexical items in concreteness norms.
- class pyevoc.features.concreteness.ConcretenessConfig(lexicon_file='concreteness_lexicon.csv', models_dir=None, term_col='term', upos_col='upos', absent_label='-', cut_abstract=2.5, cut_concrete=3.5, eligible_upos=('NOUN', 'ADJ'), emoji_upos='EMOJI', token_column_candidates=('word', 'term', 'lemma', 'token', 'surface', 'form', 'base_term', 'base'), score_column_candidates=('conc.m', 'conc_m', 'conc.mean', 'conc_mean', 'concreteness', 'concreteness_score', 'conc', 'score', 'rating', 'mean', 'value'), verbose=True)[source]#
Bases:
objectConfiguration for concreteness labelling.
- Parameters:
- token_column_candidates: tuple[str, ...] = ('word', 'term', 'lemma', 'token', 'surface', 'form', 'base_term', 'base')#
- pyevoc.features.concreteness.resolve_concreteness_lexicon_path(lexicon_file='concreteness_lexicon.csv', *, models_dir=None)[source]#
Resolve the concreteness lexicon path.
Resolution order#
lexicon_fileif it already points to an existing file;models_dir / lexicon_fileifmodels_diris supplied;package-bundled resources and package-adjacent model folders;
user model path, usually
~/.pyevoc/models/lexicon_file.
- pyevoc.features.concreteness.available_concreteness_lexicon_paths(lexicon_file='concreteness_lexicon.csv')[source]#
Return a diagnostic table of detected lexicon locations.
- Parameters:
lexicon_file (str)
- Return type:
DataFrame
- pyevoc.features.concreteness.load_concreteness_lexicon(path=None, *, models_dir=None, lexicon_file='concreteness_lexicon.csv', encoding='utf-8')[source]#
Load a concreteness lexicon.
- Parameters:
- Returns:
Raw concreteness lexicon.
- Return type:
- pyevoc.features.concreteness.infer_lexicon_columns(lexicon, *, token_candidates=TOKEN_COLUMN_CANDIDATES, score_candidates=SCORE_COLUMN_CANDIDATES)[source]#
Infer lexical-item and score columns from a concreteness lexicon.
- pyevoc.features.concreteness.prepare_concreteness_map(lexicon, *, config=None)[source]#
Prepare a cleaned concreteness lookup table.
- Parameters:
lexicon (DataFrame)
config (ConcretenessConfig | None)
- Return type:
- pyevoc.features.concreteness.add_concreteness_labels(term_stats_df, *, lexicon=None, config=None, models_dir=None, lexicon_file=None, absent_label=None, cut_abstract=None, cut_concrete=None)[source]#
Add concreteness labels to a term-level dataframe.
- pyevoc.features.concreteness.label_concreteness(terms, *, lexicon=None, term_col='term', upos_col='upos', label_col='concreteness_label', score_col='concreteness_score', in_lexicon_col='concreteness_in_lexicon', absent_label='-', cut_abstract=2.5, cut_concrete=3.5, return_coverage=False)[source]#
Backward-compatible wrapper for concreteness labelling.