Deep Learning con snapADDY

a cura di

Deep Learning Ansatz bei snapADDY

L'articolo di oggi riguarda l'uso del Deep Learning che stiamo sviluppando e utilizzando per migliorare i risultati del nostro analizzatore di dati. Vorremmo darti una breve panoramica sul funzionamento del nostro reparto di sviluppo e mostrarti come il nostro analizzatore utilizza nuovi sviluppi tecnici per migliorare ulteriormente la qualità della raccolta dei dati nel tuo sistema CRM. Attualmente stiamo lavorando all'ulteriore sviluppo dell'analizzatore che metteremo a disposizione dei nostri clienti nel corso dell'anno.

Il nostro compito principale: trovare e riconoscere dati di contatto

Molte aziende non sono soddisfatte della qualità dei dati contenuti nel loro sistema CRM. La documentazione manuale degli appunti delle riunioni e la digitazione dei dati dei contatti portano a risultati di bassa qualità, e fanno perdere tempo prezioso. Pensando a una soluzione a questo problema, abbiamo deciso che la raccolta automatica dei dati è la soluzione ideale.

Una delle funzioni principali dei nostri prodotti, è il riconoscimento automatico dei dati di contatto svolto del nostro algoritmo. Digitando semplicemente il nome di un'azienda nella barra di ricerca, l'algoritmo di snapADDY individua la nota legale del sito web, analizza il testo trovato e riconosce i possibili dati di contatto, che ordina automaticamente negli appositi campi. Il risultato viene quindi esportato come contatto diretto al sistema CRM, riducendo il carico di lavoro a soli due minuti per contatto.

Il problema principale: come riconoscere automaticamente i dati di contatto in un testo?

Quando noi esseri umani leggiamo un testo, riconosciamo immediatamente un nome e un'e-mail semplicemente leggendo sequenze di caratteri che formano frasi, testi o serie numeriche. Inoltre, comprendiamo il contesto, estraiamo le informazioni rilevanti nel più breve tempo possibile e le classifichiamo in base alla nostra esperienza. Quanto può essere difficile far sì che un dispositivo elabori le informazioni da solo come farebbe un essere umano?

Questo lavoro si rivela piuttosto difficile, perché un computer fondamentalmente non capisce il testo da solo, o almeno non lo elabora bene come un essere umano. Non comprendendo sequenze di segni come parole e frasi, non distingue qualitativamente tra la parola casa e il numero 72 97 117 115. Quindi come può un dispositivo elaborare automaticamente i dati?

Due strategie a confronto:
1. Assegnazione dei dati tramite elenchi

All'inizio di snapADDY, utilizzavamo elenchi di parole che il nostro software poteva usare per determinare se una sequenza di caratteri si riferiva a un "nome" o a un "titolo di lavoro" nell'elenco. Quindi, se avesse trovato il titolo di lavoro di un addetto alle vendite in un testo della nota legale sul sito web, lo avrebbe riconosciuto come titolo di lavoro perché la stessa sequenza di caratteri era presente nell'elenco classificato come titolo di lavoro.

Sembra una soluzione facile, non è vero? Che dire della società Mario Rossi S.r.l. al 596 di Via Corso Vittorio Emanuele? Come può un dispositivo decidere se Mario è un nome personale o il nome della società? Questo problema di base non può essere risolto banalmente confrontando parole con liste diverse. Per questo motivo, il nostro dipartimento dati, sta lavorando da molto con i sistemi più intelligenti, in grado di sviluppare individualmente modelli di riconoscimento per i dati dei contatti, in modo da non doverli creare manualmente.

