July 9, 2004
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!
Jag arbetar själv som utvecklare med PHP som primärinriktning, men jag klarar inte teorin för denna uppgift.
Kanske nån här på forumet som har mer kunskap eller kan visa mig i rätt riktning?
Help me out!
// Jim
March 14, 2001
Bör vara rätt lätt med similar_text funktionen:
December 24, 2002
Asså,
Det lär kräva en del CPU, minne och tid.
Speciellt om du har mycket trafik.
Det du kan göra är helt enkelt att sätta in alla ord i inlägget i en array och sedan loopa igenom databasen och leta var dessa ord förekommer.
I princip en omöjlig uppgift att göra i realtid.
Google har något liknande med sina duplicate content filter.
Dock görs detta ej i realtid och sajterna delas säkerligen in i kategorier för att inte hela databasen ska behöva sökas igenom.
Skulle istället jobba mot en lista med blacklistade keywords.
T ex viagra, sex, poker osv, skriver du ned nåt av dessa ord får du bekräfta med en capacha. Träffar du flera ord blir det IP-block + bann.
Samma användare får max posta 1 ggr / 30 sek samt max 20 ggr / h.
Skrivs en URL in måste detta bekräftas mot en capacha.
Aldrig validera formulär med javascript.
Sätta vissa IP serier i hårdare kontroll (t ex ryska och asiatiska).
Alla användares 10 första inlägg måste valideras mot en capacha.
July 29, 2005
Uppgiften i sig är enkel, det svåra är att säga "vad gör två texter lika".
Du kan t.ex. jämföra tecken för tecken och få en "likhets-nivå" du kan jämföra ord för ord, räkna ord osv; den stora frågan är hur du vill att den ska jämföra. Man kan även ta synonymer i hänsyn i en jämförelse; eller räkna stavelser för att jämföra melodin i olika meningar.
Man skulle även kunna jämföra varje rad för sig; där likhet antas finnas så länge två rader är identiska.
Eller vad sägs om att helt enkelt räkna antalet bokstäver? Varje språk har sin speciella profil, vilket gör att varje text; om materialet är tillräckligt stort, skulle antagligen vara unikt, och felstavelser och liknande skulle inte få så stor påverkan på det hela.
Fundera på hur lika följande texter är:
Lisa är arg på Erik
Erik är arg på Lisa
Erik på Lisa är arg
Erik är arg på lisa
Lisa är förbannad på Erik
Lisa är arg på Erik
Lisaa är arg
Lisa är arg
Abcdefg
Gfedcba
==============
Så, vad är likhet?
2 Guest(s)