14. 05. 2007. | #1 |
Goran Pilipović
Sir Write-a-Lot
|
Sličnost rečenica
Treba da se upoređuje string proizvoljne veličine, obično oko 100-ak karaktera, sa drugim stringovima u bazi da se nađu slične vesti. Fulltext search iz mysql daje solidne rezultate ali je greška bar 15-20%, PHP manual: similar_text daje mnogo lošije rezultate, probali smo čak i sa PHP manual: levenshtein + još neko dodatno žongliranje, zatim smo probali sa nekim varijacijama na fuzzy search... svako ima delove u kojima je bolji od drugih ali ni jedno rešenje ne daje potpuno zadovoljavajuće rešanje.
Zatim je jedna od ideja da se proba od oba stringa dobiti niz reči i onda uraditi presek niza, naći koliko se reči pojavljuje u oba stringa i za neki treshold, recimo 50% proglasiti kao slično. Tu je problem što to može da se radi samo u PHP, ne može da se odradi query (može jedino da se pokupe svi naslovi pa kroz petlju petljati...) i nije previše elegantno. Najlakše je reći "neka paze šta i kako upisuju" ali je upis van kontrole i ne može da se utiče na način unosa. Recimo Gđa. Backham je nekada Victoria, nekada Posh, nekada Spice Girl... Paris Hilton je nekada samo Paris, nekada Princess a nekada samo "star" (prilično generički... znači jako nepovoljno) Problem je kada se recimo upiše neka vest, na osnovi naslova vesti pronaći u bazi sve vesti koje su vezane na bilo koji način sa ovom trenutnom. Stvar je u tome što sve radi polovično ili malo bolje od polovično, ni jedno rešenje ne može da se ostavi da radi automatski. Da li postoji neki poznati algoritam?
__________________
Goran Pilipović a.k.a. Ugly Fingers Bradley f.k.a. bluesman I don't always know what I'm talking about but I know I'm right! |
|
|
Slične teme | ||||
Tema | Početna poruka teme | Forum | Odgovori | Poslednja poruka |
Budućnost Interneta | vidak | e-Business | 15 | 15. 03. 2011. 21:08 |
Etičnost u marketingu, again | mileusna | Marketing i SEO | 9 | 22. 02. 2008. 23:48 |