Scopri Polaris

Compliance & Certificazioni

Brand page

Artificial Intelligence

Trasformazione Digitale

Risorse

Digital twin

Simulation

IoT

Big Data

Advanced Manufacturing

Additive Manufacturing

Cyber Security

Industria 4.0

Augmented Reality/Virtual Reality

Potenziare la catena del valore

Agricolture 4.0

Polaris

Ageria

Deepclever

Strategy

Software Aziendali

The Polaris AI Team

Change Management

Finance Consulting

Infrastructure Services

Zero Based Mindset

Supply Chain

Filiere

Meccanica
Tessile
Plastica

Strategies & Decision Making

Mechanical Advanced Analytics SaaS
Energy Platform

Advance Planning

Mechanical Advanced Planning & Scheduling SaaS
Mechanical Warehouse Operation SaaS

Execution

Mechanical IoT Platform SaaS
Platform Mechanical Innovation GO SaaS

Operation Technology

Infrastructure Services

Classificazione Semi-Supervisionata con A*: un Case Study sulla Fatturazione Elettronica

Intelligenza Artificiale, News

 Abstract 

Questo articolo affronta il compito intensivo in termini di tempo di assegnare etichette accurate alle voci delle fatture all’interno della contabilità aziendale. Nonostante l’avvento della fatturazione elettronica, molte soluzioni software si basano ancora su approcci basati su regole che non riescono a affrontare la natura complessa di questa sfida. Mentre il machine learning promette risultati positivi per compiti ripetitivi come questo, la presenza di dati di addestramento di bassa qualità rappresenta spesso un ostacolo. Frequentemente, le etichette si riferiscono a righe di fattura a livello di gruppo anziché a livello individuale, portando all’esclusione di numerose registrazioni durante la pre-elaborazione. Per migliorare l’efficienza di un classificatore di voci di fattura all’interno di un contesto semi-supervisionato, questo studio propone un approccio innovativo che combina il classificatore con l’algoritmo di ricerca sul grafo A*. Attraverso sperimentazioni con vari classificatori, i risultati hanno dimostrato in modo coerente un notevole aumento dell’accuratezza, compreso tra l’1% e il 4%. Questo miglioramento è principalmente attribuito a una marcata riduzione del tasso di scarto dei dati, che è passato dal 39% al 14%. Questo articolo contribuisce alla letteratura presentando un metodo che sfrutta la sinergia di un classificatore e della ricerca sul grafo A* per superare le sfide poste dall’informazione limitata e a livello di gruppo nel campo della classificazione delle fatture elettroniche. 

Parole chiave: classificazione multi-classe; labeling automatica delle fatture; apprendimento semi-supervisionato; ricerca sul grafo. 

1. Introduzione

La contabilità aziendale rappresenta un settore ricco di compiti ripetitivi e altamente automatizzabili, offrendo un terreno fertile per l’integrazione dell’intelligenza artificiale a supporto dei professionisti della contabilità. In effetti, il ruolo dei contabili è ampiamente riconosciuto come uno dei più suscettibili alla computerizzazione, come dimostra un paper di ricerca [1]. In questo contesto di tecnologia in evoluzione, il nostro studio approfondisce un aspetto critico della contabilità aziendale: la classificazione delle voci di fatturazione [2,3]. Utilizzando innovative tecniche di apprendimento automatico, miriamo a alleviare l’onere del lavoro manuale, semplificare i processi e migliorare l’efficienza complessiva nel campo della fatturazione elettronica. La fatturazione elettronica, spesso indicata come e-invoicing, è emersa come un approccio contemporaneo, affidabile ed efficiente per la gestione e l’elaborazione delle fatture relative a prodotti, servizi, tasse e vari beni, eliminando la necessità di documenti cartacei fisici [4]. La fatturazione elettronica offre una serie di vantaggi convincenti. In primo luogo, accelera i processi di transazione, portando a tempi di consegna più rapidi, ritardi nei pagamenti più brevi e una notevole riduzione degli errori umani. In secondo luogo, la fatturazione elettronica promette l’automazione, soprattutto quando si utilizza un formato strutturato, semplificando la generazione e il trasferimento senza soluzione di continuità delle fatture lungo la catena di approvvigionamento. Inoltre, comporta vantaggi in termini di efficienza economica, riducendo la necessità di stampa e spedizione. Per i consumatori, questo approccio digitale migliora la comodità, riducendo la probabilità di dimenticare i pagamenti e di conseguenza riducendo il rischio di multe. Oltre a questi vantaggi pratici, la fatturazione elettronica contribuisce a un ambiente più ecologico, riducendo il consumo di carta e i costi energetici associati al trasporto fisico delle fatture da un luogo all’altro [5]. Questi vantaggi hanno spinto i legislatori di tutto il mondo a emanare leggi volte a incentivare le aziende ad adottare questa innovativa tecnologia [3]. Tuttavia, è importante notare che anche in questo contesto elettronico, persiste un notevole lavoro manuale [2]. Questa persistenza è attribuita a diverse sfide chiave: 

  • Complessità della Categorizzazione: Al centro della fatturazione elettronica c’è la categorizzazione delle voci di fattura all’interno del libro mastro generale. Ogni voce deve conformarsi a un sistema specifico di categorie, offrendo un alto grado di flessibilità. Le singole aziende personalizzano spesso queste categorie per soddisfare le proprie esigenze uniche. Di conseguenza, la stessa voce di fattura può generare diverse categorie in aziende diverse. Inoltre, un emittente può fornire più servizi o prodotti con motivi di fatturazione distinti, rendendo la categorizzazione automatica un compito non banale [6]. 
  • Evoluzione della Legislazione Contabile: Un altro livello di complessità deriva dalle normative contabili in continua evoluzione progettate per adattarsi all’economia dinamica. Questi cambiamenti possono influenzare significativamente la logica e le procedure coinvolte nel processo di fatturazione, richiedendo soluzioni adattive [4]. 
  • Sistemi Basati su Regole: Per affrontare queste complessità, molti programmi software hanno introdotto sistemi basati su regole. Sebbene efficaci in scenari semplici, questi sistemi faticano a mantenere la vasta gamma di regole necessarie per gestire situazioni complesse e variegate [7]. 

Le sfide qui delineate sottolineano la necessità di soluzioni innovative in grado di adattarsi alle normative in evoluzione, gestire diverse situazioni di categorizzazione e alleviare il persistente onere del lavoro manuale sui contabili. La classificazione delle fatture elettroniche rappresenta una sfida significativa nel campo dell’intelligenza artificiale, attirando l’attenzione di ricercatori e professionisti [8]. Gli sforzi precedenti hanno affrontato la complessità computazionale derivante dalla necessità di costruire un s per l’apprendimento supervisionato che combina informazioni da due documenti distinti: le fatture elettroniche e il libro mastro. Una delle sfide fondamentali in questo contesto è stabilire un matching diretto tra le singole linee di fattura (cioè, i campioni da classificare) e i rispettivi conti contabili (cioè, le variabili target) [8]. Questa sfida deriva dalla granularità delle linee di fattura, che forniscono una dettagliata suddivisione delle transazioni, in contrasto con la più ampia e gerarchica categorizzazione presente nel libro mastro. È importante sottolineare che il libro mastro non contiene informazioni intrinseche su quali linee siano categorizzate in un conto specifico, oscurando l’associazione tra di loro. Di conseguenza, una notevole quantità di dati potenzialmente preziosi viene scartata durante la fase di costruzione del dataset a causa dell’incapacità di abbinare i dati alle rispettive etichette target. Tuttavia, questi dati non etichettati contengono informazioni preziose che potrebbero migliorare significativamente le prestazioni del classificatore se utilizzati efficacemente. Per affrontare questa sfida, adottiamo un approccio di apprendimento semi-supervisionato [9], in cui i dati non etichettati vengono accoppiati a pseudo-labels. In questo articolo, il nostro approccio si distingue per la mitigazione di una limitazione critica dell’apprendimento semi-supervisionato, ovvero la qualità delle pseudo-labels, sfruttando l’algoritmo di ricerca A*. Più precisamente, gli obiettivi principali di questo studio possono essere riassunti nei seguenti punti: 

  • Automatizzare la Fatturazione Elettronica: l’obiettivo principale è ridurre la necessità di un intervento manuale esteso nel processo contabile. 
  • Migliorare l’Accuratezza della Classificazione: per raggiungere il primo obiettivo, è necessario migliorare l’accuratezza e ridurre le erronee classificazioni e gli errori dell’algoritmo di apprendimento automatico. 
  • Sviluppare un Framework Semi-Supervisionato: progettare e implementare un algoritmo di apprendimento semi-supervisionato in grado di integrare dati supervisionati e non supervisionati. 
  • Superare le sfide nella generazione delle pseudo-labels e sfruttare la struttura gruppo-istanza: indagare, proporre e implementare metodologie in grado di generare in modo efficace pseudo-labels di alta qualità per i dati non supervisionati utilizzando un algoritmo di ricerca sul grafo (A*). 

