Si vous avez eu l'occasion de créer une application de recherche pour des données non structurées (par exemple, wiki, sites Web d'information, pages d'aide en libre-service, documentation interne, etc.) à l'aide de moteurs de recherche open source ou commerciaux prêts à l'emploi, alors vous êtes probablement familier avec les défis inhérents à la précision liés à l'obtention de résultats de recherche pertinents. La signification recherchée à la fois de la requête et du document peut être perdue car la recherche est réduite à des mots-clés et des termes correspondants. Par conséquent, bien que vous obteniez des résultats qui peuvent contenir les bons mots, ils ne sont pas toujours pertinents pour l'utilisateur. Vous avez besoin que votre moteur de recherche soit plus intelligent afin qu'il puisse classer les documents en fonction de la correspondance entre la signification ou la sémantique du contenu et l'intention de la requête de l'utilisateur.
Amazone Kendra fournit un service de recherche intelligent entièrement géré qui automatise l'ingestion de documents et fournit des résultats de recherche et de FAQ très précis basés sur le contenu de nombreuses sources de données. Si vous n'avez pas migré vers Amazon Kendra et souhaitez améliorer la qualité des résultats de recherche, vous pouvez utiliser Amazon Kendra Intelligent Ranking pour OpenSearch autogéré sur votre solution de recherche existante.
Nous sommes ravis de vous présenter le nouveau Amazon Kendra Intelligent Ranking pour OpenSearch autogéré, et son plug-in compagnon pour le Opensearch moteur de recherche! Désormais, vous pouvez facilement ajouter un classement intelligent à vos requêtes de documents OpenSearch, sans avoir besoin de migrer, de dupliquer vos index OpenSearch ou de réécrire vos applications. La différence entre Amazon Kendra Intelligent Ranking pour OpenSearch autogéré et le service Amazon Kendra entièrement géré est que si le premier fournit un reclassement sémantique puissant pour les résultats de la recherche, le second fournit des améliorations supplémentaires de la précision de la recherche et des fonctionnalités telles que l'apprentissage incrémentiel, la question réponse, correspondance FAQ et connecteurs intégrés. Pour plus d'informations sur le service entièrement géré, veuillez visiter le Page de service Amazon Kendra.
Avec Amazon Kendra Intelligent Ranking pour OpenSearch autogéré, les résultats précédents ressemblent à ceci :
requête: Quelle est l'adresse de la Maison Blanche ?
Hit1 (meilleur): Le président a prononcé aujourd'hui un discours à la nation depuis la Maison Blanche.
Hit2 : La Maison Blanche est située au : 1600 Pennsylvania Avenue NW, Washington, DC 20500
devenir comme ceci :
requête: Quelle est l'adresse de la Maison Blanche ?
Hit1 (meilleur): La Maison Blanche est située au : 1600 Pennsylvania Avenue NW, Washington, DC 20500
Hit2 : Le président a prononcé aujourd'hui un discours à la nation depuis la Maison Blanche.
Dans cet article, nous vous montrons comment démarrer avec Amazon Kendra Intelligent Ranking pour OpenSearch autogéré, et nous fournissons quelques exemples qui démontrent la puissance et la valeur de cette fonctionnalité.
Composants d'Amazon Kendra Intelligent Ranking pour OpenSearch autogéré
Pré-requis
Pour ce tutoriel, vous aurez besoin d'un terminal bash sur Linux/Unix, Macou Sous-système Windows pour LinuxEt un Compte AWS. Astuce : envisagez d'utiliser une instance Amazon Cloud9 ou un Cloud de calcul élastique Amazon (Amazon EC2).
Vous serez:
- Installez Docker, s'il n'est pas déjà installé sur votre système.
- Installez la dernière Interface de ligne de commande AWS (AWS CLI), s'il n'est pas déjà installé.
- Créez et démarrez des conteneurs OpenSearch, avec le plug-in Amazon Kendra Intelligent Ranking activé.
- Créez des index de test et chargez des exemples de documents.
- Exécutez quelques requêtes, avec et sans classement intelligent, et laissez-vous impressionner par les différences !
Installer Docker
Si Docker (c'est-à-dire, docker
ainsi que docker-compose
) n'est pas déjà installé dans votre environnement, installez-le. Voir Obtenir Docker pour directions.
Installer l'AWS CLI
Si vous n'avez pas déjà installé la dernière version de l'AWS CLI, installez-la et configurez-la maintenant (voir AWS Mise en route de l'interface de ligne de commande). Vos informations d'identification d'utilisateur AWS par défaut doivent disposer d'un accès administrateur ou demandez à votre administrateur AWS d'ajouter la stratégie suivante à vos autorisations d'utilisateur :
Créer et démarrer OpenSearch à l'aide du script Quickstart
Télécharger search_processing_kendra_quickstart.sh
script:
Le script de démarrage rapide :
- Crée un plan d'exécution Amazon Kendra Intelligent Ranking Rescore dans votre compte AWS.
- Crée des conteneurs Docker pour OpenSearch et ses tableaux de bord.
- Configure OpenSearch pour utiliser le service de classement intelligent de Kendra.
- Démarre les services OpenSearch.
- Fournit des conseils utiles pour l'utilisation du service.
Utilisez l'option --help
option pour voir les options de ligne de commande :
Maintenant, exécutez le script pour automatiser la configuration d'Amazon Kendra et d'OpenSearch :
C'est ça! Les conteneurs OpenSearch et OpenSearch Dashboard sont désormais opérationnels.
Lisez le message de sortie du script de démarrage rapide et notez le répertoire dans lequel vous pouvez exécuter le docker-compose
commandes, et le cleanup_resources.sh
scripts.
Essayez une requête test pour valider que vous pouvez vous connecter à votre conteneur OpenSearch :
Notez que si vous obtenez l'erreur curl(35):OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to localhost:9200
, cela signifie qu'OpenSearch est toujours en cours. Veuillez attendre quelques minutes pour qu'OpenSearch soit prêt et réessayez.
Créer des index de test et charger des exemples de documents
Le script ci-dessous est utilisé pour créer un index et charger des exemples de documents. Enregistrez-le sur votre ordinateur sous bulk_post.sh :
Enregistrez les fichiers de données ci-dessous sous tinydocs.jsonl :
Et enregistrez le fichier de données ci-dessous sous dstinfo.jsonl :
(Ces données sont adaptées de Article sur l'heure d'été).
Rendez le script exécutable :
Maintenant, utilisez le vrac_post.sh script pour créer des index et charger les données en exécutant les deux commandes ci-dessous :
Exécuter des exemples de requêtes
Préparer des scripts de requête
Les requêtes OpenSearch sont définies dans JSON à l'aide de OpenSearch Interroger le langage spécifique au domaine (DSL). Pour ce post, nous utilisons le Boucle Linux commande pour envoyer des requêtes à notre serveur OpenSearch local en utilisant HTTPS.
Pour faciliter cela, nous avons défini deux petits scripts pour construire notre requête DSL et l'envoyer à OpenSearch.
Le premier script crée une requête de correspondance de texte OpenSearch standard sur deux champs de document - titre ainsi que corps. Voir la documentation OpenSearch pour plus d'informations sur syntaxe de requête à correspondances multiples. Nous avons gardé la requête très simple, mais vous pouvez essayer plus tard de définir d'autres types de requêtes.
Enregistrez le script ci-dessous sous query_nokendra.sh:
Le deuxième script est similaire au premier, mais cette fois, nous ajoutons une extension de requête pour demander à OpenSearch d'invoquer le plug-in Amazon Kendra Intelligent Ranking en tant qu'étape de post-traitement pour reclasser les résultats d'origine à l'aide du service Amazon Kendra Intelligent Ranking.
Les size
La propriété détermine le nombre de documents de résultats OpenSearch envoyés à Kendra pour un nouveau classement. Ici, nous spécifions un maximum de 20 résultats pour le reclassement. Deux propriétés, title_field
(facultatif) et body_field
(obligatoire), spécifiez les champs de document utilisés pour le classement intelligent.
Enregistrez le script ci-dessous sous query_kendra.sh:
Rendez les deux scripts exécutables :
Exécuter les requêtes initiales
Commencez par une simple requête sur le minusculesdocs index, pour reproduire l'exemple utilisé dans l'introduction du billet.
Utilisez l'option query_nokendra.sh
script pour rechercher l'adresse de la Maison Blanche :
Vous voyez les résultats ci-dessous. Observez l'ordre des deux résultats, qui sont classés par le score attribué par la requête de correspondance de texte OpenSearch. Bien que le meilleur résultat contienne les mots-clés propos ainsi que maison Blanche, il est clair que le sens ne correspond pas à l'intention de la question. Les mots-clés correspondent, mais pas la sémantique.
Exécutons maintenant la requête avec Amazon Kendra Intelligent Ranking, en utilisant le query_kendra.sh
script:
Cette fois, vous voyez les résultats dans un ordre différent, comme indiqué ci-dessous. Le service Amazon Kendra Intelligent Ranking a réaffecté les valeurs de score et attribué un score plus élevé au document qui correspond le mieux à l'intention de la requête. Du point de vue des mots clés, il s'agit d'une correspondance moins bonne car elle ne contient pas le mot propos; cependant, d'un point de vue sémantique, c'est la meilleure réponse. Vous voyez maintenant l'avantage d'utiliser le plugin Amazon Kendra Intelligent Ranking !
Exécutez des requêtes supplémentaires et comparez les résultats de recherche
Essayez l'index dstinfo maintenant, pour voir comment le même concept fonctionne avec différentes données et requêtes. Bien que vous puissiez utiliser les scripts query_nokendra.sh ainsi que query_kendra.sh pour faire des requêtes depuis la ligne de commande, utilisons à la place le Tableaux de bord OpenSearch Comparer les résultats de recherche Plugin pour exécuter des requêtes et comparer les résultats de recherche.
Collez l'URL des tableaux de bord locaux dans votre navigateur : http://localhost:5601/app/searchRelevance – / pour accéder à l'outil de comparaison du tableau de bord. Utilisez les informations d'identification par défaut : Nom d'utilisateur : admin, Mot de passe: admin.
Dans la barre de recherche, saisissez : what is daylight saving time?
Pour la requête 1 et la requête 2 indice, sélectionnez dstinfo.
Copiez la requête DSL ci-dessous et collez-la dans le Question panneau sous Requête 1. Il s'agit d'une requête de recherche par mot-clé.
Maintenant, copiez la requête DSL ci-dessous et collez-la dans le Question sous Requête 2. Cette requête appelle le plug-in Amazon Kendra Intelligent Ranking pour OpenSearch autogéré afin d'effectuer un reclassement sémantique des résultats de la recherche.
Choisissez le Rechercher bouton pour exécuter les requêtes et observer les résultats de la recherche. Dans le résultat 1, le hit classé en dernier est probablement en fait la réponse la plus pertinente à cette requête. Dans le résultat 2, la sortie d'Amazon Kendra Intelligent Ranking a la réponse la plus pertinente correctement classée en premier.
Maintenant que vous avez fait l'expérience d'Amazon Kendra Intelligent Ranking pour OpenSearch autogéré, essayez vous-même quelques requêtes. Utilisez les données que nous avons déjà chargées ou utilisez le vrac_post.sh script pour charger vos propres données.
Explorez l'API de reclassement d'Amazon Kendra
Comme vous l'avez vu dans cet article, le plug-in Amazon Kendra Intelligent Ranking pour OpenSearch peut être utilisé de manière pratique pour le reclassement sémantique de vos résultats de recherche. Toutefois, si vous utilisez un service de recherche qui ne prend pas en charge le plug-in Amazon Kendra Intelligent Ranking pour OpenSearch autogéré, vous pouvez utiliser le Réévaluer directement depuis l'API Amazon Kendra Intelligent Ranking.
Essayez cette API en utilisant les résultats de recherche de l'exemple de requête que nous avons utilisé ci-dessus : quelle est l'adresse de la Maison Blanche ?
Tout d'abord, trouvez votre identifiant de plan d'exécution en exécutant :
Le JSON ci-dessous contient la requête de recherche et les deux résultats renvoyés par la requête de correspondance OpenSearch d'origine, avec leurs scores OpenSearch d'origine. Remplacer {kendra-execution-plan_id}
avec votre identifiant de plan d'exécution (ci-dessus) et enregistrez-le sous rescore_input.json:
Exécutez la commande CLI ci-dessous pour réévaluer cette liste de documents à l'aide du service Amazon Kendra Intelligent Ranking :
La sortie d'une exécution réussie de ceci se présentera comme ci-dessous.
Comme prévu, le document tdoc2 (contenant corps du texte "La Maison Blanche est située au : 1600 Pennsylvania Avenue NW, Washington, DC 20500”) a désormais le classement le plus élevé, car il s'agit de la réponse sémantiquement la plus pertinente pour la requête. Les ResultItems
la liste dans la sortie contient chaque entrée DocumentId
avec son nouveau Score
, classés par ordre décroissant de Score
.
Nettoyer
Lorsque vous avez terminé l'expérimentation, arrêtez et supprimez vos conteneurs Docker et votre plan d'exécution de rescore en exécutant le cleanup_resources.sh
script créé par le script Quickstart, par exemple :
Conclusion
Dans cet article, nous vous avons montré comment utiliser le plug-in Amazon Kendra Intelligent Ranking pour OpenSearch autogéré afin d'ajouter facilement un classement intelligent à vos requêtes de documents OpenSearch afin d'améliorer considérablement le classement par pertinence des résultats, tout en utilisant vos déploiements de moteur de recherche OpenSearch existants.
Vous pouvez également utiliser le classement intelligent d'Amazon Kendra API de réévaluation directement à re-noter et classer intelligemment les résultats depuis vos propres applications.
Lisez le classement intelligent d'Amazon Kendra pour OpenSearch autogéré Documentation pour en savoir plus sur cette fonctionnalité et commencer à planifier son application dans vos applications de production.
À propos des auteurs
Abhinav Jawadekar est un architecte principal de solutions axé sur Amazon Kendra au sein de l'équipe des services linguistiques AI/ML chez AWS. Abhinav travaille avec les clients et partenaires AWS pour les aider à créer des solutions de recherche intelligentes sur AWS.
Bob Strahan est un architecte de solutions principal au sein de l'équipe AWS Language AI Services.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- Platoblockchain. Intelligence métaverse Web3. Connaissance Amplifiée. Accéder ici.
- La source: 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
- suis
- Qui sommes-nous
- au dessus de
- accès
- accidents
- Selon
- Compte
- précision
- Avec cette connaissance vient le pouvoir de prendre
- à travers
- Action
- actually
- Supplémentaire
- propos
- admin
- Après
- devant
- AI
- Services d'IA
- AI / ML
- déjà
- Bien que
- toujours
- Amazon
- Amazon EC2
- Amazone Kendra
- ainsi que
- répondre
- api
- Application
- applications
- Appliquer
- Avril
- Arizona
- attribué
- automatiser
- Automates
- avenue
- AWS
- RETOUR
- barre
- basé
- bash
- car
- derrière
- ci-dessous
- profiter
- avantages.
- Benjamin
- LES MEILLEURS
- Améliorée
- jusqu'à XNUMX fois
- corps
- Cerveau
- Britannique
- Colombie-Britannique
- navigateur
- construire
- intégré
- Bureau
- Canada
- globaux
- Change
- clair
- Horloges
- étroitement
- Cloud9
- COLUMBIA
- Venir
- comparer
- Comparaison
- composant
- calcul
- ordinateur
- concept
- Congrès
- Congrès
- NOUS CONTACTER
- connexion
- par conséquent
- Considérer
- construire
- Contenant
- Conteneurs
- contient
- contenu
- d'exportation
- Couples
- engendrent
- créée
- crée des
- Lettres de créance
- Clients
- cycles
- tableau de bord
- données
- journée
- jours
- dc
- Réglage par défaut
- définir
- Enchanté
- livré
- démontrer
- déploiements
- détermine
- différence
- différent
- directement
- Docker
- document
- Documentation
- INSTITUTIONNELS
- Ne fait pas
- domaine
- Ne pas
- down
- Dramatiquement
- chacun
- même
- effet
- activé
- se termine
- Moteur
- Moteurs
- Entrer
- Environment
- erreur
- etc
- exemple
- exemples
- exécuter
- exécution
- existant
- attendu
- expérimenté
- expérience
- extension
- Échoué
- familier
- QFP
- favoriser
- Fonctionnalité
- few
- Des champs
- Déposez votre dernière attestation
- Fichiers
- Trouvez
- Prénom
- concentré
- suivre
- Abonnement
- formulaire
- Ancien
- fonder
- de
- d’étiquettes électroniques entièrement
- fonction
- géographique
- obtenez
- obtention
- pratique
- aider
- utile
- ici
- augmentation
- très
- Histoire
- Frappé
- Hits
- Villa
- Comment
- How To
- Cependant
- HTML
- HTTPS
- impressionné
- améliorer
- améliorations
- in
- Augmente
- indice
- index
- Individuellement
- d'information
- D'information
- inhérent
- initiale
- contribution
- installer
- instance
- plutôt ;
- Intelligent
- intention
- Intention
- interne
- introduire
- Introduction
- invoque
- impliqué
- Îles
- vous aider à faire face aux problèmes qui vous perturbent
- IT
- json
- XNUMX éléments à
- langue
- Nom de famille
- Nouveautés
- APPRENTISSAGE
- apprentissage
- lettre
- Gamme
- Liste
- charge
- locales
- situé
- Location
- plus long
- Style
- faire
- gérés
- de nombreuses
- Mars
- Match
- assorti
- maximales
- sens
- veux dire
- message
- émigrer
- Minutes
- mois
- PLUS
- (en fait, presque toutes)
- nation
- Nationales
- Besoin
- Nouveauté
- Novembre
- observer
- octobre
- ONE
- ouvert
- open source
- openssl
- Opportunités
- Option
- Options
- de commander
- original
- Autre
- l'extérieur
- propre
- participants
- partenaires,
- les pièces
- Mot de Passe
- Pennsylvanie
- Personnes
- Effectuer
- être
- permanent
- autorisations
- objectifs
- Des endroits
- plan
- et la planification de votre patrimoine
- Platon
- Intelligence des données Platon
- PlatonDonnées
- veuillez cliquer
- plug-in
- politique
- Post
- power
- solide
- président
- assez
- précédent
- Directeur
- Probablement
- Vidéo
- propriétés
- propriété
- fournir
- fournit
- public
- Puerto
- Porto Rico
- qualité
- question
- classé
- Classement
- solutions
- Prix Réduit
- Standard
- rapport
- pertinence
- pertinent
- supprimez
- remplacer
- conditions
- un article
- ressource
- réponse
- résultat
- Résultats
- RICO
- Courir
- pour le running
- même
- Épargnez
- économie
- SC
- marquant
- scripts
- Rechercher
- moteur de recherche
- Les moteurs de recherche
- Deuxièmement
- En libre service
- sémantique
- service
- Services
- set
- installation
- montrer
- montré
- arrêter
- similaires
- étapes
- simplement
- Sites
- Taille
- petit
- plus intelligents
- So
- Doux / Pastel
- sur mesure
- Solutions
- RÉSOUDRE
- quelques
- Identifier
- Sources
- groupe de neurones
- Commencer
- j'ai commencé
- Déclaration
- États
- étapes
- Encore
- réussi
- tel
- Support
- combustion propre
- équipe
- terminal
- conditions
- tester
- Les
- leur
- fiable
- calendrier
- Titre
- à
- aujourd'hui
- outil
- top
- Total
- Tourisme
- transport
- tutoriel
- types
- nous
- sous
- Uni
- États-Unis
- URL
- utilisé
- Utilisateur
- VALIDER
- Plus-value
- Valeurs
- version
- vierge
- attendez
- Washington
- web
- Quoi
- Qu’est ce qu'
- que
- qui
- tout en
- blanc
- maison Blanche
- sera
- sans
- Word
- des mots
- vos contrats
- world
- pourra
- Vous
- Votre
- zéphyrnet