L’algoritmo euristico nei motori di ricerca. Tema, prossimità, stemming

algoritmo euristico motori di ricercaPer mantenere il sito internet in una posiziona ottimale di ottimizzazione per i motori di ricerca dobbiamo pensare anche in termini “euristici”. Questo, indica una capacità di riconoscere una strada, o un metodo, per giungere alla soluzione di un problema, o al raggiungimento di un obiettivo in modo rapido ed efficiente basato sulla conoscenza di un determinato argomento. Il termine “euristico” (dal greco heuriskein, “trovare”, “scoprire”) è un metodo usato dall’intelligenza artificiale per risolvere quesiti non solo legati alla logica matematica e simbolica, ma anche quelli legati al linguaggio umano, naturale. Quindi, possiamo considerare che il metodo euristico non assicura la soluzione ottimale di un problema, ma rende possibile di trovarne una in termini rapidi. (Il metodo più vecchio usato dagli antivirus è quello della ricerca della firma, scanning, basato su un concetto euristico per analizzare il comportamento delle applicazioni per rilevare attività simile ai virus o malware). Spesso la soluzione di un problema rischia di essere troppo onerosa in termini di tempo di calcolo. Pensiamo per esempio, al problema del commesso viaggiatore (Travelling Salesman Problem: data una rete di città, connesse da una rete di strade, trovare il percorso di minore lunghezza che consente al commesso viaggiatore di visitare tutti i punti una e una sola volta e di tornare a casa il più presto possibile) dato che questo problema di difficile soluzione è caratterizzato come NP – completo (Teoria della complessità computazionale, che studia le soluzioni dei problemi attraverso il tempo e lo spazio) una soluzione in termini ottimali viene sostituita dall’elemento euristico. Altrimenti, per calcoli di determinate dimensioni, anche avendo a disposizione calcolatori potentissimi, non si potrebbe comunque ridurre il tempo di calcolo. Ecco, appunto che entra in gioco l’algoritmo euristico, che permette di arrivare ad una soluzione in termini ragionevoli che, anche se a discapito di approcci di tipo esatti per problemi difficili, determina buone soluzioni in termini di efficienza. Noi tutti, ogni giorno, pensiamo in termini euristici.

Applichiamo, adesso, questo concetto ai motori di ricerca. Pensiamo per esempio che il nostro sia un sito che propone case in affitto a Roma. Se un utente, digita nella stringa del motore “case affitto Roma” il crawler visiterà una serie di siti e li giudicherà in base alle keywords, alla loro posizione, e alla loro densità, quindi in base a dei criteri guida. Il crawler, inoltre, potrebbe incontrare siti che hanno al loro interno frasi del tipo “le case discografiche più famose di Roma pagano l’affitto in diversi immobili”, a questo punto il crawler non attribuirà un punteggio alto a questo sito perché è poco tematico in riferimento alla query dell’utente; le keywords sono troppo distanti e il contesto è sbagliato. Inoltre i link che si troveranno su questo sito non conterranno anchor text idonee a ciò che l’utente cerca. Il crawler sarà attirato maggiormente da un sito come il nostro , che è in linea con ciò che l’utente cerca. Possiamo parlare quindi di prossimità.

Ma il crawler continuerà la sua ricerca. Andrà avanti e proseguirà nel suo cammino per meglio soddisfare le ricerche dell’utente. Controllerà i nostri link, andrà in profondità per vedere se sono veramente utili a chi ha effettuato la ricerca, e se scoprirà che sono irrilevanti, potrà pensare che noi possiamo essere parte di una link farm e saremmo quindi sfavoriti nella nostra corsa perché volevamo attirare la sua attenzione senza però interessarci molto dell’utente. Al contrario, se i nostri link parleranno, per esempio, di come individuare al meglio una buona casa da prendere in affitto, forniranno mappa utili della città, immobili di pregio con affitti bassi, indicheranno come aiutare le persone a trovare una buona offerta, forniranno indicazioni di base per giudicare facilmente un appartamento in base ai metri quadri etc. il crawler ci valuterà diversamente e avremmo buone possibilità di arrivare in alto nei risultati delle ricerche. Quindi, vediamo che il crawler ha ragionato in termini euristici, individuando al meglio come giudicare un sito ad ogni fase del suo processo di scansione, utilizzando il tema e la prossimità delle keywords usate in una pagina web.

