Linguistica computazionale

Da Unipedia.
Versione del 29 gen 2025 alle 23:57 di 655240 (discussione | contributi)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

La linguistica computazionale (LC) è un'area di studio interdisciplinare che coinvolge ricercatori di informatica e di linguistica nell'applicazione di metodi matematici e informatici allo studio del linguaggio umano, anche con l'obiettivo di dotare i sistemi informatici della capacità di comprendere e utilizzare il linguaggio naturale.

Storia[modifica]

I primi passi: gli anni Cinquanta[modifica]

La nascita della linguistica computazionale risale alla seconda metà del Novecento, in un contesto storico dominato dalla Guerra Fredda, durante la quale i governi iniziarono ad investire nella ricerca e nella traduzione automatica per esigenze militari e di intelligence. Nelle sue fasi iniziali, la linguistica computazionale seguì due distinti paradigmi [1].

  • Il primo paradigma riguarda l’uso pionieristico dei calcolatori nello studio di testi letterari e filosofici, dove il contributo più significativo fu quello di Roberto Busa con il primo corpus elettronico delle opere di Tommaso d’Aquino, progetto che gettò le basi per l’analisi automatizzata di testi.
  • Il secondo paradigma riguarda l’applicazione di metodi formali all’analisi linguistica, ispirata alla nascita della grammatica generativa di Noam Chomsky nel 1957.

In questo contesto, si svilupparono anche le prime applicazioni del Natural Language Processing (NLP), come programmi per l’analisi sintattica e la traduzione automatica. Nel 1954, l’esperimento Georgetown-IBM dimostrò le potenzialità della traduzione automatica utilizzando un IBM-701 per tradurre frasi dal russo all’inglese[2]. Tra i pionieri della linguistica computazionale si distinguono, oltre a Noam Chomsky, anche:

  • Warren Weaver, che propose l’idea di tradurre automaticamente i testi tra lingue diverse, ispirandosi ai progressi nella teoria dell’informazione e nella cibernetica.
  • Alan Turing, che con il suo lavoro sulla teoria della computabilità offrì le fondamenta teoriche per la manipolazione algoritmica del linguaggio.

La crisi e il TAL: gli anni Sessanta[modifica]

Negli anni Sessanta il campo della traduzione automatica, oltre a vedere un’intensa attività di ricerca, affrontò una crisi significativa. In questo periodo, il rapporto ALPAC (1966), commissionato dal governo degli Stati Uniti, valutò negativamente i costi e i benefici della traduzione automatica rispetto ai risultati ottenuti[3]. Ciò portò a una significativa riduzione dei fondi e a un rallentamento della ricerca in questo ambito. Tuttavia, questa fase di crisi favorì significativamente lo sviluppo di altre aree del Trattamento Automatico del Linguaggio (TAL) che, influenzato dalla grammatica generativa, si concentrò sull’elaborazione di grammatiche formali per rappresentare i linguaggi come un sistema di regole deduttive. I sistemi sviluppati in questo periodo, pur legati tra loro a livello teorico, erano spesso limitati a contesti artificiali e incapaci di affrontare la complessità del linguaggio in situazioni pratiche. Parallelamente si consolida una tradizione empiristica fondata sull’analisi dei corpora linguistici. L’uso di collezioni testuali come il Brown Corpus (1964) segnò l’avvio dell’applicazione di metodi statistici al linguaggio e pose le basi per lo sviluppi di strumenti innovativi [4] .

L’ascesa dell’IA: gli anni Settanta e Ottanta[modifica]

Negli anni Settanta e Ottanta il TAL è stato profondamente influenzato dall'approccio razionalista e simbolico che dominava il panorama scientifico, condiviso sia dalla grammatica generativa di Noam Chomsky sia dall’Intelligenza Artificiale (IA) dell’epoca. Questo paradigma privilegiava metodi logico-deduttivi e algebrici, concentrandosi sulla rappresentazione del linguaggio attraverso sistemi di regole strutturate. La prospettiva chomskiana, che separava nettamente la competenza linguistica dall’esecuzione, portò allo sviluppo di modelli computazionali basati su regole astratte, spesso limitati a contesti artificiali e incapaci di affrontare la complessità del linguaggio in situazioni reali. Parallelamente, si consolidò la tradizione empirista della linguistica dei corpora, che promuoveva l’uso di raccolte testuali e metodi statistici per analizzare il linguaggio. Questo approccio, inizialmente marginale rispetto alla metodologia simbolica, guadagnò terreno grazie a progetti come il Brown Corpus (1964), che pose le basi per una svolta metodologica. Verso la fine degli anni Ottanta, il TAL e l’IA iniziarono a convergere verso un approccio più bilanciato, integrando metodi simbolici e statistici, gettando le fondamenta per lo sviluppo di tecnologie linguistiche più robuste e applicabili a contesti reali.

