Archivio per la categoria 'Natural Language Processing'

La ricerca semantica secondo Yahoo!

Fino ad oggi il mondo della “ricerca semantica”, intesa come la capacità di un applicazione di sfruttare le informazioni e i metadati presenti nelle pagine web in formati come RDF, è stato popolato da giocatori relativamente piccoli (un confronto si trova qui) o da soluzione ancora non disponibili per l’uso pubblico. Infatti, malgrado una certa enfasi giornalistica (Paul Miller in questo post si chiede a cosa sia dovuto il desiderio dei giornalisti che si occupano di tecnologia di trovare il google killer), siamo ancora lontani non soltanto da avere a disposizione applicazioni di ricerca “di nuovo tipo”, ma anche da avere capito chiaramente come queste nuove applicazioni potranno migliorare la user experience.

Yahoo ha annunciato recentemente che una parte importante della iniziativa definita Open Search Platform è il supporto per gli standard del semantc web, a cominciare da RDF e microformat. Si tratta di una novità importante, visto che Yahoo! resta un player di notevoli dimensioni nel mondo della ricerca. Si tratta anche di un approccio che ci sembra sulla strada giusta: piuttosto che porsi l’obiettivo, ambizioso, ma di difficile definizione, di sostituire la tradizionale ricerca full text con una ricerca diversa (”concettuale” o “semantica”), Yahoo! afferma più debolmente che i risultati ottenuti dall’utilizzo dei metadati strutturati possono servire, “ove possibile” a migliorare la ricerca full text.

Crediamo che in questo caso la parola chiave sia “ove possibile”. Non tutte le informazioni presenti in rete possono essere strutturate usando RDF, ma molte informazioni in rete già lo sono, per esempio dalle informazioni bibliografiche (da amazon alla libreria del confìgresso) o i profili di LinkdIn. La buona idea di Yahoo! è di inziare a sfruttare queste informazioni che gia’ esistono, piuttosto che proporsi di ripartire da zero per assegnare metadati semantici a tutto quanto. L’altra buona idea è di mantere un approccio aperto, consentendo a chiunque, all’interno della open search platform, di accedere a questi dati, distinguendosii in questi da coloro, come twine, che stanno puntando alla creazione di silos informativi prorprietari. Si tratta quindi di iniziare a sperimentare.

Marco Varone su “Che cos’è un motore di ricerca semantico”

Vale la pena rilanciare e commentare questa intervista a Marco Varone su Punto Informatico, almeno per questa affermazione:

“Oggi non è pensabile un motore di ricerca (semantica) per tutto il web come Google - prosegue Varone - ma per alcuni settori, quando il problema non è troppo complesso e ci si limita ad un contesto specifico, è possibile implementare soluzioni che consentono di guadagnare tempo e ottenere risultati migliori”

Rispetto alle mirabolanti promesse di alcuni (powerset, hakia, lo stesso Varone in altri interventi) questo approccio ci riporta in un situazione un po’ più realistica.

Chi si occupa di linguistica o di intelligenza artificiale è abituato, infatti, a trovarsi a che fare con situazioni come questa: il problema è interessante ma è davvero molto complicato da risolvere, sarebbe bellissimo avere una soluzione universale che vada bene per tutte le istanze del problema, ci promettiamo che la avremo entro il prossimo anno (o lustro o secolo) e poi non riusciamo a farcela.

Di fronte a questi problemi che resistono alla soluzione, le reazione sono due. La prima è sfidare virilmente la difficoltà, affermando che il problema è risolvibile e basta risolverlo, ci vorrà tempo e denaro ma ce la faremo (addirittura alcuni dcono che è già stato risolto, ma di solito sanno che non è vero). La seconda è indebolire gli obiettivi e accontentarsi di risolvere il problema non nel caso generale, ma in alcuni (possibilmente tanti) casi particolari.

Continua a leggere ‘Marco Varone su “Che cos’è un motore di ricerca semantico”’

Discutendo di analisi semantica e di monitoraggio dei social media

