mukurokudo / imdb2senscritique

Sync your IMDB rating with senscritique.com using PHP
4 stars 0 forks source link

Improve titles recognition #4

Open nliautaud opened 7 years ago

nliautaud commented 7 years ago

It seems that the titles comparison can be improved, as some titles are failing whereas the search page provide the correct result. Some seems to have exotic encodings or special characters.

mukurokudo commented 7 years ago

Title recognition is indeed an axis of improvement. I will add a slugger for the comparison as sensCritique is known for its approximate titles. This slugger will have its limitation if the title is misspelled but it will work for titles like Airplane ! instead of Airplane!.

nliautaud commented 7 years ago

I'm testing right now to get rid of the title recognition.

SensCritique search engine do actually a great work, better than taking into account every typos, variations, implementing a soundex, or any analysis from here, because SC is matching data that did not appear on the result page (ex: recognition of english titles when neither the title or the original title is in english).

So the best method could be to trust SC results, accept a few wrong associations and adding a warning for ones with a different title found.

abouvier commented 7 years ago

Pour chaque résultat de recherche il est possible d'aller sur la page d'édition de la fiche du film : https://www.senscritique.com/wiki/{slug}/{id} Par exemple https://www.senscritique.com/wiki/L_Armee_des_12_singes/391814 pour https://www.senscritique.com/film/L_Armee_des_12_singes/391814. Souvent l'identifiant IMDb est présent en bas de la page. Ça permet de confirmer à coup sûr la correspondance. Enfin... presque, j'ai constaté une petite dizaine d'erreurs quand j'ai recherché tous mes films :p

nliautaud commented 7 years ago

Salut, Ah oui, bonne idée, je trouvais pas cet ID. Par contre ça implique un paquet de get supplémentaires, je ne me rend pas compte de combien de temps ça rajoute, et des bénéfices. Tu as constaté des erreurs ? Est-ce que ça veut dire que tu l'as implémenté ? Si oui il faudrait comparer les temps et taux d'erreur avec la version du PR #3 qui fait confiance à SC, parce qu'en l'état j'ai plus vraiment d'erreurs il me semble, où alors je suis passé à côté.

abouvier commented 7 years ago

Je n'utilise pas ce script en fait. J'avais développé ma propre solution pour exporter mes notes, d'abord d'AlloCiné vers IMDb, puis d'IMDb à SensCritique. Je comptais en faire une solution d'import/export publique, du coup j'utilisais une base de données des correspondances entre les IDs de chaque site pour aller plus vite. Sauf que finalement c'était pas viable d'ajouter tous les nouveaux films qui sortaient chaque semaine :p J'ai ajouté les 15000 correspondances AlloCiné/IMDb que j'avais sur Wikidata. Mes 3000 correspondances IMDb/SensCritique sont disponibles ici. Elles peuvent être utilisées dans ce script pour accélérer une (petite) partie des recherches. Une manière simple (mais bien lente :p) de compléter la base serait de faire une requête sur la page wiki de chaque film SensCritique pour obtenir son identifiant IMDb.

nliautaud commented 7 years ago

Ha, former une db allociné/imdb c'est une solution que j'avais rapidement commencé à réfléchir moi aussi, et je comptais bien mal le faire :). Vous avez le code quelque part ? https://github.com/nliautaud/moviescheckstools/blob/master/allocine-imdb-id.html

Avoir une base IMDb-Allociné-SC-TMDb-Trakt... fiable et bien remplie serait super effectivement. Pour l'hébergement, je n'ai jamais utilisé Wikidata mais s'il y a une api et qu'on peut faire des requêtes librement (dans l'idéal d'une liste d'ids), ça peut être parfait en effet. Mais pour avoir une base fiable il faut des outils et pas mal de maintenance, c'est un peu là que je m'étais arrêté.

mukurokudo commented 7 years ago

J'ai mergé tes modifications, et j'ai créé une nouvelle branche et ai séparé la logique du front : 4e82883bede1b45b8505eb2812e1ee7d07cca71b Je vais me pencher sur les performances => importer 10 lignes me paraît actuellement assez long