Le keywords, quindi, sono parte di un concetto euristico perché hanno alla base i presupposti alla soluzione di un problema nato dalla domanda nella query. Perché abbiamo detto questo? Perché capire il motivo per cui il tuo sito ha un TrustRank alto aiuterà a capire come è importante la scelta e la posizione delle keywords nella determinazione del posizionamento organico. Teniamo in mente quanto appena detto come regola generale. Alcune determinate parole, sono indicative di uno specifico argomento. Un altro elemento da tenere in piena considerazione e direttamente legato a quanto affermato è lo stemming. In sostanza, è la diramazione di una parola dalla forma base. Prendiamo per esempio la parola play. Le stemmed keywords possono essere playing, played, player, Re-play, Re-played, Re-playing. Vediamo che da una parola, ne nascono improvvisamente altre.

Si potrebbe obiettare circa l’utilizzo dello stemming nell’individuazione di keywords. Questo perché potrebbe essere considerato dal motore di ricerca come stuffing. In ogni caso, non è un cattivo esempio per utilizzare in modo diverso una keyword e differenziarla su più pagine dello stesso sito. Diventa cattivo però, e fortemente sconsigliato, abusarne e usarla, per esempio, all’interno di uno stesso articolo. Bisogna essere ragionevoli. E utilizzare termini che facciano diventare il tuo articolo, o i tuoi scritti, più fluidi possibili. Vediamo, quindi, che tutto torna al concetto di utente. L’obiettivo, non è quello di utilizzare keywords perché questo piace ai motori di ricerca. Bisogna creare pagine web utili all’utente e alla soddisfazione della sua sete di informazioni, di bisogni. L’obiettivo finale deve essere sempre questo. O comunque, il motore di ricerca deve essere un mezzo, in modo tale che il crawler guidi l’utente verso pagine realmente utili a ciò che lui desidera leggere.

Il Ranking è una complessità di fattori, e non tutti questi sono calcolabili matematicamente. Ma è fatto anche di architetture parallele. Prossimità, tema, stemming. L’approccio euristico del crawler.

Scritto da    |   dicembre 19th, 2009   |   6 Commenti

6 Responses to L’algoritmo euristico nei motori di ricerca. Tema, prossimità, stemming
  • […] altri fattori che determinano la rilevanza del contenuto, sono la prossimità, ovvero quali parole precedono e  seguono il link, e quindi anche il concetto dell’intera frase […]

  • […] quindi in base a dei criteri guida. quindi, vediamo che il crawler ha ragionato in termini euristici individuando al meglio come giudicare un sito ad ogni fase del suo processo di scansione, […]

  • Andrea Moro scrive:

    Chiaro e fluente, complimenti per aver spiegato in parole alla portata di tutti un concetto che – per i non addetti al settore – puo’ risultate ostico.

    • edmondantes scrive:

      Grazie Andrea..nel nostro settore, è vero, bisogna cercare di parlare molto chiaramente, perché l’obiettivo è quello di rivolgersi a tutti..anche, e sopratutto, a chi legge per la prima volta determinati concetti e vuole informarsi o soddisfare una sua voglia di conoscenza…il tuo è quindi un commento che apprezzo moltissimo…spero di riuscire a farlo anche in futuro

  • edmondantes scrive:

    Ti ringrazio molto Michele, anche io credo che si stia procedendo in quel senso; o comunque, che svolga un ruolo importante nel prossimo futuro..ci saranno, credo, sviluppi nei meta-ragionamenti che si affiancheranno a quelli puramente calcolatori e nel nostro caso, riguarderanno software e quindi motori di ricerca. Credo si affinerà il modo di ragionare nell’informatica, cosi da poter arrivare a offrire risultati in base a modi di “pensare” tipici dell’uomo…anche se sarà una impresa ardua, vista, comunque la profondità dell’intelligenza umana..e la sua imprevedibilità..

    staremo a vedere..e quindi potremmo dire “a futura memoria”..se la memoria ha un futuro..:)

  • dechigno scrive:

    I miei complimenti Franco, un articolo a dir poco stupendo… L’intelligenza artificiale infatti penso sia il futuro nel mondo dell’informatica.

    Anch’io, personalmente, sto facendo studi in tal senso…

    Speriamo però che non prenda coscenza “umana” propria come Skynet in Terminator, altrimenti vista la nostra dipendenza dalla tecnologia… … 🙂

Lascia un commento