Train a model for NER using a vocabulary (list of values) to generate multiple tags

Dear all,

I would kindly request your advice on how to train a model using a vocabulary of terms (unique id, value, type) with the objective to perform NER resulting in multiple tags (unique id and type) when the value is identified in the text.

e.g.
vocabulary entry: {id: IBU, term: ibuprofen, type: active substance}
Text: “You can take Ibuprofen for headaches”, NER result Ibuprofen [active substance, IBU].
Many thanks in advance for your help,
Achilleas