Usabilità e motori di ricerca | Usabile.it

Usabile.it

usabilità, accessibilità e interaction-design per il web

Home » Articoli » Usabilità e motori di ricerca

24/09/2008

Usabilità e motori di ricerca

[di Maurizio Boscarol]

Uno dei problemi più ricorrenti che gli utenti incontrano nei test di usabilità riguarda l’uso dei motori di ricerca interni ai siti che visitano. Di solito questi motori offrono risultati irrilevanti e non consentono di trovare ciò che viene cercato. In una parola: sono terribili. La cosa è confermata un po’ da tutti i professionisti. Addirittura Nielsen nel suo più recente libro trova che il tasso di successo nei compiti di ricerca sia del 33% contro il 66% della generalità dei compiti.

In alcuni test, coloro che hanno usato in precedenza il motore di ricerca interno ad uno specifico sito e non l’hanno trovato soddisfacente, dichiarano di non volerlo più usare, preferendo utilizzare il motore generalista (Google, Yahoo, ecc.) anche per trovare documenti interni ad uno specifico sito: la probabilità di successo è molto più alta!

Eppure i motori di ricerca interni ai siti dovrebbero avere un compito molto più facile, dovendo indicizzare un numero molto inferiore di pagine. Come si spiega una prestazione così negativa? Le possibili cause sono molte e l’argomento è complesso sia dal punto di vista tecnico che da quello dell’interfaccia. Scusandoci per l’eccessiva semplificazione, metteremo qui in luce tre aspetti in particolare.

La lemmatizzazione

La prima ragione è che i motori di ricerca interna ai siti costruiscono indici secondo algoritmi differenti rispetto ai motori generalisti. Compilano un elenco di lemmi e li associano ad un elenco delle pagine che li contengono. La ricerca viene effettuata poi scorrendo l’indice anziché i documenti.

Questo va bene per costruire ricerche lessicali: trovare una parola o una serie di parole nel corpus dei testi. Ma spesso questi motori di ricerca (specialmente se interni ai CMS con cui vengono gestiti i contenuti del sito) non tengono conto della lemmatizzazione (stemming). E’ un’operazione che si fa su tutte le parole al momento di costruire l’indice che il motore userà nella ricerca. Serve a ridurre le parole alla forma più generale presente nel dizionario (da “mangiai” o “mangiando” a “mangiare”). In questo modo quando si cerca una parola si tiene conto delle possibili forme variabili o derivate: i verbi coniugati, i nomi con numero e genere differenti, eccetera. I motori di ricerca della maggioranza dei siti, cioè quelli messi a disposizione dai blog-tool e dai CMS di uso comune (ma anche alcuni strumenti dedicati), compiono spesso una ricerca solo sulle parole inserite e non sui termini che ne stanno alla radice, insomma. Cosa che invece i motori di ricerca generalisti fanno regolarmente.

Il Latent Semantic Indexing

Anche se compiono la lemmatizzazione, la grande differenza fra motori di ricerca interni ai siti e motori tipo “Google” è che questi ultimi usano, fra le altre cose, un sistema di indicizzazione semantica (Latent Semantic Indexing). Ne abbiamo già parlato a proposito dell’usabilità semantica: è un metodo che ricostruisce, grosso modo, le co-occorrenze delle parole in un corpus di testi (le pagine da indicizzare). Così facendo riesce a tener conto dei contesti nei quali le parole si presentano più frequentemente, e accorgersi, per esempio, che “Materazzi” si presenta spesso associato a “Zidane”, ma solo da una certa data in poi. Questo sistema viene chiamato “semantico” perché da queste regolarità nelle co-occorrenze è possibile dedurre “tracce di significato” (che ci sia stato qualche evento in comune fra Materazzi e Zidane, per esempio, attorno ad una certa data).

Il sistema non è “intelligente”: le correlazioni vengono fatte automaticamente, senza intervento umano. E tuttavia questo consente una miglior disambiguazione di alcuni termini di ricerca in rapporto a possibili risultati, in base al contesto. Il risultato migliora se l’utente scrive più parole (e migliora di molto se si tiene traccia delle sue ricerche passate, come Google fa…). Inoltre è meno sensibile ad alcuni trucchi usati per ingannare i motori di ricerca basati sull’aumento artificioso della frequenza delle parole in un testo. Riesce cioè ad eliminare un po’ di falsi allarmi dalla ricerca.

