Doc produitsMenu

Extracteurs prédéfinis d'Analytique de texte

L'étape d'extraction est au centre du processus d'analytique de texte. Les plug-ins d'extraction identifient et extraient des types spécifiques d'informations du contenu des documents traités.

Whitelister

Le plug-in Whitelister lit un fichier de texte plat renfermant une liste d'expressions, une par ligne. Chaque expression est recherchée dans chaque document traité. S'il y a une correspondance, le terme est ajouté en tant que métadonnée dans le document. Les expressions qui sont dans la liste doivent correspondre aux limites des mots. Seules des correspondances exactes sont extraites. La sensibilité à la casse peut être définie.

Exemple : Le plug-in Whitelister suivant peuple les métadonnées ToyotaVehicles avec des occurrences d'expressions retrouvées dans le fichier ToyotaVehicleList.txt.

<Extractor>
  <Impl>Coveo.TextAnalytics.Implementations.Whitelister, Coveo.TextAnalytics.Implementations</Impl>
  <Configuration>
   <MetadataName>ToyotaVehicles</MetadataName>
   <FilePath>D:\TextAnalytics\Config\whitelists\ToyotaVehicleList.txt</FilePath>
   <CaseSensitive>False</CaseSensitive>
  </Configuration>
</Extractor>

Contenu du fichier ToyotaVehicleList.txt :

Yaris Hatchback
Yaris
Corolla
Matrix
Prius c
Prius
Prius Plug-in
Prius v
Camry
Camry Hybrid
Venza
Avalon
Sienna
RAV4
Highlander
Highlander Hybrid
FJ Cruiser
4Runner
Sequoia
Tacoma
Tundra

CESQueryMetadataExtractor

Le plug-in CESQueryMetadataExtractor ajoute la valeur spécifiée aux métadonnées spécifiées si le document correspond à la requête spécifiée.

Exemple : Avec la définition d'extracteur CESQueryMetadataExtractor suivante, Potato sera extrait des métadonnées Vegetables si le document correspond à la requête CES (Coveo Enterprise Search) potato AND (grow OR cook OR vegetable OR food).

<Extractor>
  <Impl>Coveo.TextAnalytics.Implementations.CESQueryMetadataExtractor, Coveo.TextAnalytics.Implementations</Impl>
  <Configuration>
   <Query>potato AND (grow OR cook OR vegetable OR food)</Query>
   <MetadataName>Vegetables</MetadataName>
   <MetadataValue>Potato</MetadataValue>
  </Configuration>
</Extractor>

Note : Le plug-in CESQueryMetadataExtractor génère une requête à CES pour chaque document et peut donc ralentir s'il y a plusieurs documents.

MetadataAdderExtractor

Le plug-in MetadataAdderExtractor ajoute tout simplement la valeur spécifiée aux métadonnées spécifiées pour tous les documents.

Exemple : Avec la définition d'extracteur MetadataAdderExtractor suivante, Potato sera ajouté aux métadonnées Vegetables pour tous les documents.

<Extractor>
  <Impl>Coveo.TextAnalytics.Implementations.MetadataAdderExtractor, Coveo.TextAnalytics.Implementations</Impl>
  <Configuration>
   <MetadataName>Vegetables</MetadataName>
   <MetadataValue>Potato</MetadataValue>
  </Configuration>
</Extractor>

RegexMetadataExtractor

Ce plug-in RegexMetadataExtractor trouve des documents correspondant à une expression régulière spécifiée et définit la valeur du nom de métadonnées spécifié à l'aide de l'une des méthodes exclusives suivantes :

  • Par défaut, écrit toutes les correspondances si les paramètres <MetadataValue> ou <MetadataReplacement> ne sont pas définis.

  • Facultativement, si un ou plusieurs paramètres <MetadataValue> sont définis, écrit la (les) valeur(s) spécifié(s).

  • Facultativement, si un paramètre <MetadataReplacement> est défini, écrit la valeur de remplacement de l'expression régulière correspondante.

