Che cos'è l'analisi semantica latente?

Autore

Jacob Murel Ph.D.

Senior Technical Content Creator

Joshua Noble

Data Scientist

Che cos'è l'analisi semantica latente?

Nel machine learning, l'analisi semantica latente (LSA) è una tecnica di modellazione degli argomenti che analizza la co-occorrenza delle parole per scoprire argomenti latenti nei documenti. L'LSA utilizza la riduzione della dimensionalità per creare dati strutturati da testo non strutturato per facilitare la classificazione e il recupero del testo.

L'LSA è una delle due principali tecniche di modellazione degli argomenti, l'altra è l'allocazione latente di Dirichlet (LDA). La modellazione degli argomenti è una tecnica di elaborazione del linguaggio naturale (NLP) che applica l'apprendimento non supervisionato a set di dati di testo di grandi dimensioni per produrre un set di riepilogo dei termini derivati da tali documenti. Questi termini intendono rappresentare l'insieme generale di argomenti principali della raccolta. I modelli di argomento mirano a scoprire i temi o gli argomenti latenti che caratterizzano un numero di documenti.1

Gli utenti possono generare modelli di argomenti LSA utilizzando il Natural Language Toolkit (NLTK) di scikit-learn (comunemente noto come sklearn) e gensim in Python. Anche i pacchetti topic models e lsa in R contengono funzioni per generare modelli di argomenti LSA.

Recupero delle informazioni

L'analisi semantica latente è associata all'indicizzazione semantica latente (LSI), una tecnica di recupero delle informazioni. Nei sistemi di recupero delle informazioni, l'LSI utilizza la stessa procedura matematica alla base dell'LSA per mappare le query degli utenti ai documenti in base alla co-occorrenza delle parole. Se un utente interroga un sistema per valzer e foxtrot, potrebbe essere interessato a documenti che non contengono nessuno di questi termini ma contengono termini che spesso coincidono con i termini di ricerca. Ad esempio, tango e bolero possono spesso coesistere con i termini della ricerca e dovrebbero indicare documenti sullo stesso argomento. L'LSI indicizza i documenti in base a gruppi di parole semantiche latenti costituiti da parole comunemente co-occorrenti. In questo modo, può migliorare i risultati dei motori di ricerca. L'LSA applica la stessa procedura matematica dell'LSI per catturare la struttura semantica nascosta alla base di grandi raccolte di documenti.2

Le ultime tendenze in materia di AI, proposte da esperti

Ricevi insight selezionati sulle notizie più importanti e interessanti sull'AI. Iscriviti alla nostra newsletter settimanale Think. Leggi l'Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

L'abbonamento sarà fornito in lingua inglese. Troverai un link per annullare l'iscrizione in tutte le newsletter. Puoi gestire i tuoi abbonamenti o annullarli qui. Per ulteriori informazioni, consulta l'Informativa sulla privacy IBM.

Come funziona l'analisi semantica latente

Matrice documento-termine

L'LSA inizia con la matrice documento-termine o talvolta con la matrice termine-documento. In questo modo viene visualizzato il numero di occorrenze per ogni parola in tutti i documenti. In Python (per fare un esempio), gli utenti possono costruire queste matrici utilizzando un dataframe di pandas. Ecco un esempio di matrice documento-termine con tre stringhe di testo come singoli documenti:

d1: My love is like red, red roses

d2: Roses are red, violets are blue

d3: Moses supposes his toes-es are roses

esempio di matrice documento-termine con tre documenti

Questa matrice mostra la frequenza di ogni parola in tutti e tre i documenti dopo la tokenizzazione e la rimozione delle stop word. Ogni colonna corrisponde a un documento, mentre ogni riga corrisponde a una parola specifica che si trova nell'intero corpus di testo. I valori nella matrice indicano il numero di volte in cui un dato termine appare in un dato documento. Se il termine w ricorre n volte all'interno del documento d, allora [w,d] = n. Così, per esempio, il documento 1 usa "red" due volte, e quindi [red, d1] = 2.

Dalla matrice dei termini del documento, l'LSA produce una matrice documento-documento e una matrice termine-termine. Se le dimensioni della matrice documento-termine sono definite come d documenti per w parole, allora la matrice documento-documento è d volte d e la matrice termine-termine è w volte w. Ogni valore nella matrice documento-documento indica il numero di parole che ogni documento ha in comune. Ogni valore nella matrice termine-termine indica il numero di documenti in cui co-occorrono due termini.3

La scarsità dei dati, che porta all'overfitting del modello, si verifica quando la maggior parte dei valori dei dati in un determinato set di dati è null (ovvero vuota). Ciò accade regolarmente quando si costruiscono matrici documento-termine, per le quali ogni singola parola è una dimensione di riga e spazio vettoriale separata, poiché un documento mancherà regolarmente della maggior parte delle parole che sono più frequenti in altri documenti. In effetti, l'esempio di matrice documento-termine qui utilizzata contiene numerosi usi per parole come Moses, violets e blue che appaiono in un solo documento. Naturalmente, le tecniche di pre-elaborazione del testo, come la rimozione delle parole non significative, lo stemming e la lemmatizzazione, possono aiutare a ridurre la scarsità. Tuttavia, l'LSA offre un approccio più mirato.