In sintesi, il nostro scenario offre un approccio sistematico e completo all’apprendimento semi-supervisionato per affrontare le complesse sfide connesse alla classificazione delle fatture elettroniche. Ogni passaggio è attentamente progettato per ottimizzare l’accuratezza e l’efficienza nella classificazione all’interno del dominio della contabilità aziendale. La rilevanza di questo studio risiede nella sua potenziale capacità di apportare progressi significativi nel campo della classificazione delle fatture elettroniche nella contabilità aziendale. Nonostante i progressi compiuti nella fatturazione elettronica, persistono sfide nella categorizzazione accurata delle singole voci di fatturazione. Attraverso l’introduzione di un solido framework di apprendimento semi-supervisionato, in combinazione con la precisione dell’algoritmo di ricerca A*, questa ricerca mira ad affrontare un ostacolo persistente in questo campo. Lo studio mira a migliorare l’accuratezza e l’efficienza della classificazione delle fatture elettroniche, riducendo potenzialmente la dipendenza dai processi manuali e massimizzando l’utilità dei dati non supervisionati. Inoltre, questa ricerca si impegna a contribuire a nuove intuizioni nel settore e a offrire soluzioni pratiche in grado di consentire ai contabili aziendali di affrontare con maggiore precisione ed efficienza le complessità della fatturazione elettronica, segnando potenzialmente un significativo passo avanti nelle pratiche contabili aziendali.  

Dopo aver introdotto le domande di ricerca e gli obiettivi del nostro studio, nella Sezione 2 forniamo una panoramica dei lavori più recenti e significativi nello stesso campo, quindi il problema generale della classificazione delle voci di fattura è formalizzato nella Sezione 3. Nella Sezione 4 viene spiegato passo dopo passo l’approccio metodologico menzionato sopra per mostrare come sia utile nel risolvere il problema con un livello di accuratezza superiore. Successivamente, la Sezione 5 è dedicata a una discussione dei nostri esperimenti e dei miglioramenti ottenuti attraverso l’approccio semi-supervisionato. Infine, la Sezione 6 contiene le conclusioni.

2. Revisione della Letteratura

Negli ultimi anni, sono stati compiuti numerosi sforzi per applicare sistemi artificiali intelligenti nel campo della contabilità. Ci sono diversi lavori mirati a fornire una panoramica generale delle applicazioni e dei risultati dell’apprendimento automatico nella contabilità. Nel riferimento [10], gli autori tracciano alcune tipiche attività della professione di contabile in cui l’apprendimento automatico è stato applicato con successo, come la revisione di documenti di origine, l’analisi delle transazioni aziendali e la valutazione dei rischi, affrontando anche le implicazioni etiche di ciò; mentre il riferimento [11] si concentra principalmente sulle principali opportunità inesplorate per l’apprendimento automatico nella contabilità, e il riferimento [4] offre una revisione sistematica della letteratura nel campo della fatturazione elettronica. 

Storicamente, i primi tentativi di introdurre strumenti tecnologici per supportare il lavoro del contabile risalgono agli anni ’90, quando sono stati sviluppati i primi sistemi di riconoscimento ottico dei caratteri (OCR). Più recentemente, con l’avvento dell’intelligenza artificiale e dell’apprendimento automatico, sono stati compiuti progressi significativi in questo settore. Ad esempio, il lavoro di Tarawneh et al. mira a riconoscere, mediante l’addestramento di un classificatore automatico, fatture scritte a mano e stampate da macchina [12], mentre Ha et al. propongono un sistema per riconoscere la pagina iniziale di una fattura tra una serie di documenti aziendali [13]. Molto recentemente, Li ha sviluppato un sistema di riconoscimento automatico delle fatture che può riconoscere con precisione le informazioni digitali da un’immagine di fattura grazie all’apprendimento profondo [14]. Rassegne recenti sulle applicazioni di Computer Vision nel campo della contabilità sono [15,16]. 

Grazie anche all’avvento dell’apprendimento automatico, è stato possibile iniziare a fare stime e previsioni accurate nella contabilità basate su dati storici. Due esempi interessanti sono i seguenti. Nel riferimento [17], gli autori progettano un metodo per stimare le riserve per perdite (richieste future dei clienti) basate sui dati delle compagnie di assicurazioni, mentre viene presentato un sistema di rilevamento di frodi contabili basato su un classificatore di intelligenza artificiale nel riferimento [18]. 

2.1. Labeling Automatica delle Fatture

Il nostro lavoro si inserisce anche in questa famiglia, poiché propone un sistema per stimare la natura di una transazione, lo stesso obiettivo di [6,20,21]. Per quanto ne sappiamo, Bengtsson et al. sono stati i primi a occuparsi di questa specifica attività. Nel loro lavoro presentano alcune ricerche preliminari sull’uso dell’apprendimento automatico per la labeling automatica delle fatture, ma non riescono ancora a superare le tradizionali tecniche deterministiche. Successivamente, il lavoro di Bergdorf sostiene la superiorità di modelli di apprendimento automatico più avanzati rispetto a metodi basati su regole fisse quando si tratta di classificare le transazioni riportate in una fattura in base alla loro natura. Nel riferimento [21], gli autori hanno confrontato modelli tradizionali basati sulla frequenza dei termini come TF-IDF con modelli di convoluzione applicati alla classificazione del testo. Gli esperimenti mostrano che le reti neurali convoluzionali possono gestire frasi di testo brevi, anche con errori e refusi, ottenendo un punteggio di accuratezza complessiva dell’86,9%. Il riferimento [22] ha studiato la tassonomia gerarchica del codice contabile e ha conciliato i conti bancari. Sfruttando questa struttura, gli autori hanno aggiunto importanti caratteristiche al dataset e hanno ottenuto prestazioni con l’algoritmo Top-K Parent Boosting fino al 95,5%. 

Il contesto in cui abbiamo operato si presta particolarmente bene a continuare questa linea di ricerca perché in Italia è stato reso obbligatorio per tutte le attività commerciali emettere fatture elettroniche in formato XML standardizzato a partire da gennaio 2019. Infatti, Bardelli et al. [8] hanno confrontato diversi algoritmi di apprendimento automatico (Random Forest, AdaBoost e MultiLayer Perceptron) e tecniche di preelaborazione (Bag of Words e Word2Vec) su un ampio dataset di fatture (dell’ordine delle 300.000 righe). Gli autori hanno raggiunto un punteggio f1 fino al 98,9% e 89,8% per le fatture inviate e ricevute, rispettivamente. All’interno del loro lavoro, Bardelli et al. si sono scontrati con la sfida di costruire un dataset puramente supervisionato, il che li ha portati a scartare il 39% dei dati potenzialmente utilizzabili. 

Il nostro contributo in questo ambito risiede proprio nell’ottimizzazione dei dati delle fatture ricevute, lavorando in un contesto di apprendimento semi-supervisionato con l’obiettivo di ridurre il tasso di scarto e, di conseguenza, migliorare l’accuratezza dei modelli di classificazione. 

 

2.2. Apprendimento Semi-Supervisionato 

L’apprendimento semi-supervisionato occupa una posizione concettuale intermedia tra l’apprendimento supervisionato e l’apprendimento non supervisionato, consentendo l’utilizzo di volumi sostanziali di dati non etichettati comunemente presenti in numerosi scenari, insieme a insiemi relativamente più piccoli di dati etichettati [9]. 

Nel panorama dell’apprendimento semi-supervisionato, esistono due approcci principali: induttivo e trasduttivo [9]. Nell’approccio induttivo, l’attenzione è focalizzata sulla costruzione di un modello di classificazione iniziale utilizzando i dati etichettati, che viene quindi applicato per effettuare previsioni sui dati non etichettati. Al contrario, i metodi trasduttivi si occupano principalmente di generare previsioni di etichette specificamente per i dati non etichettati forniti [9]. 

Nella nostra ricerca, abbiamo scelto consapevolmente di adottare l’approccio induttivo. Questa decisione è in linea con il nostro obiettivo generale di addestrare un classificatore in grado di categorizzare efficacemente le voci delle fatture elettroniche. 

Va notato che altri ricercatori hanno applicato l’apprendimento semi-supervisionato induttivo su compiti di classificazione dei documenti. Ad esempio, il riferimento [23] ha adottato l’apprendimento semi-supervisionato basato su parole chiave per analizzare un corpus di documenti di testo non strutturato relativi a controversie sui crediti verso i clienti in una grande azienda. Secondo gli autori, l’approccio semi-supervisionato ha ridotto lo sforzo manuale per la labeling del 50% del tempo. In modo simile, il riferimento [24] ha affinato un variational autoencoder basato sull’architettura BERT per la classificazione del testo in un contesto semi-supervisionato. Gli autori hanno sperimentato su quattro dataset di benchmark (AG, Hatespeech, IMDB e Yahoo!) simulando etichette mancanti. Secondo i loro risultati, tale apprendimento semi-supervisionato è un approccio efficiente ed efficace alla classificazione del testo quando i dati e la computazione sono limitati. Inoltre, il riferimento [25] ha esplorato l’applicazione di reti neurali LSTM per l’incorporazione delle regioni di testo. Tale approccio, che può trasmettere concetti complessi, si è rivelato più utile delle incorporazioni di singole parole in isolamento. Il riferimento [26] ha valutato l’impatto della formazione avversaria e avversaria virtuale sulle prestazioni di regolarizzazione nei modelli di sequenza su compiti di classificazione del testo. Le prestazioni complessive sui dataset di benchmark hanno superato o sono state all’altezza delle prestazioni dello stato dell’arte. Inoltre, gli autori hanno identificato una migliore qualità delle incorporazioni delle parole. 

