Propriétés du tNLPModel pour Apache Spark Batch - 7.1

Natural Language Processing

author
Talend Documentation Team
EnrichVersion
7.1
EnrichProdName
Talend Big Data Platform
Talend Data Fabric
Talend Real-Time Big Data Platform
task
Création et développement > Systèmes tiers > Traitement automatique du langage naturel
Gouvernance de données > Systèmes tiers > Traitement automatique du langage naturel
Qualité et préparation de données > Systèmes tiers > Traitement automatique du langage naturel
EnrichPlatform
Studio Talend

Ces propriétés sont utilisées pour configurer tNLPModel s'exécutant dans le framework de Jobs Spark Batch.

Le composant tNLPModel Spark Batch appartient à la famille Natural Language Processing.

Le composant de ce framework est disponible dans tous les produits Talend Platform avec Big Data et dans Talend Data Fabric.

Basic settings

Define a storage configuration component

Sélectionnez le composant de configuration à utiliser pour fournir les informations de configuration pour la connexion au système de fichiers cible, comme HDFS.

Si vous laissez cette case décochée, le système de fichiers cible est le système local.

Le composant de configuration à utiliser doit se trouver dans le même Job. Par exemple, si vous avez ajouté un composant tHDFSConfiguration dans votre Job, vous pouvez le sélectionner pour écrire le résultat dans un système HDFS donné.

Schema et Edit Schema

Un schéma est une description de lignes. Il définit le nombre de champs (colonnes) à traiter et à passer au composant suivant. Lorsque vous créez un Job Spark, évitez le mot réservé line lors du nommage des champs.

Cliquez sur Sync columns pour récupérer le schéma du composant précédent dans le Job.

Modifiez le schéma en cliquant sur Edit Schema. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir uniquement le schéma.

  • Change to built-in property : sélectionnez cette option pour passer le schéma en mode Built-In et effectuer des modifications locales.

  • Update repository connection : sélectionnez cette option afin de modifier le schéma stocké dans le référentiel et décider de propager ou non les modifications à tous les Jobs. Si vous souhaitez propager les modifications uniquement au Job courant, cliquez sur No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre Repository Content.

La première colonne du schéma d'entrée doit être token et la dernière, label.

Vous pouvez insérer des colonnes entre les deux pour les caractéristiques ajoutées manuellement.

 

Built-in : le schéma est créé et conservé localement pour ce composant seulement.

 

Repository : le schéma existe déjà et est stocké dans le Repository. Ainsi, il peut être réutilisé dans des Jobs et projets.

Feature template

Features : sélectionnez dans la liste les caractéristiques à générer au niveau des termes individuels.

  • POS tag : les étiquettes des parties du discours sont des libellés assignés aux mots en fonction de leur rôle dans une phrase, verbe, nom ou adjectif, par exemple.
  • NER tag : les étiquettes de reconnaissance des entités nommées sont des libellés assignés aux termes individuels qui représentent des noms de choses. Par exemple, "PER" est utilisé pour les noms de personnes.
  • token : forme originale du mot.
  • lemma : génère la forme canonique du mot, par exemple "take" for "takes", "took" ou "taken".
  • stem : génère la forme racine du mot, par exemple "fish" for "fishing, "fished" ou "fishes".
  • lowertoken : génère le terme individuel en minuscules.
  • tokenisnumeric : le terme individuel est un nombre.
  • tokenispunct : le terme individuel est un signe de ponctuation ou plusieurs signes de ponctuation.
  • tokeninwordnet : le terme individuel est présent dans la base WordNet.
  • tokeninstopwordlist : le terme individuel est un mot vide, par exemple "the", "and", "then" ou "where".
  • tokeninfirstnamelist : le terme individuel apparaît dans la liste des prénoms.
  • tokeninlastnamelist : le terme individuel apparaît dans la liste des noms de familles.
  • tokensuffixprefix : le suffixe ou le préfixe du terme individuel.
  • tokenismostfrequent : le terme individuel fait partie des 5 % des termes individuels les plus fréquents dans le texte.
  • tokenpositionrelative : dans une ligne, le nombre de termes individuels précédant / le nombre total de termes individuels de cette ligne.
  • tokeniscapitalized : la première lettre du mot est une majuscule.
  • tokenisupper : le mot est en majuscules.
  • tokenmostfrequentpredecessor : le terme individuel fait partie des 5 % des prédécesseurs les plus fréquents d'une entité nommée.
  • tokeninacronymlist : le terme individuel est un acronyme, par exemple, "EU", "UN" ou "PS".
  • tokeningeonames : ce terme individuel apparaît dans la liste des noms de lieux géographiques.

Relative position : il s'agit de la position relative de la composition d'une caractéristique. Elle doit être une chaîne constituée de chiffres séparés par une virgule :

  • 0 pour la caractéristique actuelle,
  • 1 pour la caractéristique suivante et ainsi de suite.

Par exemple, -2,-1,0,1,2 signifie que vous utilisez le terme individuel actuel, les deux termes individuels qui le suivent et qui le précèdent en tant que caractéristiques.

Additional Features

Cochez cette case pour ajouter des caractéristiques supplémentaires dans la table Additional feature template.

Bibliothèque NLP

Dans la liste, sélectionnez la bibliothèque à utiliser entre ScalaNLP et Stanford CoreNLP.