Il boom di Internet: gli anni Novanta[modifica]

Negli anni Novanta, grazie al precedente avvento dei computer personali e l'accesso crescente a grandi corpora di testo, la linguistica computazionale ha visto un notevole sviluppo. I modelli statistici [5] e l'apprendimento automatico sono diventati strumenti centrali, con applicazioni che vanno dalla traduzione automatica ai sistemi di riconoscimento vocale.

Rivoluzione del deep learning: dal Duemila ad oggi[modifica]

A partire dal Duemila, il campo della linguistica computazionale ha visto una rivoluzione grazie all’espansione dei dati e ai progressi del deep learning. In particolare, con l’introduzione di architetture complesse, come le reti neurali profonde, è stata migliorata la qualità dei sistemi di traduzione automatica e di gestione del contesto linguistico. I modelli di grandi dimensioni (LLM), seppur non basati su strutture neurali, hanno consentito un notevole miglioramento dei sistemi di elaborazione del linguaggio in particolare nella comprensione della semantica. Oggi la LC è una disciplina matura che ha conquistato una posizione centrale nel panorama scientifico nazionale e internazionale. Nel 2017, con i modelli Transformer, le prestazioni di generazione del testo sono state migliorate soprattutto in termini di accuratezza e fluidità delle frasi; tuttavia, le tecnologie sono ancora limitate se confrontate con la capacità linguistica del parlante [6] .

Dati della lingua[modifica]

Nella linguistica computazione, i dati della lingua rappresentano l'elemento centrale da analizzare e manipolare. È compito del linguista computazionale avere la capacità di selezionare e raccogliere i dati linguistici, saperli analizzare attraverso dei metodi formali e avere una buona padronanza di tecniche informatiche per condurre in modo autonomo le proprie analisi. [7]

Dato linguistico: parole, frasi, enunciati[modifica]

Per dato linguistico si intende il prodotto del linguaggio che è oggetto del processo di analisi della linguistica computazionale. I dati linguistici possono assumere forme diverse ed essere utilizzati per finalità differenti:

  • Le parole vengono utilizzate come unità per le analisi morfologiche (dove è richiesto di identificare suffissi, prefissi o radici) oppure per rappresentare il contenuto semantico di un testo.
  • Le frasi vengono utilizzate per identificare la struttura sintattica e quindi le relazioni grammaticali che intercorrono tra le parole che le compongono.
  • Gli enunciati vengono studiati per riconoscerne la funzione comunicativa.

Uno dei principali problemi del linguista è quello di individuare le fonti da analizzare: il primo tipo di fonti sono i testi dei parlanti di una lingua, intesi come qualsiasi prodotto dell'attività linguistica dei parlanti elaborato o trascritto come sequenza di caratteri, il secondo tipo sono i parlanti stessi. I dati linguistici possono essere ecologici oppure controllati. I dati controllati sono ricavati dallo studio di un particolare fenomeno; sostanzialmente, il linguista somministra test preparati ad hoc a un gruppo selezionato di parlanti, e le risposte dei parlanti costituiscono i dati oggetto dell'indagine. I dati ecologici, invece, sono quelli estratti da testi osservati nel loro ambiente naturale, e dunque conservano tutta la loro naturalezza. Le parole sono le unità di base del testo su cui si lavora in linguistica, e sono spesso trattate come token. Le frasi sono una sequenza di parole che esprime un’idea completa e grammaticalmente corretta. Nella LC, l’analisi delle parole è cruciale per la creazione di alberi sintattici che rappresentano la struttura grammaticale della frase. Gli enunciati sono unità di significato che vanno oltre le singole frasi e possono comprendere interi discorsi o conversazioni. [8]

Corpora: specialistici e di addestramento[modifica]

