Comment vos données sont-elles traitées ?

Lorsque vous vous connectez à une source de données, Discovery traite les informations de la source de données pour créer une collection.

Le but du traitement d'une source de données est d'identifier les informations significatives et de les étiqueter à mesure qu'elles sont ajoutées à la collection afin de faciliter la recherche et l'extraction des informations par la suite.

Le traitement appliqué à toutes les sources de données comprend les étapes suivantes:

  • Identifier des documents individuels dans la source de données
  • Rechercher des champs dans les documents
  • Indexer les zones

Vous pouvez voir la liste des zones qui ont été indexées à partir de la page Gérer les zones.

  1. Accédez à la page Manage collections, puis choisissez la collection.

    Assurez-vous que le traitement de la collection est terminé en premier. La page Activité affiche le statut de traitement.

  2. Cliquez sur l'onglet Gérer les champs.

Les zones affichées peuvent varier en fonction de vos données. Toutefois, un sous-ensemble de zones est toujours répertorié. Ces champs, avec des noms tels que footer et header, sont dérivés de l'outil Smart Document Understanding (SDU) et sont répertoriés même si vous n'appliquez pas explicitement un modèle SDU à la collection. (Pour la liste complète des zones générées par SDU, voir Zones disponibles.) Seules les zones dont le type de données est spécifié sont stockées dans l'index de la collection.

L'une des zones générées par SDU qui est stockée dans l'index est la zone text. La zone text contient généralement le corps principal du texte du document d'origine. La plupart du contenu renvoyé dans les résultats de recherche que vous soumettez à partir de la page Improve and customize provient de cette zone. La manière d'analyser et de renvoyer uniquement les blocs d'informations pertinents de cette zone est déterminée par la configuration de résultat de requête utilisée par le projet. Pour plus d'informations, voir Prévisualisation des résultats de requête par défaut.

Plus de traitement ajoute plus de zones. D'autres traitements sont appliqués automatiquement en fonction du type de projet. Lorsque des processus s'exécutent sur des documents d'une collection, des zones supplémentaires sont ajoutées pour stocker les informations associées au processus. Par exemple, lorsque l'enrichissement Entities intégré est appliqué à une collection, il démarre un processus qui ajoute des zones dont les noms commencent par enriched_{field_name}.entities aux documents de la collection.

Mode de traitement des zones

Pour la plupart des types de fichier non structuré, la majeure partie du contenu du fichier est ajoutée à une zone nommée text. Pour les types de fichier ayant une structure de données inhérente, tels que les fichiers JSON, les noms du fichier source sont utilisés pour nommer les zones dans lesquelles le contenu est stocké. Lorsque vous téléchargez des fichiers de ce type, tenez compte de certaines limitations de dénomination qui existent pour les zones.

Les noms de champs suivants ont une signification particulière. Si possible, n'utilisez pas ces noms dans vos fichiers source structurés.

  • document_id
  • highlight
  • html
  • metadata
  • parent_document_id
  • result_metadata
  • score
  • spans

Evitez les noms de zone qui remplissent les conditions suivantes. Les noms de zone comportant ces caractères restreints ne sont pas interrogés.

  • Commencez par les caractères _, + et -. Par exemple, +extracted-content.
  • Contenir les caractères ., ,, #, ?, (, ) ou : ou des espaces. Par exemple, extracted content ou new:extracted-content.
  • Terminez par des nombres, par exemple, extracted-content2.

Pour traiter des documents dans Discovery, tous les documents d'une collection doivent avoir le même type de données pour une zone particulière. Lorsqu'un type de données d'une zone particulière varie d'un document à l'autre, le processus d'indexation de la zone échoue et un message d'erreur d'échec d'indexation s'affiche dans la section Avertissements et erreurs en un coup d'oeil de la page Activité de la collection.

Zones HTML

