FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Har WN som tidsfördriv
|
Hej!
Jag har en svår nöt att knäcka, som mest är i idée stadiet just nu. Jag vill jämföra två stycken textstycken/filer/whatever och komma fram till hur LIKA dom är - i procent! Kort sagt ska det vara ett avancerat spamskydd samt "korskoppling" för att bedömma om nån postat ett ett liknande inlägg med en "hitrate" över 90% tex? Hur skulle man åstakomma detta i PHP? Jag kommer inte ens fram till en teoretisk lösning som kan fungera! Help me out! // Jim |
|||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Flitig postare
|
Normal brukar man använda Vector Space Model (http://en.wikipedia.org/wiki/Vector_space_model) för sådant och jämföra texter genom hur orden ligger i "ordrymden" men det kanske är lite jobbigt om du inte har en persistent service (PHP).
Jag tror det finns PHP-portningar av Lucene (http://lucene.apache.org/java/docs/). Där kan du beräkna det s.k Levenstein-avståndet mellan texter med enkla queries (kallas FuzzyQuery på Lucene-lingo), vilket egentligen säger hur många bokstavssubstitutioner du behöver göra för att förvandla en text till den andra... det är också en ganska vanlig metodik för att bedömma likheten på texter. I andra ord, det är inga snabbhack direkt... |
||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Har WN som tidsfördriv
|
Jag.. hittade.. snabbhack!
http://us2.php.net/levenshtein http://us2.php.net/similar_text Fyf*n vad jag älskar PHP ibland (: Problem solved, and thanks for your post above! |
|||
![]() |
![]() |
![]() |
#4 | ||
|
|||
Supermoderator
|
Citat:
__________________
Full-stack developer, free for smaller assignments |
||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Har WN som tidsfördriv
|
Citat:
Dock ska dom inte användas vid varje sidvisning eller liknande, utan bara batchuppdatera ett sökindex. Citat:
|
|||
![]() |
![]() |
![]() |
#6 | |||
|
||||
Bara ett inlägg till!
|
Levenshtein fungerar helt enkelt grymt bra..
|
|||
![]() |
![]() |
![]() |
#7 | ||
|
|||
Flitig postare
|
Zend Framework har en klass för Lucene-sökningar/index
|
||
![]() |
![]() |
Svara |
|
|