Cet extracteur est générique et puissant, mais peut exiger beaucoup de ressources de l'unité centrale si des expressions régulières complexes sont spécifiées.

Utilisez les paramètres suivants afin de définir l'extracteur :

<Regex>

Ce paramètre obligatoire spécifie l'expression régulière (regex) qui doit avoir une correspondance.

<MetadataName>

Ce paramètre obligatoire spécifie le nom des métadonnées auxquelles une valeur est définie si le contenu d'un document correspond à l'expression régulière.

<MetadataValue>

Une ou plusieurs occurrences de ce paramètre facultatif spécifient une ou plusieurs valeurs à sauvegarder dans les métadonnées si l'expression régulière trouve une correspondance.

<MetadataReplacement>

Ce paramètre facultatif spécifie une chaîne de remplacement de regex qui est utilisée afin de créer la valeur de métadonnées à partir du contenu des correspondances de regex dans le document.

<CaseSensitive>

Ce paramètre facultatif peut être défini à True afin d'obliger l'expression régulière à être sensible à la casse. La valeur par défaut est False.

Exemples : Un document à analyser ne contient que ceci : "I want to eat a potato".

Avec ce contenu, pour ce document, l'extracteur suivant définit les métadonnées Vegetables à potato.

<Extractor>
  <Impl>Coveo.TextAnalytics.Implementations.RegexMetadataExtractor, Coveo.TextAnalytics.Implementations</Impl>
  <Configuration>
   <MetadataName>Vegetables</MetadataName>
   <Regex>(potato|tuberosum)</Regex>
  </Configuration>
</Extractor>

Avec ce contenu, pour ce document, l'extracteur suivant ajoute potato et tuberosum aux métadonnées Vegetables.

<Extractor>
  <Impl>Coveo.TextAnalytics.Implementations.RegexMetadataExtractor, Coveo.TextAnalytics.Implementations</Impl>
  <Configuration>
   <MetadataName>Vegetables</MetadataName>
   <Regex>(potato|tuberosum)</Regex>
   <MetadataValue>potato</MetadataValue>
   <MetadataValue>tuberosum</MetadataValue>
  </Configuration>
</Extractor>

SalienceMetadataExtractor

Le plug-in de découverte d'entité SalienceMetadataExtractor peut extraire un ou plusieurs types d'informations (Thèmes, Entités nommées, Opinions).

Exemple : L'extracteur suivant traite jusqu'à 4096 caractères dans chaque document, extrait des thèmes, des entités nommés, et une analyse d'opinions à plusieurs niveaux.

<Extractor>
  <Impl>Coveo.TextAnalytics.Implementations.Salience.SalienceMetadataExtractor, Coveo.TextAnalytics.Implementations</Impl>
  <Configuration>
    <MaxDocLenToProcess>4096</MaxDocLenToProcess>
    <!-- Location of Salience files -->
    <SalienceLicensePath>E:\TXTAN\Lexalytics\license.v5</SalienceLicensePath>
    <SalienceDirectory>D:\TXTAN\Lexalytics\data</SalienceDirectory>
    <SalienceUserDirectory>D:\TXTAN\Lexalytics\user</SalienceUserDirectory>
    <!-- Types of information to extract -->
    <ExtractThemes>True</ExtractThemes>
    <ExtractUserDefinedEntities>False</ExtractUserDefinedEntities>
    <ExtractNamedEntities>True</ExtractNamedEntities>
    <!-- Sentiment analysis configuration -->
    <ExtractSentiment>True</ExtractSentiment>
    <PositiveThreshold>0.15</PositiveThreshold>
    <NegativeThreshold>-0.15</NegativeThreshold>
    <SentimentLevels>True</SentimentLevels>
    <SentimentLevelMultiple>2</SentimentLevelMultiple>
  </Configuration>
</Extractor>

Les paramètres disponibles sont :

<MaxDocLenToProcess>

