index de căutare

În primul rând, că este indexul în termeni de căutare de informații. Index (Index lat -. Lista, indicele) - în general, lista ordonată de link-uri. Diferite tipuri de indici pentru o lungă perioadă de timp au fost folosite pentru a facilita recuperarea informațiilor. De exemplu, un tabel de cuprins, în cazul în care capul numele este asociat cu numărul paginii în care se află capul.

Un indice mai detaliat - un indice care a realizat deja legătura între „unu la mulți“: fiecare termen semnificativ este mapat la o listă de pagini în care se menționează termenul. Pasul următor - concordanță. Acesta este un dicționar în care fiecare cuvânt corespund cu „coordonatele“ aparițiile cuvântului în text. În termeni generali, acest lucru este ceea ce se numește „indicele inversat“, care este folosit pentru cele mai cunoscute motoare de căutare.

Acestea sunt două variante de index care realizează comunicarea în direcții diferite. Imaginați-vă o colecție de documente de tip text și o listă completă de cuvinte găsite în aceste documente. Fiecare document în colecție este atribuit un identificator unic docId, fiecare cuvânt - identificator unic WordID.

Indexul direct - relații de masă, în cazul în care fiecare docId cartografiat listă completă WordID incluse în acest document cuvintele.

indicele Inverted - relații de masă, în cazul în care fiecare WordID cartografiat listă docId în cazul în care apare cuvântul.

Indexul Inverted este ideal pentru căutare. De e foarte simplu luate lista docId de documente care includ termenul de căutare. În cazul în care un cuvânt de interogare sau două, pentru a alege două liste de documente (pentru WordID ambele cuvinte). Apoi selectați acele docId, care sunt incluse atât în ​​listă și a obține lista finală docId toate documentele în care apar ambele cuvinte.

Să încercăm un pic mai greu pentru structura indicelui. Indicele inversat pentru fiecare docId adăuga numărul de apariții ale cuvintelor din document. Și obține instrumentul cel mai brut si primitiv pentru a determina importanța cuvintelor într-un document (cu atât mai des repetate, cu atât mai important). Și într-un index direct pentru fiecare poziție a adăuga WordID în cadrul documentului, care începe cu cuvântul cel mai potrivit pentru această ofertă. Avem acum un mijloc gata de extragere a fragmentului pentru emiterea unui document de pe drum.

Desigur, înainte de a utiliza aceste instrumente, aveți nevoie pentru a procesa (index) întreaga colecție de documente. Pentru a face acest lucru, fiecare document este analizat în cuvinte, se calculează în același timp numărul de apariții ale fiecărui cuvânt, pentru a asambla un dicționar și indexurile. Dacă nu se apropie de importanța cuvintelor în text atât de nepoliticos, și se calculează importanța cuvintelor în textul legii lui Zipf. am primit deja destul de un instrument adecvat în clasamentul textelor găsite.

Din descrierea indicelui odată ce este clar că acesta este un instrument ideal pentru a căuta un cuvânt separat. Sarcina Trivial: pe ID-WordID selectați din baza de date toate documentele docId în cazul în care apare cuvântul. Clasamentul este, de asemenea, nu este dificil, în cazul în care pentru fiecare docId în stochează informații cu privire la baza de date, dacă acest lucru este cuvântul cheie în text, sau dacă este secundar, și nu este legată în mod direct la subiect. Asta este, pentru fiecare link «WordID - docId» trebuie să fie pregătite informații cu privire la relevanța documentului în acest fel.

În cazul unei cereri de două sau mai multe cuvinte sarcina este foarte complicată. procedura de eșantionare este destul de simplu, este o problemă standard, în teoria bazelor de date: selectați documente care includ toate cuvintele de interogare. Dar, cu lista de clasificare dificultăți rezultate ne așteaptă. În acest caz, trebuie să se ia în considerare relevanța documentului nu este fiecare dintre cuvintele, și anume această combinație de cuvinte, sau clasarea în multe cazuri, acesta va fi un eșec. Pentru a clarifica relevanța combinației de cuvinte, cel puțin trebuie să ia în considerare modul de a distribui aceste cuvinte în text:

nu într-un rând, dar într-o singură trecere,

în pasajele adiacente,

găsite în diferite părți ale textului.

Acesta este modul de determinare crasă relevanță. În primul caz, relevanța documentului de ansamblu, al doilea este mai slab în al treilea - deja discutabile, în a patra - minim. Pentru o estimare mai exactă a primelor două exemple de realizare ar trebui să fie luate în considerare dacă ordinea cererea cuvintele din al doilea și al treilea exemplu de realizare, având în vedere distanța dintre cuvinte (cât mai multe cuvinte străine „înțepenit“).

Pentru a asigura caracterul complet al căutare este necesar să ia în considerare cuvinte formularul de solicitare - prin urmare, indicele trebuie să aducă cuvântul la forma sa inițială (de exemplu, substantive - singular, nominativ) și legătura cu toate formele de cuvinte posibile. În același timp, pentru a găsi aparițiile exacte ale capacității de a căuta fiecare cuvânt formular. Acest lucru complică structurile de date ale motorului de căutare, rezultând într-un set de indicatori (din motive evidente boante puțin ajutor aici Pentru a putea reduce).

articole similare