Skip to content

Commit b1d3274

Browse files
data(aroma): broaden the twelve memorizing heads with diverse positives (#256)
Each of these heads was drawing its positives solely from the weak-labelled HSDB odor corpus, with no entry in CURATED at all — which is why they were thin and narrow enough to memorize. Adds well-established character-impact chemistry for each, chosen for structural spread rather than volume, the same way #247 moved tingling off zero: pinenes/camphene/carene/bornyl esters for pine, cineole/terpinen-4-ol/aromadendrene for eucalyptus, phthalides for celery, indole/cresol/benzyl esters/cinnamyl alcohol for narcissus. Honest result: five moved off zero at the 0.5 threshold — narcissus 0 to 4 novel discoveries, frankincense and costus to 2, fennel and allspice to 1. Another five (pine, eucalyptus, rosemary, freesia, elemi) turned out to be under-confident rather than memorizing once probed at 0.35, so the extra positives sharpened heads that had already learned their class. Turmeric and celery did not move at any threshold and are tracked separately; a single-scaffold class that thin is a model problem, not a data problem. AUROC fell for several heads (pine 0.965 to 0.905, frankincense 0.916 to 0.829). That is the right direction — a broader class is genuinely harder to fit, and a score dropping while discovery rises is what learning instead of memorizing looks like. Corpus now trains 167 aroma heads, up from 164. Signed-off-by: Austin L. <86896075+rvnminers-A-and-N@users.noreply.github.com>
1 parent f7c4512 commit b1d3274

1 file changed

Lines changed: 29 additions & 0 deletions

File tree

training/build_aroma_supplement.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,35 @@
8282
"vegetable":["2-isobutyl-3-methoxypyrazine", "2-isopropyl-3-methoxypyrazine", "dimethyl sulfide", "2-acetylpyrrole"],
8383
"grassy": ["cis-3-hexenal", "cis-3-hexen-1-ol", "trans-2-hexenal", "hexanal",
8484
"trans-2-hexen-1-ol", "cis-3-hexenyl acetate"],
85+
# --- Heads that were MEMORIZING (#256): each fired on exactly its own training molecules and
86+
# nothing else. The fix is structural DIVERSITY within the class, not more of one scaffold —
87+
# the same approach that moved `tingling` off zero in #247. All well-established
88+
# character-impact chemistry for these materials, public-domain flavour/essential-oil facts.
89+
"pine": ["alpha-pinene", "beta-pinene", "camphene", "delta-3-carene", "terpinolene",
90+
"myrcene", "bornyl acetate", "isobornyl acetate", "longifolene", "borneol",
91+
"verbenone", "alpha-terpineol"],
92+
"eucalyptus": ["1,8-cineole", "alpha-terpineol", "terpinen-4-ol", "p-cymene", "aromadendrene",
93+
"globulol", "alpha-phellandrene", "gamma-terpinene", "trans-pinocarveol"],
94+
"fennel": ["anethole", "fenchone", "estragole", "alpha-phellandrene", "anisaldehyde",
95+
"fenchyl alcohol", "limonene", "beta-phellandrene", "camphene"],
96+
"celery": ["3-n-butylphthalide", "sedanolide", "sedanenolide", "neocnidilide",
97+
"beta-selinene", "3-n-butyl-4,5-dihydrophthalide", "senkyunolide A", "ligustilide"],
98+
"rosemary": ["1,8-cineole", "camphor", "borneol", "verbenone", "alpha-pinene", "bornyl acetate",
99+
"camphene", "isoborneol", "rosmarinic acid"],
100+
"turmeric": ["ar-turmerone", "alpha-turmerone", "beta-turmerone", "ar-curcumene", "zingiberene",
101+
"beta-sesquiphellandrene", "curlone", "curcumene"],
102+
"allspice": ["eugenol", "methyl eugenol", "beta-caryophyllene", "1,8-cineole", "chavicol",
103+
"eugenyl acetate", "alpha-phellandrene", "terpinen-4-ol"],
104+
"frankincense": ["incensole", "incensole acetate", "alpha-pinene", "octyl acetate", "verbenone",
105+
"serratol", "cembrene", "alpha-thujene", "octanol"],
106+
"narcissus": ["indole", "p-cresol", "benzyl acetate", "cinnamyl alcohol", "benzyl benzoate",
107+
"methyl benzoate", "alpha-terpineol", "eugenol", "benzyl alcohol"],
108+
"freesia": ["linalool", "alpha-ionone", "beta-ionone", "geraniol", "nerol", "benzaldehyde",
109+
"dihydro-beta-ionone", "linalyl acetate", "citronellol"],
110+
"elemi": ["elemol", "elemicin", "limonene", "alpha-phellandrene", "beta-elemene",
111+
"dill apiole", "elemene", "sabinene"],
112+
"costus": ["costunolide", "dehydrocostus lactone", "costol", "costic acid",
113+
"dihydrocostunolide", "alpha-costene", "aplotaxene"],
85114
"green": ["cis-3-hexenal", "trans-2-hexenal", "cis-3-hexen-1-ol", "hexanal"],
86115
# pungent (an odor/chemesthesis head, also tagged mouthfeel): sharp biting Piper long/black-pepper
87116
# amides on top of the corpus's documented pungent molecules (piperine, isothiocyanates, etc.)

0 commit comments

Comments
 (0)