I am interested in a framework for learning the similarity of different input representations based on some common context. I have looked into word2vec, SVD and siamese networks, all of which are similar to what I want.
For example, suppose we have some customers we are sending different advertisements to, and I would like to create a system to map offers to customers. I am thinking in the lines of creating a customer representation, and a representation of the offers, and feeding them in parallel to a neural network that has a label of whether they acted on the advertisement or not. The idea is that I should be able to locate the best offer for any customer given these representations.
I have looked into siamese networks and word2vec, both are close to what I want. The problem differs slightly in that for the siamese networks, it tends to be identical parallel networks, which I don't want because my inputs are not equivalent. And for word2vec the vectors tend to be in the same domain, while I want to apply this in a more general setting.
If anyone has any resources on a similar problem statement, I would be very interested in it.