• Non ci sono risultati.

Linguis’ca computazionale e approcci corpus-­‐based

N/A
N/A
Protected

Academic year: 2021

Condividi "Linguis’ca computazionale e approcci corpus-­‐based"

Copied!
47
0
0

Testo completo

(1)

Linguis'ca  computazionale   e  approcci  corpus-­‐based  

Cris%na  Bosco  

Corso  di  Informa%ca  applicata  alla   comunicazione  mul%mediale  

2016-­‐2017  

(2)

Per  definire  un  sistema  di  NLP  occorre  conoscerne  i   seguen%  aspeA:  

-­‐  Input  

-­‐  Algoritmi  

-­‐  Conoscenza  linguis%ca   -­‐  Output  

Sistemi  di  NLP  

(3)

INPUT:  modalità  

Il  sistema  riceve  in  ingresso  un  input  in  linguaggio   naturale  

L’input  può  assumere  diverse  modalità:  scriLo,  

parlato,  gestuale  o  una  mescolanza  di  queste  tre   modalità,  che  possono  anche  interagire  tra  loro.  

Noi  ci  occuperemo  specificamente  di  linguaggio   scriLo,  ma  non  va  dimen%cata  la  complessità  

derivante  dalle  altre  modalità,  come  la  sintesi  del   parlato  e  i  problemi  derivan%  dal  “rumore”,  la  

percezione  ed  interpretazione  della  gestualità.  

(4)

Un  esempio:  l’input  nelle  lingue  dei   segni  e  nel  parlato  

Nel  caso  delle  lingue  dei  segni,  l’input  è  gestuale  e  si   deve  tenere  conto  della  gestualità  delle  mani,  

principale  strumento  per  “segnare”,  ma  anche  

delle  espressioni  del  viso,  della  posizione  del  capo,   delle  spalle,  braccia,  ecc.  

Queste  stesso  componen%  possono  entrare  in  gioco   anche  quando  il  linguaggio  è  parlato  …  

l’espressione  del  viso  in  mol%  casi  è  una  

fondamentale  chiave  di  interpretazione  del  

significato  del  testo  enunciato.  

(5)

INPUT:  lingua  e  genere  

Il  sistema  riceve  in  ingresso  un  input  in  linguaggio   naturale  

L’input  può  contenere  tes%  di  natura  molto  diversa   tra  loro  a  seconda  di:  

-­‐    Lingua  (francese,  giapponese,  swahili  …)  

-­‐  Genere  testuale  (prosa  giornalis%ca,  TwiLer,  

poesia,  romanzi,  prosa  scien%fica,  manualis%ca  

tecnica,  previsioni  meteo  …)  

(6)

Il  sistema  deve  anche  avere  gli  algoritmi   adegua'  a  u'lizzare  la  conoscenza  e  a   produrre  un  determinato  output.  

Si  deve  pertanto  assumere  che  la  sequenza  di   semplici  passi  (=algoritmo)  da  fare  sull’input   sia  ben  definibile,  e  trovare  un  modo  per  

definirla.  

ALGORITMI  

(7)

Ma  quale  è  l’algoritmo  giusto?  

Potrebbe  includere  le  stesse  operazioni  che   fanno  gli  esseri  umani  (AI  forte)  oppure  no       (AI  debole).  

Potrebbe  esserci  più  di  un  modo  per  produrre   l’output  e  potrebbe  essercene  uno  migliore  e   per  vari  mo%vi:  

-­‐  più  adaLo  all’input  e  la  %po  di  conoscenza   -­‐  più  veloce  

ALGORITMI  

(8)

I  sistemi  che  traducono  in  modo  automa%co   adoLano  approcci  diversi,  traducono  

direLamente  dalla  lingua  target  alla  lingua   sorgente  oppure  tramite  la  mediazione  di   interlingue.  

Essi  u%lizzano  %pi  di  conoscenza  diversa,  

dizionari,  ontologie  ecc.  (e  non  tuLe  queste   basi  di  conoscenza  sono  disponibili  per  tuLe   le  lingue).  

