Le faccette, il web semantico e l’ornitorinco

di

L’articolo discute dell’incontro fra classificazione a faccette, web semantico e Platypus Wiki (un wiki semantico), e della loro felice convivenza.


Ho conosciuto di persona il simpaticissimo gruppo di lavoro del Platypus Wiki (Platypus è il nome inglese dell’ornitorinco) al recente workshop su Semantic Web Applications and Perspectives: i punti di contatto con i temi inerenti l’organizzazione semantica dell’informazione e più in generale l’architettura dell’informazione sono apparsi subito fortissimi. In sintesi, i punti che mi paiono di maggiore interesse:

  • organizzazione (s)faccettata dell’informazione come alternativa a quella gerarchica e analogie con il concetto di grafo proprio del web semantico
  • implicazioni di tali concetti a livello di interfaccia: nuove concezioni di spazio, di navigazione e di ‘posizione’ dell’utente
  • possibili rappresentazioni di tali concetti a livello visuale.

Alberi vs. grafi (i.e. gerarchie vs. faccette): il caso dell’ornitorinco

Many web sites organize information using taxonomies with a hierarchical tree, while the RDF model represents structures as a directed labeled graph. Each node of this graph is an RDF resource, while an arc between nodes is an RDF property. Moving between nodes in a graph is different from moving in a hierarchical tree, as people can use different paths to reach the same node. […] While standard web sites organize their content with a predefined hierarchical structure, Wikis use an organic approach with an evolving graph structure. Wiki pages are nodes in the graph, while users can establish links between these nodes (Campanini/Castagna/Tazzoli, 1 – grassetto mio).

Il problema delle strutture ad albero (o classificazioni gerarchico-enumerative) consiste soprattutto nella loro rigidità: ogni classe o categoria di questi sistemi è concepito come una scatola fisica all’interno della quale collocare gli oggetti di una collezione. Ogni scatola, inoltre, è legata alle altre da un rapporto gerarchico padre > figlio; il percorso per raggiungere un oggetto è perciò univoco, e se si imbocca una strada sbagliata si deve ripercorrere a ritroso il percorso compiuto fino a che non sia possibile scegliere un’altra diramazione.

La peculiarità di questi sistemi è che tutte le possibili classi in cui gli oggetti sono ripartiti devono essere specificate (enumerate) a priori (di qui la definizione di sistemi gerarchico-enumerativi). Ciò rende questo tipo di classificazioni molto rigido e conservativo, perché strutturalmente chiuse, istituzionalizzate e centralizzate: tali schemi non consentono infatti, in fase di indicizzazione, l’inserimento da parte del classificatore di una nuova categoria (cf. Marino 2004).

Viceversa nei sistemi a faccette (detti anche analitico-sintetici – e fra questi potremmo includere le strutture a grafo) le classi non rappresentano contenitori fisici ma descrittori (ovvero concetti e proprietà di concetti) e la loro relazione è anzitutto semantica. In virtù di questa caratteristica, tali sistemi abbandonano l’idea di un’enumerazione a priori di tutte le classi, a favore di una metodologia che consente di creare le classi ‘on the fly’ partendo da alcuni elementi preventivamente decisi (le faccette e i fuochi). Essi permettono quindi di associare un elemento a più categorie o parametri, ciascuno rappresentante un aspetto o faccia dell’oggetto. È per questo che i sistemi analitico-sintetici risultano estremamente aperti e flessibili, dando piena libertà all’utente di generare di volta in volta le classi di cui ha bisogno attraverso la combinazione di concetti (isolati) primari e delle loro proprietà o relazioni con altri concetti.

Una sintesi magistrale di queste problematiche ci è offerta proprio dall’ornitorinco – l’animale da cui il Platypus Wiki prende non a caso il nome:

we have called our prototype Platypus Wiki because the platypus is a strange animal which challenges attempts at classification (Campanini/Castagna/Tazzoli, 4 – grassetto mio).

