Hvis du har haft mulighed for at bygge en søgeapplikation til ustrukturerede data (dvs. wiki, informationswebsteder, selvbetjeningshjælpesider, intern dokumentation osv.) ved hjælp af open source eller kommercielle søgemaskiner, så er du sikkert bekendt med de iboende nøjagtighedsudfordringer, der er forbundet med at få relevante søgeresultater. Den tilsigtede betydning af både forespørgsel og dokument kan gå tabt, fordi søgningen reduceres til matchende komponentsøgeord og termer. Selvom du får resultater, der kan indeholde de rigtige ord, er de derfor ikke altid relevante for brugeren. Du har brug for, at din søgemaskine er smartere, så den kan rangere dokumenter baseret på at matche indholdets betydning eller semantik til intentionen med brugerens forespørgsel.
Amazon Kendra leverer en fuldt administreret intelligent søgetjeneste, der automatiserer dokumentindtagelse og giver meget nøjagtige søge- og FAQ-resultater baseret på indhold på tværs af mange datakilder. Hvis du ikke er migreret til Amazon Kendra og gerne vil forbedre kvaliteten af søgeresultaterne, kan du bruge Amazon Kendra Intelligent Ranking til selvadministreret OpenSearch på din eksisterende søgeløsning.
Vi er glade for at kunne introducere det nye Amazon Kendra Intelligent Ranking for selvadministreret OpenSearch, og dets ledsagende plugin til OpenSearch søgemaskine! Nu kan du nemt tilføje intelligent rangering til dine OpenSearch-dokumentforespørgsler uden at skulle migrere, duplikere dine OpenSearch-indekser eller omskrive dine applikationer. Forskellen mellem Amazon Kendra Intelligent Ranking til selvadministreret OpenSearch og den fuldt administrerede Amazon Kendra-tjeneste er, at mens førstnævnte giver kraftfuld semantisk omrangering af søgeresultaterne, giver den senere yderligere forbedringer af søgenøjagtighed og funktionalitet såsom inkrementel læring, spørgsmål besvarelse, FAQ-matching og indbyggede stik. For mere information om den fuldt administrerede tjeneste, besøg venligst Amazon Kendra serviceside.
Med Amazon Kendra Intelligent Ranking for selvadministreret OpenSearch, tidligere resultater som dette:
Forespørgsel: Hvad er adressen på Det Hvide Hus?
Hit1 (bedst): Præsidenten holdt en tale til nationen fra Det Hvide Hus i dag.
Hit2: Det Hvide Hus er placeret på: 1600 Pennsylvania Avenue NW, Washington, DC 20500
blive sådan her:
Forespørgsel: Hvad er adressen på Det Hvide Hus?
Hit1 (bedst): Det Hvide Hus er placeret på: 1600 Pennsylvania Avenue NW, Washington, DC 20500
Hit2: Præsidenten holdt en tale til nationen fra Det Hvide Hus i dag.
I dette indlæg viser vi dig, hvordan du kommer i gang med Amazon Kendra Intelligent Ranking til selvadministreret OpenSearch, og vi giver et par eksempler, der demonstrerer kraften og værdien af denne funktion.
Komponenter af Amazon Kendra Intelligent Ranking til selvadministreret OpenSearch
Forudsætninger
Til denne tutorial skal du have en bash-terminal på Linux, Mac eller Windows Subsystem til LinuxOg en AWS-konto. Tip: Overvej at bruge en Amazon Cloud9-instans eller en Amazon Elastic Compute Cloud (Amazon EC2) forekomst.
Du vil:
- Installer Docker, hvis det ikke allerede er installeret på dit system.
- Installer det nyeste AWS kommandolinjegrænseflade (AWS CLI), hvis det ikke allerede er installeret.
- Opret og start OpenSearch-containere med Amazon Kendra Intelligent Ranking-plugin aktiveret.
- Opret testindekser, og indlæs nogle eksempeldokumenter.
- Kør nogle forespørgsler, med og uden intelligent rangering, og bliv passende imponeret over forskellene!
Installer Docker
Hvis Docker (dvs. docker
, docker-compose
) ikke allerede er installeret i dit miljø, så installer det. Se Hent Docker til retninger.
Installer AWS CLI
Hvis du ikke allerede har den nyeste version af AWS CLI installeret, så installer og konfigurer den nu (se AWS CLI Kom godt i gang). Dine standard AWS-brugeroplysninger skal have administratoradgang, eller bed din AWS-administrator om at tilføje følgende politik til dine brugertilladelser:
Opret og start OpenSearch ved hjælp af Quickstart-scriptet
Download search_processing_kendra_quickstart.sh
manuskript:
Quickstart-scriptet:
- Opretter en Amazon Kendra Intelligent Ranking Rescore Execution Plan på din AWS-konto.
- Opretter Docker-containere til OpenSearch og dets Dashboards.
- Konfigurerer OpenSearch til at bruge Kendra Intelligent Ranking Service.
- Starter OpenSearch-tjenesterne.
- Giver nyttig vejledning til brug af tjenesten.
Brug --help
mulighed for at se kommandolinjeindstillingerne:
Udfør nu scriptet for at automatisere Amazon Kendra og OpenSearch-opsætningen:
Det er det! OpenSearch og OpenSearch Dashboard-containere er nu oppe og køre.
Læs outputmeddelelsen fra quickstart-scriptet, og noter det bibliotek, hvor du kan køre den handy docker-compose
kommandoer og cleanup_resources.sh
scripts.
Prøv en testforespørgsel for at bekræfte, at du kan oprette forbindelse til din OpenSearch-container:
Bemærk, at hvis du får fejlen curl(35):OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to localhost:9200
, betyder det, at OpenSearch stadig kommer op. Vent et par minutter på, at OpenSearch er klar, og prøv igen.
Opret testindekser og indlæs eksempeldokumenter
Scriptet nedenfor bruges til at oprette et indeks og indlæse eksempeldokumenter. Gem det på din computer som bulk_post.sh:
Gem datafilerne nedenfor som tinydocs.jsonl:
Og gem datafilen nedenfor som dstinfo.jsonl:
(Disse data er tilpasset fra Sommertid artikel).
Gør scriptet eksekverbart:
Brug nu bulk_post.sh script til at oprette indekser og indlæse dataene ved at køre de to kommandoer nedenfor:
Kør prøveforespørgsler
Forbered forespørgselsscripts
OpenSearch-forespørgsler defineres i JSON ved hjælp af OpenSearch forespørgselsdomænespecifikt sprog (DSL). Til dette indlæg bruger vi Linux krølle kommando til at sende forespørgsler til vores lokale OpenSearch-server ved hjælp af HTTPS.
For at gøre dette nemt har vi defineret to små scripts til at konstruere vores forespørgsel DSL og sende den til OpenSearch.
Det første script opretter en almindelig OpenSearch-tekstmatch-forespørgsel på to dokumentfelter – titel , krop. Se OpenSearch-dokumentationen for mere om multi-match forespørgselssyntaks. Vi har holdt forespørgslen meget enkel, men du kan eksperimentere senere med at definere alternative typer forespørgsler.
Gem scriptet nedenfor som query_nokendra.sh:
Det andet script ligner det første, men denne gang tilføjer vi en forespørgselsudvidelse for at instruere OpenSearch i at påkalde Amazon Kendra Intelligent Ranking-plugin som et efterbehandlingstrin for at omrangere de originale resultater ved hjælp af Amazon Kendra Intelligent Ranking-tjenesten.
size
egenskaben bestemmer, hvor mange OpenSearch-resultatdokumenter, der sendes til Kendra til omrangering. Her angiver vi maksimalt 20 resultater til omplacering. To ejendomme, title_field
(valgfrit) og body_field
(påkrævet), angiv de dokumentfelter, der bruges til intelligent rangering.
Gem scriptet nedenfor som query_kendra.sh:
Gør begge scripts eksekverbare:
Kør indledende forespørgsler
Start med en simpel forespørgsel på tinydocs indeks, for at gengive eksemplet brugt i post-introduktionen.
Brug query_nokendra.sh
script til at søge efter adressen på Det Hvide Hus:
Du ser resultaterne vist nedenfor. Observer rækkefølgen af de to resultater, som er rangeret efter den score, der er tildelt af OpenSearch-tekstmatchforespørgslen. Selvom topscoringsresultatet indeholder nøgleordene adresse , Hvide Hus, det er tydeligt, at betydningen ikke stemmer overens med hensigten med spørgsmålet. Nøgleordene matcher, men semantikken gør det ikke.
Lad os nu køre forespørgslen med Amazon Kendra Intelligent Ranking ved hjælp af query_kendra.sh
manuskript:
Denne gang ser du resultaterne i en anden rækkefølge som vist nedenfor. Amazon Kendra Intelligent Ranking-tjenesten har omtildelt scoreværdierne og tildelt en højere score til dokumentet, der i højere grad matcher hensigten med forespørgslen. Fra et søgeordsperspektiv er dette et dårligere match, fordi det ikke indeholder ordet adresse; fra et semantisk perspektiv er det dog det bedste svar. Nu ser du fordelen ved at bruge Amazon Kendra Intelligent Ranking plugin!
Kør yderligere forespørgsler og sammenlign søgeresultater
Prøv dstinfo-indekset nu for at se, hvordan det samme koncept fungerer med forskellige data og forespørgsler. Mens du kan bruge scripts query_nokendra.sh , query_kendra.sh for at lave forespørgsler fra kommandolinjen, lad os i stedet bruge OpenSearch Dashboards Sammenlign søgeresultater Plugin at køre forespørgsler og sammenligne søgeresultater.
Indsæt den lokale Dashboards URL i din browser: http://localhost:5601/app/searchRelevance – / for at få adgang til værktøjet til sammenligning af dashboard. Brug standardoplysningerne: Brugernavn: admin, Adgangskode: admin.
Indtast i søgefeltet: what is daylight saving time?
For forespørgsel 1 og forespørgsel 2 indeks, Vælg dstinfo.
Kopier DSL-forespørgslen nedenfor, og indsæt den i Query panel under Forespørgsel 1. Dette er en søgeordssøgning.
Kopier nu DSL-forespørgslen nedenfor og indsæt den i Query panel under forespørgsel 2. Denne forespørgsel påberåber sig Amazon Kendra Intelligent Ranking-plugin til selvadministreret OpenSearch for at udføre semantisk omrangering af søgeresultaterne.
Vælg den Søg knappen for at køre forespørgslerne og observere søgeresultaterne. I resultat 1 er det sidst rangerede hit sandsynligvis faktisk det mest relevante svar på denne forespørgsel. I resultat 2 har outputtet fra Amazon Kendra Intelligent Ranking det mest relevante svar placeret korrekt først.
Nu hvor du har oplevet Amazon Kendra Intelligent Ranking til selvadministreret OpenSearch, kan du eksperimentere med et par egne forespørgsler. Brug de data, vi allerede har indlæst, eller brug bulk_post.sh script til at indlæse dine egne data.
Udforsk Amazon Kendra ranking rescore API
Som du har set fra dette indlæg, kan Amazon Kendra Intelligent Ranking-plugin til OpenSearch nemt bruges til semantisk omrangering af dine søgeresultater. Men hvis du bruger en søgetjeneste, der ikke understøtter Amazon Kendra Intelligent Ranking plugin til selvadministreret OpenSearch, så kan du bruge Rescore funktion fra Amazon Kendra Intelligent Ranking API direkte.
Prøv denne API ved at bruge søgeresultaterne fra eksempelforespørgslen, vi brugte ovenfor: hvad er adressen på Det Hvide Hus?
Find først dit eksekveringsplan-id ved at køre:
JSON nedenfor indeholder søgeforespørgslen og de to resultater, der blev returneret af den oprindelige OpenSearch-match-forespørgsel, med deres oprindelige OpenSearch-resultater. Erstatte {kendra-execution-plan_id}
med dit eksekveringsplan-id (fra oven) og gem det som rescore_input.json:
Kør CLI-kommandoen nedenfor for at genbedømme denne liste over dokumenter ved hjælp af Amazon Kendra Intelligent Ranking-tjenesten:
Resultatet af en vellykket udførelse af dette vil se ud som nedenfor.
Som forventet, dokumentet tdoc2 (indeholdende tekstens brødtekst "Det Hvide Hus er placeret på: 1600 Pennsylvania Avenue NW, Washington, DC 20500”) har nu den højere placering, da det er det semantisk mere relevante svar for forespørgslen. Det ResultItems
listen i outputtet indeholder hvert input DocumentId
med sin nye Score
, rangeret i faldende rækkefølge Score
.
Ryd op
Når du er færdig med at eksperimentere, skal du lukke ned og fjerne dine Docker-containere og Rescore Execution Plan ved at køre cleanup_resources.sh
script oprettet af Quickstart-scriptet, f.eks.:
Konklusion
I dette indlæg viste vi dig, hvordan du bruger Amazon Kendra Intelligent Ranking-plugin til selvadministreret OpenSearch for nemt at tilføje intelligent rangering til dine OpenSearch-dokumentforespørgsler for dramatisk at forbedre relevansrangeringen af resultaterne, mens du bruger dine eksisterende OpenSearch-søgemaskineimplementeringer.
Du kan også bruge Amazon Kendra Intelligent Ranking Rescore API direkte til intelligent re-score og rangordne resultater fra dine egne applikationer.
Læs Amazon Kendra Intelligent Ranking for selvadministreret OpenSearch dokumentation for at lære mere om denne funktion og begynde at planlægge at anvende den i dine produktionsapplikationer.
Om forfatterne
Abhinav Jawadekar er en Principal Solutions Architect med fokus på Amazon Kendra i AI/ML sprogserviceteamet hos AWS. Abhinav arbejder med AWS-kunder og -partnere for at hjælpe dem med at bygge intelligente søgeløsninger på AWS.
Bob Strahan er en Principal Solutions Architect i AWS Language AI Services-teamet.
- SEO Powered Content & PR Distribution. Bliv forstærket i dag.
- Platoblokkæde. Web3 Metaverse Intelligence. Viden forstærket. Adgang her.
- Kilde: 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
- er
- Om
- over
- adgang
- ulykker
- Ifølge
- Konto
- nøjagtighed
- præcis
- tværs
- Handling
- faktisk
- Yderligere
- adresse
- admin
- Efter
- forude
- AI
- AI-tjenester
- AI / ML
- allerede
- Skønt
- altid
- Amazon
- Amazon EC2
- Amazon Kendra
- ,
- besvare
- api
- Anvendelse
- applikationer
- Indløs
- april
- arizona
- tildelt
- automatisere
- automater
- Avenue
- AWS
- tilbage
- Bar
- baseret
- bash
- fordi
- bag
- jf. nedenstående
- gavner det dig
- fordele
- Benjamin
- BEDSTE
- Bedre
- mellem
- krop
- Brain
- Britiske
- British Columbia
- browser
- bygge
- indbygget
- kontor
- Canada
- udfordringer
- lave om
- klar
- Ure
- nøje
- Cloud9
- COLUMBIA
- kommer
- sammenligne
- sammenligning
- komponent
- Compute
- computer
- Konceptet
- Kongressen
- Congressional
- Tilslut
- tilslutning
- følgelig
- Overvej
- konstruere
- Container
- Beholdere
- indeholder
- indhold
- lande
- Par
- skabe
- oprettet
- skaber
- Legitimationsoplysninger
- Kunder
- cykler
- instrumentbræt
- data
- dag
- Dage
- dc
- Standard
- definere
- glad
- leveret
- demonstrere
- implementeringer
- bestemmer
- forskel
- forskellige
- direkte
- Docker
- dokumentet
- dokumentation
- dokumenter
- Er ikke
- domæne
- Dont
- ned
- dramatisk
- hver
- nemt
- effekt
- aktiveret
- ender
- Engine (Motor)
- Motorer
- Indtast
- Miljø
- fejl
- etc.
- eksempel
- eksempler
- udføre
- udførelse
- eksisterende
- forventet
- erfarne
- eksperiment
- udvidelse
- mislykkedes
- bekendt
- FAQ
- favorisere
- Feature
- få
- Fields
- File (Felt)
- Filer
- Finde
- Fornavn
- fokuserede
- følger
- efter
- formular
- Tidligere
- stiftende
- fra
- fuldt ud
- funktion
- funktionalitet
- geografiske
- få
- få
- praktisk
- hjælpe
- hjælpsom
- link.
- højere
- stærkt
- historie
- Hit
- Hits
- hus
- Hvordan
- How To
- Men
- HTML
- HTTPS
- imponeret
- Forbedre
- forbedringer
- in
- Stigninger
- indeks
- indekser
- Individuelt
- oplysninger
- Informational
- iboende
- initial
- indgang
- installere
- instans
- i stedet
- Intelligent
- hensigt
- Intention
- interne
- indføre
- Introduktion
- påberåber sig
- involverede
- Islands
- spørgsmål
- IT
- json
- Holde
- Sprog
- Efternavn
- seneste
- LÆR
- læring
- brev
- Line (linje)
- Liste
- belastning
- lokale
- placeret
- Lang
- længere
- Se
- lave
- lykkedes
- mange
- Marts
- Match
- matchende
- maksimal
- betyder
- midler
- besked
- migrere
- minutter
- måned
- mere
- mest
- nation
- national
- Behov
- Ny
- november
- observere
- oktober
- ONE
- åbent
- open source
- openssl
- Opportunity
- Option
- Indstillinger
- ordrer
- original
- Andet
- udendørs
- egen
- deltagere
- partnere
- dele
- Adgangskode
- Pennsylvania
- Mennesker
- Udfør
- måske
- permanent
- Tilladelser
- perspektiv
- Steder
- fly
- planlægning
- plato
- Platon Data Intelligence
- PlatoData
- Vær venlig
- plugin
- politik
- Indlæg
- magt
- vigtigste
- præsident
- smuk
- tidligere
- Main
- sandsynligvis
- produktion
- egenskaber
- ejendom
- give
- giver
- offentlige
- Puerto
- Puerto Rico
- kvalitet
- spørgsmål
- rangeret
- Ranking
- klar
- Reduceret
- fast
- relation
- relevans
- relevant
- Fjern
- erstatte
- påkrævet
- forskning
- ressource
- svar
- resultere
- Resultater
- RICO
- Kør
- kører
- samme
- Gem
- besparelse
- SC
- scoring
- scripts
- Søg
- søgemaskine
- Søgemaskiner
- Anden
- Selvbetjening
- semantik
- tjeneste
- Tjenester
- sæt
- setup
- Vis
- vist
- Luk ned
- lignende
- Simpelt
- ganske enkelt
- Websteder
- Størrelse
- lille
- smartere
- So
- Soft
- løsninger
- Løsninger
- SOLVE
- nogle
- Kilde
- Kilder
- specifikke
- starte
- påbegyndt
- Statement
- Stater
- Trin
- Stadig
- vellykket
- sådan
- support
- systemet
- hold
- terminal
- vilkår
- prøve
- deres
- tid
- tidsramme
- Titel
- til
- i dag
- værktøj
- top
- I alt
- Turisme
- transport
- tutorial
- typer
- os
- under
- Forenet
- Forenede Stater
- URL
- brug
- Bruger
- VALIDATE
- værdi
- Værdier
- udgave
- Virgin
- vente
- washington
- web
- Hvad
- Hvad er
- hvorvidt
- som
- mens
- hvid
- Hvide Hus
- vilje
- uden
- ord
- ord
- virker
- world
- ville
- Du
- Din
- zephyrnet