Couldn't you use a regular DNN with one-hot encoding of all the movies seen by a user (and the corresponding genres)?
And boosting can give more weight to certain movies or genres.
It appears the difference can be found in the depth of knowledge. A one-hot encoding, followed by an embedding, followed by some fully connected layers only takes the actual titles into account.
A GNN can take into account everything you know about movies, including incomplete data. Therefore a GNN will see that user A likes everything with actor X, user B really wants the genre to be Y, user C likes actor Z, but only before 2000, and combinations of that. Therefore the GNN can do better, hell, it can even predict what movie properties would do well, which would be tough to get out of the embedding network.
You could encode all this data in your embedding, but this will be a much smaller and much more flexible network.
candiodari|4 years ago
A GNN can take into account everything you know about movies, including incomplete data. Therefore a GNN will see that user A likes everything with actor X, user B really wants the genre to be Y, user C likes actor Z, but only before 2000, and combinations of that. Therefore the GNN can do better, hell, it can even predict what movie properties would do well, which would be tough to get out of the embedding network.
You could encode all this data in your embedding, but this will be a much smaller and much more flexible network.