Utilisez Smart Document Understanding (SDU) pour améliorer les résultats de la recherche
Dans ce tutoriel, vous utilisez la fonction Smart Document Understanding du service Discovery pour créer un modèle SDU (Smart Document Understanding) entraîné par l'utilisateur. Vous fractionnez ensuite un seul document en plusieurs documents plus petits afin que certains types de réponses soient plus faciles à trouver.
Ce tutoriel fonctionne avec les déploiements gérés et installés.
Objectifs d'apprentissage
A la fin du tutoriel, vous saurez comment effectuer les opérations suivantes :
- Créez un projet d'extraction de document dans Discovery.
- Téléchargez un document PDF dans votre projet Discovery.
- Utilisez l'outil Smart Document Understanding (SDU) pour créer un modèle SDU entraîné par l'utilisateur.
- Fractionnez un document en blocs plus petits et plus consommables.
Durée
Ce tutoriel dure environ 3 heures.
Prérequis
-
Avant de commencer, vous devez configurer un compte payant avec IBM Cloud.
Vous pouvez suivre ce tutoriel gratuitement en utilisant un plan Plus, qui offre un essai gratuit de 30 jours. Cependant, pour créer une instance du plan Plus du service, vous devez avoir un compte payant (où vous fournissez les détails de votre carte de crédit). Pour plus d'informations sur la création d'un compte payant, voir Mise à niveau de votre compte.
-
Créez une instance de service Discovery plan Plus.
Accédez à la page Discovery ressource dans le catalogue IBM Cloud et créez une instance de service de plan Plus.
Si vous décidez de ne plus utiliser le plan Plus et de ne plus payer, supprimez l'instance de service du plan Plus avant la fin de la période d'essai de 30 jours.
Créer le projet d'extraction de document
Permet de créer un projet. Choisissez de créer un type de projet Document Retrieval. Ce type est optimisé pour la recherche de réponses renvoyées sous forme de passages à partir de documents volumineux.
Pour plus d'informations sur les types de projet, voir Création de projets.
- Sur la page du service de plan Discovery Plus dans IBM Cloud, cliquez sur Lancez Discovery.
- Dans la page Mes projets, cliquez sur Nouveau projet.
- Nommez votre projet
Finance tutorial project
, puis sélectionnez le type de projet Document Retrieval. - Cliquez sur Suivant.
Vous allez configurer la source de données pour le projet à l'étape suivante.
Télécharger un fichier PDF
Nous voulons que l'application de recherche puisse répondre aux questions sur le trading algorithmique. Par conséquent, nous ajoutons le PDF "Staff Report on Algorithmic Trading in US Capital Markets" qui a été créé le 5 août 2020 en tant que source de données pour le projet.
-
Obtenez une copie du PDF afin de pouvoir le télécharger dans votre projet. Vous pouvez télécharger le fichier à partir du site Web US Securities and Exchange Commission.
-
Téléchargez des données dans votre collection.
-
Cliquez sur Terminer.
Vous n'ajoutez qu'un seul fichier. Dans un scénario réel, vous pouvez télécharger plusieurs fichiers avec des informations sur la même rubrique. En ajoutant d'autres fichiers, vous pouvez étendre l'étendue des informations que votre application de recherche peut exploiter.
Le service télécharge le document. Lors du téléchargement du document, Discovery explore les données et indexe les informations clés. Etant donné que vous avez créé un type de projet Document Retrieval, Discovery prend note des informations Entities qu'il trouve et reconnaît lors de l'exploration du document.
Passez en revue le document
L'analyse et l'indexation du document peuvent prendre quelques minutes. Pendant que le traitement est en cours, examinez le document source pour en connaître le contenu. Il est recommandé de comprendre la structure de vos propres documents avant d'utiliser l'outil Smart Document Understanding pour les annoter.
Smart Document Understanding (SDU) utilise des technologies d'imagerie visuelle pour comprendre la structure d'un document en analysant le format et le positionnement du texte. Vous devez étiqueter les sections du document, telles que les sous-titres ou les tableaux, pour apprendre à Discovery à reconnaître les sections. Vous pouvez également étiqueter les sections que la fonction de recherche doit ignorer. Par exemple, vous pouvez ne pas vouloir rechercher des pieds de page ou des informations sur la table des matières. Après avoir appris à l'outil SDU à reconnaître les pieds de page, par exemple, vous pouvez exclure la zone de pied de page de l'index.
-
Surveillez la progression du traitement de la collecte en ouvrant l'onglet Activité.
Cliquez sur Manage collections dans le panneau de navigation.
Manage collections menu option from the navigation panel Cliquez sur la vignette de la collection Algorithmic Trading PDF. La collection s'ouvre sur l'onglet Activité.
-
Pendant que vous attendez que la collection soit prête, ouvrez le fichier
Algo_Trading_Report_2020.pdf
que vous avez téléchargé précédemment. -
Examinez la structure du document.
Notez que le document se compose principalement des structures suivantes:
- Titre
- Table des matières
- Sous-titres
- Texte
- Notes
- Bibliographie
-
L'outil SDU comporte des libellés prédéfinis pour tous les éléments, à l'exception de
footnotes
etbibliography
. Vous allez créer de nouveaux libellés de zone pour ces deux structures de document dans une procédure ultérieure.
Le traitement est terminé lorsque la page indique qu'un document est disponible.