In sostanza, l’apprendimento semi-supervisionato ha dimostrato costantemente la sua efficacia ed efficienza nel rivelare conoscenze latenti nei dati non etichettati, senza gravare significativamente sugli esperti del settore con un aumento degli sforzi di labeling. Pertanto, si presenta come un paradigma di apprendimento ben adatto al contesto della nostra ricerca. 

2.3 Ricerca su Grafo 

Inoltre, molti degli approcci recenti per il machine learning semi-supervisionato sfruttano tecniche di regolarizzazione e incoraggiano il modello a generalizzare meglio ai dati non visti [27]. Una di queste tecniche sono i Metodi Basati su Grafi. In generale, i punti dati etichettati e non etichettati possono essere considerati come nodi di un grafo, e l’obiettivo è propagare le etichette dai nodi etichettati a quelli non etichettati utilizzando la similarità tra due nodi, che è riflessa da quanto sia forte il collegamento tra i due nodi [28]. Ad esempio, Ref. [29] ha propagato la sequenza di apprendimento dei dati non etichettati da esempi semplici a esempi difficili. In dettaglio, l’algoritmo alterna tra due paradigmi, insegnare per imparare e imparare per insegnare (TLLT). Nella fase dell’insegnamento-per-imparare, l’apprendista effettua la propagazione sugli esempi non etichettati più semplici designati dall’insegnante. Nella fase dell’apprendimento-per-insegnare, l’insegnante incorpora il feedback dell’apprendista per regolare la scelta degli esempi successivi più semplici. In modo simile, Ref. [30] ha addestrato una rete neurale profonda sui dati supervisionati. Successivamente, hanno costruito iterativamente un grafo dei vicini più vicini dell’intero set di addestramento nello spazio delle caratteristiche della rete corrente e hanno propagato le etichette ai dati non supervisionati. Infine, la rete è stata nuovamente addestrata sull’intero set di addestramento. Altri metodi basati su grafi possono essere trovati in Ref. [28]. 

Diversamente dalle applicazioni precedenti, il nostro contesto ci consente di sfruttare la struttura gerarchica della fattura e del libro mastro. Questa relazione permette di costruire un grafo molto particolare che differisce dalla tipica topologia dei metodi basati su grafi. Più precisamente, costruiamo il grafo dopo aver assegnato le pseudo-labels alle righe della fattura: un nodo è una soluzione candidata, ovvero un insieme di coppie {(riga, pseudo-label)}, mentre un arco è una modifica di una delle pseudo-labels. Qui, l’obiettivo è navigare nel grafo per trovare una soluzione valida, ovvero una soluzione è valida se tutte le pseudo-labels delle righe della fattura corrispondono al libro mastro. Poiché diversi algoritmi di ricerca su grafi possono essere applicati, come il cammino casuale, il depth-first o il breadth-first, nella Sezione 4.4 discutiamo la struttura del grafo e la condizione che consente l’adozione di una soluzione molto efficiente: la ricerca su grafo A*. 

2.4. Riepilogo della Letteratura 

La Tabella 1 comparativa offre un rapido riassunto visivo delle ricerche appena descritte, mostrando dove si colloca il nostro lavoro. 

La prima colonna si riferisce a lavori che hanno applicato tecniche di Computer Vision, come l’OCR; la seconda a ricerche che hanno utilizzato tecniche di Machine Learning per stimare quantità di interesse in contabilità; la terza a studi che si sono concentrati sul problema della determinazione della natura di una transazione, la quinta a lavori che hanno cercato di ottimizzare i dati disponibili lavorando in un contesto semi-supervisionato e, infine, l’ultima colonna, a articoli che l’hanno accoppiato con una ricerca su grafo. 

figura 1

Tavola 1: Confronto di lavori di ricerca in contabilità.

3. Descrizione del Problema 

Come anticipato, l’obiettivo centrale di questo lavoro è fornire a un contabile un classificatore di intelligenza artificiale accurato in grado di comprendere la natura delle varie transazioni che compongono una fattura al fine di ridurre l’intervento manuale che richiede molto tempo per etichettarle. 

La Tabella A1 nella sezione Appendice A presenta tutte le variabili necessarie per formulare il nostro problema. Si prega di far riferimento ad essa nelle prossime sezioni. 

Prima di procedere con la selezione e l’addestramento del modello, è necessario costruire un dataset contenente il maggior numero possibile di righe di fattura con i rispettivi codici, da cui l’algoritmo può apprendere la relazione input-output. 

Il nostro dataset di partenza D è costituito da coppie (X, S). Ogni fattura Xi ha una sezione corrispondente nel registro contabile Si, i U (spiegazioni più dettagliate sulla struttura delle fatture elettroniche sono fornite nell’Appendice B). Pertanto, la prima sfida riguarda la combinazione di dati provenienti da due diverse fonti: 

  • Da un lato, abbiamo una collezione di fatture Xi, ognuna con multiple righe xij, j = 1, …, Ni, dove Ni è il numero di righe in Xi. Le righe xij sono gli input del problema e devono essere associate a un’etichetta target yij;
  • Dall’altro lato, abbiamo il registro contabile, dove vengono registrate le transazioni finanziarie, divise in sezioni corrispondenti Si, con registrazioni in vari conti sik, k = 1, …, Mi, dove Mi è il numero di codici conto in Si. Mi ≤ Ni perché durante la registrazione delle transazioni un numero sconosciuto di righe di fattura xij della stessa natura viene aggregato in un singolo record sik. S è il documento da cui vengono estratte le etichette target come descritto di seguito.

L’ostacolo è che l’associazione di queste due diverse fonti è possibile solo a livello di documento, ossia X e S, grazie al numero di identificazione della fattura che appare in entrambi, ma sfortunatamente non è possibile, guardando le voci del registro, ricostruire immediatamente la relazione input-output per ciascuna riga xij a causa della procedura di aggregazione nelle righe sik. Nella Figura 1 è presentato un semplice esempio schematico di come appaiono i due documenti grezzi (Da ora in poi, in tutto il resto dell’articolo, il pedice i riferito a una fattura specifica verrà omesso volontariamente al fine di alleggerire la notazione. Quindi, da ora in poi, Xi sarà sostituito con X). 

figura 2

Figura 1: Un esempio semplice che rappresenta una fattura e le relative registrazioni nel registro contabile prima di qualsiasi elaborazione.

4. Proposta Metodologica 

L’approccio metodologico comprende cinque distinti passaggi concettuali: 

Matching – Problema dello Zaino: costruiamo il dataset da fatture e voci di registro. Per ogni fattura, impostiamo un problema dello zaino combinatorio per assegnare le righe ai conti contabili, ottenendo così due dataset: uno supervisionato e uno non supervisionato, a seconda se il problema dello zaino è risolvibile o meno. 

Pre-Addestramento: addestriamo una prima versione del classificatore di apprendimento automatico sul dataset supervisionato. 

Inferenza: utilizziamo il classificatore precedentemente addestrato sul dataset non supervisionato per assegnare una pseudo-etichetta a ciascuna riga. 

Validazione delle Pseudo-Etichette: sfruttiamo le voci di registro per convalidare le pseudo-etichette assegnate dal classificatore iniziale. Più precisamente, la previsione iniziale del classificatore è una soluzione candidata del problema dello zaino al passaggio 1. Se la soluzione risolve il problema dello zaino, convalidiamo le pseudo-labels; in caso contrario, utilizziamo un algoritmo di ricerca per trovare una soluzione valida al problema dello zaino. 

Addestramento: nella fase finale, il dataset ampliato, ora arricchito con dati non supervisionati completati dalle pseudo-labels, serve da base per il riaddestramento del classificatore. 

La Figura 2 evidenzia come abbiamo esteso un classico flusso di lavoro supervisionato nella risoluzione del problema della labeling delle fatture con il nostro metodo a cinque fasi. 

In questa sezione discuteremo, punto per punto, la metodologia proposta dal nostro lavoro. Infatti, abbiamo suddiviso questa sezione in cinque sotto-sezioni, ciascuna delle quali è dedicata a uno dei cinque passaggi metodologici descritti dal diagramma B nella figura sopra. 