Riduzione della dimensionalità

L'LSA utilizza una tecnica di riduzione della dimensionalità nota come scomposizione a valore singolare (SVD) per ridurre la scarsità nella matrice documento-termine. L'SVD alimenta molti altri approcci di riduzione delle dimensioni, come l'analisi delle componenti principali. L'SVD aiuta ad alleviare i problemi derivanti dalla polisemia, parole singole che hanno più significati, e dalla sinonimia, parole diverse con un significato simile.

Utilizzando le matrici calcolate dai termini tra le matrici documento-documento e termine-termine, l'algoritmo LSA esegue l'SVD sulla matrice termine-documento iniziale. Questo produce nuove matrici speciali di autovettori che suddividono le relazioni termine-documento originali in fattori linearmente indipendenti. La più importante di queste è la matrice diagonale di valori singolari prodotta dalle radici quadrate degli autovalori della matrice documento-documento. In questa matrice diagonale, spesso rappresentata come Σ, i valori sono sempre positivi e disposti in ordine decrescente lungo la diagonale della matrice:

Esempio di matrice sigma sparsa

Come mostrato in questo esempio di matrice Σ, molti dei valori più bassi sono prossimi allo zero. Lo sviluppatore determina un valore di cut-off appropriato per la propria situazione e riduce a zero tutti i valori singolari in Σ al di sotto di tale soglia. Ciò significa in pratica rimuovere tutte le righe e le colonne interamente occupate da zeri. Di conseguenza, eliminiamo righe e colonne anche dalle altre matrici originali fino a farle corrispondere per numero di righe e colonne a Σ. Ciò riduce le dimensioni del modello.4

Confronto dei documenti

Una volta che le dimensioni del modello sono state ridotte tramite l'SVD, l'algoritmo LSA confronta i documenti in uno spazio semantico dimensionale inferiore utilizzando la similarità del coseno. Il primo passo di questa fase di confronto prevede la mappatura dei documenti nello spazio vettoriale. In questo caso, l'LSA tratta i testi come un modello di bag of words. L'algoritmo traccia ogni testo del corpus o dei corpora come vettore di documenti, con le singole parole della matrice ridotta come dimensioni di tale vettore. La tracciatura ignora l'ordine delle parole e il contesto, concentrandosi invece sulla frequenza con cui le parole ricorrono e sulla frequenza con cui co-occorrono nei documenti.5

Con i modelli di bag of words, le parole semanticamente irrilevanti (ad esempio, parole come the e some e altre parole simili) possono avere la frequenza di termini più alta e quindi il maggior peso in un modello. Il Term Frequency-Inverse Document Frequency (TF-IDF) è una tecnica per correggere questo problema. Lo fa tenendo conto della prevalenza di una parola in ogni documento di un set di testo e ponderando le parole in ogni documento in base alla prevalenza della parola nel corpus.6

Una volta che i documenti sono stati tracciati nello spazio vettoriale, l'algoritmo LSA utilizza le metriche di similarità del coseno per confrontarli. La similarità del coseno indica la misura dell'angolo tra due vettori nello spazio vettoriale. Può essere qualsiasi valore compreso tra -1 e 1. Più alto è il punteggio del coseno, più i due documenti sono simili. La similarità del coseno è rappresentata da questa formula, dove a e b indicano due vettori di documento:7

equazione del punteggio di similarità del coseno

Ricerche recenti

Esistono numerosi casi d'uso per i modelli di argomento, dalla critica letteraria8 alla bioinformatica9 al rilevamento dell'incitamento all'odio nei social media.10 Come per molte attività di NLP, una parte significativa della ricerca sulla modellazione degli argomenti nel corso degli anni riguarda l'inglese e altre lingue latine. Più recentemente, tuttavia, la ricerca ha esplorato gli approcci di modellazione tematica per l'arabo e altre lingue non latine.11 La ricerca si è anche concentrata su come i modelli linguistici di grandi dimensioni (LLM) potrebbero far progredire e migliorare i modelli di argomento. Ad esempio, uno studio sostiene che gli LLM forniscono un metodo automatizzato per risolvere problemi di lunga data nella modellazione degli argomenti, vale a dire come determinare il numero appropriato di argomenti e come valutare gli argomenti generati.12

Mixture of Experts | 12 dicembre, episodio 85

Decoding AI: Weekly News Roundup

Unisciti al nostro gruppo di livello mondiale di ingegneri, ricercatori, leader di prodotto e molti altri mentre si fanno strada nell'enorme quantità di informazioni sull'AI per darti le ultime notizie e gli ultimi insight sull'argomento.