Testez votre projet
-
Une fois l'exploration terminée, accédez à la page Improve and customize. Dans le panneau de navigation, cliquez sur Improve and customize.
-
Dans la zone Rechercher, entrez
When did the Flash Crash occur and why?
Le passage suivant est renvoyé en tant que réponse:
These could in turn generate systemic destabilizing market events, such as the May 2010 “Flash Crash.” The “Flash Crash” occurred on May 6, 2010, when an algorithm rapidly sold 75,000 S&P500 e-mini futures contracts.
Le passage renvoyé contient une réponse précise à la question.
Résultats de la recherche -
Posez une autre question,
What is the purpose of Rule 15c3-5?
Le passage suivant est renvoyé en tant que réponse:
mechanism.306 b. 15c3-5 In November 2011, the SEC implemented the final provision of Rule 15c3-5 curbing unfiltered market access. The provision mandated that brokers verify their clients’ order flow for compliance with credit and capital thresholds before routing to market centers
Encore une fois, la réponse est exacte (bien qu'il y ait du texte étranger au début du passage).
Dans les deux exemples, une question quelque peu complexe est posée et le passage qui est renvoyé fournit une réponse valide.
Cependant, toutes les questions ne sont pas renvoyées comme une réponse claire. Ensuite, nous essayons des requêtes qui génèrent des réponses que nous souhaiterions peut-être améliorer.
-
Entrée
Where do muni bond trades get reported to?
Dans ce cas, la réponse ne répond pas complètement à la question.
Post-trade transparency, in the form of transaction reports, generally is available for corporate and municipal bonds. 1. Transaction Reports in Corporate Bonds: TRACE Transactions in corporate bonds must be reported to the Trade Reporting
-
De même, la requête de recherche,
What are PTFs?
, ne renvoie pas de réponse directe.Despite the surge in trading volume during the event window, there was no noticeable change in net positions of PTFs or bank-dealers. However, the report also finds evidence that some PTFs and bank-dealers may have contributed to the volatility
Votre projet répond à certaines des questions avec succès. Un seul passage est renvoyé pour chaque requête. Voyons si nous pouvons améliorer les réponses données à ces requêtes de recherche plus simples.
Créer un modèle SDU (Smart Document Understanding) entraîné par l'utilisateur
Pour améliorer la qualité des résultats de la recherche, créez un modèle Smart Document Understanding pour ce document. Le modèle aide Discovery à comprendre la structure du document. Vous pouvez ensuite indiquer à Discovery quelles sections du document rechercher et quelles sections ignorer.
-
Dans le panneau Improvement tools de la page Improve and customize, développez Define structure, puis cliquez sur New fields.
New fields tool in the Improvement tools panel -
L'onglet Identifier les champs s'affiche, dans lequel vous pouvez choisir le type de modèle Smart Document Understanding que vous souhaitez utiliser.
Identify fields tab - Le modèle préentraîné applique un modèle non personnalisable qui extrait du texte et identifie les tables, les listes et les sections. Le modèle préentraîné est un excellent choix pour gagner du temps.
- Pour les besoins de ce tutoriel, où nous voulons explorer le fonctionnement de l'outil Smart Document Understanding, nous choisirons d'utiliser le modèle entraîné par l'utilisateur.
Si vous ne choisissez pas de modèle, le modèle d' extraction de texte est appliqué automatiquement. Avec le modèle d'extraction de texte, la majeure partie du contenu du document est traitée comme du texte standard et indexée dans la zone
text
. -
Cliquez sur Modèles entraînés par l'utilisateur, puis sur Soumettre.
Confirmation dialog for user-trained model -
Cliquez sur Apply changes and reprocess.
Apply changes and reprocess button Une fois le processus d'évaluation terminé, une représentation du document s'affiche dans l'outil Smart Document Understanding.
PDF is displayed in the SDU tool L'outil affiche une vue du document d'origine ainsi qu'une représentation du document, où le texte est remplacé par des blocs. Les blocs représentent les types de zone.
Au départ, les blocs sont tous de la couleur du libellé de la zone
text
car tout le contenu du document est considéré comme du texte standard et sera indexé dans la zonetext
.La liste Libellés de zone affiche les libellés de zone prédéfinis qui sont disponibles.
Nous allons étiqueter les blocs qui représentent des types spécifiques d'informations, tels que les titres et les sous-titres, avec les libellés de champ correspondants. (Le processus consistant à utiliser des libellés pour identifier les différentes parties de la structure du document est appelé annotation du document.)
-
Pour annoter le document, cliquez d'abord sur le libellé. Cliquez ensuite sur le bloc de texte à étiqueter.
Cliquez sur
title
dans la liste Etiquettes de champ, puis, dans la représentation du document, cliquez sur le bloc jaune situé à l'emplacement du titre du document.A title is being labeled in the Smart Document Understanding tool Vous avez correctement étiqueté le titre du document !
-
Le reste du texte de la page peut être indexé dans le cadre de la zone
text
. Cliquez donc sur Soumettre la page. -
La page suivante est la Table des matières du document. Cliquez sur le libellé
table_of_contents
, puis sélectionnez tout le texte de la page pour le libeller. (Vous pouvez cliquer et faire glisser la souris pour tout sélectionner.) Cliquez sur Soumettre la page pour passer à la page suivante.A table of contents is being labeled in the Smart Document Understanding tool -
Les deux titres de la page sont des sous-titres. Cliquez sur le libellé
subtitle
, puis sélectionnez les en-têtes.Cette page contient une note de bas de page. Comme nous l'avons mentionné précédemment, le document contient de nombreuses notes de bas de page qui fournissent des renseignements importants. Étiquetons les notes de bas de page afin que nous puissions inclure ou exclure ce type d'informations ultérieurement. Il n'y a pas d'étiquette de note de bas de page, nous devons donc en ajouter une.
-
Dans la liste Libellés de zone, cliquez sur Créer. Ajoutez le nom
footnote
comme nom de libellé. Cliquez sur le bloc de couleurs à plusieurs reprises jusqu'à ce que vous trouviez une couleur unique à utiliser pour le libellé, puis cliquez sur Créer.New label dialog -
Cliquez sur le nouveau libellé de note de bas de page que vous avez ajouté, puis étiquetez la note de bas de page de la page avec le libellé. Cliquez sur Soumettre la page pour passer à la page suivante.
A footnote is being labeled in the Smart Document Understanding tool -
Répétez ce processus pour étiqueter et soumettre plusieurs pages.
Pour la plupart des pages, le contenu inclut un
subtitle
, unfootnote
et la majeure partie du contenu de la page reste intituléetext
.Subtitle, footnote, and text labels are being applied Au fur et à mesure que vous étiquetez et soumettez des pages, le modèle apprend à partir des annotations que vous effectuez. Progressivement, les libellés qui sont appliqués automatiquement deviennent précis et ne nécessitent aucun ajustement.
Si l'outil devient trop zélé dans l'application des libellés, appliquez le libellé
text
aux sections de texte standard pour le corriger. -
Pour les tableaux, sélectionnez la légende du tableau et la totalité du tableau et attribuez-leur le libellé
table
.A table is being labeled -
Lorsqu'une page contient une image, celle-ci ne s'affiche pas dans la représentation de la page.
Les images ne sont jamais répliquées. Toutefois, vous pouvez capturer le texte à partir d'une image afin que le texte de l'image puisse être recherché. Pour ce faire, activez la fonction de reconnaissance optique des caractères (OCR) lorsque vous créez une collection. La reconnaissance optique des caractères est utile dans les cas où vous souhaitez extraire du texte à partir d'images, par exemple à partir d'un PDF numérisé, où le texte est imbriqué dans une image. Pour plus d'informations, voir Reconnaissance optique des caractères.
Après avoir activé la reconnaissance optique des caractères, si vous souhaitez supprimer le texte d'image annoté de l'index de collection, vous pouvez étiqueter l'image afin de pouvoir exclure le texte associé. Vous apprendrez à configurer l'index dans la procédure suivante.
Shows an image in the page -
Lorsque vous atteignez la Bibliographie, créez un nouveau libellé nommé
bibliography
.Creating a bibliography label Appliquez le nouveau libellé à chaque page.
A bibliography label is being applied -
Après avoir annoté et soumis toutes les pages, cliquez sur Appliquer les modifications et retraiter.
Une notification s'affiche pour indiquer que la collection a été mise à jour. Vous restez sur la page de l'outil SDU, mais le bouton Appliquer les modifications et retraiter est désactivé.
Un modèle SDU est généré en fonction des structures que vous avez étiquetées dans ce document.
Pour plus d'informations sur la fonction Smart Document Understanding, voir Utilisation de Smart Document Understanding.
Rationalisez les données interrogeables
Maintenant que vous disposez d'un modèle SDU qui peut reconnaître les différents types de sections du document, vous pouvez lui demander d'inclure certaines sections dans les recherches et d'en exclure d'autres. Pour contrôler les données dans lesquelles la recherche est effectuée, vous incluez ou excluez des zones de l'index de recherche.
-
Cliquez sur Gérer les zones.
The Manage fields tab -
Dans la liste des zones à indexer, définissez le commutateur sur No pour toutes les zones à l'exception des suivantes:
footnote
html
subtitle
table
text
de la liste -
Cliquez sur Apply changes and reprocess.
Une notification s'affiche pour indiquer que la collection a été mise à jour. Vous restez sur la page Gérer les zones, mais le bouton Appliquer les modifications et retraiter est désactivé.
Vous avez correctement configuré l'index pour contrôler le contenu disponible pour les recherches ! Vous avez exclu des zones qui peuvent contenir des termes de recherche populaires, mais n'incluez pas non plus de contenu significatif.
Pour plus d'informations sur la gestion des zones, voir Exclusion de contenu des résultats de requête.
Fractionner le document
Maintenant que Discovery en sait plus sur la structure du document, nous pouvons diviser le document unique de 99 pages en plusieurs documents. N'oubliez pas qu'un seul passage a été renvoyé pour chaque requête que vous avez soumise auparavant. Si vous fractionnez le document en plusieurs segments, Discovery peut renvoyer les meilleurs passages de tous les segments de document.
Lorsque vous fractionnez un document, vous transformez un document en plusieurs documents. Tenez compte des limites de document pour votre type de plan. Chaque segment de document généré par le fractionnement d'un document est comptabilisé dans la limite des documents du plan.
Lorsque vous avez annoté le document, vous avez identifié la zone subtitle
. Ces sous-titres sont un bon marqueur à partir duquel chaque nouveau segment de document peut commencer.
-
Dans la section Improve query results by split your documents de la page Manage fields, cliquez sur Split document.
-
Sélectionnez
subtitle
dans la zone Fractionner le document sur chaque occurrence du champ.de fractionner les documents sur le champ du -
Cliquez sur Apply changes and reprocess.
Une notification s'affiche pour indiquer que la collection a été mise à jour. Vous restez sur la page Gérer les zones, mais le bouton Appliquer les modifications et retraiter est désactivé.
-
Cliquez sur Activité dans l'en-tête de la page pour revenir à la page Activité dans laquelle vous pouvez surveiller la progression de la modification que vous avez apportée.
Lorsqu'aucun document n'est traité, le fractionnement de document est terminé.
Pour plus d'informations sur le fractionnement de documents, voir Fractionnement de documents pour rendre les résultats de requête plus succincts.
Tester à nouveau le projet
Voyons si nous avons amélioré la fonction de recherche en ajoutant un modèle SDU entraîné par l'utilisateur pour le document. Pour ce faire, retestons le projet.
-
Dans le panneau de navigation, cliquez sur Improve and customize pour ouvrir la page Improve and customize.
-
Tout d'abord, pour nous assurer que nous n'avons pas dégradé la qualité de la recherche, posons l'une des questions qui ont renvoyé une bonne réponse lorsque nous avons testé plus tôt.
Dans la zone Rechercher, entrez
What is the purpose of Rule 15c3-5?
Query added to the Improve and customize page Des réponses multiples sont renvoyées cette fois. La réponse suivante contient la réponse exacte à la question sans texte superflu:
In November 2011, the SEC implemented the final provision of Rule 15c3-5 curbing unfiltered market access. The provision mandated that brokers verify their clients’ order flow for compliance with credit and capital thresholds before routing to market centers.
Multiple responses are returned for the query Nos mises à jour n'ont amélioré que la qualité des réponses précises qui ont été renvoyées auparavant.
-
Maintenant, posons une question qui a précédemment renvoyé de mauvais résultats. Entrez
What are PTFs?
comme requête de recherche.La même réponse qui a été renvoyée comme dernière réponse est renvoyée à nouveau. Cependant, cette fois, nous obtenons plus d'une réponse. Et nous pouvons voir que la deuxième réponse qui est renvoyée définit l'acronyme pour nous.
(“principal trading firms” or “PTFs”)
Responses that answer the question about PTFs -
Essayons l'autre requête de recherche problématique. Entrez
Where do muni bond trades get reported to?
comme requête de recherche.Cette fois, c'est la troisième réponse qui fournit une réponse à la question. Vous devez afficher le passage complet pour voir l'intégralité de la définition.
Responses that answer the question about muni bonds Cliquez sur le lien Afficher le passage dans le document pour voir la définition complète mise en évidence dans le document.
Transactions in municipal bonds must be reported to the Municipal Securities Rulemaking Board’s (MSRB) Real-time Transaction Reporting System (RTRS).
Félicitations ! Vous avez ajouté avec succès un modèle Smart Document Understanding (SDU) entraîné par l'utilisateur qui améliore la qualité de votre projet de recherche.
Filtrer les résultats avec une facette basée sur un dictionnaire
Maintenant que nous obtenons plus de passages renvoyés par requête, il peut être utile de filtrer les résultats. Pour filtrer les résultats en fonction des types d'instruments financiers mentionnés, nous pouvons ajouter une facette de recherche. Une source disponible pour une facette est un dictionnaire.
-
Pour créer un dictionnaire, dans le panneau Outils d'amélioration de la page Improve and customize, développez Teach domain concepts, puis cliquez sur Dictionnaires.
-
Cliquez sur Nouveau.
New button in the dictionary page -
Entrez
Financial instruments
comme nom de dictionnaire, ajoutez le termemunicipal bond
, puis cliquez sur le bouton Ajouter un terme.Financial instruments dictionary with one term -
Ajoutez des synonymes pour le terme en cliquant sur l'icône d'édition du terme.
Municipal Bonds, muni, munis, muni bonds
Ajoutez des synonymes dans une liste séparée par des virgules, puis cliquez sur Enregistrer le terme.
-
Cliquez sur Save dictionary.
Vous pouvez choisir une zone du document dans laquelle vous souhaitez appliquer l'enrichissement. Choisissons la zone
subtitle
qui a été générée lors de la création du modèle SDU entraîné par l'utilisateur. Dans la zone Zones à enrichir, sélectionnezsubtitle
. Cliquez sur Appliquer.Le dictionnaire est créé et chaque sous-titre du document est analysé à la recherche de mentions de termes ou de synonymes définis dans le dictionnaire. Toutes les mentions trouvées sont notées dans l'index.
-
Cliquez sur Improve and customize dans le panneau de navigation.
-
Dans le panneau Improvement tools de la page Improve and customize, développez Customize display, puis cliquez sur Facets.
-
Cliquez sur Nouvelle facette, puis sélectionnez A partir de champs existants dans une collection.
-
Choisissez la zone d'index associée à l'enrichissement de dictionnaire que vous avez appliqué à la zone
subtitle
. Dans la zone Zone, sélectionnezenriched_subsection.entities.mentions.text
Fields from which you can create a facet Vous devrez peut-être survoler les entrées pour afficher les noms de zone complets.
-
Ajoutez un libellé, tel que
Dictionary terms
à la zone Libellé, puis cliquez sur Appliquer.Facet was created -
Entrez
Where do muni bond trades get reported to?
comme requête de recherche.La facette Dictionnaire des termes que vous avez créée s'affiche avec les résultats de la recherche. Une case à cocher
Municipal Bonds
s'affiche, qui indique qu'au moins un des passages renvoyés est extrait d'un segment de document avec le termeMunicipal Bonds
dans sa zonesubtitle
.Dictionary term facet with a Municipal Bonds option -
Pour filtrer les résultats afin de n'afficher que les passages des sections avec
Municipal Bonds
dans le sous-titre, cochez la caseMunicipal Bonds
.La meilleure réponse est maintenant répertoriée comme la deuxième réponse au lieu de la troisième.
réponse est le deuxième
Récapitulatif
Dans ce tutoriel, vous avez créé un projet d'extraction de document, un modèle SDU (Smart Document Understanding), un enrichissement de dictionnaire et une facette de recherche. Vous avez appliqué la facette basée sur votre dictionnaire à la zone personnalisée générée par votre modèle SDU pour filtrer vos résultats de requête afin d'obtenir de meilleures réponses.