La Sezione 4.1 modellerà il problema del matching dei documenti contenenti fatture e il registro contabile come un problema dello zaino, evidenziandone punti di forza e debolezze. Poi la Sezione 4.2 discuterà quali risultati possono essere ottenuti addestrando un modello di classificazione, che chiameremo pre-addestrato, sui dati accoppiati dal problema dello zaino. La Sezione 4.3, d’altra parte, introdurrà il primo aspetto di forte novità portato dal nostro lavoro: introdurrà infatti nel flusso di lavoro il concetto di pseudo-labels, cioè l’etichetta target inferita dal classificatore pre-addestrato per i dati non supervisionati. La Sezione 4.4 è la più importante nell’intero articolo perché introduce l’algoritmo A* come strumento per convalidare queste pseudo-labels. Infine, la discussione metodologica si conclude con la Sezione 4.5, che altro non è che un nuovo addestramento su un dataset ampliato. 

figura 3
Figura 2: Il diagramma del flusso di lavoro (A) descrive come il problema viene affrontato in un contesto puramente supervisionato. D’altra parte, il diagramma (B) presenta i componenti aggiuntivi nell’innovativo approccio semi-supervisionato che stiamo proponendo e evidenzia il minor numero di dati scartati.

 4.1. Matching – Problema dello Zaino 

Il problema della ricostruzione dei dati può essere affrontato sfruttando le informazioni sugli importi che sono inclusi sia nelle fatture XML (importi dettagliati riga per riga nella colonna c) che nell’ingresso nel registro contabile (importi aggregati nella colonna b). A partire da questo punto, è possibile tradurre il problema in esame in un compito di ottimizzazione combinatoria come la rappresentazione dello zaino con vincoli di uguaglianza per ciascuna fattura [31]. 

Considerando una singola fattura X, il problema di ottimizzazione combinatoria può essere formulato nel seguente modo: 

figura 3

dove cj è l’importo dettagliato relativo alla j-esima riga della fattura e bk è l’importo totale aggregato della k-esima voce del registro contabile. Il valore della variabile binaria zjk è 1 se la j-esima riga della fattura è associata alla k-esima voce del registro contabile e, in questo caso, assegnamo a yj il codice dell’account di sk. Questa è l’etichetta associata a xj per il successivo addestramento. La Figura 3 mostra, con l’ausilio visivo di alcuni collegamenti che rappresentano le associazioni trovate come risultato della risoluzione del problema dello zaino, come popolare la colonna delle etichette. 

figura 3

Figura 3: Stesso esempio della Figura 1, ma dopo che il campo delle etichette è stato popolato a causa della risoluzione del problema dello zaino.

 enConsiderando il rigore della legislazione contabile, il problema dello zaino può essere risolto esattamente per ciascuna fattura, ma la difficoltà risiede nel fatto che una fattura spesso è composta da molte righe (a volte anche centinaia), quindi la matrice di soluzione Z del problema dello zaino per la fattura X si trova in uno spazio ad alta dimensionalità e la risoluzione richiede troppo tempo [8]. 

Indicheremo con V l’insieme delle fatture abbinate e con W l’insieme delle fatture per le quali non è stato possibile determinare le etichette, in modo che V W = U e V ∩ W = . In questo caso, un approccio puramente supervisionato scarterebbe tutti i dati non abbinati. Il nostro contributo, d’altra parte, sta nel poter utilizzare anche i dati delle fatture per le quali il problema dello zaino non è stato risolto, utilizzando quindi sia dati etichettati che non etichettati per l’apprendimento in un approccio semi-supervisionato. 

 

4.2 Pre-Training 

In questo step, solo le righe xj delle fatture X in V possono essere utilizzate per l’apprendimento perché sono le uniche per le quali l’etichetta può essere determinata e quindi formano coppie (xj, yj): il framework è ancora completamente supervisionato. Dopo aver convertito tutte le informazioni in una riga della fattura in vettori numerici (ad esempio, per le variabili categoriali è stata utilizzata la tecnica di One-Hot encoding e per le informazioni testuali nella descrizione è stata utilizzata la tecnica del Bag of Words), queste coppie sono state utilizzate per addestrare un modello di apprendimento automatico. Questo addestramento consente la creazione di un classificatore iniziale, la cui accuratezza sarà limitata in misura uguale al numero di coppie input-output che siamo stati in grado di ricostruire finora. 

4.3 Interferenza 

Il classificatore preaddestrato viene quindi utilizzato per inferire il conto corrispondente yˆj per le varie righe delle fatture in W. Le previsioni yˆj sono chiamate pseudo-labels e consentono di estendere la raccolta di dati supervisionati: questa è l’essenza dell’apprendimento semi-supervisionato. Tuttavia, questo aspetto positivo è controbilanciato dalla non totale affidabilità delle pseudo-labels a causa della non perfetta accuratezza del classificatore preaddestrato, il che limita l’efficacia di questo approccio in molte aree [32]. 

4.4 Validazione delle Pseudo-Labels – Algoritmo A* 

Questa sezione discute il nostro contributo innovativo mirato a eliminare l’incertezza sulle pseudo-labels proposte dal classificatore preaddestrato. Ciò viene realizzato riportando il nostro scenario al dominio dei problemi di ricerca di grafi. Per ciascuna fattura X in W, per la quale il problema dello zaino non poteva essere risolto, è ora disponibile un vettore di pseudo-labels previste dal classificatore preaddestrato: ŷ = (yˆ1, …, yˆN). Per verificare l’accuratezza di queste, è possibile raggruppare le righe xj in base alla pseudo-label associata e calcolare l’importo totale relativo a un codice contabile, dal momento che il prezzo c è una delle caratteristiche per la riga xj. Se questi importi coincidono con quelli aggregati (cioè b) registrati nella sezione del registro contabile S al rispettivo codice contabile, allora le pseudo-labels proposte dal classificatore preaddestrato possono essere considerate corrette, altrimenti significa che alcune di esse sono errate e devono essere modificate per non introdurre dati scorretti nel dataset. La Figura 4 riporta, seguendo lo stesso esempio illustrativo discusso in precedenza, i due possibili casi sopra menzionati una volta assegnate le pseudo-labels. 

figura 3

Figura 4: Nello schema a sinistra, ogni riga di fattura viene assegnata al conto corretto tramite l’etichetta fittizia e, di fatto, le somme dei prezzi sono abbinate in S. Al contrario, nello schema a destra, la seconda riga è erroneamente classificata nel conto A e dovrebbe essere cambiata.

Il problema di modificare le pseudo-labels erronee può essere ricondotto a un problema di ricerca su grafo e quindi risolto con l’algoritmo di ricerca A* [33]. Per creare questo parallelismo, è necessario fissare alcuni concetti. 

  • Definizione dello Spazio degli Stati: il vettore di stato di questo problema è ŷ, quindi il nodo generico del grafo esplorato dall’algoritmo di ricerca durante l’ennesimo passo ha un vettore di stato indicato come ŷ(n). Ciascun elemento di questo vettore di stato può essere assegnato a uno dei M codici contabili presenti in S; 
  • Definizione dell’Obiettivo: l’obiettivo viene raggiunto quando la ricerca porta a un nodo in cui, raggruppando le righe della fattura xj in base alle pseudo-labels nel vettore di stato ŷ e sommando i prezzi, si trovano gli stessi importi aggregati presenti in S, proprio come nel pannello di sinistra della Figura 5; 
  • Stato Iniziale: la ricerca parte dal vettore di stato ŷ(1) proposto dal classificatore pre-addestrato; 
  • Azioni: in ogni stato, il range di azioni possibili è la sostituzione di una delle pseudo-labels nel vettore di stato con un diverso codice contabile trovato in S. Sia M il numero di diversi conti presenti in S, quindi il branching factor per la fattura X, ovvero il numero di azioni possibili in ogni stato, è bf = NM. A titolo di esempio, supponiamo che uno dei conti in S sia rappresentato dal codice C, quindi l’azione che modifica la j-esima pseudo-label in C sarà indicata come Cj; 
  • Modello di Transizione: la Figura 5 qui sotto mostra come avviene la transizione da un nodo all’altro seguendo l’applicazione di un’azione. L’azione scelta è quella appena presentata, Cj con j = 2, e quindi cambia la seconda pseudo-label ŷ(n)2 in C, lasciando le altre invariate per il passo (n + 1); 
  • Costo del Percorso: ogni passo nel grafo comporta la modifica di un solo elemento e ha quindi un costo unitario. 

Una volta fissati i concetti di base, rimane solo da scegliere una euristica che permetta all’algoritmo A* di selezionare con priorità quali nodi esplorare. L’euristica è una funzione generalmente indicata con h che viene applicata al vettore di stato di ciascun nodo e abbiamo scelto la seguente regola: 

figura 3

Dove #e sta per il numero di voci di diario in S che non sono correttamente abbinate dal vettore di pseudo-labels attuale ŷ. Questa euristica specifica può essere facilmente dedotta da una versione semplificata del problema originale [34] ed è coerente, quindi l’algoritmo A* è garantito essere ottimale in questo caso [34]. 

figura 3