L’amico Carlo Bruno ha aperto sul suo blog uno spazio di discussione sulle tecnologie di analisi semantica, ecco le nostre considerazioni.
Parlare di analisi “semantica” non è facile. Il termine stesso è oggi ricco di significati molteplici e talvolta doscordanti (ne ho parlato qui).

Il problema è che non è esattemante facile definire che cosa sia il significato (i filosofi ci provano da un po’, almeno da Platone e Aristotele, e certo non sono giunti ad un consenso universale) e non è nemmeno facile definire e valutare un sistema che afferma di utilizzare analisi semantica.
Penso che si debba partire da una definizione un po’ debole”: ci sono alcune attività, legate al significato e alla comprensione, che pur essendo proprie, a quanto ne sappiamo, quasi soltanto degli esseri umani, possono essere in qualche maniera automatizzate ed eseguite da programmi di computer.
In Blogmeter, i nostri programmi manifestano comprensione di un testo in non moltissimi casi, rispetto alla enorme molteplicità dei fenomeni linguistici, ma in casi comunque utili e interessanti.
Riusciamo, con un buon grado di successo, a classificare un testo. La classificazione automatica è da alcuni un po’ snobbata, in quanto può essere fatta anche con tecnologie di machine learning (statistiche, non simboliche), tuttavia, data la nostra definizione debole e pragmatica, ci sentiamo di affermare che dire di che cosa parla un testo è un’attività che è sicuramente semantica.
In molti casi, di solito in domini ristretti, riusciamo a estrarre informazioni di dettaglio a partire dalle descrizioni linguistiche: per esempio riusciamo non soltanto a dire che un certo testo parla di un problema, ma a anche a dire di che problema si tratta, quale è il suo grado di criticità percepita, quali sono gli elementi o gli aspetti di un prodotto / servizio che vengono percepiti come problematici. In generale, possiamo estrarre “fatti”, intesi come descrizioni di eventi e situazionio accaduti e descritti linguisticamente e associarli ad una “ontologia“, intesa come una descrizione formale di cio’ che esiste in un dominio a partire dalla quale si possono effettuare inferenze.
Avendo a disposizione le opportune risorse (nel nostro caso una rete semantica) i nostri programmi manifestano una certa capacità di effettuare inferenze basate sul significato delle parole, per esempio dall’affermazione: “l’operatore del call center non ha saputo rispondere” possiamo inferire che qualcuno ha chiamato il call center.
Tutto questo viene fatto, proprio perche’ incorporiamo un sistema di analisi del testo che è composto di almeno tre elementi principali:

  • un lessico che fornisce significati e relazioni tra significati,
  • un parser, che fornisce analisi sintattiche ricostruendo la struttura della frase,
  • uno o più moduli di interpretazione che trattano fenomeni semantici, dall’identificazione delle relazioni soggetto / oggetto / complementi alla capacità, di solito, come detto, dipendente da dominio, di identificare fatti, eventi e relazioni tra di essi.

La copertura sintattica dei fenomeni della lingua è nel nostro caso piuttosto ampia, così come è ampia la copertura lessicale, anche se il fine tuning è continuo, soprattutto avendo a che fare con testo molti particolari quali quelli presenti nei social media. La precisione delle analisi è buona, talvolta ottima, almeno laddove una misura è possibile.
La direzione in cui stiamo lavorando più alacremente in questo periodo è rinforzare la comprensione del linguaggio emotivo, soggettivo ed emozionale, che in certi settori è quasi la norma. L’idea è che non è soltanto utile e interssante scoprire se l’opinione espressa su un prodotto / servizio è positiva o negativa, ma anche capire quale è l’atteggiamento soggettivo verso quel prodotto / servizio, lungo linee quali la fiducia, il timore, l’engagement in generale.
In ogni caso, e’ chiaro che se l’utente non percepisce alcuna differenza di qualità dei risultati, allora e’ meglio andare avanti con il buon vecchio vector space model. Bisogna pero’ essere consapevoli che per catturare certi fenomeni la statistica delle occorrenze e il pagerank non saranno mai sufficienti, basta provare a catturare concetti come la fiducia o le intenzioni di acquisto. E’ per questo che vale la pena di investire in tecnologie di analisi del linguaggio.
Insomma, consapevoli dei limiti, non soltanto tecnologici ma insiti nella natura stessa del problema (le proprietà computazionali di certi fenomeni linguistici, per esempio la ccordinazione, si sa che non sono sono proprio amichevoli), andiamo avanti nella ricerca e nell’applicazione dei suoi risultati.

