bolje da si otvorio novu temu :D .. ne znam kakav nam je pravilnik po pitanju "hijack threads" .. ali koliko toliko je vezano za samu temu (ne bas za njeno ime :D )
sta je fora, mysql *nema* nista bolje od soundex :( ... ti realno, vrlo jednostavno, mozes da implementiras levenshtein kao udf ali ...
Koliko se ja secam matisa, toga kako radi racunanje soundex indexa, toga kako sljaka levenshtein i jos nekoliko razlicitih funkcija .. sve one su vise manje napravljenje da mogu da porede "dve reci" a ne "dva teksta" .. ti hoces da poredis "dva teksta" te zato ovde dobijas srednje zalosne rezultate :(...
da li postoji neka gotova funkcija za poredjenje 2 teksta po slicnosti - pojma nemam, realno, tesko da postoji neka "uopstena / za svaki jezik" validna formula za to .. siguran sam da bi par ljudi koji se bave srpskom gramatikom napravili algoritam za to prilicno brzo - ali .. da se vrnemo na temu ... ono sto meni, ovako iz glave pada na pamet je da, posto imas dovoljno teksta (preko 200 bajtova) pustis furijeovu transformaciju nad oba teksta i meris razliku u koeficijentu ... sto je duzi tekst, veca je sansa da dobijes tacan rezultat ... druga stvar je da osmislis neku svoju transformaciju ... tipa, da imas "recnik" tabelu koju non stop punis recima na koje jos nisi naisao, tu bi bilo korisno ako mozes da implementiras neki stemming .. za engleski imas da skines vec gotova pravila / tabele .. za srpski je prilicno nezgodno .. onda sve sto radis je za svaki tekst izbrojis koliko ima kojih reci i onda poredis rezultate dva teksta ... ili .. ides na trulu varijantu .. pobrises sve reci krace od 3 slova, pobijes sve razmake, saberes ascii sve karaktere u tekstu i onda poredis tako dva teksta :D pa ako je razlika manja od margine ...
ono sto je najveci problem za prepoznavanje teksta je sto su tebi "SVI" tekstovi slicni ako se radi o vicevima ... svaki komplikovaniji algoritam ce ti sve viceve o muji i hasi videti kao jedan ... o plavusama kao drugi, o slovencima kao treci i slicno .. uporedi 3 vica o muji i hasi .. vec ti 30% vica trose reci mujo i haso ... dodatnih 30% trose "common" izrazi gde je ovaj zaje*o onog drugog .. i razlika je u 30% gde je "glagol" koji daje opis "kako ga je ...." ... to ce teeeeeeeeeesko bilo koji algoritam da prepozna :(
sve u svemu, mysql nema funkciju za poredjenje stringova ... ja sam pre jedno ~7 godina pravio klasifikator u javi koristeci ovu ideju sa recnikom (ili je bio php, ne secam se, nije ni bitno), i imao sam odlicne rezultate klasifikacije dokumenata (imao sam dokumente velicine 1 - 50 strana koji su se klasifikovali po jeziku, materiji, unutar raznih materija po temi i slicno .. sve u svemu drvo za klasifikaciju je imalo oko 240 nodova) gde je posle nekih 30000 klasifikovanih dokumenata (oko 90% su dokumenti vec bili rucno klasifikovani pa su samo provuceni kroz klasifikator kao "learning matrix" a 10% je dodatno rucno klasifikovano kroz aplikaciju) sam klasifikator "pogadjao" sa preko 90% tacnosti pripadnost svakoj od 240 "klasa"... tako da sam upoznat sa problemom, najveci problem je sto je tebi text
- suvise dugacak za "soundex" ili "levenshtein"
- suvise kratak za bilo sta drugo
- suvise slican
ja kapiram da pustis bazu viceva na srpskom, da kada bi uspeo da izvedes neki stemming, ne bi dobio vise od 2K unique reci za sve viceve ikad ispricane na srpskom