Come progettare una ricerca aziendale basata sull’IA in AWS

Progettare una ricerca aziendale basata sull'IA in AWS

Trovare le informazioni giuste al momento giusto è un elemento distintivo chiave nell’organizzazione moderna di oggi. Ciò non solo risparmia tempo ed sforzi considerevoli, ma aumenta anche la soddisfazione del cliente e la produttività dei dipendenti. Tuttavia, nella maggior parte delle grandi organizzazioni, tutti i contenuti e le informazioni sono dispersi e non indicizzati e organizzati correttamente. Spesso i dipendenti e i clienti navigano attraverso link non correlati per ore quando cercano informazioni urgenti (ad esempio, informazioni sui prodotti o flussi di processo o politiche, ecc.) nel portale o nell’intranet dell’azienda. I popolari software di gestione dei contenuti (CMS) o wiki come Confluence o i repository di gestione dei documenti come SharePoint mancano delle perfette capacità di ricerca intelligente, risultando inefficienti in quanto utilizzano solo la ricerca basata su parole chiave corrispondenti parziali o complete, ignorando il significato semantico di ciò che l’utente sta cercando.

Inoltre, la ricerca tradizionale non comprende se la domanda viene posta in linguaggio naturale. Tratta tutte le parole come query di ricerca e cerca di abbinare tutti i documenti o i contenuti in base a ciò. Ad esempio, se devo scoprire in quale piano si trova il nostro helpdesk IT nel mio edificio uffici e semplicemente cerco “Dove si trova l’helpdesk IT?” in generale, il software CMS o Wiki che alimenta l’intranet aziendale potrebbe mostrare tutti i link o testi che corrispondono ad ogni parola della mia domanda, inclusi “IT”, “helpdesk” e “trovato”. Ciò comporterebbe un spreco di produttività, tempo e morale del dipendente poiché trascorrerebbe molto tempo identificando le informazioni corrette.

Supponiamo che ci sia un rivenditore di e-commerce nel settore dell’abbigliamento. Se qualcuno cerca utilizzando parole francesi per camicia nera usando “chemise noire”, la normale ricerca di testo completo probabilmente non troverebbe nulla se la traduzione linguistica non fosse stata effettuata nel sistema. Mostrerebbe nessun risultato agli utenti e ci sarebbe effettivamente una perdita per l’attività.

Progettazione della soluzione

Per superare il problema che le organizzazioni incontrano nell’utilizzo dei servizi di abbinamento delle parole chiave, Amazon ha lanciato il servizio serverless Amazon Kendra che utilizza l’apprendimento automatico per comprendere il contesto e l’intento della domanda posta dall’utente in linguaggio naturale e, utilizzando questo, individuare i contenuti o le risposte corrette e rispondere all’utente nello stesso linguaggio naturale.

Amazon Kendra dispone di molti connettori dati per supportare un’integrazione rapida con qualsiasi origine dati aziendali (Salesforce CRM, Sharepoint, Jira/Confluence o S3 buckets, file server). Pertanto, è molto facile connettersi a qualsiasi repository di contenuti.

Una volta completata l’integrazione delle origini dati, nella console di Amazon Kendra può essere creata l'”indice”, che verrà sincronizzato dai contenuti anche se questi cambiano nel tempo. Questo processo di sincronizzazione aiuta Kendra ad apprendere e classificare i contenuti internamente utilizzando l’apprendimento automatico.

Una volta che l’indicizzazione di Kendra è completa e pronta per essere utilizzata, l’interfaccia utente può essere personalizzata o può essere accessibile tramite l’integrazione dell’API. Il design sottostante rappresenta il flusso:

Casi d’uso aziendali

Ci sono molteplici casi d’uso in cui è possibile sfruttare la capacità di ricerca intelligente.

  • Helpdesk/Contact Center: Gli agenti del helpdesk o del contact center trascorrono una quantità significativa di tempo nell’individuare i giusti passaggi durante l’assistenza a clienti interni o esterni quando la base di conoscenza cresce. L’utilizzo di questa capacità di ricerca intelligente aiuterebbe gli agenti del CC a rispondere rapidamente alle domande dei clienti. Ciò non solo ridurrebbe il tempo delle chiamate ma aumenterebbe anche la soddisfazione del cliente e le prestazioni degli agenti.
  • Sistema di raccomandazione: AWS Kendra può anche essere utilizzato per creare una piattaforma di raccomandazione in cui i clienti sarebbero più coinvolti sulla base del servizio di raccomandazione attraverso l’integrazione del sistema FAQ.
  • Le applicazioni o i prodotti SAAS possono sfruttare la ricerca in-app alimentata da ML in modo che gli utenti possano trovare rapidamente le risposte pertinenti che stanno cercando.
  • Dato che l’API di Kendra può essere integrata con i bot QnA, il costo o il tempo di attesa del contact center sarà inferiore poiché gli utenti potranno trovare rapidamente le risposte utilizzando i bot self-service o il cercatore di informazioni senza agente.