Soluzioni correlate
IBM watsonx Orchestrate

Progetta facilmente assistenti e agenti di AI scalabili, automatizza le attività ripetitive e semplifica i processi complessi con IBM watsonx Orchestrate.

Scopri watsonx Orchestrate
Strumenti di elaborazione del linguaggio naturale e API

Accelera il valore aziendale dell'intelligenza artificiale con un portfolio potente e flessibile di librerie, servizi e applicazioni.

Esplora le soluzioni NLP
Consulenza e servizi sull'AI

Reinventa i flussi di lavoro e le operazioni critiche aggiungendo l'AI per massimizzare le esperienze, il processo decisionale in tempo reale e il valore di business.

Esplora i servizi AI
Fai il passo successivo

Progetta facilmente assistenti e agenti di AI scalabili, automatizza le attività ripetitive e semplifica i processi complessi con IBM watsonx Orchestrate.

Scopri watsonx Orchestrate Esplora le soluzioni NLP
Note a piè di pagina

1 Daniel Jurafsky e James Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition, 3a edizione, 2023, https://web.stanford.edu/~jurafsky/slp3/ (link esterno a ibm.com). Jay Alammar e Maarten Grootendorst, Hands-On Large Language Models, O'Reilly, 2024.

2 Christopher Manning e Hinrich Schütze, Foundations of Statistical Natural Language Processing, MIT Press, 2000.

3 Scott Deerwester, Susan Dumais, George Furnas, Thomas Landauer e Richard Harshman, "Indexing by Latent Semantic Analysis", Journal of the American Society for Information Science, Vol. 41, n. 6, 1990, pagg. 391-407, https://asistdl.onlinelibrary.wiley.com/doi/abs/10.1002/%28SICI%291097-4571%28199009%2941%3A6%3C391%3A%3AAID-ASI1%3E3.0.CO%3B2-9 (link esterno a ibm.com). Alex Thomo, "Latent Semantic Analysis", https://www.engr.uvic.ca/~seng474/svd.pdf (link esterno a ibm.com).

4 Hana Nelson, Essential Math for AI, O'Reilly, 2023. Scott Deerwester, Susan Dumais, George Furnas, Thomas Landauer e Richard Harshman, "Indexing by Latent Semantic Analysis", Journal of the American Society for Information Science, Vol. 41, n. 6, 1990, pagg. 391-407, https://asistdl.onlinelibrary.wiley.com/doi/abs/10.1002/%28SICI%291097-4571%28199009%2941%3A6%3C391%3A%3AAID-ASI1%3E3.0.CO%3B2-9 (link esterno a ibm.com).

5 Matthew Jockers, Text Analysis with R for Students of Literature, Springer, 2014.

6 Alice Zheng e Amanda Casari, Feature Engineering for Machine Learning, O'Reilly, 2018.

7 Elsa Negre, Information and Recommender Systems, Vol. 4, Wiley-ISTE, 2015. Hana Nelson, Essential Math for AI, O'Reilly, 2023.

8 Derek Greene, James O'Sullivan e Daragh O'Reilly, "Topic modelling literary interviews from The Paris Review", Digital Scholarship in the Humanities, 2024,https://academic.oup.com/dsh/article/39/1/142/7515230?login=false(link esterno a ibm.com).

9 Yichen Zhang, Mohammadali (Sam) Khalilitousi e Yongjin Park, "Unraveling dynamically encoded latent transcriptomic patterns in pancreatic cancer cells by topic modeling", Cell Genomics, Vol. 3, n. 9, 2023, https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10504675/ (link esterno a ibm.com).

10 Richard Shear, Nicholas Johnson Restrepo, Yonatan Lupu e Neil F. Johnson, "Dynamic Topic Modeling Reveals Variations in Online Hate Narratives", Intelligent Computing, 2022, https://link.springer.com/chapter/10.1007/978-3-031-10464-0_38 (link esterno a ibm.com).

11 Abeer Abuzayed e Hend Al-Khalifa, "BERT for Arabic Topic Modeling: An Experimental Study on BERTopic Technique", Procedia Computer Science, 2021, pagg. 191-194, https://www.sciencedirect.com/science/article/pii/S1877050921012199 (link esterno a ibm.com). Raghad Alshalan, Hend Al-Khalifa, Duaa Alsaeed, Heyam Al-Baity e Shahad Alshalan, “Detection of Hate Speech in COVID-19--Related Tweets in the Arab Region: Deep Learning and Topic Modeling Approach", Journal of Medical Internet Research, Vol. 22, n. 12, 2020, https://www.jmir.org/2020/12/e22609/ (link esterno a ibm.com).

12 Dominik Stammbach, Vilém Zouhar, Alexander Hoyle, Mrinmaya Sachan ed Elliott Ash, "Revisiting Automated Topic Model Evaluation with Large Language Models", Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing, 2023, pagg. 9348-9357, https://aclanthology.org/2023.emnlp-main.581/ (link esterno a ibm.com).