La LSI (o LSA, Latent Semantic Analysis: Google usa una variante brevettata) è molto più complessa di così, ma ciò che ci preme sottolineare è che fa grande differenza rispetto alla qualità dei risultati. Oltretutto la LSA è più efficace su un corpus di contenuti grande e dunque meno adatta a siti piccoli. I motori di ricerca interni, anche se la adottassero, avrebbero molte meno pagine da analizzare rispetto ai motori generalisti, il che porterebbe comunque a risultati di minor precisione.

La popolarità esterna delle pagine

Infine, come sappiamo, i motori generalisti usano la loro conoscenza sulla struttura dei link nel web per valutare la reputazione delle nostre pagine. Non basta che una pagina sia fortemente correlata alle chiavi di ricerca: a parità di correlazione, vengono privilegiate le pagine che hanno molti link in ingresso, cioè che altri hanno linkato sulle loro pagine, giudicandole, si presume, interessanti.

Perchè non possiamo sfruttare queste conoscenze per migliorare i piccoli motori di ricerca usati sui nostri siti? Be’, la lemmatizzazione potrebbe abbastanza facilmente essere introdotta in qualunque motore di ricerca interno ad un sito (si fa per dire: diciamo che è una tecnica abbastanza consolidata). La LSI (o LSA) anche, ma è meno nota, esiste un minor numero di implementazioni diffuse e c’è il limite del minor numero di pagine da indicizzare che porta a risultati meno precisi. La barriera maggiore è probabilmente l’uso dei link esterni come stima della reputazione delle pagine: decisamente fuori portata per la maggior parte dei siti. Queste ragioni spiegano abbastanza bene perché i motori generalisti sono in grado di fare regolarmente meglio rispetto ai motori interni dei siti.

Nessun motore di ricerca è meglio di un cattivo motore di ricerca

Se questi limiti sono difficili da superare, come migliorare l’esperienza degli utenti? Per siti non molto grandi, la soluzione migliore può addirittura essere paradossale: non inserire alcun motore di ricerca. Se il tasso di successo medio della ricerca è infatti più basso rispetto ai compiti basati sulla navigazione, inserire il motore vorrebbe dire abbassare il tasso medio di successo, e toglierlo vorrebbe dire aumentarlo!

Tuttavia, vi sono siti che hanno necessità o traggono vantaggio, per il tipo di materiale e per la sua organizzazione, da un buon motore di ricerca interno. L’indicazione è in questi casi di investire in un servizio dedicato di una terza parte che abbia qualità paragonabile a quella dei motori che i vostri utenti usano di solito.

Linee guida per il motore di ricerca

Per quanto riguarda l’usabilità della funzione di ricerca e della pagina dei risultati, semplificando molto il tema, il consiglio principale è di rimanere aderenti alle convenzioni che gli utenti conoscono meglio. E dunque:

  1. Inserire una casella di ricerca semplice, composta da un unico campo
  2. Inserire un bottone chiaramente visibile che senza ombra di dubbio sia riconoscibile come il bottone che dà il via all’azione
  3. Evitare le ricerche estese a tutto il web: se gli utenti vanno sui motori generalisti anche per cercare nel vostro sito, è improbabile che vogliano fare l’inverso
  4. Evitare opzioni inutili (caselle di spunta, tendine, ecc): vanno tutte interpretate, cosa che gli utenti in fretta di solito non fanno; vietatissimo inoltre usare opzioni impostate di default in senso restrittivo o anomalo.
  5. Mantenere la casella di ricerca abbastanza lunga (Nielsen suggerisce una trentina di caratteri): il motore di ricerca è un’interfaccia a riga di comando, e, sebbene molti utenti inseriscano poche parole, è bene provare ad indurli ad usarne di più, perché migliorerà la qualità del risultato
  6. Il punto precedente, naturalmente, prevede che il motore funzioni di default con un AND logico e non con l’OR. In questo modo tutte le parole chiave prese insieme concorreranno al risultato. L’uso dell’OR fa aumentare irragionevolmente i risultati diminuendone la rilevanza. Se cerco “usabilità dei motori di ricerca”, non ha senso che mi compaiano tutte le pagine che includono la parola “usabilità”, poi quelle che includono “motori”, poi quelle che includono ricerca, poi quelle che includono le diverse combinazioni di queste parole… Se avete pochi contenuti e di conseguenza soffrite di horror vacui, eliminate il motore e concentratevi sul miglioramento della navigazione, finché non avrete più pagine
  7. Offrite opzioni di suggerimento se l’utente non trova risultati o se i termini di ricerca sono anomali, anche con algoritmi di suggerimento ortografico
  8. Ripresentate nei risultati il termine di ricerca usato, già inserito nella casella per successive modifiche
  9. La pagina dei risultati dovrebbe contenere per ogni risultato tre informazioni basilari:
    1. Il titolo della pagina del risultato, linkato alla risorsa; di solito per il testo viene usato il tag TITLE dell’html, dunque per gli autori di contenuti è vitale scegliere accuratamente soprattutto le prime parole del title, quelle che gli utenti scorrono per valutare i risultati
    2. Tre-quattro righe di estratto del testo della pagina, compreso un frammento che contenga la chiave di ricerca; è meglio usare come testo il contenuto della pagina piuttosto che un metatag di descrizione, perché quest’ultimo potrebbe non essere ugualmente significativo per tutte le chiavi di ricerca che riguardano quella pagina; ed è bene che questo testo contenga informazioni ulteriori rispetto al titolo, che consentano all’utente una migliore valutazione del risultato
    3. L’indirizzo della pagina di destinazione.
  10. Poiché l’ordinamento dei risultati dall’alto al basso dovrebbe già seguire un ordine di rilevanza, è pleonastico (e può risultare confondente) indicare percentuali di rilevanza.

