Adattività e User Modeling
December 28th, 2002 di Gabriele Scaliin classic, test, usabilità, user modeling | Letture: 4636
Il concetto di usabilit� si complica parecchio quando lo si trasferisce
da oggetti semplici, che hanno una unica e ben precisa finalit� (es.
maniglia di una porta, caffettiera…), ad un sistema software intrinsecamente
complesso.
Introduzione
Il concetto di usabilità si complica parecchio quando lo si trasferisce
da oggetti semplici, che hanno una unica e ben precisa finalità (es.
maniglia di una porta, caffettiera…), ad un sistema software intrinsecamente
complesso.
L’usabilità di un sistema è funzione del suo scopo e in
base ad esso l’interazione avviene con modalità e comportamenti
diversi. Quanta più informazione il sistema gestisce e quanto maggiore
la latitudine di scopi e di utenti diversi che esso deve rappresentare, tanto
più difficile sarà progettare la sua interfaccia in modo che risulti
sempre usabile.
Le applicazioni ipermediali e quelle web in particolare, sono -spesso- progettate
per una varietà di utenti maggiore delle altre e permettono una libertà
di comportamenti che non apparteneva alle applicazioni interattive tradizionali
e quindi hanno evidenziato negli ultimi anni la necessità di un approccio
strutturato al problema. E’ sempre più frequente infatti che
- lo scopo dell’utente di un sito non sia univocamente determinato
- la varietà degli scopi possibili sia ampia e/o non prevedibile con
precisione - il caso peggiore, essa sia dinamica ad esempio a seconda dei contenuti.
Quando si verificano queste condizioni ha senso costruire non delle apposite
interfacce per ciascuna delle possibilità (il caso tipico è la
ricerca semplice oppure la ricerca avanzata) bensì un’unica interfaccia
adattiva (una ricerca che mostri di volta in volta all’utente quei parametri
che il sistema ha determinato gli interessino di più).
Da quando la natura dei musei sta evolvendo sempre più in istituzioni
che coinvolgono interattivamente il visitatore e gli permettono un’esperienza
ricca di informazioni, il ruolo dell’informatica ed in special modo dell’ipermedialità
è divenuto sempre più importante.
I musei si trasformano in uno spazio informativo evoluto e ricco di
media. All’interno di esso il visitatore si orienta e traccia
i propri percorsi fra gli “artefatti aumentati”
in base alle proprie preferenze e gli strumenti a sua disposizione dovrebbero
facilitargli questo compito. Si pensi alla quantità di informazioni diverse
che possono apparire adiacenti ad un’opera d’arte, sull’autore
ovviamente, ma anche sul periodo storico, i luoghi in cui si trovava, le tecniche,
le correnti artistiche, i materiali, i collegamenti con altre opere… ed
ai diversi livelli di approfondimento che ciascuna di queste possibilità
offre a seconda che il visitatore sia uno studente delle scuole medie oppure
uno studioso.
Quello dei musei è perciò stato uno dei settori in cui per primi
si è pensato di costruire le applicazioni in modo che si adattino alle
esigenze dei singoli utenti. I sistemi adattivi mantengono un modello degli
obiettivi, interessi, preferenze e conoscenze dell’utente e applicano
queste conoscenze per adattarsi alla interazione con esso.
La differenza è di scala dell’influenza che questa configurazione
ha sul modello di interazione dell’utente.
Distinzione fra adattabilità ed adattavità
All’inizio c’era la configurabilità, cioè
la possibilità di controllare manualmente alcune decisioni riguardo l’interfaccia
che si intendeva usare. Spinta dalle esigenze pressanti che abbiamo appena ricordato
questo concetto si è evoluto ed arricchito in modo da offrire configurazioni
preconfezionate per dei profili standard di utenti e di vari livelli di aiuto
per coadiuvare l’utente nelle scelte. Si è iniziato a parlare di
adattabilità nel momento in cui i sistemi multiutente –di cui il
Web fa ovviamente parte- hanno acquisito la capacità di identificare
gli utenti e ricordare le singole preferenze. Insomma, tantissimo software è
sempre stato adattabile, secondo questa definizione!
I sistemi adattivi invece monitorano i comportamenti degli utenti e modificano
dinamicamente la loro interfaccia e/o il loro contenuto a seconda delle preferenze
e capacità individuali.
Si pensi a come funziona il sito web di amazon.com. Esso fornisce suggerimenti
sulle uscite di nuovi libri basandole sull’intorno degli interessi apparenti
dell’utente. Comprate un libro su Praga perché state per visitarla
durante un viaggio di lavoro, e sarete costretti a leggere della capitale boema
per il resto della vostra vita. E non provate a regalare libri sulla cucina
indiana a vostra sorella se non volete che i vostri acquisti in rete siano aromatizzati
dalla speziata presenza del Vindaloo per molto tempo a venire.
Oggi dopo un’era di sistemi adattivi, ma non prima di esser diventati
esperti di cucina indiana, si è capito che l’ibridazione dei due
concetti è più usabile e meno invadente e questa è la direzione
in cui ci si sta muovendo. Perciò nel resto della mia analisi mi riferirò
ai sistemi adattivi con questo significato.
Il modello dell’utente
Cosa serve insomma per confezionare un sistema adattivo? Un ingrediente
fondamentale è sicuramente un modello dell’utente. Vale a dire
una rappresentazione dello stesso mantenuta dal sistema tenendo traccia di quello
che l’utente vede, delle scelte che fa, dei criteri di ricerca più usati,
dei contenuti che gli sono già stati presentati, è possibile realizzare
un modello delle sue conoscenze e dei suoi interessi.
Generalmente creare un modello dell’utente significativo per un certo
dominio applicativo richiede una analisi approfondita dei task, come quella
che si fa abitualmente in alcune tecniche di progettazione e di pianificazione
dei test di usabilità. Mentre però il risultato nella progettazione
tradizionale è una specifica interfaccia utente, in questo caso saranno
una serie di modelli e di regole per generare l’interfaccia a runtime.
Spesso gli utenti sono classificati in base a degli stereotipi in modo da poter
essere trattati come elementi di design (per esempio come attori negli use-cases
oppure nell’analisi dei requisiti goal oriented (si veda “Goal-Oriented
Requirements Engineering A Guided Tour”, Axel van Lamsweerde).
I tipici elementi costituenti un modello di utente sono:
- Preferenze, interessi, obiettivi
- Conoscenze e capacità (ad esempio di uso del sistema)
- Storia dell’interazione col sistema
- Classificazione secondo uno stereotipo
I valori per attributi specifici possono essere forniti esplicitamente nel
profilo immesso dall’utente stesso oppure catturati dal monitoraggio della
sua interazione e desunti da un sistema di analisi probabilistica/bayesiana
o basato su regole di inferenza o sull’intelligenza artificiale.
Ovviamente un modello di utente sofisticato non è descritto solo dalle
informazioni che mantiene ma anche da come esse si influenzano reciprocamente
e da come si evolvono in relazione ai risultati dell’analisi del suo comportamento.
Il modello del contesto
Un ingrediente invece opzionale di un sistema adattivo è un modello del
contesto di uso, questo tipo di modelli viene normalmente formato a partire
dal rilevamento delle condizioni in cui un certo utente usa il sistema in un
certo momento. Esso diviene spesso particolarmente rilevante quando si parla
di sistemi ubiquitari, vale a dire di sistemi di fruizione destinati ad essere
usati in momenti diversi da luoghi diversi e soprattutto con dispositivi diversi
(ad esempio workstations e palmari).
In questo campo il numero di progetti sperimentali relativi ai beni culturali
è molto alto soprattutto in relazione alle guide mobili per i musei basate
su dispositivi multimediali portabili.
Si distinguono solitamente
— Contesto Naturale
• Luogo: serve soprattutto in applicazioni di mobile computing e cattura
informazioni riguardo al luogo da cui l’applicazione viene utilizzata
• Tempo: permette di riferire la fruizione ad un momento particolare,
assieme al luogo può ad esempio servire per customizzare rispetto agli
orari di apertura degli shop all’interno di un museo
— Contesto Tecnico
• Dispositivo: cattura l’informazione di base sulle possibilità,
ad esempio risoluzione, memoria
• Agente utente: contiene informazioni riguardo alle capacità del
software (il browser nel caso di una Web application) usato dall’utente
• Network: la velocità e la disponibilità della rete da
cui l’utente si collega (fissa / mobile)
Il modello della conoscenza
I sistemi adattivi hanno bisogno di un modello dello spazio di conoscenza
in cui conferire le informazioni in modo da poter operare su di esse delle scelte
in base alle regole ed ai modelli di riferimento. La materia delle ontologie
e della rappresentazione della conoscenza, soprattutto nella forma del cosiddetto
Semantic Web, è probabilmente uno dei temi di ricerca riguardo i quali
ferve l’attività più intensa nei laboratori di tutto il
mondo, ed il W3C ha pubblicato diversi standards in proposito tra cui RDF
ed OWL. Allo scopo di
fornire un semplice esempio di quello di cui stiamo parlando useremo come modello
di riferimento quello impiegato dal sistema ILEX (Intelligent Labeling Explorer)
sviluppato all’università di Edimburgo e dai National Museums of
Scotland.
Fatti -> Relazioni”>
ILEX rappresenta la conoscenza
in una struttura di dati chiamata contenuto potenziale che è un grafo
contenente dei nodi che rappresentano entità, nodi che rappresentano
fatti e relazioni che connettono fatti diversi. I nodi possono rappresentare
entità specifiche oppure astratte. Per semplicità i fatti associano
sempre entità in relazioni binarie. Il contenuto di una struttura del
genere può essere in parte desunto automaticamente dalla struttura dati
di un’applicazione di gestione delle collezioni ma per contenere informazioni
più consistenti ed interessanti è inevitabile che esso venga anche
istruito dai curatori. Questo permette inoltre di arricchire le informazioni
presenti nel sistema con una serie di elementi di contesto (es. fatti e personaggi
storici, notizie geografiche) molto utili poi per generare una presentazione
delle informazioni che abbia una certa attrattiva per gli utenti.
La navigazione della struttura del contenuto potenziale secondo certi criteri
o seguendo certi fatti permette al motore di adattamento dei contenuti di generare
dinamicamente le informazioni da visualizzare oppure di scegliere uno specifico
formato di presentazione.
Appare evidente che le tecniche classiche di organizzazione delle informazioni
e di progettazione della loro interfaccia di presentazione non sono più
sufficienti in questo caso.
Conclusioni: Progettare per l’adattività
Progettare con un sistema adattivo in mente influisce sia sulla fase
di analisi dei reqisiti sia sulla fase di design vero e proprio.

Le regole di customizzazione infatti sono decise nella fase di analisi dei requisiti,
a loro volta questi ultimi sono influenzati dal tipo di informazioni di contesto
che saranno disponibili a runtime.
In seguito si deve progettare come la parte variabile dell’applicazione
realizza gli adattamenti dettati dalle regole. Un meccanismo implementativo
poi farà in modo che il contesto faccia scattare le regole di customizzazione
a runtime e che esse influenzino quindi i contenuti e la presentazione dell’applicazione.
Benché non esistano standard affermati per la metodologia né per
il formalismo di modellazione legati alle tematiche della customizzazione, alcuni
progetti di ricerca stanno iniziando ad affrontare il problema, ad esempio uwaproject
che suggerisce l’uso di mirate estensioni ad UML
per la modellazione di applicazioni Web customizzabili.




