La rappresentazione della conoscenza

La rappresentazione della conoscenza è un settore dell'intelligenza artificiale che si occupa di organizzare la conoscenza ( knowledge ) per renderla fruibile da una macchina o da un sistema intelligente automatico.

Per conoscenza non si deve intendere soltanto la conoscenza di base, le informazioni contenute nei manuali e libri di testo, ma anche la conoscenza allargata maturata dalle persone tramite l'esperienza ( know how ).

I metodi di rappresentazione della conoscenza

Negli anni '60 e '70 furono realizzati i primi metodi di rappresentazione della conoscenza.

Erano prevalentemente il metodo dichiarativo e il metodo procedurale.

  • Il metodo dichiarativo si basa sulla descrizione delle proprietà degli oggetti tramite una serie di dichiarazioni.

    Esempio. Un cerchio è un insieme di punti posti alla stessa distanza da un punto centrale.

  • Il metodo procedurale indica la procedura e gli step necessari per acquisire la conoscenza.

    Esempio. Per realizzare un cerchio, fissare il compasso e compiere una rotazione di 360°.

Il metodo procedurale è più rapido ma anche più limitato, perché la macchina viene istruita dal progettista e si limita ad applicare le procedure in memoria.

Nota. Fino agli anni '90 questi metodi erano considerati alternativi. Successivamente, si cominciò a considerarli complementari, come due facce della stessa medaglia, perché l'uso congiunto permetteva di migliorare la rappresentazione della conoscenza.

Successivamente si aggiungero anche le reti neurali.

un esempio di grafo di flusso

Nel corso del tempo si sono affermate due teorie.

  • La teoria dei linguaggi formali. La conoscenza viene rappresentata da un vero e proprio linguaggio formale.

    Ad esempio, sono linguaggi formali di rappresentazione della conoscenza la logica matematica, la logica proposizionale, la logica del primo ordine, ecc.

  • La teoria delle decisioni. La conoscenza viene rappresentata da reti e alberi decisionali.

    Un albero decisionale mostra le possibili scelte in sequenza e indica le decisioni o azioni migliori per raggiungere un obiettivo.
    esempio di albero decisionale

I domini della conoscenza

La rappresentazione della conoscenza su larga scala è molto complessa, perché occorre costruire un'ontologia generale in grado di comprendere argomenti e materie differenti.

Per superare questa difficoltà, i ricercatori preferirono lavorare su singoli domini della conoscenza.

Nacquero così i sistemi esperti.

Un sistema esperto fornisce risposte soltanto su un particolare campo del sapere ( es. medicina diagnostica, finanza, ecc. ).

Nota. Nei sistemi esperti la rappresentazione della conoscenza è molto più semplice perché la suddivisione e la gerarchia delle categorie è limitata a un solo dominio.

Tuttavia, questo approccio ha consentito di creare macchine intelligenti soltanto su singoli aspetti del sapere.

La realizzazione di un'ontologia generale è una sfida ancora da vincere.

I limiti della logica

La realtà è talmente complessa che nemmeno gli esseri umani riescono a interpretarla correttamente.

L'uomo ha imparato a convivere con i dubbi e l'incertezza. Sarebbe irrazionale chiedere a un elaboratore di comprendere la realtà usando soltanto la logica.

La logica booleana è molto forte sul piano matematico ma ben poco si adatta a interpretare la complessità della realtà.

Soltanto un essere onnisciente con una conoscenza perfetta dell'universo ( informazione perfetta ) potrebbe dare un senso logico a ciò che accade in modo razionale e completo.

Inoltre, alcuni fenomeni naturali hanno una natura aleatoria. Ad esempio, nella fisica quantistica.

Qualsiasi forma di intelligenza artificiale deve saper convivere con l'incertezza come l'uomo.

Da questo punto di vista la logica fuzzy ( o logica sfumata ) appare molto più promettente per rappresentare la conoscenza e i processi inferenziali.

Nota. Nella logica sfumata non esiste soltanto vero (1) e falso (0) ma infiniti valori intermedi. Ad esempio, il valore 0.9 equivale a "probabilmente vero", il valore 0.30 equivale a "poco probabile". E così via.

E' particolarmente interessante l'approccio che le reti neurali con la logica sfumata.

Il machine learning

L'agente razionale può apprendere la conoscenza dall'osservazione e dall'esperienza.

Tuttavia, un minimo di conoscenza di base andrebbe sviluppata in fase di progettazione.

lo schema di funzionamento del machine learning

Nota. Una volta stabilita la conoscenza di base, la macchina può continuare ad acquisire la nuova conoscenza dall'esterno tramite i sensori, l'esperienza e i processi inferenziali interni.

Quale linguaggio usare per rappresentare la conoscenza?

Negli ultimi trent'anni molti sviluppatori hanno provato la strada del formalismo ad hoc ( es. Prolog, logica del primo ordine, ecc. ).

Questi linguaggi hanno avuto il vantaggio di velocizzare il processo inferenziale. Tuttavia, sono poco user friendly per chi è non addetto ai lavori.

Esempio. Un legale conosce la materia giuridica ma non sa programmare una macchina. Per inserire la sua conoscenza in una macchina dovrebbe prima imparare a programmare nel linguaggio formale. Lo stesso dovrebbe fare il medico, l'architetto, ecc. E' una strada poco percorribile.

È quindi necessario istruire la macchina a comprendere il linguaggio naturale degli uomini.

Oltre ad agevolare il data entry della conoscenza, questo consente alla macchina di apprendere da sé le nuove conoscenze consultando le stesse fonti usate dalle persone ( es. libri, news, ecc. ).

Inizialmente è la strada più difficile, ma è anche quella che andrà più lontano.



Per scrivere un commento

knowledge base