Als je de kans hebt gehad om een zoektoepassing te bouwen voor ongestructureerde gegevens (dwz wiki, informatieve websites, zelfbedieningshulppagina's, interne documentatie, enz.) met behulp van open source of commerciële kant-en-klare zoekmachines, dan bent u waarschijnlijk bekend met de inherente nauwkeurigheidsuitdagingen die gepaard gaan met het verkrijgen van relevante zoekresultaten. De bedoelde betekenis van zowel de zoekopdracht als het document kan verloren gaan omdat de zoekopdracht wordt gereduceerd tot overeenkomende trefwoorden en termen. Dus hoewel u resultaten krijgt die de juiste woorden bevatten, zijn ze niet altijd relevant voor de gebruiker. Uw zoekmachine moet slimmer zijn, zodat deze documenten kan rangschikken op basis van het matchen van de betekenis of semantiek van de inhoud met de intentie van de zoekopdracht van de gebruiker.
Amazon Kendra biedt een volledig beheerde intelligente zoekservice die de opname van documenten automatiseert en zeer nauwkeurige zoek- en FAQ-resultaten levert op basis van inhoud uit vele gegevensbronnen. Als u nog niet naar Amazon Kendra bent gemigreerd en de kwaliteit van zoekresultaten wilt verbeteren, kunt u Amazon Kendra Intelligent Ranking gebruiken voor zelfbeheerde OpenSearch op uw bestaande zoekoplossing.
We zijn verheugd om het nieuwe te introduceren Amazon Kendra Intelligent Ranking voor zelfbeheerde OpenSearch, en de bijbehorende plug-in voor de OpenSearch zoekmachine! U kunt nu eenvoudig een intelligente classificatie toevoegen aan uw OpenSearch-documentquery's, zonder dat u hoeft te migreren, uw OpenSearch-indexen hoeft te dupliceren of uw toepassingen hoeft te herschrijven. Het verschil tussen Amazon Kendra Intelligent Ranking voor zelfbeheerde OpenSearch en de volledig beheerde Amazon Kendra-service is dat terwijl de eerste een krachtige semantische herschikking van de zoekresultaten biedt, de laatste extra verbeteringen in de zoeknauwkeurigheid en functionaliteit biedt, zoals incrementeel leren, vraag beantwoorden, FAQ-matching en ingebouwde connectoren. Ga voor meer informatie over de volledig beheerde service naar de Amazon Kendra-servicepagina.
Met Amazon Kendra Intelligent Ranking voor zelfbeheerde OpenSearch, eerdere resultaten zoals deze:
Query: Wat is het adres van het Witte Huis?
Hit1 (beste): De president hield vandaag een toespraak tot de natie vanuit het Witte Huis.
Hit2: Het Witte Huis bevindt zich op: 1600 Pennsylvania Avenue NW, Washington, DC 20500
word zo:
Query: Wat is het adres van het Witte Huis?
Hit1 (beste): Het Witte Huis bevindt zich op: 1600 Pennsylvania Avenue NW, Washington, DC 20500
Hit2: De president hield vandaag een toespraak tot de natie vanuit het Witte Huis.
In dit bericht laten we je zien hoe je aan de slag kunt met Amazon Kendra Intelligent Ranking voor zelfbeheerde OpenSearch, en we geven een paar voorbeelden die de kracht en waarde van deze functie demonstreren.
Componenten van Amazon Kendra Intelligent Ranking voor zelfbeheerde OpenSearch
Voorwaarden
Voor deze tutorial heb je een bash-terminal nodig Linux, Macof Windows Subsystem voor LinuxEn een AWS-account. Tip: overweeg om een Amazon Cloud9-instantie of een Amazon Elastic Compute-cloud (Amazon EC2) instantie.
Je zal:
- Installeer Docker, als het nog niet op uw systeem is geïnstalleerd.
- Installeer de nieuwste versie AWS-opdrachtregelinterface (AWS CLI), als dit nog niet is geïnstalleerd.
- Maak en start OpenSearch-containers, met de Amazon Kendra Intelligent Ranking-plug-in ingeschakeld.
- Maak testindexen en laad enkele voorbeelddocumenten.
- Voer enkele zoekopdrachten uit, met en zonder intelligente classificatie, en wees behoorlijk onder de indruk van de verschillen!
Installeer Docker
Als Docker (dwz docker
en docker-compose
) nog niet is geïnstalleerd in uw omgeving, installeer deze dan. Zie je wel Download Docker voor richtingen.
Installeer de AWS CLI
Als u nog niet de nieuwste versie van de AWS CLI hebt geïnstalleerd, installeer en configureer deze dan nu (zie AWS CLI Aan de slag). Uw standaard AWS-gebruikersreferenties moeten beheerderstoegang hebben, of vraag uw AWS-beheerder om het volgende beleid toe te voegen aan uw gebruikersmachtigingen:
Maak en start OpenSearch met behulp van het Quickstart-script
Download de search_processing_kendra_quickstart.sh
script:
Het snelstartscript:
- Creëert een Amazon Kendra Intelligent Ranking Rescore-uitvoeringsplan in uw AWS-account.
- Maakt Docker-containers voor OpenSearch en zijn dashboards.
- Configureert OpenSearch om de Kendra Intelligent Ranking Service te gebruiken.
- Start de OpenSearch-services.
- Biedt nuttige richtlijnen voor het gebruik van de service.
Gebruik de --help
optie om de opdrachtregelopties te zien:
Voer nu het script uit om de installatie van Amazon Kendra en OpenSearch te automatiseren:
Dat is het! OpenSearch- en OpenSearch Dashboard-containers zijn nu operationeel.
Lees het uitvoerbericht van het quickstart-script en noteer de map waarin u de handy kunt uitvoeren docker-compose
commando's, en de cleanup_resources.sh
scripts.
Probeer een testquery om te controleren of u verbinding kunt maken met uw OpenSearch-container:
Merk op dat als u de fout krijgt curl(35):OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to localhost:9200
, betekent dit dat OpenSearch nog steeds in aantocht is. Wacht een paar minuten totdat OpenSearch gereed is en probeer het opnieuw.
Maak testindexen en laad voorbeelddocumenten
Het onderstaande script wordt gebruikt om een index te maken en voorbeelddocumenten te laden. Sla het op je computer op als bulk_post.sh:
Sla de onderstaande gegevensbestanden op als tinydocs.jsonl:
En sla het onderstaande gegevensbestand op als dstinfo.jsonl:
(Deze gegevens zijn aangepast van Artikel over zomertijd).
Maak het script uitvoerbaar:
Gebruik nu de bulk_post.sh script om indexen te maken en de gegevens te laden door de twee onderstaande opdrachten uit te voeren:
Voer voorbeeldquery's uit
Queryscripts voorbereiden
OpenSearch-query's worden gedefinieerd in JSON met behulp van OpenSearch query domeinspecifieke taal (DSL). Voor dit bericht gebruiken we de Linux-krul opdracht om zoekopdrachten naar onze lokale OpenSearch-server te sturen met behulp van HTTPS.
Om dit gemakkelijk te maken, hebben we twee kleine scripts gedefinieerd om onze query DSL samen te stellen en naar OpenSearch te sturen.
Het eerste script maakt een gewone OpenSearch-zoekopdracht voor tekstovereenkomsten op twee documentvelden: titel en lichaam. Zie OpenSearch-documentatie voor meer informatie over de query-syntaxis met meerdere overeenkomsten. We hebben de query heel eenvoudig gehouden, maar u kunt later experimenteren met het definiëren van alternatieve typen query's.
Sla het onderstaande script op als vraag_nokendra.sh:
Het tweede script is vergelijkbaar met het eerste, maar deze keer voegen we een query-extensie toe om OpenSearch te instrueren om de Amazon Kendra Intelligent Ranking-plug-in aan te roepen als een nabewerkingsstap om de oorspronkelijke resultaten opnieuw te rangschikken met behulp van de Amazon Kendra Intelligent Ranking-service.
De size
eigenschap bepaalt hoeveel documenten met OpenSearch-resultaten naar Kendra worden verzonden voor herrangschikking. Hier specificeren we maximaal 20 resultaten voor herrangschikking. twee eigenschappen, title_field
(optioneel) en body_field
(vereist), geef de documentvelden op die worden gebruikt voor intelligente classificatie.
Sla het onderstaande script op als vraag_kendra.sh:
Maak beide scripts uitvoerbaar:
Voer initiële query's uit
Begin met een eenvoudige vraag op de kleinedocs index, om het voorbeeld te reproduceren dat in de postintroductie is gebruikt.
Gebruik de query_nokendra.sh
script om te zoeken naar het adres van het Witte Huis:
Hieronder ziet u de resultaten. Let op de volgorde van de twee resultaten, die zijn gerangschikt op basis van de score die is toegewezen door de OpenSearch-zoekopdracht voor tekstovereenkomsten. Hoewel het best scorende resultaat wel de trefwoorden bevat adres en Witte Huis, is het duidelijk dat de betekenis niet overeenkomt met de intentie van de vraag. De zoekwoorden komen overeen, maar de semantiek niet.
Laten we nu de query uitvoeren met Amazon Kendra Intelligent Ranking, met behulp van de query_kendra.sh
script:
Deze keer ziet u de resultaten in een andere volgorde, zoals hieronder weergegeven. De Amazon Kendra Intelligent Ranking-service heeft de scorewaarden opnieuw toegewezen en een hogere score aan het document toegekend die beter overeenkomt met de bedoeling van de zoekopdracht. Vanuit een zoekwoordperspectief is dit een slechtere match omdat het woord niet voorkomt adres; vanuit een semantisch perspectief is dit echter de betere reactie. Nu zie je het voordeel van het gebruik van de Amazon Kendra Intelligent Ranking-plug-in!
Voer aanvullende zoekopdrachten uit en vergelijk zoekresultaten
Probeer nu de dstinfo-index om te zien hoe hetzelfde concept werkt met verschillende gegevens en zoekopdrachten. Terwijl je de scripts kunt gebruiken vraag_nokendra.sh en vraag_kendra.sh om query's te maken vanaf de opdrachtregel, gebruiken we in plaats daarvan de OpenSearch-dashboards Vergelijk de plug-in voor zoekresultaten om zoekopdrachten uit te voeren en zoekresultaten te vergelijken.
Plak de lokale Dashboards-URL in uw browser: http://localhost:5601/app/searchRelevance – / om toegang te krijgen tot de dashboardvergelijkingstool. Gebruik de standaard inloggegevens: Gebruikersnaam: beheerder, Wachtwoord: beheerder.
Typ in de zoekbalk: what is daylight saving time?
Voor vraag 1 en vraag 2 indexselecteer dstinfo.
Kopieer de onderstaande DSL-query en plak deze in het Vraag paneel onder Query 1. Dit is een zoekopdracht op trefwoord.
Kopieer nu de onderstaande DSL-query en plak deze in het Vraag paneel onder Query 2. Deze query roept de Amazon Kendra Intelligent Ranking-plug-in aan voor zelfbeheerde OpenSearch om semantische herschikking van de zoekresultaten uit te voeren.
Kies de Ontdek knop om de zoekopdrachten uit te voeren en de zoekresultaten te observeren. In resultaat 1 is de als laatste gerangschikte hit waarschijnlijk het meest relevante antwoord op deze vraag. In resultaat 2 heeft de uitvoer van Amazon Kendra Intelligent Ranking het meest relevante antwoord als eerste correct gerangschikt.
Nu je Amazon Kendra Intelligent Ranking voor zelfbeheerde OpenSearch hebt ervaren, kun je experimenteren met een paar eigen zoekopdrachten. Gebruik de gegevens die we al hebben geladen of gebruik de bulk_post.sh script om uw eigen gegevens te laden.
Verken de Amazon Kendra ranking rescore API
Zoals je in dit bericht hebt gezien, kan de Amazon Kendra Intelligent Ranking-plug-in voor OpenSearch handig worden gebruikt voor semantische herschikking van je zoekresultaten. Als u echter een zoekservice gebruikt die de Amazon Kendra Intelligent Ranking-plug-in voor zelfbeheerde OpenSearch niet ondersteunt, kunt u de Opnieuw scoren functie rechtstreeks vanuit de Amazon Kendra Intelligent Ranking API.
Probeer deze API met behulp van de zoekresultaten van de voorbeeldquery die we hierboven hebben gebruikt: wat is het adres van het Witte Huis?
Zoek eerst uw uitvoeringsplan-ID door het volgende uit te voeren:
De onderstaande JSON bevat de zoekopdracht en de twee resultaten die zijn geretourneerd door de oorspronkelijke OpenSearch-overeenkomstquery, met hun oorspronkelijke OpenSearch-scores. Vervangen {kendra-execution-plan_id}
met uw uitvoeringsplan-id (van hierboven) en sla deze op als rescore_input.json:
Voer de onderstaande CLI-opdracht uit om deze lijst met documenten opnieuw te scoren met behulp van de Amazon Kendra Intelligent Ranking-service:
De uitvoer van een succesvolle uitvoering hiervan ziet er als volgt uit.
Zoals verwacht, het document tdoc2 (met de tekst lichaam "Het Witte Huis bevindt zich op: 1600 Pennsylvania Avenue NW, Washington, DC 20500”) heeft nu de hogere rangorde, omdat dit het semantisch relevantere antwoord voor de zoekopdracht is. De ResultItems
lijst in de uitvoer bevat elke invoer DocumentId
met zijn nieuw Score
, gerangschikt in aflopende volgorde van Score
.
Opruimen
Wanneer u klaar bent met experimenteren, sluit u uw Docker-containers en het Rescore-uitvoeringsplan af en verwijdert u dit door het cleanup_resources.sh
script gemaakt door het Quickstart-script, bijvoorbeeld:
Conclusie
In dit bericht hebben we u laten zien hoe u de Amazon Kendra Intelligent Ranking-plug-in voor zelfbeheerde OpenSearch kunt gebruiken om eenvoudig een intelligente classificatie toe te voegen aan uw OpenSearch-documentquery's om de relevantie-rangschikking van de resultaten drastisch te verbeteren, terwijl u uw bestaande OpenSearch-zoekmachine-implementaties gebruikt.
U kunt ook de Amazon Kendra Intelligent Ranking gebruiken API opnieuw scoren direct naar intelligent opnieuw scoren en rangschikken van resultaten van uw eigen applicaties.
Lees de Amazon Kendra Intelligent Ranking voor zelfbeheerde OpenSearch documentatie voor meer informatie over deze functie en begin met plannen om deze toe te passen in uw productietoepassingen.
Over de auteurs
Abhinav Jawadekar is een Principal Solutions Architect gericht op Amazon Kendra in het AI/ML-taalservicesteam bij AWS. Abhinav werkt samen met AWS-klanten en partners om hen te helpen bij het bouwen van intelligente zoekoplossingen op AWS.
Bob Strahan is een Principal Solutions Architect in het AWS Language AI Services-team.
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- Platoblockchain. Web3 Metaverse Intelligentie. Kennis versterkt. Toegang hier.
- Bron: 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
- Over
- boven
- toegang
- ongevallen
- Volgens
- Account
- nauwkeurigheid
- accuraat
- over
- Actie
- werkelijk
- Extra
- adres
- beheerder
- Na
- vooruit
- AI
- AI-diensten
- AI / ML
- al
- Hoewel
- altijd
- Amazone
- Amazon EC2
- Amazon Kendra
- en
- beantwoorden
- api
- Aanvraag
- toepassingen
- Solliciteer
- April
- Arizona
- toegewezen
- automatiseren
- automaten
- Laan
- AWS
- terug
- bars
- gebaseerde
- slaan
- omdat
- achter
- onder
- voordeel
- betekent
- Benjamin
- BEST
- Betere
- tussen
- lichaam
- Hersenen
- Brits
- British Columbia
- browser
- bouw
- ingebouwd
- Bureau
- Canada
- uitdagingen
- verandering
- duidelijk
- Klokken
- van nabij
- Cloud9
- COLUMBIA
- komst
- vergelijken
- vergelijking
- bestanddeel
- Berekenen
- computer
- concept
- Congres
- Congressional
- Verbinden
- versterken
- bijgevolg
- Overwegen
- bouwen
- Containers
- containers
- bevat
- content
- landen
- Koppel
- en je merk te creëren
- aangemaakt
- creëert
- Geloofsbrieven
- Klanten
- cycli
- dashboards
- gegevens
- dag
- dagen
- dc
- Standaard
- het definiëren van
- verrukt
- geleverd
- tonen
- implementaties
- bepaalt
- verschil
- anders
- direct
- havenarbeider
- document
- documentatie
- documenten
- Nee
- domein
- Dont
- beneden
- dramatisch
- elk
- gemakkelijk
- effect
- ingeschakeld
- eindigt
- Motor
- Motoren
- Enter
- Milieu
- fout
- etc
- voorbeeld
- voorbeelden
- uitvoeren
- uitvoering
- bestaand
- verwacht
- ervaren
- experiment
- uitbreiding
- Mislukt
- vertrouwd
- FAQ
- Favor
- Kenmerk
- weinig
- Velden
- Dien in
- Bestanden
- VIND DE PLEK DIE PERFECT VOOR JOU IS
- Voornaam*
- gericht
- volgen
- volgend
- formulier
- Voormalig
- oprichten
- oppompen van
- geheel
- functie
- functionaliteit
- geografisch
- krijgen
- het krijgen van
- handig
- hulp
- nuttig
- hier
- hoger
- zeer
- geschiedenis
- Hit
- Hits
- Huis
- Hoe
- How To
- Echter
- HTML
- HTTPS
- onder de indruk
- verbeteren
- verbeteringen
- in
- Verhoogt
- index
- indexen
- individueel
- informatie
- Informatieve
- inherent
- eerste
- invoer
- installeren
- instantie
- verkrijgen in plaats daarvan
- Intelligent
- aandachtig
- Bedoeling
- intern
- voorstellen
- Introductie
- oproept
- betrokken zijn
- Eilanden
- problemen
- IT
- json
- Houden
- taal
- Achternaam*
- laatste
- LEARN
- leren
- letter
- Lijn
- Lijst
- laden
- lokaal
- gelegen
- lang
- langer
- Kijk
- maken
- beheerd
- veel
- Maart
- Match
- matching
- maximaal
- betekenis
- middel
- Bericht
- trekken
- minuten
- maanden
- meer
- meest
- natie
- nationaal
- Noodzaak
- New
- November
- waarnemen
- oktober
- EEN
- open
- open source
- openssl
- kansen
- Keuze
- Opties
- bestellen
- origineel
- Overige
- buiten
- het te bezitten.
- deelnemers
- partners
- onderdelen
- Wachtwoord
- Pennsylvania
- Mensen
- Uitvoeren
- misschien
- blijvend
- permissies
- perspectief
- plaatsen
- plan
- planning
- Plato
- Plato gegevensintelligentie
- PlatoData
- dan
- inpluggen
- beleidsmaatregelen
- Post
- energie
- krachtige
- president
- mooi
- vorig
- Principal
- waarschijnlijk
- productie
- vastgoed
- eigendom
- zorgen voor
- biedt
- publiek
- port
- Puerto Rico
- kwaliteit
- vraag
- gerangschikt
- Ranking
- klaar
- Gereduceerd
- regelmatig
- relatie
- relevantie
- relevante
- verwijderen
- vervangen
- nodig
- onderzoek
- hulpbron
- antwoord
- resultaat
- Resultaten
- RICO
- lopen
- lopend
- dezelfde
- Bespaar
- besparing
- SC
- scoren
- scripts
- Ontdek
- zoekmachine
- Zoekmachines
- Tweede
- Zelfbediening
- semantiek
- service
- Diensten
- reeks
- setup
- tonen
- getoond
- stilgelegd
- gelijk
- Eenvoudig
- eenvoudigweg
- Locaties
- Maat
- Klein
- slimmer
- So
- Soft /Pastel
- oplossing
- Oplossingen
- OPLOSSEN
- sommige
- bron
- bronnen
- specifiek
- begin
- gestart
- Statement
- Staten
- Stap voor
- Still
- geslaagd
- dergelijk
- ondersteuning
- system
- team
- terminal
- termen
- proef
- De
- hun
- niet de tijd of
- tijdsbestek
- Titel
- naar
- vandaag
- tools
- top
- Totaal
- Toerisme
- vervoer
- zelfstudie
- types
- ons
- voor
- United
- Verenigde Staten
- URL
- .
- Gebruiker
- BEVESTIG
- waarde
- Values
- versie
- Maagd
- wachten
- Washington
- web
- Wat
- Wat is
- of
- welke
- en
- wit
- Witte Huis
- wil
- zonder
- Woord
- woorden
- Bedrijven
- wereld
- zou
- You
- Your
- zephyrnet