Loading

Learning to Smell

Where to start? 5 ways to learn 2 smell!

We have written a notebook that explores 5 ways to attempt this challenge.

shraddhaa_mohan

Hi everyone!

Open In Colab

@rohitmidha23 and me are undergrad students studying computer science, and found this challenge particularly interesting to explore the applications of ML in Chemistry. We have written a notebook that explores 5 ways to attempt this challenge. It includes baselines for

  • ChemBERTa
  • Graph Conv Networks
  • MultiTaskClassifier using Molecular Fingerprints
  • Sklearn Classifiers (Random Forest etc.) using Molecular Fingerprints
  • Chemception (2D representation of molecules)

Check it out @ https://colab.research.google.com/drive/1-RedHEQSAVKUowOx2p-QoKthxayRshUa?usp=sharing

The most difficult task in this challenge is trying to get good representations of SMILES that is understandable for ML algorithms and we have tried to give examples on how that has been done in the past for these kind of tasks.

We hope that this notebook helps out other beginners like ourselves.

As always we are open to any feedback, suggestions and criticism!

If you found our work helpful, do drop us a :heart:!

AICrowd Learning To Smell Challenge

What is the challenge exactly?

This challenge is all about the ability to be able to predict the different smells associate with a molecule. The information based upon which we are supposed to predict the smell is the smile of a molecule. Each molecule is labelled with multiple smells, with the total number of distinct smells being 109.

What is a smile?

SMILES (Simplified Molecular Input Line Entry System) is a chemical notation that allows a user to represent a chemical structure in a way that can be used by the computer. They describe the structure of chemical species using short ASCII strings.

What is the most important task in this challenge?

This most important task at hand here is gaining a meaningful representation of each smile. There are several ways to do this, and this notebook attempts to give you quite a few pathways to gain a representation of a smile that can then be used in an ML pipeline. The different ways discussed here are:

  • Tokenizing of Smiles and using ChemBERTA
  • Graph Conv
  • Molecular Fingerprints
  • 2D representation of molecules (Chemception)

Download the Data

In [ ]:
!gdown --id 1t5be8KLHOz3YuSmiiPQjopb4c_q2U4tG
!unzip olfactorydata.zip 
#thanks mmi333
Downloading...
From: https://drive.google.com/uc?id=1t5be8KLHOz3YuSmiiPQjopb4c_q2U4tG
To: /content/olfactorydata.zip
100% 94.3k/94.3k [00:00<00:00, 36.0MB/s]
Archive:  olfactorydata.zip
  inflating: train.csv               
  inflating: test.csv                
  inflating: sample_submission.csv   
  inflating: vocabulary.txt          
In [ ]:
!mkdir data
!mv train.csv data
!mv test.csv data
!mv vocabulary.txt data
!mv sample_submission.csv data

Install reqd Libraries

In [ ]:
import sys
import os
import requests
import subprocess
import shutil
from logging import getLogger, StreamHandler, INFO


logger = getLogger(__name__)
logger.addHandler(StreamHandler())
logger.setLevel(INFO)

def install(
        chunk_size=4096,
        file_name="Miniconda3-latest-Linux-x86_64.sh",
        url_base="https://repo.continuum.io/miniconda/",
        conda_path=os.path.expanduser(os.path.join("~", "miniconda")),
        rdkit_version=None,
        add_python_path=True,
        force=False):
    """install rdkit from miniconda
    ```
    import rdkit_installer
    rdkit_installer.install()
    ```
    """

    python_path = os.path.join(
        conda_path,
        "lib",
        "python{0}.{1}".format(*sys.version_info),
        "site-packages",
    )

    if add_python_path and python_path not in sys.path:
        logger.info("add {} to PYTHONPATH".format(python_path))
        sys.path.append(python_path)

    if os.path.isdir(os.path.join(python_path, "rdkit")):
        logger.info("rdkit is already installed")
        if not force:
            return

        logger.info("force re-install")

    url = url_base + file_name
    python_version = "{0}.{1}.{2}".format(*sys.version_info)

    logger.info("python version: {}".format(python_version))

    if os.path.isdir(conda_path):
        logger.warning("remove current miniconda")
        shutil.rmtree(conda_path)
    elif os.path.isfile(conda_path):
        logger.warning("remove {}".format(conda_path))
        os.remove(conda_path)

    logger.info('fetching installer from {}'.format(url))
    res = requests.get(url, stream=True)
    res.raise_for_status()
    with open(file_name, 'wb') as f:
        for chunk in res.iter_content(chunk_size):
            f.write(chunk)
    logger.info('done')

    logger.info('installing miniconda to {}'.format(conda_path))
    subprocess.check_call(["bash", file_name, "-b", "-p", conda_path])
    logger.info('done')

    logger.info("installing rdkit")
    subprocess.check_call([
        os.path.join(conda_path, "bin", "conda"),
        "install",
        "--yes",
        "-c", "rdkit",
        "python=={}".format(python_version),
        "rdkit" if rdkit_version is None else "rdkit=={}".format(rdkit_version)])
    logger.info("done")

    import rdkit
    logger.info("rdkit-{} installation finished!".format(rdkit.__version__))
install()
add /root/miniconda/lib/python3.6/site-packages to PYTHONPATH
python version: 3.6.9
fetching installer from https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
done
installing miniconda to /root/miniconda
done
installing rdkit
done
rdkit-2020.09.1 installation finished!
In [ ]:
!pip install -q transformers
!pip install -q simpletransformers
# !pip install wandb   #Uncomment if you want to use wandb
     |████████████████████████████████| 1.3MB 7.7MB/s 
     |████████████████████████████████| 2.9MB 54.7MB/s 
     |████████████████████████████████| 890kB 42.7MB/s 
     |████████████████████████████████| 1.1MB 42.4MB/s 
  Building wheel for sacremoses (setup.py) ... done
     |████████████████████████████████| 215kB 9.0MB/s 
     |████████████████████████████████| 1.7MB 17.7MB/s 
     |████████████████████████████████| 51kB 7.3MB/s 
     |████████████████████████████████| 7.4MB 55.7MB/s 
     |████████████████████████████████| 71kB 10.6MB/s 
     |████████████████████████████████| 317kB 51.5MB/s 
     |████████████████████████████████| 163kB 50.3MB/s 
     |████████████████████████████████| 122kB 56.3MB/s 
     |████████████████████████████████| 102kB 14.7MB/s 
     |████████████████████████████████| 102kB 13.2MB/s 
     |████████████████████████████████| 6.7MB 46.1MB/s 
     |████████████████████████████████| 112kB 59.9MB/s 
     |████████████████████████████████| 4.4MB 46.3MB/s 
     |████████████████████████████████| 133kB 54.8MB/s 
     |████████████████████████████████| 71kB 10.4MB/s 
     |████████████████████████████████| 122kB 52.9MB/s 
     |████████████████████████████████| 71kB 10.3MB/s 
  Building wheel for seqeval (setup.py) ... done
  Building wheel for watchdog (setup.py) ... done
  Building wheel for subprocess32 (setup.py) ... done
  Building wheel for blinker (setup.py) ... done
  Building wheel for pathtools (setup.py) ... done
ERROR: google-colab 1.0.0 has requirement ipykernel~=4.10, but you'll have ipykernel 5.3.4 which is incompatible.
ERROR: seqeval 1.2.1 has requirement numpy==1.19.2, but you'll have numpy 1.18.5 which is incompatible.
ERROR: seqeval 1.2.1 has requirement scikit-learn==0.23.2, but you'll have scikit-learn 0.22.2.post1 which is incompatible.
ERROR: botocore 1.19.2 has requirement urllib3<1.26,>=1.25.4; python_version != "3.4", but you'll have urllib3 1.24.3 which is incompatible.

ChemBerta

ChemBERTa ia a collection of BERT-like models applied to chemical SMILES data for drug design, chemical modelling, and property prediction. We finetune this existing model to use it for our application.

First we visualize the attention head using the bert-viz library, we can use this tool to see if the model infact understands the smiles it is processing.

We will be using the tokenizer that was pretrained, if we trained our own tokenizer the results would probably be better.

I plan on implementing this soon, but I have included a link in the References section of this notebook, if you want to have a crack at this.

In [ ]:
%%javascript
require.config({
  paths: {
      d3: '//cdnjs.cloudflare.com/ajax/libs/d3/3.4.8/d3.min',
      jquery: '//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min',
  }
});
In [ ]:
def call_html():
  import IPython
  display(IPython.core.display.HTML('''
        <script src="/static/components/requirejs/require.js"></script>
        <script>
          requirejs.config({
            paths: {
              base: '/static/base',
              "d3": "https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.8/d3.min",
              jquery: '//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min',
            },
          });
        </script>
        '''))

Lets load the train data and have a look at a few molecules that have the same label and pass them to the pretrained roberta model(trained on the zinc 250k dataset).

In [ ]:
import pandas as pd
import numpy as np
train_df = pd.read_csv("data/train.csv")
train_df.head()
Out[ ]:
SMILES SENTENCE
0 C/C=C/C(=O)C1CCC(C=C1C)(C)C fruity,rose
1 COC(=O)OC fresh,ethereal,fruity
2 Cc1cc2c([nH]1)cccc2 resinous,animalic
3 C1CCCCCCCC(=O)CCCCCCC1 powdery,musk,animalic
4 CC(CC(=O)OC1CC2C(C1(C)CC2)(C)C)C coniferous,camphor,fruity
In [ ]:
train_df.loc[train_df["SENTENCE"]=="resinous,animalic"]
Out[ ]:
SMILES SENTENCE
2 Cc1cc2c([nH]1)cccc2 resinous,animalic
1108 Cc1nc2c(o1)cccc2 resinous,animalic
3183 Cc1ccc2c(n1)cccc2 resinous,animalic
In [ ]:
import torch
import rdkit
import rdkit.Chem as Chem
from rdkit.Chem import rdFMCS
from matplotlib import colors
from rdkit.Chem import Draw
from rdkit.Chem.Draw import MolToImage
m = Chem.MolFromSmiles('Cc1nc2c(o1)cccc2')
fig = Draw.MolToMPL(m, size=(200, 200))
In [ ]:
m = Chem.MolFromSmiles('Cc1ccc2c(n1)cccc2')
fig = Draw.MolToMPL(m, size=(200,200))
In [ ]:
!git clone https://github.com/jessevig/bertviz.git
In [ ]:
import sys
sys.path.append("bertviz")
In [ ]:
from transformers import RobertaModel, RobertaTokenizer
from bertviz import head_view


model_version = 'seyonec/ChemBERTa_zinc250k_v2_40k'
model = RobertaModel.from_pretrained(model_version, output_attentions=True)
tokenizer = RobertaTokenizer.from_pretrained(model_version)

sentence_a = "Cc1cc2c([nH]1)cccc2"
sentence_b = "Cc1ccc2c(n1)cccc2"
inputs = tokenizer.encode_plus(sentence_a, sentence_b, return_tensors='pt', add_special_tokens=True)
input_ids = inputs['input_ids']
attention = model(input_ids)[-1]
input_id_list = input_ids[0].tolist() # Batch index 0
tokens = tokenizer.convert_ids_to_tokens(input_id_list)

call_html()

head_view(attention, tokens)
Layer:

This is a pretty cool visualization of the attention head, please do explore the bert-viz library to have a look at some similar visualisation, i.e the model view and the nueron view!

Now we finetune ChemBerta for our application!

For this we will be using the simple transformers library, ofcourse we might get better results if we do some hyperparameter tuning, but for a baseline let us assume the default params.

In [ ]:
from simpletransformers.classification import MultiLabelClassificationModel
import pandas as pd
import logging

# Uncomment for logging
# logging.basicConfig(level=logging.INFO)
# transformers_logger = logging.getLogger("transformers")
# transformers_logger.setLevel(logging.WARNING)

model = MultiLabelClassificationModel('roberta', 'seyonec/ChemBERTa_zinc250k_v2_40k',num_labels=109, args={'num_train_epochs': 10, 'auto_weights': True,'reprocess_input_data': True, 'overwrite_output_dir': True,'use_cuda':True,}) #'wandb_project': 'l2s'}) Use wandb if you want by uncommenting
# You can set class weights by using the optional weight argument
Some weights of the model checkpoint at seyonec/ChemBERTa_zinc250k_v2_40k were not used when initializing RobertaForMultiLabelSequenceClassification: ['lm_head.bias', 'lm_head.dense.weight', 'lm_head.dense.bias', 'lm_head.layer_norm.weight', 'lm_head.layer_norm.bias', 'lm_head.decoder.weight', 'lm_head.decoder.bias']
- This IS expected if you are initializing RobertaForMultiLabelSequenceClassification from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPretraining model).
- This IS NOT expected if you are initializing RobertaForMultiLabelSequenceClassification from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).
Some weights of RobertaForMultiLabelSequenceClassification were not initialized from the model checkpoint at seyonec/ChemBERTa_zinc250k_v2_40k and are newly initialized: ['classifier.dense.weight', 'classifier.dense.bias', 'classifier.out_proj.weight', 'classifier.out_proj.bias']
You should probably TRAIN this model on a down-stream task to be able to use it for predictions and inference.
In [ ]:
with open("/content/data/vocabulary.txt") as f:
  vocab = f.read().split('\n')
In [ ]:
def get_ohe_label(sentence):
  sentence = sentence.split(',')
  ohe_sent = len(vocab)*[0]
  for i,x in enumerate(vocab):
    if x in sentence:
      ohe_sent[i] = 1
  return ohe_sent
In [ ]:
labels = []
for x in train_df.SENTENCE.tolist():
  labels.append(get_ohe_label(x))
data_df = pd.DataFrame(train_df["SMILES"].tolist(),columns=["text"])# pd.DataFrame(labels,columns = vocab)
data_df["labels"]= labels