Web semantico e/o semantic web: io sono più semantico di te

Adesso che siamo tutti almeno un po’ semantici (ricerca semantica, motore semantico, tecnologia semantica, web semantico…) dobbiamo iniziare a distinguerci. Infatti, a quanto pare c’e’ semantica e semantica e non tutte le semantiche sono uguali.
In pratica la situazione è:
- ci sono quelli che usano semantica nel senso di semantic web: per costoro la rete deve diventare una gigantesca macchina inferenziale fondata su più o meno arcani sistemi di metadati (e accora più arcani sistemi di rapprsentazione di essi)
- ci sono quelli che usano semantica nel senso di approcci probabilistici (approcci bayesiani, latent semantic analysis e simili). Fino a poco tempo questi erano gli unici a parlare di semantic search; per costoro il significato emerge, in qualche modo, da complicati ragionamenti sulle occorrenze e co-occorenze di elementi linguistici (o anche non linguistici).
- ci sono quelli che usano semantica come sinonimo di “qualunque che cosa che faccia un’analisi del testo che vada oltre i caratteri di cui è composto”. Per costoro anche una semplice normalizzazione morfologica (che consente di trattare cane e cani come la stessa forma)  è semantica.
- ci sono quelli che usano semantica come sinonimo di semantica lessicale. Per costoro vale il seguente ragionamento: i significati e le relazioni tra significati, da che mondo e mondo, stanno nei dizionari; io ho un grosso dizionario, quindi faccio  analisi semantica. Talvolta questi grossi dizionari, magari specifici di dominio, sono chiamati ontologie. L’uso del termine “ontologia” al posto di “dizionario” ha, in molti contesti (non tutti, chiaramente), lo stesso ruolo comunicativo dell’uso del termine “rinite” al posto del termine “raffreddore”.

Indiscutibilemente la parola “semantica” sta subendo un processo di perdita di significato, almeno nel mondo IT (e in certi meandri della stampa tradizionale). Per fortuna i filosofi, i logici  e gli scienziati cognitivi si occupano poco di IT e quindi sui nostri blog e siti web e brochure possiamo dire quello che ci piace senza paura di essere corretti. Tuttavia ci teniamo a ribadire un concetto di una certa importanza (e anche di una certa ovvietà).

Continua a leggere ‘Web semantico e/o semantic web: io sono più semantico di te’

L’archivio storico online del Corriere della Sera è disponibile gratis!

La notizia è ottima, l’iniziativa assai lodevole: l’archivio storico del Corriere della Sera dal 1992 è disponibile gratuitamente on line. Il servizio è stato annunciato così:

Il Corriere della Sera ha aperto, primo quotidiano in Italia e tra i primi a livello internazionale, il proprio archivio storico ai lettori. Il nuovo servizio (disponibile all’indirizzo archiviostorico.corriere.it) permette di accedere gratuitamente a un patrimonio informativo di 1.300.000 articoli comparsi sul quotidiano a partire dal 2 gennaio 1992 ad oggi

(dalla news su corriere.it)

In effetti il servizio è spettacolare. Però, come sempre c’è un però. La parte di ricerca e navigazione non è proprio quello che ci saremmo aspettati.

Pochi giorni fa Ask ha lanciato BigNews, il nuovo servizio di ricerca / aggregazione di notizie. Provate a fare un confronto. A parte il differente impatto grafico (comunque l’occhio vuole la sua parte), è la diversa filosofia che colpisce. Ask ha realizzato un motore di ricerca di notizie, con funzionalità avanzate di aggregazione, suggerimenti contestuali e possibilità di tracciare la diffusione di una notizia e l’evoluzione di una storia (per non parlare della ricerca sui blog e l’integrazione con Digg).

