Azure Cognitive Search: cos'è, funzionalità e costi per le aziende

L'intelligenza artificiale sta guidando a una velocità impressionante la trasformazione digitale in tutti i tipi di organizzazioni, permettendo alle aziende di concentrarsi sul loro business e sulle relazioni con i propri clienti in modi del tutto nuovi. Ma c'è un'area in particolare, inesplorata da molti, che permette a privati e aziende di costruire soluzioni chiave per le proprie infrastrutture digitali. Si tratta della ricerca cognitiva. Vediamo come Microsoft sta implementando questa nuova tecnologia per aumentare la produttività delle aziende sfruttando uno dei loro principali asset: l'informazione.

Cosa troverai in questo articolo

  • Azure Cognitive Search: cos'è e a cosa serve la ricerca di intelligenza artificiale di Azure
  • Azure Cognitive Search e il problema dei dati non strutturati
  • Come funziona Azure Cognitive Search?
  • Le differenze tra Azure Search e Azure Cognitive Search
  • Azure Cognitive Search: quali sono i vantaggi?
  • I costi e i casi d'uso di Azure Cognitive Search
Azure Cognitive Search: cos'è, funzionalità e costi per le aziende

Azure Cognitive Search: cos'è e a cosa serve la ricerca di intelligenza artificiale di Azure

Azure Cognitive Search è un servizio di ricerca basato su cloud (Search as a Service o SaaS) che fornisce ai programmatori l'infrastruttura, le API e gli strumenti necessari per creare esperienze di ricerca avanzate da raccolte di dati private ed eterogenee e quindi sfruttarle in applicazioni web, app mobili e soluzioni aziendali.

E non è tutto, pur essendo un servizio completo in sé, le aziende hanno comunque la possibilità di creare soluzioni personalizzate integrando i propri modelli di gestione dei dati. Inoltre, come con tutti i prodotti e servizi Azure, è a disposizione degli utenti la potente infrastruttura di sicurezza e garanzia della privacy offerta da Microsoft che aiuta a proteggere le informazioni sia dell'azienda che dei clienti stessi.

Azure Cognitive Search e il problema dei dati non strutturati

C'è una realtà indiscutibile nel mondo di oggi, e cioè che generiamo sempre più dati e informazioni ogni giorno che passa. Stime recenti indicano che il mondo crea più di 2,5 quintilioni di byte di dati tutti i giorni. Una cifra di per sé impressionante ma che non è, ironicamente, nemmeno il problema più grande di questa particolare situazione.

Andiamo quindi a introdurre una problematica che i gestori di database probabilmente già conosceranno (e avranno imparato a odiare), ovvero che le informazioni di solito arrivano in formati "non strutturati": PDF, immagini, video, file audio e presentazioni PowerPoint, solo per citarne alcuni.

Si stima che circa l'80% dei dati aziendali mondiali sia non strutturato o semi-strutturato.

Il risultato è che sfruttare queste informazioni può costare molto tempo e denaro a un’azienda. Di conseguenza, le decisioni spesso sono meno informate e richiedono più tempo per essere prese, e il lavoro viene svolto manualmente, basandosi sull'intuizione. Non siamo in grado di trovare il contenuto, utilizzando strumenti e applicazioni che possono molto spesso addirittura ostacolare l'esperienza dell'utente.

Alla fine, le nostre informazioni hanno il potenziale per diventare un vantaggio o un peso, a seconda di come vengono utilizzate. Quindi tutti affrontiamo una sfida simile: come applicare le nostre informazioni in modo significativo ai nostri prodotti e al nostro business?

L’informatica si sta costantemente rinnovando e oggi le innovazioni concrete nella visione, nella voce, nel linguaggio, nella conoscenza e nella ricerca stessa permettono per la prima volta alle nostre applicazioni di interpretare i dati non strutturati in modo simile all'uomo, e comprendere anche più profondamente i dati tradizionali in forma di testo, in modo che quando le operazioni di ricerca vengono accoppiate con l'intelligenza artificiale, insieme ci consentono di creare soluzioni capaci di trovare più valore nei dati.