I corpora testuali sono collezioni di testi e svolgono un ruolo cruciale nella linguistica computazionale. Sono selezionati e organizzati in maniera da soddisfare dei criteri che li rendono funzionali per le analisi linguistiche e la loro creazione è il risultato di un'opera di selezione, che richiede di valutare se il loro contenuto e la loro organizzazione sono adeguati per gli scopi di ricerca. In altre parole, bisogna determinare se il corpus preso in analisi è in grado di fornire il tipo e la quantità di informazioni necessarie per l'analisi. I tipi di corpora vengono definiti sulla base di diversi parametri [9]:

  • Generalità: misura la trasversalità nella scelta dei testi rispetto alle diverse varietà linguistiche.
  • Modalità: distingue i corpora in base alla modalità di produzione dei testi. Questo parametro suddivide i corpora in:
    • corpora di lingua scritta: composti di testi che nascono in forma scritta,
    • corpora di lingua parlata: composti di testi che vengono prodotti in modalità orale e successivamente trascritti
    • corpora misti: composti sia di testi nati in forma scritta sia di testi prodotti in modalità orale.
  • Cronologia: indica l'asse temporale a cui appartengono i testi, distinguendo corpora sincronici (appartenenti a una stessa finestra temporale) o diacronici (appartenenti a periodi diversi con lo scopo di monitorare il mutamento linguistico).
  • Lingua: classifica i corpora monolingue, bilingue o paralleli, in base alle lingue coinvolte.
  • Integrità: specifica la porzione di testi che viene usata, in quanto i corpora possono contenere testi interi oppure porzioni di testi di una lunghezza definita.
  • Codifica: descrive il formato in cui i testi sono rappresentati digitalmente.

Una distinzione importante da considerare, dal punto di vista applicativo dei corpora, è quella tra:

  • Corpora specialistici: utilizzati per approfondire la comprensione delle peculiarità linguistiche di determinati settori. Questi corpora sono composti da testi mirati che si concentrano su ambiti linguistici specifici, come il linguaggio medico, giuridico o tecnico.
  • Corpora di addestramento: utilizzati principalmente per addestrare modelli di machine learning o di linguistica computazionale. Consentono ai modelli di apprendere e generalizzare dai dati per compiti specifici come il riconoscimento del linguaggio, la traduzione automatica o la classificazione dei testi.

Analizzare il testo[modifica]

La linguistica computazionale prevede l'individuazione delle unità minime di analisi. Per fare questo è richiesta la conoscenza di criteri di identificazione differenti che riguardano aspetti grafici, morfosintattici e semantici. Il problema è che per un computer un testo è semplicemente un insieme di righe, ciascuna formata da una sequenza di caratteri che termina con un ritorno a capo. Quindi non esiste nessuna corrispondenza diretta tra una sequenza di caratteri e una parola e le righe di un file non coincidono necessariamente né con una frase né con un capoverso. Le parole sono prima di tutto unità linguistiche e di contenuto che devono essere quindi ricostruite a partire dalla sequenza di cifre binarie che costituiscono la materia del testo. La ricostruzione è realizzabile solo dopo aver dotato il computer di una serie di conoscenze sulla struttura e sulle convenzioni della lingua che permettono di eliminare oppure ridurre le differenze tra l'organizzazione fisica e l'organizzazione logica del testo. [10]

Token[modifica]

I token sono le unità minime di analisi del testo in linguistica computazionale. Rappresentano una famiglia eterogenea che oltre a parole ortografiche tradizionali comprende numeri, sigle segni di punteggiatura e nomi propri. Sebbene questa definizione sembri molto vicina alla definizione di parola, ovvero un'unità ben definita linguisticamente all'interno del lessico di una lingua, occorre distinguere i token in quanto non rappresentano necessariamente parole ortografiche tradizionali. Il processo che segmenta il testo in token è chiamato appunto tokenizzazione ed è spesso realizzato automaticamente da programmi chiamati tokenizzatori. Il processo di tokenizzazione è abbastanza semplice per le lingue che utilizzano lo spazio per delimitare le parole; è invece molto complesso nelle lingue a sistema ortografico continuo. Lo scopo è quello di rendere il testo più gestibile per le operazioni successive come l’analisi sintattica, la classificazione e la ricerca [11]. I problemi principali della tokenizzazione sono:

  • Gestire correttamente la punteggiatura
  • Riconoscere parole composte, acronimi o abbreviazioni
  • Implementare correttamente gli spazi bianchi
  • Distinguere le lettere maiuscole e minuscole

Stringhe[modifica]

Le stringhe sono sequenze di caratteri che possono rappresentare frasi o altri segmenti di testo la cui manipolazione è una parte fondamentale dell’analisi testuale. Sono importanti per la linguistica computazionale in quanto rappresentano la forma di comunicazione grezza, con cui il computer interagisce con il linguaggio. Le operazioni comuni sulle stringhe includono la ricerca di specifiche sottostringhe, la sostituzione di parti del testo e la divisione di una stringa in sottostringhe. Un aspetto molto importante è dato dal case sensitivity ovvero la necessità di differenziare maiuscole e minuscole affinché non compromettano l’identificazione delle parole, cosa che risulterà molto importante nelle espressioni regolari. L’analisi delle stringhe necessita di una fase di codifica, ovvero associare ad ogni carattere un numero specifico che viene convertito in bit. La codifica più comune è l’UTF-8. [12]