Il Corriere ha realizzato un archivio, con funzioni di ricerca relativamente limitate e nessuna capacità di navigazione relazionale. Non sarebbe stato difficile fare qualcosa di più (riconoscimento automatico di nomi propri e luoghi, facet browsing, un po’ di classificazione dinamica…).

Evidentemente l’iniziativa del Corriere è stata pensata in termini documentaristi: un archivio in cui conservare. E’ un peccato, perché una risorsa come questa dovrebbe essere messa a disposizione come una risorsa in cui trovare e navigare. L’unico “vezzo” dell’archivio è una sorta di tag cloud costruita a partire dalle ricerche degli utenti, che dovrebbe consentire di conoscere in tempo reale le parole cercate più frequentemente. Peccato che questa feature sia stata relegata a fondo pagina dopo i collegamenti sponsorizzati e una pesante interfaccia per la navigazione nelle varie annate.

Insomma, l’iiniziativa è splendida e siamo grati al Corriere per aver reso disponibili i dati. Ora si dovrebbe costruire attorno a questi dati una vera applicazione di ricerca.

Manzoni, l’armadio e l’ambiguità semantica

Circola questa storiella, forse vera, forse apocrifa, sicuramente esemplificativa di un tipo di ambiguità linguistica abbastanza difficile da risolvere (per un programma di computer).

Un’insegnante delle superiori legge il tema di un suo allievo. L’argomento è la vita di Manzoni. Dopo avere raccontato questo e quell’altro il ragazzo conclude affermando che

“Alessandro Manzoni morì in un armadio.”

La proferessa non riesce a capacitarsi e chiede spiegazioni. Il ragazzo insiste: l’ho letto sul libro, lo giuro. La professoressa controlla. Il libro in effetti riporta:

“Alessandro Manzoni morì ritornando alla sua credenza giansenista”

La rete semantica mentale del ragazzo, evidentemente, ha fatto quello che ogni buona rete semantica può fare, ovvero generalizzare le relazioni di sinonimia (o quasi-sinonimia). Le credenze sono in effetti anche armadi (per cosi’ dire), e quindi …. Certo, il risultato ottenuto non è quello sperato.

A BigG non interessa il linguaggio naturale: “ci interessa il significato delle parole”

L’intervista a Peter Norvig, Director for Search Quality di Google, pubblicata sulla MIT Technology review, ci fa capire due cose:

  1. BigG non crede alle query in linguaggio naturale (NLP)
  2. E’ più facile parlare di NLP quando si sa di cosa si sta parlando

Google, non crede alle query in linguaggio naturale, non pensa, come Powerset, Hakia e qualche altro che l’information retrieval si debba trasformare in question answering per avere successo:

we don’t think it’s a big advance to be able to type something as a question as opposed to keywords. Typing “What is the capital of France?” won’t get you better results than typing “capital of France”

Contemporaneamente però:

We think what’s important about natural language is the mapping of words onto the concepts that users are looking for [...] But understanding how words go together is important. To give some examples, “New York” is different from “York,” but “Vegas” is the same as “Las Vegas,” and “Jersey” may or may not be the same as “New Jersey.”

In effetti è proprio di questo, non di question answering, che si occupano i linguisti: di come certe relazioni di significato sono veicolate da certe espressioni linguistiche (e non da altre).

Tutto sommato è bello sapere che la più grande azienda al mondo che manipola, analizza, indicizza espressioni linguistiche (contenute in alcuni miliardi di documenti creati da alcuni milioni di esseri umani) sa esattamente che cosa sta facendo, e forse sta facendo la cosa giusta.

Nota a margine: Il lancio su slashdot di questa intevista in 24 ore ha accumulato quasi 150 commenti: l’argomento indubbiamente piace.

Sono tanto stanco: ho la sindrome da ricerca…

Un post di SearchEngineLand riprende una ricerca su una nuova malattia che affligge gli internauti amricani, la search engine fatigue. Pare che:

“72.3 percent of Americans experience “search engine fatigue” (either “always,” “usually,” or “sometimes”) when researching a topic on the Internet”