Questo si traduce nel coinvolgere i clienti, trasformare i prodotti, dare potere ai dipendenti e migliorare le operazioni aziendali. Azure Cognitive Search può aiutarci esattamente in questo. Vediamo come.

Come funziona Azure Cognitive Search?

In prima battuta l’utilizzo di Azure Cognitive Search prevede l'organizzazione dei dati in modo strutturato e la loro indicizzazione in modo che possano essere facilmente ricercati dall’utenza. Il servizio fornisce due diversi motori di indicizzazione: la tecnologia di elaborazione del linguaggio naturale (Natural Language Processing o NLP) proprietaria di Microsoft o gli analizzatori delle library open source di Apache Lucene. Il motore di ricerca di Microsoft è costruito sul modello di Elasticsearch.

Se si stanno indicizzando, ad esempio, dei documenti di testo, Azure Cognitive Search vedrà di analizzare il contenuto di ciascun documento e creerà un indice che associa le parole chiave ai documenti. Questo indice permetterà a Azure Cognitive Search di trovare rapidamente i documenti che corrispondono a determinate query di ricerca.

Indicizzati i dati, gli utenti potranno eseguire ricerche utilizzando parole chiave o frasi specifiche. Quando un utente immetterà una query di ricerca, Azure Cognitive Search esaminerà l'indice dei dati per trovare corrispondenze tra le parole chiave e i dati indicizzati in precedenza.

I risultati verranno classificati da Cognitive Search in base alla loro rilevanza. Diversi sono i fattori per determinare la pertinenza di un risultato, come la frequenza delle parole chiave nel documento o la loro posizione al suo interno.

Ciò che distingue Azure Cognitive Search è l’incorporare funzionalità di Intelligenza Artificiale al fine di migliorare enormemente le funzionalità di ricerca.  

Il servizio può utilizzare il riconoscimento ottico dei caratteri (OCR) per estrarre testo da immagini o documenti scansionati senza necessità di interventi aggiuntivi.  L’utilizzo di algoritmi di apprendimento automatico permette inoltre a Cognitive Search di comprendere il significato del testo e dà la possibilità agli utenti di ritrovare informazioni anche se un documento non contiene esattamente la parola chiave cercata.

Azure Cognitive Search potrebbe quindi comunque trovare le informazioni che desideriamo ottenere tenendo conto della vicinanza contestuale all’argomento cercato, dei sinonimi delle keyword utilizzate presenti nei risultati indicizzati e altri criteri discriminanti per restringere i risultati rilevanti senza sacrificare tangenzialità e correlazioni potenzialmente significative.

Si pensi a quanto rivoluzionaria possa essere la capacità di interpretare registrazioni audio, immagini e testi stessi in modo che, per trovare un contenuto specifico, ricerche semantiche possano essere applicate per sfruttare l'esistenza di sinonimi al fine di trovare un documento particolare, o avviare ricerche indipendentemente dalla lingua che origina la query o dalla lingua in cui sono stati scritti i documenti.

Da segnalare anche che da Ottobre 2023 è disponibile in preview l’integrazione delle funzionalità di Azure Cognitive Search con Sharepoint, che consente alle aziende di potenziare le capacità di ricerca all'interno di Sharepoint sfruttando le funzionalità avanzate di Azure Cognitive Search che può ora connettersi ai siti e alle librerie della app per indicizzare i contenuti come documenti, elenchi e altri tipi di dati presenti al suo interno.

Integrando la Cognitive Search Azure con SharePoint, le organizzazioni ora possono quindi creare un'esperienza di ricerca unificata su tutti i loro repository di contenuti, inclusi siti SharePoint, database esterni e altre fonti di dati.

Le differenze tra Azure Search e Azure Cognitive Search

Data una panoramica generale del funzionamento di Azure Cognitive Search, qualcuno potrebbe chiedersi qual è dunque la differenza tra quest’ultimo e Azure Search, il precedente servizio di ricerca offerto dalla piattaforma Azure. In poche parole: sostanzialmente nessuna. Azure Cognitive Search è la somma delle precedenti funzionalità offerte da Azure Search insieme ai nuovi servizi cognitivi implementati da Microsoft nel suo servizio di ricerca.

