Se hai avuto l'opportunità di creare un'applicazione di ricerca per dati non strutturati (ad es. wiki, siti Web informativi, pagine di guida self-service, documentazione interna, ecc.) utilizzando motori di ricerca open source o commerciali, allora probabilmente hai familiarità con le sfide di precisione intrinseche coinvolte nell'ottenere risultati di ricerca pertinenti. Il significato inteso sia della query che del documento può andare perso perché la ricerca si riduce alla corrispondenza di parole chiave e termini dei componenti. Di conseguenza, mentre ottieni risultati che possono contenere le parole giuste, non sono sempre rilevanti per l'utente. È necessario che il tuo motore di ricerca sia più intelligente in modo che possa classificare i documenti in base alla corrispondenza del significato o della semantica del contenuto con l'intenzione della query dell'utente.
Amazon Kendra fornisce un servizio di ricerca intelligente completamente gestito che automatizza l'inserimento di documenti e fornisce risultati di ricerca e domande frequenti estremamente accurati in base al contenuto di molte origini dati. Se non hai eseguito la migrazione ad Amazon Kendra e desideri migliorare la qualità dei risultati di ricerca, puoi utilizzare Amazon Kendra Intelligent Ranking per OpenSearch autogestito sulla tua soluzione di ricerca esistente.
Siamo lieti di presentare il nuovo Amazon Kendra Intelligent Ranking per OpenSearch autogestito, e il suo plug-in compagno per il OpenSearch motore di ricerca! Ora puoi facilmente aggiungere un ranking intelligente alle tue query di documenti OpenSearch, senza bisogno di migrare, duplicare i tuoi indici OpenSearch o riscrivere le tue applicazioni. La differenza tra Amazon Kendra Intelligent Ranking per OpenSearch autogestito e il servizio Amazon Kendra completamente gestito è che mentre il primo fornisce una potente riclassificazione semantica per i risultati della ricerca, il secondo fornisce ulteriori miglioramenti e funzionalità dell'accuratezza della ricerca come apprendimento incrementale, domanda risposta, corrispondenza delle domande frequenti e connettori integrati. Per ulteriori informazioni sul servizio completamente gestito, visitare il Pagina del servizio Amazon Kendra.
Con Amazon Kendra Intelligent Ranking per OpenSearch autogestito, risultati precedenti come questo:
Query: Qual è l'indirizzo della Casa Bianca?
Hit1 (migliore): Il presidente ha pronunciato oggi un discorso alla nazione dalla Casa Bianca.
Hit2: La Casa Bianca si trova a: 1600 Pennsylvania Avenue NW, Washington, DC 20500
diventa così:
Query: Qual è l'indirizzo della Casa Bianca?
Hit1 (migliore): La Casa Bianca si trova a: 1600 Pennsylvania Avenue NW, Washington, DC 20500
Hit2: Il presidente ha pronunciato oggi un discorso alla nazione dalla Casa Bianca.
In questo post, ti mostriamo come iniziare con Amazon Kendra Intelligent Ranking per OpenSearch autogestito e forniamo alcuni esempi che dimostrano la potenza e il valore di questa funzionalità.
Componenti di Amazon Kendra Intelligent Ranking per OpenSearch autogestito
Prerequisiti
Per questo tutorial, avrai bisogno di un terminale bash attivo Linux, Mac, o Sottosistema di Windows per Linux, E un Account AWS. Suggerimento: prendi in considerazione l'utilizzo di un'istanza Amazon Cloud9 o di un Cloud di calcolo elastico di Amazon (Amazon EC2).
Desideri:
- Installa Docker, se non è già installato sul tuo sistema.
- Installa l'ultima Interfaccia della riga di comando di AWS (AWS CLI), se non è già installato.
- Crea e avvia container OpenSearch, con il plug-in Amazon Kendra Intelligent Ranking abilitato.
- Crea indici di prova e carica alcuni documenti di esempio.
- Esegui alcune query, con e senza ranking intelligente, e lasciati impressionare dalle differenze!
Installa Docker
Se Docker (ovvero docker
ed docker-compose
) non è già installato nel tuo ambiente, quindi installalo. Vedere Ottieni Docker per le direzioni.
Installa l'AWS CLI
Se non hai già installato l'ultima versione dell'AWS CLI, installala e configurala ora (vedi AWS CLI Per iniziare). Le tue credenziali utente AWS predefinite devono disporre dell'accesso come amministratore oppure chiedi all'amministratore AWS di aggiungere la seguente policy alle tue autorizzazioni utente:
Crea e avvia OpenSearch utilizzando lo script Quickstart
Scarica la search_processing_kendra_quickstart.sh
sceneggiatura:
Lo script di avvio rapido:
- Crea un Amazon Kendra Intelligent Ranking Rescore Execution Plan nel tuo account AWS.
- Crea contenitori Docker per OpenSearch e le relative dashboard.
- Configura OpenSearch per utilizzare il Kendra Intelligent Ranking Service.
- Avvia i servizi OpenSearch.
- Fornisce indicazioni utili per l'utilizzo del servizio.
Usa il --help
opzione per vedere le opzioni della riga di comando:
Ora esegui lo script per automatizzare la configurazione di Amazon Kendra e OpenSearch:
Questo è tutto! I contenitori OpenSearch e OpenSearch Dashboard sono ora attivi e funzionanti.
Leggere il messaggio di output dallo script di avvio rapido e prendere nota della directory in cui è possibile eseguire il file handy docker-compose
comandi e il cleanup_resources.sh
script.
Prova una query di prova per verificare che puoi connetterti al tuo contenitore OpenSearch:
Nota che se ricevi l'errore curl(35):OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to localhost:9200
, significa che OpenSearch è ancora in arrivo. Attendi un paio di minuti affinché OpenSearch sia pronto e riprova.
Crea indici di prova e carica documenti di esempio
Lo script seguente viene utilizzato per creare un indice e caricare documenti di esempio. Salvalo sul tuo computer come bulk_post.sh:
Salva i file di dati di seguito come tinydocs.jsonl:
E salva il file di dati qui sotto come dstinfo.jsonl:
(Questi dati sono adattati da Articolo sull'ora legale).
Rendi eseguibile lo script:
Adesso usa il bulk_post.sh script per creare indici e caricare i dati eseguendo i due comandi seguenti:
Eseguire query di esempio
Preparare gli script di query
Le query OpenSearch sono definite in JSON utilizzando OpenSearch interrogare la lingua specifica del dominio (DSL). Per questo post, utilizziamo il Arricciatura di Linux comando per inviare query al nostro server OpenSearch locale utilizzando HTTPS.
Per facilitare questo, abbiamo definito due piccoli script per costruire la nostra query DSL e inviarla a OpenSearch.
Il primo script crea una normale query di corrispondenza del testo OpenSearch su due campi del documento: titolo ed stile di vita. Consulta la documentazione di OpenSearch per ulteriori informazioni su sintassi delle query a più corrispondenze. Abbiamo mantenuto la query molto semplice, ma puoi sperimentare in seguito con la definizione di tipi alternativi di query.
Salva lo script qui sotto come query_nokendra.sh:
Il secondo script è simile al primo, ma questa volta aggiungiamo un'estensione di query per istruire OpenSearch a richiamare il plug-in Amazon Kendra Intelligent Ranking come fase di post-elaborazione per riclassificare i risultati originali utilizzando il servizio Amazon Kendra Intelligent Ranking.
I size
La proprietà determina quanti documenti dei risultati di OpenSearch vengono inviati a Kendra per essere riclassificati. Qui specifichiamo un massimo di 20 risultati per la riclassificazione. Due proprietà, title_field
(opzionale) e body_field
(obbligatorio), specificare i campi del documento utilizzati per il ranking intelligente.
Salva lo script qui sotto come query_kendra.sh:
Rendi eseguibili entrambi gli script:
Eseguire le query iniziali
Inizia con una semplice query sul tinydocs index, per riprodurre l'esempio utilizzato nell'introduzione del post.
Usa il query_nokendra.sh
script per cercare l'indirizzo della Casa Bianca:
Puoi vedere i risultati mostrati di seguito. Osserva l'ordine dei due risultati, che sono classificati in base al punteggio assegnato dalla query di corrispondenza testuale di OpenSearch. Sebbene il risultato con il punteggio più alto contenga le parole chiave indirizzo ed Casa Bianca, è chiaro che il significato non corrisponde all'intento della domanda. Le parole chiave corrispondono, ma la semantica no.
Ora eseguiamo la query con Amazon Kendra Intelligent Ranking, utilizzando il query_kendra.sh
sceneggiatura:
Questa volta, i risultati vengono visualizzati in un ordine diverso, come mostrato di seguito. Il servizio Amazon Kendra Intelligent Ranking ha riassegnato i valori del punteggio e ha assegnato un punteggio più alto al documento che corrisponde maggiormente all'intenzione della query. Dal punto di vista della parola chiave, questa è una corrispondenza più scadente perché non contiene la parola indirizzo; tuttavia, da una prospettiva semantica è la risposta migliore. Ora vedi i vantaggi dell'utilizzo del plug-in Amazon Kendra Intelligent Ranking!
Esegui query aggiuntive e confronta i risultati della ricerca
Prova subito l'indice dstinfo, per vedere come funziona lo stesso concetto con dati e query diversi. Mentre puoi usare gli script query_nokendra.sh ed query_kendra.sh per fare interrogazioni da linea di comando usiamo invece il file OpenSearch Dashboards Confronta il plug-in dei risultati di ricerca per eseguire query e confrontare i risultati di ricerca.
Incolla l'URL di Dashboards locale nel tuo browser: http://localhost:5601/app/searchRelevance – / per accedere allo strumento di confronto dashboard. Usa le credenziali predefinite: Nome utente: Admin, Parola d'ordine: Admin.
Nella barra di ricerca, inserisci: what is daylight saving time?
Per la query 1 e la query 2 Index, selezionare dstinfo.
Copia la query DSL qui sotto e incollala nel file domanda pannello sotto Query 1. Questa è una query di ricerca per parola chiave.
Ora copia la query DSL qui sotto e incollala nel file domanda pannello sotto Query 2. Questa query richiama il plug-in Amazon Kendra Intelligent Ranking per OpenSearch autogestito per eseguire una riclassificazione semantica dei risultati della ricerca.
Scegliere il Cerca pulsante per eseguire le query e osservare i risultati della ricerca. Nel Risultato 1, l'hit classificato per ultimo è probabilmente in realtà la risposta più pertinente a questa query. Nel risultato 2, l'output di Amazon Kendra Intelligent Ranking ha la risposta più pertinente correttamente classificata per prima.
Ora che hai sperimentato Amazon Kendra Intelligent Ranking per OpenSearch autogestito, sperimenta alcune tue query. Usa i dati che abbiamo già caricato o usa il file bulk_post.sh script per caricare i propri dati.
Esplora l'API di rescore della classifica di Amazon Kendra
Come hai visto da questo post, il plug-in Amazon Kendra Intelligent Ranking per OpenSearch può essere convenientemente utilizzato per il riposizionamento semantico dei risultati di ricerca. Tuttavia, se utilizzi un servizio di ricerca che non supporta il plug-in Amazon Kendra Intelligent Ranking per OpenSearch autogestito, puoi utilizzare il Risultare direttamente dall'API Amazon Kendra Intelligent Ranking.
Prova questa API utilizzando i risultati della ricerca dalla query di esempio che abbiamo usato sopra: qual è l'indirizzo della Casa Bianca?
Innanzitutto, trova il tuo ID piano di esecuzione eseguendo:
Il codice JSON seguente contiene la query di ricerca e i due risultati restituiti dalla query di corrispondenza OpenSearch originale, con i relativi punteggi OpenSearch originali. Sostituire {kendra-execution-plan_id}
con il tuo ID piano di esecuzione (dall'alto) e salvalo come rescore_input.json:
Esegui il comando CLI di seguito per assegnare un nuovo punteggio a questo elenco di documenti utilizzando il servizio Amazon Kendra Intelligent Ranking:
L'output di un'esecuzione riuscita di questo apparirà come di seguito.
Come previsto, il documento tdoc2 (contenente la corpo del testo "La Casa Bianca si trova a: 1600 Pennsylvania Avenue NW, Washington, DC 20500”) ora ha il punteggio più alto, in quanto è la risposta semanticamente più rilevante per la query. Il ResultItems
list nell'output contiene ogni input DocumentId
con il suo nuovo Score
, classificati in ordine decrescente di Score
.
ripulire
Quando hai finito di sperimentare, spegni e rimuovi i tuoi container Docker e Rescore Execution Plan eseguendo il cleanup_resources.sh
script creato dallo script Quickstart, ad esempio:
Conclusione
In questo post, ti abbiamo mostrato come utilizzare il plug-in Amazon Kendra Intelligent Ranking per OpenSearch autogestito per aggiungere facilmente un ranking intelligente alle tue query di documenti OpenSearch per migliorare notevolmente il ranking di pertinenza dei risultati, utilizzando le distribuzioni esistenti del motore di ricerca OpenSearch.
Puoi anche utilizzare Amazon Kendra Intelligent Ranking API di Rescore direttamente a rinominare e classificare in modo intelligente i risultati dalle tue stesse applicazioni.
Leggi l'Amazon Kendra Intelligent Ranking per OpenSearch autogestito documentazione per saperne di più su questa funzionalità e iniziare a pianificare la sua applicazione nelle applicazioni di produzione.
Informazioni sugli autori
Abhinav Jawadekar è un Principal Solutions Architect focalizzato su Amazon Kendra nel team di servizi linguistici AI/ML di AWS. Abhinav collabora con clienti e partner AWS per aiutarli a creare soluzioni di ricerca intelligenti su AWS.
Bob Strahan è Principal Solutions Architect nel team AWS Language AI Services.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- Platoblockchain. Web3 Metaverse Intelligence. Conoscenza amplificata. Accedi qui.
- Fonte: https://aws.amazon.com/blogs/machine-learning/get-smarter-search-results-with-the-amazon-kendra-intelligent-ranking-and-opensearch-plugin/
- 1
- 10
- 100
- 11
- 7
- 70
- 9
- a
- am
- Chi siamo
- sopra
- accesso
- incidenti
- Secondo
- Il mio account
- precisione
- preciso
- operanti in
- Action
- effettivamente
- aggiuntivo
- indirizzo
- Admin
- Dopo shavasana, sedersi in silenzio; saluti;
- avanti
- AI
- Servizi di intelligenza artificiale
- AI / ML
- già
- Sebbene il
- sempre
- Amazon
- Amazon EC2
- Amazon Kendra
- ed
- rispondere
- api
- Applicazioni
- applicazioni
- APPLICA
- Aprile
- Arizona
- addetto
- automatizzare
- automatizza
- Avenue
- AWS
- precedente
- bar
- basato
- bash
- perché
- dietro
- sotto
- beneficio
- vantaggi
- benzoino
- MIGLIORE
- Meglio
- fra
- stile di vita
- Cervello
- britannico
- British Columbia
- del browser
- costruire
- incassato
- ufficio
- Canada
- sfide
- il cambiamento
- pulire campo
- Orologi
- strettamente
- Cloud9
- COLUMBIA
- arrivo
- confrontare
- confronto
- componente
- Calcolare
- computer
- concetto
- Congresso
- Congresso
- Connettiti
- veloce
- conseguentemente
- Prendere in considerazione
- costruire
- Contenitore
- Tecnologie Container
- contiene
- contenuto
- paesi
- Coppia
- creare
- creato
- crea
- Credenziali
- Clienti
- cicli
- cruscotto
- dati
- giorno
- Giorni
- dc
- Predefinito
- definizione
- Contentissimo
- consegnato
- dimostrare
- implementazioni
- determina
- differenza
- diverso
- direttamente
- docker
- documento
- documentazione
- documenti
- non
- dominio
- Dont
- giù
- drammaticamente
- ogni
- facilmente
- effetto
- abilitato
- finisce
- motore
- Motori
- entrare
- Ambiente
- errore
- eccetera
- esempio
- Esempi
- eseguire
- esecuzione
- esistente
- previsto
- esperto
- esperimento
- estensione
- fallito
- familiare
- FAQ
- favorire
- caratteristica
- pochi
- campi
- Compila il
- File
- Trovare
- Nome
- concentrato
- seguire
- i seguenti
- modulo
- Ex
- fondazione
- da
- completamente
- function
- funzionalità
- geografico
- ottenere
- ottenere
- a portata di mano
- Aiuto
- utile
- qui
- superiore
- vivamente
- storia
- Colpire
- Visualizzazioni
- Casa
- Come
- Tutorial
- Tuttavia
- HTML
- HTTPS
- impressionato
- competenze
- miglioramenti
- in
- Aumenta
- Index
- indici
- Individualmente
- informazioni
- Informativo
- inerente
- inizialmente
- ingresso
- install
- esempio
- invece
- Intelligente
- intento
- Intenzione
- interno
- introdurre
- Introduzione
- invoca
- coinvolto
- Isole
- sicurezza
- IT
- json
- mantenere
- Lingua
- Cognome
- con i più recenti
- IMPARARE
- apprendimento
- lettera
- linea
- Lista
- caricare
- locale
- collocato
- Lunghi
- più a lungo
- Guarda
- make
- gestito
- molti
- Marzo
- partita
- corrispondenza
- massimo
- significato
- si intende
- messaggio
- migrare
- Minuti
- mese
- Scopri di più
- maggior parte
- nazione
- il
- Bisogno
- New
- Novembre
- osservare
- ottobre
- ONE
- aprire
- open source
- OpenSSL
- Opportunità
- Opzione
- Opzioni
- minimo
- i
- Altro
- all'aperto
- proprio
- partecipanti
- partner
- Ricambi
- Password
- Pennsylvania
- Persone
- Eseguire
- Forse
- permanente
- permessi
- prospettiva
- Partner
- piano
- pianificazione
- Platone
- Platone Data Intelligence
- PlatoneDati
- per favore
- plug-in
- politica
- Post
- energia
- potente
- Presidente
- piuttosto
- precedente
- Direttore
- probabilmente
- Produzione
- proprietà
- proprietà
- fornire
- fornisce
- la percezione
- Puerto
- Puerto Rico
- qualità
- domanda
- classificato
- Posizione
- pronto
- Ridotto
- Basic
- relazione
- rilevanza
- pertinente
- rimuovere
- sostituire
- necessario
- riparazioni
- risorsa
- risposta
- colpevole
- Risultati
- RICO
- Correre
- running
- stesso
- Risparmi
- risparmio
- SC
- punteggio
- script
- Cerca
- motore di ricerca
- Motori di ricerca
- Secondo
- Fai da te
- semantica
- servizio
- Servizi
- set
- flessibile.
- mostrare attraverso le sue creazioni
- mostrato
- fermare
- simile
- Un'espansione
- semplicemente
- Siti
- Taglia
- piccole
- più intelligente
- So
- Soft
- soluzione
- Soluzioni
- RISOLVERE
- alcuni
- Fonte
- fonti
- specifico
- inizia a
- iniziato
- dichiarazione
- stati
- step
- Ancora
- di successo
- tale
- supporto
- sistema
- team
- terminal
- condizioni
- test
- I
- loro
- tempo
- periodo di tempo
- Titolo
- a
- oggi
- top
- Totale
- Turismo
- trasporti
- lezione
- Tipi di
- noi
- per
- Unito
- Stati Uniti
- URL
- uso
- Utente
- CONVALIDARE
- APPREZZIAMO
- Valori
- versione
- Vergine
- aspettare
- Washington
- sito web
- Che
- Che cosa è l'
- se
- quale
- while
- bianca
- Casa Bianca
- volere
- senza
- Word
- parole
- lavori
- mondo
- sarebbe
- Tu
- Trasferimento da aeroporto a Sharm
- zefiro