Figura 5: Modello di transizione: come ŷ(n) viene trasformato in ŷ(n+1) a causa dell’azione C2. Questo esempio richiama la Figura 4 e mostra come un passo dell’algoritmo di ricerca può correggere la situazione errata.

La ricerca su grafo, che utilizza molti dei concetti appena presentati, avviene in uno spazio di stato di dimensione N, in cui ogni variabile nel vettore di stato può assumere M valori. Pertanto, la dimensione dello spazio in cui cerchiamo un nodo che soddisfa il test dell’obiettivo è MN: cresce in modo esponenziale con l’istanza del problema. Dato un classificatore pre-addestrato con precisione p nella scelta delle pseudo-labels per lo stato iniziale ŷ(0), possiamo impostare: 

Y Bi(N, p) rappresenta la variabile casuale che descrive il numero di righe in X assegnate correttamente (come prima approssimazione, consideriamo le righe xj della stessa fattura X indipendenti, il che ci consente di esprimere la somma di variabili di Bernoulli come una variabile binomiale); 

d rappresenta la profondità del nodo obiettivo, ovvero la distanza in passi tra il nodo iniziale e il nodo obiettivo lungo il percorso ottimale; vale la pena notare che

figura 3

encopoiché ogni passo nel grafo corregge una pseudo-label errata. A seconda del valore di d e della numerosità dello spazio di ricerca, il tempo necessario per far raggiungere ad A* un nodo obiettivo è diverso. Deve essere stabilito un tempo massimo di attesa, e dato un fattura X, se A* converge prima del tempo limite, le pseudo-labels vengono convalidate e diventano etichette effettive. Supponiamo, ad esempio, che raggiungiamo l’obiettivo per la fattura X dopo n* passaggi, quindi le etichette certificate possono essere assegnate alle righe della fattura utilizzando come variabili target l’ultimo vettore di pseudo-labels esplorato, cioè imponendo y = ŷ(n*). 

4.5. Allenamento 

Alla fine dell’esecuzione di A* per convalidare le pseudo-labels per ciascuna fattura in W, vengono ottenuti nuovi dati supervisionati da aggiungere a quelli già raccolti e si può procedere a un nuovo addestramento su un dataset più ampio. Il risultato di ciò è un classificatore con una maggiore capacità di generalizzazione ai dati non visti. 

Invece, nei casi delle fatture per le quali le pseudo-labels proposte dal classificatore pre-addestrato erano di scarsa qualità e quindi l’algoritmo di ricerca impiegava troppo tempo per convergere, le righe corrispondenti vengono scartate dal dataset, ma comunque questo spreco è significativamente più piccolo rispetto al framework di base. 

 

5. Esperimenti

5.1. Pre-elaborazione dei dati 

La pre-elaborazione dei dati riguarda sia le fatture in V che quelle in W perché, come abbiamo detto, i dati non supervisionati non vengono eliminati. Prima di tutto, per ciascuna riga xj in X, doveva essere selezionata solo l’informazione con potere predittivo sulla variabile target, in quella che è chiamata la fase di selezione delle caratteristiche. Quindi, naturalmente, molte di queste informazioni devono subire alcune fasi di rielaborazione per essere utilizzate come caratteristiche in un algoritmo di apprendimento automatico. 

Possono essere identificati tre tipi di dati: 

  • Dati numerici: vengono utilizzati così come sono (ad esempio, prezzo totale, aliquota fiscale);
  • Dati categorici: vengono convertiti in un vettore numerico grazie a una procedura di One-Hot encoding [35] (ad esempio, codice del partner commerciale, metodo di pagamento);
  • Dati testuali: vengono trasformati in un vettore numerico grazie all’approccio Bag of Words [36] (ad esempio, descrizione della riga della fattura, che contiene informazioni molto importanti per dedurre la natura del prodotto o servizio scambiato).

Il risultato di questa fase è un vettore puramente numerico (come osservato in Figura 6), e quindi comprensibile per un algoritmo di intelligenza artificiale. 

figura 3

Figura 6: Esempio di pre-elaborazione dei dati: ogni informazione in una riga di fattura viene trasformata in un vettore numerico e successivamente vengono concatenati in un singolo vettore di caratteristiche x.

5.2. Applicazione della pipeline 

La pipeline metodologica precedentemente descritta è stata applicata al nostro caso reale, con i seguenti risultati. 

  1. Matching—Problema dello zaino: per molte fatture il problema dello zaino descritto nell’Equazione (1) non è risolvibile. Per essere precisi, la relazione input-output è stata ricostruita senza ambiguità solo per il 61% delle righe delle fatture disponibili nel dataset grezzo, dando coppie (xj, yj), quindi il tasso di scarto è del 39%;
  2. Pre-Training: Il problema di classificazione multi-classe che il modello deve imparare a risolvere è l’associazione di un codice contabile yj con il vettore xj. Poiché non era disponibile una grande quantità di dati, sono stati esclusi i modelli di Deep Learning, che richiedono molti dati per imparare [37]. Sono stati testati diversi dei migliori modelli disponibili nella letteratura e nella libreria Python Scikit-learn per la classificazione multi-classe: Support Vector Machine (SVM) [38], Naïve Bayes [39], Decision Tree [40], Random Forest [41] e AdaBoost [42]. Le prestazioni di questi modelli sono state valutate mediante una cross-validazione a 10 fold e, tra tutti, i modelli basati su un insieme di alberi si sono dimostrati i migliori per questo compito. Infatti, già in questa fase di allenamento iniziale su un dataset supervisionato limitato hanno raggiunto un’accuratezza del 91%. I risultati quantitativi registrati durante gli esperimenti saranno discussi in dettaglio nella sezione successiva, anche con il supporto di tabelle e immagini;
  3. Inferenza: il classificatore pre-allenato è stato quindi utilizzato per dedurre la pseudo-label per le righe delle fatture in W;
  4. Convalida delle Pseudo-Labels—A*: grazie all’alta accuratezza del classificatore pre-allenato, la maggior parte delle pseudo-labels era corretta. Di conseguenza, facendo riferimento all’Equazione (3), la ricerca deve essere effettuata su un albero poco profondo e A* ha raggiunto il nodo obiettivo nella maggior parte dei casi (su 1156 dati non etichettati, 747 hanno ottenuto un’etichetta grazie a questa procedura). 

Tuttavia, il lettore potrebbe essere interessato a capire perché in alcuni casi l’algoritmo di ricerca non converge. Escludendo il caso banale in cui ci sono errori nelle voci degli importi c o b, la non convergenza può verificarsi anche quando la ricerca richiede troppo tempo. Un esempio pratico che abbiamo incontrato è il seguente. 

Una delle fatture nel nostro dataset D ha N = 34 righe e la relativa registrazione contabile ha M = 4 conti. Ciò significa che lo spazio in cui si svolge la ricerca delle etichette corrette è immenso: ha 434 nodi da esplorare. 

Ora, anche se il classificatore pre-allenato ha una buona accuratezza e stima correttamente il conto contabile per la maggior parte delle 34 righe, c’è comunque una esplorazione computazionalmente costosa da fare. Ad esempio, se il classificatore commette 4 errori, il nodo obiettivo è distante 4 passi (cioè, devono essere modificate 4 pseudo-labels) ma in uno spazio così grande anche una esplorazione di 4 passi è impraticabile. Infatti, ciascuno dei cambiamenti potrebbe coinvolgere la modifica di una delle 34 pseudo-labels assegnandola a 4 conti diversi; ciò significa che in ogni passo potrebbero essere esplorati 34 × 4 = 136 (branching factor) nuovi nodi. 

La seguente Figura 7 è destinata solo a mostrare visualmente la natura esponenziale della crescita del numero di nodi esplorati durante la ricerca. Si tratta di un caso molto semplificato con N = 2 e M = 3 (i 3 possibili conti sono solo A, B e C) ma mostra comunque la complessità del problema (Ovviamente alcuni nodi sono ripetuti e A* esplora il grafo utilizzando euristiche intelligenti per favorire percorsi promettenti, quindi non tutti i nodi mostrati nella figura verrebbero testati. Ribadiamo che la figura è puramente illustrativa per dare al lettore un’idea di come lo spazio di ricerca si espanda, specialmente in scenari con valori N e M elevati). 

figura 3

Figura 7: Grafo esplorato dall’algoritmo A*.

Le righe appartenenti alle fatture per cui nemmeno A* riesce a risolvere il problema di associazione sono il 14% e non possono essere utilizzate in questo sistema automatico. L’unico scenario in cui potrebbe essere possibile estrarre informazioni da esse comporterebbe un’elaborazione manuale sotto la supervisione di un contabile per associarle al conto corretto prima di inserirle nel dataset D, ma questo è estremamente dispendioso in termini di tempo.

5. Allenamento:

lo stesso modello è stato allenato ed valutato per la seconda volta e ha migliorato l’accuratezza tra l’1% e il 4%, a seconda della sua efficienza nei dati.

5.3. Risultati quantitativi