Vediamo di chiarire brevemente la situazione: Azure Search è ora chiamato Azure Cognitive Search poiché Microsoft lo ha rinominato nell'ottobre 2019. La scelta è stata presa dalla casa di Redwood per riflettere l’implementazione e l'uso ampliato (sebbene opzionale) delle capacità cognitive e dell'elaborazione dell'IA nelle operazioni del nuovo servizio aziendale della famiglia Azure. Così facendo, ha offerto potenti capacità di indicizzazione in modo che i programmatori potessero creare soluzioni uniche con le quali sfruttare e trovare valore in tutti i tipi di dati.

Di conseguenza, le versioni delle API, i pacchetti NuGet, i namespace e i punti di connessione che già avevamo con Azure Search sarebbero potuti rimanere invariati, per il sollievo della comunità tecnica, dato che sia le nuove soluzioni di ricerca che quelle esistenti non sarebbero state influenzate dal cambio di nome del servizio.

Sai che aiutiamo i nostri clienti nella gestione dei loro tenant Azure?

Abbiamo creato il team interno Infra& Security, verticale sul cloud Azure per rispondere meglio alle esigenze dei nostri clienti che ci coinvolgono nelle decisioni tecniche e strategiche.

Oltre a configurare e gestire il tenant, ci occupiamo anche di:

  • ottimizzazione dei costi delle risorse
  • implementazione procedure di scaling e high availability
  • creazione dei deployment applicativi tramite le pipelines di DevOps
  • monitoring
  • e soprattutto security!

Con Dev4Side Software, puoi avere un partner affidabile in grado di supportarti sull'intero ecosistema applicativo di Microsoft.

Azure Cognitive Search: quali sono i vantaggi?

Azure Cognitive Search può essere applicato in diversi scenari chiave, a seconda di ciò che si sta cercando di fare con le informazioni che abbiamo già o che potremmo ritrovarci a gestire. Vediamo insieme quali sono vantaggi che clienti e aziende possono trarre dalla sua implementazione in alcuni casi di utilizzo comune.

1. Ottenere sempre le informazioni più rilevanti

Le funzionalità di Azure Cognitive Search permettono, come abbiamo già visto, di proporre le informazioni più rilevanti per i propri clienti su un sito web o un'applicazione. Questo può sensibilmente aumentare le vendite e la soddisfazione del cliente, oltre a migliorare di gran lunga l'esperienza utente generale fornendo strumenti di ricerca semplici, rapidi e precisi.

Un sito web di e-commerce avrebbe la possibilità di implementare una funzione di ricerca che consente agli utenti di trovare rapidamente i prodotti desiderati utilizzando parole chiave, filtri e altre opzioni di ricerca avanzate. Un portale di notizie, utilizzando Azure Cognitive Search, potrebbe usufruire di un sistema di raccomandazione che suggerisce agli utenti articoli rilevanti in base ai loro interessi e alle loro interazioni precedenti.

O ancora in un'applicazione mobile per l'assistenza clienti si potrebbe implementare una funzione di ricerca intelligente che comprende il linguaggio naturale degli utenti e restituisce risposte pertinenti e dettagliate dando la possibilità agli utenti di risolvere le loro problematiche rapidamente e con soluzioni passo-passo.

2. Integrare dati multi-sorgente e multi-formato

Azure Cognitive Search permette di ricercare informazioni in fonti di dati isolate, con diversi sistemi di archiviazione e tipi di file. Un'azienda che gestisce dati provenienti da diversi sistemi di gestione aziendale, come CRM, ERP e database interni potrebbe indicizzare e cercare questi dati in modo rapido ed efficiente, indipendentemente dalla loro origine o formato.

Come abbiamo già accennato sopra, spesso le informazioni cruciali sono racchiuse in documenti non strutturati come file PDF, documenti di testo e presentazioni. Azure Cognitive Search consente di indicizzare e cercare il contenuto di questi documenti, consentendo agli utenti di trovare rapidamente le informazioni di cui hanno bisogno.

