|
|
Il Blog di JOProject
31 gennaio 2010 - 15:55 by Charlenger
La classificazione documentale, come spiegato nel precedente articolo sull’argomento, si compone di varie fasi e sfrutta vari strumenti. Uno tra quelli presentati è il classificatore ingenuo di Bayes o “Naive Bayes Classifier”. La solita citazione da Wikipedia è:
“A Bayes classifier is a simple probabilistic classifier based on applying Bayes’ theorem (from Bayesian statistics) with strong (naive) independence assumptions. A more descriptive term for the underlying probability model would be “independent feature model”.”
Prima di poter parlare di classificazione documentale sarebbe innanzi tutto necessario parlare di classificazione in maniera più generale. Infatti, la classificazione documentale, altro non è che un normale processo di classificazione, in questo caso basata su un approccio statistico, composta di numeri, regole e formule. Viene spontaneo chiedersi come sia possibile a questo punto che un documento, fatto di parole, lettere, punteggiatura e simboli che vanno ben oltre semplici numeri, possa essere trattato come se fosse una variabile di un’equazione matematica.
La risposta al questio si chiama “modello matematico”. I modelli matematici, grande divertimento dei ricercatori operativi, sono il risultato di processi di analisi e modellazione che permettono di mappare in qualche modo, più o meno coerente e completo, un qualsiasi elemento della realtà. Il “più o meno coerente e completo” è d’obbligo perché è noto che la natura non fa spigoli, cioè il mondo non è lineare, mentre spesso i problemi reali vengono modellizzati in modo tale da essere risolvibili, per esempio, studiandone una versione linearizzata.
Prendendo il caso particolare del metodo statistico di Bayes, e semplificando al minimo il modello matematico da utilizzare, è possibile trasformare un documento in un semplice vettore di numeri che, nel caso del classificatore classico, appartengono all’insieme {0,1}, cioè sono binari. Questa modellazione è possibile grazie a una “legenda” di riferimento detta vocabolario. In questo particolare caso, il vocabolario del modello matematico corrisponde con un vocabolario secondo la sua più stretta e umana definizione.
Passando a un esempio concreto, si supponga di avere questo vocabolario:
[giocatore, sport, calcio, pallone, scarpa, rete, palo, portiere]
e la seguente frase:
“Durante la partita, il giocatore ha dato un calcio al pallone e ha perso la scarpa”
dunque il vettore di riferimento sarebbe:
[1, 0, 1, 1, 1, 0, 0, 0]
Senza andare nel dettaglio della fase di pre-elaborazione dei dati (cioè la loro trasformazione in dati utilizzabili per l’addestramento e la fruizione del classificatore), è possibile illustrare il principio che sta alla base della classificazione ingenua. Tale classificazione è definita in questo modo perché si presuppone che gli elementi che costituiscono i vettori e il vocabolario siano indipendenti tra loro, e dunque non vengano considerate eventuali correlazioni. Per intendere meglio cosa voglia dire ingenuo può essere utile un esempio:
In un documento che parla di biologia, e in particolare del ciclo di vita di una pianta, la probabilità che nel testo appaia la parola “fotosintesi” non è indipendente dalla presenza del termine “clorofilliana”. Nella conoscenza comune è noto associare le due parole e, per di più, la presenza della seconda può addirittura essere correlata in posizione al termine precedente. Sarà infatti molto più probabile incontrare nel testo l’espressione “fotosintesi clorofilliana” che “clorofilliana fotosintesi”.
Quando si parla di classificazione ingenua, si assume che il valore corrispondente a questi due termini, sia indipendente l’uno dall’altro, cioè si ignora il fatto che la presenza delle due parole insieme costituirebbe una maggiore probabilità che un certo testo parli di biologia vegetale. Viene naturale chiedersi perché non lo si consideri. La risposta è già stata fornita in precedenza. Il modello da utilizzare deve essere semplice e computabile e inserire questo tipo di dipendenze (ne esistono anche di molto complesse nella linguistica e nella teoria della probabilità), significherebbe rendere il problema molto complesso, e in vari casi anche NP-Completo.
La regola di Bayes su cui si basa il classificatore dice che:
La probabilità P di un evento E, data l’evidenza F{1,2,…,N} è data dal rapporto tra il prodotto della probabilità del singolo evento P(E) con la probabilità dell’evidenza dato il fatto E, e la probabilità dell’evidenza.
P(E | F1,F2,…,Fn) = P(E) * P(F1,F2,…,Fn | E) / P(F1,F2,…,Fn)
Detto in termini di classificazione, si supponga che l’evento E sia la categoria da assegnare a un certo documento, e che l’evidenza siano i singoli termini che costituiscono il vocabolario, la regola potrebbe esprimersi come “la probabilità che un documento appartenga alla categoria E, data la presenza/assenza delle parole F1,…,Fn è pari al prodotto della probabilità stessa che un documento appartenga a una certa categoria moltiplicato per la probabilità di ciascuna delle parole, presupposto che si tratti della categoria E, diviso la probabilità delle parole stesse.
Anche espresso in questo modo, il concetto non rimane chiarissimo, ma la comprensione di questa legge non è lo scopo di questo articolo. In ogni caso, la legge scritta in questo modo è altamente esauriente ma sarebbe computazionalmente difficile da calcolare e rappresenterebbe il classificatore “ideale” di bayes.
La classificazione infatti avverrebbe calcolando, dato un documento, la probabilità che questo appartenga a ciascuna delle possibili categorie, scegliendo, ovviamente, quella più alta. Come fare dunque a rendere la legge utilizzabile? Proprio utilizzando il principio di “ingenuità”. Infatti, considerato che la probabilità congiunta espressa al numeratore del secondo membro dell’equazione è esprimibile come:
P(E, F1, F2, … Fn) = P(E)*P(F1|E)*P(F2|F2,E)*…*P(Fn|Fn-1,…F1)
La condizione di indipendenza o ingenuità ci permette di dire che per ogni “i” diverso da “j” è valida la seguente relazione:
P(Fi | C, Fj) = P(Fi | C)
Cioè che non c’è nessuna relazione di probabilità tra “fotosintesi” e “clorofilliana”. Questo ci permette di ridurre l’equazione precedente (dove l’evidenza sarà espressa comeF) nel seguente modo:
P(E | F) = P(C)*P(F1|C)*P(F2|C)*…*P(Fn|C)/P(F)
Adesso, posto che nella classificazione ingenua, generalmente, le categorie sono considerate equiprobabili, e che l’evidenza è un fattore identico per ogni categoria, il valore che vogliamo calcolare potrà essere calcolato come:
P(E | F) = P(F1|C)*P(F2|C)*…*P(Fn|C)
Che significa che dato un documento, il valore che ci permette di ipotizzare a quale categoria appartenga, è data dal massimo prodotto di tutti i valori di probabilità di ciascuna parola del vocabolario in relazione a ciascuna categoria. Il concetto può essere spiegato meglio con un esempio pratico.
Supponiamo di prendere un vocabolario di 5 parole:
W = [cane, soldi, deputato, calciatore, locale]
e di avere 3 categorie:
C = [sport, economia, tempo libero]
La prima cosa da fare sarebbe addestrare il classificatore. Per farlo bisogna calcolare le tabelle di probabilità di ciascun termine per ciascuna categoria e per farlo si passa attraverso l’addestramento. Per esemplificare, si prende un insieme di 3 vettori (documenti) per la categoria “sport”:
v1 = [1,0,0,1,1]
v2 = [1,0,0,1,0]
v3 = [0,0,0,1,1]
La riga relativa alla categoria “sport” per la tabella delle probabilità sarebbe:
sport = [2/3, 0/3, 0/3, 3/3, 2/3]
Si supponga di avere ache le altre due categorie e di avere dunque la seguente tabella delle probabilità positive (quelle negative si calcolano come “1 – p”):
[2/3, 0/3, 0/3, 3/3, 2/3]
[1/3, 2/3, 3/3, 0/3, 0/3]
[2/3, 1/3, 0/3, 1/2, 3/3]
Se volessimo classificare il seguente documento: “il calciatore ha giocato come un cane”, a cui corrisponde il vettore [1, 0, 0, 1, 1] potremmo calcolare i tre possibili valori come:
v(sport) = 2/3*(1 – 0/3)*(1 – 0/3)*3/3*2/3 = 4/9 = 0,44
v(economia) = 1/3*(1 – 2/3)*(1 – 3/3)*0/3*0/3 = 0
v(tempo libero) = 2/3*(1 – 1/3)*(1 – 0/3)*3/3*2/3 = 8/27 = 0,30
quindi max(V) = 0,44 cioè: il documento è classificato come “sport”.
Emerge subito come il risultato sia fortemente dipendente dai dati con cui viene addestrato il sistema e soprattutto esso non è esente da condizioni limite. Per esempio, l’assenza della parola “deputato”, dal momento che è presente nel 100% dei campioni di economia, andrebbe ad azzerare la probabilità nonostante altre parole potrebbero aumentare significativamente lo stesso valore. Questo sarebbe un caso di sotto-stima dell’insieme di addestramento. Al contrario potrebbero esserci significative differenze nel numero dei documenti utilizzati e una categoria potrebbe essere favorita. In questo caso si ha un problema di sovra-dimensionamento. Per far fronte a questi problemi si usano varie tecniche basate su tecniche che calcolano i valori di probabilità sulla base della frequenza dei termini, la loro rilevanza e la proporzione normalizzata dei documenti (e.g. TF-IDF). Questo genere di approcci può trasformare il vettore che rappresenta il documento da binario a reale (e.g. [0.2, 0.4, ... , 0.7]).
Esistono varie altre tecniche e adattamenti di questo algoritmo o che ne siano valide alternative, per esempio le macchine a vettori di supporto, tuttavia il classificatore Naive Bayes rimane uno dei più usati in quanto è facile da implementare, facilmente personalizzabile in base ai tipi di classificazione che deve svolgere, raffinabile e molto efficiente sebbene fortemente dipendente dalla qualità dei dati forniti per l’addestramento.
Tags: artificiale, bayes, classificazione, classifier, computer, documentale, informatica, ingegneria, intelligenza, language, linguistica, naive, natural, nlp, processing, science Pubblicato in Computer Science | 2 Commenti »
26 gennaio 2010 - 7:21 by immortal_bard
«Hai trovato qualcosa?»
«Più di qualcosa». L’uomo rispose sussurrando.
«Che cosa?» il tono della donna invece si fece quasi concitato.
«Più di quello che immagini», tese la mano e allungò due pergamene che erano state accartocciate, ma che aveva accuratamente stirato e arrotolato come fossero lettere ufficiali. La donna allungò le mani per prendere le carte ma l’uomo le ritrasse e sorrise chiudendo gli occhi.
«Merito almeno un bacio sulla guancia, mia signora e mia luce».
«Ti prego Iamal, non chiamarmi così». Karina ritrasse le mani istintivamente. Iamal riaprì gli occhi e lasciò che il suo sorriso si attenuasse.
«Io ormai servo te, mia signora. Il mio lavoro per Ibraham è solo una copertura. Permettimi di chiamarti almeno “mia signora”». Iamal fece un leggero inchino e ritrovò il sorriso precedente. Karina fece due passi in avanti e lo baciò sulla guancia. L’uomo aprì gli occhi e fissò la donna per qualche istante, senza abbandonare il sorriso, poi protese di nuovo le mani e porse le pergamene alla donna, stavolta senza ritrarle. Karina le prese fissando a sua volta l’uomo negli occhi.
«Non è stato facile trovarle. Ora devo andare». Iamal si allontanò lasciando sola la donna.
***
Le dita sfiorarono la maniglia della porta. Gli occhi corsero alla finestra chiusa. Le candele erano spente e il chiarore della luna creava dei giochi di ombre che rendevano l’attesa del rintocco quasi terrificante. Il campanile suonò la mezzanotte.
Sottovoce, Iamal cominciò a contare. La mano strinse il ferro battuto e iniziò a muoversi lentamente. La porta si aprì facendo solo un lievissimo cigolio. Uscì dalla sua stanza. Con passi leggeri, l’uomo scivolò lungo i corridoi, attraversò rampe di scale e raggiunse una porta adorna di decorazioni e intarsi dorati. Era l’ingresso ai corridoi dell’ala proibita. Nessuno poteva accedere a quelle sale se non autorizzato direttamente da Ibraham, il Magnanimo in persona.
Con un sorriso soddisfatto, Iamal estrasse una chiave dalla tasca e la infilò cautamente nella serratura. Si appoggiò sulla porta per non farla tremare e cominciò ad aprirla guardandosi indietro per essere sicuro che nessuno lo avesse visto. Aprì dapprima uno spiraglio e sbirciò dall’altra parte. Pareva non esserci nessuno. Aprì la porta, la attraversò e la richiuse dietro di sé velocemente, ma sempre facendo attenzione a non fare rumore.
Camminando radente alla parete più interna del corridoio, e superando velocemente le zone illuminate dalle finestre, Iamal corse verso una meta precisa. Raggiunse una porta di faggio, robusta e diversa dalle altre. Sentì ancora una volta un brivido nel toccare la maniglia d’oro lavorato, fredda quasi quanto la notte stessa. Con decisione aprì la porta ed entrò. Un rumore sordo rimbombò nel corridoio. Sapeva che non c’era verso di non far rumore con quella porta, quindi cercò di ridurlo al minimo.
Appoggiato con le spalle sulla porta, Iamal sentì il suo sorriso diventare quasi un’espressione di vittoria, mentre il petto gli si gonfiava e sgonfiava velocemente per la tensione. Inspirò profondamente per riprendersi quindi si diresse subito verso la scrivania. Era sicuro che avrebbe trovato qualcosa di utile nella stanza di Ibraham.
Iamal cominciò ad aprire cassetti e sportelli, curandosi di rimettere tutto a posto. Guardò tra i vari cartigli ma non trovò che atti burocratici di scarso interesse per ciò che cercava. Le sue orecchie erano costamente attente a ogni rumore che proveniva dal corridoio. Aveva poco tempo e molti posti dove cercare. Guardò tra gli scaffali e sotto la poltrona. Era difficile trovare qualcosa, soprattutto perché non sapeva neppure cosa stesse cercando.
Il rintocco della prima ora del giorno lo fece sussultare. I battiti del cuore aumentarono e sentì un calore al volto che lo fece trasalire. Inspirò profondamente e si avviòm verso l’uscita. Credeva di avere fallito quando il suo sguardo si posò su dei fogli accartocciati dentro un cestino. Ne raccolse uno e cominciò a leggerlo. Rimase immerso nella lettura, sorpreso da ciò che l’inchiostro gli stava rivelando. Sul fondo della lettera era già stato apposto il sigillo con la cera lacca e nonostante il foglio fosse stato stropicciato, era ancora perfettamente visibile. Aveva trovato ben più di quello che potesse sperare.
Il rumore di passi, seguito da quello della maniglia lo riportarono alla realtà. Il giro di ronda era arrivato e lui era ancora nella stanza. Osservò rapidamente la disposizione dei mobili, si lanciò dietro il divano e pregò che il buio lo proteggesse. La porta si aprì. Iamal chiuse gli occhi come a volersi nascondere dalla luce della candela e trattenne il fiato. Rimase immobile.
Un suono cupo ma inconfondibile lasciò la stanza nel silenzio. La porta era stata chiusa. Iamal attese immobile ancora qualche istante, poi con estrema cautela si affacciò verso la stanza. Era completamente buia. Sarebbe passata un’altra ora prima che passasse il secondo giro di ronda. Aveva dunque il tempo per uscire dall’ala proibita.
Iamal attese qualche minuto dietro la porta, appoggiato con l’orecchio sul legno per essere sicuro che non ci fossero rumori di passi nel corridoio. Aprì la porta così come quando era entrato ed uscì. Si appoggiò solo per un istante su di essa, come se volesse farla smettere di vibrare, si guardò a destra e a sinistra, e cominciò a correre nelle ombre fino a raggiungere la fine del corridoio. Aprì la porta ma si accorse che la mano gli tremava. Cercò di non fare rumore ma la paura non glielo consentì. La chiave gli cadde sul pavimento, tintinnando. La raccolse velocemente, aprì la porta e la richiuse dietro di sé, dando due giri di chiave. Cominciò a correre verso le sale della servitù, raggiunse la cucina, si arrampicò sulla credenza e infilò la chiave in una brocca nascosta in alto tra le vecchie brocche per il vino.
«Che cosa stai facendo?»
Iamal cadde all’indietro, ruzzolando sul pavimento. Si voltò terrorizzato ma si tranquillizzò quasi subito quando vide che a chiamarlo era Owanda, la cuoca.
«Cercavo qualcosa da mangiare. Ho fame e non riuscivo a dormire», balbettò.
«E lo cerchi con i piedi sudici sui miei ripiani?»
«Io…» si alzò e si diede una ripulita, cercando di riprendere il controllo. Owanda si avvicinò e chiuse la dispensa che Iamal aveva aperto afferrandocisi mentre cadeva.
«Ho sempre detto che eri un tipo strano, ma non pensavo fino a questo punto». La cuoca si piegò sulle ginocchia e aprì un cassetto, tirando fuori qualche pezzo di pane e un po’ di formaggio. Poi sorrise all’uomo. «Anche io a quest’ora ho sempre fame. Conservo sempre uno spuntino qui. Vuoi farmi compagnia?»
***
«Sei sicuro che non abbia capito nulla?»
«Si». Iamal sorrise soddisfatto. «La cuoca non immagina nemmeno che il primo servitore nasconde la sua copia della chiave lassù. Credo che in pochi, pochissimi lo sappiano».
«Grazie». Karina abbracciò di nuovo Iamal, comprendendo il rischio che aveva corso per trovare qualcosa per lei, quindi prese congedo senza aggiungere altro.
***
«Mio signore». Zarghen entrò nell’ufficio di Ibraham, intento a scrivere dei documenti.
«Entra pure»
«Ho delle notizie». Il comandante delle guardie di Raerem assunse un tono duro, ed enfatizzò la sua preoccupazione come se fosse scoppiata una guerra.
«Cosa ti turba?»
«Ieri notte qualcuno dei servitori ha girovagato per l’ala proibita. Avevo dei sospetti e ho fatto di persona diversi giri di ronda». Ibraham sembrò sorpreso. «Qualcuno trama contro di te».
Tags: elfo, Eoghan, fantasy, iamal, ibraham, kalhun, karina, racconto, romanzo, Saifel, zarghen Pubblicato in Breve come un Respiro, Racconti | 3 Commenti »
21 gennaio 2010 - 7:08 by Charlenger
La classificazione documentale (document classification/clustering) è un processo studiato all’interno dell’elaborazione del linguaggio naturale che si occupa di assegnare una o più categorie a un elemento detto documento. Come di consueto riporto la citazione da una delle fonti più cliccate del web, wikipedia:
Document classification/categorization is a problem in information science. The task is to assign an electronic document to one or more categories, based on its contents. Document classification tasks can be divided into two sorts: supervised document classification where some external mechanism (such as human feedback) provides information on the correct classification for documents, and unsupervised document classification, where the classification must be done entirely without reference to external information. There is also a semi-supervised document classification, where parts of the documents are labeled by the external mechanism.
In breve, dato un documento, questo viene analizzato e al termine del processo si ha un dato che può essere, per esempio, “Spam”.
La classificazione documentale ha diverse applicazioni e, l’esempio arriva non a caso, una delle prime forme di applicazione pseudo-commerciale è stata proprio la classificazione di e-mail come spam o non-spam. Tra i più famosi e usati troviamo proprio “Spambayes”, cioè un classificatore che utilizza l’approccio Naive Bayes per la classificazione “raffinabile” delle e-mail di spam. Ma procediamo con ordine.
Innanzi tutto, come è composto un processo di classificazione documentale? Esistono sostanzialmente pochi macroblocchi:
- Scelta del modello di classificatore più adatto al problema
- Addestramento (Training) del classificatore
- Implementazione/Integrazione del classificatore nel sistema che sfrutta la classificazione
- Raffinamento dinamico (dipendente dal modello) del classificatore
Il primo problema da affrontare è appunto quello della scelta di un buon tipo o approccio alla classificazione. Esistono vari metodi in letteratura ma quelli più usati e più affidabili sono sostanzialmente pochi. Tra questi troviamo il metodo statistico basato sulle reti bayesiane, cioè il classificatore ingenuo di Bayes (Naive Bayes), il metodo a vettori di supporto, cioè SVM (Support Vector Machine), le reti neurali e i metodi geometrici che rappresentano i documenti nello spazio e calcolano le aree di apparteneza (e.g. distanza di Hamming).
Ognuno di questi classificatori ha vantaggi e svantaggi che possono incidere sulla scelta. Per esempio il metodo che sfrutta l’approccio statistico bayesiano è sufficientemente semplice da implementare, ha buone prestazioni in termini di calcolo computazionale ed è facilmente raffinabile dinamicamente. Allo stesso tempo però, il termine Naive, viene proprio dal fatto che si tratta di un classificatore ingenuo, che non è in grado, da solo, di associare valori statistici di relazione tra parole che invece, nella conoscenza comune, potrebbero averle (e.g. “Fotosintesi” e “Clorofilliana”). Per portare un altro esempio, le macchine a vettori di supporto, si sono rivelate essere tra le migliori in termini di affidabilità e prestazioni, in grado di modellare anche non linearità con sufficiente semplicità, tuttavia l’implementazione dei metodi di addestramento che prevedono la risoluzione di sistemi lineari o linearizzati è meno semplice rispetto all’esempio precedente in quanto si rivela necessario applicare metodi matematici come simplesso, moltiplicatori di Lagrange, etc. Tra gli altri possibili “difetti” delle SVM troviamo anche il fatto che questo tipo di classificatore non nasce con lo scopo di modellare uno spazio multi-categoria, ma di trovare la massima distanza tra due categorie. In realtà esistono vari approcci (one vs one & one vs many) per rendere anche i classificatori SVM multi-classe.
Supponendo di avere scelto il modello più adatto, il passo successivo è quello della pre-elaborazione (pre-processing) dei dati. Non solo i documenti in ingresso non possono essere elaborati così come sono, ma devono anche subire varie modifiche affinché i risultati della classificazione siano ottimali. Per esempio, il testo che viene elaborato, soprattutto in fase di addestramento del sistema, dovrebbe essere ripulito da tutte le parole che non apportano alcun valore alla categorizzazione del documento, quali articoli, congiunzioni, avverbi, etc. Il fatto che in un documento sia ripetuta la parola “quando” non fa sì che quel testo sia più vicino a un testo di sport o di economia. Un’altra elaborazione che è possibile fare è lo “stemming” ovvero la rimozione degli elementi non significativi in termini di classificazione dalle parole. Se per esempio in una email di spam, il verbo “comprare” è usato molto spesso, questo si può presentare in varie forme “Compra questo prodotto”, “prova a comprare il nostro prodotto”, “hai già comprato il nostro prodotto?”, etc. Se per un essere umano la relazione tra queste parole sembra ovvia, per una macchina “compra” e “comprato” sono due parole differenti finché non venga fornita una informazione di relazione. Lo stemming andrebbe a rimuovere “a” da “compra” e “ato” da “comprato”, lasciando solo l’elemento realmente significativo del verbo comprare. Chiaramente questo tipo di processi è dipendente dalla linuga e introduce un ulteriore livello di difficoltà nell’addestramento di un sistema.
La pre-elaborazione può essere considerata come parte integrante del processo complessivo di addestramento che segue il modello canonico di tutti i sistemi addestrabili (pre-processing-training-check-loop). L’addestramento vero e proprio può avvenire in vari modi e generalmente si divide in supervisionato e non supervisionato. Senza scendere nel dettaglio, prendendo a esempio il classificatore Naive Bayes, l’addestramento consiste nel calcolare le tabelle di probabilità bayesiane tramite le quali sia possibile calcolare il valore di appartenenza di un documento a una certa categoria. L’addestramento, generalmente, viene fatto mediante dati etichettati cioè a partire da un insieme di documenti di cui si conosce la categoria di appartenenza. Questo non dovrebbe stupire, in fondo, se a un bambino si spiega cosa sia un testo di storia, non potrà mai riconoscerne uno se prima non sa cosa sia la storia stessa. Per le macchine il principio è più o meno lo stesso.
Particolare attenzione va rivolta alla trasformazione dei dati. Uno dei primi problemi in cui ci si imbatte è la rappresentazione dei dati. Il principio è che le macchine ragionano per numeri e quindi i dati, sebbene siano testo, vanno normalmente trasformati in numeri, vettori, matrici, etc. Un documento viene spesso trasformato in un vettore binario che fa riferimento a un vocabolario. Per esempio, se il vocabolario di riferimento fosse [io, pasta, cane, pallone, carta] e la frase fosse “io mangio la pasta, ma il cane no” il documento sarebbe rappresentato dal vettore binario [1,1,1,0,0]. Alcuni tipi di classificatore permettono di utilizzare delle versioni più complesse di rappresentazione, per esempio quelle che utilizzano valori continui e non binari, derivate dall’analisi TF-IDF (Term Frequency – Inverse Document Frequency). Quest’utlima tecnica è nata principalmente per calcolare la rilevanza di una certa parola all’interno di un contesto che può essere un singolo documento o un insieme di documenti e ha trovato larga applicazione nei motori di ricerca e negli algoritmi keyword-based.
Una volta addestrato e verificato il sistema, il passo successivo è quello di integrare il classificatore con sistemi che ne devono sfruttare le funzionalità e possibilmente devono essere in grado di fornire ulteriori dati per il raffinamento della classificazione. Un esempio è proprio “SpamBayes” che a ogni mail arrivata, determina mediante il comportamento dell’utente (cancellazione, segnalazione esplicita di spam, lettura e archiviazione) se il campione in oggetto va utilizzato o meno per raffinare il classificatore.
In conclusione, la classificazione documentale è un problema complesso che dipende da moltissimi fattori; uno su tutti è l’insieme dei documenti di addestramento che dovrebbe essere pulito, robusto e completo. Le applicazioni della classificazione documentale sono molteplici e possono rendere molto più efficienti e funzionali vari compiti attualmente, generalmente svolti “a mano”. Alcuni esempi possono proprio essere la classificazione di spam per le caselle e-mail (spam filter), il raggruppamento di documenti per la ricerca veloce (fast search), il reperimento di informazioni chiave da grossi gruppi di documenti (information retrieval), etc. Tuttavia l’utilizzo dei classificatori non finisce qui. In realtà la matematica applicata ai classificatori è la stessa che tratta anche dati differenti per cui è possibile (come già avviene) pensare di trasformare anche altri dati nelle forme classificabili. Basandosi su questo approccio è possibile pensare anche a sistemi esperti che siano in grado di selezionare dei sintomi e effettuare una prima diagnosi dei pazienti… “Sistemi esperti”… sembrano una cosa futuristica e invece si tratta di cose che esistono già da ben più di 20 anni e che hanno largamente fatto parlare di loro in termini di fattibilità, applicabilità ed etica… ma i tempi e i mezzi a nostra disposizione oggi sono fortemente cambiati.
Lo scopo di questo articolo era quello di scendere maggiormente nel dettaglio in una delle branche presentate con il precedente articolo introduttivo sulla NLP e di presentare alcune parole chiave, come per esempio Naive Bayes, che in futuro verranno approfondite. Nel frattempo spero che questa breve e veloce overview sia stata utile a chi, anche non informatico, si avvicina con interesse a quest’area di studio e ricerca.
Tags: bayes, classificazione, computer, documentale, informatica, ingegneria, intelligenza artificiale, language, linguistica, machines, naive, natural, nlp, processing, science, support, tf-idf, vector Pubblicato in Computer Science | 2 Commenti »
16 gennaio 2010 - 1:09 by immortal_bard
«Nonostante il freddo, vi piace far tardi la sera, mia signora Karina». Zarghen sbucò dall’ombra della porta che la donna aveva appena chiuso.
Karina sobbalzò, appoggiando le spalle al muro e portandosi istintivamente una mano al petto. Si avvicinò alla luce di un lucernario appeso alla parete del corridoio e sorrise facendo un inchino.
«Adempio solo ai doveri del culto a cui credo, e non c’è ora migliore della notte per pregare all’altare di Kyrion, comandante Zarghen. Noto che invece a voi piace apparire all’improvviso alle donne che sono ospiti di questo palazzo». Le ultime parole della donna risuonarono di una leggera ironia.
«Le donne della corte di Leerat sono molto coraggiose a quanto vedo. Girano la notte senza temere nulla. Non penserei mai che la mia presenza, seppur improvvisa, possa spaventarvi». Zarghen si mostrò sicuro e sorridente.
«Mi è stato riferito che Raerem è una delle città più sicure delle terre del nord. In alcuni luoghi si dice addirittura che si potrebbero mandare i bambini a giocare da soli al chiaro di luna. Ma ciò non significa che io abbia più coraggio di qualsiasi altra donna di qualunque altro regno».
Le lusinghe velate della donna sembrarono spostare l’attenzione del comandante della guardia di Raerem su altri argomenti. Zarghen rimase in silenzio per qualche istante, poi fece un passo verso la luce. Karina indietreggiò impercettibilmente.
«Vi auguro una buona notte, mia signora». L’inchino fu elegante e aggraziato. Zarghen svanì senza aggiungere altro lasciando la donna da sola.
La contessa di Leerat attese qualche istante, fintanto che i passi del comandante della guardia cittadina di Raerem non si fossero tramutati in un leggerissimo suono, poi si mosse verso le scale, raggiunse la sua stanza e si chiuse dentro. Si accorse che il cuore le batteva nel petto come se avesse visto un drago. Corse alla finestra e osservò la luna. Dall’alto della torre che la ospitava all’interno del palazzo reale di Raerem, Karina ebbe modo di rilassarsi dalla tensione della giornata e dall’ultimo incontro. Si lasciò sprofondare nel morbido materasso di piume e ancora vestita chiuse gli occhi. Le sue labbra si allargarono in un sorriso che sorpresero persino se stessa. L’emozione e l’euforia per essere riuscita a rispondere con calma a Zarghen la stava sollevando, ma si rese conto che il sorriso era dovuto più al pensiero dell’incontro precedente al suo ritorno al palazzo: senza volerlo stava pensando all’elfo. Rimase con gli occhi chiusi per qualche istante, poi li aprì, si spogliò rapidamente e si infilò sotto le coperte. E la notte la avvolse.
***
Le palpebre si aprirono nel buio. Aveva chiuso la finestra e coperto ogni spiraglio con le tende. Il buio lo aiutava a rilassarsi e a abbandonarsi nel vuoto mentale. Eoghan percepì che era giunto il mattino e che il suo riposo era terminato. Si alzò con un movimento perfettamente coordinato, come se si fosse alzato dalle brande dell’esercito. Abitudine, pensò tra sé con un accenno di rammarico. Scostò lentamente le tende lasciando che la luce filtrasse. La sua vista sensibile si inondò immediatamente dei colori della stanza. Aprì la finestra e lasciò che l’aria entrasse. D’improvviso sentì un tuffo al cuore, si nascose dietro l’anta della finestra appena aperta e inspirò profondamente. Rimase stupito di aver fatto quel gesto. Scosse la testa e si affacciò lentamente, sbirciando dall’alto della stanza al primo piano della locanda, verso la strada. La donna che ogni giorno incontrava era lì, vicino al mercato, accompagnata da due soldati e sorridente stava acquistando della frutta fresca. I suoi capelli neri, avvolti in un velo, risaltavano nel bianco della neve ancora fresca della notte. La ragazza si voltò nella sua direzione, ma non lo notò. Sebbene il gelo raggiungesse ancora con facilità le ossa, il sole risplendeva nel cielo del mattino.
Eoghan scosse di nuovo la testa e si avvicinò alla porta. Ascoltò con attenzione che non ci fossero rumori sospetti e la aprì con cautela. Nessuno girava per il corridoio. Il silenzio della stanza si rompeva non appena l’elfo puntava l’orecchio verso le scale che conducevano alla sala comune. Con passo discreto, Eoghan si diresse verso il piano inferiore.
«Buongiorno». Saifel alzò la mano e salutò con un sorriso luminoso. Al suo tavolo era seduta anche la donna con cui Eoghan l’aveva visto parlare la sera precedente. Si avvicinò al tavolo.
«Immagino che tu ti sia divertito questa notte». Nelle parole del guerriero c’era un velato sarcasmo e un meno velato senso di sdegno.
«Suvvia, non è certo divertimento come lo intendi tu. Non offendere questa donna prima di averci parlato. Ti assicuro che ha tante cose interessanti da dire. Stanotte abbiamo avuto una lunga conversazione». Saifel sfiorò la mano della ragazza la quale accennò un sorriso imbarazzato.
«Adesso si dice “lunga conversazione”? Non so perché ma da un certo punto di vista quasi me l’aspettavo». Eoghan si allontanò dal tavolo e andò verso l’oste. «Una tazza di latte e un po’ di pane, per favore», si sedette al bancone e poi si voltò. «Dobbiamo andare alla miniera. Ancora qualche minuto e saremo in ritardo».
Saifel si alzò e accompagnò la donna verso il bancone, affiancandosi a Eoghan. «Questa è Janira, una donna simpatica e di classe. Una vera artista e non c’è nulla di male nel stringere qualche amicizia». Il bardo cercò di sedare le sensazioni sgradevoli che trasudavano dal compagno.
«Va bene, piacere». Eoghan fece un rapido cenno e si concentrò sulla sua colazione. Si rese conto che a dargli fastidio non era tanto il fatto che Saifel si fosse, ai suoi occhi, lasciato andare con una donna, ma quanto che questo gli riportasse alla mente la sera prima e l’immagine di quella donna che gli stava sempre di più catturando i pensieri. Chi erano quei soldati? Perché era scortata? Eoghan si trovò sovrappensiero in pochi istanti, finché Saifel non lo scosse.
«Eoghan. Sbrigati a finire, altrimenti arriveremo davvero in ritardo».
Janira non era più con loro e lo sguardo di Saifel era diverso. Eoghan sentì nel calore della mano del bardo che gli si poggiava sulla spalla, una strana energia, come un calore che lo calmò e lo riportò alla realtà. Ingurgitò rapidamente l’ultimo pezzo di pane che gli era rimasto, buttò giù la mezza tazza di latte, si asciugò la bocca con il dorso della mano e si avviò verso l’uscita. Saifel fece un cenno di intesa all’oste, quindi seguì il compagno.
***
«Sei davvero intenzionato a giacere con quella donna?»
«No». La risposta di Saifel giunse a mala pena all’orecchio di Eoghan, tra una picconata e l’altra.
«Allora perché le hai dato corda? Ho sentito che avete dormito insieme ieri. Eravate a meno di due stanze dalla nostra. Non dirmi che non hai interesse in lei». Eoghan fece una brevissima pausa anche per rifiatare.
«Janira è un’artista, ed è anche molto brava. Le sue donne sono tutte tornate ai loro alloggi e lei si è trattenuta a raccontarmi un po’ delle loro esperienze e qualcosa dei loro spettacoli». Saifel aveva imparato a parlare senza commettere troppi errori e senza fare pause, così da non creare lamentele da parte di Capo catena o dei suoi sottoposti. «Non c’è niente tra me e lei. Ci siamo solo fatti quattro chiacchiere».
«Solo un’amica dunque». Eoghan vagliò quell’ipotesi come se volesse convincersi che un elfo poteva essere amico di una donna senza alcun problema. «Solo un’amica» ripeté.
La giornata si prolungò più del solito in miniera. Il canarino di Tod Rivas era morto. In molti dicevano che lo tenesse in miniera come allarme in caso di esalazioni pericolose, tuttavia spesso pareva che l’animale fosse particolarmente caro a Capo catena. L’uccellino era morto di vecchiaia e per il gelo prima di entrare in miniera e Tod aveva fatto iniziare i lavori della giornata con due ore di ritardo per trovare un rimpiazzo. La velocità e la rudezza con cui l’uomo aveva sostituito l’animale sembrava confutare l’idea che avesse sentimenti verso di lui, tuttavia il suo silenzio e gli ordini urlati con rabbia parevano confermarla. Quello che tutti compresero fu che sarebbero usciti con il buio quel giorno e nessuno avrebbe fatto eccezione.
I due elfi andarono a riscuotere la loro paga giornaliera. Furono gli unici a notare nel buio che gli occhi di Tod erano lucidi. Il gelo, l’umidità o forse ancora il pensiero per Picky, il canarino. Nessuno di due osò fiatare. Presero i soldi e come ogni sera si recarono alla locanda, passando prima per il tempio.
Eoghan camminava davanti a Saifel, come se avesse fretta. In cuor suo sentiva una strana sensazione, come se volesse incontrare la donna della notte passata e contemporaneamente desiderasse che fosse già andata via dal tempio. Saifel lo seguì al passo spedito.
Il bardo teneva lo sguardo basso e il capo avvolto nel cappuccio per difendersi dal freddo e per poco non travolse il guerriero che si era fermato repentinamente. La donna stava uscendo dal tempio e i due si erano trovati faccia a faccia proprio sulla soglia dell’ingresso del tempio.
«Pensavo che non venissi oggi, Eoghan di Radebaran». Le parole della donna lo lasciarono basito. Non solo si ricordava il suo nome, ma era stata addirittura lei a rivolgergli la parola per prima.
Saifel indietreggiò e si tolse il cappuccio. Si accorse di chi aveva davanti, sorrise, fece un piccolo inchino, salutò brevemente e passò oltre, entrando nel tempio e lasciando Eoghan solo con la donna.
«Non so ancora il tuo nome». L’elfo si spostò di un passo, lasciandole lo spazio nel caso fosse voluta uscire.
«Karina», disse solamente.
I loro occhi si incrociarono e si scrutarono nel profondo. Per entrambi la situazione era un misto di imbarazzo e strana eccitazione. Era come se tutto quell’incontrarsi e ignorarsi, il gioco di sguardi che si era venuto a creare e il mistero che li avvolgeva, avesse creato un qualche tipo di legame che entrambi sentivano di voler seguire.
«Non sei una contadina, vero?» Il tono di Eoghan rimase gentile, pacato e attento che nessuno udisse.
«No, vengo da Leerat e sono in visita qui da qualche mese».
«Anche io sono qui da poco più di un mese». Eoghan non finì la frase.
«Lo so», Karina lo interruppe, «me lo hai detto la scorsa sera».
Eoghan rimase in silenzio per qualche istante. Non sapeva cosa dire e il vortice di imbarazzo e paura di dire qualcosa di sbagliato non lo aiutava. Dal canto suo, Karina, non sembrava essere molto propositiva sebbene sembrasse gradire la compagnia dell’elfo.
«Sto andando», esitò un attimo, «nelle mie stanze». Seguì una piccola pausa. «Mi accompagneresti?»
Eoghan sembrò illuminarsi in volto e cercare le parole giuste per rispondere, ma Karina lo interruppe ancora una volta. «Oh, scusami, non dovrei allontanarti dalla tua preghiera quotidiana. Fa come se non avessi detto nulla». La donna accennò ad allontanarsi ma Eoghan la fermò alzando i palmi delle mani. Sentì un brivido lungo la schiena nel fare quel gesto ma cercò un po’ di audacia.
«Nessun problema. Kyrion non si turberà se ritardo le mie invocazioni per accompagnarti e proteggerti fino alla tua destinazione». Il sorriso gentile e sincero che seguì la risposta dell’elfo trasparì più dagli occhi che dalla bocca. Karina lo ricambiò e gli fece un cenno perché le facesse strada.
Eoghan ignorò la locanda quando ci passarono davanti. Karina domandò e ascoltò. Il suo interesse ricadde particolarmente sulla storia che aveva il guerriero condotto a Raerem. Non disse nulla di sé. Eoghan invece raccontò della guerra, dell’incontro con Saifel, della prigionia e del lavoro in miniera. In pochissimo si trovarono di fronte al palazzo dove Eoghan aveva avuto il suo incontro con Ibraham. Rimase turbato per un attimo.
«Grazie davvero per la tua compagnia. Come ti ho detto non sono di questa città e sono solo in visita. Mi ha fatto molto piacere parlare con te», esitò ancora una volta, poi completò la frase facendo arrossire l’elfo sotto il cappuccio. «Finalmente».
«Potrei accompagnarti tutte le sere se lo desideri. Anche se quando tu esci dal tempio io non ho ancora avuto modo di togliermi la sporcizia della miniera di dosso».
«Sarebbe magnifico». Karina rispose con più entusiasmo di quanto non ne volesse dimostrare.
«Allora a domani», si affrettò ad aggiungere, poi si diresse verso una piccola porta alla base di una torre.
Eoghan la osservò estrarre una catenella con legata una chiave da una tasca della sua veste, aprire la porta e richiuderla lentamente dietro di sé. Rimase immobile per qualche momento. Poi si rese conto che tutto sommato non aveva saputo praticamente nulla di lei e che aveva parlato per tutto il tragitto. Che stupido! L’avrò annoiata… mi ha detto quelle cose solo per cortesia, pensò. Si voltò e si avviò verso il tempio. Era sicuro che avrebbe incontrato Saifel a metà strada. Appena due passi dopo essersi incamminato, il suo turbamento si perse in un pensiero molto più positivo: aveva parlato liberamente e si era fidato di una donna. Anche Eoghan, infine, accennò un sorriso. E alle spalle dell’elfo, dietro gli spessi vetri di una finestra alta nella torre, una tenda ondeggiò, priva di ogni sorriso dietro di essa.
Tags: capo catena, elfo, Eoghan, fantasy, karina, Leerat, racconto, Raerem, romanzo, Saifel, tod rivas Pubblicato in Breve come un Respiro, Racconti | 3 Commenti »
11 gennaio 2010 - 1:42 by Charlenger
L’elaborazione del linguaggio naturale, in inglese abbreviata con la sigla NLP (Natural Language Processing), è una branca dell’intelligenza artificiale che abbraccia tutte quelle aree all’interno delle quali si ricercano e sviluppano algoritmi per l’estrazione automatica di informazioni a mezzo di calcolatori elettronici a partire da una qualunque forma di linguaggio naturale.
Un linguaggio naturale può essere una forma scritta, verbale o anche gestuale. Qualunque tipo di linguaggio che abbia una struttura definita da regole e che venga “naturalmente” utilizzato per comunicare può quindi essere considerato un linguaggio naturale.
Tutti i problemi affrontati all’interno della NLP possono essere considerati come parte del più generale problema della comprensione del linguaggio naturale che è IA (Intelligenza Artificiale) completo in quanto presuppongono che la macchina sia in grado di sfruttare complesse capacità di logica, deduzione, apprendimento e così via, al fine di avere una conoscenza, per l’appunto, completa (o per lo meno quanto più completa possibile) del mondo in cui essa opera.
Alcune delle aree che fanno capo alla NLP sono le seguenti:
- Riconoscimento Automatico del Parlato (ASR – Automatic Speech Recognition): area che si occupa di estrarre informazioni da informazioni verbali come l’identificazione del parlante, l’identificazione di particolari vocaboli all’interno di una frase, il riconoscimento completo di frasi e così via;
- Classificazione Documentale (DC – Document Classfication): area che si occupa di analizzare testi scritti e di catalogarli o etichettarli secondo particolari categorie, siano esse binarie o multiple, estraendo dai vari documenti informazioni come la rilevanza delle varie parole, somiglianza tra campioni e così via;
- Analisi emozionale (SA – Sentiment Analysis): area che si occupa di estrarre informazioni legate ai sentimenti espressi all’interno di un testo scritto, il parere dell’autore e le possibili relazioni tra due o più documenti in termini di vicinanza a una data opinione;
- Supporto Grammaticale (GS – Grammatical Support): area che si occupa di analizzare testi scritti e di estrarre informazioni legate alla struttura grammaticale del testo in relazione alla lingua in cui è scritto o in relazione a leggi prestabilite da altri documenti;
- Sintesi Vocale (SS – Speech Synthesys): area che si occupa di creare suoni a partire da testi scritti che siano coerenti con le regole fonetiche della lingua da sintetizzare, sulla base di quanto il testo voglia esprimere;
- Interpretazione dei Gesti (GI – Gesture Interpretation): area che si occupa di associare a dei gesti visuali un significato in termini di testo o vocabolo;
Come è facile immaginare, ciascuno di queste aree ha grandi applicazioni sia al livello puro nel mondo accademico e della ricerca, che nel mondo commerciale. Tuttavia spesso non è semplice immaginare quali difficoltà stiano dietro allo sviluppo di tecnologie che si occupino di risolvere problemi che all’apparenza sono piccoli e che rappresentano anche solo una piccola parte di un sotto-problema della comprensione del linguaggio naturale.
Per fare un esempio, non molto spesso ci si ferma a riflettere su quanto complesso sia il nostro sistema di comunicazione. Quando ci capita di parlare con qualcuno in mezzo a una folla, siamo attorniati da migliaia di rumori e voci, dati che il nostro cervello scarta e non traduce in informazioni se non nello stretto necessario. Siamo tuttavia in grado di focalizzarci su ciò che il nostro interlocutore ci sta dicendo, comprenderlo ed elaborare una risposta. Sembra semplice tuttavia per una macchina non lo è. Questo è dovuto al fatto che la comunicazione umana non si basa, come è facile pensare, solo sull’elemento verbale. Essa si basa su moltissimi altri elementi contestuali come i gesti, la conoscenza pregressa, la cultura e così via. Quando crediamo di avere sentito una parola e gli abbiamo associato un significato, non è detto che questo sia avvenuto attraverso la mera elaborazione del suono.
Un celebre esempio presentato da Rabiner, uno dei luminari nel campo del riconoscimento automatio del parlato, mostra come una macchina sia impossibilitata a comprendere una semplice espressione che un umano darebbe per scontata:
“I want an ice cream” – io voglio un gelato
Facile da capire no?
“I want an I scream” – io voglio un io grido
ovviamente non ha significato… per noi. Tuttavia è interessante riflettere sul fatto che una macchina non sa a priori che “want” e “scream” siano dei verbi e che una frase come “I want an …” probabilmente ha bisogno di un complemento oggetto. Ma leggendo la frase ad alta voce con tono naturale ci accorgeremmo che la differenza fonetica è praticamente impercettibile tra le due frasi.
Il cervello umano è un sistema molto complesso e dal quale siamo ancora ben lontani dal crearne uno artificiale in grado di simulare le funzioni di uno reale. La comprensione del linguaggio naturale è un processo che nella nostra mente attiva una serie di processi di analisi sintattica e semantica, lessicale e grammaticale, che sono corredati da filtri percettivi che il nostro cervello impara a usare, come l’ignorare il rumore circostante, il ricostruire frasi o parole incomplete sulla base della “probabilità” che quel suono in quel contesto significasse qualcosa in particolare.
Dal momento che questa è una breve introduzione voglio rifare l’elenco precedente esponendo una singola possibile applicazione di questo tipo di sistemi a livello avanzato e una a livello quotidiano:
- ASR: interfaccia di comando vocale per sistemi complessi (e.g. navigazione in auto, aereo, etc) | sistema di videoscrittura digitale basata sul dettato
- DC: classificazione automatica di testi e frasi per l’interazione con chatbot di supporto online | classificazione di pagine web orientata all’ottimizzazione delle prestazioni dei motori di ricerca
- SA: analisi automatica della reputazione di un’entità sul web | classificazione di opinioni binarie su documenti con struttura specifica
- GS: creazione di testi alternativi e sommari a partire da testi più complessi | correttore sintattico per sistemi di videoscrittura
- SS: creazione di voci realistiche per l’interazione di chatbot di supporto telefonico | sintesi di annunci vocali automatici per stazioni (aeroportuali, ferroviarie, etc)
- GI: interfaccia di comando gestuale per sistemi a scarsa propagazione della voce (ambienti spaziali, subacquei, etc) | sistema di gaming entertainment basato sui movimenti
Ciascuna di queste aree presenta molti agganci e sbocchi interessanti sotto vari punti di vista e rappresenta, nel suo piccolo, una frontiera innovativa sia dal punto di vista della ricerca scientifica, sia dal punto di vista dell’evoluzione commerciale dei prodotti che usiamo quotidianamente.
Per concludere voglio introdurre un progetto attualmente in sviluppo su questo sito web. Di recente ho aggiornato una libreria che era orientata alla classificazione documentale. Questa libreria ha cambiato nome e, sebbene possa sembrare troppo generalizzato, adesso è NLP4J, cioè una libreria che vuole accrescersi cercando di fornire strumenti sempre più completi e general purpose per i temi di NLP. Ovviamente la libreria è, in tema con il progetto JOProject, open source e in Java.
Al momento NLP4J include solo il support per la classificazione documentale ma verrà presto aggiornata sia con i contributi di chiunque volesse mettere alla prova le proprie conoscenze all’interno di questo tema e instaurare una collaborazione, sia con quello che personalmente aggiungerò strada facendo. Una presentazione più dettagliata del progetto seguirà prossimanete. Nel frattempo potete visualizzare lo stato del progetto, scaricare i files relativi a sorgenti, binari e documentazione da queste pagine: pagina del progetto, forum.
Tags: artificiale, asr, classificazione, computer, documentale, elaborazione, informatica, ingegneria, intelligenza, language, linguaggio, linguistica, natural, naturale, nlp, nlp4j, processing, science Pubblicato in Computer Science | 2 Commenti »
7 gennaio 2010 - 7:12 by immortal_bard
Quando la porta della locanda si aprì, Eoghan e Saifel videro una scena che li lasciò stupiti. Quattro donne molto avvenenti erano in locanda, sedute al bancone e a mala pena riuscivano a respingere le attenzioni degli avventori. Un urlo spinse i due elfi a entrare e a chiudere la porta dalla quale il gelo stava iniziando a diffondersi nella sala comune.
Saifel si avvicinò al bancone, e come ogni sera si apprestò a prendere il liuto che era stato del ragazzo che poco tempo prima era stato improvvisato cantastorie dal locandiere. Immediatamente una delle ragazze lo guardò e gli sorrise. Un elfo non passava facilmente inosservato, specie in luoghi come quello.
«Cosa ci fa un elfo in un luogo come questo?»
La ragazza scese dallo sgabello e si avvicinò. Aveva i capelli rossi e le labbra umettate con un velo di rossetto quasi impercettibile. Le sue guance erano ben curate e i suoi abiti stonavano con il clima della locanda. Lo fissò con i suoi occhi azzurri.
«Sono qui come cantastorie, e in realtà alloggio nelle stanze al piano di sopra, mia signora» rispose cordialmente l’elfo. «Il mio nome è Saifel e penso di poterti rivolgere la stessa domanda».
«Io sono Janira» rispose la ragazza.
«Intendevo dire che potrei chiederti perché una donna come te si trova in un luogo simile». L’elfo sorrise gentilmente e con la coda dell’occhio scrutò la donna.
Eoghan intanto si sedette al suo solito posto all’angolo del bancone. Tra lui e le altre tre donne c’erano una manciata di uomini già mezzi ubriachi.
«Oh, sono qui», la ragazza si portò una mano davanti alla bocca e cominciò a ridere garbatamente, si guardò intorno e poi continuò. «Sono qui con il mio gruppo di danzatrici. Eravamo in viaggio verso Hanturiam ma abbiamo avuto qualche problema e così ci siamo dovute dirigere verso la città più vicina», le parole le uscirono di bocca veloci e particolarmente allegre, «Raerem per l’appunto». Saifel intuì che c’era qualcosa di strano.
Dalle scale della locanda scesero altre ragazze, tutte quante vestite con gonne lunghe e larghe, corpetti attillati e truccate come se dovessero esibirsi. Il locandiere le vide scendere e corse dall’elfo.
«Suonerai qualcosa per noi? Hanno promesso di danzare per i miei clienti. Se lo farai stasera tutto il ricavato del palco è tuo». L’oste sorrise e scosse la testa come se stesse proponendo a Saifel l’affare dell’anno.
Saifel era particolarmente stanco e preso dai pensieri che gli erano maturati in testa negli ultimi giorni. Anche Eoghan sembrò disturbato dal fracasso che si era generato in locanda a seguito della presenza delle donne. Al tavolo dei metalli l’unico disinteressato e concentrato sulla sua birra era Kurt.
«D’accordo», disse sospirando l’elfo. La donna di fronte a lui balzò immediatamente giù dal piano rialzato e corse sul palco, seguita dalle altre ragazze. Il rumore della locanda si placò solo per un istante in seguito alla sorpresa. Non appena Saifel pizzicò le corde del liuto, voci, canti e battere di mani si mischiarono in una cacofonica melodia che fece comunque danzare le donne.
Al primo ballo parteciparono tutte, dal secondo in poi le ragazze cominciarono a fare a turno, andando di tanto in tanto al bancone o ai tavoli a riscuotere monete, complimenti e qualche pacca sul sedere.
Una ragazza, una tra le più carine, si avvicinò a Eoghan e gli porse un calice di vino, poi si sedette sullo sgabello vicino al suo e gli sorrise. Eoghan la ignorò.
«Il tuo amico è bravo a suonare. Tu cosa sai fare di bello?»
L’elfo alzò lo sguardo per un attimo e rimase torvo. Era palesemente infastidito dal trambusto e non sfiorò neppure il bicchiere che la donna gli aveva offerto.
«Sei un solitario vero? Ma sei anche molto bello». L’elfo alzò nuovamente lo sguardo, stavolta un po’ a disagio. La donna si alzò in piedi e gli girò dietro le spalle, appoggiandogli i palmi sulla schiena e accennando un massaggio.
«Sei veramente teso e nervoso. Mi piacerebbe poter fare qualcosa per scioglierti».
«Lasciami stare». Il tono dell’elfo fu brusco ma pacato. La donna rimase inizialmente gelata, poi si scosse e riprese a massaggiarlo più vigorosamente.
«Dovresti essere più rilassato. Tutta questa tensione ti farà crepare». La donna scoppiò in una risata fragorosa ma non volgare. Un’altra ragazza si unì a lei.
«Cosa fate di bello? State preparando la serata? Posso partecipare?». La nuova arrivata fu ancora più esplicita ed esuberante rispetto all’altra. Anche lei era molto carina, ed Eoghan si trovò ad ammettere che c’era un filo di tentazione in quella surreale situazione.
«Suvvia, tra poco il locandiere chiuderà la sala comune e noi non ci siamo ancora divertite abbastanza», la prima divenne più provocante. La seconda si appoggiò con la schiena sul bancone e si sistemò il seno prosperoso davanti a Eoghan, agitando i capelli da sinistra a destra con un movimento ampio ma aggraziato della testa.
«Lasciatemi in pace», disse di nuovo con tono cupo. Eoghan prese due monete e le lasciò sul bancone per pagare l’idromele che aveva a mala pena sorseggiato e si diresse fuori dalla locanda. Sapeva che fuori il gelo sarebbe stato tagliente, ma era anche sicuro che le donne ormai mezze nude e accalorate dall’ambiente della sala comune non lo avrebbero seguito.
L’elfo chiuse la porte dietro di sé. Sospirò e si strinse nel mantello. La bufera del pomeriggio si era placata, ma la neve continuava a scendere ininterrotta, seppur leggera e poco fastidiosa. Ogni tanto qualche gelida brezza lo faceva drizzare sulla schiena. All’improvviso un rumore attirò la sua attenzione. Socchiuse gli occhi e guardò nella direzione del tempio, distante circa trecento passi dalla locanda. Vide l’inconfondibile manto bianco della donna che incontrava spesso sotto il porticato di Kyrion.
«Stavolta è davvero troppo tardi», sussurrò sospettoso. Con passo rapido raggiunse la strada. Vide la donna e attirò la sua attenzione con un cenno della mano. Sentì l’imbarazzo crescergli. Ma cosa mi è saltato in mente, pensò tra sé cercando delle parole intelligenti da dire.
«Salve». La donna accennò un saluto e si guardò attorno preoccupata. Una mano le corse sotto il mantello vicino alla cintura. Eoghan lo notò.
«Salve a te, mia signora. Perdonami ma io», deglutì. «Ecco ho notato che forse vi sarebbe potuto essere utile un mantello in più data la bufera». L’elfo si pentì immediatamente di quello che aveva detto, ma per cercare di essere coerente, si tolse il mantello e lo porse verso la donna. Sentì il gelo entrargli nelle ossa.
«Oh… no grazie, non è necessario», la donna cercò subito di dissuadere l’elfo. Il suo tono era meno preoccupato di prima, ma sembrava ancora spaventata, come se fosse stata colta di sorpresa.
«Io sono Eoghan dei boschi di Radebaran, a Raerem per errore e accettato come cittadino di classe inferiore». Ancora una volta il guerriero si pentì subito di quello che aveva detto, ma non riusciva a essere lucido, sia per l’emozione mai provata, sia per il freddo che gli stava facendo scendere delle lacrime simili a gocce di ghiaccio.
«Ti prego rimettiti il mantello», disse la donna quasi implorante. Eoghan eseguì.
«Non ti sto seguendo… è che ti ho vista spesso al tempio e io, ecco…». Eoghan cercò di trovare un argomento convincente ma si rese conto di non sapere neppure il perché l’avesse fermata. Divenne rosso per l’imbarazzo ma anche per la rabbia verso se stesso. Si rese conto che Saifel aveva ragione.
«Certo», annuì la ragazza. «Hai detto che sei uno straniero?»
«Si», rispose subito Eoghan. Un fiocco di neve gli si poggiò sulle labbra e provò di nuovo la sensazione che aveva provato davanti al tempio.
«Io sto andando a dormire, penso che passerò davanti alla locanda. Tu sei diretto lì?»
Eoghan intuì che la ragazza non era a suo agio e che stava tentando di allontanarsi da quel posto. Forse non voleva essere scoperta, forse nasconde qualcosa, pensò. «Si, posso accompagnarti? Lì è anche più riparato dal freddo». Ancora una volta l’elfo ringraziò il buio che insieme al cappuccio nascondeva il rossore delle sue guance. Cosa mi salta in mente? Devo offrire a una nobile una birra in una taverna puzzolente? Eoghan si sperò che la donna non pensasse che volesse trattenerla.
«No, grazie, ma non posso fermarmi in locanda». Le parole della donna lo fecero raggelare più della neve.
I due arrivarono davanti alla locanda. Il tetto spiovente creava una piccola nicchia che riparava dal vento e il tepore del camino sembrava fuoriuscire dalle pareti.
«Così proseguirai da sola a quest’ora della sera. Non è pericoloso? Non sono qui da molto ma non penso che esistano città che siano così sicure la sera nei vicoli bui, per quanto una donna o un uomo sappia badare a se stesso».
«Forse lo è, ma», la donna esitò un istante, «devo».
«Sarei lieto di accompagnarti, se me lo consenti». Eoghan assunse un tono gentile. Cercò di vincere la sensazione di essere solo un minatore il cui cuore chiedeva asilo tra le braccia di un’aristocratica. La donna esitò. I suoi occhi neri lo rapirono di nuovo. Poi la porta della locanda si aprì.
«La sala comune è chiusa. Stanno andando tutti via. Su dai, io e le mie due amiche siamo pronte. Vieni? Ti aspettiamo nella tua stanza». La ragazza che gli aveva offerto il calice di vino si affacciò mezza nuda dalla porta della locanda. Eoghan rimase spiazzato e ammutolito. Si voltò verso la donna cercando di giustificarsi con lo sguardo.
«Devo andare». La donna fece un leggero inchino e si allontanò di gran passo senza aspettare la risposta dell’elfo. Eoghan rimase inebetito, guardandola mentre si allontanava.
«Allora? Entri?»
Eoghan si voltò con sguardo spento. Rientrò in locanda. Due ragazze gli tolsero il mantello e cominciarono a riscaldarlo massaggiandogli il petto e la schiena. Gli avventori della locanda si stavano allontanando, e il locandiere era intento a contare il denaro guadagnato con lo spettacolo delle donne. Saifel era seduto al bancone e stava parlando con quella che sembrava essere la prima ballerina del gruppo. Altre due stavano riempiendo il compagno elfo delle stesse attenzioni con cui il guerriero era stato accolto.
Con passo sicuro, Eoghan afferrò il mantello togliendolo dalle mani della ballerina e salì rapidamente al piano di sopra. Le ragazze lo seguirono, convinte di essere riuscite nel loro intento, ma rimasero di pietra quando l’elfo chiuse a chiave la porta della stanza dietro di sé.
Saifel spostò impercettibilmente lo sguardo verso le scale quando vide ridiscendere le due ragazze. Janira lo stava adulando e non si rese neppure conto che l’elfo non era pienamente immerso nelle sue parole come pensava.
«Bevi un altro calice».
«Non mi piace bere troppo», rispose l’elfo.
«Ma stasera dobbiamo festeggiare la grande serata», giustificò la donna.
«Bevo solo se anche tu bevi con me».
La donna esitò, poi afferrò la bottiglia e versò due calici pieni di vino.
L’oste non si curò che i due stessero finendo la bottiglia che neppure avevano pagato. Era troppo occupato a contare le monete. Ormai nella sala comune c’erano solo lui, le ragazze stanche e sudate, Saifel e Janira.
L’elfo e la donna tracannarono il vino d’un fiato in maniera poco aggraziata per entrambi. La donna si asciugò la bocca con il dorso della mano e scoppiò a ridere, poi portò le braccia attorno all’elfo e lo baciò sulla guancia. Poi si avvicinò all’orecchio e gli sussurrò con tono sensuale.
Saifel non capì neanche una parola di quello che aveva detto ma ne intuì le intenzioni. Appoggiò il liuto dietro il bancone al solito posto, fece un passo su per le scale e con un sorriso malizioso fece un cenno a Janira. Subito altre due ragazze la seguirono ma il bardo le fermò con un gesto.
«Solo una per volta». L’elfo sorrise ancora più malizioso. I due giunsero davanti alla stanza ma la porta era chiusa a chiave. Eoghan si era rintanato lì.
«Andiamo nella mia stanza». Janira sussurrò ancora a Saifel, gli prese la mano e lo trascinò più avanti nel corridoio. Giunsero davanti a una porta più piccola ma quando la aprirono la stanza si rivelò molto più pulita e ordinata di quella che l’oste aveva dato ai due elfi.
«Chiudi la porta».
Saifel chiuse la porta e diede un giro di chiave, facendo sparire come in un gioco di prestigio la chiave.
«Vuoi giocare con me? Non vuoi che fugga?» Janira sorrise e cominciò a spogliarsi. Saifel sorrise e infilò una mano in tasca. Estrasse due sacchettini di stoffa pieni di erbe dal profumo che gli risultò inconfondibile. Alla vista delle piccole borsette, Janira si tastò le tasche e si rese conto che erano vuote.
«Se sono nelle mie mani, evidentemente non sono più nelle tue tasche». Saifel perse il sorriso. «Cosa sono?»
«Sono delle medicine che prendo la mattina». La risposta di Janira fu palesemente improvvisata. Saifel aprì un sacchetto e odorò il contenuto. Poi fece lo stesso con l’altro, sotto lo sguardo immobile della donna.
«Erba del Paradiso ed Essenza del Sole». L’elfo mostrò molta sicurezza. «Tra gli elfi le chiamiamo anche Sonno della mente e Fertilità». La donna indietreggiò di un passo. «Volevi drogarmi e usarmi per avere un figlio?». La domanda dell’elfo non fu posta con aggressività, ma la ragazza sentì un leggero terrore salirle lungo la spina dorsale.
«No, io…», Janira singhiozzò cercando una spiegazione che negasse l’evidenza. Saifel la incalzò.
«Dunque?»
«Non è come pensi. Posso spiegarti tutto». La donna indietreggiò trovandosi spalle al muro. Saifel infilò una mano sotto il mantello, come se volesse prendere qualcosa. Janira emise un gemito terrorizzato e le parole le fuoriuscirono di bocca come un fiume in piena.
«Il comandante delle guardie, Zarghen, ci ha assoldate perché svolgessimo un compito per conto del Magnanimo. Ci ha promesso la libertà e una vita normale in cambio. E denaro anche». Saifel si fermò capì che non era più necessario fingere di essere minaccioso.
«Che compito?»
«Dovevamo sedurvi, rendervi deboli mentalmente e farci dare dei figli da voi, così sarebbero stati mezzi uomini e mezzi elfi. Voleva che foste legati a lui e a Raerem. Non so altro. Ti prego non farmi del male».
Saifel poggiò una mano sulla spalla di Janira. Sentì che tremava. La abbracciò e le carezzò la nuca. «Non ti farò del male». Nonostante la tenesse vicina a sé, l’elfo era all’erta e pronto a reagire, e teneva sotto controllo ogni movimento della ragazza. Janira però scoppiò in un pianto singhiozzante e si lasciò avvolgere.
«Siete servitrici che non erano mai uscite dal suo palazzo, non è così?»
Janira annuì asciugandosi le lacrime sulle mani.
«Questa città non è poi così tranquilla e serena come sembra, vero?»
Ancora una volta Janira confermò i sospetti di Saifel. L’elfo accompagnò la donna sul letto e la fece accomodare, poi si avvicinò alla finestra e rimase a riflettere per qualche istante.
«Che cosa farò adesso?»
La voce di Janira era rotta dal pianto. L’elfo si avvicinò alla donna. Le sollevò il mento con una mano e le sorrise. «Farai esattamente quello che ti ha ordinato il tuo signore».
«Cosa?»
«Vuoi tornare libera?» Saifel la guardò trasmettendole speranza.
«Più di ogni altra cosa».
«Rimarremo chiusi in questa stanza. Riferirai al Magnanimo che io mi sto innamorando di te. Gli dirai che non hai avuto bisogno di droghe e che sei riuscita fare ben più di quello che lui si aspettava. Gli dirai che gli elfi non sono delle creature che si possono sedurre come gli uomini ma che hai trovato il nostro punto debole, e che anche l’altro elfo, Eoghan, cadrà nella tua rete». Janira ascoltò e annuì a ogni parola dell’elfo. Poi calò un attimo di silenzio.
«E dopo cosa faremo?»
«Non lo so ancora ma dobbiamo guadagnare tempo, e io ho bisogno di capire meglio cosa sta succedendo in questa città. Tu puoi aiutarmi e puoi aiutare tutta la gente di Raerem, Janira». Saifel sfiorò la mano della donna che ebbe un fremito. Gli guardò le dita lunghe e affusolate, un po’ rovinate dal lavoro in miniera ma ancora morbide come quelle di un artista. Poi alzò gli occhi e annuì ancora, come se avesse intuito i pensieri dell’elfo.
«Anche le tue compagne dovranno credere che sta riuscendo il piano, ma dovrai fare in modo che soltanto tu e al massimo un’altra continuino a ronzarci intorno. Inizieremo con il fargli credere che noi elfi ci stiamo legando a qualcuno della città e che non vorremo andare via». Saifel tornò alla finestra e continuò a pensare. Poco dopo si voltò e vide che Janira lo stava guardando con un misto di ammirazione e speranza. Il suo sorriso traspariva dagli occhi. Era chiaro che la donna vedesse una via d’uscita nelle parole dell’elfo.
«Adesso dormi, ne hai più bisogno di me». Saifel si avvicinò di nuovo alla donna e la accompagnò sul cuscino. Janira si rese conto allora di essere quasi nuda ed ebbe un sussulto di vergogna. La parte che stava recitando era finita e con essa anche la spregiudicatezza che si era inventata. Si nascose nelle coperte e rimase immobile e in silenzio. Saifel spense la candela e si sedette vicino alla finestra. Guardare la luna gli portava sempre consiglio e saggezza. E sapeva che a breve ne avrebbe avuto molto bisogno.
Tags: elfo, Eoghan, ibraham, janira, kalhun, locanda, magnanimo, racconto, romanzo, Saifel Pubblicato in Breve come un Respiro, Racconti | 2 Commenti »
1 gennaio 2010 - 0:00 by Charlenger
Il primo post dell’anno non proporrà nulla di particolare se non l’annuncio della fine della pausa per le vacanze natalizie e la ripresa delle pubblicazioni. Intanto come per Natale vi faccio tanti auguri:
Buon Anno!
Happy New Year!
Feliz Año Nuevo!
Ein gutes neues Jahr!
Bonne année!
Tags: auguri, capodanno Pubblicato in Generale | 1 Commento »
|