modello semantico

Negli ultimi anni è diventato sempre più evidente che l’Intelligenza Artificiale modificherà profondamente il modo in cui analizziamo i dati riguardanti il linguaggio naturale. Uno dei motivi è il progresso delle tecniche note come unsupervised word embedding, che sfruttano l’informazione semantica codificata nei testi per creare in modo automatico modelli semantici. Le applicazioni pratiche di queste tecniche sono innumerevoli ed è probabile che, se non ti è già successo, anche tu verrai presto a contatto con alcune di esse. Se vuoi approfondire un po’ le tue conoscenze in questo ambito, ti consiglio di continuare a leggere!

Come esempio concreto, ci si può focalizzare su uno degli obiettivi di Inda, che necessita di un modello semantico per supportare gli HR in alcuni task comuni e ripetitivi legati al recruiting. Molti recruiter hanno frequentemente la necessità di fare una selezione dei CV, raccolti come risposta a un annuncio di lavoro o come candidature spontanee. Tipicamente vogliono selezionare i CV che sono più rilevanti per determinate skills o i CV più pertinenti a una job description. Quello che vogliono è quindi identificare i testi (i CV) che sono le migliori corrispondenze per un insieme di parole (le skills) o i testi più in linea con un altro testo di tipo diverso (la job description). I modelli semantici sono  strumenti che ci permettono di tradurre a livello matematico il concetto di “miglior corrispondenza” per testi o parole.

screening CV

Grazie al progresso degli algoritmi di unsupervised word embedding (e dei loro parenti, gli unsupervised document embedding), è sufficiente raccogliere un insieme di documenti di testo nel campo di interesse (nel nostro caso un insieme di CV e un insieme di job description) e usare uno di questi algoritmi per costruire un modello semantico, senza bisogno di investire tempo e risorse per classificare testi o creare ontologie.

Potrebbe sembrare quindi che, grazie ai word embedding, la creazione di un modello semantico sia semplice e a basso costo. E’ davvero così? Non esattamente: da una parte è vero che questi algoritmi sono strumenti potenti, in grado di fronteggiare una varietà di task semantici, ma, d’altra parte, per ottenere un buon modello semantico è necessario affrontare molte scelte complesse.

Innanzitutto occorre scegliere l’algoritmo per il word embedding, che è una scelta non banale, in quanto algoritmi diversi performano meglio in task diversi; dopodiché occorre effettuare la cosiddetta validazione del modello, ovvero si deve trovare il valore ottimale per ogni iperparametro (per esempio, un iperparametro è il numero di dimensioni nell’embedding). È probabile che si debba anche scegliere il modo esatto in cui il word embedding è usato per risolvere il task semantico di interesse: per esempio, se si vuole trovare quale CV è la migliore corrispondenza per una job description, si deve considerare tutto il testo del CV o della job description come ugualmente importante, oppure conviene focalizzarsi su alcune parti del testo? E come si possono identificare queste parti?

Essendoci molte scelte da fare, è come se ci fossero molti modelli candidati, senza un motivo a priori per preferirne uno rispetto agli altri. Quindi, come si decide quale modello scegliere?

Ecco cinque suggerimenti che possono essere d’aiuto per fare la scelta migliore.

1. Costruire una metrica di valutazione adatta per il proprio obiettivo

Questo potrebbe sembrare ovvio, ma è fondamentale comprendere che se si deve scegliere fra molti modelli, è necessario avere una metrica che misuri le performance di ogni modello, in modo da poter scegliere il modello con le performance migliori. Lo step fondamentale per definire la metrica di valutazione è la scelta del task da eseguire durante la valutazione. Una volta scelto tale task, con l’aiuto della letteratura scientifica, si può dare una precisa definizione matematica della metrica di valutazione.

2. Valutare i modelli mentre eseguono la stessa tipologia di task che si vuole risolvere

valutazione modello

La letteratura scientifica sui word embedding conferma la verità quasi lapalissiana che se si vuole scegliere un modello semantico che sia il migliore nello svolgimento di uno specifico task (il cosiddetto downstream task), si devono valutare i modelli candidati mentre eseguono quello stesso task.  Il fatto che il downstream task sia per definizione il terreno di valutazione ottimale per scegliere il modello è evidente. Tuttavia, la raccolta di dati per eseguire tale task in modo supervisionato può essere molto difficile o molto costosa, quindi  è probabile che si debba fare un compromesso sul volume di dati raccolti.

3. Essere consapevoli del problema dell’overfitting

I dati etichettati – come quelli necessari per eseguire il downstream task in modo supervisionato – sono preziosi e limitati e i data scientists sono sempre tentati di sfruttarli oltre il limite imposto dalla teoria della generalizzazione. Il probabile risultato di questa situazione va sotto il nome di overfitting ed è uno dei più importanti problemi del machine learning, per cui va usata la massima cautela per cercare di evitarlo (o almeno limitarlo). Una regola d’oro per evitare l’overfitting è evitare di sfruttare eccessivamente un singolo dataset di validazione.

4. Usare diversi metodi di valutazione

Come detto precedentemente, per evitare l’overfitting, occorre limitare il più possibile l’utilizzo dei dataset più preziosi, in modo da usarli solo per poche decisioni cruciali. Perciò, quando possibile, conviene basare le proprie scelte su altri dataset “a buon mercato”. Per questo motivo è buona norma raccogliere tutti i dataset disponibili che potrebbero essere utili per la valutazione del proprio modello semantico; un esempio di tali dataset sono quelli progettati per la valutazione del word embedding (la cosiddetta valutazione intrinseca), che sono facilmente adattabili e riutilizzabili. Pur sapendo che la valutazione intrinseca è subottimale rispetto alla valutazione sul proprio downstream task, essa può essere estremamente utile, in particolare se combina molti approcci diversi per la valutazione del word embedding (la loro combinazione è più robusta, poiché ogni singolo approccio ha punti deboli diversi).

5. Essere consapevoli dell’hubness problem

Ogniqualvolta si performa la valutazione intrinseca di un word embedding, occorre essere consapevoli di una questione che può sembrare oscura, ma è molto reale: l’hubness problem. A causa dell’elevata dimensionalità dell’embedding, la maggior parte delle parole tende ad avere come primo vicino un membro di un piccolo gruppo di parole privilegiate dette hubs. Ciò è probabile che abbia ripercussioni sul downstream task e va tenuto in considerazione penalizzando i modelli che sono più suscettibili all’hubness problem (un modo per riconoscerli è il controllo della performance dei modelli in presenza di parole rare).

Questi cinque suggerimenti sono stati di grande aiuto nel miglioramento del modello semantico di Inda e possono essere utili anche in contesti diversi, in tutti i casi in cui si voglia scegliere/validare un modello semantico. Per chi fosse interessato a sporcarsi le mani con un esempio pratico, LavaEmber è un’app che permette di giocare con la procedura di valutazione di un modello semantico assegnando dei voti a coppie di parole appartenenti a diverse aree semantiche legate al mondo del recruiting.


Scarica il paper originale “On the Choice of a Semantic Model” redatto da Pierangelo Lombardo, PhD in Statistical Physics e Data Scientist di Inda.

Recent Posts

intelligenza artificiale machine learning
modello semantico
word2vec
engagement sentiment analysis
computer vision

CONTATTI

+39 011 586 2407
Via Amedeo Avogadro, 20 – Torino

Copyright © 2020 Inda

Inda è una soluzione di Intervieweb S.r.l. Società del gruppo Zucchetti P.IVA: 10067590017

Privacy policy   Cookie policy