Cognitive Search può anche essere utilizzato per cercare informazioni provenienti da fonti esterne, come feed RSS, dati social media o servizi Web, funzionalità utilissima per un’azienda al fine di monitorare le tendenze del settore, cercare menzioni del proprio marchio sui social media o analizzare le recensioni dei clienti per identificare possibili aree di miglioramento.

3. Collegare informazioni frammentate

Con Azure Cognitive Search possiamo facilitare il collegamento e il raggruppamento di informazioni frammentate, consentendo una visione unificata e organizzata dei dati.

Un'azienda impegnata a gestire dati provenienti da diversi dipartimenti e sistemi di gestione utilizzando Cognitive Search può indicizzare e collegare questi dati in un'unica piattaforma di ricerca. I dati dei clienti provenienti dal Customer Relationship Management possono essere collegati ai dati di vendita provenienti dal sistema ERP (Enterprise Resource Planning), dando una visione completa del ciclo di vita del cliente e garantendo all’azienda di poter prendere decisioni più informate sui piani di marketing e sulle strategie di vendita.

Azure Cognitive Search consente anche di raggruppare informazioni correlate in modo da renderle più accessibili e utili per gli utenti. Si potrebbe utilizzare la ricerca per raggruppare prodotti correlati in base alle preferenze degli utenti o agli acquisti passati, permettendogli di trovare rapidamente ciò che stanno cercando e aumentare le vendite attraverso raccomandazioni personalizzate.

Il servizio riduce al minimo la duplicazione dei dati. Ad esempio, anziché mantenere copie separate dei dati dei clienti in diversi sistemi, è possibile collegare questi dati in un'unica piattaforma di ricerca, portando ai minimi termini la complessità e i costi associati alla gestione dei dati e garantendo la coerenza e l'accuratezza delle informazioni fornite.

4. Classificare i dati

Azure Cognitive Search permette una classificazione più accurata dei dati, migliorando la gestione e l'utilizzo delle informazioni aziendali.  

Prendiamo ad esempio un grande insieme di documenti aziendali, alcuni dei quali sono riservati e altri pubblici.

Con Azure Cognitive Search, possiamo implementare un sistema di classificazione automatica dei documenti in base al loro contenuto e alla sensibilità delle informazioni che vada a identificare automaticamente i documenti che contengono informazioni personali o riservate, assegnando loro un'etichetta di classificazione corrispondente che ci permette di gestire e proteggere meglio i dati sensibili e rispettare le normative sulla privacy.

5. Implementare sistemi di allerta e analisi dati personalizzati

Infine, con Azure Cognitive Search, possiamo implementare un sistema di analisi dei dati che ci consente di comprendere meglio il nostro business e individuare pattern unici. Possiamo analizzare i dati delle vendite per identificare tendenze di mercato emergenti o individuare segmenti di clientela sotto-serviti e adottare un approccio proattivo per migliorare le nostre strategie di marketing e massimizzare le opportunità di crescita.

Il servizio dà anche la possibilità di implementare un sistema di allerta personalizzato che può fornirci informazioni tempestive su anomalie, pattern insoliti e rilevare automaticamente deviazioni significative dai modelli storici. Ad esempio, possiamo essere avvisati quando il numero di visite al nostro sito web supera una certa soglia o quando si verificano picchi di traffico inaspettati o, in caso di malfunzionamenti, di intervenire rapidamente per risolvere eventuali problemi tecnici.

Questi sono solo alcuni esempi di come è possibile implementare la Cognitive Search Azure ma la capacità di trarne vantaggio è, per usare un termine molto spesso inflazionato, quasi illimitata.

I costi e i casi d'uso di Azure Cognitive Search

Il sistema di pricing di Azure Cognitive Search adotta un modello di pagamento basato sull’utilizzo effettivo del servizio e le tariffe variano da un primo livello gratuito a versioni a pagamento di costo variabile man mano che si decide di usufruire delle funzionalità più avanzate. Il primo livello gratuito è un ottimo strumento per lavorare su prototipi per le nostre applicazioni, ma non consigliabile per le applicazioni in produzione.