Vantaggi dell’utilizzo di AWS Kendra

  • AWS Kendra ti aiuta a lanciare e implementare rapidamente un’esperienza di ricerca unificata in tutta l’organizzazione con varie fonti di dati da molteplici contenuti strutturati e non strutturati. Poiché dispone di quasi tutti i connettori dati per acquisire dati da Salesforce o SharePoint o S3 buckets o database, lo sforzo di sviluppo è minimo.
  • Kendra supporta l’utilizzo dell’elaborazione del linguaggio naturale (NLP) per ottenere risposte altamente accurate utilizzando la tecnica di apprendimento automatico (ML), ma ciò non significa che sia necessario avere competenze di apprendimento automatico nell’organizzazione, ma è comunque possibile fornire funzionalità simili agli utenti.
  • In Kendra, è possibile utilizzare gli attributi dei metadati, il comportamento dell’utente e la freschezza per ottimizzare i risultati di ricerca.
  • AWS Kendra supporta l’integrazione di FAQ esterne con i contenuti acquisiti in base alla classifica del documento e all’apprendimento automatico, il che coinvolge gli utenti.

Demo

I passi molto basilari per progettare una soluzione con Kendra sono:

  • Creare un indice
  • Integrare la fonte dati richiesta utilizzando i connettori dati multi-canale disponibili in Kendra.
  • Deploy e fare testing utilizzando l’interfaccia utente integrata o utilizzare l’API REST per integrare la propria interfaccia utente.

Amazon Kendra dispone di molti connettori dati per database Amazon RDS, S3, Jira / Confluence, SalesForce CRM, ServiceNow, Slack, Google Drive, Microsoft OneDrive e Microsoft SharePoint, e può estrarre e utilizzare dati da file PDF, HTML o CSV – praticamente da qualsiasi formato popolare. Nelle sezioni seguenti, andremo in dettaglio su ogni passo.

1. Creare un Indice

Eseguire il login alla console AWS e cambiare la regione con la regione supportata in cui AWS Kendra è disponibile. Avviare AWS Kendra dalla barra di ricerca. Fare clic su Crea indice e inserire i dettagli, come mostrato nella schermata sottostante. È possibile scegliere di utilizzare un proprio nome qui.

Dato che useremo un paio di documenti per sperimentare, ho selezionato “Edizione sviluppatore”.

Dopo aver fatto clic sul pulsante Crea, AWS provvederà a creare un’istanza di AWS Kendra con l’indice creato.

2. Integrare l’Ingestione dei Dati

Prima di integrare il bucket S3 come fonte dati, è necessario creare il bucket S3. Una volta creato il bucket, è possibile caricare alcuni file PDF a scelta. Ho scaricato 2 ebook sulla storia degli Stati Uniti (Volume 2 e 3) da Project Gutenburg, che ho caricato nel bucket.

Dopo aver caricato tutti i file, andare alla scheda Proprietà nel servizio S3 per copiare l’ARN.

Passare al servizio AWS Kendra e selezionare l’indice creato in precedenza. Vedrete l’opzione “Aggiungi fonte dati” per connettervi alla fonte dati. Dobbiamo utilizzare il connettore Amazon S3 per connetterci al bucket S3.

È possibile fornire un qualsiasi nome alla fonte dati; per semplicità, sto utilizzando s3-pdf-docs.

Creare un nuovo ruolo IAM per la fonte dati.

Per la sezione di sincronizzazione, sfogliare il bucket S3 da sincronizzare e la frequenza sarà su richiesta.

Scegliere le opzioni predefinite successive e fare clic su Aggiungi fonte dati per avviare il processo di sincronizzazione.

3. Sincronizza il Processo di Ingestione dalla Fonte

Una volta che la fonte dati è attiva, è necessario avviare il processo di sincronizzazione per caricare i dati di testo PDF dal bucket S3 all’indice di Kendra.

Una volta avviato il processo di sincronizzazione, verrà mostrato lo stato In corso nella sezione cronologia.

4. Convalida l’Ingestione dei Dati

Quando il processo di sincronizzazione è completato, verrà mostrato il conteggio dei documenti che conferma che i nuovi documenti sono stati aggiunti e indicizzati.

Una volta che il documento è stato inglobato, fare clic su “Cerca contenuto indicizzato” per convalidare la ricerca.

5. Testa la Ricerca Predefinita di AWS Kendra nella Console

Ho effettuato una ricerca utilizzando la parola chiave (mostrata di seguito), e i risultati sono stati ottenuti immediatamente. Non ha ottenuto i risultati correttamente, ma è stato in grado di estrarre anche l’estratto dal documento.

Kendra dispone di molte funzionalità integrate in modo che i risultati possano essere ottimizzati e offre API e SDK per connettersi e utilizzare in altre interfacce utente.

Ricordarsi di eliminare l’Indice quando si hanno finito di sperimentare; in caso contrario, potrebbe comportare dei costi in futuro.

Conclusioni

Come mostrato nella guida precedente, è così facile configurare una ricerca Enterprise personalizzata basata sul machine learning, basata su dati e documenti proprietari dell’azienda, che non solo è scalabile, ma fornisce funzionalità out-of-the-box per personalizzare i risultati in base alle esigenze. Amazon Kendra fornisce API per combinare con qualsiasi applicazione a pagina singola o bot di domande e risposte, offrendo una maggiore flessibilità. La migliore caratteristica è che Kendra dispone di così tanti connettori dati che può essere integrato senza soluzione di continuità con qualsiasi tipo di fonte dati aziendali, e non è necessario compiere alcuno sforzo aggiuntivo per costruirne uno simile.