data_df.head()
Out[ ]:
text labels
0 C/C=C/C(=O)C1CCC(C=C1C)(C)C [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...
1 COC(=O)OC [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...
2 Cc1cc2c([nH]1)cccc2 [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ...
3 C1CCCCCCCC(=O)CCCCCCC1 [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, ...
4 CC(CC(=O)OC1CC2C(C1(C)CC2)(C)C)C [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...
In [ ]:
# Split the train and test dataset 80-20

train_size = 0.9
train_dataset=data_df.sample(frac=train_size,random_state=42).reset_index(drop=True)
test_dataset=data_df.drop(train_dataset.index).reset_index(drop=True)
In [ ]:
# check if our train and evaluation dataframes are setup properly. There should only be two columns for the SMILES string and its corresponding label.

print("FULL Dataset: {}".format(data_df.shape))
print("TRAIN Dataset: {}".format(train_dataset.shape))
print("TEST Dataset: {}".format(test_dataset.shape))
FULL Dataset: (4316, 2)
TRAIN Dataset: (3884, 2)
TEST Dataset: (432, 2)
In [ ]:
# !wandb login  ## Log into wandb if you want to keep an eye on how your model is training
In [ ]:
!rm -rf outputs

Time to Train!

In [ ]:
model.train_model(train_dataset)

/usr/local/lib/python3.6/dist-packages/torch/optim/lr_scheduler.py:231: UserWarning: To get the last learning rate computed by the scheduler, please use `get_last_lr()`.
  warnings.warn("To get the last learning rate computed by the scheduler, "

/usr/local/lib/python3.6/dist-packages/torch/optim/lr_scheduler.py:200: UserWarning: Please also save or load the state of the optimzer when saving or loading the scheduler.
  warnings.warn(SAVE_STATE_WARNING, UserWarning)

Exception ignored in: <bound method _MultiProcessingDataLoaderIter.__del__ of <torch.utils.data.dataloader._MultiProcessingDataLoaderIter object at 0x7f473bc74e48>>
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/torch/utils/data/dataloader.py", line 1101, in __del__
    self._shutdown_workers()
  File "/usr/local/lib/python3.6/dist-packages/torch/utils/data/dataloader.py", line 1075, in _shutdown_workers
    w.join(timeout=_utils.MP_STATUS_CHECK_INTERVAL)
  File "/usr/lib/python3.6/multiprocessing/process.py", line 122, in join
    assert self._parent_pid == os.getpid(), 'can only join a child process'
AssertionError: can only join a child process








Out[ ]:
(4860, 0.11029124964534501)
In [ ]:
import sklearn
result, model_outputs, wrong_predictions = model.eval_model(test_dataset)
print(result)
print(model_outputs)

{'LRAP': 0.48465526156536565, 'eval_loss': 0.0850957441661093}
[[0.00508118 0.00619125 0.01182556 ... 0.0051384  0.01132965 0.03271484]
 [0.0078125  0.00818634 0.05340576 ... 0.00867462 0.00963593 0.025177  ]
 [0.00346947 0.01490021 0.00288963 ... 0.00933838 0.006073   0.22290039]
 ...
 [0.00340271 0.01069641 0.00712204 ... 0.00698471 0.00468063 0.04803467]
 [0.00547028 0.0050621  0.01963806 ... 0.00720596 0.00772476 0.03271484]
 [0.00400543 0.02442932 0.00223351 ... 0.00769424 0.00413513 0.58496094]]

Generate the test predictions

In [ ]:
test_df = pd.read_csv("/content/data/test.csv")
test_df.head()
Out[ ]:
SMILES
0 CCC(C)C(=O)OC1CC2CCC1(C)C2(C)C
1 CC(C)C1CCC(C)CC1OC(=O)CC(C)O
2 CC(=O)/C=C/C1=CCC[C@H](C1(C)C)C
3 CC(=O)OCC(COC(=O)C)OC(=O)C
4 CCCCCCCC(=O)OC/C=C(/CCC=C(C)C)\C
In [ ]:
predictions, raw_outputs = model.predict(test_df["SMILES"].tolist())


In [ ]:
from tqdm.notebook import tqdm
final_preds=[]
for i,row in tqdm(test_df.iterrows(),total=len(test_df)):
    #predictions, raw_outputs = model.predict([row["SMILES"]])
    order = np.argsort(raw_outputs[i])[::-1][:15]
    labelled_preds = [vocab[i] for i in order]
    for x in labelled_preds:
      assert x in vocab
    sents = []
    for sent in range(0,15,3):
      sents.append(",".join([x for x in labelled_preds[sent:sent+3]]))
    pred = ";".join([x for x in sents])
    final_preds.append(pred)
print(len(final_preds),len(test_df))
1079 1079
In [ ]:
final = pd.DataFrame({"SMILES":test_df.SMILES.tolist(),"PREDICTIONS":final_preds})
final.head()
Out[ ]:
SMILES PREDICTIONS
0 CCC(C)C(=O)OC1CC2CCC1(C)C2(C)C camphor,resinous,fruity;woody,earthy,coniferou...
1 CC(C)C1CCC(C)CC1OC(=O)CC(C)O fruity,sweet,mint;woody,herbal,green;spicy,van...
2 CC(=O)/C=C/C1=CCC[C@H](C1(C)C)C woody,fruity,floral;herbal,resinous,fresh;bals...
3 CC(=O)OCC(COC(=O)C)OC(=O)C fruity,apple,sweet;ethereal,fresh,burnt;herbal...
4 CCCCCCCC(=O)OC/C=C(/CCC=C(C)C)\C fruity,oily,fresh;floral,herbal,fatty;citrus,g...
In [ ]:
final.tail()
Out[ ]:
SMILES PREDICTIONS
1074 CC(=CCCC(C)CC=O)C citrus,floral,fresh;aldehydic,lemon,green;herb...
1075 CC(=O)c1ccc(c(c1)OC)O sweet,spicy,phenolic;floral,vanilla,woody;resi...
1076 C[C@@H]1CC[C@H]2[C@@H]1C1[C@H](C1(C)C)CC[C@]2(C)O woody,camphor,earthy;herbal,resinous,musk;gree...
1077 C=C1C=CCC(C)(C)C21CCC(C)O2 woody,floral,green;herbal,sweet,rose;balsamic,...
1078 CCC/C=C/C(OC)OC fruity,green,herbal;apple,fresh,ethereal;sweet...
In [ ]:
final.to_csv("submission_chemberta.csv",index=False)

This gives a score of ~0.29 on the leaderboard.

Using Graph Networks

deepchem is an amazing library that provides a high quality open-source toolchain that democratizes the use of deep-learning in drug discovery, materials science, quantum chemistry, and biology.

We will be using deepchem to make our GraphConvModel. Molecules naturally lend themselves to being viewed as graphs. Graph Convolutions are one of the most powerful deep learning tools for working with molecular data.

Graph convolutions are similar to CNNs that are used to process images, but they operate on a graph. They begin with a data vector for each node of the graph (for example, the chemical properties of the atom that node represents). Convolutional and pooling layers combine information from connected nodes (for example, atoms that are bonded to each other) to produce a new data vector for each node.

In [ ]:
!pip install --pre deepchem
Collecting deepchem
  Downloading https://files.pythonhosted.org/packages/14/c2/76c72bd5cdde182a6516bb40aaa0eb6322e89afabc12d1f713b53d1f732d/deepchem-2.4.0rc1.dev20201021184017.tar.gz (397kB)
     |████████████████████████████████| 399kB 11.9MB/s 
Requirement already satisfied: joblib in /usr/local/lib/python3.6/dist-packages (from deepchem) (0.16.0)
Requirement already satisfied: numpy in /usr/local/lib/python3.6/dist-packages (from deepchem) (1.18.5)
Requirement already satisfied: pandas in /usr/local/lib/python3.6/dist-packages (from deepchem) (1.1.2)
Requirement already satisfied: scikit-learn in /usr/local/lib/python3.6/dist-packages (from deepchem) (0.22.2.post1)
Requirement already satisfied: scipy in /usr/local/lib/python3.6/dist-packages (from deepchem) (1.4.1)
Requirement already satisfied: python-dateutil>=2.7.3 in /usr/local/lib/python3.6/dist-packages (from pandas->deepchem) (2.8.1)
Requirement already satisfied: pytz>=2017.2 in /usr/local/lib/python3.6/dist-packages (from pandas->deepchem) (2018.9)
Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.6/dist-packages (from python-dateutil>=2.7.3->pandas->deepchem) (1.15.0)
Building wheels for collected packages: deepchem
  Building wheel for deepchem (setup.py) ... done
  Created wheel for deepchem: filename=deepchem-2.4.0rc1.dev20201022163145-cp36-none-any.whl size=502778 sha256=15d5e46cda835e8b579932f827986f789ca962fbbcf9b853b043ca4961f84a1d
  Stored in directory: /root/.cache/pip/wheels/4b/ef/ce/c166ee776d4fcc0cd5e586887dcab72f9fc990b5b5f29fccea
Successfully built deepchem
Installing collected packages: deepchem
Successfully installed deepchem-2.4.0rc1.dev20201022163145

The following code generated the top15 smells present in the dataset we will be using these smells to pad the results our model predicts, since the submission requires us to submit 5 sentences each of 3 smells each.

In [ ]:
from sklearn.preprocessing import MultiLabelBinarizer
def make_sentence_list(sent):
  return sent.split(",")
train_df = pd.read_csv("/content/data/train.csv")
train_df["SENTENCE_LIST"] = train_df.SENTENCE.apply(make_sentence_list)
multilabel_binarizer = MultiLabelBinarizer()
multilabel_binarizer.fit(train_df.SENTENCE_LIST)
Y = multilabel_binarizer.transform(train_df.SENTENCE_LIST)
d = {}
for x,y in zip(multilabel_binarizer.classes_,Y.sum(axis=0)):
  d[x]=y

d = sorted(d.items(), key=lambda x: x[1], reverse=True)
top_15 = [x[0] for x in d[:20]]
top_15
Out[ ]:
['fruity',
 'floral',
 'woody',
 'herbal',
 'green',
 'fresh',
 'sweet',
 'resinous',
 'spicy',
 'balsamic',
 'rose',
 'earthy',
 'ethereal',
 'citrus',
 'oily',
 'mint',
 'tropicalfruit',
 'fatty',
 'nut',
 'camphor']

The GraphConvModel accepts the output of the ConvMolFeaturizer. To get the complete model cheatsheet click here. We thus preprocess our smiles using this Featurizer.

In [ ]:
import deepchem as dc
mols = [Chem.MolFromSmiles(smile) for smile in data_df["text"].tolist()]
feat = dc.feat.ConvMolFeaturizer()
arr = feat.featurize(mols)
print(arr.shape)
wandb: WARNING W&B installed but not logged in.  Run `wandb login` or set the WANDB_API_KEY env variable.
wandb: WARNING W&B installed but not logged in.  Run `wandb login` or set the WANDB_API_KEY env variable.
(4316,)
In [ ]:
labels = []
train_df = pd.read_csv("data/train.csv")
for x in train_df.SENTENCE.tolist():
  labels.append(np.array(get_ohe_label(x)))
labels = np.array(labels)
print(labels.shape)
(4316, 109)

Create a Train and Validation set

In [ ]:
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(arr,labels, test_size=.1, random_state=42)
In [ ]:
train_dataset = dc.data.NumpyDataset(X=X_train, y=y_train)
val_dataset = dc.data.NumpyDataset(X=X_test, y=y_test)

print(train_dataset)
<NumpyDataset X.shape: (3884,), y.shape: (3884, 109), w.shape: (3884, 1), task_names: [  0   1   2 ... 106 107 108]>
In [ ]:
print(val_dataset)
<NumpyDataset X.shape: (432,), y.shape: (432, 109), w.shape: (432, 1), ids: [0 1 2 ... 429 430 431], task_names: [  0   1   2 ... 106 107 108]>
In [ ]:
model = dc.models.GraphConvModel(n_tasks=109, mode='classification',dropout=0.2)
model.fit(train_dataset, nb_epoch=110)
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/indexed_slices.py:432: UserWarning: Converting sparse IndexedSlices to a dense Tensor of unknown shape. This may consume a large amount of memory.
  "Converting sparse IndexedSlices to a dense Tensor of unknown shape. "
Out[ ]:
0.07197612126668294

The metric we will use to evaluate our model will be jaccard score, similar to the one used in the competition

In [ ]:
metric = dc.metrics.Metric(dc.metrics.jaccard_score)
print('training set score:', model.evaluate(train_dataset, [metric]))
training set score: {'jaccard_score': 0.3169358218239942}

The following is the auc roc score for each of the 109 classes.

In [ ]:
y_true = val_dataset.y
y_pred = model.predict(val_dataset)
metric = dc.metrics.roc_auc_score
for i in range(109):
  try:
    
    for gt,prediction in zip(y_true[:,i],y_pred[:,i]):
      assert round(prediction[0]+prediction[1])==1,prediction[0]-prediction[1]
    
    score = metric(dc.metrics.to_one_hot(y_true[:,i]), y_pred[:,i])
    print(vocab[i], score)
  except:
     print("err")
alcoholic 0.9597902097902098
aldehydic 0.7968215994531784
alliaceous 0.9701421800947867
almond 0.980327868852459
ambergris 0.9151162790697674
ambery 0.8611374407582939
ambrette 0.9604651162790698
ammoniac 0.9930394431554523
animalic 0.7099206349206348
anisic 0.6938616938616939
apple 0.8399680255795363
balsamic 0.7959270984854967
banana 0.984375
berry 0.7504396482813749
blackcurrant 0.8998247663551402
err
body 0.8761682242990655
bread 0.9410046728971964
burnt 0.8518450523223793
butter 0.7444964871194379
cacao 0.9045667447306791
camphor 0.9093196314670446
caramellic 0.9230769230769231
cedar 0.732903981264637
cheese 0.8755668322176635
chemical 0.7866715623278868
cherry 0.9867909867909869
cinnamon 0.9945609945609946
citrus 0.8318850654617078
clean 0.7103174603174602
clove 0.6744366744366744
coconut 0.9970794392523364
coffee 0.9812646370023419
err
coniferous 0.9625292740046838
cooked 0.8358287365379564
cooling 0.6711492564714522
cucumber 0.994199535962877
dairy 0.812675448067372
dry 0.7238095238095238
earthy 0.8255126868265554
ester 0.7302325581395349
ethereal 0.8611782071926999
fatty 0.8433014354066986
err
fermented 0.602436974789916
floral 0.7697652483756026
fresh 0.7470848300635535
fruity 0.7830530354645534
geranium 0.6523255813953488
gourmand 0.954225352112676
grape 0.8097447795823666
grapefruit 0.9848837209302326
grass 0.7258411580594679
green 0.6896101240514383
herbal 0.6987903225806451
honey 0.822429906542056
hyacinth 0.9622950819672131
jasmin 0.9174491392801252
lactonic 0.6418026418026417
leaf 0.7687796208530806
leather 0.9984459984459985
lemon 0.77380695314187
lily 0.9566627358490567
liquor 0.6599531615925058
meat 0.9577294685990339
medicinal 0.9913928012519562
melon 0.8732311320754718
metallic 0.49393583724569634
mint 0.7727088402270883
mushroom 0.855154028436019
musk 0.88490606780393
musty 0.6343577620173365
nut 0.8486328125
odorless 0.8408018867924529
oily 0.8976111778846154
orange 0.8517214397496088
err
pear 0.9222748815165877
pepper 0.780885780885781
phenolic 0.9590361445783133
plastic 0.7710280373831775
plum 0.8174418604651162
powdery 0.8420168067226891
pungent 0.666218487394958
rancid 0.6252100840336134
resinous 0.7452023674299038
ripe 0.888631090487239
roasted 0.8001984126984126
rose 0.845460827043691
seafood 0.8552325581395348
sharp 0.6262626262626263
smoky 0.9907192575406032
sour 0.8715966386554622
spicy 0.70349609375
sulfuric 0.9550457652647433
sweet 0.610172321667112
syrup 0.9761124121779859
terpenic 0.839907192575406
tobacco 0.7579225352112676
tropicalfruit 0.8007441530829199
vanilla 0.9428794992175273
vegetable 0.7854594112399643
violetflower 0.6685011709601874
watery 0.919392523364486
waxy 0.8652912621359223
whiteflower 0.8607888631090487
wine 0.6337236533957845
woody 0.7921620091606196

Let's compare how the model does in comparision to the groundtruth.

Note: y_pred is of the shape (n_samples,n_tasks,n_classes) with y_pred[:,:,1] corresponding to the probabilities for class 1.

In [ ]:
y_true = val_dataset.y
y_pred = model.predict(val_dataset)
# print(y_true.shape,y_pred.shape)
for i in range(y_true.shape[0]):
  final_pred = []
  prob_val = []
  for y in range(109):
      prediction = y_pred[i,y]
      if prediction[1] > 0.37:
        final_pred.append(1)
        prob_val.append(prediction[1])
      else:
        final_pred.append(0)
  smell_ids = np.where(np.array(final_pred)==1)
  smells = [vocab[k] for k in smell_ids[0]]
  smells = [smells[k] for k in np.argsort(np.array(prob_val))] #to further order based on probability
  gt_smell_ids = np.where(np.array(y_true[i])==1)
  gt_smells = [vocab[k] for k in gt_smell_ids[0]]
  print(smells,gt_smells)
['sweet', 'resinous', 'cinnamon', 'berry', 'fruity', 'balsamic'] ['balsamic', 'cinnamon', 'fruity', 'powdery', 'sweet']
['spicy', 'woody'] ['dry', 'herbal']
['sweet', 'resinous', 'fruity', 'phenolic'] ['floral', 'fruity', 'resinous', 'sweet']
['herbal', 'ethereal', 'citrus', 'fresh', 'floral'] ['citrus', 'fresh', 'lily']
['green', 'waxy', 'tropicalfruit', 'butter', 'banana', 'fruity', 'cognac'] ['green', 'pear']
['fresh', 'floral'] ['geranium', 'leaf', 'spicy']
['resinous', 'fruity', 'geranium', 'rose', 'honey'] ['berry', 'geranium', 'honey', 'powdery', 'waxy']
['fermented', 'floral', 'balsamic', 'resinous', 'honey', 'rose'] ['floral', 'herbal', 'lemon', 'rose', 'spicy']
['waxy', 'seafood', 'musty', 'ammoniac', 'chemical', 'cognac', 'aldehydic', 'ethereal', 'pungent', 'oily', 'terpenic'] ['chemical']
['fresh', 'fermented', 'ester', 'ethereal', 'cognac', 'apple', 'banana', 'fruity'] ['apple', 'fermented']
['meat', 'dairy', 'cooked', 'vegetable', 'alliaceous', 'sulfuric'] ['alliaceous', 'fresh', 'gourmand', 'metallic', 'spicy', 'sulfuric', 'vegetable']
['fresh', 'floral', 'fruity', 'resinous'] ['green', 'herbal', 'jasmin']
['lily', 'lemon', 'terpenic', 'floral', 'resinous'] ['coniferous', 'floral', 'resinous']
['ethereal', 'floral', 'rose', 'fresh', 'herbal', 'berry', 'fruity', 'apple'] ['fruity', 'herbal']
['camphor', 'mint'] ['mint']
['resinous', 'chemical', 'medicinal', 'spicy', 'leather', 'phenolic'] ['medicinal', 'phenolic', 'resinous', 'spicy']
['cacao', 'lemon', 'cognac', 'butter', 'cheese', 'fresh', 'fruity', 'mushroom', 'ethereal', 'fermented', 'alcoholic'] ['burnt', 'ethereal', 'fermented', 'fresh']
['mint', 'floral', 'fresh'] ['melon', 'tobacco']
['terpenic', 'woody'] ['chemical', 'resinous', 'rose']
['grapefruit', 'fresh', 'terpenic', 'vanilla', 'woody', 'dairy', 'musk', 'gourmand', 'ambery', 'camphor'] ['woody']
['gourmand', 'burnt', 'caramellic', 'phenolic', 'sour'] ['syrup']
['fermented', 'floral', 'lily', 'herbal', 'ethereal', 'fresh'] ['clean', 'floral', 'fresh', 'grass', 'lily', 'resinous', 'spicy', 'sweet']
['waxy', 'fresh', 'oily', 'rose', 'ethereal'] ['citrus', 'fresh', 'rose', 'waxy']
['woody', 'ethereal', 'earthy', 'cedar', 'camphor'] ['camphor', 'clean', 'cooling', 'green', 'resinous']
['oily', 'lily', 'grapefruit', 'leaf', 'fresh', 'citrus', 'aldehydic', 'lemon', 'herbal'] ['fruity', 'grass', 'green', 'herbal']
['herbal', 'floral', 'fruity'] ['animalic', 'green', 'pear', 'tropicalfruit']
['dairy', 'vanilla'] ['cedar', 'fresh', 'leaf', 'mint']
['fresh', 'oily', 'fruity', 'pear'] ['floral', 'fresh', 'fruity', 'herbal']
['caramellic', 'gourmand', 'meat', 'sulfuric', 'bread'] ['bread', 'fermented', 'gourmand', 'meat', 'nut', 'sulfuric']
['blueberry', 'sweet', 'fresh', 'liquor', 'plum', 'apple', 'fruity', 'ethereal'] ['chemical', 'ethereal', 'fruity', 'sweet']
['butter', 'banana', 'wine', 'dairy', 'fermented', 'sour', 'burnt', 'cheese', 'caramellic', 'fruity'] ['burnt', 'ester', 'fruity', 'pungent']
['nut', 'earthy', 'gourmand', 'vegetable'] ['meat', 'roasted', 'vegetable']
['fresh', 'citrus', 'aldehydic', 'floral'] ['orange']
['mint', 'leather', 'burnt', 'cedar', 'body', 'cheese', 'sour'] ['balsamic', 'pungent', 'sour']
['waxy', 'woody', 'floral'] ['balsamic', 'rose']
['fruity', 'whiteflower', 'balsamic', 'medicinal'] ['cooling', 'medicinal', 'sweet']
['leather', 'nut', 'earthy', 'coffee'] ['coffee', 'earthy', 'nut']
['caramellic', 'nut', 'fruity'] ['fruity', 'tobacco']
['mint', 'fresh', 'citrus'] ['mint']
['ethereal', 'woody', 'ambery'] ['ambery', 'cedar', 'dry', 'ethereal', 'herbal']
['camphor', 'woody', 'musk', 'earthy'] ['ambery', 'rancid', 'woody']
['dairy', 'butter', 'cheese', 'sour'] ['odorless']
['herbal', 'floral', 'lily', 'aldehydic', 'resinous', 'fresh'] ['fresh']
['resinous', 'mint', 'fresh', 'spicy', 'camphor'] ['camphor', 'cedar']
['gourmand', 'burnt', 'sulfuric', 'roasted', 'chemical', 'smoky', 'seafood', 'meat', 'alliaceous'] ['alliaceous', 'fruity', 'green']
['herbal', 'caramellic', 'fruity', 'ethereal', 'fresh'] ['ethereal', 'fresh', 'fruity']
['ethereal', 'tobacco', 'herbal', 'fruity'] ['floral', 'fruity']
['fruity', 'herbal', 'pungent', 'fresh', 'fatty', 'aldehydic'] ['citrus', 'dairy', 'floral', 'fruity']
['chemical', 'herbal', 'resinous', 'mint', 'pungent', 'terpenic'] ['roasted']
['ethereal', 'fresh', 'ester', 'pear', 'fruity', 'apple', 'banana'] ['fruity']
['chemical', 'banana', 'caramellic', 'burnt', 'sharp', 'butter', 'fruity'] ['burnt', 'caramellic', 'fruity', 'resinous']
['banana', 'fresh', 'ester', 'fruity'] ['fatty', 'fruity']
['alliaceous', 'metallic', 'vegetable', 'cheese', 'sulfuric', 'tropicalfruit'] ['alliaceous', 'tropicalfruit']
['fruity', 'coconut', 'jasmin'] ['fruity', 'jasmin']
['floral', 'waxy', 'aldehydic', 'green', 'leaf', 'fresh', 'rose', 'hyacinth'] ['green', 'hyacinth']
['oily', 'lily', 'grapefruit', 'leaf', 'fresh', 'citrus', 'aldehydic', 'lemon', 'herbal'] ['grass', 'green', 'tobacco']
['cheese', 'sour'] ['herbal', 'resinous']
['ethereal', 'wine', 'liquor', 'caramellic', 'fruity', 'apple'] ['animalic', 'caramellic', 'fruity', 'herbal']
['nut', 'dairy', 'spicy', 'fruity', 'mint', 'coconut'] ['chemical', 'fruity', 'herbal', 'pungent']
['fruity', 'fresh', 'mint'] ['mint']
['ethereal', 'tobacco', 'herbal', 'fruity'] ['herbal', 'tropicalfruit']
['ethereal', 'herbal', 'fruity', 'fresh', 'mushroom'] ['green', 'liquor', 'mushroom', 'sweet']
['vanilla', 'resinous', 'grass', 'medicinal', 'coconut', 'phenolic'] ['floral', 'fruity', 'resinous', 'sweet']
['fresh', 'musk', 'mint'] ['chemical', 'mint', 'musk']
['alcoholic', 'fresh', 'ethereal', 'fruity'] ['apple', 'fermented']
['earthy', 'fruity'] ['herbal', 'spicy']
['alliaceous', 'sulfuric'] ['burnt', 'resinous', 'sulfuric']
['fresh', 'coffee', 'burnt'] ['coffee', 'woody']
['fresh', 'melon', 'rancid', 'waxy', 'citrus', 'aldehydic', 'cucumber'] ['aldehydic', 'citrus']
['phenolic', 'sour', 'balsamic', 'spicy', 'vanilla'] ['odorless']
['pungent', 'meat', 'sulfuric', 'camphor', 'animalic', 'almond', 'vegetable', 'earthy', 'roasted', 'alcoholic', 'rancid', 'seafood', 'chemical'] ['ammoniac']
['fresh', 'balsamic', 'resinous', 'cinnamon', 'honey', 'fermented', 'alcoholic', 'bread', 'rose'] ['balsamic', 'hyacinth']
['herbal', 'lily', 'floral', 'alcoholic', 'fresh'] ['aldehydic', 'floral', 'grass', 'leaf']
['tobacco', 'burnt', 'animalic', 'sulfuric', 'blackcurrant'] ['fermented', 'green', 'metallic', 'sulfuric', 'tropicalfruit', 'woody']
['fatty', 'fruity', 'waxy', 'pear'] ['fruity', 'green', 'oily']
['body', 'cheese', 'sour'] ['cheese', 'fruity']
['sweet', 'dairy', 'cognac', 'grape', 'sour', 'fruity', 'fermented', 'ethereal', 'alcoholic'] ['alcoholic', 'chemical', 'ethereal']
['caramellic'] ['odorless']
['cheese', 'alcoholic', 'fermented', 'fresh', 'burnt', 'chemical', 'ethereal', 'fruity', 'banana'] ['chemical', 'dairy', 'fruity', 'green', 'herbal', 'sharp']
['fruity', 'mushroom'] ['melon', 'mushroom', 'violetflower']
['blueberry', 'fruity', 'citrus', 'rose'] ['citrus', 'fatty', 'floral']
['fresh', 'herbal'] ['fresh', 'mint']
['smoky', 'sulfuric', 'seafood', 'roasted', 'meat', 'gourmand', 'alliaceous'] ['meat', 'plastic']
['burnt', 'tobacco', 'resinous', 'earthy', 'animalic', 'leather'] ['animalic', 'earthy', 'leather', 'tobacco', 'woody']
['berry', 'violetflower', 'cucumber', 'grass', 'chemical', 'fruity'] ['nut']
['fresh', 'fruity', 'blackcurrant'] ['balsamic', 'herbal', 'rancid']
['citrus', 'sulfuric'] ['animalic', 'berry', 'green', 'mint', 'sulfuric']
['earthy', 'tropicalfruit', 'smoky', 'vegetable', 'seafood', 'gourmand', 'nut', 'roasted', 'alliaceous', 'meat'] ['alliaceous', 'cooked', 'fatty', 'roasted', 'vegetable']
['lily', 'lemon', 'terpenic', 'floral', 'resinous'] ['coniferous', 'floral', 'resinous']
['gourmand', 'caramellic', 'nut', 'meat', 'bread'] ['ethereal', 'sweet']
['banana', 'fresh', 'ethereal', 'fruity'] ['fruity', 'vegetable']
['woody'] ['citrus', 'resinous', 'spicy']
['herbal', 'floral', 'fruity', 'resinous'] ['floral', 'green', 'herbal', 'plum']
['lily', 'honey', 'resinous', 'floral', 'rose', 'balsamic'] ['herbal', 'rose']
['spicy', 'vanilla', 'leather', 'medicinal', 'smoky', 'phenolic'] ['medicinal', 'phenolic', 'spicy']
['anisic', 'phenolic', 'cinnamon', 'sweet', 'cherry', 'vanilla', 'almond'] ['almond', 'balsamic', 'cherry', 'floral', 'sweet']
['cooling', 'mint'] ['cooling', 'sweet']
['green', 'terpenic', 'camphor', 'citrus'] ['citrus', 'earthy', 'green', 'mint', 'spicy', 'sweet', 'woody']
['citrus', 'orange', 'violetflower', 'fruity', 'resinous', 'floral', 'lily'] ['floral', 'lemon', 'orange']
['lactonic', 'fruity'] ['floral', 'fruity', 'woody']
['herbal', 'lemon', 'citrus'] ['aldehydic', 'dry', 'green', 'lemon', 'orange']
['cooked', 'meat', 'gourmand'] ['cheese', 'gourmand', 'meat']
['honey', 'green', 'fruity', 'sweet', 'herbal', 'rose', 'cherry', 'almond', 'hyacinth'] ['chemical', 'floral', 'pungent', 'resinous']
['medicinal', 'vanilla', 'phenolic'] ['floral', 'herbal', 'sweet']
['camphor', 'woody', 'earthy'] ['ambery', 'tobacco', 'woody']
['cedar', 'floral', 'ambergris', 'violetflower', 'woody'] ['balsamic', 'woody']
['berry', 'violetflower', 'cucumber', 'grass', 'chemical', 'fruity'] ['dairy', 'mushroom']
['body', 'fruity', 'pungent', 'sour', 'cheese'] ['meat', 'oily', 'roasted', 'sour']
['sweet', 'cherry', 'almond'] ['almond', 'cherry', 'spicy', 'sweet']
['sweet', 'phenolic', 'blackcurrant', 'cinnamon'] ['phenolic', 'spicy']
['fermented', 'cheese', 'cognac', 'musty', 'apple', 'banana', 'butter', 'fruity'] ['banana', 'meat', 'ripe']
['burnt', 'bread', 'fruity', 'berry', 'syrup', 'butter', 'caramellic'] ['berry', 'caramellic', 'clean']
['fresh', 'ethereal', 'body', 'burnt', 'fruity'] ['pungent', 'vegetable']
['sulfuric', 'spicy'] ['herbal', 'spicy', 'sulfuric', 'vegetable']
['fresh', 'floral', 'fruity', 'resinous'] ['floral', 'fresh', 'fruity', 'resinous']
['metallic', 'tropicalfruit', 'cacao', 'alliaceous', 'resinous', 'syrup', 'green', 'leaf', 'roasted', 'meat', 'vegetable'] ['cooked', 'meat', 'nut']
['fruity'] ['fatty', 'floral', 'sweet']
['odorless', 'waxy', 'cognac', 'fruity', 'oily'] ['oily']
['oily', 'fruity'] ['liquor', 'oily', 'wine']
['honey', 'apple', 'mint', 'fruity'] ['fresh', 'herbal', 'woody']
['fruity', 'woody', 'mint'] ['camphor', 'musty', 'woody']
['sharp', 'body', 'pungent', 'lemon', 'pepper', 'fresh', 'chemical', 'ethereal', 'terpenic'] ['chemical', 'ethereal']
['sweet', 'phenolic', 'resinous', 'balsamic'] ['balsamic', 'floral', 'herbal']
['lemon', 'fresh', 'herbal'] ['aldehydic', 'floral', 'herbal']
['pear', 'pungent', 'green', 'tropicalfruit', 'butter', 'banana', 'fruity', 'apple', 'cognac'] ['apple', 'banana', 'fatty']
['sweet', 'pungent', 'pear', 'blueberry', 'ethereal', 'ester', 'fruity', 'wine', 'fermented', 'banana', 'apple'] ['apple', 'banana']
['waxy', 'cognac', 'fruity', 'rose'] ['citrus', 'fatty', 'floral', 'fresh']
['phenolic', 'medicinal'] ['phenolic', 'plastic']
['alliaceous', 'spicy', 'vegetable'] ['spicy', 'sulfuric']
['leaf', 'waxy', 'oily', 'vegetable', 'melon', 'cucumber'] ['cucumber', 'green', 'melon', 'mushroom', 'oily', 'seafood']
['mint', 'phenolic'] ['burnt', 'herbal', 'phenolic', 'sweet']
['butter', 'fruity', 'wine', 'apple'] ['apple']
['grass', 'woody', 'camphor', 'liquor', 'ethereal', 'fresh'] ['camphor', 'woody']
['woody', 'fruity', 'tobacco', 'musk', 'berry'] ['syrup', 'woody']
['green', 'banana', 'apple', 'pear'] ['green', 'pear', 'resinous', 'tropicalfruit']
['resinous', 'animalic', 'musk', 'earthy'] ['balsamic', 'phenolic']
['camphor'] ['alliaceous', 'roasted']
['mint', 'resinous', 'cedar', 'camphor'] ['camphor', 'fresh']
['fruity', 'waxy', 'oily', 'pear'] ['fruity', 'oily']
['herbal', 'fruity', 'green', 'fresh'] ['ethereal', 'fatty', 'liquor']
['musk', 'mint'] ['herbal']
['fruity', 'resinous', 'cinnamon', 'leather', 'cacao', 'almond', 'bread', 'caramellic', 'coffee', 'burnt'] ['bread', 'caramellic', 'phenolic', 'woody']
['mushroom', 'waxy', 'fatty', 'fruity', 'pear'] ['green', 'melon', 'pear', 'tropicalfruit', 'waxy']
['resinous', 'apple', 'ester', 'butter', 'blackcurrant', 'sour', 'sweet', 'berry', 'cherry', 'fruity', 'cinnamon', 'fermented', 'balsamic', 'blueberry'] ['balsamic', 'fruity']
['dairy', 'fruity', 'oily', 'musk', 'woody', 'animalic'] ['ambergris', 'animalic', 'anisic', 'clean', 'fatty', 'musk', 'powdery']
['fresh', 'fruity'] ['floral', 'green', 'herbal']
['fruity', 'mint'] ['cooling', 'tropicalfruit', 'woody']
['fruity', 'coniferous', 'resinous', 'camphor'] ['camphor', 'nut', 'resinous']
['spicy', 'phenolic'] ['floral', 'mint', 'sweet', 'violetflower', 'woody']
['oily', 'fruity', 'dairy', 'melon', 'aldehydic', 'cucumber'] ['fruity']
['resinous'] ['rose']
['cherry', 'sweet', 'anisic'] ['anisic']
['sweet', 'camphor', 'mint'] ['mint']
['roasted', 'berry', 'cheese', 'sour', 'grass', 'mint', 'coconut', 'syrup', 'phenolic', 'caramellic', 'bread', 'burnt'] ['body', 'gourmand', 'nut', 'spicy', 'syrup']
['orange', 'resinous'] ['aldehydic', 'citrus', 'green']
['rose', 'tobacco', 'fruity', 'honey'] ['honey', 'rose']
['spicy', 'cinnamon', 'sweet', 'balsamic'] ['balsamic', 'spicy']
['medicinal', 'balsamic', 'earthy', 'resinous', 'camphor'] ['camphor', 'coniferous', 'cooling']
['ester', 'fermented', 'cognac', 'butter', 'cheese', 'apple', 'fruity', 'banana'] ['butter', 'fruity']
['fruity', 'hyacinth', 'rose'] ['balsamic', 'floral']
['citrus', 'woody', 'spicy', 'fresh', 'camphor'] ['fresh', 'mint']
['fermented', 'sweet', 'banana', 'apple', 'ethereal', 'fruity'] ['banana', 'cheese', 'tropicalfruit']
['woody', 'herbal', 'spicy', 'fresh', 'resinous'] ['aldehydic', 'fresh', 'herbal']
['medicinal', 'coffee', 'meat', 'burnt', 'seafood', 'sulfuric', 'alliaceous'] ['burnt', 'caramellic', 'coffee']
['resinous', 'sweet'] ['balsamic', 'musk']
['woody'] ['clean', 'fresh', 'herbal']
['fruity', 'fresh', 'mint'] ['camphor']
['lily', 'fresh', 'ester', 'woody', 'citrus', 'ethereal', 'fruity', 'lemon', 'floral'] ['ethereal', 'floral', 'lemon']
['waxy', 'rose', 'pear', 'fruity', 'ester', 'banana'] ['banana', 'body', 'fermented', 'green', 'meat', 'melon']
['herbal', 'burnt', 'ethereal', 'fresh', 'fruity'] ['berry', 'cheese', 'green', 'herbal']
['herbal', 'cooling', 'mint', 'fruity'] ['cooling', 'fruity']
['musty', 'bread', 'meat', 'seafood', 'roasted', 'smoky', 'phenolic', 'vegetable', 'earthy', 'caramellic', 'burnt', 'cacao', 'coffee', 'body', 'nut'] ['cacao', 'caramellic', 'dry', 'musty', 'nut', 'vanilla']
['herbal', 'balsamic', 'resinous', 'fruity', 'woody'] ['cedar', 'fresh', 'sharp']
['aldehydic', 'metallic', 'ethereal', 'citrus', 'lemon'] ['herbal', 'lemon']
['terpenic', 'fresh', 'camphor'] ['camphor', 'resinous']
['herbal', 'woody', 'blackcurrant', 'camphor', 'leaf', 'tobacco', 'cooling'] ['pepper', 'woody']
['resinous', 'balsamic', 'honey', 'rose', 'fruity'] ['herbal', 'sweet', 'wine']
['tropicalfruit', 'fruity'] ['burnt', 'fruity', 'herbal']
['berry', 'cedar', 'woody', 'ambergris'] ['ambery', 'woody']
['fruity', 'apple', 'wine'] ['tropicalfruit', 'wine']
['tropicalfruit', 'fruity'] ['apple', 'berry']
['cinnamon', 'chemical', 'phenolic', 'bread', 'blackcurrant', 'camphor', 'anisic'] ['floral', 'orange', 'resinous', 'sweet']
['sweet', 'nut', 'tobacco', 'caramellic', 'ethereal', 'fruity'] ['burnt', 'caramellic', 'fresh', 'fruity']
['tropicalfruit', 'meat', 'alliaceous', 'berry', 'blackcurrant', 'sulfuric'] ['floral', 'grapefruit', 'lemon']
['fresh', 'alcoholic', 'ethereal', 'fermented'] ['citrus', 'floral', 'fresh', 'oily', 'sweet']
['sulfuric', 'tropicalfruit', 'alliaceous', 'vegetable'] ['cheese', 'sulfuric', 'tropicalfruit', 'vegetable']
['clove', 'medicinal', 'vanilla', 'leather', 'phenolic'] ['phenolic', 'spicy']
['gourmand', 'burnt', 'fruity', 'roasted', 'meat', 'cooked'] ['caramellic', 'dairy']
['green', 'woody'] ['anisic', 'floral', 'fruity', 'woody']
[] ['herbal', 'spicy']
['ambergris', 'ethereal', 'floral', 'woody', 'violetflower'] ['floral', 'fruity', 'woody']
['floral', 'geranium', 'fresh', 'citrus', 'fruity', 'rose'] ['floral', 'fresh', 'fruity']
[] ['aldehydic', 'fresh', 'herbal', 'woody']
['fruity', 'coconut'] ['coconut', 'dairy', 'fruity']
['earthy', 'camphor', 'anisic', 'green', 'spicy', 'woody'] ['clove', 'herbal', 'rose', 'woody']
['animalic', 'gourmand', 'bread', 'earthy', 'terpenic'] ['balsamic', 'earthy', 'green', 'musk']
['fermented', 'alcoholic', 'oily', 'ethereal', 'cheese', 'fruity', 'mushroom'] ['fresh', 'oily']
['resinous', 'floral', 'aldehydic', 'lily', 'fresh'] ['clean', 'fresh']
['honey', 'balsamic', 'fruity', 'rose'] ['dry', 'herbal', 'rose']
['ethereal', 'fruity', 'apple'] ['fruity', 'green', 'musty', 'pungent']
['fresh', 'herbal', 'woody', 'terpenic'] ['fresh', 'herbal', 'waxy']
['woody', 'ambery'] ['ambery', 'herbal', 'woody']
['waxy', 'cognac', 'fruity', 'rose'] ['rose', 'tropicalfruit']
['grapefruit', 'cooling', 'mint'] ['dry', 'herbal']
['anisic', 'chemical', 'apple', 'alliaceous', 'liquor', 'ethereal', 'fruity'] ['chemical', 'ethereal', 'fresh', 'fruity', 'plastic']
['floral', 'lemon'] ['floral', 'green', 'lemon']
['waxy', 'oily', 'pear', 'rose', 'fruity'] ['citrus', 'fatty', 'waxy']
['fatty', 'geranium', 'fermented', 'ethereal', 'fresh', 'citrus', 'rose'] ['fatty', 'floral', 'mint']
['vanilla', 'syrup', 'coconut', 'mint'] ['coconut', 'cooling', 'fruity']
['overripe', 'dairy', 'ethereal', 'fermented', 'fruity', 'cheese', 'alcoholic', 'mushroom'] ['mushroom', 'musty', 'oily']
['cognac', 'body', 'fresh', 'ripe', 'fruity', 'pear', 'apple', 'ethereal', 'banana'] ['apple', 'balsamic', 'banana', 'pear', 'woody']
['nut', 'earthy'] ['herbal', 'nut']
['coffee', 'cooked', 'vegetable', 'sulfuric', 'gourmand', 'meat', 'alliaceous'] ['cooked', 'dairy', 'roasted']
['butter', 'gourmand', 'bread', 'caramellic', 'syrup'] ['clean', 'syrup']
['cedar', 'fruity', 'berry', 'woody', 'violetflower'] ['berry', 'green', 'sweet', 'woody']
['tropicalfruit', 'cheese', 'dairy', 'fruity', 'alliaceous', 'vegetable', 'meat', 'sulfuric'] ['animalic', 'grape', 'rancid']
['phenolic', 'coffee', 'animalic', 'leather', 'earthy', 'burnt'] ['floral', 'resinous']
['jasmin', 'phenolic', 'fruity', 'fatty', 'balsamic', 'animalic'] ['balsamic', 'nut', 'vanilla']
['camphor', 'cooling', 'terpenic', 'sulfuric'] ['citrus', 'resinous', 'sulfuric']
['cooked', 'alliaceous'] ['alliaceous', 'earthy', 'spicy', 'sulfuric', 'vegetable']
['sweet', 'smoky', 'resinous', 'green', 'cherry', 'fruity', 'balsamic'] ['balsamic', 'berry', 'cacao', 'green', 'herbal', 'whiteflower', 'woody']
['butter', 'caramellic', 'sour'] ['sour', 'spicy', 'vegetable']
['tropicalfruit', 'green', 'pear', 'fruity', 'apple', 'banana'] ['dairy', 'fresh', 'fruity', 'green']
['melon', 'fruity', 'earthy', 'fresh', 'ethereal', 'grass', 'alcoholic', 'leaf', 'vegetable'] ['fresh', 'leaf']
['floral', 'cinnamon', 'fruity', 'balsamic'] ['balsamic', 'fruity']
['fresh', 'balsamic', 'honey', 'resinous', 'floral', 'rose', 'lily'] ['rose']
['leaf', 'waxy', 'oily', 'vegetable', 'melon', 'cucumber'] ['floral', 'melon', 'oily', 'vegetable']
['woody', 'resinous', 'fruity'] ['ester', 'fruity', 'woody']
['fresh', 'fruity'] ['aldehydic', 'ambery', 'green', 'lemon', 'waxy']
['fresh', 'herbal', 'coconut', 'woody', 'rancid', 'fruity'] ['floral', 'fresh', 'fruity', 'mint']
['ambrette', 'dry', 'musk'] ['fruity', 'leaf', 'violetflower']
['herbal', 'fruity', 'coconut'] ['coconut', 'dairy', 'herbal', 'lactonic']
['herbal', 'jasmin', 'sweet', 'fruity', 'woody'] ['earthy', 'herbal']
['fruity'] ['apple']
['grapefruit', 'fresh', 'floral'] ['balsamic', 'woody']
['nut', 'phenolic', 'meat'] ['caramellic', 'cooked', 'meat']
['terpenic', 'oily'] ['waxy']
['herbal', 'fresh', 'resinous', 'pungent', 'camphor', 'coniferous', 'terpenic'] ['camphor']
['gourmand', 'nut', 'green', 'earthy', 'alliaceous', 'vegetable', 'meat'] ['mint', 'vegetable']
['fruity', 'cinnamon', 'caramellic', 'leather', 'coffee', 'burnt'] ['resinous', 'sweet']
['alcoholic', 'earthy', 'musk'] ['earthy', 'musk']
['lily', 'lemon', 'terpenic', 'floral', 'resinous'] ['floral']
['jasmin', 'resinous'] ['aldehydic', 'ethereal', 'fruity', 'jasmin']
['oily', 'fruity'] ['jasmin', 'oily', 'watery']
['butter', 'plum', 'lactonic', 'berry', 'fruity'] ['apple', 'fruity', 'green', 'resinous']
['sweet', 'almond', 'cherry', 'balsamic', 'cinnamon'] ['blackcurrant', 'cinnamon']
['chemical', 'terpenic', 'green', 'oily', 'cucumber'] ['green', 'resinous']
['banana', 'cheese', 'butter', 'fruity'] ['apple', 'banana', 'berry']
['fermented', 'pungent', 'butter', 'fruity', 'cheese', 'sour'] ['body', 'cheese', 'sour']
['cheese', 'sulfuric', 'cooked', 'dairy', 'meat', 'gourmand', 'alliaceous'] ['sulfuric', 'sweet']
['rose', 'green'] ['earthy', 'floral', 'sweet']
['rose', 'seafood', 'meat', 'roasted', 'sulfuric', 'ammoniac', 'plastic', 'burnt', 'chemical', 'alliaceous'] ['burnt', 'earthy', 'sulfuric']
['blueberry', 'waxy', 'fruity', 'floral', 'citrus', 'lily', 'fresh'] ['citrus', 'earthy', 'floral']
['odorless', 'fruity'] ['balsamic', 'clean', 'green', 'plastic']
['fermented', 'alcoholic', 'oily', 'ethereal', 'cheese', 'fruity', 'mushroom'] ['floral', 'grass', 'lemon', 'sweet']
['herbal', 'balsamic', 'mint', 'spicy', 'woody'] ['herbal', 'spicy', 'woody']
['gourmand', 'roasted', 'meat', 'alliaceous', 'sulfuric', 'burnt'] ['meat', 'roasted', 'sulfuric']
['cinnamon', 'resinous', 'body', 'balsamic', 'tobacco', 'leather', 'animalic', 'sour'] ['balsamic', 'burnt', 'sour']
['resinous', 'chemical', 'animalic', 'floral'] ['floral', 'jasmin', 'seafood']
['sweet', 'vanilla', 'medicinal', 'phenolic'] ['medicinal', 'phenolic', 'sweet']
['vegetable', 'nut', 'bread', 'earthy'] ['earthy', 'floral', 'nut', 'pepper']
['grape', 'caramellic', 'burnt', 'fruity'] ['caramellic', 'fruity']
['burnt', 'alliaceous', 'sulfuric'] ['caramellic']
['earthy', 'musty', 'coffee', 'burnt', 'caramellic', 'cacao', 'nut'] ['green', 'resinous', 'roasted']
['earthy', 'nut', 'coffee'] ['butter', 'cooked', 'earthy']
['fresh', 'aldehydic', 'lily', 'floral', 'citrus'] ['aldehydic', 'hyacinth', 'lily', 'watery', 'waxy']
['fresh', 'fermented', 'alcoholic', 'odorless'] ['odorless']
['burnt', 'leather', 'coffee', 'medicinal', 'smoky', 'phenolic'] ['phenolic', 'spicy']
['violetflower', 'woody'] ['ambergris', 'ambery', 'animalic', 'dry', 'fresh', 'metallic']
['fresh', 'ethereal', 'caramellic', 'fruity'] ['alcoholic', 'ethereal', 'musty', 'nut']
['hyacinth', 'fruity', 'honey'] ['honey', 'resinous']
['resinous', 'balsamic', 'rose', 'fruity'] ['balsamic', 'fruity']
['fruity'] ['floral', 'fresh', 'fruity']
['burnt', 'alliaceous', 'sulfuric', 'roasted', 'meat'] ['meat']
['sweet', 'ethereal', 'fruity', 'banana'] ['banana', 'melon', 'pear']
['bread', 'berry', 'syrup', 'caramellic'] ['bread', 'burnt', 'syrup']
['violetflower', 'floral', 'woody'] ['woody']
['resinous', 'grape', 'bread', 'caramellic', 'ethereal', 'burnt', 'fruity', 'mushroom'] ['berry', 'wine']
['cooked'] ['odorless']
['banana', 'ester', 'body', 'fruity', 'nut', 'sour', 'butter', 'cheese'] ['fruity']
['rose', 'floral', 'fresh', 'aldehydic', 'citrus'] ['aldehydic', 'floral', 'watery', 'waxy']
['fresh', 'ethereal', 'banana', 'fruity'] ['pear', 'rose']
['aldehydic', 'pungent', 'cucumber', 'chemical', 'ethereal'] ['aldehydic', 'ethereal', 'fresh']
['clean', 'fresh', 'herbal'] ['fresh', 'green', 'mint', 'rose']
['woody', 'balsamic', 'fruity', 'floral'] ['fruity', 'resinous', 'roasted']
['vegetable', 'body', 'burnt', 'caramellic', 'earthy', 'cacao', 'coffee', 'nut'] ['cacao', 'earthy', 'nut']
['mint', 'fresh', 'camphor'] ['cooling', 'musty', 'spicy']
['coniferous', 'resinous', 'camphor'] ['camphor', 'rancid', 'resinous']
['mint', 'fresh'] ['clean', 'floral', 'fresh', 'grass', 'lily', 'resinous', 'spicy', 'sweet']
['fruity', 'resinous'] ['fruity', 'herbal', 'resinous', 'rose']
['earthy', 'mint', 'fruity', 'jasmin'] ['herbal', 'jasmin', 'oily']
['herbal', 'leaf', 'hyacinth', 'rose'] ['leaf', 'vegetable']
['geranium', 'citrus', 'apple', 'fruity', 'rose'] ['apple', 'floral']
['vegetable', 'meat', 'sulfuric', 'alliaceous'] ['green', 'sulfuric', 'sweet']
['almond', 'smoky', 'chemical', 'medicinal', 'coffee', 'leather', 'phenolic'] ['earthy', 'leather', 'medicinal', 'phenolic']
['fresh', 'fruity'] ['green', 'mushroom', 'oily', 'sweet']
['fresh', 'rose', 'citrus', 'fruity', 'floral'] ['green', 'pear', 'rose', 'tropicalfruit', 'waxy', 'woody']
['fresh', 'coniferous', 'resinous', 'camphor'] ['herbal']
['waxy', 'geranium', 'floral', 'banana', 'fruity', 'rose'] ['cooling', 'green', 'herbal', 'rose', 'waxy']
['mint'] ['odorless']
['body', 'ethereal', 'nut', 'burnt', 'seafood', 'roasted'] ['bread', 'nut', 'vegetable', 'woody']
['phenolic', 'syrup', 'fruity', 'earthy', 'coconut'] ['mint', 'spicy']
['cooling', 'mint'] ['mint']
['fruity', 'butter', 'coconut'] ['coconut', 'dairy', 'fruity', 'resinous']
['fatty', 'dairy'] ['waxy', 'woody']
['chemical', 'fruity', 'caramellic', 'ethereal'] ['burnt', 'fresh', 'fruity', 'sweet']
[] ['odorless']
['apple', 'balsamic', 'wine', 'geranium', 'caramellic', 'herbal', 'fruity'] ['fruity', 'herbal']
['green', 'chemical', 'waxy', 'vegetable', 'mushroom', 'fruity', 'pear'] ['body', 'cooked', 'green', 'pear']
['cinnamon', 'vanilla'] ['vanilla']
['berry', 'meat', 'tropicalfruit', 'alliaceous', 'blackcurrant', 'sulfuric'] ['roasted', 'sweet', 'vegetable']
['pear', 'liquor', 'burnt', 'grape', 'alliaceous', 'ethereal', 'apple', 'caramellic', 'chemical', 'fruity'] ['chemical', 'fruity']
['fruity', 'apple'] ['cheese', 'green', 'spicy', 'tropicalfruit', 'woody']
['dairy', 'burnt', 'earthy', 'cheese', 'metallic', 'vegetable', 'sulfuric', 'alliaceous'] ['blackcurrant', 'burnt', 'sulfuric', 'vegetable']
['fruity', 'woody', 'floral'] ['ambery', 'ambrette', 'dry']
['woody', 'terpenic', 'camphor'] ['woody']
['floral'] ['clean', 'fresh']
['green', 'apple', 'banana', 'fruity'] ['apple', 'herbal']
['herbal', 'floral', 'fresh', 'woody', 'fruity'] ['apple', 'herbal', 'woody']
['alliaceous', 'cooked', 'burnt', 'ethereal', 'seafood', 'ammoniac', 'chemical'] ['alliaceous', 'cheese', 'cooked', 'mushroom']
['resinous', 'floral', 'phenolic'] ['earthy', 'spicy']
['caramellic', 'odorless'] ['odorless']
['fruity', 'floral', 'lily'] ['citrus', 'fresh', 'lily']
['lily', 'spicy', 'floral', 'fresh', 'resinous'] ['floral', 'fresh', 'fruity', 'green', 'musty']
['fermented', 'cooked', 'blackcurrant', 'butter', 'sour', 'gourmand', 'burnt', 'caramellic', 'berry', 'phenolic', 'bread', 'syrup'] ['caramellic', 'fruity', 'resinous']
['sweet', 'phenolic', 'smoky', 'vanilla'] ['vanilla']
['musk', 'herbal', 'mint'] ['mint', 'musk', 'spicy']
['leather', 'sweet', 'coconut', 'dairy', 'fruity', 'almond', 'vanilla', 'medicinal'] ['floral', 'medicinal', 'phenolic']
['grapefruit', 'floral', 'fruity', 'resinous'] ['balsamic', 'fruity', 'green', 'resinous', 'woody']
['floral', 'fresh', 'lily'] ['citrus', 'floral', 'green', 'melon']
['fermented', 'fruity', 'fresh', 'apple', 'banana', 'alcoholic', 'ethereal'] ['ethereal', 'fresh', 'fruity']
['vegetable', 'chemical', 'alliaceous'] ['ethereal', 'sulfuric']
['fatty', 'fruity', 'sour'] ['butter']
['floral', 'sweet', 'resinous', 'honey', 'balsamic', 'fruity'] ['fruity', 'musty', 'resinous']
['fermented', 'sour', 'caramellic', 'fruity'] ['berry', 'green', 'herbal', 'honey', 'tropicalfruit']
['medicinal', 'phenolic', 'leather'] ['leather', 'phenolic', 'terpenic']
['citrus', 'green', 'woody', 'fresh', 'lily', 'herbal', 'lemon', 'fruity', 'floral'] ['citrus', 'lemon']
['floral', 'lily'] ['ethereal', 'lily']
['woody'] ['earthy', 'woody']
['medicinal', 'vanilla', 'resinous', 'fruity', 'spicy', 'phenolic'] ['fruity', 'herbal', 'phenolic', 'spicy']
['fruity', 'pungent', 'sour'] ['earthy']
['waxy', 'floral'] ['balsamic', 'floral']
['roasted', 'coffee', 'plastic', 'phenolic', 'medicinal', 'sulfuric', 'seafood', 'alliaceous', 'meat', 'chemical'] ['meat', 'metallic', 'phenolic', 'roasted', 'sulfuric']
['musk', 'camphor', 'earthy'] ['balsamic', 'earthy', 'green', 'liquor', 'musk', 'resinous']
['lemon', 'fresh', 'herbal', 'fruity', 'banana'] ['floral', 'fresh', 'fruity', 'herbal']
['floral', 'berry', 'citrus', 'fruity', 'rose', 'geranium'] ['floral', 'fresh', 'fruity']
['herbal', 'leaf', 'hyacinth', 'rose'] ['hyacinth', 'rose']
['waxy', 'rancid', 'orange', 'fatty', 'aldehydic', 'citrus', 'oily'] ['green', 'herbal', 'orange']
['sweet', 'fresh', 'fruity', 'alcoholic', 'butter'] ['alcoholic', 'cacao', 'cheese', 'liquor', 'vegetable']
['earthy', 'woody', 'cooling', 'camphor'] ['camphor', 'cooling', 'resinous']
['aldehydic', 'lemon', 'floral', 'citrus'] ['citrus', 'fresh', 'herbal']
['vanilla'] ['floral', 'vanilla']
['terpenic', 'coniferous', 'resinous', 'camphor'] ['camphor']
['seafood', 'earthy', 'vegetable', 'meat', 'alliaceous', 'sulfuric', 'bread', 'gourmand', 'nut', 'coffee'] ['vegetable']
['spicy', 'vanilla', 'clove', 'medicinal', 'phenolic', 'smoky'] ['clove', 'sweet', 'woody']
['ethereal', 'woody'] ['animalic', 'fresh', 'fruity', 'green', 'herbal', 'sour', 'spicy', 'woody']
['phenolic', 'spicy', 'dairy', 'vanilla'] ['resinous', 'woody']
['resinous', 'camphor'] ['camphor', 'coniferous', 'resinous']
['oily', 'rose', 'fruity'] ['leaf', 'rose', 'waxy']
['tropicalfruit'] ['apple', 'tropicalfruit', 'waxy']
['green', 'resinous', 'earthy', 'vegetable', 'pepper'] ['green', 'woody']
['floral', 'sweet', 'resinous', 'phenolic', 'fruity'] ['balsamic', 'berry', 'powdery']
['woody', 'fruity', 'herbal', 'resinous'] ['oily', 'resinous']
['leather', 'vanilla', 'smoky', 'medicinal', 'phenolic'] ['phenolic']
['fruity', 'mint'] ['fruity', 'mint']
['resinous', 'herbal', 'woody', 'floral', 'fruity'] ['fruity', 'rose']
['herbal', 'burnt', 'ethereal', 'fresh', 'fruity'] ['berry', 'cheese', 'sweet']
['leaf', 'fruity', 'green'] ['leaf', 'mushroom', 'violetflower']
['herbal', 'camphor', 'spicy'] ['woody']
['burnt', 'vegetable', 'earthy', 'nut', 'meat'] ['coffee', 'earthy', 'meat', 'nut']
['powdery', 'sweet', 'cherry', 'cinnamon', 'almond', 'vanilla'] ['dairy', 'herbal', 'phenolic', 'powdery', 'vanilla']
['rose', 'fresh', 'citrus', 'lily', 'floral'] ['aldehydic', 'waxy']
['ethereal', 'bread', 'floral', 'lily', 'resinous'] ['clean', 'fruity', 'green', 'oily', 'rose']
['fresh', 'mint'] ['herbal', 'sweet', 'tobacco']
['woody', 'alcoholic', 'musk', 'earthy'] ['earthy', 'rancid', 'watery', 'woody']
['chemical', 'spicy', 'smoky', 'medicinal', 'leather', 'phenolic'] ['camphor', 'cooling', 'smoky']
['resinous', 'camphor'] ['balsamic', 'chemical', 'mint', 'resinous', 'sweet']
['floral', 'fruity', 'citrus'] ['green', 'metallic', 'orange', 'rancid', 'sulfuric', 'waxy']
['earthy', 'woody'] ['ambery', 'animalic', 'musk']
['apple', 'oily', 'butter', 'banana', 'plum', 'fruity', 'pear'] ['berry', 'clove', 'herbal']
['oily', 'cognac', 'fruity'] ['fruity', 'green', 'musty', 'waxy']
['tobacco', 'burnt', 'animalic', 'sulfuric', 'blackcurrant'] ['blackcurrant', 'powdery', 'spicy', 'sulfuric']
['alliaceous', 'fruity', 'ethereal'] ['cacao', 'resinous']
['ripe', 'vegetable', 'fresh', 'apple', 'fruity', 'ethereal'] ['aldehydic', 'ethereal', 'fresh', 'fruity']
['mushroom', 'fresh', 'fruity', 'ethereal', 'fermented'] ['green']
['fruity', 'mushroom', 'green', 'sweet', 'alcoholic', 'ethereal', 'resinous', 'leaf'] ['hyacinth', 'leaf', 'mushroom', 'nut']
['dairy', 'meat', 'sulfuric', 'mushroom', 'earthy', 'alliaceous', 'vegetable'] ['meat']
['ethereal', 'oily', 'woody', 'ester', 'banana', 'cinnamon'] ['camphor', 'floral', 'fruity', 'woody']
['resinous', 'fruity', 'cinnamon', 'balsamic'] ['cherry', 'cooling', 'floral', 'green', 'spicy', 'sweet']
['floral', 'fruity', 'geranium', 'rose', 'fresh', 'citrus'] ['citrus', 'floral', 'leaf', 'sweet']
[] ['herbal', 'vegetable']
['cognac', 'fermented', 'body', 'sour', 'cheese', 'fruity', 'apple', 'ethereal', 'chemical', 'banana'] ['butter', 'fruity']
['fatty', 'odorless', 'waxy', 'fruity', 'oily'] ['fruity', 'oily']
['green', 'sharp', 'fresh', 'pungent', 'ethereal', 'fruity'] ['almond', 'fruity', 'green', 'herbal', 'sweet']
['green', 'camphor', 'woody', 'anisic'] ['floral', 'woody']
['wine', 'berry', 'plum', 'cooling', 'honey', 'blueberry', 'rose', 'fruity', 'fermented'] ['balsamic', 'fruity', 'rose']
['oily', 'fruity'] ['butter', 'floral', 'wine']
['oily', 'animalic', 'fruity', 'waxy', 'musk'] ['animalic', 'clean', 'dry', 'metallic', 'musk', 'powdery', 'tropicalfruit', 'waxy']
['meat', 'sulfuric'] ['fatty', 'gourmand', 'meat', 'sulfuric']
['hyacinth', 'floral', 'cinnamon'] ['cinnamon']
['fresh', 'powdery', 'camphor', 'mint', 'resinous', 'apple', 'violetflower', 'ethereal', 'chemical'] ['ambery', 'chemical', 'rancid', 'violetflower', 'woody']
['green', 'woody', 'citrus', 'fresh', 'herbal', 'resinous', 'floral'] ['citrus', 'floral', 'resinous']
['orange', 'fresh', 'citrus', 'floral', 'lily'] ['fruity', 'green', 'lily', 'woody']
['floral', 'herbal', 'grapefruit', 'fresh', 'resinous'] ['lily', 'resinous']
['butter', 'sour'] ['caramellic', 'dairy', 'fruity']
['nut', 'vegetable', 'earthy'] ['earthy', 'floral', 'green', 'pepper', 'resinous']
['pungent', 'almond', 'fresh', 'cucumber', 'leaf', 'vegetable'] ['almond', 'cheese']
['phenolic', 'smoky', 'balsamic', 'almond', 'resinous', 'powdery', 'sweet', 'vanilla', 'anisic'] ['almond', 'floral', 'spicy']
['nut', 'earthy', 'caramellic', 'burnt', 'cacao', 'coffee'] ['coffee', 'cooked', 'meat', 'nut', 'sulfuric']
['floral', 'woody', 'berry'] ['berry', 'cedar', 'floral', 'lactonic']
['odorless', 'fruity'] ['sour']
['leaf', 'fruity', 'green'] ['green']
[] ['animalic', 'green', 'woody']
['berry', 'mint', 'blackcurrant'] ['blackcurrant', 'mint']
['fruity', 'rose', 'violetflower'] ['citrus', 'floral']
['fresh', 'mushroom', 'green', 'chemical', 'seafood', 'terpenic'] ['citrus', 'fresh']
['fresh', 'geranium', 'fruity', 'citrus', 'rose'] ['apple', 'dry', 'fatty', 'lemon', 'pear', 'rose', 'waxy']
['honey', 'balsamic', 'resinous', 'rose', 'floral', 'lily'] ['fresh', 'rose']
['tropicalfruit', 'fruity', 'honey', 'rose'] ['balsamic', 'fruity']
['floral', 'woody'] ['lactonic', 'plum', 'tropicalfruit']
['medicinal', 'balsamic', 'earthy', 'resinous', 'camphor'] ['camphor', 'coniferous', 'cooling']
['orange', 'woody', 'grapefruit'] ['grapefruit']
['animalic', 'musk'] ['ambrette', 'animalic', 'musk', 'vegetable']
['blackcurrant', 'cooked', 'alliaceous', 'roasted', 'meat', 'gourmand'] ['alliaceous', 'meat', 'roasted']
['rose', 'woody', 'fruity'] ['woody']
['fatty', 'powdery', 'seafood', 'musk', 'chemical'] ['dry', 'fatty', 'musk', 'sweet', 'waxy']
['grass', 'cucumber', 'cooked', 'rancid', 'fruity'] ['fatty', 'fruity', 'mushroom']
['sweet', 'fresh', 'fruity', 'alcoholic', 'butter'] ['ethereal', 'fermented', 'fresh']
['metallic', 'ripe', 'vegetable', 'sulfuric', 'tropicalfruit'] ['berry', 'dry', 'pungent']
['chemical', 'coffee', 'meat', 'alliaceous'] ['alliaceous', 'gourmand', 'meat', 'sharp']
['fruity', 'berry', 'plum'] ['floral', 'woody']
['vegetable', 'alliaceous'] ['alliaceous', 'cooked']

Generating test predictions

In [ ]:
test_df = pd.read_csv("/content/data/test.csv")
mols = [Chem.MolFromSmiles(smile) for smile in test_df["SMILES"].tolist()]
feat = dc.feat.ConvMolFeaturizer()#dc.feat.CircularFingerprint(size=1024)
test_arr = feat.featurize(mols)
print(test_arr.shape)
(1079,)
In [ ]:
test_dataset = dc.data.NumpyDataset(X=test_arr, y=np.zeros((len(test_df),109)))
print(test_dataset)
<NumpyDataset X.shape: (1079,), y.shape: (1079, 109), w.shape: (1079, 1), task_names: [  0   1   2 ... 106 107 108]>
In [ ]:
y_pred = model.predict(test_dataset)
top_5_preds=[]
c=0
# print(y_true.shape,y_pred.shape)
for i in range(y_pred.shape[0]):
  final_pred = []
  prob_val = []
  for y in range(109):
      prediction = y_pred[i,y]
      if prediction[1]>0.30:
        final_pred.append(1)
        prob_val.append(prediction[1])
      else:
        final_pred.append(0)
  smell_ids = np.where(np.array(final_pred)==1)
  smells = [vocab[k] for k in smell_ids[0]]
  #smells = [smells[k] for k in np.argsort(np.array(prob_val))] #to further order based on probability

  if len(smells)==0:
    c+=1
  if len(smells)>15:
      smells = smells[:15]
  else:
    new_smells = [x for x in top_15 if x not in smells]
    smells.extend(new_smells[:15-len(smells)])
  assert len(smells)==15
  sents = []
  for sent in range(0,15,3):
    sents.append(",".join([x for x in smells[sent:sent+3]]))
  pred = ";".join([x for x in sents])
  top_5_preds.append(pred)
  
print(len(top_5_preds))
print("[info] did not predict for ",c)
1079
[info] did not predict for  3
In [ ]:
final = pd.DataFrame({"SMILES":test_df.SMILES.tolist(),"PREDICTIONS":top_5_preds})
final.head()
Out[ ]:
SMILES PREDICTIONS
0 CCC(C)C(=O)OC1CC2CCC1(C)C2(C)C balsamic,camphor,cedar;coniferous,fruity,resin...
1 CC(C)C1CCC(C)CC1OC(=O)CC(C)O cooling,fruity,mint;floral,woody,herbal;green,...
2 CC(=O)/C=C/C1=CCC[C@H](C1(C)C)C berry,cedar,fruity;powdery,violetflower,woody;...
3 CC(=O)OCC(COC(=O)C)OC(=O)C apple,banana,ester;fruity,odorless,floral;wood...
4 CCCCCCCC(=O)OC/C=C(/CCC=C(C)C)\C cognac,floral,fruity;geranium,rose,waxy;woody,...
In [ ]:
final.to_csv("submission_deepchem_graph_conv_0.3.csv",index=False)

This submission gives a score of 0.277 on the leaderboard.

MultiTaskClassifier

Next we will use the MultiTaskClassifier of deepchem, with the featurizer CircularFingerprint.

The model accepts the following different featurizers.

  • CircularFingerprint
  • RDKitDescriptors
  • CoulombMatrixEig
  • RdkitGridFeaturizer
  • BindingPocketFeaturizer
  • ElementPropertyFingerprint

Feel free to substitute any one of these, and do report back your results and findings!

In [ ]:
mols = [Chem.MolFromSmiles(smile) for smile in data_df["text"].tolist()]
feat = dc.feat.CircularFingerprint(size=1024)
arr = feat.featurize(mols)
print(arr.shape)
(4316, 1024)
In [ ]:
labels = []
train_df = pd.read_csv("data/train.csv")
for x in train_df.SENTENCE.tolist():
  labels.append(np.array(get_ohe_label(x)))
labels = np.array(labels)
print(labels.shape)
(4316, 109)
In [ ]:
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(arr,labels, test_size=.1, random_state=42)
In [ ]:
train_dataset = dc.data.NumpyDataset(X=X_train, y=y_train)
val_dataset = dc.data.NumpyDataset(X=X_test, y=y_test)

print(train_dataset)
<NumpyDataset X.shape: (3884, 1024), y.shape: (3884, 109), w.shape: (3884, 1), task_names: [  0   1   2 ... 106 107 108]>
In [ ]:
print(val_dataset)
<NumpyDataset X.shape: (432, 1024), y.shape: (432, 109), w.shape: (432, 1), ids: [0 1 2 ... 429 430 431], task_names: [  0   1   2 ... 106 107 108]>

The MultitaskClassifier, is just a stack of dense layers. But that still leaves a lot of options. How many layers should there be, and how wide should each one be? What dropout rate should we use? What learning rate?

These are called hyperparameters. DeepChem provides a selection of hyperparameter optimization algorithms, which are found in the dc.hyper package. We use GridHyperparamOpt, which is the most basic method. We just give it a list of options for each hyperparameter and it exhaustively tries all combinations of them.

In [ ]:
import numpy as np
import numpy.random

params_dict = {'layer_sizes': [[500], [1000], [1000, 1000]],
              'dropouts': [0.2, 0.5],
              'learning_rate': [0.001, 0.0001] ,
              'n_tasks': [109],
               'n_features': [1024]
              } 



optimizer = dc.hyper.GridHyperparamOpt(dc.models.MultitaskClassifier)
metric = dc.metrics.Metric(dc.metrics.jaccard_score)
best_model, best_hyperparams, all_results = optimizer.hyperparam_search(
        params_dict, train_dataset, val_dataset, [], metric)
/usr/local/lib/python3.6/dist-packages/sklearn/metrics/_classification.py:1272: UndefinedMetricWarning: Jaccard is ill-defined and being set to 0.0 due to no true or predicted samples. Use `zero_division` parameter to control this behavior.
  _warn_prf(average, modifier, msg_start, len(result))
WARNING:tensorflow:5 out of the last 68 calls to <function KerasModel._compute_model at 0x7f4605bb8ae8> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/tutorials/customization/performance#python_or_tensor_args and https://www.tensorflow.org/api_docs/python/tf/function for  more details.
WARNING:tensorflow:5 out of the last 11 calls to <function KerasModel._compute_model at 0x7f4605adebf8> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/tutorials/customization/performance#python_or_tensor_args and https://www.tensorflow.org/api_docs/python/tf/function for  more details.
WARNING:tensorflow:5 out of the last 11 calls to <function KerasModel._compute_model at 0x7f4605adebf8> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/tutorials/customization/performance#python_or_tensor_args and https://www.tensorflow.org/api_docs/python/tf/function for  more details.
WARNING:tensorflow:5 out of the last 11 calls to <function KerasModel._compute_model at 0x7f4605cd1268> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/tutorials/customization/performance#python_or_tensor_args and https://www.tensorflow.org/api_docs/python/tf/function for  more details.
WARNING:tensorflow:5 out of the last 11 calls to <function KerasModel._compute_model at 0x7f4605cd1268> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/tutorials/customization/performance#python_or_tensor_args and https://www.tensorflow.org/api_docs/python/tf/function for  more details.
WARNING:tensorflow:5 out of the last 11 calls to <function KerasModel._compute_model at 0x7f46065e9510> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/tutorials/customization/performance#python_or_tensor_args and https://www.tensorflow.org/api_docs/python/tf/function for  more details.
WARNING:tensorflow:5 out of the last 11 calls to <function KerasModel._compute_model at 0x7f46065e9510> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/tutorials/customization/performance#python_or_tensor_args and https://www.tensorflow.org/api_docs/python/tf/function for  more details.
WARNING:tensorflow:5 out of the last 11 calls to <function KerasModel._compute_model at 0x7f4605f867b8> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/tutorials/customization/performance#python_or_tensor_args and https://www.tensorflow.org/api_docs/python/tf/function for  more details.
WARNING:tensorflow:5 out of the last 11 calls to <function KerasModel._compute_model at 0x7f4605f867b8> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/tutorials/customization/performance#python_or_tensor_args and https://www.tensorflow.org/api_docs/python/tf/function for  more details.
WARNING:tensorflow:5 out of the last 11 calls to <function KerasModel._compute_model at 0x7f4605c70a60> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/tutorials/customization/performance#python_or_tensor_args and https://www.tensorflow.org/api_docs/python/tf/function for  more details.
WARNING:tensorflow:5 out of the last 11 calls to <function KerasModel._compute_model at 0x7f4605c70a60> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/tutorials/customization/performance#python_or_tensor_args and https://www.tensorflow.org/api_docs/python/tf/function for  more details.
WARNING:tensorflow:5 out of the last 11 calls to <function KerasModel._compute_model at 0x7f46061bcd08> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/tutorials/customization/performance#python_or_tensor_args and https://www.tensorflow.org/api_docs/python/tf/function for  more details.
WARNING:tensorflow:5 out of the last 11 calls to <function KerasModel._compute_model at 0x7f46061bcd08> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/tutorials/customization/performance#python_or_tensor_args and https://www.tensorflow.org/api_docs/python/tf/function for  more details.
WARNING:tensorflow:5 out of the last 11 calls to <function KerasModel._compute_model at 0x7f460667dd90> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/tutorials/customization/performance#python_or_tensor_args and https://www.tensorflow.org/api_docs/python/tf/function for  more details.
WARNING:tensorflow:5 out of the last 11 calls to <function KerasModel._compute_model at 0x7f460667dd90> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/tutorials/customization/performance#python_or_tensor_args and https://www.tensorflow.org/api_docs/python/tf/function for  more details.
WARNING:tensorflow:5 out of the last 11 calls to <function KerasModel._compute_model at 0x7f460679e598> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/tutorials/customization/performance#python_or_tensor_args and https://www.tensorflow.org/api_docs/python/tf/function for  more details.
WARNING:tensorflow:5 out of the last 11 calls to <function KerasModel._compute_model at 0x7f460679e598> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/tutorials/customization/performance#python_or_tensor_args and https://www.tensorflow.org/api_docs/python/tf/function for  more details.
WARNING:tensorflow:5 out of the last 11 calls to <function KerasModel._compute_model at 0x7f460a90fa60> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/tutorials/customization/performance#python_or_tensor_args and https://www.tensorflow.org/api_docs/python/tf/function for  more details.
WARNING:tensorflow:5 out of the last 11 calls to <function KerasModel._compute_model at 0x7f460a90fa60> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/tutorials/customization/performance#python_or_tensor_args and https://www.tensorflow.org/api_docs/python/tf/function for  more details.
WARNING:tensorflow:5 out of the last 11 calls to <function KerasModel._compute_model at 0x7f460629a400> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/tutorials/customization/performance#python_or_tensor_args and https://www.tensorflow.org/api_docs/python/tf/function for  more details.
WARNING:tensorflow:5 out of the last 11 calls to <function KerasModel._compute_model at 0x7f460629a400> triggered tf.function retracing. Tracing is expensive and the excessive number of tracings could be due to (1) creating @tf.function repeatedly in a loop, (2) passing tensors with different shapes, (3) passing Python objects instead of tensors. For (1), please define your @tf.function outside of the loop. For (2), @tf.function has experimental_relax_shapes=True option that relaxes argument shapes that can avoid unnecessary retracing. For (3), please refer to https://www.tensorflow.org/tutorials/customization/performance#python_or_tensor_args and https://www.tensorflow.org/api_docs/python/tf/function for  more details.

We again evaluate the model based on jaccard score.

In [ ]:
metric = dc.metrics.Metric(dc.metrics.jaccard_score)
print('training set score:', best_model.evaluate(train_dataset, [metric]))
training set score: {'jaccard_score': 0.19314449838336573}

This seems to perform worse than the GraphConvModel that we made.

Lets look at the individual auc roc scores for each of the 109 classes.

In [ ]:
y_true = val_dataset.y
y_pred = best_model.predict(val_dataset)
metric = dc.metrics.roc_auc_score
for i in range(109):
  try:
    #print(y_true.shape,y_pred[:,i].shape)
    #print(y_true[:,i],y_pred[:,i])
    for gt,prediction in zip(y_true[:,i],y_pred[:,i]):
      assert round(prediction[0]+prediction[1])==1,prediction[0]-prediction[1]
    
    score = metric(dc.metrics.to_one_hot(y_true[:,i]), y_pred[:,i])
    print(vocab[i], score)
  except:
     print("err")
alcoholic 0.8372183372183372
aldehydic 0.869958988380041
alliaceous 0.9765402843601896
almond 0.9185011709601874
ambergris 0.9686046511627906
ambery 0.9554502369668245
ambrette 0.8825581395348838
ammoniac 0.14849187935034802
animalic 0.7011904761904761
anisic 0.7451437451437453
apple 0.8836930455635492
balsamic 0.815435954479336
banana 0.9537146226415094
berry 0.8086330935251798
blackcurrant 0.8536799065420562
err
body 0.7429906542056075
bread 0.959696261682243
burnt 0.8098035615935377
butter 0.8072599531615925
cacao 0.8653395784543325
camphor 0.9113394755492559
caramellic 0.8869102258123738
cedar 0.8997658079625293
cheese 0.8958108399913625
chemical 0.8017257205801358
cherry 0.9898989898989898
cinnamon 0.9945609945609946
citrus 0.8515815085158152
clean 0.6396825396825397
clove 0.8461538461538461
coconut 0.9970794392523364
coffee 0.9896955503512881
err
coniferous 0.9414519906323184
cooked 0.9054373522458629
cooling 0.7304020561777125
cucumber 0.9918793503480279
dairy 0.8420427553444181
dry 0.6830853174603174
earthy 0.7827598192561696
ester 0.8069767441860465
ethereal 0.8718800322061191
fatty 0.8026315789473684
err
fermented 0.7780672268907562
floral 0.7303500314399496
fresh 0.742967670627245
fruity 0.7546078818087281
geranium 0.8011627906976744
gourmand 0.9295774647887325
grape 0.9187935034802784
grapefruit 0.9976744186046511
grass 0.5271909233176839
green 0.6414890716590177
herbal 0.6965725806451613
honey 0.8119158878504673
hyacinth 0.9285714285714286
jasmin 0.9086463223787168
lactonic 0.8764568764568765
leaf 0.753850710900474
leather 0.9766899766899768
lemon 0.8345389764629669
lily 0.9640330188679245
liquor 0.5306791569086651
meat 0.9614868491680086
medicinal 0.9851330203442881
melon 0.9112617924528302
metallic 0.7642801251956182
mint 0.7878577221642915
mushroom 0.8380331753554504
musk 0.9106024616713453
musty 0.7339112161807197
nut 0.8315054086538461
odorless 0.8048349056603774
oily 0.839393028846154
orange 0.8658059467918622
err
pear 0.9210308056872037
pepper 0.8935508935508936
phenolic 0.944578313253012
plastic 0.7593457943925234
plum 0.7709302325581395
powdery 0.7356302521008404
pungent 0.6957983193277311
rancid 0.5603361344537815
resinous 0.7472649010581693
ripe 0.888631090487239
roasted 0.8646825396825397
rose 0.7945412990326353
seafood 0.775
sharp 0.6573426573426574
smoky 0.9860788863109049
sour 0.893109243697479
spicy 0.748515625
sulfuric 0.8901633646159195
sweet 0.638592038471814
syrup 0.9395784543325527
terpenic 0.9489559164733179
tobacco 0.861697965571205
tropicalfruit 0.8147413182140325
vanilla 0.8568075117370892
vegetable 0.7777175990824519
violetflower 0.6930913348946135
watery 0.9626168224299065
waxy 0.8731492718446601
whiteflower 0.962877030162413
wine 0.8351288056206089
woody 0.7860377746899285

Lets compare the model predictions with the gt.

In [ ]:
y_true = val_dataset.y
y_pred = best_model.predict(val_dataset)
# print(y_true.shape,y_pred.shape)
for i in range(y_true.shape[0]):
  final_pred = []
  for y in range(109):
      prediction = y_pred[i,y]
      if prediction[1]>0.1:
        final_pred.append(1)
      else:
        final_pred.append(0)
  smell_ids = np.where(np.array(final_pred)==1)
  smells = [vocab[k] for k in smell_ids[0]]
  
  gt_smell_ids = np.where(np.array(y_true[i])==1)
  gt_smells = [vocab[k] for k in gt_smell_ids[0]]
  print(smells,gt_smells)
['balsamic', 'berry', 'fruity', 'spicy', 'sweet'] ['balsamic', 'cinnamon', 'fruity', 'powdery', 'sweet']
['mint', 'spicy', 'woody'] ['dry', 'herbal']
['floral', 'fresh', 'fruity', 'resinous', 'sweet'] ['floral', 'fruity', 'resinous', 'sweet']
['citrus', 'earthy', 'floral', 'fresh', 'herbal', 'pepper', 'rose', 'sweet', 'woody'] ['citrus', 'fresh', 'lily']
['butter', 'fruity', 'green', 'oily', 'tropicalfruit', 'waxy'] ['green', 'pear']
['dry', 'ethereal', 'floral', 'fresh', 'fruity', 'green', 'herbal', 'oily', 'sweet', 'woody'] ['geranium', 'leaf', 'spicy']
['balsamic', 'floral', 'fresh', 'fruity', 'geranium', 'honey', 'leaf', 'rose'] ['berry', 'geranium', 'honey', 'powdery', 'waxy']
['balsamic', 'floral', 'fresh', 'honey', 'oily', 'resinous', 'rose'] ['floral', 'herbal', 'lemon', 'rose', 'spicy']
['oily'] ['chemical']
['apple', 'banana', 'floral', 'fruity'] ['apple', 'fermented']
['alliaceous', 'cooked', 'earthy', 'fruity', 'sulfuric', 'tropicalfruit'] ['alliaceous', 'fresh', 'gourmand', 'metallic', 'spicy', 'sulfuric', 'vegetable']
['floral', 'fresh', 'fruity', 'herbal', 'jasmin', 'resinous'] ['green', 'herbal', 'jasmin']
['floral', 'lemon', 'oily', 'resinous'] ['coniferous', 'floral', 'resinous']
['apple', 'berry', 'fresh', 'herbal', 'rose', 'sweet'] ['fruity', 'herbal']
['camphor', 'cooling', 'fresh', 'mint', 'sweet', 'woody'] ['mint']
['earthy', 'leather', 'medicinal', 'phenolic', 'resinous', 'spicy', 'sweet'] ['medicinal', 'phenolic', 'resinous', 'spicy']
['ethereal', 'floral', 'fresh', 'fruity'] ['burnt', 'ethereal', 'fermented', 'fresh']
['berry', 'burnt', 'citrus', 'floral', 'fresh', 'fruity', 'grass', 'green', 'sulfuric', 'tropicalfruit'] ['melon', 'tobacco']
['earthy', 'ethereal', 'oily', 'sweet', 'terpenic', 'woody'] ['chemical', 'resinous', 'rose']
['ethereal', 'floral', 'fresh', 'green', 'sweet'] ['woody']
['burnt', 'fresh', 'phenolic', 'woody'] ['syrup']
['floral', 'fresh', 'herbal'] ['clean', 'floral', 'fresh', 'grass', 'lily', 'resinous', 'spicy', 'sweet']
['ethereal', 'fatty', 'fresh', 'fruity', 'oily', 'rose', 'waxy'] ['citrus', 'fresh', 'rose', 'waxy']
['camphor', 'coniferous', 'dry', 'earthy', 'fresh', 'lemon', 'resinous', 'sweet'] ['camphor', 'clean', 'cooling', 'green', 'resinous']
['citrus', 'earthy', 'fresh', 'herbal', 'spicy'] ['fruity', 'grass', 'green', 'herbal']
['citrus', 'floral', 'fresh', 'fruity', 'green', 'herbal', 'oily'] ['animalic', 'green', 'pear', 'tropicalfruit']
['clove', 'earthy', 'floral', 'fruity', 'resinous', 'spicy', 'sweet'] ['cedar', 'fresh', 'leaf', 'mint']
['apple', 'chemical', 'ethereal', 'floral', 'fresh', 'fruity', 'green', 'oily'] ['floral', 'fresh', 'fruity', 'herbal']
['earthy', 'green', 'meat', 'nut', 'resinous', 'sulfuric'] ['bread', 'fermented', 'gourmand', 'meat', 'nut', 'sulfuric']
['ethereal', 'floral', 'fresh', 'fruity', 'sweet'] ['chemical', 'ethereal', 'fruity', 'sweet']
['burnt', 'caramellic', 'dairy', 'earthy', 'fruity', 'wine'] ['burnt', 'ester', 'fruity', 'pungent']
['alliaceous', 'coffee', 'earthy', 'gourmand', 'meat', 'nut', 'sulfuric', 'vegetable'] ['meat', 'roasted', 'vegetable']
['aldehydic', 'citrus', 'ethereal', 'fatty', 'floral', 'fresh', 'fruity', 'green', 'herbal', 'lemon', 'pungent', 'sweet'] ['orange']
['cheese', 'floral', 'fresh', 'green', 'herbal', 'sour'] ['balsamic', 'pungent', 'sour']
['citrus', 'floral', 'fresh', 'green', 'herbal', 'lemon', 'rose', 'sweet', 'waxy', 'woody'] ['balsamic', 'rose']
['balsamic', 'floral', 'medicinal', 'sweet'] ['cooling', 'medicinal', 'sweet']
['animalic', 'coffee', 'earthy', 'floral', 'green', 'leather', 'nut', 'tobacco'] ['coffee', 'earthy', 'nut']
['caramellic', 'fruity', 'green', 'nut', 'resinous', 'tobacco'] ['fruity', 'tobacco']
['camphor', 'floral', 'fresh', 'mint', 'spicy', 'woody'] ['mint']
['ambery', 'citrus', 'ethereal', 'green', 'herbal', 'woody'] ['ambery', 'cedar', 'dry', 'ethereal', 'herbal']
['camphor', 'earthy', 'green', 'musty', 'woody'] ['ambery', 'rancid', 'woody']
['caramellic', 'floral', 'sweet'] ['odorless']
['aldehydic', 'floral', 'fresh', 'green', 'herbal', 'lily', 'resinous'] ['fresh']
['camphor', 'fruity', 'mint', 'resinous', 'spicy', 'woody'] ['camphor', 'cedar']
['alliaceous', 'chemical', 'earthy', 'gourmand', 'green', 'meat', 'roasted', 'sulfuric', 'vegetable'] ['alliaceous', 'fruity', 'green']
['ethereal', 'fresh', 'fruity', 'green', 'herbal', 'vegetable'] ['ethereal', 'fresh', 'fruity']
['animalic', 'apple', 'berry', 'ethereal', 'floral', 'fruity', 'herbal', 'liquor', 'spicy', 'tropicalfruit', 'wine', 'woody'] ['floral', 'fruity']
['aldehydic', 'animalic', 'citrus', 'ethereal', 'fatty', 'floral', 'fresh', 'green', 'musty'] ['citrus', 'dairy', 'floral', 'fruity']
['chemical', 'fresh', 'green', 'herbal', 'mint', 'terpenic'] ['roasted']
['apple', 'banana', 'berry', 'fresh', 'sweet'] ['fruity']
['burnt', 'butter', 'caramellic', 'chemical', 'floral', 'fresh', 'fruity', 'sharp'] ['burnt', 'caramellic', 'fruity', 'resinous']
['apple', 'citrus', 'fatty', 'floral', 'fresh', 'fruity', 'green', 'oily', 'rose', 'sweet', 'wine', 'woody'] ['fatty', 'fruity']
['earthy', 'metallic', 'sulfuric', 'sweet', 'tropicalfruit', 'vegetable'] ['alliaceous', 'tropicalfruit']
['coconut', 'dairy', 'fruity', 'green', 'jasmin', 'tropicalfruit', 'woody'] ['fruity', 'jasmin']
['aldehydic', 'floral', 'fresh', 'fruity', 'green', 'hyacinth', 'lily', 'resinous', 'rose'] ['green', 'hyacinth']
['citrus', 'earthy', 'fresh', 'herbal', 'spicy'] ['grass', 'green', 'tobacco']
['citrus', 'green', 'resinous'] ['herbal', 'resinous']
['apple', 'berry', 'floral', 'fruity', 'herbal', 'liquor', 'wine'] ['animalic', 'caramellic', 'fruity', 'herbal']
['floral', 'fruity', 'resinous'] ['chemical', 'fruity', 'herbal', 'pungent']
['fresh', 'herbal', 'mint', 'sweet'] ['mint']
['animalic', 'apple', 'berry', 'ethereal', 'floral', 'fruity', 'herbal', 'liquor', 'spicy', 'tropicalfruit', 'wine', 'woody'] ['herbal', 'tropicalfruit']
['earthy', 'floral', 'fresh', 'fruity', 'green', 'herbal', 'mushroom'] ['green', 'liquor', 'mushroom', 'sweet']
['coconut', 'floral', 'grass', 'phenolic', 'resinous', 'sweet'] ['floral', 'fruity', 'resinous', 'sweet']
['fresh', 'mint', 'musk'] ['chemical', 'mint', 'musk']
['ethereal', 'floral', 'fresh', 'green', 'herbal'] ['apple', 'fermented']
['earthy', 'ethereal', 'fruity', 'oily'] ['herbal', 'spicy']
['earthy', 'fresh', 'green', 'tropicalfruit'] ['burnt', 'resinous', 'sulfuric']
['ambery', 'berry', 'burnt', 'caramellic', 'coffee', 'earthy', 'floral', 'musk', 'nut', 'roasted', 'spicy'] ['coffee', 'woody']
['aldehydic', 'citrus', 'cucumber', 'green', 'melon', 'waxy'] ['aldehydic', 'citrus']
['balsamic', 'clove', 'dairy', 'floral', 'phenolic', 'smoky', 'sweet', 'vanilla'] ['odorless']
['chemical', 'sulfuric', 'sweet'] ['ammoniac']
['balsamic', 'cinnamon', 'floral', 'fruity', 'honey', 'resinous', 'rose'] ['balsamic', 'hyacinth']
['floral', 'fresh', 'green', 'lily'] ['aldehydic', 'floral', 'grass', 'leaf']
['alliaceous', 'blackcurrant', 'ethereal', 'floral', 'spicy', 'sulfuric'] ['fermented', 'green', 'metallic', 'sulfuric', 'tropicalfruit', 'woody']
['citrus', 'floral', 'fruity', 'green', 'oily', 'pear', 'waxy'] ['fruity', 'green', 'oily']
['cheese', 'green', 'sour'] ['cheese', 'fruity']
['chemical', 'ethereal', 'fresh'] ['alcoholic', 'chemical', 'ethereal']
['apple', 'berry', 'dry', 'musty', 'nut', 'rose', 'sour', 'vegetable'] ['odorless']
['apple', 'burnt', 'fruity', 'green', 'sweet'] ['chemical', 'dairy', 'fruity', 'green', 'herbal', 'sharp']
['earthy', 'floral', 'green', 'mushroom', 'oily'] ['melon', 'mushroom', 'violetflower']
['berry', 'citrus', 'floral', 'fresh', 'fruity', 'green', 'herbal', 'rose'] ['citrus', 'fatty', 'floral']
['camphor', 'citrus', 'floral', 'fresh', 'green', 'herbal', 'woody'] ['fresh', 'mint']
['earthy', 'meat', 'sulfuric'] ['meat', 'plastic']
['animalic', 'earthy', 'ethereal', 'floral', 'green', 'leather', 'resinous', 'tobacco', 'woody'] ['animalic', 'earthy', 'leather', 'tobacco', 'woody']
['berry', 'chemical', 'fruity', 'grass', 'green', 'sweet'] ['nut']
['earthy', 'fruity', 'green', 'mint', 'resinous'] ['balsamic', 'herbal', 'rancid']
['citrus', 'floral', 'green', 'sulfuric', 'vegetable'] ['animalic', 'berry', 'green', 'mint', 'sulfuric']
['alliaceous', 'earthy', 'meat', 'nut'] ['alliaceous', 'cooked', 'fatty', 'roasted', 'vegetable']
['floral', 'lemon', 'oily', 'resinous'] ['coniferous', 'floral', 'resinous']
[] ['ethereal', 'sweet']
['citrus', 'ethereal', 'floral', 'fresh', 'fruity', 'green', 'herbal'] ['fruity', 'vegetable']
['earthy', 'fresh', 'green', 'herbal', 'pepper', 'woody'] ['citrus', 'resinous', 'spicy']
['floral', 'fresh', 'fruity', 'green', 'herbal', 'jasmin', 'lactonic', 'resinous', 'rose'] ['floral', 'green', 'herbal', 'plum']
['balsamic', 'floral', 'fresh', 'honey', 'oily', 'resinous', 'rose'] ['herbal', 'rose']
['medicinal', 'phenolic', 'smoky', 'spicy', 'sweet', 'woody'] ['medicinal', 'phenolic', 'spicy']
['blackcurrant', 'phenolic', 'spicy', 'sweet', 'vanilla'] ['almond', 'balsamic', 'cherry', 'floral', 'sweet']
['cooling', 'mint'] ['cooling', 'sweet']
['camphor', 'citrus', 'cooling', 'floral', 'fresh', 'green', 'herbal', 'spicy', 'woody'] ['citrus', 'earthy', 'green', 'mint', 'spicy', 'sweet', 'woody']
['citrus', 'floral', 'fresh', 'lemon', 'rose', 'sweet'] ['floral', 'lemon', 'orange']
['floral', 'fruity', 'green', 'herbal', 'woody'] ['floral', 'fruity', 'woody']
['citrus', 'floral', 'fresh', 'green', 'herbal', 'lemon', 'woody'] ['aldehydic', 'dry', 'green', 'lemon', 'orange']
['dairy', 'earthy', 'meat', 'spicy', 'sulfuric', 'vegetable'] ['cheese', 'gourmand', 'meat']
['fresh', 'green', 'herbal', 'rose', 'sweet'] ['chemical', 'floral', 'pungent', 'resinous']
['balsamic', 'floral', 'leather', 'medicinal', 'phenolic', 'smoky', 'sweet', 'vanilla'] ['floral', 'herbal', 'sweet']
['balsamic', 'dry', 'earthy', 'musk', 'sweet'] ['ambery', 'tobacco', 'woody']
['ambergris', 'earthy', 'floral', 'violetflower', 'woody'] ['balsamic', 'woody']
['berry', 'chemical', 'fruity', 'grass', 'green', 'sweet'] ['dairy', 'mushroom']
['body', 'caramellic', 'cheese', 'fruity', 'green', 'pungent', 'sour'] ['meat', 'oily', 'roasted', 'sour']
['almond', 'chemical', 'cherry', 'green', 'spicy', 'sweet'] ['almond', 'cherry', 'spicy', 'sweet']
['chemical', 'earthy', 'floral', 'phenolic', 'spicy', 'sweet'] ['phenolic', 'spicy']
['apple', 'banana', 'butter', 'cheese', 'fruity'] ['banana', 'meat', 'ripe']
['berry', 'caramellic', 'syrup'] ['berry', 'caramellic', 'clean']
['burnt', 'chemical', 'ethereal', 'floral', 'fresh', 'fruity', 'liquor', 'sweet'] ['pungent', 'vegetable']
['floral', 'green', 'herbal', 'rose', 'spicy'] ['herbal', 'spicy', 'sulfuric', 'vegetable']
['floral', 'fresh', 'fruity', 'herbal', 'jasmin', 'resinous'] ['floral', 'fresh', 'fruity', 'resinous']
['earthy', 'ethereal', 'meat', 'nut', 'roasted'] ['cooked', 'meat', 'nut']
['fatty', 'fresh', 'fruity', 'green', 'herbal'] ['fatty', 'floral', 'sweet']
['fatty', 'fruity', 'oily'] ['oily']
['fatty', 'fruity', 'herbal', 'oily', 'rose', 'tropicalfruit'] ['liquor', 'oily', 'wine']
['berry', 'floral', 'fresh', 'herbal', 'mint'] ['fresh', 'herbal', 'woody']
['fresh', 'fruity', 'mint'] ['camphor', 'musty', 'woody']
['chemical', 'ethereal', 'fresh', 'sweet'] ['chemical', 'ethereal']
['balsamic', 'cinnamon', 'floral', 'fruity', 'resinous', 'sweet'] ['balsamic', 'floral', 'herbal']
['cacao', 'floral', 'fresh', 'green', 'herbal'] ['aldehydic', 'floral', 'herbal']
['apple', 'fruity', 'green', 'musty', 'tropicalfruit'] ['apple', 'banana', 'fatty']
['apple', 'fruity', 'green', 'sweet', 'wine'] ['apple', 'banana']
['berry', 'butter', 'floral', 'fruity', 'green', 'rose', 'tropicalfruit', 'waxy'] ['citrus', 'fatty', 'floral', 'fresh']
['floral', 'medicinal', 'phenolic'] ['phenolic', 'plastic']
['green', 'herbal', 'spicy'] ['spicy', 'sulfuric']
['fresh', 'melon'] ['cucumber', 'green', 'melon', 'mushroom', 'oily', 'seafood']
['clean', 'nut', 'phenolic', 'spicy', 'sweet', 'tobacco'] ['burnt', 'herbal', 'phenolic', 'sweet']
['apple', 'ethereal', 'fruity', 'wine'] ['apple']
['earthy', 'fresh', 'green', 'herbal', 'sweet', 'woody'] ['camphor', 'woody']
['berry', 'earthy', 'lactonic', 'mint', 'musk', 'vanilla', 'woody'] ['syrup', 'woody']
['apple', 'floral', 'fruity', 'green', 'pear', 'tropicalfruit', 'wine'] ['green', 'pear', 'resinous', 'tropicalfruit']
['animalic', 'floral', 'green', 'herbal', 'resinous', 'woody'] ['balsamic', 'phenolic']
['fresh', 'green'] ['alliaceous', 'roasted']
['camphor', 'earthy', 'fresh', 'resinous'] ['camphor', 'fresh']
['apple', 'fruity', 'green', 'oily', 'pear', 'sweet', 'waxy'] ['fruity', 'oily']
['ethereal', 'floral', 'fresh', 'green', 'sweet'] ['ethereal', 'fatty', 'liquor']
['fresh', 'herbal', 'mint', 'musk'] ['herbal']
['burnt', 'fresh', 'fruity', 'resinous', 'spicy', 'sweet'] ['bread', 'caramellic', 'phenolic', 'woody']
['fatty', 'fruity', 'green', 'herbal', 'pear', 'tropicalfruit'] ['green', 'melon', 'pear', 'tropicalfruit', 'waxy']
['apple', 'balsamic', 'berry', 'butter', 'cinnamon', 'fruity', 'green', 'spicy', 'sweet', 'wine'] ['balsamic', 'fruity']
['animalic', 'fresh', 'mint', 'musk', 'sweet', 'woody'] ['ambergris', 'animalic', 'anisic', 'clean', 'fatty', 'musk', 'powdery']
['fatty', 'fresh', 'fruity', 'green', 'herbal'] ['floral', 'green', 'herbal']
['cooling', 'fruity', 'green', 'herbal', 'mint', 'sweet'] ['cooling', 'tropicalfruit', 'woody']
['balsamic', 'camphor', 'coniferous', 'earthy', 'fruity', 'green', 'resinous', 'spicy', 'woody'] ['camphor', 'nut', 'resinous']
['chemical', 'floral', 'phenolic', 'resinous', 'spicy', 'sweet'] ['floral', 'mint', 'sweet', 'violetflower', 'woody']
['aldehydic', 'green'] ['fruity']
['camphor', 'earthy', 'mint', 'woody'] ['rose']
['anisic', 'earthy', 'floral', 'sweet'] ['anisic']
['camphor', 'dry', 'fresh', 'mint', 'sweet', 'woody'] ['mint']
['burnt', 'fresh', 'sweet'] ['body', 'gourmand', 'nut', 'spicy', 'syrup']
['citrus', 'floral', 'fresh', 'grape', 'lily', 'resinous', 'spicy', 'sweet'] ['aldehydic', 'citrus', 'green']
['balsamic', 'cacao', 'fruity', 'green', 'honey', 'rose'] ['honey', 'rose']
['balsamic', 'floral', 'fruity', 'green', 'powdery', 'spicy', 'sweet', 'vanilla'] ['balsamic', 'spicy']
['balsamic', 'camphor', 'resinous', 'woody'] ['camphor', 'coniferous', 'cooling']
['berry', 'butter', 'cheese', 'fruity', 'tropicalfruit'] ['butter', 'fruity']
['earthy', 'green'] ['balsamic', 'floral']
['camphor', 'earthy', 'floral', 'herbal', 'spicy', 'tropicalfruit', 'woody'] ['fresh', 'mint']
['apple', 'caramellic', 'ethereal', 'fruity', 'green', 'musty', 'sweet'] ['banana', 'cheese', 'tropicalfruit']
['floral', 'fresh', 'herbal', 'lemon', 'sweet', 'woody'] ['aldehydic', 'fresh', 'herbal']
['alliaceous', 'chemical', 'coffee', 'green', 'meat', 'roasted', 'seafood', 'sulfuric'] ['burnt', 'caramellic', 'coffee']
['balsamic', 'floral', 'fruity'] ['balsamic', 'musk']
['aldehydic', 'citrus', 'earthy', 'green', 'resinous', 'woody'] ['clean', 'fresh', 'herbal']
['fresh', 'herbal', 'mint', 'sweet'] ['camphor']
['citrus', 'ethereal', 'floral', 'fresh', 'fruity', 'green', 'herbal', 'lemon', 'resinous', 'sweet', 'woody'] ['ethereal', 'floral', 'lemon']
['apple', 'banana', 'berry', 'earthy', 'fresh', 'fruity', 'green', 'melon', 'pear', 'rose', 'waxy'] ['banana', 'body', 'fermented', 'green', 'meat', 'melon']
['berry', 'chemical', 'fresh', 'fruity'] ['berry', 'cheese', 'green', 'herbal']
['cooling', 'fresh', 'fruity', 'herbal', 'mint', 'rose'] ['cooling', 'fruity']
['earthy', 'nut'] ['cacao', 'caramellic', 'dry', 'musty', 'nut', 'vanilla']
['dry', 'ethereal', 'fruity', 'mint', 'oily', 'spicy', 'woody'] ['cedar', 'fresh', 'sharp']
['aldehydic', 'chemical', 'citrus', 'ethereal', 'floral', 'fresh', 'herbal', 'lemon', 'metallic'] ['herbal', 'lemon']
['earthy', 'floral', 'herbal', 'musty', 'spicy', 'sweet'] ['camphor', 'resinous']
['earthy', 'floral', 'herbal', 'spicy', 'sweet', 'woody'] ['pepper', 'woody']
['balsamic', 'floral', 'fruity', 'green', 'herbal', 'honey', 'resinous', 'rose', 'sweet'] ['herbal', 'sweet', 'wine']
['chemical', 'fruity', 'green', 'herbal', 'spicy', 'tropicalfruit'] ['burnt', 'fruity', 'herbal']
['ambergris', 'cedar', 'chemical', 'dry', 'phenolic', 'woody'] ['ambery', 'woody']
['apple', 'fruity', 'green', 'sweet', 'wine'] ['tropicalfruit', 'wine']
['apple', 'fatty', 'green', 'oily', 'tropicalfruit'] ['apple', 'berry']
['berry', 'floral', 'green', 'sweet'] ['floral', 'orange', 'resinous', 'sweet']
['ethereal', 'fresh', 'fruity', 'green', 'liquor', 'sweet', 'wine'] ['burnt', 'caramellic', 'fresh', 'fruity']
['blackcurrant', 'floral', 'sulfuric'] ['floral', 'grapefruit', 'lemon']
['ethereal', 'fermented', 'musty', 'sweet'] ['citrus', 'floral', 'fresh', 'oily', 'sweet']
['alliaceous', 'earthy', 'sulfuric', 'vegetable'] ['cheese', 'sulfuric', 'tropicalfruit', 'vegetable']
['balsamic', 'clove', 'dairy', 'earthy', 'floral', 'phenolic', 'powdery', 'smoky', 'vanilla'] ['phenolic', 'spicy']
['cooked', 'floral', 'fruity', 'meat', 'roasted'] ['caramellic', 'dairy']
['fruity', 'green', 'herbal', 'melon', 'woody'] ['anisic', 'floral', 'fruity', 'woody']
['citrus', 'floral', 'fresh', 'fruity', 'green', 'herbal', 'resinous', 'rose'] ['herbal', 'spicy']
['earthy', 'ethereal', 'floral', 'woody'] ['floral', 'fruity', 'woody']
['citrus', 'clean', 'floral', 'fresh', 'fruity', 'herbal', 'lemon', 'rose'] ['floral', 'fresh', 'fruity']
['citrus', 'fatty', 'floral', 'fresh', 'green', 'herbal', 'oily', 'waxy', 'woody'] ['aldehydic', 'fresh', 'herbal', 'woody']
['coconut', 'dairy', 'fresh', 'fruity', 'green', 'jasmin', 'lactonic', 'sweet'] ['coconut', 'dairy', 'fruity']
['earthy', 'floral', 'green', 'musk', 'resinous', 'sweet', 'woody'] ['clove', 'herbal', 'rose', 'woody']
['earthy', 'green', 'sweet', 'woody'] ['balsamic', 'earthy', 'green', 'musk']
['ethereal', 'floral', 'fresh', 'fruity', 'green', 'mushroom', 'oily'] ['fresh', 'oily']
['aldehydic', 'floral', 'fresh', 'herbal', 'lily', 'resinous'] ['clean', 'fresh']
['balsamic', 'citrus', 'floral', 'fruity', 'green', 'herbal', 'honey', 'rose'] ['dry', 'herbal', 'rose']
['apple', 'berry', 'fruity', 'sweet'] ['fruity', 'green', 'musty', 'pungent']
['fresh', 'herbal', 'mint', 'spicy', 'woody'] ['fresh', 'herbal', 'waxy']
['ambery', 'camphor', 'ethereal', 'herbal', 'woody'] ['ambery', 'herbal', 'woody']
['floral', 'fruity', 'green', 'herbal', 'rose', 'tropicalfruit', 'waxy'] ['rose', 'tropicalfruit']
['camphor', 'cooling', 'fresh', 'green', 'herbal', 'mint', 'sweet', 'woody'] ['dry', 'herbal']
['apple', 'chemical', 'ethereal', 'fruity', 'liquor', 'sweet', 'tropicalfruit'] ['chemical', 'ethereal', 'fresh', 'fruity', 'plastic']
['citrus', 'ethereal', 'floral', 'fresh', 'herbal', 'lemon', 'metallic'] ['floral', 'green', 'lemon']
['fruity', 'pear', 'waxy'] ['citrus', 'fatty', 'waxy']
['citrus', 'clean', 'fatty', 'fresh', 'green', 'rose'] ['fatty', 'floral', 'mint']
['coconut', 'dairy', 'floral', 'mint', 'powdery', 'rose', 'sweet', 'tobacco', 'vanilla'] ['coconut', 'cooling', 'fruity']
['ethereal', 'floral', 'fresh', 'fruity', 'green', 'mushroom', 'oily'] ['mushroom', 'musty', 'oily']
['fresh', 'fruity'] ['apple', 'balsamic', 'banana', 'pear', 'woody']
['chemical', 'earthy', 'floral', 'green', 'nut', 'roasted', 'woody'] ['herbal', 'nut']
['alliaceous', 'earthy', 'green', 'nut', 'spicy', 'sulfuric', 'vegetable'] ['cooked', 'dairy', 'roasted']
['berry', 'caramellic', 'fruity', 'gourmand', 'syrup'] ['clean', 'syrup']
['balsamic', 'berry', 'cedar', 'floral', 'fruity', 'herbal', 'powdery', 'tobacco', 'violetflower', 'woody'] ['berry', 'green', 'sweet', 'woody']
['meat', 'sulfuric', 'tropicalfruit', 'vegetable'] ['animalic', 'grape', 'rancid']
['animalic', 'burnt', 'coffee', 'earthy', 'floral', 'green', 'leather', 'sweet'] ['floral', 'resinous']
['animalic', 'balsamic', 'fatty', 'floral', 'fruity', 'jasmin', 'oily', 'phenolic', 'whiteflower'] ['balsamic', 'nut', 'vanilla']
['camphor', 'coniferous', 'cooling', 'earthy', 'sulfuric', 'terpenic', 'woody'] ['citrus', 'resinous', 'sulfuric']
['alliaceous', 'green', 'sulfuric', 'vegetable'] ['alliaceous', 'earthy', 'spicy', 'sulfuric', 'vegetable']
['balsamic', 'floral', 'fruity', 'green', 'herbal', 'resinous'] ['balsamic', 'berry', 'cacao', 'green', 'herbal', 'whiteflower', 'woody']
['ethereal', 'floral', 'fresh', 'fruity', 'sour'] ['sour', 'spicy', 'vegetable']
['apple', 'fruity', 'green', 'pear', 'tropicalfruit'] ['dairy', 'fresh', 'fruity', 'green']
['earthy', 'fresh', 'grass', 'green', 'melon', 'vegetable'] ['fresh', 'leaf']
['ambery', 'balsamic', 'floral', 'fresh', 'fruity', 'powdery', 'resinous', 'sweet'] ['balsamic', 'fruity']
['floral', 'fresh', 'honey', 'lily', 'rose'] ['rose']
['fresh', 'melon'] ['floral', 'melon', 'oily', 'vegetable']
['camphor', 'floral', 'fruity', 'resinous', 'woody'] ['ester', 'fruity', 'woody']
['citrus', 'earthy', 'floral', 'green', 'oily'] ['aldehydic', 'ambery', 'green', 'lemon', 'waxy']
['camphor', 'coconut', 'floral', 'fresh', 'fruity', 'herbal', 'woody'] ['floral', 'fresh', 'fruity', 'mint']
['ambrette', 'dry', 'floral', 'leather', 'musk', 'musty', 'powdery', 'sweet'] ['fruity', 'leaf', 'violetflower']
['coconut', 'dairy', 'fresh', 'fruity', 'green', 'jasmin', 'lactonic', 'sweet'] ['coconut', 'dairy', 'herbal', 'lactonic']
['floral', 'fresh', 'green', 'lily'] ['earthy', 'herbal']
['floral', 'fruity', 'sweet', 'tropicalfruit'] ['apple']
['floral', 'fresh', 'green', 'herbal', 'resinous', 'woody'] ['balsamic', 'woody']
['floral', 'medicinal', 'nut', 'phenolic', 'vanilla'] ['caramellic', 'cooked', 'meat']
['citrus', 'fatty', 'floral', 'fresh', 'fruity', 'green', 'oily'] ['waxy']
['earthy'] ['camphor']
['earthy', 'green', 'meat', 'nut', 'pepper', 'vegetable'] ['mint', 'vegetable']
['burnt', 'caramellic', 'cinnamon', 'earthy', 'floral', 'fresh', 'fruity', 'herbal', 'nut', 'spicy'] ['resinous', 'sweet']
['earthy', 'floral', 'musk', 'woody'] ['earthy', 'musk']
['floral', 'lemon', 'oily', 'resinous'] ['floral']
['apple', 'floral', 'jasmin', 'resinous', 'sweet'] ['aldehydic', 'ethereal', 'fruity', 'jasmin']
['animalic', 'clean', 'floral', 'fruity', 'jasmin', 'lactonic', 'oily', 'rose'] ['jasmin', 'oily', 'watery']
['balsamic', 'berry', 'butter', 'cooling', 'floral', 'fruity', 'green', 'jasmin', 'lactonic', 'resinous', 'sour', 'tropicalfruit'] ['apple', 'fruity', 'green', 'resinous']
['balsamic', 'cinnamon', 'floral', 'resinous', 'sweet'] ['blackcurrant', 'cinnamon']
['citrus', 'fatty', 'fruity', 'green', 'oily', 'resinous', 'woody'] ['green', 'resinous']
['cheese', 'floral', 'fruity', 'sweet', 'woody'] ['apple', 'banana', 'berry']
['apple', 'cacao', 'cheese', 'ethereal', 'fruity', 'sour'] ['body', 'cheese', 'sour']
['alliaceous', 'cheese', 'dairy', 'earthy', 'gourmand', 'meat', 'sour', 'spicy', 'sulfuric', 'vegetable'] ['sulfuric', 'sweet']
['floral', 'green', 'herbal', 'spicy'] ['earthy', 'floral', 'sweet']
['chemical', 'sulfuric', 'sweet'] ['burnt', 'earthy', 'sulfuric']
['citrus', 'floral', 'fresh', 'green', 'herbal', 'resinous', 'sweet', 'woody'] ['citrus', 'earthy', 'floral']
['balsamic', 'floral', 'fruity', 'odorless', 'sweet'] ['balsamic', 'clean', 'green', 'plastic']
['ethereal', 'floral', 'fresh', 'fruity', 'green', 'mushroom', 'oily'] ['floral', 'grass', 'lemon', 'sweet']
['floral', 'herbal', 'oily', 'spicy', 'woody'] ['herbal', 'spicy', 'woody']
['alliaceous', 'coffee', 'cooked', 'gourmand', 'green', 'meat', 'roasted', 'sulfuric', 'vegetable'] ['meat', 'roasted', 'sulfuric']
['burnt'] ['balsamic', 'burnt', 'sour']
['animalic', 'earthy', 'floral'] ['floral', 'jasmin', 'seafood']
['balsamic', 'earthy', 'floral', 'medicinal', 'phenolic', 'sweet'] ['medicinal', 'phenolic', 'sweet']
['earthy', 'floral', 'green', 'nut', 'pepper', 'vegetable'] ['earthy', 'floral', 'nut', 'pepper']
['berry', 'burnt', 'caramellic', 'chemical', 'ethereal', 'fruity', 'grape', 'plum', 'ripe', 'spicy'] ['caramellic', 'fruity']
['alliaceous', 'chemical', 'cooked', 'gourmand', 'meat', 'roasted', 'seafood', 'sulfuric', 'vegetable'] ['caramellic']
['cacao', 'caramellic', 'nut', 'sweet'] ['green', 'resinous', 'roasted']
['cacao', 'earthy', 'nut'] ['butter', 'cooked', 'earthy']
['aldehydic', 'citrus', 'floral', 'fresh', 'green', 'lily', 'rose', 'sweet'] ['aldehydic', 'hyacinth', 'lily', 'watery', 'waxy']
['earthy', 'ethereal', 'fermented', 'odorless', 'oily'] ['odorless']
['chemical', 'earthy', 'leather', 'medicinal', 'phenolic', 'smoky', 'sweet'] ['phenolic', 'spicy']
['ambergris', 'fresh', 'herbal', 'woody'] ['ambergris', 'ambery', 'animalic', 'dry', 'fresh', 'metallic']
['fruity', 'green', 'herbal', 'sweet'] ['alcoholic', 'ethereal', 'musty', 'nut']
['balsamic', 'cacao', 'floral', 'fruity', 'honey', 'resinous', 'rose', 'sweet'] ['honey', 'resinous']
['balsamic', 'berry', 'floral', 'fruity', 'green', 'resinous', 'rose', 'sweet'] ['balsamic', 'fruity']
['berry', 'floral', 'fresh', 'fruity', 'green', 'herbal', 'liquor', 'sweet', 'tropicalfruit'] ['floral', 'fresh', 'fruity']
['chemical', 'floral', 'roasted', 'sulfuric'] ['meat']
['berry', 'floral', 'fresh', 'fruity', 'rose'] ['banana', 'melon', 'pear']
['berry', 'burnt', 'caramellic', 'coconut', 'earthy', 'spicy', 'syrup'] ['bread', 'burnt', 'syrup']
['citrus', 'green', 'woody'] ['woody']
['chemical', 'fresh', 'fruity', 'resinous', 'sweet'] ['berry', 'wine']
['green'] ['odorless']
['apple', 'banana', 'butter', 'cheese', 'fresh', 'fruity', 'musty', 'wine'] ['fruity']
['aldehydic', 'citrus', 'floral', 'fresh', 'green', 'lemon', 'lily', 'rose', 'watery'] ['aldehydic', 'floral', 'watery', 'waxy']
['ethereal', 'floral', 'fruity', 'green', 'mint'] ['pear', 'rose']
['ethereal', 'floral', 'fresh'] ['aldehydic', 'ethereal', 'fresh']
['earthy', 'floral', 'fresh', 'grass', 'whiteflower'] ['fresh', 'green', 'mint', 'rose']
['balsamic', 'berry', 'floral', 'fruity', 'honey', 'powdery', 'resinous', 'rose', 'sweet'] ['fruity', 'resinous', 'roasted']
['body', 'cacao', 'caramellic', 'coffee', 'earthy', 'green', 'musty', 'nut', 'vegetable'] ['cacao', 'earthy', 'nut']
['camphor', 'fresh', 'mint', 'woody'] ['cooling', 'musty', 'spicy']
['camphor', 'coniferous', 'earthy'] ['camphor', 'rancid', 'resinous']
['floral', 'fresh', 'herbal'] ['clean', 'floral', 'fresh', 'grass', 'lily', 'resinous', 'spicy', 'sweet']
['camphor', 'dry', 'fresh', 'fruity', 'green', 'resinous', 'woody'] ['fruity', 'herbal', 'resinous', 'rose']
['earthy', 'fruity', 'green', 'jasmin', 'resinous'] ['herbal', 'jasmin', 'oily']
['earthy', 'floral', 'green', 'herbal', 'hyacinth', 'resinous', 'rose'] ['leaf', 'vegetable']
['apple', 'berry', 'fatty', 'floral', 'fruity', 'green', 'rose', 'tropicalfruit', 'waxy', 'woody'] ['apple', 'floral']
['alliaceous', 'cooked', 'floral', 'green', 'sulfuric'] ['green', 'sulfuric', 'sweet']
['chemical', 'earthy', 'phenolic', 'woody'] ['earthy', 'leather', 'medicinal', 'phenolic']
['fatty', 'fresh', 'fruity', 'oily', 'woody'] ['green', 'mushroom', 'oily', 'sweet']
['citrus', 'floral', 'fresh', 'fruity', 'green', 'rose', 'sweet'] ['green', 'pear', 'rose', 'tropicalfruit', 'waxy', 'woody']
['camphor', 'cooling', 'earthy', 'fresh', 'resinous'] ['herbal']
['berry', 'floral', 'fresh', 'fruity', 'rose'] ['cooling', 'green', 'herbal', 'rose', 'waxy']
['cooling', 'herbal', 'mint', 'woody'] ['odorless']
['coffee', 'earthy', 'meat', 'nut'] ['bread', 'nut', 'vegetable', 'woody']
['coconut', 'earthy', 'fatty', 'floral', 'fruity', 'green', 'woody'] ['mint', 'spicy']
['cooling', 'mint'] ['mint']
['butter', 'coconut', 'dairy', 'fruity', 'jasmin', 'sweet'] ['coconut', 'dairy', 'fruity', 'resinous']
['fatty'] ['waxy', 'woody']
['burnt', 'caramellic', 'ethereal', 'fresh', 'fruity', 'sweet'] ['burnt', 'fresh', 'fruity', 'sweet']
['ambery', 'floral', 'fruity', 'resinous', 'sweet'] ['odorless']
['balsamic', 'fruity', 'green', 'herbal'] ['fruity', 'herbal']
['fruity', 'green', 'pear', 'sweet', 'waxy'] ['body', 'cooked', 'green', 'pear']
['cinnamon', 'clove', 'dairy', 'floral', 'phenolic', 'powdery', 'smoky', 'spicy', 'vanilla'] ['vanilla']
['blackcurrant', 'floral', 'sulfuric'] ['roasted', 'sweet', 'vegetable']
['apple', 'caramellic', 'chemical', 'ethereal', 'fruity', 'grape', 'liquor', 'pear', 'sweet'] ['chemical', 'fruity']
['apple', 'berry', 'green', 'tropicalfruit'] ['cheese', 'green', 'spicy', 'tropicalfruit', 'woody']
['alliaceous', 'earthy', 'metallic', 'spicy', 'sulfuric', 'tropicalfruit', 'vegetable'] ['blackcurrant', 'burnt', 'sulfuric', 'vegetable']
['ambery', 'balsamic', 'dry', 'floral', 'fruity', 'herbal', 'sweet', 'woody'] ['ambery', 'ambrette', 'dry']
['camphor', 'fresh', 'herbal', 'resinous', 'rose', 'woody'] ['woody']
['citrus', 'earthy', 'floral', 'green', 'rose'] ['clean', 'fresh']
['apple', 'fresh', 'fruity', 'green', 'herbal', 'vegetable'] ['apple', 'herbal']
['citrus', 'floral', 'fresh', 'fruity', 'geranium', 'green', 'herbal', 'musk', 'spicy'] ['apple', 'herbal', 'woody']
['chemical', 'ethereal', 'fresh', 'fruity'] ['alliaceous', 'cheese', 'cooked', 'mushroom']
['coconut', 'earthy', 'floral', 'herbal', 'phenolic', 'woody'] ['earthy', 'spicy']
['apple', 'butter', 'floral', 'odorless'] ['odorless']
['floral', 'lily', 'woody'] ['citrus', 'fresh', 'lily']
['floral', 'fresh', 'lily', 'resinous', 'spicy', 'sweet'] ['floral', 'fresh', 'fruity', 'green', 'musty']
['burnt', 'caramellic', 'nut', 'phenolic', 'sweet', 'syrup'] ['caramellic', 'fruity', 'resinous']
['balsamic', 'clove', 'floral', 'phenolic', 'powdery', 'smoky', 'sweet', 'vanilla'] ['vanilla']
['herbal', 'mint', 'oily', 'sweet'] ['mint', 'musk', 'spicy']
['floral', 'fruity', 'leather', 'medicinal', 'phenolic', 'powdery', 'vanilla'] ['floral', 'medicinal', 'phenolic']
['balsamic', 'floral', 'grapefruit', 'lily', 'oily', 'woody'] ['balsamic', 'fruity', 'green', 'resinous', 'woody']
['clean', 'ethereal', 'floral', 'fresh', 'lily'] ['citrus', 'floral', 'green', 'melon']
['ethereal', 'fresh', 'fruity', 'herbal', 'liquor', 'sweet'] ['ethereal', 'fresh', 'fruity']
['alliaceous', 'chemical', 'earthy', 'floral', 'green', 'sulfuric', 'vegetable'] ['ethereal', 'sulfuric']
['dairy', 'fatty', 'green', 'rose', 'sour'] ['butter']
['balsamic', 'ethereal', 'floral', 'honey', 'hyacinth', 'jasmin', 'rose'] ['fruity', 'musty', 'resinous']
['apple', 'ethereal', 'floral', 'fruity', 'tropicalfruit'] ['berry', 'green', 'herbal', 'honey', 'tropicalfruit']
['earthy', 'floral', 'fresh', 'leather', 'medicinal', 'musk', 'phenolic'] ['leather', 'phenolic', 'terpenic']
['citrus', 'ethereal', 'floral', 'fresh', 'fruity', 'green', 'herbal', 'lemon', 'lily', 'woody'] ['citrus', 'lemon']
['ethereal', 'floral', 'fresh', 'lily'] ['ethereal', 'lily']
['earthy', 'oily', 'sweet', 'terpenic', 'woody'] ['earthy', 'woody']
['chemical', 'floral', 'fruity', 'grass', 'herbal', 'medicinal', 'phenolic', 'resinous', 'spicy', 'sweet', 'woody'] ['fruity', 'herbal', 'phenolic', 'spicy']
['berry', 'fruity', 'herbal', 'pungent', 'sour'] ['earthy']
['citrus', 'floral', 'fresh', 'green', 'rose', 'sweet', 'woody'] ['balsamic', 'floral']
['chemical', 'meat', 'medicinal', 'phenolic', 'spicy', 'sulfuric'] ['meat', 'metallic', 'phenolic', 'roasted', 'sulfuric']
['camphor', 'earthy', 'ethereal', 'musk', 'woody'] ['balsamic', 'earthy', 'green', 'liquor', 'musk', 'resinous']
['ethereal', 'floral', 'fresh', 'fruity', 'herbal', 'woody'] ['floral', 'fresh', 'fruity', 'herbal']
['berry', 'floral', 'fresh', 'fruity', 'geranium', 'rose', 'spicy'] ['floral', 'fresh', 'fruity']
['earthy', 'floral', 'green', 'herbal', 'hyacinth', 'resinous', 'rose'] ['hyacinth', 'rose']
['aldehydic', 'citrus', 'fatty', 'floral', 'green', 'oily', 'waxy'] ['green', 'herbal', 'orange']
['ethereal'] ['alcoholic', 'cacao', 'cheese', 'liquor', 'vegetable']
['camphor', 'cooling', 'earthy', 'green'] ['camphor', 'cooling', 'resinous']
['citrus', 'floral', 'fresh', 'herbal', 'lemon', 'rose'] ['citrus', 'fresh', 'herbal']
['clove', 'dairy', 'earthy', 'floral', 'phenolic', 'powdery', 'smoky', 'sweet', 'vanilla'] ['floral', 'vanilla']
['camphor', 'earthy', 'green', 'musk'] ['camphor']
['caramellic', 'coffee', 'earthy', 'green', 'nut', 'sulfuric', 'vegetable'] ['vegetable']
['balsamic', 'chemical', 'clove', 'floral', 'phenolic', 'smoky', 'vanilla', 'woody'] ['clove', 'sweet', 'woody']
['ethereal', 'grapefruit', 'musk', 'woody'] ['animalic', 'fresh', 'fruity', 'green', 'herbal', 'sour', 'spicy', 'woody']
['balsamic', 'clove', 'dairy', 'phenolic', 'smoky', 'sweet', 'vanilla'] ['resinous', 'woody']
['camphor', 'resinous'] ['camphor', 'coniferous', 'resinous']
['fatty', 'floral', 'fruity', 'oily', 'rose', 'tropicalfruit', 'waxy'] ['leaf', 'rose', 'waxy']
['floral', 'fruity', 'green', 'tropicalfruit'] ['apple', 'tropicalfruit', 'waxy']
['earthy', 'floral', 'green', 'herbal', 'pepper', 'resinous'] ['green', 'woody']
['balsamic', 'floral', 'fruity', 'green', 'resinous', 'sweet'] ['balsamic', 'berry', 'powdery']
['aldehydic', 'cooling', 'fruity', 'green', 'herbal', 'resinous', 'sweet', 'woody'] ['oily', 'resinous']
['earthy', 'green', 'leather', 'liquor', 'medicinal', 'phenolic', 'sweet', 'woody'] ['phenolic']
['fruity', 'green', 'herbal', 'mint', 'sweet'] ['fruity', 'mint']
['citrus', 'floral', 'fruity', 'herbal', 'resinous', 'woody'] ['fruity', 'rose']
['berry', 'chemical', 'fresh', 'fruity'] ['berry', 'cheese', 'sweet']
['apple', 'ethereal', 'fresh', 'fruity', 'grass', 'green', 'herbal', 'leaf', 'liquor', 'tropicalfruit', 'vegetable'] ['leaf', 'mushroom', 'violetflower']
['floral', 'herbal', 'mint', 'phenolic', 'spicy'] ['woody']
['meat', 'nut', 'sulfuric', 'vegetable'] ['coffee', 'earthy', 'meat', 'nut']
['sweet', 'vanilla'] ['dairy', 'herbal', 'phenolic', 'powdery', 'vanilla']
['citrus', 'floral', 'fresh', 'green', 'herbal', 'lily', 'rose', 'woody'] ['aldehydic', 'waxy']
['floral', 'fresh', 'green', 'lily', 'resinous', 'sweet'] ['clean', 'fruity', 'green', 'oily', 'rose']
['earthy', 'fresh', 'herbal', 'woody'] ['herbal', 'sweet', 'tobacco']
['earthy', 'fresh'] ['earthy', 'rancid', 'watery', 'woody']
['chemical', 'floral', 'green', 'herbal', 'leather', 'medicinal', 'phenolic', 'resinous', 'smoky', 'spicy', 'sweet', 'woody'] ['camphor', 'cooling', 'smoky']
['camphor', 'cooling', 'fresh', 'green', 'herbal', 'resinous', 'woody'] ['balsamic', 'chemical', 'mint', 'resinous', 'sweet']
['citrus', 'floral', 'fruity', 'rose', 'woody'] ['green', 'metallic', 'orange', 'rancid', 'sulfuric', 'waxy']
['earthy'] ['ambery', 'animalic', 'musk']
['apple', 'fatty', 'fruity', 'green', 'melon', 'pear', 'wine'] ['berry', 'clove', 'herbal']
['apple', 'fatty', 'fruity', 'green', 'oily', 'tropicalfruit', 'waxy'] ['fruity', 'green', 'musty', 'waxy']
['alliaceous', 'blackcurrant', 'ethereal', 'floral', 'spicy', 'sulfuric'] ['blackcurrant', 'powdery', 'spicy', 'sulfuric']
['earthy', 'ethereal', 'floral', 'fresh', 'fruity'] ['cacao', 'resinous']
['ethereal', 'floral', 'fresh', 'fruity', 'green', 'herbal', 'liquor', 'tropicalfruit'] ['aldehydic', 'ethereal', 'fresh', 'fruity']
['ethereal', 'fresh', 'fruity', 'oily', 'rose'] ['green']
['ethereal', 'floral', 'green', 'leaf', 'rose', 'woody'] ['hyacinth', 'leaf', 'mushroom', 'nut']
['alliaceous', 'earthy', 'fresh', 'green', 'herbal', 'spicy', 'tropicalfruit', 'vegetable'] ['meat']
['banana', 'ethereal', 'floral', 'fresh', 'green', 'sweet', 'woody'] ['camphor', 'floral', 'fruity', 'woody']
['balsamic', 'cinnamon', 'fruity', 'spicy', 'sweet', 'wine'] ['cherry', 'cooling', 'floral', 'green', 'spicy', 'sweet']
['citrus', 'floral', 'fresh', 'fruity', 'geranium', 'green', 'herbal', 'leaf', 'rose', 'woody'] ['citrus', 'floral', 'leaf', 'sweet']
['earthy', 'herbal', 'metallic', 'musk', 'powdery', 'resinous', 'smoky', 'spicy', 'vanilla'] ['herbal', 'vegetable']
['apple', 'banana', 'burnt', 'caramellic', 'chemical', 'ethereal', 'fresh', 'fruity', 'sweet'] ['butter', 'fruity']
['fatty', 'fresh', 'fruity', 'musty', 'oily', 'waxy'] ['fruity', 'oily']
['chemical', 'ethereal', 'fresh', 'green', 'herbal', 'pungent'] ['almond', 'fruity', 'green', 'herbal', 'sweet']
['earthy', 'green', 'musk', 'oily', 'woody'] ['floral', 'woody']
['floral', 'fruity', 'green', 'honey', 'resinous', 'rose', 'sweet', 'wine'] ['balsamic', 'fruity', 'rose']
['fatty', 'fruity', 'herbal', 'oily', 'rose', 'tropicalfruit'] ['butter', 'floral', 'wine']
['animalic', 'fruity', 'musk', 'sweet', 'waxy'] ['animalic', 'clean', 'dry', 'metallic', 'musk', 'powdery', 'tropicalfruit', 'waxy']
['alliaceous', 'meat', 'sulfuric'] ['fatty', 'gourmand', 'meat', 'sulfuric']
['berry', 'cinnamon', 'floral', 'green', 'sweet'] ['cinnamon']
['chemical', 'floral', 'fresh', 'fruity'] ['ambery', 'chemical', 'rancid', 'violetflower', 'woody']
['citrus', 'earthy', 'floral', 'fresh', 'fruity', 'herbal', 'lemon', 'resinous', 'woody'] ['citrus', 'floral', 'resinous']
['citrus', 'earthy', 'ethereal', 'floral', 'fresh', 'lily'] ['fruity', 'green', 'lily', 'woody']
['earthy', 'floral', 'green', 'herbal', 'lily', 'resinous'] ['lily', 'resinous']
['chemical', 'fruity', 'sour'] ['caramellic', 'dairy', 'fruity']
['cacao', 'coffee', 'earthy', 'green', 'mint', 'musty', 'nut', 'pepper', 'resinous', 'tobacco', 'vegetable', 'woody'] ['earthy', 'floral', 'green', 'pepper', 'resinous']
['earthy', 'ethereal', 'fresh', 'green', 'vegetable'] ['almond', 'cheese']
['anisic', 'balsamic', 'floral', 'green', 'powdery', 'resinous', 'sweet', 'vanilla'] ['almond', 'floral', 'spicy']
['bread', 'burnt', 'cacao', 'caramellic', 'coffee', 'earthy', 'meat', 'nut', 'sulfuric'] ['coffee', 'cooked', 'meat', 'nut', 'sulfuric']
['berry', 'ethereal', 'floral', 'rose', 'woody'] ['berry', 'cedar', 'floral', 'lactonic']
['fatty', 'fruity', 'odorless', 'oily', 'waxy'] ['sour']
['apple', 'ethereal', 'fresh', 'fruity', 'grass', 'green', 'herbal', 'leaf', 'liquor', 'tropicalfruit', 'vegetable'] ['green']
['earthy', 'floral', 'green', 'nut', 'woody'] ['animalic', 'green', 'woody']
['blackcurrant', 'herbal', 'mint', 'sulfuric', 'tropicalfruit'] ['blackcurrant', 'mint']
['citrus', 'floral', 'grape', 'green', 'herbal', 'honey', 'lily', 'rose', 'violetflower'] ['citrus', 'floral']
['chemical', 'ethereal', 'fruity', 'oily'] ['citrus', 'fresh']
['citrus', 'clean', 'floral', 'fresh', 'fruity', 'herbal', 'lemon', 'rose'] ['apple', 'dry', 'fatty', 'lemon', 'pear', 'rose', 'waxy']
['floral', 'green', 'herbal', 'lily', 'rose'] ['fresh', 'rose']
['balsamic', 'berry', 'floral', 'fruity', 'green', 'honey', 'rose', 'spicy', 'sweet', 'tropicalfruit'] ['balsamic', 'fruity']
['coconut', 'dairy', 'floral', 'fruity', 'jasmin', 'lily', 'rose', 'woody'] ['lactonic', 'plum', 'tropicalfruit']
['balsamic', 'camphor', 'resinous', 'woody'] ['camphor', 'coniferous', 'cooling']
['ethereal', 'grapefruit', 'musk', 'woody'] ['grapefruit']
['animalic', 'earthy', 'fresh', 'musk', 'sweet'] ['ambrette', 'animalic', 'musk', 'vegetable']
['floral', 'fruity', 'green', 'meat', 'roasted', 'sulfuric'] ['alliaceous', 'meat', 'roasted']
['balsamic', 'berry', 'fruity', 'green', 'nut', 'rose', 'sweet', 'tropicalfruit', 'woody'] ['woody']
['chemical', 'dry', 'earthy', 'fatty', 'floral', 'musk', 'powdery'] ['dry', 'fatty', 'musk', 'sweet', 'waxy']
['floral', 'fresh', 'fruity', 'grass'] ['fatty', 'fruity', 'mushroom']
['ethereal'] ['ethereal', 'fermented', 'fresh']
['fatty', 'fresh', 'fruity', 'musty', 'sulfuric', 'sweet', 'tropicalfruit', 'wine'] ['berry', 'dry', 'pungent']
['alliaceous', 'chemical', 'green', 'meat', 'sulfuric'] ['alliaceous', 'gourmand', 'meat', 'sharp']
['fresh', 'woody'] ['floral', 'woody']
['alliaceous', 'green', 'sulfuric'] ['alliaceous', 'cooked']

Generating the test predictions

In [ ]:
test_df = pd.read_csv("/content/data/test.csv")
mols = [Chem.MolFromSmiles(smile) for smile in test_df["SMILES"].tolist()]
feat = dc.feat.CircularFingerprint(size=1024)
test_arr = feat.featurize(mols)
print(test_arr.shape)
(1079, 1024)
In [ ]:
test_dataset = dc.data.NumpyDataset(X=test_arr, y=np.zeros((len(test_df),109)))
print(test_dataset)
<NumpyDataset X.shape: (1079, 1024), y.shape: (1079, 109), w.shape: (1079, 1), task_names: [  0   1   2 ... 106 107 108]>
In [ ]:
y_pred = best_model.predict(test_dataset)
top_5_preds=[]
c=0
# print(y_true.shape,y_pred.shape)
for i in range(y_pred.shape[0]):
  final_pred = []
  for y in range(109):
      prediction = y_pred[i,y]
      if prediction[1]>0.30:
        final_pred.append(1)
      else:
        final_pred.append(0)
  smell_ids = np.where(np.array(final_pred)==1)
  smells = [vocab[k] for k in smell_ids[0]]
  if len(smells)==0:
    c+=1
  if len(smells)>15:
      smells = smells[:15]
  else:
    new_smells = [x for x in top_15 if x not in smells]
    smells.extend(new_smells[:15-len(smells)])
  assert len(smells)==15
  sents = []
  for sent in range(0,15,3):
    sents.append(",".join([x for x in smells[sent:sent+3]]))
  pred = ";".join([x for x in sents])
  top_5_preds.append(pred)
  
print(len(top_5_preds))
print("[info] did not predict for ",c)
1079
[info] did not predict for  182
In [ ]:
final = pd.DataFrame({"SMILES":test_df.SMILES.tolist(),"PREDICTIONS":top_5_preds})
final.head()
Out[ ]:
SMILES PREDICTIONS
0 CCC(C)C(=O)OC1CC2CCC1(C)C2(C)C camphor,resinous,woody;fruity,floral,herbal;gr...
1 CC(C)C1CCC(C)CC1OC(=O)CC(C)O cooling,fruity,floral;woody,herbal,green;fresh...
2 CC(=O)/C=C/C1=CCC[C@H](C1(C)C)C fresh,fruity,floral;woody,herbal,green;sweet,r...
3 CC(=O)OCC(COC(=O)C)OC(=O)C fruity,floral,woody;herbal,green,fresh;sweet,r...
4 CCCCCCCC(=O)OC/C=C(/CCC=C(C)C)\C fruity,rose,floral;woody,herbal,green;fresh,sw...
In [ ]:
final.to_csv("submission_deepchem_circular_fingerprint_0.3.csv",index=False)

This submission gives a score of ~0.253 on the leaderboard.

Using skmultilearn

We can also use the molecular fingerprints as inputs to class ML Algos like Random Forest, LabelPowerSet set a try.

We can use any models available in sklearn for multiclass problem, but I have just used these two to demonstrate a possible attempt at using sklearn.

In [ ]:
!pip install -q scikit-multilearn --upgrade
     |████████████████████████████████| 92kB 7.4MB/s 

This function should approximate the evaluation metric used in the challenge.

In [ ]:
def in_top_5(top_5_sents,target):
  ll = top_5_sents.split(";")
  max_scr = 0 
  for x in ll:
    smells = x.split(',')
    c = 0 
    for y in target.split(','):
      if y in smells:
        c+=1
    scr = c/(len(target.split(','))+len(smells)-c)
    if scr>max_scr:
      max_scr = scr

  return max_scr
In [ ]:
def get_submission(y_pred,labels = vocab):
  top_5_preds = []
  for i in range(y_pred.shape[0]):
    smell_ids = np.where(y_pred[i]==1)
    smells = [labels[k] for k in smell_ids[0]]
    if len(smells)>15:
      smells = smells[:15]
    else:
     new_smells = [x for x in top_15 if x not in smells]
     smells.extend(new_smells[:15-len(smells)])
    sents = []
    for sent in range(0,15,3):
      sents.append(",".join([x for x in smells[sent:sent+3]]))
    pred = ";".join([x for x in sents])
    top_5_preds.append(pred)
  return top_5_preds
In [ ]:
mols = [Chem.MolFromSmiles(smile) for smile in data_df["text"].tolist()]
feat = dc.feat.CircularFingerprint(size=1024)
arr = feat.featurize(mols)
print(arr.shape)
(4316, 1024)
In [ ]:
labels = []
train_df = pd.read_csv("data/train.csv")
for x in train_df.SENTENCE.tolist():
  labels.append(np.array(get_ohe_label(x)))
labels = np.array(labels)
print(labels.shape)
(4316, 109)
In [ ]:
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(arr,labels, test_size=.1, random_state=42)
In [ ]:
from skmultilearn.problem_transform import BinaryRelevance
from sklearn.ensemble import RandomForestClassifier
import time

start=time.time()
classifier = BinaryRelevance(
    classifier = RandomForestClassifier(),
    require_dense = [False, True]
)

classifier.fit(X_train, y_train)

print('training time taken: ',round(time.time()-start,0),'seconds')
training time taken:  87.0 seconds
In [ ]:
start=time.time()
predictions=classifier.predict(X_test)
print('prediction time taken: ',round(time.time()-start,0),'seconds')
top_5_predictions = get_submission(predictions.toarray())
prediction time taken:  2.0 seconds
In [ ]:
gt = []
for i in range(y_test.shape[0]):
    smell_ids = np.where(y_test[i]==1)
    smells = [vocab[k] for k in smell_ids[0]]
    gt.append(",".join([x for x in smells[:min(len(smells),3)]])) 
val_dict = {"top_5_sents":top_5_predictions,"target":gt}
df_to_eval = pd.DataFrame(val_dict)
top_5_scr = []
for pred,y in zip(df_to_eval.top_5_sents.tolist(),df_to_eval.target.tolist()):
  top_5_scr.append(in_top_5(pred,y))
df_to_eval["top_5_score"] = top_5_scr
print("OVERALL SCORE:",np.mean(df_to_eval.top_5_score.tolist()))
display(df_to_eval.head())
OVERALL SCORE: 0.240625
top_5_sents target top_5_score
0 balsamic,fruity,floral;woody,herbal,green;fres... balsamic,cinnamon,fruity 0.50
1 fruity,floral,woody;herbal,green,fresh;sweet,r... dry,herbal 0.25
2 resinous,fruity,floral;woody,herbal,green;fres... floral,fruity,resinous 1.00
3 citrus,fresh,lily;rose,fruity,floral;woody,her... citrus,fresh,lily 1.00
4 balsamic,fatty,fruity;green,sweet,tropicalfrui... green,pear 0.25

Generating Test Predictions

In [ ]:
test_df = pd.read_csv("/content/data/test.csv")
mols = [Chem.MolFromSmiles(smile) for smile in test_df["SMILES"].tolist()]
feat = dc.feat.CircularFingerprint(size=1024)
test_arr = feat.featurize(mols)
print(test_arr.shape)
(1079, 1024)
In [ ]:
start=time.time()
predictions=classifier.predict(test_arr)
print('prediction time taken: ',round(time.time()-start,0),'seconds')
top_5_predictions = get_submission(predictions.toarray())
prediction time taken:  3.0 seconds
In [ ]:
final = pd.DataFrame({"SMILES":test_df.SMILES.tolist(),"PREDICTIONS":top_5_predictions})
final.head()
Out[ ]:
SMILES PREDICTIONS
0 CCC(C)C(=O)OC1CC2CCC1(C)C2(C)C camphor,resinous,fruity;floral,woody,herbal;gr...
1 CC(C)C1CCC(C)CC1OC(=O)CC(C)O fruity,floral,woody;herbal,green,fresh;sweet,r...
2 CC(=O)/C=C/C1=CCC[C@H](C1(C)C)C fruity,floral,woody;herbal,green,fresh;sweet,r...
3 CC(=O)OCC(COC(=O)C)OC(=O)C odorless,fruity,floral;woody,herbal,green;fres...
4 CCCCCCCC(=O)OC/C=C(/CCC=C(C)C)\C cognac,floral,fruity;woody,herbal,green;fresh,...
In [ ]:
final.to_csv("submission_deepchem_sklearn_rf.csv",index=False)

This submission gives a score of ~0.24 on the leaderboard.

Label PowerSet

It is a problem transformation approach to multi-label classification that transforms a multi-label problem to a multi-class problem with 1 multi-class classifier trained on all unique label combinations found in the training data.

In [ ]:
# using Label Powerset
from skmultilearn.problem_transform import LabelPowerset
from sklearn.naive_bayes import GaussianNB

# initialize Label Powerset multi-label classifier
# with a gaussian naive bayes base classifier
classifier = LabelPowerset(GaussianNB())

# train
classifier.fit(X_train, y_train)

# predict
predictions = classifier.predict(X_test)


top_5_predictions = get_submission(predictions.toarray())
gt = []
for i in range(y_test.shape[0]):
    smell_ids = np.where(y_test[i]==1)
    smells = [vocab[k] for k in smell_ids[0]]
    gt.append(",".join([x for x in smells[:min(len(smells),3)]])) 
val_dict = {"top_5_sents":top_5_predictions,"target":gt}
df_to_eval = pd.DataFrame(val_dict)
top_5_scr = []
for pred,y in zip(df_to_eval.top_5_sents.tolist(),df_to_eval.target.tolist()):
  top_5_scr.append(in_top_5(pred,y))
df_to_eval["top_5_score"] = top_5_scr
print("OVERALL SCORE:",np.mean(df_to_eval.top_5_score.tolist()))
display(df_to_eval.head())
OVERALL SCORE: 0.23996913580246917
top_5_sents target top_5_score
0 balsamic,fruity,floral;woody,herbal,green;fres... balsamic,cinnamon,fruity 0.50
1 spicy,fruity,floral;woody,herbal,green;fresh,s... dry,herbal 0.25
2 odorless,fruity,floral;woody,herbal,green;fres... floral,fruity,resinous 0.50
3 citrus,fresh,lily;rose,fruity,floral;woody,her... citrus,fresh,lily 1.00
4 balsamic,fatty,fruity;green,sweet,tropicalfrui... green,pear 0.25

Generating Test Predictions

In [ ]:
start=time.time()
predictions=classifier.predict(test_arr)
print('prediction time taken: ',round(time.time()-start,0),'seconds')
top_5_predictions = get_submission(predictions.toarray())
prediction time taken:  10.0 seconds
In [ ]:
final = pd.DataFrame({"SMILES":test_df.SMILES.tolist(),"PREDICTIONS":top_5_predictions})
final.head()
Out[ ]:
SMILES PREDICTIONS
0 CCC(C)C(=O)OC1CC2CCC1(C)C2(C)C balsamic,resinous,fruity;floral,woody,herbal;g...
1 CC(C)C1CCC(C)CC1OC(=O)CC(C)O mint,fruity,floral;woody,herbal,green;fresh,sw...
2 CC(=O)/C=C/C1=CCC[C@H](C1(C)C)C odorless,fruity,floral;woody,herbal,green;fres...
3 CC(=O)OCC(COC(=O)C)OC(=O)C odorless,fruity,floral;woody,herbal,green;fres...
4 CCCCCCCC(=O)OC/C=C(/CCC=C(C)C)\C cognac,floral,fruity;woody,herbal,green;fresh,...
In [ ]:
final.to_csv("submission_deepchem_sklearn_powerlabelledset.csv",index=False)

This submission gives a score of ~0.26 on the leaderboard.

Chemception

Chemception is named after the Inception modules which will be used for the neural network. This method is based on this paper. The Smiles are encoded as 2D images.

In [ ]:
import pandas as pd
import rdkit
from rdkit import Chem
from rdkit.Chem import AllChem
import numpy as np
from matplotlib import pyplot as plt
%matplotlib inline
print("RDKit: %s"%rdkit.__version__)
RDKit: 2020.09.1

Preprocessing the Data

The first step is to encode the molecule into an “image”.

The function below takes an RDKit mol and encodes the molecular graph as an image with 4 channels.

After reading in the molecule the Gasteiger charges are calculated and the 2D drawing coordinates computed. They are usually computed before generating depictions of the molecule, but we are goind to need them “raw”, so they are extracted to the coords matrix.

The vect matrix is defined and filled with zeros (vacuum) and is of the shape (image_width, image_height,4). Each layer is then used to encode different information from the molecule.

Layer zero is filled with information about the bonds and encoded the bondorder. The next three layers are encoded with the atomic number, Gasteiger charges and hybridization.

More features can lead to the creation of more channels. But infact for right now we use only the first 3 channels to input into any CNN of our choice.

I am working on the implementation that will use the Inception model mentioned in the original paper, that takes into account all 4 channels so stay tuned!

In [ ]:
import pandas as pd 
import numpy as np

embed = 20 
res = 0.5 
train = pd.read_csv("data/train.csv")
display(train.head())
SMILES SENTENCE
0 C/C=C/C(=O)C1CCC(C=C1C)(C)C fruity,rose
1 COC(=O)OC fresh,ethereal,fruity
2 Cc1cc2c([nH]1)cccc2 resinous,animalic
3 C1CCCCCCCC(=O)CCCCCCC1 powdery,musk,animalic
4 CC(CC(=O)OC1CC2C(C1(C)CC2)(C)C)C coniferous,camphor,fruity
In [ ]:
from rdkit import Chem 
train["mol"] = train["SMILES"].apply(Chem.MolFromSmiles)
In [ ]:
mol = train["mol"][1]
dims = int(embed*2/res)
cmol = Chem.Mol(mol.ToBinary())
cmol.ComputeGasteigerCharges()
In [ ]:
def chemcepterize_mol(mol, embed=20.0, res=0.5):
    dims = int(embed*2/res)
    cmol = Chem.Mol(mol.ToBinary())
    cmol.ComputeGasteigerCharges()
    AllChem.Compute2DCoords(cmol)
    coords = cmol.GetConformer(0).GetPositions()
    vect = np.zeros((dims,dims,4))
    #Bonds first
    for i,bond in enumerate(mol.GetBonds()):
        bondorder = bond.GetBondTypeAsDouble()
        bidx = bond.GetBeginAtomIdx()
        eidx = bond.GetEndAtomIdx()
        bcoords = coords[bidx]
        ecoords = coords[eidx]
        frac = np.linspace(0,1,int(1/res*2)) #
        for f in frac:
            c = (f*bcoords + (1-f)*ecoords)
            idx = int(round((c[0] + embed)/res))
            idy = int(round((c[1]+ embed)/res))
            #Save in the vector first channel
            vect[ idx , idy ,0] = bondorder
    #Atom Layers
    for i,atom in enumerate(cmol.GetAtoms()):
            idx = int(round((coords[i][0] + embed)/res))
            idy = int(round((coords[i][1]+ embed)/res))
            #Atomic number
            vect[ idx , idy, 1] = atom.GetAtomicNum()
            #Gasteiger Charges
            charge = atom.GetProp("_GasteigerCharge")
            vect[ idx , idy, 3] = charge
            #Hybridization
            hyptype = atom.GetHybridization().real
            vect[ idx , idy, 2] = hyptype
    return vect
    
data = pd.read_csv("data/train.csv")
data["mol"] = data["SMILES"].apply(Chem.MolFromSmiles)

Lets try to “chemcepterize” a molecule and show it as an image. Matplotlib only supports RGB, so only the first three channels are used.

In [ ]:
mol = data["mol"][3]
v = chemcepterize_mol(mol, embed=18, res=0.5)
print(v.shape)
plt.imshow(v[:,:,:3])
plt.axis('off')
plt.title("Chemceptionized Molecule")
plt.show()
Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers).
(72, 72, 4)

Some molecules are really long and its difficult to embed them into such a small image, so we drop these molecules from our dataset.

In [ ]:
chemcepterize_mols = []
idxs_to_drop = []
for i,mol in enumerate(data["mol"].tolist()):
  try:
    chemcepterize_mols.append(chemcepterize_mol(mol, embed=16, res=0.5))
  except:
    print(i,mol,data.iloc[i]["SMILES"],len(data.iloc[i]["SMILES"]))
    idxs_to_drop.append(i)
data.drop(idxs_to_drop,inplace=True)
data.reset_index(inplace=True,drop=True)
142 <rdkit.Chem.rdchem.Mol object at 0x7f45c1976030> CC1CCc2c(C1)occ2C.CC1CCC(C(C1)OC(=O)C)C(C)C.CC1CCC(=C(C)C)C(=O)C1.CC1CCC(C(=O)C1)C(C)C.CC1CCC(C(C1)O)C(C)C.CC1CCC2(CC1)OCC2C 124
195 <rdkit.Chem.rdchem.Mol object at 0x7f45c1993120> CCCCCCC(C/C=C\CCCCCCCC(=O)OC(COC(=O)CCCCCCC/C=C\CC(CCCCCC)O)COC(=O)CCCCCCC/C=C\CC(CCCCCC)O)O 92
248 <rdkit.Chem.rdchem.Mol object at 0x7f45c196f210> OC1C[C@H]2C([C@]1(C)CC2)(C)C.C=CC(CCC=C(C)C)C.C=CCc1ccc(c(c1)OC)OC.OC/C=C(\CCC=C(C)C)/C.O=C/C=C(\CCC=C(C)C)/C 109
2318 <rdkit.Chem.rdchem.Mol object at 0x7f4606823850> Cn1cnc2c1c(=O)n(C)c(=O)n2C.Cn1cnc2c1c(=O)[nH]c(=O)n2C.Oc1cc2OC(c3ccc(c(c3)O)O)C(Cc2c(c1)O)O 91
2716 <rdkit.Chem.rdchem.Mol object at 0x7f46068247b0> C/C(=C\C=C\C=C(\C=C\C=C(\C=C\C1=C(C)C[C@H](CC1(C)C)O)/C)/C)/C=C/C=C(/C=C/C(=O)[C@]1(C)C[C@H](CC1(C)C)O)\C 105
2880 <rdkit.Chem.rdchem.Mol object at 0x7f4606832c10> CC(=O)CCC/C=C/C=C/C=C.CC(=O)CCC/C=C\C=C\C=C.CCC(=O)CC/C=C/C=C/C=C.CCC(=O)CC/C=C\C=C\C=C.CCCC(=O)C/C=C/C=C/C=C.CCCC(=O)C/C=C\C=C\C=C 131
2892 <rdkit.Chem.rdchem.Mol object at 0x7f4606831030> C/C/1=C\CCC(=C2/C(=C\C1)/CC2)C.CC(=CCC1=C(O)C(C(=O)C(=C1O)C(=O)CC(C)C)(CC=C(C)C)CC=C(C)C)C.CC(=CCC1=C(O)C(C(=O)C(=C1O)C(=C)CC(C)C)(O)CC=C(C)C)C 143

Data Augmentation, Let's Double the dataset!

A smile is not a unique way to represent a molecule so we use rdkit to create different versions of the same smile and add them to our dataset.

In [ ]:
import random

def randomSmiles(m1):
    m1.SetProp("_canonicalRankingNumbers", "True")
    idxs = list(range(0,m1.GetNumAtoms()))
    random.shuffle(idxs)
    for i,v in enumerate(idxs):
        m1.GetAtomWithIdx(i).SetProp("_canonicalRankingNumber", str(v))
    return Chem.MolToSmiles(m1)

m1 = Chem.MolFromSmiles(data["SMILES"][3])
v1 = chemcepterize_mol(m1, embed=16, res=0.5)
s = set()
for i in range(1000):
  smiles = randomSmiles(m1)
  s.add(smiles)

print(s)
print(len(s))

for new_mol in s:
  mol = Chem.MolFromSmiles(new_mol)
  v = chemcepterize_mol(mol, embed=16, res=0.5)
  #print(v.shape,v1.shape)
  diff = (v1-v).astype(np.int)
  if len(np.unique(diff)) > 4:
    plt.imshow(v[:,:,:3])
    plt.axis('off')
    plt.title("New Chemceptionized Molecule")
    plt.show()

    plt.imshow(v1[:,:,:3])
    plt.axis('off')
    plt.title("Chemceptionized Molecule")
    plt.show()
    break
Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers).
{'C1CCCC(=O)CCCCCCCCCCC1', 'C1CCCCCCCCCCC(=O)CCCC1', 'C1C(=O)CCCCCCCCCCCCCC1', 'C1CCCCCCCCCCCCCC(=O)C1', 'C1CCC(=O)CCCCCCCCCCCC1', 'C1CCCCCCCCCCCCCCC1=O', 'O=C1CCCCCCCCCCCCCCC1', 'C1CC(=O)CCCCCCCCCCCCC1', 'C1CCCCCC(=O)CCCCCCCCC1', 'C1CCCCC(=O)CCCCCCCCCC1', 'C1CCCCCCCCCC(=O)CCCCC1', 'C1(=O)CCCCCCCCCCCCCCC1', 'C1CCCCCCCCCCCCC(=O)CC1', 'C1CCCCCCCCCCCC(=O)CCC1', 'C1CCCCCCC(=O)CCCCCCCC1', 'C1CCCCCCCC(=O)CCCCCCC1', 'C1CCCCCCCCC(=O)CCCCCC1'}
17
Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers).

Process and save the entire train set

In [ ]:
from tqdm.notebook import tqdm
new_smiles = []
new_labels = []
did_not_add = 0
for smile,label in tqdm(zip(data["SMILES"].tolist(),data["SENTENCE"].tolist()),total = len(data)):
    m1 = Chem.MolFromSmiles(smile)
    v1 = chemcepterize_mol(m1, embed=16, res=0.5)
    s = set()
    flag = 0 
    for i in range(1000):
      smiles = randomSmiles(m1)
      s.add(smiles)

    for new_mol in s:
      mol = Chem.MolFromSmiles(new_mol)
      try:
           v = chemcepterize_mol(mol, embed=16, res=0.5)
      except:
           continue
      diff = (v1-v).astype(np.int)
      if len(np.unique(diff)) > 4:
        flag=1
        new_smiles.append(new_mol)
        new_labels.append(label)
        break
    if flag == 0:
      did_not_add+=1
print("[INFO] Did not add for",did_not_add,"/",len(data),"i.e",did_not_add/len(data)*100,"%")
[INFO] Did not add for 382 / 4309 i.e 8.865165931770711 %
In [ ]:
len(new_smiles),len(new_labels)
Out[ ]:
(3927, 3927)
In [ ]:
orig_smiles = data["SMILES"].tolist()
orig_labels = data["SENTENCE"].tolist()
orig_smiles.extend(new_smiles)
orig_labels.extend(new_labels)
In [ ]:
filenames = [str(x)+".png" for x in range(len(orig_smiles))]
In [ ]:
new_data = pd.DataFrame({"SMILES":orig_smiles,"SENTENCE":orig_labels,"FILENAME":filenames})
new_data["mol"] = new_data["SMILES"].apply(Chem.MolFromSmiles)
In [ ]:
new_data.head()
Out[ ]:
SMILES SENTENCE FILENAME mol
0 C/C=C/C(=O)C1CCC(C=C1C)(C)C fruity,rose 0.png <rdkit.Chem.rdchem.Mol object at 0x7f4606622f30>
1 COC(=O)OC fresh,ethereal,fruity 1.png <rdkit.Chem.rdchem.Mol object at 0x7f4606622440>
2 Cc1cc2c([nH]1)cccc2 resinous,animalic 2.png <rdkit.Chem.rdchem.Mol object at 0x7f4606622760>
3 C1CCCCCCCC(=O)CCCCCCC1 powdery,musk,animalic 3.png <rdkit.Chem.rdchem.Mol object at 0x7f46066224e0>
4 CC(CC(=O)OC1CC2C(C1(C)CC2)(C)C)C coniferous,camphor,fruity 4.png <rdkit.Chem.rdchem.Mol object at 0x7f46066220d0>
In [ ]:
!mkdir chemception_data
!mkdir chemception_data/train
!mkdir chemception_data/test
In [ ]:
import PIL
def save_png(mol,filename,mode):
    v = chemcepterize_mol(mol, embed=16,res=0.5)
    PIL.Image.fromarray((v[:,:,:3]*255).astype(np.uint8)).save("chemception_data/"+mode+"/"+filename)
  
for i,r in new_data.iterrows():
  save_png(Chem.MolFromSmiles(r["SMILES"]),r["FILENAME"],"train")

Process and save the entire test set

In [ ]:
test = pd.read_csv("data/test.csv")
test["mol"] = test["SMILES"].apply(Chem.MolFromSmiles)
test_filenames = [str(x)+".png" for x in range(len(test))]
test["FILENAME"] = test_filenames
test.head()
Out[ ]:
SMILES mol FILENAME
0 CCC(C)C(=O)OC1CC2CCC1(C)C2(C)C <rdkit.Chem.rdchem.Mol object at 0x7f460a8731c0> 0.png
1 CC(C)C1CCC(C)CC1OC(=O)CC(C)O <rdkit.Chem.rdchem.Mol object at 0x7f460a8733a0> 1.png
2 CC(=O)/C=C/C1=CCC[C@H](C1(C)C)C <rdkit.Chem.rdchem.Mol object at 0x7f460a873210> 2.png
3 CC(=O)OCC(COC(=O)C)OC(=O)C <rdkit.Chem.rdchem.Mol object at 0x7f460a873530> 3.png
4 CCCCCCCC(=O)OC/C=C(/CCC=C(C)C)\C <rdkit.Chem.rdchem.Mol object at 0x7f460a873580> 4.png
In [ ]:
chemcepterize_mols = []
idxs_to_drop = []
for i,mol in enumerate(test["mol"].tolist()):
  try:
    chemcepterize_mols.append(chemcepterize_mol(mol, embed=16, res=0.5))
  except:
    print(i,mol,test.iloc[i]["SMILES"],len(test.iloc[i]["SMILES"]))
    idxs_to_drop.append(i)
test.drop(idxs_to_drop,inplace=True)
test.reset_index(inplace=True,drop=True)
405 <rdkit.Chem.rdchem.Mol object at 0x7f460a87d5d0> CCCCCCCCCCCCOC(=O)CCC(=O)OCCCCCCCCCCCC 38
470 <rdkit.Chem.rdchem.Mol object at 0x7f460a87ea80> CCCCCCCCCc1ccc(cc1)OP(Oc1ccc(cc1)CCCCCCCCC)Oc1ccc(cc1)CCCCCCCCC 63
755 <rdkit.Chem.rdchem.Mol object at 0x7f460a8845d0> CC(=CCC/C(=C/C=C/C(=C/C=C/C(=C/C=C/C=C(\C)/C=C/C=C(\C)/C=C/C=C(\C)/CCC=C(C)C)/C)/C)/C)C 87
In [ ]:
for i,r in test.iterrows():
  save_png(r["mol"],r["FILENAME"],"test")
In [ ]:
new_data.to_csv("chemception_data/new_data.csv",index=False)
test.to_csv("chemception_data/test_data.csv",index=False)

Using Fastai and first 3 channels of Chemceptionized Molecule as Input

In [ ]:
import sys
import os
import gc
import warnings
import torch

import torch.nn as nn
import numpy as np
import pandas as pd 
import torch.nn.functional as F

from fastai.script import *
from fastai.vision import *
from fastai.callbacks import *
from fastai.distributed import *
from fastprogress import fastprogress
from torchvision.models import *
from tqdm.notebook import tqdm
In [ ]:
np.random.seed(42) # set random seed so we always get the same validation set
src =  (ImageList.from_df(path="/content/chemception_data/train", df=new_data, cols=["FILENAME"]).split_by_rand_pct(0.2).label_from_df(label_delim=',').databunch(num_workers=0,bs=64)).normalize(imagenet_stats)

Let's visualize the data

In [ ]:
src.show_batch(rows=3, figsize=(12, 9))

Defining the model, feel free to switch to any cnn, I am using vgg19.

In [ ]:
# create metrics
acc_02 = partial(accuracy_thresh, thresh=0.2)
f_score = partial(fbeta, thresh=0.2)
# create cnn with the resnet50 architecture
learn = cnn_learner(src, models.vgg19_bn, metrics=[acc_02, f_score])
Downloading: "https://download.pytorch.org/models/vgg19_bn-c79401a0.pth" to /root/.cache/torch/hub/checkpoints/vgg19_bn-c79401a0.pth

Find optimal Learning Rate

In [ ]:
learn.lr_find() # find learning rate
learn.recorder.plot() # plot learning rate
0.00% [0/1 00:00<00:00]
epoch train_loss valid_loss accuracy_thresh fbeta time

92.16% [94/102 00:09<00:00 1.5149]
LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.

Stage 1 Training

In [ ]:
lr = 0.001 # chosen learning rate
learn.fit_one_cycle(4, lr) # train model for 4 epochs

learn.save('chemception-stage-1') # save model
epoch train_loss valid_loss accuracy_thresh fbeta time
0 0.917778 0.641864 0.062354 0.122538 00:11
1 0.383136 0.151357 0.965620 0.099190 00:10
2 0.167073 0.121363 0.969246 0.064634 00:10
3 0.133681 0.119203 0.968973 0.070841 00:10

Unfreeze the model and find new optimal lr.

In [ ]:
learn.unfreeze() # unfreeze all layers

learn.lr_find() # find learning rate
learn.recorder.plot() # plot learning rate
0.00% [0/1 00:00<00:00]
epoch train_loss valid_loss accuracy_thresh fbeta time

87.25% [89/102 00:11<00:01 0.3442]
LR Finder is complete, type {learner_name}.recorder.plot() to see the graph.

Stage 2 Training

In [ ]:
learn.fit_one_cycle(15, slice(1e-5, lr/5)) # fit model with differential learning rates

learn.save('chemception-stage-2') # save model
epoch train_loss valid_loss accuracy_thresh fbeta time
0 0.126776 0.118528 0.969341 0.066387 00:14
1 0.124130 0.119191 0.969664 0.062011 00:14
2 0.120808 0.119606 0.970845 0.040851 00:14
3 0.119177 0.115931 0.969575 0.070413 00:14
4 0.115588 0.115994 0.968951 0.087470 00:14
5 0.113589 0.117376 0.969068 0.093694 00:14
6 0.112217 0.112182 0.968867 0.110425 00:14
7 0.110605 0.107980 0.967876 0.123160 00:14
8 0.110023 0.111269 0.966639 0.137990 00:14
9 0.109262 0.109367 0.967815 0.148184 00:14
10 0.107330 0.106838 0.967040 0.156888 00:14
11 0.107343 0.111985 0.966104 0.171443 00:14
12 0.105974 0.109715 0.966422 0.170245 00:14
13 0.106286 0.114873 0.966433 0.168010 00:14
14 0.105564 0.107487 0.966294 0.170154 00:14

Export the model for future use

In [ ]:
learn.export()

Let's see how the model performs on the Val set

In [ ]:
val_fns = [str(x) for x in learn.data.valid_ds.items]
In [ ]:
val_fns_y=[str(x) for x in learn.data.valid_ds.y]
In [ ]:
for img,gt in zip(val_fns,val_fns_y):
  pred_class, pred_idx, preds=learn.predict(open_image(img))
  print("----------------------------------------------------------")
  thresh = 0.1
  labelled_preds = [' '.join([learn.data.classes[i] for i,p in enumerate(preds) if p > thresh])]
  print("GT:",gt)
  print("PREDS:",labelled_preds)
  print("----------------------------------------------------------")
Streaming output truncated to the last 5000 lines.
GT: fresh;camphor
PREDS: ['camphor coniferous fresh resinous']
----------------------------------------------------------
----------------------------------------------------------
GT: green;green;resinous
PREDS: ['floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;vanilla
PREDS: ['floral nut phenolic spicy sweet vanilla']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;rose
PREDS: ['nut phenolic spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;spicy;balsamic
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: aldehydic;lily;fresh;waxy;woody
PREDS: ['balsamic floral fresh fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;anisic;fennel;hyacinth
PREDS: ['floral fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;fatty
PREDS: ['balsamic floral fruity green resinous rose']
----------------------------------------------------------
----------------------------------------------------------
GT: pungent;meat
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: floral
PREDS: ['floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;mint;musk
PREDS: ['fresh herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: orange;green;fresh;rancid;sulfuric;watery;clean;oily
PREDS: ['citrus fatty floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;lily;herbal;citrus
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;sweet;green;herbal;almond
PREDS: ['alliaceous ethereal fresh fruity sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: body
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: lily;orange
PREDS: ['balsamic floral fresh fruity green rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sour;pungent;apple
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: coconut
PREDS: ['floral fruity herbal resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;earthy
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sour;spicy
PREDS: ['camphor earthy floral green resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: vegetable
PREDS: ['floral fruity green nut sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: meat;bread
PREDS: ['burnt fresh fruity']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;seafood;burnt
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: vegetable
PREDS: ['floral fruity green sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: woody
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;geranium;woody;citrus;tropicalfruit
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: dairy;vanilla;cacao
PREDS: ['fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous
PREDS: ['floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;citrus;herbal
PREDS: ['citrus floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;fruity;floral;ambery
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;resinous
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: seafood;ammoniac
PREDS: ['alliaceous ethereal fresh fruity meat sulfuric vegetable']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;woody;fruity;spicy;burnt
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;burnt;coffee
PREDS: ['burnt coffee meat nut sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: rose;herbal;honey
PREDS: ['citrus fatty floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;fruity
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;violetflower;fresh;camphor
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;berry;floral;woody;green
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;floral
PREDS: ['floral fresh fruity green herbal rose sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: citrus;herbal;rose;cinnamon;balsamic
PREDS: ['balsamic floral fresh fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: vegetable;musty;nut;dry
PREDS: ['floral fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;herbal;floral
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fatty;spicy;herbal
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: green;berry;fresh;rose
PREDS: ['balsamic floral fruity green rose']
----------------------------------------------------------
----------------------------------------------------------
GT: phenolic;whiteflower
PREDS: ['floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;nut;coffee;cooked;meat
PREDS: ['balsamic floral fruity green resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;vegetable
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;coniferous
PREDS: ['floral fresh fruity green herbal mint resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: aldehydic;citrus
PREDS: ['citrus fatty floral fresh fruity green herbal rose waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;sour
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: cinnamon;leather
PREDS: ['fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: grapefruit;floral
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: lemon;woody;rose;herbal;watery;floral
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: medicinal;phenolic;burnt
PREDS: ['burnt chemical coffee earthy meat nut']
----------------------------------------------------------
----------------------------------------------------------
GT: overripe;grass
PREDS: ['fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;floral;woody;herbal;ester
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;floral;tropicalfruit;meat
PREDS: ['floral fruity nut sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;rose;clean;citrus;herbal
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: tropicalfruit;fatty;green;waxy;woody
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fatty;burnt;waxy;caramellic
PREDS: ['burnt fruity meat nut']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;floral;fruity
PREDS: ['citrus floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: clean;herbal;citrus
PREDS: ['citrus floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: green;orange;herbal
PREDS: ['fatty fresh fruity green oily waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: camphor;leaf
PREDS: ['floral fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: woody
PREDS: ['ambery earthy floral herbal musk woody']
----------------------------------------------------------
----------------------------------------------------------
GT: apple;herbal;fruity
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: camphor
PREDS: ['fresh fruity green herbal mint']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;fruity;burnt
PREDS: ['alliaceous burnt ethereal fresh fruity meat sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;hyacinth
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: lily
PREDS: ['balsamic floral fruity resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: chemical;resinous
PREDS: ['floral fruity green nut resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: green;woody
PREDS: ['floral fruity sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: clean;musk
PREDS: ['floral musk resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: earthy;nut;body;green;meat
PREDS: ['floral nut phenolic spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: oily;terpenic;musty;lemon;tropicalfruit
PREDS: ['fresh fruity herbal mint']
----------------------------------------------------------
----------------------------------------------------------
GT: melon;pear;tropicalfruit;earthy
PREDS: ['fatty floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: apple
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;meat;seafood;metallic;roasted
PREDS: ['fruity meat nut']
----------------------------------------------------------
----------------------------------------------------------
GT: vanilla
PREDS: ['floral phenolic resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: violetflower;waxy;pear;melon;vegetable
PREDS: ['fatty floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: green;green;fruity;herbal
PREDS: ['balsamic floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: apple;rose;herbal
PREDS: ['floral fresh fruity green herbal rose sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;camphor;balsamic
PREDS: ['camphor coniferous earthy herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;earthy;camphor
PREDS: ['camphor dry earthy floral herbal musk resinous spicy woody']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;spicy
PREDS: ['balsamic floral fruity resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;herbal;apple;herbal
PREDS: ['fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: apple;herbal
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;jasmin;woody;balsamic
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric
PREDS: ['alliaceous ethereal fresh fruity meat sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;floral;oily
PREDS: ['ambery fresh fruity woody']
----------------------------------------------------------
----------------------------------------------------------
GT: lily;orange;coconut;fruity;jasmin
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;spicy
PREDS: ['floral fruity spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: pungent;terpenic;citrus;herbal
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;lemon
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: earthy;bread;nut
PREDS: ['burnt ethereal fresh fruity']
----------------------------------------------------------
----------------------------------------------------------
GT: sharp;mint;phenolic
PREDS: ['floral fresh fruity green herbal mint sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: violetflower;woody;fresh;clean
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: oily;herbal;citrus
PREDS: ['fatty floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;camphor;coniferous
PREDS: ['camphor floral fresh fruity green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: mint
PREDS: ['fresh herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: dry;rose;green;resinous;musk;orange
PREDS: ['balsamic floral resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: vanilla;spicy;floral;clove;powdery;dairy;burnt;balsamic
PREDS: ['floral fruity green herbal spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: lactonic
PREDS: ['floral fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: meat
PREDS: ['floral fruity green resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: lactonic;plum;green;dry
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: rose;woody
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;honey;grass;woody;spicy
PREDS: ['floral fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;woody;green;floral
PREDS: ['citrus fatty floral fresh fruity green herbal rose waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;green;fruity
PREDS: ['balsamic floral fresh fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: lily;green;fruity;woody
PREDS: ['floral fresh fruity green herbal rose sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: dry;grass;waxy;rose
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: floral
PREDS: ['fresh fruity herbal mint']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;anisic;almond;floral
PREDS: ['floral nut phenolic resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;floral;balsamic
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: geranium;spicy;leaf
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: hyacinth;green
PREDS: ['floral nut spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: mushroom;musty;oily
PREDS: ['ethereal fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: cinnamon;aldehydic
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;berry;whiteflower;cacao;green;herbal;woody;balsamic
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;floral;fruity
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: apple;banana
PREDS: ['fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: green;fruity
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: leather;animalic;earthy;ethereal
PREDS: ['floral fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;coniferous;camphor
PREDS: ['fresh fruity herbal mint']
----------------------------------------------------------
----------------------------------------------------------
GT: berry;lactonic;cedar;floral
PREDS: ['floral fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: gourmand;cooked;roasted
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: caramellic;berry;liquor
PREDS: ['floral fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;woody
PREDS: ['floral fruity green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: bread;clean;caramellic
PREDS: ['ethereal fresh fruity']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;caramellic
PREDS: ['fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: musty;coffee;cacao
PREDS: ['floral fruity green sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: seafood;whiteflower;jasmin
PREDS: ['floral fruity green nut']
----------------------------------------------------------
----------------------------------------------------------
GT: ethereal;fruity
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: earthy
PREDS: ['nut phenolic spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: tropicalfruit
PREDS: ['burnt ethereal fresh fruity sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;floral;pepper
PREDS: ['citrus floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: grapefruit
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: banana;fatty;apple
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;balsamic
PREDS: ['balsamic floral fruity resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: ripe;dry;tropicalfruit;liquor;green;pear;caramellic
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: dry;green;ester;green;fruity;ethereal;grapefruit
PREDS: ['balsamic floral fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: syrup;camphor;coniferous
PREDS: ['camphor coniferous fresh green resinous']
----------------------------------------------------------
----------------------------------------------------------
GT: lily
PREDS: ['citrus floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: earthy;woody
PREDS: ['camphor earthy floral fruity green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;clove
PREDS: ['balsamic floral fruity resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: tobacco;ambery;woody
PREDS: ['ambery earthy herbal musk resinous spicy woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;banana;burnt;dairy
PREDS: ['ethereal fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: grapefruit;resinous;orange;oily;woody
PREDS: ['floral fresh fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;chemical
PREDS: ['ethereal fresh fruity herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;woody
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: mint;fruity
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: earthy
PREDS: ['fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;fruity;tobacco
PREDS: ['balsamic floral fruity green herbal resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: tropicalfruit;berry;sulfuric;earthy;fatty;waxy
PREDS: ['fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;floral;woody
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: honey
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: nut
PREDS: ['balsamic floral fruity resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;violetflower;orange;powdery
PREDS: ['floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;floral;balsamic
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;tropicalfruit;lactonic;coconut;dairy;vanilla
PREDS: ['floral fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: citrus;lemon;floral
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: aldehydic;herbal;lily;woody;watery
PREDS: ['balsamic camphor fresh green resinous']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;rose;green
PREDS: ['floral nut phenolic sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;fruity;rose;herbal
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;almond;cherry;floral
PREDS: ['balsamic floral fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: aldehydic;fatty;floral
PREDS: ['citrus fatty floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: rose;fatty
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: grass;musty
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: dairy;vanilla;cacao
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: lactonic;dairy;coconut;herbal
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: violetflower;woody
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: odorless
PREDS: ['camphor floral green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: honey;wine;floral;pear
PREDS: ['balsamic floral fruity green resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: woody
PREDS: ['floral fruity herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: rose;green;almond
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;mint;fruity;musty
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;fruity;cacao;coffee
PREDS: ['ethereal fresh fruity meat sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;floral;grass;fresh
PREDS: ['floral fruity green herbal resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: tropicalfruit;apple;body;mint
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;floral
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: waxy;vegetable;fruity
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;earthy;woody;coconut;floral
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;spicy;fruity
PREDS: ['balsamic floral fruity green herbal resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: pungent;chemical;terpenic
PREDS: ['floral green nut sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;butter
PREDS: ['fresh fruity green herbal mint']
----------------------------------------------------------
----------------------------------------------------------
GT: green;herbal;powdery;grass
PREDS: ['balsamic floral fruity resinous']
----------------------------------------------------------
----------------------------------------------------------
GT: citrus;green
PREDS: ['citrus floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;coffee
PREDS: ['burnt chemical coffee meat nut sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;berry;clove
PREDS: ['citrus fatty floral fruity green oily rose waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: phenolic;fruity;floral
PREDS: ['balsamic floral fruity resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: tropicalfruit;apple;body;mint
PREDS: ['ethereal fresh fruity']
----------------------------------------------------------
----------------------------------------------------------
GT: pungent;ambery;woody;lily
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;fruity
PREDS: ['balsamic floral fruity green herbal resinous rose sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: nut
PREDS: ['floral phenolic resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: vanilla
PREDS: ['balsamic floral fresh fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: nut;meat;sulfuric
PREDS: ['fruity nut spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: rose
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: caramellic;vanilla;liquor;dry
PREDS: ['nut phenolic spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: berry
PREDS: ['floral fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: musk;earthy;ambery;tobacco;woody;fresh;herbal;ester
PREDS: ['floral fresh fruity green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: banana;apple;chemical;tropicalfruit
PREDS: ['fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;vegetable;burnt;fruity
PREDS: ['ethereal fresh fruity herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: camphor;medicinal;cooling;green
PREDS: ['camphor coniferous earthy fresh resinous']
----------------------------------------------------------
----------------------------------------------------------
GT: mint;green;nut;honey
PREDS: ['floral fruity green nut sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: ethereal;sweet;floral
PREDS: ['balsamic floral fresh fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: waxy;citrus;green;tropicalfruit;rose
PREDS: ['floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;fruity
PREDS: ['alliaceous ethereal fresh fruity meat sulfuric vegetable']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;fruity;fermented
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;balsamic
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: rancid;sweet
PREDS: ['chemical coffee earthy nut phenolic']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;floral
PREDS: ['floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;mint;fruity
PREDS: ['fresh fruity green herbal mint resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;clove;berry
PREDS: ['camphor floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;resinous;berry
PREDS: ['balsamic floral fruity resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: melon;green;herbal
PREDS: ['balsamic camphor floral green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: musty;sweet;ambrette
PREDS: ['floral herbal resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: jasmin;fruity;chemical
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: banana;apple
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: musk
PREDS: ['floral herbal resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;fatty;roasted;meat;vegetable
PREDS: ['alliaceous ethereal fresh fruity green sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: green;earthy;tropicalfruit;metallic
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fatty;earthy
PREDS: ['earthy floral']
----------------------------------------------------------
----------------------------------------------------------
GT: fatty;waxy
PREDS: ['fatty floral fruity green oily rose waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: jasmin;fruity;floral;whiteflower
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: almond;fruity;powdery
PREDS: ['floral fruity green nut resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;herbal;woody;jasmin;oily
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: orange;lily;violetflower
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;fermented;burnt
PREDS: ['ethereal fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;sharp;cedar
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: earthy
PREDS: ['nut phenolic spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;waxy;fruity;floral
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;sweet;tropicalfruit;apple;cacao
PREDS: ['ethereal fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;anisic
PREDS: ['floral fruity resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: musk;chemical;sweet;powdery;fatty
PREDS: ['dry floral musk resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;floral;green;citrus
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: caramellic;nut
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: rose
PREDS: ['floral fruity']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;spicy
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;balsamic;fruity;musty
PREDS: ['balsamic floral fresh fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;earthy
PREDS: ['floral phenolic spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: pear
PREDS: ['citrus floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;rose
PREDS: ['citrus fatty floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: berry;resinous
PREDS: ['balsamic floral fresh fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: green;pear;waxy;woody;rose;tropicalfruit
PREDS: ['floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;sulfuric;fruity;meat
PREDS: ['floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;pepper
PREDS: ['floral fresh fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;burnt;caramellic
PREDS: ['fresh fruity herbal mint']
----------------------------------------------------------
----------------------------------------------------------
GT: violetflower;woody
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: floral
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;green;sweet;powdery;herbal
PREDS: ['balsamic floral fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;woody;mint
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;citrus;fatty;aldehydic
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: oily;fruity
PREDS: ['citrus floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;geranium;metallic;powdery
PREDS: ['floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: coffee;nut;animalic;leather
PREDS: ['floral green resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: aldehydic;citrus;dairy;powdery
PREDS: ['citrus fatty floral fresh fruity green oily waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;woody;mint
PREDS: ['camphor floral fresh fruity green herbal mint resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;resinous;spicy
PREDS: ['floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;jasmin;fruity
PREDS: ['balsamic floral fruity green resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: watery;dry;citrus;waxy
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;ester;floral;fruity
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: green;rose;plastic;metallic;spicy;earthy;herbal
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: lily;resinous;orange
PREDS: ['balsamic floral fruity resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;fruity
PREDS: ['earthy floral green herbal resinous spicy woody']
----------------------------------------------------------
----------------------------------------------------------
GT: lily
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: animalic;hyacinth;honey;whiteflower;lily
PREDS: ['balsamic floral fruity resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: cooked;meat
PREDS: ['floral nut sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;fruity;green;dairy
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: meat
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fermented;fruity;fatty
PREDS: ['ethereal fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: nut;meat;cheese
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: nut
PREDS: ['floral fruity resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: geranium;herbal
PREDS: ['citrus fatty floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: hyacinth;leaf;metallic;cooling
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: lemon
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: musk;earthy;balsamic
PREDS: ['floral fruity green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;camphor
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: seafood;ammoniac
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: waxy;tropicalfruit;fatty;green;musty
PREDS: ['citrus fatty floral fresh fruity green oily rose waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: pungent;earthy;woody
PREDS: ['floral fresh fruity green herbal mint resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;citrus;floral
PREDS: ['balsamic floral fresh fruity green herbal resinous rose sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;clean;sweet;floral;lily;resinous;spicy;grass
PREDS: ['floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: vanilla;nut;grass
PREDS: ['fruity nut']
----------------------------------------------------------
----------------------------------------------------------
GT: pepper
PREDS: ['floral fruity resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;burnt;almond
PREDS: ['burnt chemical coffee meat nut']
----------------------------------------------------------
----------------------------------------------------------
GT: camphor
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: green;metallic;tropicalfruit;citrus;floral
PREDS: ['citrus fatty floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: watery;earthy
PREDS: ['camphor fresh green herbal resinous']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;phenolic;burnt;woody
PREDS: ['fresh fruity herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;musk;ambrette;fruity;waxy;fatty
PREDS: ['musk']
----------------------------------------------------------
----------------------------------------------------------
GT: fatty;green;metallic;aldehydic
PREDS: ['floral fresh fruity herbal mint resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: rose;fruity
PREDS: ['floral fruity resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: cinnamon;chemical
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: lemon;fruity;lily
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;cacao
PREDS: ['ethereal fresh fruity green sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;fruity;spicy
PREDS: ['balsamic floral fruity green resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: apple;fermented
PREDS: ['ethereal fresh fruity']
----------------------------------------------------------
----------------------------------------------------------
GT: green;floral;pepper;green;resinous
PREDS: ['floral fruity phenolic resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;coffee
PREDS: ['balsamic floral fresh fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;chemical
PREDS: ['alliaceous ethereal fresh fruity green sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: watery;grass;fresh;floral
PREDS: ['balsamic floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: woody
PREDS: ['camphor fresh fruity herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: smoky;cinnamon;vanilla;cherry
PREDS: ['balsamic floral fruity resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: rose;fruity
PREDS: ['citrus floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: odorless
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;woody;green;floral
PREDS: ['floral fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: blackcurrant;herbal;woody
PREDS: ['floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: nut;green;earthy
PREDS: ['burnt fruity nut']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;musk;woody
PREDS: ['floral herbal resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;musty;medicinal;spicy;oily
PREDS: ['floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: earthy;musk;earthy
PREDS: ['camphor earthy floral herbal musk resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: musk;animalic
PREDS: ['musk']
----------------------------------------------------------
----------------------------------------------------------
GT: berry;floral;woody
PREDS: ['alliaceous ethereal fresh fruity green sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;citrus;spicy
PREDS: ['floral fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;spicy
PREDS: ['floral phenolic resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;floral
PREDS: ['woody']
----------------------------------------------------------
----------------------------------------------------------
GT: oily
PREDS: ['fruity oily']
----------------------------------------------------------
----------------------------------------------------------
GT: phenolic;nut
PREDS: ['coffee earthy floral nut phenolic sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: lemon;green;woody
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity
PREDS: ['fresh fruity herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;leaf
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;balsamic
PREDS: ['floral fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: rose;fresh;green;herbal;pear
PREDS: ['balsamic floral fruity green herbal resinous rose sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;phenolic
PREDS: ['balsamic floral fruity green rose']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;woody
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: violetflower;green;woody;clove
PREDS: ['balsamic floral fruity resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;terpenic;citrus;coniferous
PREDS: ['camphor fresh herbal mint resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: tropicalfruit;wine
PREDS: ['citrus fatty floral fresh fruity green herbal waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: honey;floral;woody
PREDS: ['floral fresh fruity green herbal mint sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;fruity;ester;green;waxy
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: spicy;caramellic
PREDS: ['floral fresh fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: green;fruity
PREDS: ['fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: cedar;dry;ambergris;chemical;phenolic
PREDS: ['floral herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: alliaceous;green
PREDS: ['fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: apple;rose
PREDS: ['citrus floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: orange;ambery
PREDS: ['citrus fatty floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: orange;waxy;floral
PREDS: ['citrus fatty floral fresh fruity green herbal rose waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;fruity
PREDS: ['fresh fruity herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;cacao
PREDS: ['ethereal fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: geranium;fruity;waxy
PREDS: ['citrus fatty floral fruity green herbal rose waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: alliaceous;meat;coffee
PREDS: ['alliaceous burnt ethereal fresh fruity meat sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: vanilla
PREDS: ['earthy floral nut phenolic resinous spicy sweet vanilla']
----------------------------------------------------------
----------------------------------------------------------
GT: rose;woody;woody;pepper
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;oily;citrus
PREDS: ['citrus fatty floral fruity green oily rose waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;herbal;floral;grapefruit
PREDS: ['floral fruity green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: rose;pear
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic
PREDS: ['balsamic floral fruity resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: citrus;aldehydic;cucumber
PREDS: ['fatty floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;floral;fruity
PREDS: ['floral fresh fruity herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;floral;earthy
PREDS: ['balsamic floral fruity green resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;citrus;floral
PREDS: ['citrus fatty floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: apple
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;clean;sweet
PREDS: ['dry earthy floral herbal musk resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: coconut;jasmin;dairy
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;lily;waxy;aldehydic
PREDS: ['citrus fatty floral fresh fruity green herbal rose waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: ambery;balsamic;musk
PREDS: ['balsamic floral fruity green resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: oily;fruity;fermented;burnt
PREDS: ['balsamic floral fresh fruity green herbal rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;spicy;butter;fruity
PREDS: ['balsamic floral fruity green resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;rose;green;fruity
PREDS: ['balsamic floral fruity green herbal resinous rose sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: pungent;jasmin;fruity
PREDS: ['floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: dry;woody;waxy;rose;honey
PREDS: ['floral fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: nut;woody;bread;vegetable
PREDS: ['floral nut phenolic sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;citrus;balsamic
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;rose;balsamic
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: ethereal;banana;musty
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;woody;floral;balsamic
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: woody
PREDS: ['ambergris ambery dry earthy musk woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;floral;citrus
PREDS: ['fatty floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: camphor;woody;sweet;leather
PREDS: ['floral fresh fruity green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;floral;citrus
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: cooked;nut
PREDS: ['alliaceous burnt caramellic ethereal fresh fruity meat sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: phenolic;spicy
PREDS: ['floral fruity herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: berry;violetflower;powdery
PREDS: ['camphor coniferous earthy green herbal musk resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: berry;violetflower;powdery
PREDS: ['floral fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: ethereal;sour;grape;sweet;berry;body
PREDS: ['ethereal fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;burnt;fruity;medicinal
PREDS: ['burnt fresh fruity sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;musk;ambery
PREDS: ['earthy floral musk resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: nut;meat;vegetable
PREDS: ['floral nut phenolic resinous spicy sweet vanilla']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;animalic
PREDS: ['earthy nut resinous']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;oily
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;ethereal;fruity
PREDS: ['alliaceous ethereal fresh fruity green sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: citrus
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: mint;violetflower
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: vanilla;powdery
PREDS: ['floral phenolic resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: earthy
PREDS: ['fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: ethereal;pungent;chemical;burnt
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;fruity;apple;herbal
PREDS: ['floral fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: tropicalfruit;berry;floral;caramellic
PREDS: ['ethereal fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: leaf;herbal;fruity
PREDS: ['floral fruity woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;grass
PREDS: ['burnt fresh fruity']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;ethereal;fermented;burnt
PREDS: ['ethereal fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: hyacinth;leaf
PREDS: ['balsamic floral fresh fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;woody;spicy;floral;green;fruity;citrus
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;burnt;herbal
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: medicinal;balsamic;fruity;floral
PREDS: ['balsamic floral fruity green resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: lily
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;resinous;floral;fruity
PREDS: ['balsamic floral fresh fruity green herbal resinous rose sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: green;grass;tobacco
PREDS: ['floral fresh fruity green herbal mint sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: vanilla;dairy
PREDS: ['balsamic floral fruity green herbal resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: hyacinth;green;honey;tropicalfruit
PREDS: ['fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: lactonic;cacao
PREDS: ['ethereal fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;grass;tropicalfruit;terpenic;cooling;berry;woody
PREDS: ['camphor fresh green resinous']
----------------------------------------------------------
----------------------------------------------------------
GT: leather
PREDS: ['floral fruity resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;floral
PREDS: ['floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sour;resinous;woody
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;rose;dry
PREDS: ['balsamic floral fruity green rose']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;resinous;floral
PREDS: ['balsamic floral fruity resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: musk;animalic
PREDS: ['balsamic floral fruity resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: nut
PREDS: ['balsamic floral fruity green rose']
----------------------------------------------------------
----------------------------------------------------------
GT: camphor;resinous
PREDS: ['camphor fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity
PREDS: ['alliaceous ethereal fresh fruity green sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: roasted;resinous;green
PREDS: ['floral phenolic resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: geranium;musk;fruity
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: spicy;herbal;fruity
PREDS: ['floral fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;ambery;ethereal
PREDS: ['camphor earthy green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;wine;sweet
PREDS: ['floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: fatty;waxy;floral;citrus;vegetable;tobacco
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sour
PREDS: ['fruity oily']
----------------------------------------------------------
----------------------------------------------------------
GT: mint;green;nut;honey
PREDS: ['floral fruity green sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: citrus;fresh;floral;oily;sweet
PREDS: ['ethereal fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;alliaceous
PREDS: ['citrus floral fresh fruity green herbal rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: phenolic;spicy
PREDS: ['coffee earthy nut phenolic sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: dry
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: woody
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: green
PREDS: ['camphor fresh herbal mint resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;sweet;resinous;floral
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;floral;cherry;berry
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: earthy;sweet;phenolic;woody
PREDS: ['nut phenolic spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: metallic
PREDS: ['floral fresh fruity green herbal rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;woody;floral
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: cooked;caramellic
PREDS: ['balsamic floral fruity resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: caramellic;sharp;fruity;butter
PREDS: ['ethereal fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: musty;camphor;woody
PREDS: ['fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;ethereal;fruity
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: green;plum
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;citrus;green
PREDS: ['ethereal fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;earthy
PREDS: ['floral fresh fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: green;coniferous
PREDS: ['floral fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: cacao;vegetable;coffee
PREDS: ['floral nut phenolic spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: mushroom
PREDS: ['fresh fruity']
----------------------------------------------------------
----------------------------------------------------------
GT: green;citrus
PREDS: ['camphor fresh herbal mint resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: green;herbal;lemon
PREDS: ['fresh fruity green herbal mint sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: orange;floral
PREDS: ['balsamic floral fruity resinous rose']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;resinous;fruity
PREDS: ['balsamic floral fruity resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: cheese;almond
PREDS: ['ethereal fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: musk;earthy;camphor;earthy
PREDS: ['camphor earthy floral herbal musk resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: mushroom;cacao;meat;coffee;nut
PREDS: ['floral fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: geranium;fruity;leaf;green;herbal
PREDS: ['floral fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;violetflower
PREDS: ['woody']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;fruity;roasted
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;coniferous;camphor
PREDS: ['camphor fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: syrup;liquor
PREDS: ['fresh fruity herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: honey;herbal
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: green;waxy;melon;cucumber
PREDS: ['fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;earthy
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;fatty
PREDS: ['balsamic floral fruity green rose']
----------------------------------------------------------
----------------------------------------------------------
GT: burnt;roasted;animalic
PREDS: ['earthy floral resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: geranium;fruity;herbal
PREDS: ['floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;fruity;floral;sweet
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: whiteflower;hyacinth;earthy;spicy;honey;green
PREDS: ['floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: berry;rose
PREDS: ['citrus fatty floral fresh fruity green herbal rose waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: pear
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: ethereal;vegetable;leaf;fruity;liquor
PREDS: ['fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: odorless
PREDS: ['balsamic floral fruity resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: mint
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: gourmand;fruity;dairy;meat;alcoholic;roasted
PREDS: ['ethereal fresh fruity sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: caramellic;sour;ethereal;liquor
PREDS: ['alliaceous ethereal fresh fruity sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;anisic;fennel;hyacinth
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;coconut;fruity
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;fruity
PREDS: ['balsamic floral fruity green resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: musk;woody;fruity
PREDS: ['musk']
----------------------------------------------------------
----------------------------------------------------------
GT: camphor
PREDS: ['ethereal fresh fruity sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: melon;pear;green;waxy;tropicalfruit
PREDS: ['fatty floral fresh fruity green oily waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: ethereal;fruity;sweet
PREDS: ['ethereal fresh fruity sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: nut;earthy
PREDS: ['nut phenolic spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;green;citrus
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;resinous;fruity
PREDS: ['balsamic floral fruity green herbal resinous rose sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;sulfuric;meat
PREDS: ['burnt fruity meat nut']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;green;musty;grass;vegetable;leaf
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;sweet;berry;green
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: lemon;chemical;aldehydic;metallic
PREDS: ['citrus fatty floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;floral;fruity;herbal
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: clean;fresh
PREDS: ['balsamic floral fruity green resinous rose']
----------------------------------------------------------
----------------------------------------------------------
GT: sour;herbal;spicy
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: pungent;ester;fruity;burnt
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: mint
PREDS: ['fresh fruity herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;oily;fruity
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: orange;resinous;musty
PREDS: ['floral fruity herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;camphor;woody
PREDS: ['camphor coniferous earthy fresh resinous']
----------------------------------------------------------
----------------------------------------------------------
GT: alliaceous;green
PREDS: ['alliaceous ethereal fresh fruity green meat sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: anisic
PREDS: ['balsamic floral fruity resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: mint;sulfuric;sweet;metallic;woody
PREDS: ['fresh fruity herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: lily;tropicalfruit;oily;fresh;balsamic
PREDS: ['balsamic floral fresh fruity green herbal resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: vanilla;herbal;green;grass
PREDS: ['floral fresh fruity green herbal mint resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;vegetable;cheese;nut
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: dry;ambery;powdery;musk
PREDS: ['floral woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;balsamic;plum;tobacco;leaf;cacao
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: honey;rose;herbal;apple;herbal;blackcurrant;berry;apple
PREDS: ['floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;citrus;resinous;herbal
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: ambergris;animalic;dry;ambery;fresh;metallic
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;almond
PREDS: ['ethereal fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: odorless
PREDS: ['floral fruity woody']
----------------------------------------------------------
----------------------------------------------------------
GT: cedar
PREDS: ['floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;spicy;floral
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: green;fruity;cacao
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity
PREDS: ['floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;mint
PREDS: ['camphor fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: animalic;rancid;woody
PREDS: ['citrus floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: musk;earthy;camphor;earthy
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: wine
PREDS: ['citrus floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: honey;balsamic;floral
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: mint;fruity
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: coniferous;camphor
PREDS: ['camphor fresh fruity green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: citrus;lemon;floral
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;floral;citrus
PREDS: ['fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;fruity;balsamic
PREDS: ['floral fruity green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: blackcurrant;ethereal;tobacco;metallic
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;mint;fruity
PREDS: ['ethereal fresh fruity']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;floral
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: nut;caramellic;earthy;meat
PREDS: ['nut phenolic sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sour;oily;meat;roasted
PREDS: ['ethereal fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: pungent;chemical
PREDS: ['fresh fruity green herbal mint resinous']
----------------------------------------------------------
----------------------------------------------------------
GT: honey;floral;cacao;fruity;waxy
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;spicy;musk;woody;herbal
PREDS: ['fresh fruity green herbal mint resinous']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;resinous;lily
PREDS: ['floral fruity green resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: alliaceous;gourmand;cooked;roasted;meat;tropicalfruit;dairy
PREDS: ['ethereal fresh fruity']
----------------------------------------------------------
----------------------------------------------------------
GT: apple;banana;butter
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: ethereal;chemical;fruity
PREDS: ['fruity nut']
----------------------------------------------------------
----------------------------------------------------------
GT: earthy;woody;nut;ethereal;tobacco;leather
PREDS: ['balsamic floral fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: roasted;alliaceous
PREDS: ['ethereal fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: tropicalfruit;pear;citrus
PREDS: ['fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: pear;green
PREDS: ['fatty floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: animalic;resinous;spicy;body
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;spicy;earthy
PREDS: ['camphor dry earthy floral musk resinous spicy woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sharp;sweet;alcoholic;ethereal;grass
PREDS: ['ethereal fresh fruity meat sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;ethereal;fruity
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;phenolic;spicy
PREDS: ['earthy floral green resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: animalic;seafood;smoky;nut
PREDS: ['floral green nut sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;musk;waxy;ambrette;dry
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: fatty;green;metallic;aldehydic
PREDS: ['floral fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;floral;citrus;green;mint
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;coniferous;camphor
PREDS: ['floral fresh fruity green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: body;resinous;spicy;leather;animalic;fresh;cedar
PREDS: ['fresh fruity herbal mint']
----------------------------------------------------------
----------------------------------------------------------
GT: fatty;green;fruity;sweet;orange
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;rose
PREDS: ['citrus fatty floral fresh fruity green herbal rose waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;floral;fruity
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;honey;fermented;balsamic;waxy;rose;dry
PREDS: ['balsamic floral fruity green resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: green;fruity;sweet;earthy;woody
PREDS: ['floral fruity herbal resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;sweet;grass
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;burnt;fruity
PREDS: ['burnt fresh fruity']
----------------------------------------------------------
----------------------------------------------------------
GT: powdery;fruity;spicy
PREDS: ['floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: clean;sweet
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;chemical
PREDS: ['alliaceous ethereal fresh fruity sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: tropicalfruit;green;metallic
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;powdery;floral;almond
PREDS: ['floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: banana;tropicalfruit;cheese
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: leaf;aldehydic;fresh
PREDS: ['balsamic floral fruity green herbal resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;meat
PREDS: ['floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: violetflower;powdery;fruity;waxy
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: orange;herbal;floral
PREDS: ['floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: caramellic;cherry;pungent;almond
PREDS: ['ethereal fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: hyacinth;resinous
PREDS: ['floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;medicinal
PREDS: ['ethereal fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;mushroom;vegetable;earthy;cheese
PREDS: ['fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;balsamic;spicy;fruity
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;violetflower;orange;powdery
PREDS: ['earthy floral green resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: musk;animalic
PREDS: ['musk']
----------------------------------------------------------
----------------------------------------------------------
GT: meat;bread
PREDS: ['burnt fresh fruity']
----------------------------------------------------------
----------------------------------------------------------
GT: musk;vegetable
PREDS: ['camphor floral musk resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fatty;tropicalfruit
PREDS: ['citrus fatty floral fresh fruity green herbal rose waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;cherry;chemical;powdery;vanilla
PREDS: ['floral nut phenolic spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: animalic;whiteflower
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sour;balsamic;green;resinous
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: ethereal;chemical
PREDS: ['alliaceous ethereal fresh fruity green sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: tobacco;burnt;phenolic;meat;powdery
PREDS: ['earthy nut resinous']
----------------------------------------------------------
----------------------------------------------------------
GT: berry
PREDS: ['fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: lemon;green;herbal
PREDS: ['citrus floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;fruity
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;woody;floral
PREDS: ['floral fruity herbal resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: wine
PREDS: ['fresh fruity herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;citrus
PREDS: ['floral fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: liquor;fruity;sweet;green
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: dry;green;resinous;rose;musk;floral
PREDS: ['balsamic floral resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;spicy
PREDS: ['balsamic floral fruity rose']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;herbal;woody;jasmin;oily
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;animalic;musk
PREDS: ['earthy floral green nut']
----------------------------------------------------------
----------------------------------------------------------
GT: vanilla;powdery;almond
PREDS: ['floral nut phenolic spicy sweet vanilla']
----------------------------------------------------------
----------------------------------------------------------
GT: rose;fatty
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: oily;woody
PREDS: ['floral fresh fruity green herbal rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: jasmin;oily;tropicalfruit
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;sulfuric
PREDS: ['floral fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: caramellic
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: sour;cheese
PREDS: ['ethereal fresh fruity']
----------------------------------------------------------
----------------------------------------------------------
GT: musk;chemical;mint
PREDS: ['fresh fruity herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;woody
PREDS: ['floral fresh fruity green herbal mint sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;musty;pungent;aldehydic;fruity;floral
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: lily
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: oily;herbal;fruity;fermented
PREDS: ['burnt fresh fruity']
----------------------------------------------------------
----------------------------------------------------------
GT: apple;fermented
PREDS: ['fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;musty;leaf;clean;herbal
PREDS: ['fresh fruity green herbal mint sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;cognac
PREDS: ['fatty floral fruity green herbal oily rose']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;sweet;mushroom;ethereal;green
PREDS: ['balsamic floral fresh fruity green herbal resinous rose sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;orange;floral
PREDS: ['floral phenolic resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;green;camphor;woody
PREDS: ['camphor floral fresh fruity green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: musk;animalic;powdery;fatty;clean;ambergris;anisic
PREDS: ['musk woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;rose;green;mint
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: green;waxy;aldehydic;fatty;citrus;mint;anisic
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;citrus;ethereal;sweet
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sour;pungent;apple
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;citrus
PREDS: ['camphor fresh fruity green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: musk;vanilla
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: green;cucumber
PREDS: ['fatty fresh fruity green herbal waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: vegetable;leaf;melon
PREDS: ['floral fresh fruity green herbal rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: metallic;fruity
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;powdery;fruity;almond
PREDS: ['floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;fruity;herbal
PREDS: ['floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: gourmand;meat;cheese
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;herbal
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;woody;whiteflower;balsamic
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: cooked;alliaceous;fruity;ethereal;sweet
PREDS: ['ethereal fresh fruity green sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: berry;resinous;burnt;clean;syrup
PREDS: ['earthy floral nut phenolic sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;woody;mint
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: alliaceous;green
PREDS: ['ethereal fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: lemon;grapefruit;floral
PREDS: ['citrus floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: cooked;fatty;geranium;waxy
PREDS: ['citrus fatty floral fresh fruity green herbal rose waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;fatty;green;aldehydic;metallic;herbal
PREDS: ['floral fresh herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: floral
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: meat;nut;cooked
PREDS: ['fresh fruity herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: ethereal;fruity
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: green;floral;herbal
PREDS: ['fatty floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;floral;fruity
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: vanilla
PREDS: ['floral fruity herbal resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;ethereal;fruity
PREDS: ['burnt fresh fruity']
----------------------------------------------------------
----------------------------------------------------------
GT: odorless
PREDS: ['floral fresh fruity herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;mushroom;herbal;cacao;blackcurrant;berry;tobacco
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: animalic;hyacinth;jasmin
PREDS: ['floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: meat;alliaceous
PREDS: ['nut phenolic spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;floral;fruity
PREDS: ['citrus fatty floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;green;rose
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;green;camphor;woody
PREDS: ['camphor fresh green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;green;herbal
PREDS: ['camphor floral fresh fruity green herbal mint resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;sour
PREDS: ['fresh fruity herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;green;fruity;rancid;woody
PREDS: ['floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;oily
PREDS: ['citrus floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;mint;fruity
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fermented;coffee;bread
PREDS: ['floral fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: musty
PREDS: ['camphor coniferous fresh resinous']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;fruity;burnt;sweet;roasted
PREDS: ['alliaceous ethereal fresh fruity sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;earthy;camphor;green;cooling
PREDS: ['ambery earthy floral herbal musk resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;powdery;musk;animalic
PREDS: ['musk']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;resinous;floral;fruity
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: apple;ethereal
PREDS: ['burnt ethereal fresh fruity sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: waxy;plum;green;grape;body
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: cacao;nut;meat;coffee
PREDS: ['floral nut phenolic sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: phenolic;plastic
PREDS: ['fruity nut']
----------------------------------------------------------
----------------------------------------------------------
GT: spicy;sulfuric;vegetable;alliaceous;nut;earthy
PREDS: ['alliaceous ethereal fresh fruity meat sulfuric vegetable']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;fruity;woody;balsamic
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: green;earthy;woody
PREDS: ['balsamic earthy floral fruity green resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: dry;woody;powdery;dairy;balsamic;vanilla;fruity;cherry
PREDS: ['balsamic floral fruity resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: green;woody;fruity
PREDS: ['floral nut phenolic spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;green;anisic
PREDS: ['citrus floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: green;fruity;butter
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: orange;mint
PREDS: ['balsamic floral fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;lily
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: animalic;floral
PREDS: ['balsamic floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: rose;berry
PREDS: ['balsamic floral fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;spicy
PREDS: ['balsamic floral fruity herbal resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: alliaceous;vegetable;fresh
PREDS: ['ethereal fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: earthy
PREDS: ['floral nut phenolic spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: geranium;metallic
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;floral;fruity
PREDS: ['balsamic floral fruity herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: alliaceous
PREDS: ['alliaceous ethereal fresh fruity meat sulfuric vegetable']
----------------------------------------------------------
----------------------------------------------------------
GT: oily;fruity
PREDS: ['fatty floral fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: apple;ethereal
PREDS: ['fresh fruity herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: spicy;herbal
PREDS: ['floral nut phenolic spicy sweet vanilla']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;grass;vanilla
PREDS: ['ethereal fresh fruity']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;coconut;musty;pungent
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: green;earthy;citrus
PREDS: ['balsamic floral fresh fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: jasmin;citrus
PREDS: ['balsamic floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: roasted;resinous;meat
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: hyacinth;rose
PREDS: ['floral fruity green nut']
----------------------------------------------------------
----------------------------------------------------------
GT: odorless
PREDS: ['floral fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: whiteflower;grass;earthy
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: blackcurrant;tropicalfruit;banana;herbal;spicy
PREDS: ['camphor floral fresh fruity green herbal mint']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;mint;musk
PREDS: ['fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: blackcurrant
PREDS: ['ethereal fresh fruity']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;balsamic;fruity
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;sweet;floral
PREDS: ['fatty floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: green;fruity;cacao
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;oily
PREDS: ['camphor floral fresh green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: rose
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: green;woody;lemon
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: berry
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;roasted;meat;gourmand;fruity;sweet
PREDS: ['floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;rancid;wine
PREDS: ['balsamic floral fruity green rose']
----------------------------------------------------------
----------------------------------------------------------
GT: rose;whiteflower;floral;anisic;earthy
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sour;pungent;balsamic
PREDS: ['burnt fresh fruity']
----------------------------------------------------------
----------------------------------------------------------
GT: sour;body;lemon;rose;blueberry;berry;apple;grape
PREDS: ['citrus fatty floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: citrus;floral;lactonic
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: rose;honey;tobacco;fruity;leaf
PREDS: ['balsamic floral fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: camphor;cooling;resinous
PREDS: ['camphor fresh fruity green herbal mint resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: chemical;phenolic;smoky;tobacco;blackcurrant;dry;woody;watery;leather;oily;meat
PREDS: ['floral fruity green resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;ester;caramellic
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;citrus;dry;woody;green;woody;animalic;rancid
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;nut
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: alliaceous;musty;gourmand;tropicalfruit;vegetable
PREDS: ['fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;dry
PREDS: ['cooling fresh fruity herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: alliaceous;green
PREDS: ['burnt fruity nut']
----------------------------------------------------------
----------------------------------------------------------
GT: musk;earthy;green;liquor;resinous;balsamic
PREDS: ['earthy herbal musk resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;tropicalfruit;overripe
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: geranium;earthy
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;earthy;wine;sour
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: dry;powdery;musk;floral;fruity
PREDS: ['earthy floral musk powdery resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: lily;tropicalfruit;herbal
PREDS: ['floral fresh fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;tropicalfruit
PREDS: ['balsamic floral fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal
PREDS: ['fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;fruity;floral
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity
PREDS: ['citrus fatty floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: tropicalfruit;sulfuric
PREDS: ['citrus fatty floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;spicy;fruity;oily
PREDS: ['floral fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;floral;aldehydic
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: apple;ethereal;liquor
PREDS: ['citrus fatty floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;woody;fruity
PREDS: ['balsamic floral fresh fruity green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: tropicalfruit;herbal;spicy;clean;rose;tobacco
PREDS: ['fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;spicy
PREDS: ['floral resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: grass;plastic;vegetable;metallic;cooked;meat;sulfuric
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;floral;spicy
PREDS: ['balsamic floral fruity green herbal resinous rose']
----------------------------------------------------------
----------------------------------------------------------
GT: alliaceous;tropicalfruit;grapefruit
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;balsamic;green
PREDS: ['balsamic floral fruity green resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: caramellic
PREDS: ['floral nut phenolic sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;citrus
PREDS: ['balsamic floral fruity green herbal rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: oily;fruity
PREDS: ['citrus fatty floral fresh fruity green herbal oily waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: apple;ethereal;liquor
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: lemon;green;herbal
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;citrus;ester;herbal
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: butter;sour;vanilla
PREDS: ['alliaceous burnt ethereal fresh fruity meat sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: cooked;caramellic
PREDS: ['balsamic floral fruity herbal resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;balsamic;floral
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;ambery;balsamic
PREDS: ['floral herbal resinous spicy woody']
----------------------------------------------------------
----------------------------------------------------------
GT: violetflower;rose
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: oily;fruity
PREDS: ['fatty floral fruity green oily rose waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: cooked;fatty;geranium;waxy
PREDS: ['citrus fatty floral fresh fruity green herbal waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: citrus;rose
PREDS: ['citrus fatty floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: grass;fresh;cinnamon;banana;vegetable;earthy
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: spicy
PREDS: ['floral fresh fruity green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: dairy;sweet;fruity
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;rose;green;mint
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;medicinal
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;fruity;green
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: oily;herbal;floral
PREDS: ['floral fresh fruity green herbal rose sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: berry;ripe;grape;plum
PREDS: ['balsamic floral fresh fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: camphor;mint
PREDS: ['floral fresh fruity herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;medicinal;phenolic
PREDS: ['floral resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: cooling;fruity
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: nut;earthy;bread
PREDS: ['nut phenolic spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;jasmin
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: vanilla;butter;berry;cacao;coconut
PREDS: ['floral fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: mint
PREDS: ['fresh fruity herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;clean;spicy;balsamic
PREDS: ['floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: odorless
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: clove
PREDS: ['floral fresh fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;earthy
PREDS: ['ambery dry earthy floral musk resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: cooling;woody;fresh;clean
PREDS: ['camphor floral green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: green;earthy;cacao;nut
PREDS: ['floral green nut sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: camphor
PREDS: ['earthy floral green resinous']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;fruity;apple;herbal
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: rose;pear
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: rose;balsamic;green
PREDS: ['floral fruity green herbal resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;animalic;musk
PREDS: ['floral herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;mint
PREDS: ['floral fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: leather;animalic;earthy;ethereal
PREDS: ['balsamic floral fruity green resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: pear;sour
PREDS: ['fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: ethereal;caramellic
PREDS: ['floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: vegetable;nut
PREDS: ['floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;resinous;fruity
PREDS: ['floral green resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal
PREDS: ['floral herbal musk woody']
----------------------------------------------------------
----------------------------------------------------------
GT: tropicalfruit
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: rose;apple;fatty;lemon;dry;waxy;pear
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;green
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;sweet
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;green;grass;vanilla;powdery;coconut;phenolic
PREDS: ['fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;floral;aldehydic
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;grass;vanilla
PREDS: ['burnt fresh fruity']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;butter
PREDS: ['alliaceous burnt ethereal fresh fruity meat sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: violetflower;orange
PREDS: ['balsamic floral fresh fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;sweet;mint
PREDS: ['fresh herbal mint']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;musty;meat;nut
PREDS: ['alliaceous ethereal fresh fruity sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: rose
PREDS: ['citrus fatty floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;blackcurrant;berry;powdery;spicy
PREDS: ['fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;ethereal;fruity;floral
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: green;green;fruity;herbal
PREDS: ['balsamic floral fresh fruity green herbal resinous rose sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: pungent;ambery;woody;lily
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: green;berry;fresh
PREDS: ['floral fresh fruity green herbal rose sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;animalic;musk
PREDS: ['floral fruity herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: caramellic;resinous;fruity
PREDS: ['burnt fresh fruity sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: powdery;green;cucumber
PREDS: ['fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;balsamic;fruity;rose;nut
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: berry;floral
PREDS: ['balsamic floral fruity resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: melon;green;floral;pear;citrus
PREDS: ['citrus fatty floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: spicy
PREDS: ['floral fruity green herbal resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: lily;grapefruit
PREDS: ['balsamic floral fruity green resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;citrus;grape
PREDS: ['balsamic floral fruity resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;nut;vanilla
PREDS: ['floral fruity resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: caramellic
PREDS: ['burnt fresh fruity']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;herbal;floral
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: green
PREDS: ['citrus fatty floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;violetflower;fresh;camphor
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;fruity;dairy
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: phenolic;medicinal;smoky;leather
PREDS: ['burnt nut phenolic sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;mushroom;butter
PREDS: ['citrus floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity
PREDS: ['citrus floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: plastic
PREDS: ['floral fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;balsamic;anisic;almond
PREDS: ['earthy floral nut']
----------------------------------------------------------
----------------------------------------------------------
GT: mint
PREDS: ['fresh fruity herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;sweet;dairy
PREDS: ['citrus floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;fatty
PREDS: ['citrus fatty floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: nut
PREDS: ['floral nut phenolic spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;spicy;herbal;citrus
PREDS: ['citrus fatty floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: caramellic;nut
PREDS: ['floral phenolic resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: metallic;ethereal
PREDS: ['ethereal fresh fruity green sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;dry;musk;earthy;powdery;ambery;cedar;woody
PREDS: ['ambergris ambery cedar dry earthy floral musk tobacco woody']
----------------------------------------------------------
----------------------------------------------------------
GT: musk;fruity
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: nut;body;spicy;sulfuric;vegetable
PREDS: ['burnt cacao caramellic chemical coffee earthy meat nut phenolic roasted sulfuric vegetable']
----------------------------------------------------------
----------------------------------------------------------
GT: butter;nut
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;citrus
PREDS: ['citrus fatty floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;rose
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: dairy;sweet;fruity
PREDS: ['balsamic floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;herbal;wine
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: mint
PREDS: ['floral fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;mint;fruity
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;mint
PREDS: ['fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;waxy;fresh
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: caramellic
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: earthy;rancid
PREDS: ['camphor earthy floral green herbal musk resinous spicy woody']
----------------------------------------------------------
----------------------------------------------------------
GT: oily;herbal
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: leaf;resinous;hyacinth
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;green;herbal
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;citrus
PREDS: ['earthy floral herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: citrus
PREDS: ['citrus fatty floral fresh fruity green herbal rose waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;spicy;almond
PREDS: ['nut phenolic spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: wine
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: mint;dry;woody
PREDS: ['fresh fruity herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: dry;musty
PREDS: ['floral fresh fruity green herbal mint resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;resinous;fruity;floral
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: mint
PREDS: ['fresh fruity herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: violetflower;mint;resinous;spicy;woody;fresh
PREDS: ['floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;musty;leaf;herbal
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: phenolic;medicinal;earthy;leather
PREDS: ['burnt chemical coffee earthy meat nut phenolic']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;musk;grape
PREDS: ['balsamic floral fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: alliaceous;green
PREDS: ['ethereal fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;lily;aldehydic
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;balsamic
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: hyacinth;green;herbal;honey;powdery;leaf;floral
PREDS: ['balsamic floral fresh fruity green herbal resinous rose sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: terpenic;spicy;medicinal
PREDS: ['fresh fruity green herbal mint resinous']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;fruity;floral
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;fruity;spicy
PREDS: ['balsamic floral fresh fruity green herbal resinous rose sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: nut;herbal
PREDS: ['floral green nut phenolic sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;sweet
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;cacao
PREDS: ['floral fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;citrus;fresh
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: green;musty;nut
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;musty
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: wine;apple;fermented;floral
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;fruity
PREDS: ['balsamic floral fruity green herbal resinous rose sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;anisic;balsamic
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: camphor;cedar;blueberry
PREDS: ['camphor fresh green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: alliaceous;green
PREDS: ['ethereal fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: green;aldehydic;citrus
PREDS: ['balsamic floral fruity green herbal resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal
PREDS: ['fresh fruity herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;oily;green;resinous;fruity
PREDS: ['fatty floral fresh fruity green herbal waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: ethereal;fresh
PREDS: ['ethereal fresh fruity meat sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;rose;green
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: apple;banana
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;cherry;vanilla;floral;camphor;cooling
PREDS: ['earthy floral resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: lily;ester;waxy
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: green;cucumber;melon;woody;violetflower
PREDS: ['fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: fatty
PREDS: ['oily']
----------------------------------------------------------
----------------------------------------------------------
GT: animalic;earthy;leather;honey;tobacco
PREDS: ['earthy floral green resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: geranium
PREDS: ['balsamic floral fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: waxy
PREDS: ['citrus fatty floral fruity green oily rose waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: citrus;floral;sweet;leaf
PREDS: ['citrus fatty floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;herbal;ethereal
PREDS: ['ambery camphor dry earthy floral herbal musk resinous spicy woody']
----------------------------------------------------------
----------------------------------------------------------
GT: green;floral;herbal;earthy;dairy
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: green;cedar;resinous;dry;woody
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: earthy
PREDS: ['floral phenolic resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: oily;fruity;floral
PREDS: ['citrus floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: earthy;rancid
PREDS: ['camphor floral green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: green;oily
PREDS: ['ethereal fresh fruity meat sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: vegetable;musty;nut;dry
PREDS: ['floral fresh fruity green herbal mint resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;butter;cooling
PREDS: ['fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: anisic
PREDS: ['balsamic floral fruity resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: woody
PREDS: ['floral fruity green resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;butter
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;citrus;berry
PREDS: ['floral fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;floral
PREDS: ['floral fresh fruity green herbal rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;resinous;floral;orange;grape
PREDS: ['floral phenolic resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;floral;woody;sulfuric
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: alliaceous
PREDS: ['ethereal fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: lemon;green;floral
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;apple;herbal;cooling;woody;fruity;sweet;oily;musk;pepper
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sour;cheese;butter;rancid
PREDS: ['ethereal fresh fruity sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: dairy;whiteflower;meat;melon
PREDS: ['fatty fresh fruity green oily waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;resinous;spicy
PREDS: ['floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: earthy
PREDS: ['floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: tropicalfruit;fatty;floral
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;spicy;grass;vanilla
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;mint;cedar;leaf
PREDS: ['balsamic floral fruity']
----------------------------------------------------------
----------------------------------------------------------
GT: lemon;fruity;rose
PREDS: ['citrus floral fresh fruity green herbal rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;floral;citrus
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: apple;fatty
PREDS: ['citrus floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: camphor;coniferous
PREDS: ['camphor coniferous fresh resinous']
----------------------------------------------------------
----------------------------------------------------------
GT: apple
PREDS: ['citrus floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;vegetable;cheese;nut
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;woody;fruity;floral
PREDS: ['floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: rose;citrus;fatty
PREDS: ['citrus fatty floral fresh fruity green herbal rose waxy woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fatty;waxy
PREDS: ['fatty floral fruity oily waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic
PREDS: ['balsamic floral fruity green resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;earthy;woody;ethereal;animalic
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;spicy;fruity
PREDS: ['balsamic floral fruity resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;ester;fruity
PREDS: ['ethereal fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: phenolic;fruity;spicy
PREDS: ['floral fruity herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: geranium;metallic
PREDS: ['fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;citrus;mint;green;earthy;spicy;woody
PREDS: ['floral fresh fruity green herbal mint sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: spicy;floral
PREDS: ['floral fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: leaf;nut
PREDS: ['floral fruity green resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: green;fruity;nut
PREDS: ['fatty fresh fruity green herbal waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: tropicalfruit;berry;sulfuric;earthy;fatty;waxy
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: gourmand;meat
PREDS: ['ethereal fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: liquor;fresh;woody;earthy
PREDS: ['floral resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;resinous;fruity;floral
PREDS: ['earthy floral green resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: syrup
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;fruity;herbal;floral
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: phenolic;earthy;leather
PREDS: ['burnt chemical coffee earthy meat nut phenolic']
----------------------------------------------------------
----------------------------------------------------------
GT: blackcurrant;berry
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: butter;syrup;caramellic
PREDS: ['floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;chemical;fruity
PREDS: ['alliaceous ethereal fresh fruity sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;musty
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;violetflower;balsamic;rose;chemical
PREDS: ['earthy floral herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: mint
PREDS: ['camphor fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: apple
PREDS: ['ethereal fresh fruity']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;fruity;floral
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: nut;vegetable
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;grass;oily;woody;whiteflower;jasmin
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: ethereal;fruity
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;herbal;vanilla;green;grass;woody
PREDS: ['floral fresh fruity green herbal mint resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fatty;green
PREDS: ['citrus floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: roasted
PREDS: ['balsamic floral fruity green herbal resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: odorless
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;rose
PREDS: ['floral nut spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;fruity;floral;ambery
PREDS: ['floral fresh fruity green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: anisic;rose
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: spicy;floral;almond
PREDS: ['balsamic floral fruity resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: watery;lily
PREDS: ['citrus floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;earthy;leaf;green;resinous
PREDS: ['fatty fresh fruity green oily waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: green;herbal;floral;aldehydic
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: sour;berry;liquor;dry
PREDS: ['ethereal fresh fruity herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: spicy;herbal;phenolic
PREDS: ['floral phenolic resinous spicy sweet vanilla woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;earthy;burnt
PREDS: ['floral fruity']
----------------------------------------------------------
----------------------------------------------------------
GT: fatty;jasmin;mint
PREDS: ['floral fresh fruity green herbal mint sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: rose;citrus;green;fatty;terpenic
PREDS: ['citrus floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;woody
PREDS: ['citrus floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;musty;herbal;floral
PREDS: ['floral fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;ambery;balsamic
PREDS: ['ambery floral fruity woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;floral;citrus
PREDS: ['citrus floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: cooling
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: odorless
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;green;herbal
PREDS: ['floral fresh fruity green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: spicy;floral
PREDS: ['floral fruity herbal resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;citrus
PREDS: ['dry earthy musk resinous spicy woody']
----------------------------------------------------------
----------------------------------------------------------
GT: blackcurrant;tropicalfruit;banana;herbal;spicy
PREDS: ['fresh fruity green herbal mint']
----------------------------------------------------------
----------------------------------------------------------
GT: honey;herbal
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: alliaceous;vegetable;earthy
PREDS: ['balsamic floral fresh fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;floral;herbal
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;balsamic;floral;spicy
PREDS: ['balsamic floral fruity resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;green;herbal;plum
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: terpenic;herbal;coniferous
PREDS: ['balsamic floral fruity resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fatty;herbal;citrus
PREDS: ['citrus fatty floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: earthy;roasted
PREDS: ['floral nut sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: spicy;nut
PREDS: ['floral fruity resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;fruity;green
PREDS: ['balsamic floral fresh fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;leaf
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;citrus;animalic
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;woody;sweet;violetflower;mint
PREDS: ['floral herbal resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: gourmand;meat
PREDS: ['balsamic floral fruity green resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: apple;tropicalfruit
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: jasmin
PREDS: ['balsamic floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: lactonic
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: vanilla;dairy;powdery;herbal;phenolic
PREDS: ['floral phenolic resinous spicy sweet vanilla']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;floral;dairy
PREDS: ['camphor coniferous earthy green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;citrus
PREDS: ['camphor fresh herbal mint resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;pungent
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;fruity;cheese;butter
PREDS: ['alliaceous ethereal fresh fruity green sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;cherry;vanilla;floral;camphor;cooling
PREDS: ['earthy floral green resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;jasmin
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;balsamic;green
PREDS: ['balsamic floral fruity green resinous rose']
----------------------------------------------------------
----------------------------------------------------------
GT: musk;ambrette;pear
PREDS: ['floral fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;floral;woody
PREDS: ['citrus floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: caramellic
PREDS: ['fresh fruity herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;grass;tropicalfruit;terpenic;cooling;berry;woody
PREDS: ['camphor coniferous fresh green resinous']
----------------------------------------------------------
----------------------------------------------------------
GT: anisic
PREDS: ['balsamic floral fruity herbal resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: pear;clean;jasmin;oily
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: tropicalfruit;musk;waxy;dry;powdery;clean;metallic;animalic
PREDS: ['musk']
----------------------------------------------------------
----------------------------------------------------------
GT: ambery;dry
PREDS: ['ambergris ambery dry earthy musk woody']
----------------------------------------------------------
----------------------------------------------------------
GT: seafood;chemical
PREDS: ['alliaceous ethereal fresh fruity green sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;apple;lactonic;tropicalfruit
PREDS: ['citrus fatty floral fresh fruity green herbal rose waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;clove
PREDS: ['balsamic floral fruity green herbal resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;spicy
PREDS: ['balsamic floral fruity green resinous rose']
----------------------------------------------------------
----------------------------------------------------------
GT: violetflower;geranium
PREDS: ['balsamic floral fruity resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;burnt;almond
PREDS: ['burnt meat nut']
----------------------------------------------------------
----------------------------------------------------------
GT: camphor;lemon
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: liquor;earthy;woody;phenolic
PREDS: ['floral herbal resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;hyacinth
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;floral;fruity
PREDS: ['floral fruity nut spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: camphor;resinous
PREDS: ['floral fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fatty;fruity;fresh;floral
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;ethereal;fruity;liquor
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;green
PREDS: ['balsamic floral fruity herbal resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: aldehydic;floral;orange
PREDS: ['balsamic floral fruity green resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: apple;fermented;fatty
PREDS: ['floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;clean;herbal
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;sweet;green;herbal;almond
PREDS: ['alliaceous ethereal fresh fruity green sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: medicinal;fruity
PREDS: ['balsamic floral fruity green resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;ethereal;burnt;fruity
PREDS: ['alliaceous ethereal fresh fruity sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;wine
PREDS: ['floral fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: oily;fruity
PREDS: ['fatty floral fruity green oily rose waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;rose;fatty
PREDS: ['citrus floral fresh fruity green herbal rose sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fatty;spicy
PREDS: ['floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: melon;herbal;aldehydic;watery
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: mushroom;green
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: vanilla
PREDS: ['floral fruity green nut sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: odorless
PREDS: ['floral fresh fruity green herbal rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: green;herbal;floral
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;herbal
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: vegetable;floral;camphor
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;citrus
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: green
PREDS: ['citrus floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: apple;tropicalfruit;chemical
PREDS: ['ethereal fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: green;metallic;cinnamon
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: aldehydic;clean;herbal;fresh
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: geranium;tropicalfruit
PREDS: ['floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;woody;herbal;fruity
PREDS: ['floral fresh fruity green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: rose;mint;spicy
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;fruity;aldehydic
PREDS: ['camphor fresh green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;herbal
PREDS: ['fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;ethereal;fruity;aldehydic
PREDS: ['fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: vanilla
PREDS: ['floral nut phenolic resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: tobacco;woody;caramellic;green;herbal;citrus
PREDS: ['floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;floral;woody;ethereal
PREDS: ['floral fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;clean;rose;citrus;green;ester
PREDS: ['citrus fatty floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: woody
PREDS: ['floral fresh fruity green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;tropicalfruit;cooling
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;terpenic
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: rancid;tobacco;green;woody
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: caramellic;dairy;vanilla;coconut;green;grass;powdery
PREDS: ['earthy floral nut phenolic resinous spicy sweet vanilla']
----------------------------------------------------------
----------------------------------------------------------
GT: blackcurrant;rose;berry;plum;honey;tobacco
PREDS: ['floral fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: lemon;herbal;violetflower;jasmin
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: tobacco;earthy;rose;pepper;camphor
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: pungent;alcoholic;cognac;wine;cacao;green
PREDS: ['ethereal fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: citrus;fatty
PREDS: ['citrus fatty floral fresh fruity green herbal rose waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: musk;chemical;sweet;powdery;fatty
PREDS: ['floral herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;fruity;camphor
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: wine;liquor
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: mushroom
PREDS: ['citrus fatty floral fresh fruity green herbal waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;vegetable;meat;metallic
PREDS: ['alliaceous ethereal fresh fruity meat sulfuric vegetable']
----------------------------------------------------------
----------------------------------------------------------
GT: tropicalfruit;musk;waxy;dry;powdery;clean;metallic;animalic
PREDS: ['musk']
----------------------------------------------------------
----------------------------------------------------------
GT: powdery;balsamic;berry
PREDS: ['balsamic floral fruity resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;floral
PREDS: ['citrus floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: pungent;musk
PREDS: ['floral fruity herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: caramellic;fruity;butter
PREDS: ['ethereal fresh fruity']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;rose;berry;citrus
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: violetflower;ambery;leather
PREDS: ['balsamic floral fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sour;oily;meat;roasted;gourmand
PREDS: ['ethereal fresh fruity green sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: green;earthy;terpenic;woody
PREDS: ['earthy woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;herbal;aldehydic;woody
PREDS: ['floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;honey
PREDS: ['floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: powdery;balsamic;berry
PREDS: ['balsamic floral fruity resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: meat;nut;cooked
PREDS: ['citrus floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;ethereal
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: leaf;fresh;rose
PREDS: ['floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: syrup;terpenic;woody
PREDS: ['musk woody']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;fruity;honey
PREDS: ['balsamic floral fruity green rose']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;oily
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: camphor
PREDS: ['fresh fruity herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: apple
PREDS: ['ethereal fresh fruity green sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;herbal;wine
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;balsamic
PREDS: ['floral fresh fruity green herbal rose sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: tropicalfruit;green;metallic;waxy
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;grape;citrus;green;resinous;spicy
PREDS: ['balsamic floral fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: melon;sweet;floral;jasmin;clove
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;ethereal
PREDS: ['ethereal fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;resinous;berry
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;apple;plum;pear;grape
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;powdery;floral;almond
PREDS: ['balsamic floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: seafood
PREDS: ['alliaceous ethereal fresh fruity green sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: green;floral;fresh;fruity;sweet;resinous;spicy
PREDS: ['balsamic floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;floral;woody;citrus;herbal
PREDS: ['citrus floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: clean;musk
PREDS: ['dry floral musk woody']
----------------------------------------------------------
----------------------------------------------------------
GT: orange;violetflower;lily;resinous
PREDS: ['balsamic floral fruity rose']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;citrus;woody;blueberry;rose
PREDS: ['citrus floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: musk;chemical;mint
PREDS: ['floral fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: animalic;leather
PREDS: ['balsamic earthy floral resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: lemon;floral;sweet;herbal
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;camphor;coniferous
PREDS: ['camphor floral fresh fruity green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: cooked;roasted;fatty;green
PREDS: ['fresh fruity green herbal mint']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;meat;roasted;phenolic;metallic
PREDS: ['burnt nut phenolic sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: jasmin;animalic
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: chemical;cherry;almond
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: ethereal;floral;fruity
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: pungent;terpenic;citrus;herbal
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;rose;fruity;mint
PREDS: ['floral fruity green rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;ethereal;grape
PREDS: ['ethereal fresh fruity meat sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: sour;balsamic;green;resinous
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: rancid;floral;spicy
PREDS: ['burnt coffee meat nut phenolic']
----------------------------------------------------------
----------------------------------------------------------
GT: green;herbal;cooling;berry
PREDS: ['floral fresh fruity green herbal mint sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: dairy;lactonic;fruity
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fatty;fruity
PREDS: ['citrus floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: tropicalfruit;grapefruit;green;fruity
PREDS: ['floral fruity resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: camphor;musty
PREDS: ['camphor fresh green herbal resinous']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: ripe;berry
PREDS: ['balsamic floral fresh fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;rancid;ambery
PREDS: ['dry earthy floral herbal musk resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: geranium;herbal;metallic
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fatty;apple;musty;pungent
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;citrus;woody;blueberry;rose
PREDS: ['fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: oily
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: earthy;vegetable;woody;pepper;aldehydic;fatty
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: musty;vegetable;phenolic;nut;coffee;gourmand
PREDS: ['fruity nut']
----------------------------------------------------------
----------------------------------------------------------
GT: fatty;vegetable;melon;floral
PREDS: ['fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: powdery;musk;animalic;fatty
PREDS: ['musk']
----------------------------------------------------------
----------------------------------------------------------
GT: lily;ester;waxy
PREDS: ['citrus floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;floral;fruity
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: green;berry;mint;sulfuric;animalic
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;fatty;fruity;floral
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: earthy;floral;pepper;green;resinous
PREDS: ['balsamic floral fruity resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: cinnamon;dairy;fruity
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;floral;fruity;herbal;woody
PREDS: ['floral fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: green;herbal;watery;tobacco;leaf;metallic;woody;spicy
PREDS: ['floral fresh fruity green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: green;herbal;lemon
PREDS: ['fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: orange;rose;oily;aldehydic
PREDS: ['fatty fruity oily waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;mint;banana;ester
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: apple;tropicalfruit;wine
PREDS: ['ethereal fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;green;fruity;rancid;woody
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;fruity;floral
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;clove;woody
PREDS: ['floral phenolic resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: musk;earthy;cedar;ambery;balsamic
PREDS: ['ambery earthy musk woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;waxy;rose;clean;citrus
PREDS: ['fatty fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: dry;balsamic;musk
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: green;herbal;rose
PREDS: ['balsamic floral fruity green resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;lactonic;coconut
PREDS: ['citrus fatty floral fruity green herbal rose waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: cooling;green;waxy
PREDS: ['floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: floral
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;fruity;floral;musty;mint
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: ethereal
PREDS: ['balsamic floral fruity resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;seafood;ammoniac
PREDS: ['floral fruity resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: liquor;fruity;sweet;green
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;floral;fruity;mint
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;berry
PREDS: ['floral fresh fruity green herbal mint resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;camphor
PREDS: ['camphor fresh green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;sweet;waxy;green;fatty;tropicalfruit;wine;balsamic
PREDS: ['fatty floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: green;cognac;herbal;waxy;clean
PREDS: ['fatty floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;spicy;apple;herbal
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: rose;apple;fatty;lemon;dry;waxy;pear
PREDS: ['citrus floral fresh fruity green herbal rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fatty;orange;rose;aldehydic;green
PREDS: ['fatty fresh fruity green oily waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: cucumber
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: phenolic;spicy
PREDS: ['floral phenolic resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;anisic
PREDS: ['balsamic floral fruity resinous spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;coniferous;camphor
PREDS: ['camphor fresh green herbal mint resinous']
----------------------------------------------------------
----------------------------------------------------------
GT: ethereal
PREDS: ['floral fruity resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric
PREDS: ['ethereal fresh fruity sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;floral;woody
PREDS: ['citrus floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;sweet;grape
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: coconut;caramellic;fruity
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;ethereal;fruity
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;musk
PREDS: ['fresh fruity herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: lemon;orange
PREDS: ['floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: leather;berry;rose;grass;musty;metallic
PREDS: ['fresh fruity herbal mint']
----------------------------------------------------------
----------------------------------------------------------
GT: caramellic
PREDS: ['fresh fruity green herbal mint sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;woody
PREDS: ['balsamic floral fresh fruity green herbal resinous rose sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sweet;herbal;nut;coconut;vanilla;tobacco
PREDS: ['burnt fresh fruity']
----------------------------------------------------------
----------------------------------------------------------
GT: hyacinth;green;metallic;berry;balsamic
PREDS: ['balsamic floral fruity green herbal resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;animalic;musk
PREDS: ['earthy floral green nut resinous']
----------------------------------------------------------
----------------------------------------------------------
GT: tropicalfruit;green;metallic
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;resinous;clove;blackcurrant;berry
PREDS: ['camphor earthy floral green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;musk;ambery
PREDS: ['earthy floral musk resinous spicy sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: vanilla
PREDS: ['balsamic floral fruity resinous rose']
----------------------------------------------------------
----------------------------------------------------------
GT: whiteflower;green;resinous;grass;tropicalfruit
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: floral
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: alliaceous;pear;tropicalfruit
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: dry;fresh;floral;herbal;oily
PREDS: ['floral fresh fruity herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;green
PREDS: ['citrus fatty floral fresh fruity green herbal rose waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: pungent;tropicalfruit
PREDS: ['ethereal fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: odorless
PREDS: ['camphor earthy floral musk resinous spicy woody']
----------------------------------------------------------
----------------------------------------------------------
GT: earthy;animalic;musk
PREDS: ['ambergris ambery dry earthy floral musk woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;rose;woody
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: wine;green;cheese
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;spicy;fruity;oily
PREDS: ['floral fruity green resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: violetflower;fresh;grass;leather;woody
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: oily;fruity
PREDS: ['citrus fatty floral fresh fruity green herbal oily rose waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: green;herbal;fruity
PREDS: ['citrus floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: ambergris
PREDS: ['floral fruity herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;burnt
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: butter
PREDS: ['floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;ethereal;fruity
PREDS: ['floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;earthy;sweet;powdery
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;citrus;dry;woody;green;woody;animalic;rancid
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fatty;floral
PREDS: ['floral fresh fruity green herbal mint']
----------------------------------------------------------
----------------------------------------------------------
GT: medicinal;phenolic;honey;woody;balsamic
PREDS: ['balsamic floral fruity resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: ethereal;fresh
PREDS: ['ethereal fresh fruity sulfuric']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;rose;leaf;sweet;floral;aldehydic;fruity
PREDS: ['floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;floral;honey;resinous
PREDS: ['balsamic floral fruity green resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: woody;floral;fruity;herbal;musty
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: apple;ethereal;musty;pungent
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: sulfuric;floral;citrus
PREDS: ['citrus fatty floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal
PREDS: ['fresh fruity green herbal mint woody']
----------------------------------------------------------
----------------------------------------------------------
GT: lemon
PREDS: ['floral fresh fruity green herbal rose woody']
----------------------------------------------------------
----------------------------------------------------------
GT: floral;sweet;earthy
PREDS: ['balsamic floral fresh fruity green herbal resinous rose sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: sour;balsamic
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;pungent;terpenic
PREDS: ['floral fresh fruity green herbal sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: resinous;roasted
PREDS: ['balsamic floral fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;fruity
PREDS: ['balsamic floral fruity green resinous rose']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;earthy
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: green
PREDS: ['camphor coniferous fresh resinous']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;woody;spicy;floral;green;fruity;citrus
PREDS: ['floral fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: oily;fruity;floral
PREDS: ['floral fresh fruity green herbal mint resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: rose;fruity;violetflower;green;woody
PREDS: ['balsamic floral fruity green rose']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;floral
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fatty;fruity;green
PREDS: ['fatty fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: earthy;bread;caramellic
PREDS: ['burnt chemical coffee meat nut sulfuric vegetable']
----------------------------------------------------------
----------------------------------------------------------
GT: dairy;coconut;lactonic
PREDS: ['citrus floral fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: plum;rose;apple;cooked;mint;tobacco
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------
----------------------------------------------------------
GT: lemon;lily
PREDS: ['floral fresh fruity green herbal sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity
PREDS: ['fatty fresh fruity green herbal waxy']
----------------------------------------------------------
----------------------------------------------------------
GT: wine;resinous
PREDS: ['fresh fruity green herbal']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;oily;tropicalfruit
PREDS: ['fresh fruity mint']
----------------------------------------------------------
----------------------------------------------------------
GT: smoky;sweet;spicy;fresh;tobacco;woody;fruity
PREDS: ['citrus floral fresh fruity green herbal rose']
----------------------------------------------------------
----------------------------------------------------------
GT: earthy;woody;ethereal;leather;animalic;green
PREDS: ['balsamic floral fruity green resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: balsamic;fruity
PREDS: ['balsamic floral fruity green resinous rose']
----------------------------------------------------------
----------------------------------------------------------
GT: sharp;green
PREDS: ['fresh fruity green']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;green;resinous;green;fruity;floral
PREDS: ['floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: herbal;musty;medicinal;spicy;oily
PREDS: ['balsamic floral fruity green herbal resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;camphor
PREDS: ['floral fresh fruity green herbal resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: fresh;resinous;lily
PREDS: ['balsamic floral fruity green herbal resinous rose sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: dry;musk;clean
PREDS: ['camphor earthy green herbal resinous woody']
----------------------------------------------------------
----------------------------------------------------------
GT: hyacinth
PREDS: ['balsamic floral fruity green resinous rose sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: jasmin;resinous
PREDS: ['floral nut resinous sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: fruity;resinous;coconut
PREDS: ['floral fresh fruity green herbal mint resinous sweet woody']
----------------------------------------------------------
----------------------------------------------------------
GT: almond;phenolic
PREDS: ['floral nut phenolic spicy sweet']
----------------------------------------------------------
----------------------------------------------------------
GT: ethereal;cacao
PREDS: ['coffee meat nut']
----------------------------------------------------------
----------------------------------------------------------
GT: odorless
PREDS: ['floral fresh fruity green herbal woody']
----------------------------------------------------------

An example test prediction

In [ ]:
order = np.argsort(preds).cpu().numpy()[::-1][:15]
labelled_preds = [learn.data.classes[i] for i in order]
sents = []
for sent in range(0,15,3):
  sents.append(",".join([x for x in labelled_preds[sent:sent+3]]))
pred = ";".join([x for x in sents])
pred
Out[ ]:
'woody,fruity,herbal;floral,fresh,green;sweet,spicy,rose;resinous,citrus,balsamic;berry,ethereal,mint'

Generating test predictions

In [ ]:
with open("/content/data/vocabulary.txt") as f:
  vocab =f.read().split("\n")
In [ ]:
from sklearn.preprocessing import MultiLabelBinarizer
def make_sentence_list(sent):
  return sent.split(",")
train_df = pd.read_csv("/content/data/train.csv")
train_df["SENTENCE_LIST"] = train_df.SENTENCE.apply(make_sentence_list)
multilabel_binarizer = MultiLabelBinarizer()
multilabel_binarizer.fit(train_df.SENTENCE_LIST)
Y = multilabel_binarizer.transform(train_df.SENTENCE_LIST)
d = {}
for x,y in zip(multilabel_binarizer.classes_,Y.sum(axis=0)):
  d[x]=y

d = sorted(d.items(), key=lambda x: x[1], reverse=True)
top_15 = [x[0] for x in d[:15]]
top_15
Out[ ]:
['fruity',
 'floral',
 'woody',
 'herbal',
 'green',
 'fresh',
 'sweet',
 'resinous',
 'spicy',
 'balsamic',
 'rose',
 'earthy',
 'ethereal',
 'citrus',
 'oily']
In [ ]:
final_preds = []
test_df = pd.read_csv("/content/data/test.csv")
new_test = pd.read_csv("/content/chemception_data/test_data.csv")
for i,row in tqdm(test_df.iterrows(),total=len(test_df)):
  if i in [405,470,755]:
    sents = []
    for sent in range(0,15,3):
      sents.append(",".join([x for x in top_15[sent:sent+3]]))
    pred = ";".join([x for x in sents])
    final_preds.append(pred)
    for x in top_15:
      assert x in vocab,x
  else:
    fn = new_test.loc[new_test["SMILES"]==row["SMILES"]]["FILENAME"].values[0] #.split('.')[0]+".png"
    pred_class, pred_idx, preds=learn.predict(open_image("/content/chemception_data/test/"+fn))
    order = np.argsort(preds).cpu().numpy()[::-1][:15]
    labelled_preds = [learn.data.classes[i] for i in order]
    for x in labelled_preds:
      assert x in vocab
    sents = []
    for sent in range(0,15,3):
      sents.append(",".join([x for x in labelled_preds[sent:sent+3]]))
    pred = ";".join([x for x in sents])
    final_preds.append(pred)
print(len(final_preds),len(test_df))
1079 1079
In [ ]:
final = pd.DataFrame({"SMILES":test_df.SMILES.tolist(),"PREDICTIONS":final_preds})
final.head()
Out[ ]:
SMILES PREDICTIONS
0 CCC(C)C(=O)OC1CC2CCC1(C)C2(C)C woody,herbal,floral;fruity,resinous,green;fres...
1 CC(C)C1CCC(C)CC1OC(=O)CC(C)O woody,fruity,floral;herbal,sweet,fresh;spicy,g...
2 CC(=O)/C=C/C1=CCC[C@H](C1(C)C)C woody,herbal,fruity;floral,fresh,green;sweet,s...
3 CC(=O)OCC(COC(=O)C)OC(=O)C fruity,floral,green;herbal,fresh,rose;citrus,s...
4 CCCCCCCC(=O)OC/C=C(/CCC=C(C)C)\C fruity,floral,rose;green,herbal,fatty;oily,wax...
In [ ]:
final.to_csv("submission_3_channel_chemception_fastai.csv",index=False)

This submission gives a score of ~0.247 on the leaderboard.

Authors

👾 Shraddhaa Mohan

🚀 Rohit Midha

If you found this notebook helpful, drop us a ❤!


Comments

You must login before you can post a comment.

Execute