pino-source-code / artifacts /character_grouping_diagnostic_v8.md
Matthew Ford
character verdict: discriminative-weak under distributional metric
28a2e34
|
Raw
History Blame Contribute Delete
8.25 kB

Character grouping diagnostic v8

Primary snapshot: v8_2_clause_guard_dominance (data/odour_character_labels_v8_2_clause_guard_dominance.jsonl).

Verdict

Character verdict: discriminative-weak. Under the corrected 26-class unthresholded prevalence metric, mean cosine distance is 0.080 and mean JS divergence is 0.044 bits. This supports weak but genuine distributional separation, suitable only as a secondary axis pending human decision.

Artifact. The perfect superclass Jaccard is mechanical: 1.000 = all genres have identical thresholded superclass active sets, NOT improved discrimination. After collapse, every genre profile contains every available superclass, so set-presence Jaccard has no room to differ. Distributional class-count metrics are not perfect (26-class all-labelled mean cosine 0.905; 26-class >=3-label mean cosine 0.858), so the prior character-is-non-discriminative verdict is retracted.

Axis classes mean pairwise Jaccard delta vs 26
26-class 26 0.793 baseline
six_superclass 5 1.000 +0.207
eight_superclass 8 1.000 +0.207

Superclass Sets Compared

six_superclass

  • amber_oriental: animalic_spicy_smoky, balsamic_woody_mossy, edible_gourmand, floral, fresh_citrus_green
  • citrus_cologne: animalic_spicy_smoky, balsamic_woody_mossy, edible_gourmand, floral, fresh_citrus_green
  • floral_woody: animalic_spicy_smoky, balsamic_woody_mossy, edible_gourmand, floral, fresh_citrus_green
  • fougere: animalic_spicy_smoky, balsamic_woody_mossy, edible_gourmand, floral, fresh_citrus_green
  • wildcard: animalic_spicy_smoky, balsamic_woody_mossy, edible_gourmand, floral, fresh_citrus_green

eight_superclass

  • amber_oriental: animalic_musk_smoke, aromatic_cool_herbal, balsamic_woody_mossy, floral, fresh_citrus_green_fruit, gourmand_sweet, savory_phenolic, spice
  • citrus_cologne: animalic_musk_smoke, aromatic_cool_herbal, balsamic_woody_mossy, floral, fresh_citrus_green_fruit, gourmand_sweet, savory_phenolic, spice
  • floral_woody: animalic_musk_smoke, aromatic_cool_herbal, balsamic_woody_mossy, floral, fresh_citrus_green_fruit, gourmand_sweet, savory_phenolic, spice
  • fougere: animalic_musk_smoke, aromatic_cool_herbal, balsamic_woody_mossy, floral, fresh_citrus_green_fruit, gourmand_sweet, savory_phenolic, spice
  • wildcard: animalic_musk_smoke, aromatic_cool_herbal, balsamic_woody_mossy, floral, fresh_citrus_green_fruit, gourmand_sweet, savory_phenolic, spice

Label Density

Axis avg distinct classes / labelled formula avg labelled materials / labelled formula
26-class 2.31 2.05
six_superclass 1.78 2.05
eight_superclass 1.94 2.05

Corrected Distributional Metrics

Axis mean cosine, all labelled mean cosine, >=3 classes material-level mean cosine
26-class 0.905 0.858 0.999
six_superclass 0.942 0.934 1.000
eight_superclass 0.926 0.900 1.000

Lower cosine means more genre-profile separation. The 26-class axis keeps the strongest separation; collapsing to superclasses weakens it and made presence-Jaccard unusable. best_grouping is null unless a grouped axis materially improves on 26-class; the lowest grouped Jaccard is only recorded as lowest_jaccard_grouping for audit.

Unthresholded Prevalence Distributional Metric

This is the corrected character discrimination test. Vectors retain the raw per-genre prevalence of each class before any active-set thresholding; cosine is reported as distance (1 - similarity) and JS divergence is reported in bits.

Axis classes mean cosine distance mean JS divergence (bits)
26-class 26 0.080 0.044
six_superclass 5 0.015 0.007
eight_superclass 8 0.023 0.010