La Tabella 2 è destinata a mostrare il miglioramento dell’accuratezza (abbiamo scelto questa metrica come riferimento per la sua facilità di interpretazione) con la metodologia proposta mediante un test di ablazione.

Riportiamo le prestazioni dei cinque classificatori testati in tre contesti:

  • Framework Supervisionato: vengono utilizzati solo i dati per cui il problema dello zaino ha ricostruito la relazione input-output. Questo è il metodo di base con cui questo problema è stato affrontato finora nella letteratura [8]. Consiste essenzialmente nell’applicare solo i passaggi 1 e 5 dell’intera pipeline: fare riferimento al diagramma A nella Figura 2.
  • Framework Semisupervisionato Standard: in un approccio semisupervisionato classico, le pseudo-labels vengono inferite dal classificatore preaddestrato e potrebbero non essere corrette, introducendo rumore nel dataset D. Questo metodo corrisponde ai passaggi 1, 2, 3 e 5
  • Framework Semisupervisionato + A*: questo è il framework innovativo che proponiamo in cui vengono utilizzati solo i dati con etichette certificate, visualmente descritti dal diagramma B nella Figura 2.
figura 3

Tabella 2: Media di accuratezza nei tre contesti di lavoro. I valori percentuali in grassetto rappresentano il miglior risultato ottenuto tra i modelli e i framework comparati.

Questo triplo test evidenzia l’importanza dell’introduzione della fase di convalida delle pseudo-labels con A*. Infatti, si nota che, senza A*, l’accuratezza rimane invariata per i modelli basati su alberi, mentre peggiora addirittura per SVM e Naïve Bayes, poiché l’effetto positivo dell’aumento del dataset viene compensato dall’introduzione di etichette errate. 

Le Figure 8 e 9 si riferiscono al primo e al terzo framework presentati. Attraverso i boxplot e gli scatterplot, queste due figure mostrano l’aumento dell’accuratezza registrato per ciascuno dei modelli testati con una cross-validation a 10 fold. 

Diventa rapidamente evidente che tutti i modelli si comportano meglio nel framework semisupervisionato introdotto in questo lavoro, il che non è sorprendente poiché consente di addestrare su un dataset affidabile più ampio. Alcuni modelli beneficiano di più dall’ingrandimento del dataset supervisionato e altri meno, con un aumento dell’accuratezza compreso tra l’1% (SVM) e il 4% (Decision Tree). Come anticipato, i modelli che si dimostrano più adatti a questo problema sono Random Forest e AdaBoost, entrambi basati su un insieme di alberi. 

Concentrandosi su uno di questi, la Tabella 3 è dedicata a fornire informazioni più ampie sulle prestazioni di Random Forest, non solo dal punto di vista dell’accuratezza, nel framework semisupervisionato proposto (Ciò che balza subito all’occhio è come le metriche siano drasticamente più basse quando il test è effettuato su Fold 1 (e la stessa cosa accade anche con gli altri classificatori, ma per ragioni visive nelle Figure 8 e 9 ci siamo concentrati solo sull’intervallo in cui si collocano la maggior parte delle misurazioni). Ciò può essere spiegato ricordando come funziona la funzione GroupKFold di scikitlearn: le righe della stessa fattura non possono essere distribuite in diversi fold, per evitare l’addestramento e la convalida su voci della stessa fattura. Nel Fold 1 ci sono tutte e 125 le righe delle fatture più grandi. Queste hanno tutte la stessa etichetta e sono le uniche con quella etichetta in tutto il dataset, quindi il modello viene addestrato sugli altri nove fold e non impara a riconoscere questa etichetta specifica, commettendo molti errori quando viene convalidato su Fold 1. Ignorando questo fold particolare, l’accuratezza di Random Forest salirebbe addirittura al 97% in media). 

figura 3

Tabella 3: Panoramica delle metriche per Random Forest nel nostro framework, misurate con una validazione incrociata a 10 fold.

figura 3

Figura 8: Valori di accuratezza misurati su 10 fold sia per il framework puramente supervisionato che per quello proposto.

figura 3

Figura 9: Stessi valori di accuratezza di Figura 8 tramite scatterplot al fine di mostrare la distribuzione dei dati.

Inoltre, nella tabella delle prestazioni chiave del nostro studio, indicata come Tabella 4, mostriamo dal punto di vista quantitativo i miglioramenti ottenuti dall’approccio semisupervisionato accoppiato ad A*. Da un lato, abbiamo un miglioramento nell’accuratezza dei classificatori, che, tuttavia, non può essere di grande entità poiché i classificatori preaddestrati già fornivano prestazioni molto buone; d’altro lato, abbiamo ciò che riteniamo il risultato più importante, ovvero il recupero di molti dati che non avrebbero potuto essere utilizzati senza la nostra pipeline: qualcosa che sarebbe prezioso in qualsiasi problema di machine learning. 

figura 3

Tabella 4: Miglioramento delle metriche dovuto all’accoppiamento del classificatore con l’algoritmo di ricerca sul grafo A*.

 6. Conclusioni e discussione 

 6.1. Discussione dei risultati 

L’efficacia del metodo presentato risiede nel confronto tra il framework puramente supervisionato e il framework semisupervisionato con A*. Per quanto sappiamo, le migliori prestazioni su un compito simile sono state ottenute dal lavoro di Bardelli et al. [8], che opera nel contesto contabile italiano, proprio come noi, e adotta un framework completamente supervisionato. Nel loro lavoro, il tasso di scarto dei dati è del 39% e le prestazioni nella classificazione delle voci delle fatture ricevute è dell’89,8% di F1-score. Nella nostra esperienza, prima abbiamo replicato la stessa pipeline ottenendo un tasso di scarto simile e un punteggio F1 simile. Tuttavia, con il nostro metodo proposto, siamo stati in grado di ridurre sostanzialmente il tasso di scarto al 14%, ottenendo di conseguenza un punteggio F1 del 92%. Inoltre, le nostre prestazioni sono piuttosto competitive, avvicinandosi al livello raggiunto da Ref. [22] al 95,5%. Tuttavia, il confronto diretto delle prestazioni è complesso poiché non avevamo accesso alle ulteriori caratteristiche dei conti bancari a cui avevano accesso. 

Successivamente, abbiamo condotto un’indagine più approfondita sull’impatto dell’algoritmo di ricerca A* con un esperimento di ablazione. In questo esperimento, abbiamo addestrato tutti i classificatori con una procedura semisupervisionata standard, escludendo il componente A*. In modo interessante, le prestazioni dei classificatori rimangono invariate o subiscono un lieve peggioramento rispetto alle prestazioni del framework supervisionato. Questo è un noto svantaggio dell’apprendimento semisupervisionato ed è stato identificato nella letteratura [9]. L’introduzione di dati non etichettati non verificati può introdurre involontariamente rumore, contribuendo al degrado delle prestazioni. L’impatto del rumore è diverso su ciascuno dei classificatori, con un degrado maggiore su algoritmi più sensibili come SVM [43]. 

Infine, è importante notare come la qualità e la quantità dei dati possano influenzare le prestazioni. Per quanto riguarda l’accuratezza, abbiamo ottenuto prestazioni confrontabili pur lavorando con un dataset che contiene un numero di campioni nell’ordine dei migliaia, rispetto a [8] che ne contiene un ordine di grandezza di centinaia di migliaia. Tuttavia, gli esperimenti hanno dimostrato che le dimensioni del dataset sono sufficientemente grandi per rappresentare la distribuzione dei dati e addestrare correttamente i classificatori. D’altra parte, la qualità dei dati svolge un ruolo cruciale per l’applicazione di successo dell’apprendimento automatico, come evidenziato dal nostro esperimento di ablazione proposto. 

Purtroppo, a causa della natura sensibile dei dati, non esiste un dataset di riferimento in questo settore con cui confrontare i metodi. Il fatto di avere accesso solo a una piccola quantità di dati è ciò che ci ha motivato fin dall’inizio a sfruttarli al meglio, cercando di etichettare la maggiore parte di essi e quindi essere in grado di addestrare un modello efficace. 

6.2. Riassunto del lavoro 

L’apprendimento automatico si è affermato come uno strumento prezioso per migliorare le operazioni aziendali e, in questo articolo, abbiamo esplorato il suo potenziale per assistere nell’esecuzione delle tipiche attività svolte dagli esperti contabili. La nostra esplorazione mirava a mostrare come questa tecnologia potesse semplificare e integrare il lavoro degli operatori umani in questo campo. 

Siamo partiti da un problema del mondo reale: la classificazione delle voci delle fatture elettroniche. Abbiamo sviluppato e addestrato un classificatore per affrontare questa sfida. Tuttavia, riconoscendo il potenziale del vasto volume di dati non supervisionati disponibili, abbiamo intrapreso una missione per sfruttare più efficacemente questa risorsa. Ciò ci ha portato a sperimentare un framework di apprendimento semisupervisionato, un approccio potente che va oltre i limiti dei metodi tradizionali supervisionati. 