Questa “fatica” si concretizza in frustazione cosi’ forte da spingere coloro che hanno speso fino a 2 ore per fare ricerche su di un argomento (apparentemente senza trovare soddisfazione) a lasciare fisicamente il computer…

“More than three out of four (75.1 percent) of those who experience search engine fatigue report getting up and physically leaving their computer without the information they were seeking – either “always,” “usually” or “sometimes”

La faccenda è interessante, forse anche un po’ preoccupante per i grossi player della ricerca: malgrado tutti i loro disclaimer e condizioni di uso, prima o poi partirà qualche class action volta far recuperare ai cittadini americani tutto questo tempo perso e questa frustazione!

Per fortuna la ricerca dice anche perche’ gli americani sono insoddisfatti dei loro motori di ricerca:

“When asked to name their #1 complaint about the process, 25 percent cited a deluge of results, 24 percent cited a predominance of commercial (paid) listings, 18.8 percent blamed the search engine’s inability to understand their keywords (forcing them to try again), and 18.6 percent were most frustrated by disorganized/random results”

Il diluvio di risultati è facile da combattare: basta ignorarli, così come i vari adsense, sponsored e così via (e siamo piuttosto bravi a farlo). Siamo invece rimasti colpiti dal terzo motivo. Che cosa significa lamentarsi che “il motore di ricerca non capisce le mie keywords“? Apparentemente, significa questo:

[...] asked survey respondents whether they wished that search engines like Google could, in effect, read their minds, delivering the results they were actually looking for. . . That capability is something that 78 percent of all survey-takers “wished” for, including 86.2 percent of 18-34 year-olds and 85 percent of those under 18.

Cio’ che gli internauti americani cercano, dunque, è un intervento magico, che trasferisca il loro bisogno informativo non verbalizzato in una risposta. Informazione molto interessante che però non ci sembra fornire un segnale molto positivo per chi si occupa di NLP (natural language processing - analisi automatica del linguaggio naturale).

 

Quanti passi devo fare? Una visione della ricerca semantica

Ogni tanto (ultimamente spesso) ci troviamo a parlare di motori di ricerca semantici. Il primo problema, in questo caso, è dare una definizione. Eccone  qui una:

Un motore di ricerca semantico è un motore di ricerca che si pone l’obiettivo ambizioso di comprendere così bene la vostra domanda, da essere in grado di fornirvi LA risposta corretta

Un motore di ricerca riceve la vostra query e vi fornisce un elenco di risultati che non sono La risposta alla vostra domanda, ma che possono contenere la risposta al vostro bisogno informativo. Tocca a voi, con pazienza e intelligenza, capire quale documento fa più al caso vostro.

Un’esperienza di ricerca è dunque un processo in due passi, in cui nel primo passo ottengo dal motore un elenco di candidati e nel secondo analizzo i canditati cercando l’effettiva risposta.

Secondo la definizione data sopra, un motore di ricerca semantico vi risparmia la fatica dei due passi: gli strumenti di analisi e comprensione in suo possesso sono tali da saltare il primo passo, quella della poposta dei canditati, per passare direttamente al soddisfacimento del bisogno informativo: quando si sottolineano caratteristiche come la precisione e la capacita di cogliere l’effettivo bisogno dell’utente, si intende appunto dire che viene ridotto il numero di passi necessari a soddisfare la ricerca.

La value proposition è molto ambiziosa, e piuttosto diversa dall’approccio tradizionale dell’information retrieval. Il processo di trovare la risposta giusta è sempre stato interpretato come un processo interativo in cui l’utente fa una ricerca, riceve dei risultati, ne da’ una prima valutazione, pone una nuova ricerca che restringe o allarga o modifica la prima. L’idea è sempre stata che la natura della domanda (sempre molto sotto-specificata) avesse come conseguenza l’impossibilità di cercare di fornire una risposta esatta: l’unica strada percorrribile è fornire l’insieme delle migliori risposte lasciando all’utente il compito di navigarle.