Espressioni regolari[modifica]

Uno strumento utile per l’identificazione, all’interno di un testo, di stringhe che corrispondono a determinate caratteristiche, sono le espressioni regolati (ER o regex) [13]. Sono espressioni algebriche che permettono di definire in maniera formale e rigorosa un pattern (schema o modello di stringhe che specifica i criteri che le stringhe devono soddisfare) di stringhe. Sono anche usate per fare ricerche avanzate su documenti testuali; la ER più elementare è quella costituita da un solo carattere.

Vocabolario[modifica]

Il vocabolario, in linguistica computazionale, è l’insieme delle parole che compaiono in un dato corpus di testo, ovvero l’insieme finito di parole estratte dal testo stesso. Il vocabolario rappresenta un sottoinsieme del lessico in quanto è legato strettamente al testo e contiene solo le parole presenti nel corpus. Il vocabolario svolge un ruolo cruciale nei compiti di elaborazione del linguaggio naturale (NLP) come la tokenizzazione, l’indicizzazione e la costruzione di modelli di linguaggio per compiti come la traduzione automatica e la classificazione dei testi [14].

Applicazioni[modifica]

La LC trova applicazione in una vasta gamma di settori, i suoi sviluppi tecnologici e teorici hanno portato a innovazioni significative in molte aree. [15]

  • Traduzione Automatica: Sistemi come Google Translate e DeepL utilizzano modelli di traduzione basati su apprendimento automatico per tradurre testi tra diverse lingue migliorando la precisione e la fluidità delle traduzioni.
  • Riconoscimento Vocale: Tecnologie come Siri, Alexa e Google Assistant impiegano modelli di riconoscimento vocale per comprendere e rispondere ai comandi vocali degli utenti.
  • Elaborazione del Linguaggio Naturale (NLP): Include attività come il riconoscimento delle entità nominate, l'analisi del sentiment e la sintesi del testo
  • Generazione di Testo: I modelli generativi, come GPT, sono utilizzati per creare testi coerenti e rilevanti su una vasta gamma di argomenti.
  • Assistenti Virtuali e Chatbot: Sistemi che rispondono automaticamente alle richieste degli utenti in un'interazione conversazionale fornendo supporto in tempo reale.

Lo scopo che si vuole raggiungere è quello di sviluppare programmi capaci di comprendere e interpretare il linguaggio umano in modo automatico, quindi lo sviluppo di strumenti informatici capaci di gestire e trattare i dati della lingua. La linguistica computazionale ha un ruolo anche nel settore della ricerca accademica dove viene utilizzata per indagare le proprietà del linguaggio naturale attraverso modelli statistici e formali. Questi studi possono fornire nuove prospettive sulla comprensione del linguaggio, contribuendo anche alla psicologia cognitiva e alle scienze cognitive, che esplorano il rapporto tra linguaggio e pensiero.

Note[modifica]

  1. Lenci, Montemagni, Pirrelli, Testo e computer, p. 14.
  2. https://www.yuqo.it/nascita-e-storia-della-traduzione-automatica/
  3. https://www.yuqo.it/nascita-e-storia-della-traduzione-automatica/
  4. Lenci, Montemagni, Pirrelli, Testo e computer, p. 14, 15.
  5. Lenci, Montemagni, Pirrelli, Testo e computer, p. 17.
  6. Lenci, Montemagni, Pirrelli, Testo e computer, p. 17.
  7. Lenci, Montemagni, Pirrelli, Testo e computer, p. 23.
  8. Lenci, Montemagni, Pirrelli, Testo e computer, p. 24.
  9. Lenci, Montemagni, Pirrelli, Testo e computer, p. 27-34.
  10. Lenci, Montemagni, Pirrelli, Testo e computer, p. 101-122.
  11. Lenci, Montemagni, Pirrelli, Testo e computer, p. 101-102.
  12. Lenci, Montemagni, Pirrelli, Testo e computer, p. 61.
  13. https://www.html.it/articoli/espressioni-regolari/
  14. Lenci, Montemagni, Pirrelli, Testo e computer, p. 133.
  15. Lenci, Montemagni, Pirrelli, Testo e computer, p. 14,19,162.

Bibliografia[modifica]