zona zoster algoritm

zona zoster algoritm (sindrila (zona zoster este) cu Englezii cherepichka, scara) pentru fuzzy duplicatele de căutare de text. Cuvântul „pufos“ înseamnă ceva care dublează este solicitată de intrare nu exact, dar neclare. De exemplu, este posibil nu numai duplicat linii, dar, de asemenea, fraze individuale. modificabile Practic zona zoster Algoritmul folosit de motoarele de căutare pentru a lupta împotriva spam de căutare. Acest lucru face posibil să se excludă din textele SERPs similare între ele sau complet identice. Cu toate acestea, rămâne problema sursei, și anume, sursă în cazul în care această informație a venit mai întâi. Deși se crede că motoarele de căutare înregistrează în mod clar acest lucru, dar în orice caz de defecțiuni ale sistemului. Să ne gândim mai detaliat problema cu privire la această metodă, a se vedea de la ceea ce mananca, acest șindrilă!

Algoritmul Metoda de zona zoster

Pentru fiecare parte a textului (subșir) plătește o anumită sumă de control, o sarcină care identifică într-un fel acest text, este șindrilă. Aceste piese simbolice textului ar trebui să meargă să se suprapună, unul pentru celălalt, astfel încât nici un caracter sau cuvânt este pierdut. Apoi, întregul set de aceste checksum sunt selectate cele care îndeplinesc oricare dintre criteriile - chiar, împărțit în orice număr, etc. Ca rezultat, eșantionul are o lege uniformă de distribuție, nu se concentreze pe orice parte a textului. Ca urmare, în cazul în care cele două texte checksum codificate se potrivesc, similitudinea textului este evidentă. Cu cat mai multe meciuri, cu atât mai mult similaritatea textelor.

Alegeți o unitate de codificare - subșirului poate fi diferit. Puteți utiliza dimensiunea pas de caracter, sau mai multe caractere, dar puteți lua un cuvânt sau mai multe cuvinte. Apoi, trebuie să decidă dacă subșirul „bătăușul“ (includ o parte din cea anterioară) în codul dvs. - aceasta afectează precizia rezultatului. Se determină dimensiunea unui subșir în zece cuvinte sau zece caractere, alegerea depinde de puterea de calcul, capacitatea memoriei și acuratețea rezultatelor. Prin tomuzhe codul sursă de dorit curată de spații repetate, semne de punctuație, și chiar prepoziții, deoarece ei nu poartă o informație specială de încărcare.

Un control poate fi citit cu ajutorul unui hashing folosind, de exemplu, algoritmul MD5.

Exemplu metodei șindrilelor algoritm

De exemplu, ia în considerare două extras ușor modificat din poemul, AS Pușkin

"
Storm ascunde cer ceață,
Vârtejuri de zăpadă, involburate
Ceva de genul acesta o fiară urli,
Strigătul ca un copil
- Algoritmul de herpesul zoster în
"

retușate Puțin textul:

"
Storm ascunde un fond alb,
Vârtejuri de zăpadă, involburate
Ceva ca un leu-l urli,
Strigătul ca un copil
- zona zoster pentru a începe metoda algoritmului
"

Ca un cuvânt selectați pas. Lungimea subșirului ia egală cu 5 cuvinte. Linia va fi în comun (unul după altul). Deoarece textul este mic, apoi excludeți cuvinte
Ca rezultat, obținem un text codificat de până la 5 numere.

zona zoster algoritm

Fig. Exemplul 1. Dispunerea textului de șindrile

Aici vom obține cuvântul stabilit pentru primul caz:
BuryamgloyunebokroetVihri | snezhnyekruzhaTokakzver | onazavoetTozaplachetkak | dityaAlgoritmmetodashinglovv |
hash:
a7bdbcb13968a694f626a5682b7f2dfd | 0e5aa06baba90d7c851f9a0450a60222 | c0c522529b0e810f73b210cc972e9966 | 95ed3beeb9bc9ff61affd4421a24c44f | 9c793e2986f7ee89f93953e3fbcab408

și în al doilea rând:
BuryabelymzemlyukroetVihri | snezhnyekruzhaTokaklev | onazavoetTozaplachetkak | dityaAlgoritmmetodashinglovna | start
hash:
de5790caa3ee48c73f62e49000121c6f | 11da4405827ce2d70015f98a10563e1c | c0c522529b0e810f73b210cc972e9966 | 7172b4096aa49236a2f7edd298a47de2 | 690e13e46c9738d430d90570888d428f

Ca rezultat, avem un meci - al treilea număr (c0c522529b0e810f73b210cc972e9966). Acest meci indică faptul că similitudinea dintre cele două texte nu este mai mică de 25%. Desigur, pentru o astfel de text mic, ai putea reduce gazonul, dar în astfel de parametri inițiali este un bun exemplu.

Supershingl

În cazul în care, pentru fiecare text, chiar să fie reduse cu orice set de criterii de zona zoster, este încă într-o cantitate mare de putere a documentelor care vor fi necesare pentru a utiliza în continuare de calcul rămân enorme. Prin urmare, în practică, de multe ori pe un set de documente herpesul zoster este considerat o altă sumă de control, așa-numitele „supershingl“. În consecință, coincident apoi să fie considerate ca fiind documente cu un complet coincidente seturi de zona zoster.

Note Metoda de zona zoster algoritm

Cu toate acestea, trebuie remarcat faptul că se aplică în prezent duplicate algoritmi avansați. De exemplu, un algoritm alternativ pentru determinarea duplicate fuzzy a fost creat și inventat în Yandex. Algoritmul modificat de faptul că motorul de căutare au indexat documentul sub forma unui fișier inversat (sau un index inversat) și această situație poate fi utilizată în mod util în cadrul procedurii de constatare aproape-duplicate.

Sindrilele simplă metodă de aproximare în php

Va prezentam mai jos o descriere și codul sursă pentru zona zoster demonstrative de limbă algoritm php. Vom simula un motor de căutare

Inițial, trebuie să descărcați un fișier prin rețea. Acest lucru se poate face folosind o funcție simplă pe php:

Apoi, trebuie să curățați fișierul de elemente inutile. Pentru simplitate, vom elimina din textul tag-uri html exces. Îndepărtarea altor elemente ale textului de la stânga la cititor.

Definirea variabilelor necesare

Creați o serie de cuvinte. Deoarece criteriile de separare folosind un spațiu.

Va forma o serie de subșiruri. În această funcție, pur și simplu adăugați un cuvânt de cinci piese împreună.

Vor forma o matrice de valori hash:

Ca o comparație, folosim simplu funcția de căutare în rezultatul funcției este afișat procentul meciului.