ALGORITMI:  un  esempio,  la  

traduzione  

(9)

RispeLo  alla  conoscenza  necessaria  al  sistema   per  traLare  il  linguaggio  occorre  risolvere  

vari  problemi:  

-­‐  quale  conoscenza?  

-­‐  come  rappresentarla?  

-­‐  come  fornirla  al  sistema?  

-­‐  come  usarla  una  volta  acquisita?  

CONOSCENZA  LINGUISTICA  

(10)

Assumiamo  che  una  lingua  sia  traLabile  da  un   sistema  che  ha  a  disposizione  la  conoscenza   posseduta  da  un  parlante  di  quella  lingua.    

La  prima  cosa  da  fare  è  dunque  equipaggiare  il   sistema  con  tale  conoscenza.  

CONOSCENZA  LINGUISTICA:  quale?  

(11)

Il  primo  problema  consiste  nel  delimitare  la   conoscenza  necessaria  alla  comprensione   del  linguaggio.    

Gli  esseri  umani  non  hanno  che  una  molto   parziale  consapevolezza  di  quale  e  quanta   conoscenza  u%lizzano  per  comunicare  

tramite  il  linguaggio  

CONOSCENZA  LINGUISTICA:  quale?  

(12)

CONOSCENZA  LINGUISTICA:  

quale?  

Esempio:  che  conoscenza  occorre  a  un  PoS   tagger  (analizzatore  morfologico)  per  

prendere  in  input  

“il  cane  dorme  in  giardino”  

e  res%tuire  in  output    

“il  ART,  cane  NOUN,  dorme  VERB,  in  PREP,  

giardino  NOUN”  ?  

(13)

CONOSCENZA  LINGUISTICA:  

quale?  

output  =  il  ART,  cane  NOUN,  dorme  VERB,   in  PREP,  giardino  NOUN  

conoscenza  =    

ART  (il),  NOUN  (cane,  giardino),  VERB  

(dorme),  PREP  (in)  

(14)

CONOSCENZA  LINGUISTICA:  

quale?  

Esempio:  che  conoscenza  occorre  a  un   parser  (analizzatore  sintaAco)  per  

prendere  in  input  

“il  cane  dorme  in  giardino”  

e  res%tuire  in  output    

“[S  [NP  (il  –  cane)]        

           [VP  (dorme)  [PP  (in  –  giardino)]]]”  ?  

(15)

CONOSCENZA  LINGUISTICA:  

quale?  

output  =  [S  [NP  (il  –  cane)]  [VP  (dorme)   [PP  (in  –  giardino)]]]  

conoscenza  =     art  +  noun  =  NP   verb  +  PP  =  VP  

prep  +  noun  =  PP    

NP  +  VP  =  S  

(16)

Il  secondo  problema  è  che  la  conoscenza  del   parlate  deve  essere  rappresentata  in  modo   adeguato  ad  essere  usata  dal  sistema  

(dizionari,  ontologie,  corpora,  memorie  di   traduzione,  basi  terminologiche  …).  

La  forma  di  tale  conoscenza  può  essere  molto   diversa  a  seconda  del  task  e  del  %po  di  

informazione.  

CONOSCENZA  LINGUISTICA:  come  

rappresentarla?  

(17)

Un  dizionario  u%lizzato  da  un  sistema  di  MT  ha   una  organizzazione  molto  diversa  da  un  

dizionario  usato  dagli  esseri  umani.  

I  termini  sono  divisi  in  sezioni  in  base  alla   frequenza  d’uso  (alta,  media,  bassa)  e  al  

dominio  terminologico  (generale,  specifico),   in  modo  da  massimizzare  la  velocità  con  cui   il  sistema  accede  alle  informazioni.      

CONOSCENZA  LINGUISTICA:  un  

esempio,  il  dizionario  per  la  MT  

(18)

Una  volta  stabilito  quale  conoscenza  si  deve  

