lunedì 28 maggio 2007

Pendolari


Non capisco, forse abbiamo forato.
Un meccanico è chino vicino alle ruote del locomotore, prima di rimontarle.
Un altro sta scuotendo la testa.
Ora guarda per terra.
Noi guardiamo verso il cielo, invece.

Quando inizia il caldo capita che un locomotore salti.
E' questione di fortuna e questa settimana siamo stati fortunati più di una volta.

Forse la ventola di raffreddamento della CPU non è sufficiente per raffreddare il motore?

Non si sa quanto potrà ritardare, ovviamente.
Non lo dicono fino ai primi 30 minuti.
Quando sono passati da un po' scrivono che il treno ritarderà di 30 minuti.

Inoltre rischio di entrare in crisi di astinenza: perchè i treni in Italia non hanno Internet come in Giappone?
Ah, già, aumenterebbe la necessità di dissipazione...

Si dice che Douglas Adams, l'autore della trilogia in 5 parti (Fondamentalmente innocuo era presentato come: 'un libro che da un senso completamente nuovo alla parola trilogia') della Guida Galattica per gli Autostoppisti scrivesse spesso in areoporto.
O era Terry Pratchett , il suo corrispondente nel mondo fantasy, autore del ciclo del Mondo Disco? (carina la H2G2, quasi la uso al posto della Wikipedia).

Hemingway era sempre in giro.
Noi grandi scrittori siamo tutti pendolari.
Prendete Dante, ad esempio: la Divina Commedia l'ha finita girando di tavola in tavola, - come sa di sale lo pane altrui -, anticipando di secoli i commentatori gastronomici.

Dove vado a parare? Continuate a leggere...



Non ho finito gli argomenti (vi piacerebbe...) e non ho neppure un finale a sorpresa.
Semplicemente la scorsa settimana lavorativa si è distinta per due viaggi allucinanti da far rivedere gli aggettivi ad Otto Klement ed Asimov e volevo che anche voi ne subiste gli effetti nefandi.

L'abstract, ovviamente, non era parte della cronaca, ma una rivisitazione psicologica.
O forse un riassunto logico.
Fate un po' voi...