Le paramètre obligatoire MaxDocLenToProcess définit le nombre maximal de caractères du contenu à envoyer au plug-in de découverte d'entité pour chaque document. La valeur recommandée est 4096. Si on assume que les mots en anglais contiennent en moyenne 5 caractères, 4096 caractères correspondent à environ 800 mots. Une valeur plus grande peut augmenter de façon remarquée le temps nécessaire au traitement de la mise en marche pour plusieurs gros documents.

Note : Si MaxDocLenToProcess est défini à 4096, des documents plus petits tels que des courriels sont fort certainement traités en entier. Toutefois, pour des documents plus longs renfermant des milliers de mots, comme les articles de la base de connaissances, seuls les 800 premiers mots seront traités.

<SalienceLicensePath>

Ce paramètre obligatoire spécifie le chemin d'accès et le nom du fichier de la licence Salience.

<SalienceDirectory>

Ce paramètre obligatoire spécifie le dossier où les fichiers de données Salience se retrouvent.

<SalienceUserDirectory>

Ce paramètre obligatoire spécifie le dossier où les fichiers de données d'utilisateur Salience se retrouvent.

<ExtractThemes>

Définissez ce paramètre facultatif à True afin d'activer l'extraction de thèmes, où vous devez également spécifier le paramètre global de configuration <ThemeMetaName> (voir <ThemeMetaName>).

<ExtractNamedEntities>

Définissez ce paramètre facultatif à True afin d'activer l'extraction d'entités nommées prédéfinies. Vous ne pouvez spécifier au plug-in de découverte d'entité quelles entités nommées sont à extraire. Si vous n'êtes intéressé que par un sous-groupe d'entités nommées, vous pouvez utiliser une étape de normalisation afin de supprimer des métadonnées d'entité nommée non désirées (voir MetadataFilter).

<ExtractSentiment>

Définissez ce paramètre facultatif à True afin d'activer l'analyse d'opinions, où vous devez également spécifier le paramètre global de configuration <SentimentMetaName> (voir <SentimentMetaName>).

<PositiveThreshold>
<NegativeThreshold>

Ces paramètres ne sont obligatoires que si l'analyse d'opinions est activée. Les valeurs sont le niveau d'opinion nécessaire afin de retourner une opinion Positive ou Négative. Pour un résultat entre les deux, l'opinion retournée est Neutre. Les valeurs recommandées sont, respectivement, 0.15 et -0.15.

<SentimentLevels>

Définissez ce paramètre facultatif à True afin de montrer au plug-in comment retourner plusieurs niveaux d'opinions : Très positive, Positive, Neutre, Négative, et Très Négative.

<SentimentLevelMultiple>

Si plusieurs niveaux d'opinions sont activés, ce paramètre spécifie la valeur de multiplicateur appliquée aux valeurs <PositiveThreshold> et <NegativeThreshold> afin de déterminer le seuil du résultat à obtenir afin de retourner, respectivement, des opinions Très Positive et Très Négative.

Exemple : Les paramètres <PositiveThreshold>, <NegativeThreshold>, et <SentimentLevelMultiple> étant définis, respectivement, à 0.15, -0.15, et 2, un document avec un résultat d'opinion plus grand que 0.30 retourne une opinion Très Positive. De façon identique, un document avec un résultat d'opinion plus petit que -0.30 retourne une opinion Très Négative.

<VeryPositiveLabel>
<PositiveLabel>
<NeutralLabel>
<NegativeLabel>
<VeryNegativeLabel>

Vous pouvez utiliser ces paramètres facultatifs afin de changer l'étiquette par défaut pour les niveaux d'opinion.

Exemple :

<Extractor>
  <Impl>Coveo.TextAnalytics.Implementations.Salience.SalienceMetadataExtractor, Coveo.TextAnalytics.Implementations</Impl>
  <Configuration>
     ...
    <VeryPositiveLabel>Great!</VeryPositiveLabel>
    <PositiveLabel>Good!</PositiveLabel>
    <NeutralLabel>OK</NeutralLabel>
    <NegativeLabel>Not so good...</NegativeLabel>
    <VeryNegativeLabel>It's horrible!</VeryNegativeLabel>
     ...  
  </Configuration>
</Extractor>