I've developed a tool that retrieve the closest expressions from a database based on what the user typed. (using word embedding - a comparison is made between each expression from the database and the user input)
n-result are retrieved but the closest expressions are not necessarily the most relevant one.
For example, by typing : hospital machine
The top results will be "dialysis machine", "medical machine", ... but I'll also find expressions like "building machine", "office machine"
A user will most likely choose medicine related machine.
Is there a way to optimize my ranking system based on the user input while keeping this similarity between vectors of the expression ?