Inoltre, la compilazione di elenchi con nomi di persone, città e aziende richiede un notevole lavoro manuale. Il nostro reparto dati dedica molto tempo alla creazione e al controllo di elenchi per determinare l'efficienza dell'organizzazione dei dati (ad esempio, Mario -> Nome) in base a criteri statistici. Con questo approccio snapADDY raggiunge un'elevata precisione in molti campi. Questo criterio produce fondamentalmente buoni risultati, ma quando le prestazioni di riconoscimento e la quantità di dati aumentano, diventa chiaro che le regole e gli elenchi hanno i loro limiti. Con il passare del tempo, diventa sempre più difficile configurare l'accuratezza del parser, richiedendo molto più impegno e lavoro per creare nuove regole. In questo caso, è utile una tecnologia degli anni '60 che sta tornando in voga: il Deep Learning.

Due strategie a confronto:
2. Riconoscimento dei modelli con il Deep Learning

Il Deep Learning è uno dei concetti di tendenza degli ultimi anni. Non è facile riassumere semplicemente tutto ciò che sta dietro a questo termine, ma l'idea che ne sta alla base viene spiegata attraverso un problema specifico, senza entrare troppo nei dettagli tecnici. In sostanza, il Deep Learning è la risposta alla domanda: cosa posso fare se non voglio o non posso insegnare a un dispositivo tutte le regole per il riconoscimento dei dati?

Con il Deep Learning non dobbiamo più inserire le regole individualmente e non dobbiamo nemmeno scrivere elenchi di parole sui dispositivi. L'idea è semplice: invece di scrivere regole esplicite e programmare la logica nel software, prepariamo le istruzioni affinché il dispositivo riconosca i modelli da solo. Questi modelli superano anche regole molto complesse create per essere utilizzate in un'ampia gamma di casi.

Deep Learning con snapADDY: un algoritmo di apprendimento indipendente attraverso i casi di test

In generale, il Deep Learning si riferisce all'uso di Artificial Neural Networks (reti neurali artificiali), per creare modelli generali per risolvere un problema specifico (come la classificazione dei dati, la traduzione, il riconoscimento del testo, ecc.) Una rete neurale può imparare dall'esperienza sulla base di dati campione, ad esempio imparando quali parole ricorrono frequentemente insieme e a quali classi appartengono. L'esperienza si presenta sotto forma di dati campione le cui parole vengono immesse nella rete e quindi classificate.

Deep Learning bei snapADDY

Da queste coppie parola-classe, la rete neurale cerca di ricavare regole generali che le permettano di trovare la classe corrispondente a ogni parola, anche se questa non è inclusa nelle istruzioni iniziali. Queste regole simulano una serie di calcoli all'interno della rete che tendono a rappresentare funzioni matematiche. In primo luogo, i parametri utilizzati sono scelti a caso e le loro soluzioni sono spesso inconcludenti all'inizio. Durante il test, la rete confronta costantemente la soluzione trovata con la risposta corretta e modifica i parametri corrispondenti ogni volta che trova un errore. Pertanto, i parametri saranno regolati fino a quando non ci saranno più errori da migliorare.

In questo modo, possiamo migliorare significativamente il rilevamento delle singole caselle nel nostro sistema di prova. Ad esempio, il riconoscimento dei nomi delle aziende è passato dal 70% a oltre l'80%. Con questo metodo, il riconoscimento di nomi e cognomi è ora ben superiore al 90% nel sistema di prova. Non appena l'analizzatore di Deep Learning sarà pronto per l'uso produttivo, i nostri clienti potranno usufruire di un riconoscimento automatico dei dati ancora migliore. Quando sarà disponibile, lo comunicheremo attraverso i nostri canali abituali (social media, newsletter, ecc.).

Passi successivi: aggiornamento automatico dei dati dei contatti nel sistema CRM

In snapADDY miglioriamo costantemente l'accuratezza di una delle nostre funzioni chiave attraverso l'uso di nuove tecnologie. Continuiamo ad addestrare il nostro modello di Deep Learning con ulteriori dati campione per ottenere una maggiore precisione. In futuro, il nostro Dipartimento Dati sarà in grado di concentrarsi sulle prossime sfide che renderanno il lavoro degli utenti di snapADDY ancora più semplice. Per il momento, ti garantiamo che l'aggiornamento automatico dei dati di contatto e altre funzioni interessanti sono a portata di mano.