Tuttavia, questa transizione ha comportato la comparsa di una serie di sfide, principalmente incentrate sull’introduzione di dati etichettati in modo incerto nel nostro dataset. Per affrontare queste complessità, abbiamo progettato un framework metodologico che si basa sui principi dell’apprendimento semisupervisionato e utilizza un algoritmo di ricerca sui grafi, A*. Questo framework supera le sfide di generazione di pseudo-labels sfruttando la struttura gruppo-istanza dei dati, influenzando di conseguenza l’accuratezza dei classificatori. Infatti, arricchendo il nostro set di addestramento con nuove coppie input-output ricostruite in modo non ambiguo, abbiamo assistito a miglioramenti significativi nelle prestazioni dei classificatori. Questa trasformazione ha permesso al nostro modello di migliorare l’accuratezza SOTA nell’assegnare i codici dei conti alle transazioni racchiuse nelle righe delle fatture XML. 

In sostanza, la nostra esplorazione ha mostrato il potenziale del machine learning come alleato potente per razionalizzare compiti contabili complessi. Ha esemplificato come una combinazione di tecniche innovative, tra cui l’apprendimento semisupervisionato e la raffinazione dei dati, possa portare a miglioramenti sostanziali nell’accuratezza della classificazione e, in ultima analisi, nell’efficienza operativa. 

6.3. Lavori futuri 

Tuttavia, nonostante i promettenti risultati ottenuti dal nostro lavoro, c’è un ampio margine di miglioramento per quanto riguarda l’applicazione dell’apprendimento automatico nella contabilità aziendale. In primo luogo, nel nostro lavoro abbiamo applicato tecniche di apprendimento superficiale e ingegnerizzazione delle caratteristiche a causa delle dimensioni dei dati disponibili per lo studio. Sarebbe interessante valutare algoritmi di apprendimento profondo e incorporamenti di testo, come Word2Vec o LLM; questi paradigmi trarrebbero vantaggio da dataset più ampi e porterebbero a miglioramenti sensibili delle prestazioni. In secondo luogo, dovremmo cercare di integrare altre fonti di informazioni nel dataset, ad esempio transazioni finanziarie, descrizioni aziendali, dati di mercato, descrizioni giuridiche e così via, perché molte delle importanti caratteristiche per il compito dipendono dal contesto e di solito non sono disponibili. Infine, in questo studio abbiamo proposto un’unica iterazione dell’algoritmo, tuttavia è possibile affinare ulteriormente le pseudo-labels ripetendo i passaggi 2, 3, 4, prima dell’addestramento finale al passaggio 5. Inoltre, potrebbe essere estremamente utile sviluppare un sistema di apprendimento attivo che interroghi l’esperto contabile umano su “fatture difficili” per migliorare la qualità del dataset. 

D’altra parte, l’approccio proposto è emerso da un problema legato al mondo della contabilità ma può essere riproposto in una moltitudine di contesti. In generale, la metodologia illustrata porta benefici laddove ci siano dati non supervisionati e si vogliano certificare le etichette proposte da un classificatore. Queste etichette da certificare possono essere pseudo-labels in un framework semisupervisionato, come presentato in questo articolo, o previsioni su dati di test, purché sia possibile definire una condizione di obiettivo con cui interrompere la ricerca sul grafo dello stato essendo certi che le etichette effettive siano corrette. 

A tal proposito, una futura direzione di ricerca interessante sarebbe identificare altri problemi pratici con questa struttura e, una volta modellati, applicare la stessa pipeline descritta nell’articolo, osservando l’aumento dell’accuratezza con l’introduzione di nuovi dati. Una macrocategoria di problemi in cui possiamo trovare una struttura simile è quella in cui i campioni sono raggruppati in gruppi, su cui è possibile porre una condizione aggregata (proprio come gli importi registrati in ciascun conto nel problema delle fatture descritto sopra). Ad esempio, questo può essere fatto con dati temporali raggruppati settimanalmente, mensilmente o annualmente, o con dati spaziali raggruppati geograficamente. Un altro caso più interessante e appropriato in cui è stato svolto molto lavoro di ricerca [44] è il problema della link prediction. 

Per quanto riguarda quest’ultimo, l’obiettivo è utilizzare tecniche di apprendimento automatico per prevedere l’esistenza di determinati collegamenti nel grafo: si tratta quindi di un problema di classificazione binaria 0/1 [45]. I collegamenti possono essere naturalmente raggruppati in base ai nodi che toccano e, nei casi in cui si conosca il numero di collegamenti relativi a ciascun nodo nel network, è possibile sostituire le etichette inizialmente previste dal modello di classificazione iniziando una ricerca con A* fino a quando non si soddisfa la condizione aggregata. Solo come ispirazione per ulteriori ricerche in questa direzione, segnaliamo casi concreti di previsione dei collegamenti su reti sociali (ogni nodo rappresenta una persona) in cui questa condizione può realisticamente essere riscontrata: la coautoria in pubblicazioni scientifiche [46], la collaborazione su un progetto all’interno di un’azienda di grandi dimensioni, l’appartenenza a un consiglio di amministrazione comune. In tutti questi casi, è probabile conoscere il numero di collegamenti relativi a ciascun nodo nella rete, ma ci si potrebbe chiedere quali dei collegamenti possibili effettivamente esistano. 

Bibliografia