fornire  al  sistema  ed  in  quale  forma,  occorre   risolvere  il  problema  di  come  fornirla  al  

sistema.  

Questo  è  un  problema  che  è  stato  molto   discusso  e  che  è  determinante  per  chi   progeLa  un  sistema  di  NLP.  

CONOSCENZA  LINGUISTICA:  come  

fornirla  al  sistema?    

(19)

Acquisizione  della   conoscenza  

Dove  si  trova  la  conoscenza?  

Le  soluzioni  sono  2:  

1)  conoscenza  dentro  il  sistema  –  rule-­‐

based  

2)  conoscenza  dentro  un  corpus  di  da%  

linguis%ci  –  corpus-­‐based  

(20)

Corpus  versus  rule-­‐based  

gramma%ca   lessico  

…  

SISTEMA  

(21)

Corpus  versus  rule-­‐based  

gramma%ca   lessico  

…  

CORPUS   SISTEMA  

apprendimento  

(22)

Corpus  versus  rule-­‐based  

In  entrambi  i  casi  si  presuppone  che  il   linguaggio  sia  governato  da  regole  (da   conoscere  per  traLarlo)  

MA:  

•   nei  sistemi  corpus-­‐based  le  regole  sono   apprese,  nei  rule-­‐based  sono  date  

•   nei  sistemi  corpus-­‐based  le  regole  sono   probabilis%che,  nei  rule-­‐based  sono  

determinis%che  

(23)

Corpus  versus  rule-­‐based  

Se  le  regole  variano,  ad  es.  da  una  

lingua  all’altra,  da  un  genere  testuale  

ad  un  altro,  devono  essere  riscriLe  in  

un  sistema  rule-­‐based,  ma  non  in  uno  

corpus-­‐based.  

(24)

Approccio  corpus-­‐based  

• U%lizzato  dai  linguis%  dalla  fine  dell’800  e   oggi  molto  diffuso  

• Consiste  nell’apprendere  dal  linguaggio  le  

regole  ed  irregolarità  del  linguaggio  

(25)

Approccio  corpus-­‐based  

• A  causa  delle  cri%che  di  Chomsky  

l’approccio  corpus-­‐based  non  è  stato  

adoLato  dalla  linguis%ca  computazionale  

che  negli  ul%mi  20  anni.    

(26)

Approccio  corpus-­‐based  

• Il  suo  principale  vantaggio  è  di  offrire  un   concreto  supporto  alla  soluzione  del  

problema  dell’ambiguità.  

• Se  una  frase  è  ambigua,  il  sistema  che  la   traLa  ne  costruisce  più  struLure  

alterna%ve.  Analizzando  un  corpus   possiamo  scoprire  quale  ordine  di  

preferenza  dare  alle  alterna%ve  costruite.  

(27)

Approccio  corpus-­‐based  

• Si  basa  sull’idea  che  le  co-­‐occorrenze  sono   fon%  importan%  di  informazioni  sulla  

lingua    

• Si  ispira  all’idea  di  apprendimento  

linguis%co  umano,  tramite  esposizione  a  

esempi  e  basato  su  criteri  sta%s%ci    

(28)

Approccio  corpus-­‐based:  

come  funziona?  

Si  assume  che  un  CORPUS  C  di  un  

linguaggio  L  possa  contenere  (~tuLa)  la   conoscenza  necessaria  a  traLare  L,  e  si   acquisisce  la  conoscenza  da  esso.  

L’acquisizione  della  conoscenza  avviene   tramite  tecniche  di  apprendimento  

automa%co  (machine  learning).  

(29)

Approccio  corpus-­‐based  

Il  processo  di  apprendimento  offre  come   risultato:  

•   la  conoscenza  delle  regole  ed  irregolarità   del  linguaggio  (non-­‐ristreLo)  

•   MA  SOPRATTUTTO  la  percezione  della  

frequenza  delle  struLure  linguis%che    

(30)

Approccio  corpus-­‐based:  

come  funziona?  