Si le texte d'entrée a subi un prétraitement à l'aide du composant tNLPPreprocessing, sélectionnez la même bibliothèque NLP Library que celle utilisée pour le prétraitement.

Model location

Cochez la case Save the model on file system et,
  • spécifiez le chemin d'accès au dossier dans lequel vous souhaitez générer les fichiers de modèle dans le champ Folder, par exemple : "opt/model/" ;
  • ou cochez la case Store model in a single file pour générer le modèle dans le dossier spécifié dans le champ Folder. Par exemple : "/opt/model/<model_name>".

Si vous souhaitez stocker le modèle dans un système de fichiers spécifique, par exemple S3 ou HDFS, vous devez utiliser le composant correspondant dans le Job et cocher la case Define a storage configuration component dans les Basic settings de ce composant.

Le bouton pour parcourir votre système ne fonctionne pas en mode Local de Spark. Si vous utilisez le mode Yarn ou Standalone de Spark, assurez-vous d'avoir correctement configuré la connexion dans un composant de configuration au sein du même Job, comme le tHDFSConfiguration.

Run cross validation evaluation

Si vous cochez cette case, le tNLPModel procédera à une validation croisée d'ordre K afin d'évaluer les performances du modèle et générera le modèle.

Par défaut, la valeur du paramètre Fold est 3.

  • Le jeu de données est partitionné en K sous-ensembles de taille égale.
  • L'un des K sous-ensembles est utilisé comme donnée de validation pour tester le modèle et les sous-ensembles restants sont utilisés comme jeux d'entraînement.
  • Le processus de validation croisée est répété K fois selon la valeur du paramètre Fold ; chacun des K sous-ensembles est utilisé une fois comme donnée de validation.

Pour chaque amélioration du modèle, afin d'écrire en sortie le meilleur F1-score pondéré, résultant de l'évaluation de validation croisée du modèle, dans le vue Run, définissez la valeur de log4jLevel à Info dans l'onglet Advanced Settings de la vue Run.

Utilisation

Règle d'utilisation

Ce composant est utilisé en tant que composant de fin et requiert un lien d'entrée.

Ce composant, ainsi que la Palette Spark Batch à laquelle il appartient, ne s'affiche que lorsque vous créez un Job Spark Batch.

Cross validation evaluation

Les éléments suivants sont écrits en sortie dans la console de vue Run :

  • Pour chaque classe :
    • Le nom de la classe
    • True Positive est le nombre d'éléments correctement identifiés comme étant des éléments de cette classe.
    • Predicted True est le nombre d'éléments identifiés comme étant des éléments de cette classe.
    • Labeled True est le nombre d'éléments appartenant à cette classe.
    • Precision score, varie de 0 à 1, indique la pertinence des éléments sélectionnés par la classification par rapport à une classe donnée.
    • Recall score, varie de 0 à 1, indique combien d'éléments pertinents sont sélectionnés.
    • The F1-score est la moyenne harmonique du Precision score (score de précision) et du Recall score (score de rappel).
  • Pour le meilleur modèle : le F1-score pondéré global.

Pour chaque amélioration du modèle, le meilleur F1-score pondéré est écrit dans la console de la vue Run. Ce score est écrit en sortie avec les autres informations Log4j de niveau INFO.

Pour plus d'informations concernant les niveaux de logs du log4j, consultez la documentation d'Apache : http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html (en anglais).

Spark Batch Connection

Dans l'onglet Spark Configuration de la vue Run, définissez la connexion à un cluster Spark donné pour le Job complet. De plus, puisque le Job attend ses fichiers .jar dépendants pour l'exécution, vous devez spécifier le répertoire du système de fichiers dans lequel ces fichiers .jar sont transférés afin que Spark puisse accéder à ces fichiers :
  • Yarn mode (Yarn Client ou Yarn Cluster) :
    • Lorsque vous utilisez Google Dataproc, spécifiez un bucket dans le champ Google Storage staging bucket de l'onglet Spark configuration.

    • Lorsque vous utilisez HDInsight, spécifiez le blob à utiliser pour le déploiement du Job, dans la zone Windows Azure Storage configuration de l'onglet Spark configuration.

    • Lorsque vous utilisez Altus, spécifiez le bucket S3 ou le stockage Azure Data Lake Storage (apercu technique) pour le déploiement du Job, dans l'onglet Spark configuration.
    • Lorsque vous utilisez Qubole, ajoutez tS3Configuration à votre Job pour écrire vos données métier dans le système S3 avec Qubole. Sans tS3Configuration, ces données métier sont écrites dans le système Qubole HDFS et détruites une fois que vous arrêtez votre cluster.
    • Lorsque vous utilisez des distributions sur site (on-premises), utilisez le composant de configuration correspondant au système de fichiers utilisé par votre cluster. Généralement, ce système est HDFS et vous devez utiliser tHDFSConfiguration.

  • Standalone mode : vous devez choisir le composant de configuration selon le système de fichiers que vous utilisez, comme tHDFSConfiguration ou tS3Configuration.

    Si vous utilisez Databricks sans composant de configuration dans votre Job, vos données métier sont écrites directement dans DBFS (Databricks Filesystem).

Cette connexion fonctionne uniquement pour le Job dans lequel vous l'avez définie.