La zone html de l'index de document stocke des informations structurelles sur le document.

  • Si vous utilisez l'outil Smart Document Understanding pour annoter une collection, la représentation du document est indexée dans la zone html.
  • Si vous utilisez l'outil Smart Document Understanding pour appliquer un modèle préentraîné à une collection, la représentation de document est indexée à la fois dans la zone html et dans la zone text.
  • La zone html a une limite de taille. Pour plus d'informations, voir Limites de zone.

Remarque sur l'amélioration des données:

  • Si vous souhaitez appliquer un enrichissement qui peut comprendre les tableaux d'un document, le document doit contenir une zone html.

Mode de traitement des dates

Les dates sont capturées de différentes manières par différents types de fichier.

Fichiers non structurés

La meilleure façon de capturer des informations de date à partir du corps d'un document avec des données non structurées est d'utiliser un enrichissement de modèle de traitement du langage naturel. Par exemple, l'enrichissement Entities prédéfini reconnaît les dates et les annote dans la zone text (ou dans d'autres zones de corps avec le type de données String ). Dans un document où l'enrichissement est appliqué, vous pouvez rechercher des dates en recherchant des zones libellées enriched_{fieldname}.entities.type=Date.

Dates from metadata date fields, such as extracted_metadata.publicationdate, are stored in the index as dates as long as the date format matches one of the supported date data type formats. You can't see nested fields from the Manage fields page. And when you view a search result as JSON, date field values are displayed as string values because the JSON editor shows the date as a string. However, values from date fields behave like dates. You can use greater than (>) or less than (<) operators with such fields in Discovery Query Language queries, for example.

Fichiers structurés

Les fichiers de structure que vous importez, tels que les fichiers CSV ou JSON, peuvent contenir des zones de date que vous souhaitez stocker en tant que types de données de date. Discovery peut reconnaître de nombreux formats de date. Toutefois, vous devrez peut-être ajouter un format à la liste. Pour plus d'informations, voir Paramètres de format de date.

Paramètres de format de date

Si vos documents comportent une zone de niveau racine contenant des informations de date, vous pouvez définir la zone de sorte qu'elle soit une zone de type de données Date dans l'index.

Discovery reconnaît automatiquement les formats de date suivants:

yyyy-MM-dd'T'HH:mm:ssZ
yyyy-MM-dd'T'HH:mm:ssXXX
yyyy-MM-dd'T'HH:mm:ss.SSSZ
yyyy-MM-dd'T'HH:mm:ss.SSSX
yyyy-MM-dd
M/d/yy
yyyyMMdd
yyyy/MM/dd

Si vous stockez des dates dans d'autres formats, vous pouvez ajouter le format à la liste des formats pris en charge.

Pour ajouter d'autres formats de date, procédez comme suit:

  1. Dans la page Gérer les zones de la collection, ajoutez un format en tant que nouvelle ligne dans la zone Formats de date.

    Spécifiez un format de date pris en charge par la classe Java SimpleDateFormat.

    Par exemple, si vos enregistrements stockent uniquement des valeurs d'année pour les dates, ajoutez yyyy à la liste des formats de date pris en charge. Vous pouvez ensuite définir le type de données de la zone qui contient une valeur d'année sur Date, puis retraiter votre collection. Par conséquent, une occurrence de 2019 dans la zone de date est stockée sous la forme 2019-01-01T05:00:00Z dans l'index.

    Lorsque vous ajoutez un format de date, vous devez spécifier un fuseau horaire associé pour la date.

  2. Indiquez un fuseau horaire.

  3. Si vous le souhaitez, sélectionnez un environnement local de date.

    L'environnement local que vous choisissez est utilisé pour analyser une valeur de chaîne qui représente la date pour les zones d'ensemble de données de type date. Par exemple, en utilisant le format EEE, MM dd, yyyy, les paramètres linguistiques anglais (États-Unis) peuvent analyser la valeur de la chaîne "Wednesday, 07 01, 2020", et les paramètres linguistiques japonais (Japon) peuvent analyser la même valeur de la chaîne "水曜日, 07 01, 2020".

  4. Si vous avez déjà importé des documents avec des dates dans des formats qui n'ont pas été reconnus, retraitez les documents.