Si  prende  un  campione  di  linguaggio,  cioè  un   insieme  di  frasi  (=  CORPUS)  che  si  considera   rappresenta%vo  della  lingua  

Si  cercano  nel  corpus  le  struLure  linguis%che  e  la   frequenza  con  cui  occorrono  nel  corpus,  

arrivando  a  costruire  una  BASE  di  CONOSCENZA   per  il  sistema  

Si  u%lizza  la  base  di  conoscenza  per  traLare  le  frasi  

nuove  

(31)

Approccio  corpus-­‐based  

Prendiamo  il  corpus  formato  dalle  5  frasi  seguen%:  

 Il  cane  dorme  in  giardino.  

 Mario  ha  un  cane  che  dorme  in  giardino.  

 Il  cane  dorme  spesso  nel  suo  giardino.  

 Quando  Mario  dorme  il  cane  va  in  giardino.  

 Il  cane  dorme  in  giardino.  

(32)

Approccio  corpus-­‐based  

Acquisiamo  dal  corpus  preso  la  conoscenza  circa  la   frequenza  di  struLure  linguis%che:  

avremo  le  seguen%  frequenze  di  bi-­‐grammi:  

 Il-­‐cane:  80%,  cane-­‐dorme:  60%,    

 Mario-­‐dorme:20%,  in-­‐giardino:80%,  ...  

e  molte  altre  

(33)

Approccio  corpus-­‐based  

Nell’esempio  sono  sta%  usa%  i  bi-­‐grammi,  cioè   le  coppie  di  parole  che  si  trovano  vicine  nella   frase:  

 per  ogni  coppia  <a,b>  di  parole  possiamo  

estrarre  dal  corpus  la  probabilità  che  a  e  b  

siano  associate  sintaAcamente  

(34)

Approccio  corpus-­‐based  

Perché  usare  i  bi-­‐grammi?  

ovviamente  il  sistema  non  conosce  a  priori   quale  è  la  struLura  della  frase  (il  suo  

obieAvo  è  proprio  di  costruirla!)  

quindi  procede  per  ipotesi  e  si  interroga  su   quali  parole  della  frase  sarebbe  correLo   associare  

e  ipo%zza  che  le  parole  che  sovente  sono  

vicine  siano  tra  loro  legate  sintaAcamente  

(35)

Approccio  corpus-­‐based  

Ma  come  funziona  un  sistema  sta%s%co?  

ad  ogni  struLura  S  del  linguaggio  il  sistema   associa  un  valore  di  probabilità  

il  valore  di  probabilità  di  S  è  dato  dalla  

composizione  delle  probabilità  delle  par%        

di  S  

(36)

Approccio  corpus-­‐based  

In  pra%ca  un  sistema  corpus-­‐based:  

se  incontra  una  struLura  ambigua    cerca  

nella  base  di  conoscenza  l’informazione  

u%le  per  costruire  la  rappresentazione  

più  probabile  della  struLura  

(37)

Approccio  corpus-­‐based  

Esempio:  

“il  cane  dorme  in  giardino”  

P(il–cane:  NP)  =  95%  

P(cane-­‐dorme:?)  =  3%  

P(dorme-­‐in:  ?)  =  5%  

P(in-­‐giardino:  PP)  =  95%  

…  

(38)

Approccio  corpus-­‐based  

Ma  come  funziona  un  sistema  sta%s%co?  

la  probabilità  di  ogni  parte  di  una  frase   analizzata  dipende  dalla  sua  frequenza   in  un  CORPUS  di  riferimento  e  dal  

modello  sta%s%co  u%lizzato    

(39)

Approccio  corpus-­‐based  

Ma  come  funziona  un  sistema   sta%s%co?  

Cosa  è  un  modello  probabilis%co  ?    

Serve  a  determinare  come  calcolare  la  

probabilità  di  ogni  risultato  oLenuto  

dal  sistema  

(40)

Approccio  corpus-­‐based  

i  bi-­‐grammi  di  “il  cane  dorme  in  giardino”:  

