La tua domanda è un po 'oscura in quanto il titolo richiede un algoritmo, ma chiedi anche una struttura dati. Descriverò quello che ho fatto con un problema simile, che riguarda la musica.
Il modo in cui mi sono avvicinato era con una serie di trasformazioni di stringhe che producevano una stringa con la massima ambiguità rimossa possibile.
Alcune regole:
- Rimuovi tutti gli spazi
- Cambia tutte le lettere non ASCII in equivalenti ASCII. (ö - > o)
- Modifica tutto in maiuscolo
- Se viene rilevata una virgola, scambia il lato destro del comune con la sinistra
- Rimuovi parole comuni come "il", "di", ecc.
- Modifica i numeri romani in arabo ("VII" - > 7)
Quindi mi troverei a:
Blue Öyster Cult -> BLUEOYSTERCULT
Amos, Tori -> TORIAMOS
The Red Hot Chili Peppers -> REDHOTCHILIPEPPERS
L'ho usato per tutti i confronti, anche se non è mai stato esposto all'utente. Nel mio caso, l'ho appena usato come identificativo.
Le regole erano necessariamente un mucchio di euristiche sviluppate sperimentando con veri dati CDDB . Ovviamente non era garantito che fosse infallibile, ma non era difficile trovare un set che funzionasse la maggior parte del tempo.
Il tuo problema non è lo stesso. Il remake sarà un problema perché i tuoi titoli corrisponderanno. Ciò potrebbe essere parzialmente risolvibile cercando date nel titolo ("Total Recall (2013)") ma sospetto che spesso manchino i dati.