Classificazione di documenti e dimensioni di un vettore: quale il legame?

Alice e Bob stanno consumando caffè e pasticcini al coffee break di un workshop sull’uso dei Big Data nelle nuove tecnologie: Alice ha appena tenuto un intervento su un sistema di classificazione di documenti per applicazioni gestionali, e Bob è andato a congratularsi con lei.

Bob – Alice, sei sempre la solita capocciona. Non ho capito come fate ma il risultato è notevole, potremmo inserirlo nei sistemi documentali che facciamo per i nostri clienti, magari alla prossima gara facciamo un RTI fra la mia azienda e la tua!

Alice – Grazie Bob, so che fare una proposta commerciale è il miglior modo che hai di manifestare il tuo apprezzamento, ma in realtà non sono idee nuove, abbiamo semplicemente usato delle tecniche standard note da tempo.

Bob [stupito] – Da tempo? Vabbe’, i colossi dell’informatica usano questa roba di da un po’ ma insomma secondo me restano tecniche innovative e ancora poco sfruttate sul nostro mercato.

Alice– Le applicazioni informatiche sono recenti, le idee sono vecchie. Ma lasciamo stare.

Bob – Piuttosto le tue slide erano abbastanza ostiche: di quei formuloni che hai inserito nelle slide io non ho capito un’acca.

Alice [sorridendo] – Non c’erano delle h, uso sempre le i, j e k per gli indici…

Bob – Eddai che hai capito! Ma la prossima volta non le mettere, ti perdi metà dell’audience in questo modo mentre la parte conclusiva con i risultati era quella più interessante. Ma poi che idea ficcare formule algebriche in delle slide dove si parla di documenti di testo…

Alice – Semplici formule in spazi con molte dimensioni.

Bob [non capendo] – Spazi con molte dimensioni?

Alice [ironicamente] – Forse ti sarai accorto anche tu che il nostro mondo ha apparentemente tre dimensioni, quattro se contiamo anche il tempo.

Bob – Ma quando dici “molte dimensioni” che intendi? La quarta, la quinta?

Alice – Nel nostro prodotto usiamo vettori a trecento dimensioni per dirne una.

Bob [sgranando gli occhi] – Trecento dimensioni? Ma è impossibile!

Alice – Infatti non sono riuscita a spiegarlo al mio commerciale: a lui interessa solo una dimensione, quella economica!

Bob – Guarda che noi commerciali siamo molto più smart di quanto non crediate voi nerd: [ghignando] mica siamo “uomini a una dimensione”!

Alice [stupita] – Wow che citazione dotta! Ma le dimensioni di cui parlo io sono quelle dello spazio della geometria.

Bob [con convinzione] – Sarà, ma a me a scuola hanno parlato solo di piani e al massimo figure solide, insomma mai andato oltre la terza dimensione, a parte nei film di fantascienza…

Alice – Magari come visualizzare la quarta dimensione te lo spiego un’altra volta, fra poco ricominciano i lavori del workshop…

Bob – Però non puoi lasciarmi nel dubbio di come uno spazio a trecento dimensioni consenta al vostro prodotto quelle performance spaziali nella classificazione dei documenti… A proposito, sono vere?

Alice [gelidamente] – Sì, lo sono. E comunque te l’ho detto, si tratta di metodi noti da decenni se non secoli, prendi un qualunque libro di algebra lineare e…

Bob [interrompendola] – Già, perché io nel tempo libero mi metto a leggere i libri di algebra. Come hai detto che si chiama? E poi che c’entra con la geometria degli spazi a trecento dimensioni?

Alice [rassegnata] – Se mi stai a sentire un secondo questo posso spiegartelo. Penso che il piano cartesiano te lo ricordi, no? Quello che si studia a scuola.

Bob – Certo, sto tutto il giorno a guardare grafici! Anche se non ricordo mai qual è l’ascissa e quale l’ordinata.

Alice – Il fatto importante è che ogni punto del piano corrisponde a un’unica coppia di numeri, le sue coordinate: dammi quel tablet che ti cerco una pagina della Wikipedia con la figura che lo spiega.

Bob dà il suo tablet ad Alice che dopo una breve ricerca gli mostra questa pagina

Alice – La vedi la figura? Il punto in verde ha coordinate (2,3) il che vuol dire che dista 2 dall’asse delle y e dista 3 dall’asse delle x. Allo stesso modo gli altri punti, corrispondono tutti a coppie di numeri, e a punti distinti corrispondono coppie distinte. Questa è l’idea geniale di Cartesio: il piano, che fino a quel momento era descritto dagli assiomi di Euclide ma che non si sapeva bene cosa fosse, si può identificare con un oggetto ben preciso, l’insieme delle coppie di numeri. La geometria viene tradotta in algebra, e le costruzioni geometriche in calcoli!