L’ornitorinco ha creato infatti non pochi problemi al sistema di Linneo (il sistema di classificazione utilizzato in biologia – sistema di tipo gerarchico enumerativo). Quest’animale infatti, pur allattando i piccoli come i mammiferi, depone le uova e le cova come gli uccelli: si capisce quindi che queste caratteristiche rendono lo stravagante ornirorinco difficile da collocare. In un sistema a faccette, viceversa, tutto è più facile: si può scegliere di rappresentare con una faccetta autonoma ogni aspetto chiave di questo animale (ad es. nascita della prole: uova; allevamento della prole: allattamento etc.) la cui combinazione potrà descrivere senza problemi la specie ornitorinco. (A tale proposito il gruppo del Platypus Wiki cita il libro di Umberto Eco, Kant e l’ornitorinco).

Verso un nuovo concetto di interfaccia

Il Platypus Wiki, insomma, pur non applicando la classificazione a faccette nella sua forma ortodossa, ne riflette tuttavia in pieno la filosofia di base: è l’utente a creare classi di contenuto attraverso l’aggregazione di alcuni concetti isolati.

The first thing to consider is the decision to represent every RDF resource in the same way as a Wiki page. […] The idea is to enable metadata aggregation by specifying for every Wiki page where to find the RDF metadata (other than on the local host) to merge when users ask for the page. […]

While relations between pages in a standard Wiki are HTML links, Platypus Wiki uses RDF properties between resources to construct labeled HTML links. The information architecture in Wikis is an organic structure similar to a directed graph: a node is a Wiki page and a link represents a directed arc between two pages. In Platypus Wiki, RDF statements construct a directed labeled graph: a node is an RDF resource and a link is a RDF property. We have chosen to allow the user to select any RDF resource: subjects, objects or predicates. When the user clicks on a resource, it becomes the current resource and its RDF metadata is used to construct the navigation and presentation (Campanini/Castagna/Tazzoli, 4.1 – grassetto mio)

Questo ha importanti ricadute sul concetto di spazio a livello di interfaccia. In una architettura ad albero è sempre possibile rappresentare il percorso dell’utente e la sua posizione attuale in termini di categoria padre > categoria figlio o – che è lo stesso – livello n > livello n+1 (le cosiddette briciole di pane). Sofia Postai è stata la prima a notare che in una architettura a faccette (i.e., in un grafo) la rappresentazione dello spazio mediante briciole di pane mal si adatta, proprio perché essa esprime una relazione di tipo gerarchico.

A mio modo di vedere anche la recente polemica fra Merholz e Hurst si può comprendere e risolvere meglio se inquadrata in questo contesto. Quello che né Merholz né Hurst considerano, infatti, è il tipo di spazio web che si vuole rappresentare. Se questo spazio ha una architettura di tipo gerarchico, allora ha ragione Merholz a insistere sul concetto di navigazione come spostamento/percorso:

I actually agree with Mark that users “don’t care where they are” on a site – they care about where to go to achieve their current goal. However, in order for a single system to enable thousands of different users to achieve their hundreds of different goals, it needs navigation system to support this unknown range of desires.

Viceversa, se l’architettura non è di tipo gerarchico, ha ragione Hurst, e si può solo parlare di obiettivi dell’utente:

On any given Web page, users will either – click something that appears to take them close to the fulfillment of their goal; – or click the Back button on their Web browser.

Sembra, in effetti, che le due posizioni riflettano le due domande chiave che soggiacciono ai due rispettivi sistemi di classificazione: “Dove posso collocare x?”, sistemi gerarchico enumerativi e posizione di Merholz; “Come posso descrivere x?”, sistemi analitico-sintetici e posizione di Hurst.

In realtà, anche nel caso dei sistemi analitico-sintetici, non è tanto il concetto di percorso a venir meno, quanto il carattere prestabilito di quest’ultimo: è infatti l’utente a stabilire il proprio percorso attraverso la aggregazione/sintesi di vari parametri. In sintesi potremmo rappresentare le due prospettive in questi termini:

sistema di organizzazione sistemi gerarchico-enumerativi sistemi analitico-sintetici
modalità di navigazione browsing filtering o zoom
concetto di spazio briciole di pane o concetto di spazio come posizione concetto di spazio come relazione semantica fra concetti