26-class cosine distance

Genre amber_oriental citrus_cologne floral_woody fougere wildcard
amber_oriental 0.000 0.043 0.027 0.007 0.162
citrus_cologne 0.043 0.000 0.013 0.044 0.145
floral_woody 0.027 0.013 0.000 0.024 0.167
fougere 0.007 0.044 0.024 0.000 0.170
wildcard 0.162 0.145 0.167 0.170 0.000

26-class JS divergence (bits)

Genre amber_oriental citrus_cologne floral_woody fougere wildcard
amber_oriental 0.000 0.033 0.016 0.005 0.077
citrus_cologne 0.033 0.000 0.013 0.033 0.078
floral_woody 0.016 0.013 0.000 0.014 0.082
fougere 0.005 0.033 0.014 0.000 0.087
wildcard 0.077 0.078 0.082 0.087 0.000

six_superclass cosine distance

Genre amber_oriental citrus_cologne floral_woody fougere wildcard
amber_oriental 0.000 0.002 0.003 0.001 0.030
citrus_cologne 0.002 0.000 0.004 0.002 0.033
floral_woody 0.003 0.004 0.000 0.003 0.047
fougere 0.001 0.002 0.003 0.000 0.026
wildcard 0.030 0.033 0.047 0.026 0.000

six_superclass JS divergence (bits)

Genre amber_oriental citrus_cologne floral_woody fougere wildcard
amber_oriental 0.000 0.001 0.002 0.001 0.012
citrus_cologne 0.001 0.000 0.002 0.002 0.015
floral_woody 0.002 0.002 0.000 0.002 0.021
fougere 0.001 0.002 0.002 0.000 0.011
wildcard 0.012 0.015 0.021 0.011 0.000

eight_superclass cosine distance

Genre amber_oriental citrus_cologne floral_woody fougere wildcard
amber_oriental 0.000 0.006 0.007 0.002 0.043
citrus_cologne 0.006 0.000 0.003 0.008 0.047
floral_woody 0.007 0.003 0.000 0.010 0.062
fougere 0.002 0.008 0.010 0.000 0.043
wildcard 0.043 0.047 0.062 0.043 0.000

eight_superclass JS divergence (bits)

Genre amber_oriental citrus_cologne floral_woody fougere wildcard
amber_oriental 0.000 0.003 0.003 0.001 0.020
citrus_cologne 0.003 0.000 0.002 0.004 0.020
floral_woody 0.003 0.002 0.000 0.005 0.026
fougere 0.001 0.004 0.005 0.000 0.020
wildcard 0.020 0.020 0.026 0.020 0.000

Threshold Sensitivity

Grouping activity threshold mean pairwise Jaccard
six_superclass 5% 1.000
six_superclass 10% 1.000
six_superclass 15% 0.880
eight_superclass 5% 1.000
eight_superclass 10% 0.868
eight_superclass 15% 0.886

Recommendation: Retract the superclass presence-Jaccard conclusion: the 1.000 is a collapse/presence artifact, not proof that character is dead. Keep corrected distributional metrics as the circuit-breaker. Under unthresholded prevalence vectors, 26-class character shows weak but nonzero profile separation (mean cosine distance 0.080; mean JS divergence 0.044 bits; presence-Jaccard baseline 0.793, best collapsed presence-Jaccard 1.000). Recommended direction: character may resume only at 26-class granularity under distributional and well-labelled filters; do not use superclass presence-Jaccard for go/no-go decisions.

Character verdict policy: Character profiles are weakly but genuinely separated at 26-class granularity. Superclass collapse remains non-discriminative and threshold-driven. Character may resume only as a secondary axis gated by this distributional metric; presence-Jaccard must not be used again as the circuit-breaker.

Substantivity remains confirmed and publishable independent of this character diagnostic. Next human decision: ship substantivity, resume character only under the corrected 26-class distributional circuit-breaker, or park character for a trajectory-proportion pivot.

No new sourcing, label expansion, dataset assembly, training, or upload was performed.