1-­‐il  cane  

2-­‐cane  dorme   3-­‐dorme  in  

4-­‐in  giardino  

La  probabilità  di  1  sarà  maggiore  di  quella  di  2,  

quindi  il  sistema  propone  la  costruzione  di  1  

invece  che  di  2.  

(41)

Approccio  corpus-­‐based  

Nell’analisi  sintaAca  (parsing),  di  fronte  

all’ambiguità  e  quindi  generazione  di  più   struLure,  per  una  singola  frase,  si  

ricavano  dai  da%  linguis%ci  i  CRITERI  per   scegliere  la  migliore  delle  struLure  

generate  

(42)

Approccio  corpus-­‐based  

L’approccio  corpus-­‐based  assume  che  

buona  parte  del  successo  del  linguaggio   umano  nella  comunicazione  dipende  

dall’abilità  che  gli  esseri  umani  hanno  

nel  ges%re  ambiguità  ed  imprecisione  in  

modo  efficiente.  

(43)

Approccio  corpus-­‐based  

Gli  esseri  umani  riescono  infaA  a  cogliere   la  correLa  interpretazione  di  un  

messaggio  da  un  insieme  di  s%moli  di   varia  natura  (ad  es.  contestuali  ed  

emo%vi)  oltre  che  dalle  parole  e  

struLure  che  compongono  il  messaggio  

stesso.  

(44)

Approccio  corpus-­‐based  

L’approccio  corpus-­‐based  offre  inoltre  la   possibilità  di  sfruLare  la  conoscenza  che   va  al  di  là  delle  parole  e  delle  struLure  che   compongono  il  linguaggio.  

È  quindi  un  modo  efficiente  di  acquisire  la  

conoscenza  sul  linguaggio.  

(45)

Approccio  corpus-­‐based  

I  primi  sistemi  corpus-­‐based  apprendevano   tuLa  la  conoscenza  direLamente  dai  da%  

così  come  si  presentavano  (approccio  non   supervisionato).  

Parte  della  conoscenza  risultava  però  difficile  

da  apprendere  perché  poco  rappresentata  o  

perché  difficile  da  generalizzare.  

(46)

Approccio  corpus-­‐based  

A  par%re  dagli  anni  ‘90  si  sono  sviluppa%  

sistemi  che  apprendono  la  conoscenza  da  

corpora  di  da%  linguis%ci  annota%  (approccio   supervisionato).  

In  questo  modo  si  ha  maggiore  controllo  sulla  

conoscenza  che  il  sistema  deve  apprendere.  

(47)

Approccio  corpus-­‐based  

ALualmente  i  TREEBANK  (la  cui  

annotazione  descrive  i  da%  dal  punto  di   vista  morfologico  e  sinta<co)  sono  le  

risorse  linguis%che  più  u%lizzate  nel  NLP.

 

Altre  risorse  annotate  sono  i  corpora  per  la   sen%ment  analysis,  lessici  e  lemmari  

seman%ci  e/o  morfologici,  corpora  

annota%  con  part  of  speech,  ...  

Riferimenti

Documenti correlati

Scartate infatti le soluzioni ibride come quelle delle “Siedlungen” ai margini delle grandi città, e quelle della creazione di fabbriche con colonie di operai in aperta

no Mussolini dopo il delitto Matteotti e della possibilità di un rovesciamento violen- to del fascismo, dando anche severi giudizi su Gentile: «Ma all’opposizione vera e propria,

Use of all other works requires consent of the right holder (author or publisher) if not exempted from copyright protection by the

Finally, there is another type of methodology that follows a middle-out approach in order to examine the specialised domain, which combines both views: it starts from

dominio terminologico (generale, specifico), in modo da massimizzare la velocità con cui il sistema accede alle informazioni. CONOSCENZA LINGUISTICA: un esempio, il dizionario per

dorme VERB IND PRES 3 SING. Il ART DEF

newspapers (Wall Street Journal), telephone conversations. Selezione  in  altri  treebank

[r]