Con il loro approccio, i propugnatori della ricerca semantica cosi’ definita avvicinano il caso della ricerca più al question answering che all’information retrieval. Tuttavia, se il QA in ambiti ristretti/verticali (non necessariamente soltanto aziendali) è sicuramente possibile ed efficace, la sostituzione di Google con un gigantesco oracolo che risponde correttamente a qualunque domanda, sembra ancora un po’ lontana (vedi qui l’esempio di AskWiki)

AskWiki e l’ultimo imperatore di Roma

E’ stato recentemente lanciato AskWiki, un nuovo servizio di ricerca per Wikipedia sviluppato ad AskMeNow.

AskMeNow è un’azienda leader in applicazioni di Question Answering, ovvero sistemi che, a fronte di una domanda in linguaggio natuarale, forniscono (cercano di fornire) la risposta corretta alla domanda, senza costringere l’utente a navigare in un insieme di possibili risultati. Per alcuni questo approccio è l’approccio corretto anche alla ricerca generalista sul web, in quanto, aumenta la precisione grazie a una profonda comprensione della domanda dell’utente.

AskWiki utilizza tecnologie semantiche per ottenere questo risultato:

AskWiki, developed in partnership between AskMeNow and the Wikimedia Foundation, is a preliminary integration of a semantic search engine that seeks to provide specific answers to questions using information from Wikipedia articles.

La mia sessione di prove con AskWiki è andata piuttosto bene. Ha soddisfatto correttamente domande su Tarsky, l’attuale presidente degli Stati Uniti, la Teoria delle Stringhe e varie altre. Ho provato a chiedere “What is meaning” e giustamente mi ha risposto di non saperlo. Poi ho fatto questa richiesta:

who is the last emperor of rome

La risposta è stata sorprendente:

The concluding section of the film ends with a flash-forward to the mid-1960s during the Mao cult and the beginning of the Cultural Revolution. Puyi has become a gardener who lives a proletarian existence. On his way home from work, he happens upon a Mao parade, complete with children playing pentatonic music on accordions en masse and dancers who dance the rejection of landlordism by the masses, aroused by rectified Mao thought. His prison camp commander is one of the “dunces” punished as insufficiently revolutionary in the parade. In a deliberately ironic scene, the last Emperor makes imperial remonstrance to the Red Guard students.

From Article: The Last Emperor

Il problema non è, ovviamente, la risposta sbagliata. AskWiki è in fase iniziale, e in ogni caso l’idea (molto sensata) è di sfruttare l’intelligenza collettiva degli utenti per marcare le risposte sbagliate e correggerle.

Il problema non è nemmeno che la risposta giusta l’avrei invece ottenuta con la ricerca normale di wikipedia (che propone la cronologia dell’impero romano tra i primi tre risultati) , per non parlare di Google, che ha la risposta (non un link alla risposta, ma proprio la risposta) come primo risultato:

Roman Emperor - Wikipedia, the free encyclopedia

In the West, which included Rome, the succession of Emperors had ended in the year 476AD when the last Western Emperor Romulus Augustus was deposed by the
en.wikipedia.org/wiki/Roman_Emperor - 106k - Cached - Similar pages - Note this

Il problema, a mio parere, è proprio l’approccio basato sul question answering. L’idea di fornire la risposta esatta va bene, se si ha la certezza di fornirla quasi sempre. Ma quando si sbaglia, che succede? Cosa può fare l’utente per trovare una risposta alternativa? L’idea del best match (il migliore, non quello esatto) è appunto di riconoscere che soltanto l’utente sa quello che sta cercando, il motore lo può aiutare ma lasciando a lui l’iniziativa.

Di fronte a una domanda a cui AskWiki non sa dare una risposta, o fornisce una risposta sbagliata, l’unica cosa che posso fare è tornare su Google. Lui magari non sa, ma di sicuro mi aiuta (alla domanda “what is meaning”, la ricerca Google su wikipedia risponde con questo link: http://en.wikipedia.org/wiki/Meaning. Per quando mi riguarda, questa è la migliore risposta possibile.

Pagina Successiva »


Subscribe to MediaMeter

Top Clicks

  • Nessuna

mybloglog

License