Discovery ne peut pas stocker une date mentionnée dans une zone de texte en tant que zone Date dans l'index. Toutefois, vous pouvez utiliser un enrichissement tel que l'enrichissement Entities pour identifier les dates mentionnées dans le texte.

Mode de traitement des types de fichier

Lorsque vous téléchargez un document, les données du fichier sont indexées. Les différents types de fichier sont traités différemment par Discovery.

Fichiers CSV

Remarques sur l'ajout de données:

  • Chaque ligne définie dans le fichier CSV est ajoutée à l'index en tant que document distinct, chacun avec le même parent_document_id.

    Les documents enfant ont généralement un ID document avec la syntaxe {parent-ID}_n{parent-ID} est l'ID document du fichier d'origine qui a été ajouté et n est un numéro séquentiel. Par exemple, si vous téléchargez un fichier CSV avec 5 lignes, cinq documents sont ajoutés à la collection avec des ID de document tels que f5214225c1e03e25190ffcdfad8e84ff_0 via f5214225c1e03e25190ffcdfad8e84ff_4.

  • Vous ne pouvez pas activer la fonction de reconnaissance optique des caractères (OCR) pour les fichiers CSV.

  • Si le fichier CSV contient des en-têtes, les noms d'en-tête sont utilisés pour nommer les zones dans lesquelles le contenu de la colonne correspondante est stocké. N'utilisez pas de noms ayant une signification spéciale dans Discovery. Assurez-vous que les noms de zone sont conformes aux règles de dénomination, par exemple, qu'ils ne comportent aucun espace et aucun nombre ajouté. Par exemple, vous pouvez renommer l'en-tête start date en start_date et label1 en label-one avant d'ajouter le fichier. Pour plus d'informations, voir Comment les zones sont traitées.

  • Lorsqu'un nom d'en-tête de fichier CSV contient des caractères restreints, le convertisseur de document supprime automatiquement les caractères restreints du nom de zone lorsqu'il ajoute la zone résultante à l'index.

Remarque sur l'amélioration des données:

  • Vous ne pouvez pas appliquer des modèles Smart Document Understanding préconfigurés ou entraînés par l'utilisateur à des fichiers CSV.

Fichiers HTML

Si vous téléchargez un fichier HTML ou explorez une source de données avec des fichiers HTML, tels qu'un site Web, une zone html est générée avec la zone text. Pour plus d'informations, voir Zones HTML.

Fichiers JSON

Remarques sur l'ajout de données:

  • Les noms d'objet du fichier JSON source sont utilisés pour nommer les zones dans lesquelles le contenu est stocké. N'utilisez pas de noms ayant une signification spéciale dans Discovery. Assurez-vous que les noms sont conformes aux règles de dénomination, par exemple qu'ils ne comportent aucun espace et aucun nombre ajouté. Par exemple, vous pouvez renommer l'objet updated on en updated_on et answer2 en answer-two avant d'ajouter le fichier. Pour plus d'informations, voir Comment les zones sont traitées.

  • Si une zone de niveau racine est un tableau mais ne contient aucun élément, la zone est omise de l'index.

  • Si une zone de niveau racine est un tableau et qu'elle ne contient qu'un seul élément, le tableau est indexé en tant que type de données de l'élément. Par exemple, un tableau de chaînes avec une chaîne est indexé en tant que chaîne.

  • Si une zone imbriquée contient un tableau, même si le tableau n'a qu'une seule valeur, il est indexé en tant que tableau.

  • Si une zone de niveau racine est un tableau et contient plusieurs éléments, les données sont indexées en tant que tableau.

  • Si vous copiez du code JSON généré par Discovery, puis que vous le téléchargez en tant que fichier JSON, supprimez d'abord ces zones générées par le système du fichier: document_id, parent_document_id, filename et title.

  • Vous ne pouvez pas activer la fonction de reconnaissance optique des caractères (OCR) pour les fichiers JSON.

  • Si votre document source comporte une zone portant le nom document_id, la zone est ignorée et n'est pas ajoutée à l'index de la collection.

    Le mode de traitement de la zone document_id dans un fichier JSON a été modifié avec la mise à jour de la version 2023-03-31 de l'API. Avant la mise à jour, lorsque vous avez téléchargé un fichier JSON à partir de l'interface utilisateur du produit ou que vous avez utilisé l'API pour l'ajouter avec la méthode Ajouter un document, la valeur de la zone document_id du fichier était affichée en tant que valeur document_id dans les résultats de la requête. Toutefois, un ID document différent lui a été affecté et stocké dans la zone parent_document_id. L'ID du document attribué est ce qui a été renvoyé lorsque vous avez appelé la méthode List documents et c'est ce qui a dû être utilisé comme document_id dans le point de terminaison URL pour une demande de méthode Delete document. Lorsque vous avez utilisé la méthode Update document pour affecter un nouveau document_id, l'ID d'origine a continué à être renvoyé dans les résultats de la requête. Toutefois, l'ID affecté a dû être utilisé pour supprimer le document. Si vous disposez d'une application qui repose sur le comportement précédent, vous pouvez spécifier un numéro de version antérieur à 2023-03-31, tel que 2020-08-30, dans vos appels API.

