Linguistica computazionale

Posted on 27 luglio 2009

1


http://books.google.it/books?id=u76sumwSkJsC&pg=PA1&dq=computational+linguistic&as_brr=3&ei=mPncSLqcIZWyyQSa8tD_Bw&sig=ACfU3U3rBZd8y3N02sVRJYDDrkQefb0V2g

http://books.google.it/books?id=ZHgRaRaadJ4C&pg=PA1&dq=computational+linguistic&as_brr=3&ei=mPncSLqcIZWyyQSa8tD_Bw&sig=ACfU3U1vNRuig8vBoRagV2F3v6WBEY1lsg

Io ve la racconto così.

La linguistica computazionale analizza le lingue naturali per estrarne un modello che possa essere capito da una macchina. E per far capire una cosa ad una macchina occorre che questa sia espressa secondo un formalismo rigido e concluso.

I software di linguistica computazionale, dunque, si aspettano in ingresso una lingua e ne forniscono in uscita una rappresentazione formale; con questo modello si è in grado di analizzare testi diversi da quelli precedentemente usati per “l’addestramento” e generare quindi output che possiedano nuovamente una forma linguistica (traduzione di un testo, correzione delle forme grammaticali, categorizzazione di un documento…)

Questa disciplina è dunque caratterizzata da un approccio accademico:

  • prima di poter generare (oppure interpretare) un testo occorre possedere un modello completo e soddisfacente della lingua in cui questo è da esprimere (oppure espresso);
  • per poter disporre di tale modello occorre analizzare un numero statisticamente significativo di espressioni di quella lingua. Ovvero, un lavoro di anni.

Dividiamo il problema in sotto-problemi:

Innanzitutto al posto di un’intera lingua potremmo voler modellare solamente uno specifico slang (italiano scritto giornalistico, italiano orale radiofonico, italiano orale televisivo…) e/o un dominio di conoscenza (argomento musicale, argomento economico…).
In ogni caso l’insieme dei testi che rappresentano il linguaggio di riferimento è detto “Corpus” (al plurale, “Corpora”).

In secondo luogo il famoso modello può tenere conto di tutti gli aspetti di una lingua oppure rappresentare solamente

  • il lessico e/o la sintassi (la forma di una data espressione linguistica)
  • la semantica (lo scopo di una data espressione linguistica)
  • la funzione pragmatica della comunicazione (gli obiettivi del parante / scrivente)

1. Da un punto di vista computazionale, le informazioni del primo tipo possono essere conservate in un normale DataBase relazionale (i vari MySQL, Oracle o SQLServer, per intenderci): si tratta di parole e di relazioni tra parole. Le si indicizza, le si confronta, le si raggruppa in insiemi; se le relazioni si fanno complesse è possibile utilizzare strumenti di Knowledge Management o motori di ricerca enterprise (tipo SolR).

2. Le informazioni semantiche sono invece conservate e rappresentate mediante strumenti di Knowledge Representation (RDF, OWL, SPARQL…). A questo proposito si parla di Web 3.0. Nel mondo opensource esistono framework e strumenti quali Jena e Sesame.

3. Le informazioni sugli scopi degli utenti sono ricavate mediante strumenti di intelligenza artificiale e sono rappresentate mediante modelli che dipendono dallo strumento (decision-tree, neural network, problem solving plan…).

E se questi tre punti vi ricordano qualche cosa, vuol dire che avete letto con attenzione il mio articolo sugli atti linguistici. Bravi! :)

Advertisements