Altre linee guida vanno naturalmente tenute in considerazione per specifici aspetti e casi dell’interazione, come la paginazione dei risultati, i messaggi di errore e di feedback in generale, nonché per tipi particolari di ricerca, ma ci ritorneremo eventualmente con maggior dettaglio in un successivo articolo.

La ricerca avanzata

Un’ulteriore considerazione la merita la ricerca avanzata. Benché utile in specifici casi (banche dati, utenti professionalizzati, ricerca su un corpus definito di testi, consultazione di orari), sulla maggior parte dei siti è una complicazione inutile. Inoltre, laddove possibile, è bene seguire la tendenza generale dei principali motori di ricerca sul web, che è quella di utilizzare un unico campo per tutte le selezioni, riducendo al minimo la necessità di spostarsi fra i campi e di interpretarne il ruolo e il formato.
Ad esempio, una selezione per data può essere fatta scrivendo direttamente gli estremi nella casella della ricerca, anziché manipolando diverse tendine. Per esempio scrivendo “usabilità e motori di ricerca, agosto 2008-settembre 2008”.

Questo sistema a campo unico è più efficiente. Si noti per esempio come si possono cercare località su Google Maps usando un unico campo rispetto, per esempio, all’insieme di campi su siti come Mappy o Tuttocittà.

Esempi:

esempio di form semplificato di Google Maps
In questo esempio tratto da Google Maps, tutti i parametri della ricerca possono essere scritti in un unico campo, senza spostare le mani dalla tastiera, compiere operazioni mentali specifiche per le selezioni dei diversi campi, controllare l’esattezza del formato, e così via.
Esempio di form per la ricerca di indirizzi del sito tuttocitta.it
In questo caso, da tuttocitta.it, l’inserimento deve essere fatto passando fra campi successivi, di cui è necessario capire il significato e il formato utilizzabile
modulo per la ricerca di indirizzi nel sito mappy.it
In quest’ultimo esempio, tratto da mappy.it, non solo si devono usare più campi, ma l’ordine è diverso da tuttocitta.it, nonostante la configurazione visiva del form sia identica! Dunque chi è abituato ad un sito è probabile commetterà errori nell’altro…

La tendenza comune è quella di usare la casella di ricerca in maniera più possibile “intelligente”, cioè interpretando virgole, numeri, inferendo indirizzi, relazioni e formati. Il tutto è chiaramente reso possibile da un motore che non sia soltanto lessicale, ma che incorpori delle informazioni ulteriori: di tipo e formato del dato sulla base del contesto, di clustering semantico, di scopo. La supremazia dei motori generalisti si spiega anche così.

Tag: ,

Iscriviti alla newsletter di usabile.it:

Circa una mail al mese con gli aggiornamenti più significativi.

Articoli correlati:

torna su Torna su

Privacy Policy