Primo giorno:
  • in biglietteria non possono farmi il supplemento, perchè il computer non glie lo permette:
    'forse perchè il suo treno viene da Firenze e oggi hanno fatto sciopero, in Toscana...'
    'veramente viene da Venezia'
    'allora deve essere cambiato il materiale, da qui non possiamo farglielo, chieda al capotreno...'
  • primo capotreno: 'no, è solo che ci sono 3 carrozze che non hanno l'aria condizionata...' (il treno in questione è svizzero e non prevede che non funzioni l'aria condizionata: i finestrini sono sigillati, il calore è insopportabile)
  • Secondo capotreno: 'spostatevi alla 9, che là funziona' (in realtà anche la carrozza in questione seguiva gli standard dell'intero treno)
  • si parte... ci si ferma alla prima stazione... il locomotore tira gli ultimi, treno soppresso
  • aspettiamo quello successivo (ma quelli che dovevano raggiungere Ginevra? Saranno più fortunati, visto che il treno, secondo l'altoparlante, è soppresso da Milano a Domodossola? a Domo si trasferisce con il teletrasporto?)
Secondo giorno:
  • questa volta il biglietto ce lo fanno
  • ma il treno non vuole partire, almeno finchè non è passata un'ora e ci si sta per trasferire sul successivo (arriverà, stavolta?)
  • suspence: ci si ferma in mezzo alla campagna. Annuncio: 'questo treno subirà un ulteriore ritardo di 20 minuti perchè a non-mi-ricordo-più-dove-caspita-era si è rotto un locomotore e non si può passare'
  • secondo giorno alle 22:45, al posto che alle 20:30 (sono io che non so contare o 22:45-20:30 >> 1 ora + 20 minuti? Mi sono perso qualcosa?)
Poi vi chiedete perchè sono sempre arrabbiato.
Ci sarà la vita su altri pianeti, o solo ferrovie?

Bye
    Depa

[... continua ...] Leggi tutto

giovedì 17 maggio 2007

Non ci resta che piangere



Iniziamo subito con ringraziamenti al Presidente per aver ispirato questo post in tutti i suoi punti essenziali.

Ovviamente non parlo di Napolitano, ma del Presidente di una squadra di basket che non citerò apposta.

Con il Presidente si parla dei due suoi sport preferiti e di viaggi.
Potrebbe anche cercare di parlare di vela, ma, datemi retta, se vi capita, portatelo sul basket: fin da piccolo mi hanno insegnato l'importanza della passione per uno sport e la potreste vedere personificata ed alimentata indipendentemente da ogni possibile risultato.

Lo so che cito sempre Wodehouse (il genio è genio e se può dire la sua su ogni argomento, è bene che ne siate resi partecipi), ma è necessario che leggiate dei suoi personaggi che cercano di ridurre l'handicap a golf, per capire cosa io stia intendendo (suggerisco The heart of a Goof, per iniziare su questo argomento).

I viaggi oggetto dei nostri discorsi, solitamente, sono di due tipi: quello che facciamo quasi quotidianamente in treno e quelli veri, da vacanza (lui può godere di una consulenza professionale, a questo proposito, io, solitamente, decido un po' dopo il last minute).

Ma questa volta si è parlato di viaggi nel tempo e della nostra capacità di infrangere legalmente ogni brevetto, casomai ci si dovesse trovare nella situazione proposta dal ben noto film.

Il che fornisce solo un'altra prova del fatto che il mio Anonimo amico del post del Codice dei Wooster avesse ragione sul mio stato mentale. Per quello del Presidente, garantisco io.



A me sono venute subito in mente le patate. Se abbiamo passato il 1500, allora Colombo aveva già scoperto l'America e le aveva già portate.
E' vero, il film si concentra su tempi immediatamente precedenti alla partenza di Colombo, ma basta aspettare qualche anno e, intanto, preparare gli strumenti fondamentali per utilizzarle.

A parte la possibilità di mettere su una rete commerciale con i tedeschi e l'opportunità di battere McDonald sul tempo, le patate mi sono venute in mente grazie agli studi fatti da piccolo: il 'Manuale di Archimede', come ben sapranno tutti quelli che hanno solide basi teorico-pratiche, insegnava, infatti, che è possibile produrre elettricità collegando 12 (o erano 7?) patate con del filo di rame e dei morsetti infilati nei tuberi in questione. Ora, è evidente che nel 1500 il rame esisteva: ancora oggi lo si può estrarre dalle pentole dei nostri nonni. Serve solo qualcuno che sia in grado di ridurlo ad un filo. E il fabbro c'era già, nel 1500. Basta trovarne uno sveglio, convincerlo con un business plan fatto bene...

Il Presidente, però, mi ha distrutto in 3 secondi, mostrandomi la mia scarsa attitudine all'industrializzazione: anche se stiamo aspettando il ritorno di Colombo possiamo comunque produrre elettricità, e molta di più di quella ottenibile nel modo precedente: basta costruirsi un generatore eolico.

Se avete fatto un salto sulla poltroncina del treno, come è capitato a me, evidentemente non avete letto questo articolo (fornito, ovviamente, dal Presidente, come prova di non millantare conoscenze inesistenti).

Oppure non siete in treno. Il funzionamento è ovvio, quasi non vi serve portarvi il pdf nel 1500, basta usare l'induzione elettromagnetica: i magneti c'erano già, il vento pure, il filo di rame lo costruisce il solito fabbro, il rotore un falegname (bisognerà dividere in 3, ma i guadagni saranno molto superiori, rispetto alle patate).
Fate attenzione, si tratta di un oggetto piuttosto pericoloso per persone e cose, costruitelo solo se sapete cosa state facendo. Conoscendovi, peraltro, vi suggerirei di procedere solo se vi trovate improvvisamente nel 1400 quasi 1500 e volete far vedere chi siete - ma attenti a non essere incriminati per stregoneria.

Ora che avete la vostra corrente elettrica, a parte il cercare di costruire lampadine (ma sarà necessario creare il vuoto, attorno al filamento? qualcuno sa come fare?), potete più facilmente iniziare la vostra attività di venditori di hamburger, con piastre e friggitrici elettriche.

Chiaramente il Presidente, con una trovata simile, vince a mani basse. Inutile cercare di ricordare il capitano J.T.Kirk e la sua capacità di trovare sempre una via d'uscita, con particolare riferimento all'episodio in cui costruisce un cannone e polvere da sparo, ricordando studi elementari di chimica.
A noi, a chimica, anche all'Università, non hanno insegnato a preparare la polvere da sparo, ma ricordo che si era parlato di pile e che non sembrava difficile costruirne una. Siamo in grado di rifare la polvere da sparo? Qualcuno ricorda se c'era già, nel periodo considerato? Vi rispondo io (anzi, la Wikipedia, al solito): non pensateci neppure, era conosciuta già dal XIV sec., in Europa (in Cina dal 1100-1200).
A parte questo, vorrei proprio vedere se, lasciati a voi stessi, sareste in grado di riconoscere il nitrato di potassio (posso ancora capire lo zolfo e il carbone...).

Una pila avrebbe la possibilità di generare corrente continua e stabilizzata in modo più semplice rispetto al generatore eolico.
Ma davvero, ha notato subito il Presidente, difendendo la sua inattaccabile vittoria, vogliamo iniziare a portare indietro energie non rinnovabili? E cosa volete rispondergli? Quando uno ha ragione, ha ragione.

Sono certo che esistono altre idee semplicemente realizzabili anche con quella tecnologia di base, che sarebbe possibile portare indietro.

Visto che c'è il Giro d'Italia, viene facilmente in mente che reinventare la bici dovrebbe essere più facile che inventare il treno: probabilmente non avremmo neppure bisogno di Leonardo.
Cercate di seguirmi, perchè qui si fanno i soldi: fatto partire il Giro d'Italia, potreste anche inventare la pubblicità da mettere sulle magliette. Da qui al marketing è un passo (gli facciamo più male con le pile, o con questi concetti?)

Visto che faremo un sacco di soldi, potremmo inventare le banche? Acc... no, già presenti nel 1406...forse gli mancavano le assicurazioni (certo che potrebbe non convenire puntare troppo sulle assicurazioni sulla vita in quel periodo e anche l'RC Auto è difficilmente applicabile alle carrozze).

Che ne dite di partecipare anche voi, fornendo a tutti, tramite commenti, altri possibili link e suggerimenti relativi alla costruzione di manufatti, per ogni evenienza?
Che so:
- qualcuno di voi sa come fare la plastica e la gomma? (potrebbero servire per proporre dei servizi di raccolta differenziata dei rifiuti, tra l'altro).
- sapreste come rifare il ferro da stiro? (pensate a quei poveretti che, nel passato non avendo il loro bel ferro a vapore, non potevano impegnarsi in questa simpatica operazione ed uscivano tutti sgualciti, con l'effetto collaterale di... quale caspita di problema c'è ad uscire con i vestiti spiegazzati? non ci saremo mica creati un problema da soli?)

Ah, già, poi non ci resterebbe che trovare il modo di viaggiare nel tempo, sapendo che Dr.Who è solo un telefilm.
Potremmo ottenere informazioni su esperimenti in questo senso al NIAC, se non rischiasse la chiusura...
Bye
    Depa

P.S.: ma davvero li pagavano anche per studiare i viaggi nel tempo? E poi ci alzano le tasse...

[... continua ...] Leggi tutto

mercoledì 9 maggio 2007

Reti di parole su CD



Oggi vi parlerò di CD.
No, non di musica. Nemmeno del supporto di memorizzazione: sono un informatico ma non devo parlare continuamente di tracciati record e simili.

CD sta per Conceptual Dependency ed è una delle tecnologie dell'Intelligenza Artificiale alla base della comprensione del linguaggio (NLP = Natural Language Processing).

Hey, ma dove andate? Se rimanete vi parlo anche di Wordnet. Fermi...

E adesso? Scrivo lo stesso, anche se sono rimasto solo?
Ma sì, dai, tanto prima o poi qualcuno arriva per sbaglio e legge anche questo.

Anche se stavolta sarò noiosissimo, così imparate a non stare qui ad interagire con me, per mantenermi su binari ragionevoli.

E non vi chiederete più perchè c'è voluto così tanto tempo dall'ultimo post.



Tu prova ad avere un mondo nel cuore
e non riesci ad esprimerlo con le parole
[...]
E sì, anche tu andresti a cercare
le parole sicure per farti ascoltare:
per stupire mezz'ora basta un libro di storia,
io cercai di imparare la Treccani a memoria,
[...]
[Il matto - De Andrè - Da Non al denaro, non all'amore, nè al cielo]



Alla fine degli anni '60, più o meno quando io stavo nascendo, Roger C. Schank e suoi collaboratori della Stanford University iniziarono a pubblicare i loro lavori riguardo alla Conceptual Dependency (CD), sostanzialmente mostrando come si poteva costruire un parser per il linguaggio naturale, in grado di elaborare frasi fornite in input, disambiguandone i concetti e generando una rappresentazione del significato, utilizzando una grammatica che mettesse in evidenza la semantica.

Schank partiva dal concetto che si potesse analizzare il modo di comprendere tipico degli esseri umani per trovare algoritmi e rappresentazioni indipendenti dal linguaggio per la comprensione dei computer.
CD come analogia di rappresentazione mentale.

Uno dei vantaggi di un approccio simile è che una stessa rappresentazione può anche riassumere diverse rappresentazioni sintattiche (in italiano: frasi diverse con lo stesso significato avrebbero la stessa rappresentazione), con ovvie conseguenze nella semplificazione dell'elaborazione dei concetti espressi e, più in generale, per operare delle inferenze.

Tra l'altro, una volta ottenuta una rappresentazione non ambigua e semantica di una frase o di un testo più complesso ci si trova nella posizione giusta per poter ottenere anche una parafrasi della frase stessa, eventuali riassunti e anche per cercare di operare traduzioni in altre lingue. O, al contrario, sarebbe possibile partire dai concetti, per generare storie.

La potenza dell'approccio proposto è stata mostrata attraverso parecchie applicazioni, negli anni seguenti, ma, nonostante siano passati quasi 40 anni non troverete molti traduttori commerciali basati su questa tecnologia.

Troverete, invece, tecnologie ancora precedenti, decisamente più semplici (per esempio basate sulla frequenza di comparsa delle parole nelle frasi), ma significativamente potenziate dall'attuale potenza di calcolo.

Ma se la CD potrebbe permettere di ottenere risultati decisamente superiori a quella della maggior parte dei più comuni traduttori automatici, che non hanno la pretesa di capire alcunchè, come mai questa tecnologia non si è diffusa nei prodotti commerciali?
Essenzialmente perchè implica la presenza di una notevole base di conoscenza che sia in grado di definire, data una parola, una serie di attese sulle parole precedenti e quelle seguenti, di cancellare tali pretese quando non si trovano corrispondenze e di confermarle nel caso siano logicamente coerenti con il resto della frase o del testo.

Per fare un veloce esempio di parte della conoscenza necessaria, consideriamo la seguente frase (presa da uno degli articoli e volutamente semplice e semplificata: tenete presente che la CD si applica anche a frasi complesse con coordinate e subordinate - diverse fonti su Internet vi permetteranno di ottenere approfondimenti e introduzioni riguardo alle primitive della CD ed esistono anche esempi di come venivano memorizzate in lisp le strutture dati nei primi programmi alla base della CD):
Il grande uomo ruba il libro rosso alla ragazza

  • Il: può servire per connettere frasi, per esempio potrebbe essere che la prarola cui si riferisce trovi una corrispondenza in una frase precedente

  • grande: si riferisce ad un concetto che potrebbe necessitare di ulteriori approfondimenti concettuali (come aggettivo, potrebbe presupporre l'esistenza di un sostantivo seguente - situazione che, di fatto, viene confermata dalla continuazione della frase)

  • uomo: può esistere da solo e viene completato dalle parole precedenti, quindi è possibile costruire un aggregato basato su questo termine

  • ruba: individua una azione e ha bisogno di un soggetto e di un complemento. Legandola al concetto precedente (possibile perchè sul piano grammaticale concorda), permette di costruire una proposizione riguardo ad un attore: esiste una dipendenza bidirezionale tra 'ruba' e 'uomo', che stanno sullo stesso piano (almeno, questo è quanto dice Schank nei primi articoli, ma ne riparliamo)

  • il-libro-rosso: senza ripercorrere le singole parole, devono esistere regole sintattiche, grammaticali ed attese semantiche che permettano di legarli per creare un concetto, secondo quanto visto prima e una attesa generata dal verbo 'ruba' prevede che ci sia un oggetto da rubare e questo concetto è coerente con questa attesa

  • alla-ragazza: qui si trova un ulteriore tipo di relazione, che non staremo qui a dettagliare, ma che lega questi termini al libro rosso, attraverso attese generate sempre dal verbo rubare (si ruba qualcosa a qualcuno)

Fino a questo punto le competenze sembrano essere, come sopra indicato, grammaticali, sintattiche e, solo parzialmente, semantiche.
Una analisi ulteriore della stessa frase, e da un approfondimento dell'algoritmo alla base del parser (come, per esempio, in uno dei primi articoli, ma, meglio, in "Inside Computer Understanding: Five Programs Plus Miniatures" - Roger C. Schank e Christopher K. Riesbeck - 1981) si vede che, almeno per questa
frase, il tutto si potrebbe anche ridurre ad una sorta di analisi logica, basata su posizioni relative delle parole e preposizioni più o meno articolate. Almeno nel contesto ridotto su cui Schank lavorava ai tempi (poche centinaia di parole).

E, comunque, ricordatemi di proporvi di realizzare un programma in grado di elaborare una analisi logica, alla fine di questo post...

La semantica, al di là dell'ultra-semplificato-esempio-sopra-riportato, è necessaria per identificare stranezze nella frase:
La casa volava da Milano a Roma

rispetto a
L'aereo volava da Milano a Roma

E i programmi di Schank potevano anche notare queste stranezze e operare ulteriori inferenze.

Ma la CD è solo la partenza, solo il substrato: per disambiguare servono anche altri concetti, serve una conoscenza del mondo e della sequenzialità delle operazioni standard (script, per Schank - es: se il Depa va al ristorante, ordina una bistecca, più tardi paga ed esce soddisfatto, come fate a sapere che ha mangiato la
bistecca, dal momento che non ve l'ho detto? Perchè avete delle attese sui comportamenti e sulla sequenzialità degli stessi, in situazioni standard) che ci si attendono in certi ambiti, una conoscenza degli obiettivi (goal) e una identificazione dei piani per raggiungere tali obiettivi, etc. etc.

Serve un po' di senso comune, insomma. Tutt'altro che banale, visto che ne sembra spesso sprovvista anche la maggior parte degli umani.

Uno dei limiti degli approcci di Schank, ai tempi, era la dimensione della base dati (certamente dettata dalle ridotte capacità elaborative di 40 anni fa, ma anche dalla mancanza quasi totale di progetti volti a generare simili tipologie di informazioni).
E' estremamente dispendioso codificare tutta la competenza necessaria per una comprensione soddisfacente, ma certo potrebbe già essere utile riuscire a gestire un primo livello di relazioni tra le parole, adatto per evitare di cadere in traduzioni automatiche orrende come quelle in cui si incorrerebbe passando questo testo sotto il filtro di Babelfish o compagnia bella.

Basterebbe una rete semantica, che gestisca le principali relazioni tra le parole, senza necessità di scendere al livello della fisica quantistica. Per esempio, il cane è un animale è una relazione tra un iponimo (cane) ed un iperonimo (animale). Una relazione IS-A o, in termini più comprensibili per chiunque sappia vagamente programmare, si potrebbe dire che 'cane' eredita da 'animale'. (O ne implementa l'interfaccia, che sarebbe meglio, per evitare il fragile base class problem e simili). E le parole sono correlate tra loro
anche in altri modi (sinonimi, meronimi, etc. etc.).

Particolarmente interessante è la sinonimia, che deve essere considerata nella sua accezione semantica corretta.

Per es., il lemma prova può significare:
- evidenza, riscontro
- test, esame
- concorso
- compito
- cimento, impresa
- assaggio
etc. etc.

Notiamo che ho usato dei sinonimi (scelti a caso, senza pretesa di completezza e correttezza) per illustrare, almeno con una prima approssimazione, i diversi significati, le possibili semantiche della parola presa in considerazione. Il che ci porta a pensare che i sinonimi siano un buon punto di partenza per poi disambiguare.

Questi stessi sinonimi, se messi uno di fila all'altro (come fa Sinonimi Master, forse il più completo ed utilizzabile insieme di sinonimi italiani che mi è capitato di trovare su Internet), sarebbero stati molto meno utili.
Li ho, invece, raggruppati in insiemi di sinonimi (cui dovremmo aggiungere il lemma di partenza), non a caso: si parla di synset (contrazione di synonyms set) e questo concetto è alla base di reti semantiche come Wordnet.

Quest'ultimo sì, è sicuramente free e di elevatissimo livello.
Sarebbe bello averne uno anche per l'italiano e per altre lingue, certo sarebbe ancora meglio se fosse possibile averlo già in relazione con la versione inglese.

Beh, la buona notizia è che ce ne sono almeno 2: EuroWordNet e MultiWordNet (dovesse interessarvi un semplice confronto tra le due...). La cattiva è che non sono free, neppure per scopi personali, nè Open Source.

Ora, sarebbe interessante continuare, parlando di:
- come CD e (Euro)WordNet possano convergere verso un sistema che possa, almeno, cercare di fare una prima analisi dei testi, con migliori speranze di prenderci rispetto alla maggior parte dei sistemi di larga diffusione
- come alcuni abbiano già fatto qualcosa di simile, se non altro in ambito più ristretto (che so: vi siete resi conto che una grande parte della Knowledge Base di Microsoft in italiano risulta tradotta automaticamente? Il risultato non è malissimo - non perfetto, ma non male - e si basa su concetti simili a quelli indicati, almeno per la costruzione di MindNet una rete semantica simile a Wordnet, ottenuta, tra l'altro, automaticamente, attraverso parsing di vocabolari ed enciclopedie elettroniche)
- come sia possibile cercare di costruire una simile rete semantica, in modo pseudo-automatico
- come non sia così facile mettere in relazione diretta i synset di linguaggi differenti (per esempio, a causa dei gap lessicali)

Sarebbe interessante, ma mi avete lasciato solo.
Volete conoscere l'assassino? Gli accessi a questo articolo devono essere tanti e differenziati...

Bye
    Depa

[... continua ...] Leggi tutto