Ecco: proprio quest’ultima accezione di spazio come relazione semantica fra concetti ci sembra l’approccio corretto al concetto di spazio e movimento all’interno di grafi: in questi contesti il concetto di spazio non viene meno, ma si modifica: non più bidimensionale e gerarchico ma pluridimensionale e relazionale. La posizione dell’utente, in tal caso, è cioè espressa da una relazione di concetti (ovvero nel linguaggio del RDF da soggetti, predicati e oggetti): io sto visionando un certo concetto che ha certe relazioni con altri concetti.

In questo senso, mi pare che il Platypus Wiki offra una elegante interpretazione di questo nuova accezione di spazialità, non solo a livello concettuale (di architettura dell’informazione) ma anche a livello visuale (di information design). Scrive il gruppo dell’Ornitorinco:

The layout of a page is based on three columns describing the current resource. The first column on the left is built with all the RDF statements that have the current resource as the object. […] In the second, central column, the main content of the page is presented. […] The page content describes concept represented by the URI of the current resource. The last column on the right is similar to that on the left, but contains all statements in which the current resource is the subject. This layout has been chosen, because in many lexicographic conventions, it is usual to write and read from left to right and from top to bottom. The RDF statements are thus as easy to read and understand as normal sentences (Campanini/Castagna/Tazzoli, 4.1).

Da questo punto di vista, anche il progetto Simile presentato da Stefano Mazzocchi offre delle soluzioni assai efficaci ed eleganti.

Schemi analitico-sintetici e modelli mentali

This is an attempt to move towards the concept of monocline grouping explained by Alan Cooper [Alan Cooper and Robert Reimann, About Face 2.0: The Essentials of Interaction Design] in his discussion of hierarchies as a nonnatural concept for most people. The concept of monocline grouping is very similar to the XML namespace also used in the Semantic Web (Campanini/Castagna/Tazzoli, 4.1).

hierarchies are not natural concepts for most people when it comes to storing and retrieving arbitrary information. […]

In the current desktop metaphor used by most window systems, you can nest folder within folder ad infinitum. It’s no wonder most computer neophytes get confused when confronted with this paradigm. […]

Computer science gives us hierarchical structures as tools to solve the very real problems of managing massive quantities of data. But when this implementation model is reflected in the manifest model presented to users, they get confused because it conflicts with their mental model of storage systems. […]

In other words, rather than forcing users to navigate deep, complex tree structures, give them tools to bring appropriate information to them (A. Cooper, R. Reimann, About Face 2.0 – The Essentials of Interaction Design, Wiley, 2003, p. 156).

Studi come quello appena citato di Cooper, ma anche gli studi sulla metafora di Lakoff e Johnson sembrano suggerire che l’approccio analitico sintetico funzioni meglio proprio perché riflette modalità associative proprie della mente umana. Mancano studi specifici sul rapporto classificazione/mente, ma questi già forniscono indizi utili. Non è un caso che molte realtà software si stiano muovendo oggi proprio verso approcci analitico-sintetici:

  • la suite iLife di Apple
  • Mozilla Thunderbird
  • Google Gmail
  • il prossimo Mac OS X Tiger
  • il nuovo Windows Longhorn.

In tutti i casi, al concetto classico di cartella (i.e. raggruppamento di items) si sostituisce quello di cartella virtuale (variamente definita: smart foder, saved search folder etc.), che corrisponde niente più che a un processo di sintesi: essa rappresenta cioè una query che viene eseguita istantaneamente su tutte le risorse del sistema e che restituisce come contenuto tutti gli tems che corrispondono a certi parametri. Gli stessi parametri possono così essere diversamente combinati per ottenere di volta in volta risultati specifici e salvati/memorizzati come una cartella.

Il risultato è che una stessa risorsa, indipendentemente da dove fisicamente sia collocata, e dalla applicazione che l’ha generata, possa essere di volta in volta recuperata attraverso percorsi differenti e classificata contemporaneamente in più cartelle virtuali.

Lo stesso Paolo Castagna mi ha comunicato a voce che, se il Platypus Wiki non permette ancora fino in fondo questo tipo di versatilità nella aggregazione dei concetti (soggetti, predicati e oggetti RDF), tuttavia è sicuramente questo l’obiettivo verso cui l’Ornitorinco tende con forza. E chissà che la teoria delle faccette non possa dare una mano.

13.12.2004