Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 93 additions & 0 deletions training/build_aroma_supplement.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,99 @@
"costus": ["costunolide", "dehydrocostus lactone", "costol", "costic acid",
"dihydrocostunolide", "alpha-costene", "aplotaxene"],
"green": ["cis-3-hexenal", "trans-2-hexenal", "cis-3-hexen-1-ol", "hexanal"],
# --- INDICATIVE heads (#262): right less than half the time when they fire, because 11-30
# positives cannot draw a boundary against 2,400 negatives. These are the ones with deep,
# uncontroversial public chemistry, so the fix is straightforward: more structurally diverse
# positives. Probability calibration was tested first and does NOT work here — isotonic
# regression needs data too, so it lifted `fruity` (101 positives) and made `marine` and
# `gardenia` worse. Data is the lever.
"citrus": ["limonene", "citral", "geranial", "neral", "citronellal", "linalool",
"gamma-terpinene", "beta-pinene", "sabinene", "myrcene", "terpinolene",
"octanal", "decanal", "nonanal", "dodecanal", "nootkatone", "valencene",
"citronellol", "neryl acetate", "geranyl acetate"],
"almond": ["benzaldehyde", "benzyl alcohol", "benzyl acetate", "furfural", "5-methylfurfural",
"heliotropin", "p-tolualdehyde", "phenylacetaldehyde", "benzyl benzoate",
"2-phenylethanol", "salicylaldehyde", "cinnamaldehyde"],
"bready": ["2-acetyl-1-pyrroline", "6-acetyl-2,3,4,5-tetrahydropyridine", "maltol", "furfural",
"methional", "2,3-butanedione", "2-acetylpyrazine", "5-hydroxymethylfurfural",
"2-acetylfuran", "3-methylbutanal", "2,5-dimethylpyrazine", "furfuryl alcohol"],
"earthy": ["geosmin", "2-methylisoborneol", "2-isopropyl-3-methoxypyrazine",
"2-isobutyl-3-methoxypyrazine", "2-ethyl-3-methoxypyrazine", "patchoulol",
"alpha-humulene", "1-octen-3-ol", "2-methoxy-3-methylpyrazine", "borneol"],
"cumin": ["cuminaldehyde", "p-cymene", "gamma-terpinene", "beta-pinene", "safranal",
"perillaldehyde", "cuminyl alcohol", "myrcene", "alpha-terpinene"],
"oregano": ["carvacrol", "thymol", "p-cymene", "gamma-terpinene", "linalool", "borneol",
"alpha-terpinene", "myrcene", "terpinen-4-ol", "carvacrol methyl ether"],
"thyme": ["thymol", "carvacrol", "p-cymene", "gamma-terpinene", "linalool", "borneol",
"camphene", "alpha-thujene", "terpinen-4-ol", "geraniol"],
"dill": ["carvone", "dillapiole", "alpha-phellandrene", "limonene", "myristicin",
"dihydrocarvone", "myrcene", "p-cymene", "anethofuran"],
"bergamot": ["linalyl acetate", "linalool", "limonene", "gamma-terpinene", "nerol",
"beta-pinene", "myrcene", "neryl acetate", "geranial", "sabinene"],
"violet": ["alpha-ionone", "beta-ionone", "methyl ionone", "alpha-irone", "beta-irone",
"dihydro-beta-ionone", "alpha-isomethylionone", "2,6-nonadienal",
"dihydro-alpha-ionone"],
"soapy": ["decanal", "undecanal", "dodecanal", "2-methylundecanal", "1-decanol",
"1-dodecanol", "lauric aldehyde", "nonanal", "1-undecanol", "methyl laurate"],
"powdery": ["heliotropin", "vanillin", "coumarin", "alpha-ionone", "musk ketone",
"ethylvanillin", "anisyl alcohol", "benzyl salicylate", "4-methylacetophenone"],
"melon": ["melonal", "cis-3-hexenyl acetate", "cis-6-nonenal", "2,6-nonadienal", "cis-3-nonen-1-ol", "benzyl acetate", "nonanal", "cis-6-nonen-1-ol"],
"mango": ["3-carene", "gamma-decalactone", "alpha-terpinene", "gamma-octalactone", "terpinolene", "cis-ocimene"],
"guava": ["ethyl butyrate", "cis-3-hexenol", "ethyl hexanoate", "3-sulfanylhexyl acetate", "hexanal", "beta-caryophyllene", "limonene", "ethyl acetate", "1-hexanol"],
"cassis": ["4-methoxy-2-methyl-2-butanethiol", "beta-caryophyllene", "linalool", "terpinen-4-ol", "delta-3-carene", "gamma-terpinene", "alpha-pinene"],
"blackberry":["2-heptanone", "methyl anthranilate", "furaneol", "linalool", "alpha-ionone"],
"blueberry":["linalool", "trans-2-hexenal", "geraniol", "eucalyptol", "alpha-terpineol"],
"passionfruit":["hexyl butyrate", "3-sulfanylhexyl acetate", "3-sulfanylhexan-1-ol", "beta-ionone", "linalool", "hexyl hexanoate"],
"lime": ["limonene", "gamma-terpinene", "citral", "beta-pinene", "terpinolene",
"geranial", "neral", "alpha-terpineol", "myrcene", "sabinene"],
"mandarin": ["limonene", "gamma-terpinene", "methyl N-methylanthranilate", "myrcene",
"alpha-pinene", "linalool", "octanal", "decanal", "thymol", "terpinolene"],
"ginger": ["zingiberene", "6-gingerol", "6-shogaol", "zingerone", "beta-sesquiphellandrene",
"ar-curcumene", "alpha-farnesene", "camphene", "geranial", "beta-bisabolene"],
"blackpepper": ["piperine", "beta-caryophyllene", "limonene", "sabinene", "alpha-pinene",
"beta-pinene", "delta-3-carene", "myrcene", "alpha-phellandrene", "linalool"],
"nutmeg": ["myristicin", "sabinene", "alpha-pinene", "beta-pinene", "elemicin",
"safrole", "terpinen-4-ol", "limonene", "myrcene", "eugenol"],
"cardamom": ["1,8-cineole", "alpha-terpinyl acetate", "linalool", "limonene", "sabinene",
"alpha-terpineol", "myrcene", "geraniol", "linalyl acetate", "nerolidol"],
"sage": ["camphor", "1,8-cineole", "alpha-thujone", "beta-thujone", "borneol", "camphene",
"alpha-pinene", "bornyl acetate", "viridiflorol", "humulene"],
"juniper": ["alpha-pinene", "myrcene", "sabinene", "limonene", "terpinen-4-ol",
"beta-pinene", "gamma-cadinene", "alpha-terpinene", "germacrene D", "borneol"],
"tea": ["linalool", "geraniol", "cis-jasmone", "methyl jasmonate", "beta-ionone",
"indole", "benzyl alcohol", "2-phenylethanol", "hexanal", "trans-2-hexenal"],
"tobacco": ["megastigmatrienone", "solanone", "beta-damascenone", "neophytadiene",
"beta-ionone", "furfural", "phenylacetaldehyde", "damascone", "cyclotene"],
"marine": ["2,6-nonadienal", "cis-3-hexenol", "dimethyl sulfide", "1-octen-3-ol",
"cis-4-heptenal", "geosmin", "trans-2-nonenal", "benzothiazole", "octanal"],
"elderflower": ["linalool", "cis-rose oxide", "nerol oxide", "hotrienol", "alpha-terpineol",
"beta-damascenone", "hexanal", "phenylacetaldehyde", "nonanal"],
"lilac": ["lilac aldehyde", "lilac alcohol", "linalool", "alpha-terpineol", "indole",
"benzyl alcohol", "cinnamyl alcohol", "hotrienol", "nerol oxide"],
"mimosa": ["anisaldehyde", "heliotropin", "benzyl alcohol", "2-phenylethanol",
"methyl anisate", "palmitic acid", "linalool", "benzaldehyde", "anisyl alcohol"],
"violetleaf": ["2,6-nonadienal", "trans-2-hexenal", "cis-3-hexenol", "2-nonenal",
"cis-3-hexenyl acetate", "1-octen-3-ol", "hexanal", "trans-2-nonenal"],
"tomato": ["2-isobutylthiazole", "cis-3-hexenal", "trans-2-hexenal", "hexanal",
"beta-ionone", "6-methyl-5-hepten-2-one", "1-penten-3-one", "geranylacetone",
"methional", "cis-3-hexenol"],
"medicinal": ["phenol", "guaiacol", "thymol", "eugenol", "methyl salicylate",
"carvacrol", "1,8-cineole", "camphor", "menthol", "m-cresol"],
"rancid": ["butyric acid", "isovaleric acid", "hexanoic acid", "octanoic acid",
"trans-2-nonenal", "heptanoic acid", "valeric acid", "propionic acid",
"2,4-decadienal", "4-methyloctanoic acid"],
# fig and magnolia sat just under the 0.70 AUROC bar and fell off the roster when the corpus
# shifted around them. Rather than let two heads go, give each its documented character
# chemistry — sesquiterpenes and the creamy lactone for fig, the ocimene/anthranilate floral
# set for magnolia — and keep the generic fruit esters OUT, which is what cost blackberry.
"fig": ["germacrene D", "beta-caryophyllene", "gamma-decalactone", "methyl salicylate",
"trans-2-hexenal", "alpha-copaene", "alpha-ylangene", "delta-cadinene",
"gamma-dodecalactone", "alpha-humulene"],
"magnolia": ["methyl anthranilate", "trans-beta-ocimene", "citral", "geraniol",
"alpha-terpineol", "methyl benzoate", "isoeugenol", "nerolidol",
"benzyl alcohol", "cis-beta-ocimene"],
"alcoholic": ["ethanol", "1-propanol", "isobutanol", "isoamyl alcohol", "1-butanol",
"2-methylbutanol", "1-hexanol", "phenethyl alcohol", "1-pentanol"],
# pungent (an odor/chemesthesis head, also tagged mouthfeel): sharp biting Piper long/black-pepper
# amides on top of the corpus's documented pungent molecules (piperine, isothiocyanates, etc.)
"pungent": ["piperlongumine", "piperlonguminine", "pipernonaline", "sarmentine",
Expand Down
Loading