Remarques sur l'amélioration des données:

  • Vous ne pouvez pas appliquer des modèles Smart Document Understanding préconfigurés ou entraînés par l'utilisateur à des fichiers JSON.

  • Lorsque vous appliquez un enrichissement à une zone à partir du fichier JSON, le type de données de la zone est converti en tableau. La zone est convertie en tableau même si elle contient une valeur unique. Par exemple, "field1": "Discovery" devient "field1": ["Discovery"].

  • Seuls les 50 000 premiers caractères d'une zone personnalisée d'un fichier JSON sont enrichis.

  • Dans les types de projet où l'enrichissement Part of Speech (POS) est appliqué automatiquement, l'enrichissement est appliqué à la zone qui contient la majeure partie du contenu du fichier dans le premier fichier JSON qui est ajouté à la collection. Cette zone est déterminée par les règles suivantes:

    • Si une zone est nommée text, l'enrichissement POS lui est appliqué.
    • La zone avec la valeur de chaîne la plus longue et le nombre le plus élevé de valeurs distinctes est choisie.
    • Si plusieurs champs remplissent la condition précédente, l'un d'entre eux est choisi de manière aléatoire.
  • Si vous souhaitez appliquer un enrichissement à une zone imbriquée, vous devez créer un projet Content Mining, puis appliquer l'enrichissement à la zone. Si vous souhaitez utiliser un type de projet autre que Content Mining, vous pouvez réutiliser la collection que vous avez créée avec le type de projet Content Mining ailleurs. Pour plus d'informations, voir Application d'enrichissements.

Vous pouvez spécifier les objets normalizations et conversions dans la méthode Update a collection de l'API pour déplacer ou fusionner des zones JSON.

Comment les passages sont dérivés

Discovery utilise des algorithmes sophistiqués pour déterminer les meilleurs passages de texte de tous les documents renvoyés par une requête. Les passages sont renvoyés par document par défaut. Ils sont affichés sous forme de section dans chaque résultat de requête de document et sont classés par pertinence de passage.

Discovery utilise la détection de limite de phrase pour choisir un passage qui inclut une phrase complète. Il recherche des passages qui ont une longueur approximative de 200 caractères, puis regarde des blocs de contenu qui sont deux fois plus longs pour trouver des passages qui contiennent des phrases complètes. La détection des limites de phrase fonctionne pour toutes les langues prises en charge et utilise une logique spécifique aux langues.

Pour tous les types de projet à l'exception de Recherche conversationnelle, vous pouvez modifier l'affichage des passages dans les résultats de la recherche à partir de la page Personnaliser l'affichage > Résultats de la recherche. Par exemple, vous pouvez configurer le nombre de passages affichés par document et la taille maximale de caractères par passage.