Bob – Dai questo già lo sapevo persino io!

Alice – Allora saprai anche che i punti dello spazio corrispondono alle terne di numeri.

Bob [con aria saputa] – Le famose x, y e z!

Alice – Beh, allora sai tutto.

Bob – Aspetta, so tutto fino alla terza dimensione, ma tu hai parlato di trecento dimensioni!

Alice – Puoi credere o non credere che esistano spazi a trecento dimensioni, ma sicuramente sai come sono fatti i loro punti: corrispondono perfettamente a sequenze di trecento numeri. Così come i punti di un piano a due dimensioni si identificano con le coppie, quelli dello spazio a tre dimensioni con le terne, è naturale definire uno spazio a quattro dimensioni come uno i cui punti si identificano con le quaterne di numeri, e così via. Per ogni n puoi immaginare uno spazio a n dimensioni semplicemente pensando i suoi punti come n-ple di numeri. Fra l’altro i computer riescono a trattare benissimo le n-ple di numeri, si chiamano array in informatica.

Bob – Aspetta, stai barando: va bene, so immaginare un insieme i cui elementi sono sequenze di trecento numeri, ma chi ti dice che un tale spazio esista veramente? E che c’entra con la classificazione dei documenti?

Alice – Alla prima domanda è facile rispondere: chi se ne importa! Che importa se esiste veramente uno spazio a trecento dimensioni? Il piano cartesiano è un “modello” per il piano euclideo: ma per tracciare i tuoi grafici e sviluppare tutta la geometria analitica basta che ci sia il modello, non è necessario che esista da qualche parte un oggetto reale che gli corrisponda. Soprattutto volendo programmare il modello in un computer, che importa se corrisponde veramente a qualcosa che esiste in natura? Tanto il computer vede solo il modello!

Bob – Questa mi pare più filosofia che matematica… ma mi interessa di più la risposta alla seconda domanda.

Alice – Prendiamo per esempio un qualsiasi documento, che so il capitolato di una gara d’appalto: da cosa è fatto il documento?

Bob – Beh, da un sacco di pagine.

Alice [alzando gli occhi al cielo] – Da parole, Bob, da parole. Un documento è una sequenza ordinata di parole, vabbe’ magari ci sono anche figure, numeri di pagina e altro, ma quello che tu leggi sono le parole. Ora immagina di determinare tutte le parole che figurano in un documento: per esempio la parola “anche”, molto comune, potrebbe figurarvi 30 volte, mentre la parola “necessariamente”, meno comune, potrebbe figurarvi 5 volte, e così via…

Bob – Non mi dire, forse ho capito: a ogni parola associ un numero, quindi una parola è come una x o una y nel piano cartesiano?

Alice [sorridendo] – Grande! Quelle che tu chiami x e y sono le dimensioni dello spazio cartesiano: ricorda che uno spazio a trecento dimensioni è fatto dalle sequenze di trecento numeri, e ciascun numero corrisponde a una dimensione. Ora immagina di considerare uno spazio in cui per ciascuna parola c’è una dimensione. In questo modo il documento è rappresentato da un punto in questo spazio, sulla base del valore associato a qualsiasi sua parola.

Bob – Quindi il tuo prodotto associa a un documento un punto in uno spazio a trecento dimensioni, anzi a ogni documento del sistema documentale. E poi magari va a vedere quanto questi punti sono vicini per dire quanto due documenti sono simili?

Alice – Esattamente! Certo, devi usare un algoritmo che associ in modo intelligente un numero a una parola: io ho fatto l’esempio del numero di volte che compare nel documento, ma ci sono modi più sofisticati di farlo. Nel mio prodotto, uso una neurale per calcolare le coordinate associate alle parole in un documento, e questo algoritmo è così preciso che due documenti con significato simile finiscono per essere vicini come punti dello spazio.

Bob – Ma in italiano ci sono più di trecento parole… dovresti usare spazi con decine di migliaia di parole!

Alice – Giusta osservazione. Il fatto è che da un lato ci sono tecniche molto potenti per ridurre le dimensioni che servono per rappresentare un documento, o un dato qualsiasi se è per questo. Dall’altro ci sono alcuni algoritmi di ultima generazione che associano non a documenti ma a singole parole degli array di numeri, e offrono risultati ancora più precisi non solo nella classificazione ma anche in altri ambiti di comprensione da parte di un computer delle lingue umane.

Bob [guardandosi intorno] – Accidenti, sono tutti rientrati al workshop, e anche io devo: parla un mio collega e ci siamo anche preparati una domanda combinata che gli devo fare io.

Alice – Dai ne riparliamo quando vuoi. [ridendo] Comunque tu e i tuoi colleghi siete incorreggibili! Va a finire che gli faccio una bella domandina io!

Bob – Sicuramente riusciresti a… ridimensionarci.

Facebook Comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here