Algoritmo semantico: la ricerca contestuale delle parole

Ogni linguaggio ha un determinato numero di simboli primitivi che lo caratterizzano. Il linguaggio latino ha ventisei simboli ( A, B, ... , Z ) mentre il linguaggio binario ne ha soltanto due ( 0 e 1 ). Questi simboli primitivi li usiamo tutti i giorni per formare parole e frasi, senza nemmeno accorgercene più. Ad ogni parola associamo un significato in base al contesto e alle altre parole in cui è collocata. Ad esempio, quando ci rivolgiamo a un compagno di scuola e gli chiediamo "mi presti una penna" il nostro interlocutore immediatamente comprende che gli stiamo chiedendo una penna stilografica. Se ha una penna in più e se non gli siamo antipatici... probabilmente ci presta la penna. Questa associazione contestuale avviene in modo quasi automatico per effetto dell'esperienza passata. In pratica, il contesto influisce sul significato della frase. È un discorso banale, vero? Provate a spiegarlo a un agente razionale... se siete capaci di farlo. Alla domanda "mi presti una penna" un agente razionale elabora l'oggetto "penna" trovando diversi oggetti: la penna stilografica, la penna di un uccello, la penna ornamentale del nativo americano, ecc. Lo stesso accade su un motore di ricerca. L'agente razionale non ha percettori esterni, né può far ricorso all'esperienza pratica della vita di tutti i giorni. Per comprendere ciò che gli stiamo chiedendo, se è veramente intelligente, ci chiederà di specificare la richiesta tra gli oggetti elencati o, in alternativa, ci farà delle domande per scartare alcune ipotesi. Questo accade indipendentemente dalla sintassi del linguaggio che utilizziamo, della struttura della frasi e della grammatica del linguaggio. In conclusione, la sintassi non è una condizione sufficiente per comprendere il significato e la semantica della frase. Nella comprensione del significato delle parole l'agente razionale può fare esperienza esclusivamente dall'analisi dei testi. Ad esempio, se la parola X è collegata alla parola Y e Z e le parole Y e Z sono tra loro collegate, allora le tre parole hanno un contesto comune. D'altra parte, una parola potrebbe avere anche altre relazioni con altre parole ed essere associata a contesti diversi.

COMPRENSIONE CONTESTO DELLE PAROLE ( ALGORITMO SEMANTICO )

Se Y avesse una relazione con W e Y senza che questi ultimi abbiano una relazione con X w Z, allora è molto probabile che l'insieme { Y, W, V } siano associati a un contesto diverso rispetto a { X, Y, Z }. La parola comune Y ha due significati. In conclusione, quando chiediamo all'agente razionale "devo scrivere il mio nome, mi presti una penna?", l'agente può verificare l'esistenza di un legame tra il termine "scrivere" e un significato del termine "penna", escludendo automaticamente tutti gli altri significati della parola. Troppo semplice? Forse, ma di sicuro risolve parecchi problemi banali quando si sviluppa un algoritmo semantico o un algoritmo di ricerca semantica. In particolar modo, evita di spiegare il significato di ogni termine elementare, di ogni sinonimo o modo di dire... Una volta individuati i termini è possibile lavorare in un meta-linguaggio di primitive semantiche e di primitive contestuali, diverso da quello comune ma più facile da gestire per l'agente razionale. L'algoritmo deve necessariamente lavorare in una logica fuzzy poiché gli errori di interpretazione in questo campo non sono eccezioni bensì la regola. Estendendo a macchia di leopardo il legame contestuale è possibile derivare degli insiemi primitivi intorno ai principali contesti. Quando si delimita la frontiera del contesto è possibile indagare sul significato semantico della frase, analizzando il significato vero e proprio di ciò che si vuole dire. In conclusione, probabilmente non esiste solo algoritmo di comprensione (generale) del linguaggio naturale... ne esistono molti (specifici), uno per ogni contesto.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Libri di approfondimento