Se si ha una certa quantità di dati da memorizzare o un certo numero di indici necessari, potrebbe essere necessario passare a livelli più costosi. Quindi è necessario pianificare attentamente le origini dati indicizzate o la quantità di fonti dati potrebbe spingere rapidamente verso i piani di utilizzo più costosi prima che lo faccia il limite allo spazio di archiviazione.

Sarebbe consigliabile effettuare prima una consolidazione dei dati da indicizzare. Una singola fonte tende a essere significativamente più economica in Azure Cognitive Search rispetto a un qualsiasi numero di fonti diverse che possono aumentare nel tempo.

Questa consolidazione può assumere conformazioni diverse in base all'architettura dell'applicazione su cui stiamo lavorando, ma può tradursi comunemente nell'uso di un singolo account di archiviazione per memorizzare diversi tipi di informazioni o nel coinvolgimento di qualche tipo di processo (manuale o automatizzato) per raccogliere cose da diversi sistemi e metterle in una singola posizione dove Cognitive Search può trovarle.

Le informazioni che inseriamo su Azure per l'indicizzazione sono soggette a costi di archiviazione. Se vogliamo indicizzare un account di archiviazione, dovremo comunque pagare per gli elementi archiviati in base alla loro frequenza di utilizzo e alla tipologia di archiviazione. I costi di archiviazione tendono generalmente ad aumentare nel tempo all'aumentare del volume dei dati memorizzati.

Azure Cognitive Search: tabella prezzi 1

Configurare la competenza cognitiva di ricerca con entità personalizzate comporta un costo aggiuntivo in base alla quantità di record indicizzati con questa funzione.

Anche la funzione di "document cracking" per i documenti basati su immagini comporta un piccolo costo aggiuntivo. Questa funzione è spesso un contributo chiave per le persone che utilizzano Azure Cognitive Search, quindi è da considerare meno come un costo da evitare e più come il reale costo di base del servizio.

Per quanto riguarda la funzionalità di ricerca semantica, volta a migliorare i risultati considerando anche i termini che sono semanticamente identici a quelli ricercati, questa è gratuita per i piani Cognitive Search a pagamento che utilizzano scenari a basso volume (meno di 1.000 query al mese) ma comporta un costo aggiuntivo basato sull'uso eccedente a seconda dell'edizione di Cognitive Search che si sta utilizzando.

Infine è da tenere presente anche l’eventuale applicazione di costi secondari per funzionalità come Security Center o backup, a seconda della tipologia di servizio utilizzata per memorizzare i nostri dati e delle policy applicate sul proprio account.

Azure Cognitive Search: tabella prezzi 2

Come per qualsiasi altro servizio di Azure, segnaliamo la possibilità di utilizzare il comodo strumento di calcolo offerto da Microsoft (che potete trovare qui)  per stimare i costi specifici per la propria azienda in base ad area geografica, valuta utilizzata per il pagamento e tempo d’impiego di ognuno dei servizi usufruibili (calcolabile per ore o per mesi) e trovare la soluzione d’impiego più adatta per le proprie esigenze.

Per concludere quindi la nostra panoramica possiamo affermare senza particolari problemi che Azure Cognitive Search si presenta come una soluzione potente ed economica per indicizzare una grande varietà di fonti di informazioni e aggiungere contesto aggiuntivo ai risultati della ricerca sotto forma di skill estensibili.

Uno strumento dalle molte possibilità e dal prezzo estremamente competitivo che può risultare un vero e proprio game changer per tutte quelle aziende che necessitano di sfruttare le proprie informazioni al massimo del loro potenziale.

Vi invitiamo quindi a testare con mano il piano gratuito per avere un assaggio delle caratteristiche di Azure Cognitive Search e di ciò che può fare per la vostra azienda.

Scopri perché scegliere il team

Infra & Sec

Il team Infra & Security è verticale sulla gestione ed evoluzione dei tenant Microsoft Azure dei nostri clienti. Oltre a configurare e gestire il tenant, si occupa della creazione dei deployment applicativi tramite le pipelines di DevOps, monitora e gestisce tutti gli aspetti di sicurezza del tenant, supportando i Security Operations Centers (SOC).