1. Frey, C.B.; Osborne, M.A. The future of employment: How susceptible are jobs to computerisation? Technol. Forecast. Soc. Chang.
2017, 114, 254–280. [CrossRef]
2. Tater, T.; Gantayat, N.; Dechu, S.; Jagirdar, H.; Rawat, H.; Guptha, M.; Gupta, S.; Strak, L.; Kiran, S.; Narayanan, S. AI Driven
Accounts Payable Transformation. Proc. AAAI Conf. Artif. Intell. 2022, 36, 12405–12413. [CrossRef]
3. Koch, B. E-Invoicing/E-Billing. Significant Market Transition Lies Ahead. Billentis. 2017. Available online: https://www.
billentis.com/einvoicing_ebilling_market_report_2017.pdf (accessed on 14 September 2023).
4. Cedillo, P.; García, A.; Cárdenas, J.D.; Bermeo, A. A Systematic Literature Review of Electronic Invoicing, Platforms and
Notification Systems. In Proceedings of the 2018 International Conference on eDemocracy & eGovernment (ICEDEG), Ambato,
Ecuador, 4–6 April 2018; pp. 150–157, ISSN: 2573-1998. [CrossRef]
5. Poel, K.; Marneffe, W.; Vanlaer, W. Assessing the electronic invoicing potential for private sector firms in Belgium. Int. J. Digit.
Account. Res. 2016, 16, 8517. [CrossRef] [PubMed]
6. Bergdorf, J. Machine Learning and Rule Induction in Invoice Processing: Comparing Machine Learning Methods in Their
Ability to Assign Account Codes in the Bookkeeping Process. Available online: http://urn.kb.se/resolve?urn=urn:nbn:se:kth:
diva-235931 (accessed on 14 September 2023).
7. Azman, N.A.; Mohamed, A.; Jamil, A.M. Artificial Intelligence in Automated Bookkeeping: A Value-added Function for Small
and Medium Enterprises. JOIV Int. J. Inform. Vis. 2021, 5, 224–230. [CrossRef]
8. Bardelli, C.; Rondinelli, A.; Vecchio, R.; Figini, S. Automatic Electronic Invoice Classification Using Machine Learning Models.
Mach. Learn. Knowl. Extr. 2020, 2, 617–629. [CrossRef]
9. van Engelen, J.E.; Hoos, H.H. A survey on semi-supervised learning. Mach. Learn. 2020, 109, 373–440. [CrossRef]
10. Cho, S.; Vasarhelyi, M.A.; Sun, T.S.; Zhang, C.A. Learning from Machine Learning in Accounting and Assurance. J. Emerg.
Technol. Account. 2020, 17, 10718. [CrossRef]
11. Bertomeu, J. Machine learning improves accounting: Discussion, implementation and research opportunities. Rev. Account. Stud.
2020, 25, 1135–1155. [CrossRef]
12. Tarawneh, A.S.; Hassanat, A.B.; Chetverikov, D.; Lendak, I.; Verma, C. Invoice Classification Using Deep Features and Machine
Learning Techniques. In Proceedings of the 2019 IEEE Jordan International Joint Conference on Electrical Engineering and
Information Technology (JEEIT), Amman, Jordan, 9–11 April 2019; pp. 855–859. [CrossRef]
13. Ha, H.; Horák, A. Information extraction from scanned invoice images using text analysis and layout features. Signal Process.
Image Commun. 2021, 102, 116601. [CrossRef]
14. Li, M. Smart Accounting Platform Based on Visual Invoice Recognition Algorithm. In Proceedings of the 2022 6th International
Conference on Computing Methodologies and Communication (ICCMC), Erode, India, 29–31 March 2022; pp. 1436–1439.
[CrossRef]
15. Subramani, N.; Matton, A.; Greaves, M.; Lam, A. A Survey of Deep Learning Approaches for OCR and Document Understanding.
arXiv 2021, arXiv:2011.13534.
16. Thorat, C.; Bhat, A.; Sawant, P.; Bartakke, I.; Shirsath, S. A Detailed Review on Text Extraction Using Optical Character
Recognition. In Proceedings of the ICT Analysis and Applications; Lecture Notes in Networks and Systems; Fong, S., Dey, N., Joshi,
A., Eds.; Springer: Singapore, 2022; pp. 719–728. [CrossRef]
17. Ding, K.; Lev, B.; Peng, X.; Sun, T.; Vasarhelyi, M.A. Machine learning improves accounting estimates: Evidence from insurance
payments. Rev. Account. Stud. 2020, 25, 1098–1134. [CrossRef]
18. Li, Z.; Zheng, L. The Impact of Artificial Intelligence on Accounting; Atlantis Press: Sanya, China, 2018; ISSN: 2352-5398. [CrossRef]
19. Johansson, S. Classification of Purchase Invoices to Analytic Accounts with Machine Learning. Master Thesis, Aalto University,
Espoo, Finland, 2022. Available online: https://aaltodoc.aalto.fi/bitstream/handle/123456789/119486/master_Johansson_
Samuel_2023.pdf?sequence=1&isAllowed=y (accessed on 14 September 2023)
20. Bengtsson, H.; Jansson, J. Using Classification Algorithms for Smart Suggestions in Accounting Systems. Available online:
https://hdl.handle.net/20.500.12380/219162 (accessed on 14 September 2023).
21. Kieckbusch, D.S.; Filho, G.P.R.; Di Oliveira, V.; Weigang, L. Towards Intelligent Processing of Electronic Invoices: The General
Framework and Case Study of Short Text Deep Learning in Brazil. In Proceedings of the Web Information Systems and Technologies, Porto, Portugal, 25–27 April 2023; Lecture Notes in Business Information Processing; Marchiori, M., Domínguez Mayo, F.J.,
Filipe, J., Eds.; Springer: Cham, Switzerland, 2023; pp. 74–92. [CrossRef]
22. Munoz, J.; Jalili, M.; Tafakori, L. Hierarchical classification for account code suggestion. Knowl.-Based Syst. 2022, 251, 109302.
[CrossRef]
23. Severin, K.; Gokhale, S.; Dagnino, A. Keyword-Based Semi-Supervised Text Classification. In Proceedings of the 2019 IEEE
43rd Annual Computer Software and Applications Conference (COMPSAC), Milwaukee, WI, USA, 4–8 June 2019; pp. 417–422.
[CrossRef]
24. Gururangan, S.; Dang, T.; Card, D.; Smith, N.A. Variational Pretraining for Semi-supervised Text Classification. arXiv 2019,
arXiv:1906.02242.
25. Johnson, R.; Zhang, T. Supervised and Semi-Supervised Text Categorization using LSTM for Region Embeddings. In Proceedings of the 33rd International Conference on Machine Learning, PMLR, New York, NY, USA, 19–24 June 2016; pp. 526–534,
ISSN: 1938-7228.
26. Miyato, T.; Dai, A.M.; Goodfellow, I. Adversarial Training Methods for Semi-Supervised Text Classification. arXiv 2021,
arXiv:1605.07725.
27. Berthelot, D.; Carlini, N.; Goodfellow, I.; Papernot, N.; Oliver, A.; Raffel, C.A. MixMatch: A Holistic Approach to Semi-Supervised
Learning. In Proceedings of the Advances in Neural Information Processing Systems, Long Beach, CA, USA, 4–9 December 2019;
Curran Associates, Inc.: Long Beach, CA, USA, 2019; Volume 32.
28. Ouali, Y.; Hudelot, C.; Tami, M. An Overview of Deep Semi-Supervised Learning. arXiv 2020, arXiv:2006.05278.
29. Gong, C.; Tao, D.; Liu, W.; Liu, L.; Yang, J. Label Propagation via Teaching-to-Learn and Learning-to-Teach. IEEE Trans. Neural
Netw. Learn. Syst. 2017, 28, 1452–1465. [CrossRef]
30. Iscen, A.; Tolias, G.; Avrithis, Y.; Chum, O. Label Propagation for Deep Semi-supervised Learning. arXiv 2019, arXiv:1904.04717.
[CrossRef]
31. Assi, M.; Haraty, R. A Survey of the Knapsack Problem. 2018. Available online: https://ieeexplore.ieee.org/document/8672677
(accessed on 14 September 2023).
32. Rizve, M.N.; Duarte, K.; Rawat, Y.S.; Shah, M. In Defense of Pseudo-Labeling: An Uncertainty-Aware Pseudo-label Selection
Framework for Semi-Supervised Learning. arXiv 2021, arXiv:2101.06329.
33. Candra, A.; Budiman, M.A.; Hartanto, K. Dijkstra’s and A-Star in Finding the Shortest Path: A Tutorial. In Proceedings of the
2020 International Conference on Data Science, Artificial Intelligence, and Business Analytics (DATABIA), Medan, Indonesia,
16–17 July 2020; pp. 28–32. [CrossRef]
34. Russell, S.J.; Norvig, P. Artificial Intelligence: A Modern Approach, 4th ed.; Pearson Series in Artificial Intelligence; Pearson:
Hoboken, NJ, USA, 2021.
35. Seger, C. An Investigation of Categorical Variable Encoding Techniques in Machine Learning: Binary versus One-Hot and Feature
Hashing. Available online: https://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-237426 (accessed on 14 September 2023).
36. Zhang, Y.; Jin, R.; Zhou, Z.H. Understanding bag-of-words model: A statistical framework. Int. J. Mach. Learn. Cybern. 2010,
1, 43–52. [CrossRef]
37. Pasupa, K.; Sunhem, W. A comparison between shallow and deep architecture classifiers on small dataset. In Proceedings of the
2016 8th International Conference on Information Technology and Electrical Engineering (ICITEE), Yogyakarta, Indonesia, 5–6
October 2016; pp. 1–6. [CrossRef]
38. Suthaharan, S. Support Vector Machine. In Machine Learning Models and Algorithms for Big Data Classification: Thinking with
Examples for Effective Learning; Suthaharan, S., Ed.; Integrated Series in Information Systems; Springer: Boston, MA, USA, 2016;
pp. 207–235. [CrossRef]
39. Yang, F.J. An Implementation of Naive Bayes Classifier. In Proceedings of the 2018 International Conference on Computational
Science and Computational Intelligence (CSCI), Las Vegas, NV, USA, 12–14 December 2018; pp. 301–306. [CrossRef]
40. Priyanka.; Kumar, D. Decision tree classifier: A detailed survey. Int. J. Inf. Decis. Sci. 2020, 12, 246–269. [CrossRef]
41. Rigatti, S.J. Random Forest. J. Insur. Med. 2017, 47, 31–39. [CrossRef] [PubMed]
42. Schapire, R.E. Explaining AdaBoost. In Empirical Inference: Festschrift in Honor of Vladimir N. Vapnik; Schölkopf, B., Luo, Z., Vovk,
V., Eds.; Springer: Berlin/Heidelberg, Germany, 2013; pp. 37–52. [CrossRef]
43. Schooltink, W.T. Testing the Sensitivity of Machine Learning Classifiers to Attribute Noise in Training Data; University of Twente:
Twente, The Netherlands, 2020.
44. Hasan, M.A.; Zaki, M.J. A Survey of Link Prediction in Social Networks. In Social Network Data Analytics; Aggarwal, C.C., Ed.;
Springer: Boston, MA, USA, 2011; pp. 243–275. [CrossRef]
45. Lü, L.; Zhou, T. Link prediction in complex networks: A survey. Phys. A Stat. Mech. Its Appl. 2011, 390, 1150–1170. [CrossRef]
46. Chuan, P.M.; Son, L.H.; Ali, M.; Khang, T.D.; Huong, L.T.; Dey, N. Link prediction in co-authorship networks based on hybrid
content similarity metric. Appl. Intell. 2018, 48, 2470–2486. [CrossRef]

Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual
author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to
people or property resulting from any ideas, methods, instructions or products referred to in the content

Dallo spazio al campo

Dallo spazio al campo

Combinazione di dati satellitari, UAV e agronomici in una metodologia open source per la validazione di mappe NDVI nella viticoltura di precisione   Abstract: Le recenti tecnologie GIS stanno dando una direzione all'agricoltura di precisione e alla viticoltura. I...

leggi tutto
AI Generativa: cos’è, come funziona e casi d’uso

AI Generativa: cos’è, come funziona e casi d’uso

Dall’uscita di ChatGPT a Novembre 2022, l’AI generativa è il discorso più sentito negli ufficio: “Ma lo usi?”, “E cosa ci fai?" ... Cerchiamo di fare un po' di chiarezza! Introduzione all'Intelligenza Artificiale Generativa Nel vasto campo dell'intelligenza...

leggi tutto