A SentenceTransformer that maps free text to a 256-dimensional
movie taste-profile vector. It is all-MiniLM-L6-v2 with a trained mapping
head appended, so encode returns a unit-length profile embedding instead
of a generic sentence embedding.
The profile axes are MovieLens tag-genome tags. A query and a movie point in
similar directions when they share themes, so the dot product between two
unit outputs is their thematic cosine similarity.
1from sentence_transformers import SentenceTransformer
2
3model = SentenceTransformer("Berk/minilm-movie-genome")
4vec = model.encode("a bleak dystopian sci-fi thriller")
5print(vec.shape) # (256,)
The mapping head uses only built-in sentence-transformers modules, so no
extra code is required to load it.
Full training and search code, including catalog encoding and hybrid
filtering, is at
https://github.com/bgokden/embedding-space-translation-example.
This model is derived from MovieLens and TMDB data and is not endorsed by
either; please observe their respective terms of use. The tag genome is a
proxy for a movie's themes, and plot overviews do not always state them, so
the mapping is approximate.