Gå til innhold

IMDB klasse til testing


Anbefalte innlegg

Videoannonse
Annonse

Fiksa noen bugs og lasta opp en ny versjon nå. Tror denne versjonen er litt flinkere til å gjette riktig film blant søkeresultatene. Det den ikke takler spesielt godt er dersom filmen ikke eksisterer hos imdb.

 

Kan hende jeg poster den på phpclasses.org når jeg anser med ferdig med den ja..

Lenke til kommentar
Har ikke fått installert scriptet ditt noe sted, så får ikke testet det..

Hvordan plukker du ut "bestMatch"?

 

Jeg beregner Levenshtein distansen mellom søket og hver link som matcher /title/tt\d+

Dersom søket er av typen "Van Wilder 2" plukker jeg ut det resultatet der begynnelsen av søket og linken er likt. Dette fordi mange oppfølgere har et nummer og en tittel. Der tittelen er listet vil den første filmen "Van Wilder" ha kortere Levenshtein distanse enn "Van Wilder 2: The Rise of Taj". Litt tricky det der.

Lenke til kommentar
Hmm.. Sant..

 

Du kunne jo lagt til en link til en side som lar deg manuelt plukke blant de mulige resultatene?

 

Har lagt opp til at det går an å implementere det sånn, men målet mitt er først å fremst å få scriptet til å gjette riktig film så ofte som mulig. På media PC-en i stua har jeg en server med et script som overvåker filmmappa, laster ned cover og litt info om filmen og lager fxd filer Freevo kan bruke :)

Lenke til kommentar

Hmm.. Ja.. Tricky det der..

Hadde ikke hørt om levenshtein før, men leste litt om det nå så skjønner prinsippet bak..

Hva med å padde stringen med e'er så navnet på filmen blir like langt som gjennomsnittslengden av alle søkeresultatene.. Det vil kanskje gjøre at du får færre feiltreff?

Lenke til kommentar
Hmm.. Ja.. Tricky det der..

Hadde ikke hørt om levenshtein før, men leste litt om det nå så skjønner prinsippet bak..

Hva med å padde stringen med e'er så navnet på filmen blir like langt som gjennomsnittslengden av alle søkeresultatene.. Det vil kanskje gjøre at du får færre feiltreff?

 

Ganske greit å bruke den algoritmen på så korte strenger som det er snakk om her.

 

Hm... lurer på om ikke det vil ødelegge for søk som matcher tittelen godt? Tror jeg får finne en del eksempler der det ikke fungerer, tenke på hva som kan gjøres for å tilpasse scriptet og/eller bare akseptere at det aldri blir perfekt! :)

Lenke til kommentar
Hmm.. Mulig det bare vil gjøre det værre ja.. Men jeg tenker som så at du sjekket først om det brukeren søker etter er en substring i noen av søkeresultatene, og hvis ingen av dem er det _så_ bruker du lehvenstein...

Det vil jo gjøre at korte titler matcher?

 

Det vil nok fungere.

 

I siste versjon av scriptet har jeg satt en grense på 20 steg for levenshtein. Det er sannsynligvis litt mye. Med litt ekspridimentering med den grensen bør det kanskje gå an å si om noen av resultatene er nært nok eller ikke. Det er jo faktisk bedre at scriptet returnerer ingen treff enn at den plukker ut feil film og fyller databasen med gal informasjon..

Lenke til kommentar

Mm.. Helt enig..

 

Kanskje gjøre følgende:

1. Sjekk substring

2. Sjekk levenshtein

* Hvis mindre enn 7 endringer (det burde være mer enn nok siden vi har tatt med substrings..)

* Ellers, fortell brukeren at det ikke var noen gode treff og evt. redirect til manuelt valg...

Lenke til kommentar

Ser ut som 4 eller 5 endringer er en fin grense. Det tar f.eks. høyde for søk med eller uten "The" først i tittelen. Skulle legge ut et eksempel på nett, men hosten min har bare php 4 installert :p Her er noen eksempler jeg kjørte på laptopen nå.

 

kim@kim-laptop:~/Desktop/Miniprosjekt/IMDB-Lib$ php IMDB.php "Ghostbusters return"

Søker etter: Ghostbusters return

 

Ingen treff

kim@kim-laptop:~/Desktop/Miniprosjekt/IMDB-Lib$ php IMDB.php "The Matrix 2"

Søker etter: The Matrix 2

 

-- Alle resultat:

* Lev: 0 * Tittel: the matrix 2

 

-- Beste resultat:

* Navn: The Matrix Reloaded

* Link: http://www.imdb.com/title/tt0234215

kim@kim-laptop:~/Desktop/Miniprosjekt/IMDB-Lib$ php IMDB.php "Van Wilder"

Søker etter: Van Wilder

 

-- Alle resultat:

* Lev: 0 * Tittel: van wilder

* Lev: 5 * Tittel: levande bilder

 

-- Beste resultat:

* Navn: Van Wilder

* Link: http://www.imdb.com/title/tt0283111

kim@kim-laptop:~/Desktop/Miniprosjekt/IMDB-Lib$ php IMDB.php "Van Wilder 2"

Søker etter: Van Wilder 2

 

-- Alle resultat:

* Lev: 0 * Tittel: van wilder 2: the rise of taj

* Lev: 2 * Tittel: van wilder

 

-- Beste resultat:

* Navn: Van Wilder 2: The Rise of Taj

* Link: http://www.imdb.com/title/tt0480271

kim@kim-laptop:~/Desktop/Miniprosjekt/IMDB-Lib$

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...