tNLPModel properties for Apache Spark Batch - 7.3

Natural Language Processing

Version
7.3
Language
English
Product
Talend Big Data Platform
Talend Data Fabric
Talend Real-Time Big Data Platform
Module
Talend Studio
Content
Data Governance > Third-party systems > Natural Language Processing
Data Quality and Preparation > Third-party systems > Natural Language Processing
Design and Development > Third-party systems > Natural Language Processing
Last publication date
2024-02-21

These properties are used to configure tNLPModel running in the Spark Batch Job framework.

The Spark Batch tNLPModel component belongs to the Natural Language Processing family.

The component in this framework is available in all Talend Platform products with Big Data and in Talend Data Fabric.

Basic settings

Define a storage configuration component

Select the configuration component to be used to provide the configuration information for the connection to the target file system such as HDFS.

If you leave this check box clear, the target file system is the local system.

The configuration component to be used must be present in the same Job. For example, if you have dropped a tHDFSConfiguration component in the Job, you can select it to write the result in a given HDFS system.

Schema and Edit Schema

A schema is a row description. It defines the number of fields (columns) to be processed and passed on to the next component. When you create a Spark Job, avoid the reserved word line when naming the fields.

Click Sync columns to retrieve the schema from the previous component connected in the Job.

Click Edit schema to make changes to the schema. If the current schema is of the Repository type, three options are available:

  • View schema: choose this option to view the schema only.

  • Change to built-in property: choose this option to change the schema to Built-in for local changes.

  • Update repository connection: choose this option to change the schema stored in the repository and decide whether to propagate the changes to all the Jobs upon completion. If you just want to propagate the changes to the current Job, you can select No upon completion and choose this schema metadata again in the Repository Content window.

The first column in the input schema must be token and the last column must be label.

You can insert columns for features in between.

 

Built-In: You create and store the schema locally for this component only.

 

Repository: You have already created the schema and stored it in the Repository. You can reuse it in various projects and Job designs.

Feature template

Features: Select from the list the token-level features to be generated.

  • POS tag: Part-of-speech tags are labels that are assigned to words according to their role in a sentence, for example, verb, noun or adjective.
  • NER tag: Named Entity Recognition tags are labels assigned to tokens which are the names of things. For example, "PER" for a person name.
  • token : Original word segment.
  • lemma: Produces the lemma form for the word, for example, "take" for "takes", "took" or "taken"
  • stem: Produces the root form of the word, for example, "fish" for "fishing, "fished" or "fishes".
  • lowertoken: Produces the original token in lowercase
  • tokenisnumeric: The token is a number.
  • tokenispunct: The token is a punctuation mark or multiple punctuation marks.
  • tokeninwordnet: The token can be found in WordNet.
  • tokeninstopwordlist The token is a stop word, for example "the", "and", "then" or "where".
  • tokeninfirstnamelist: The token appears in the list of first names.
  • tokeninlastnamelist: The token appears in the list of last names.
  • tokensuffixprefix: The token prefix or suffix.
  • tokenismostfrequent: The token is among the top five percent most frequent tokens in the text.
  • tokenpositionrelative: In a line, the number of tokens before / the total number of tokens in this line.
  • tokeniscapitalized: The first letter of this word is capitalized.
  • tokenisupper: The word is upper-cased.
  • tokenmostfrequentpredecessor: The token is among the top five percent most frequent predecessors before a named entity.
  • tokeninacronymlist: The token is an acronym, for example, EU, UN, PS, etc.
  • tokeningeonames: This token appears in the list of geographic names.

Relative position: This is the relative positional composition of feature. This must be a string of numbers separated by comma:

  • 0 is for the current feature,
  • 1 is for the next feature; and so on.

For example -2,-1,0,1,2 means that you use the current token, the preceding two and the following two context tokens as features.

Additional Features

Select this check box to add additional features in the Additional feature template.

NLP Library

From this list, select the library to be used between ScalaNLP and Stanford CoreNLP.

If the input is a text preprocessed using the tNLPPreprocessing component, select the same NLP Library that was used for the preprocessing.

Model location

Select the Save the model on file system check box and either:
  • set the path to the folder where you want to generate the model files in the Folder field, for example: "opt/model/"; or
  • select the Store model in a single file check box to generate the model file in the folder set in the Folder field. For example: "/opt/model/<model_name>"

If you want to store the model in a specific file system, for example S3 or HDFS, you must use the corresponding component in the Job and select the Define a storage configuration component check box in the component basic settings.

The button for browsing does not work with the Spark Local mode; if you are using the other Spark Yarn modes that the Studio supports with your distribution, ensure that you have correctly configured the connection in a configuration component in the same Job, such as tHDFSConfiguration. Use the configuration component depending on the filesystem to be used.

Run cross validation evaluation

If you select this check box, the tNLPModel will run a K-fold cross-validation to evaluate the performance of the model and generate the model.

By default, the Fold parameter is set to 3.

  • The dataset is partitioned into K equal size subsets.
  • One of the K subsets is used as the validation data for testing the model and the remaining subsets are used as the training data.
  • The cross-validation process is repeated K times according to the Fold parameter with each of the K subset used once as the validation data.

For each improvement of the model, to output the best weighted F1-score resulting from the cross validation evaluation in the Run view, set the log4jLevel to Info in the Advanced Settings tab of the Run view.

Usage

Usage rule

This component is used as an end component and requires an input link.

This component, along with the Spark Batch component Palette it belongs to, appears only when you are creating a Spark Batch Job.

Cross validation evaluation

The following items are output to the console of the Run view:

  • For each class:
    • The class name
    • True Positive is the number of elements that were predicted correctly as elements of this class.
    • Predicted True is the number of elements that were predicted as elements of this class.
    • Labeled True is the number of elements belonging to this class.
    • The Precision score, varying from 0 to 1, indicates how relevant the elements selected by the classification are to a given class.
    • The Recall score, varying from 0 to 1, indicates how many relevant elements are selected.
    • The F1-score is the harmonic mean of the Precision score and the Recall score.
  • For the best model: the global weighted F1-score.

For each improvement of the model, the best weighted F1-score is output to the console of the Run view. This score is output along with the other Log4j INFO-level information.

For more information on the log4j logging levels, see the Apache documentation at http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html.

Spark Batch Connection

In the Spark Configuration tab in the Run view, define the connection to a given Spark cluster for the whole Job. In addition, since the Job expects its dependent jar files for execution, you must specify the directory in the file system to which these jar files are transferred so that Spark can access these files:
  • Yarn mode (Yarn client or Yarn cluster):
    • When using Google Dataproc, specify a bucket in the Google Storage staging bucket field in the Spark configuration tab.

    • When using HDInsight, specify the blob to be used for Job deployment in the Windows Azure Storage configuration area in the Spark configuration tab.

    • When using Altus, specify the S3 bucket or the Azure Data Lake Storage for Job deployment in the Spark configuration tab.
    • When using Qubole, add a tS3Configuration to your Job to write your actual business data in the S3 system with Qubole. Without tS3Configuration, this business data is written in the Qubole HDFS system and destroyed once you shut down your cluster.
    • When using on-premises distributions, use the configuration component corresponding to the file system your cluster is using. Typically, this system is HDFS and so use tHDFSConfiguration.

  • Standalone mode: use the configuration component corresponding to the file system your cluster is using, such as tHDFSConfiguration Apache Spark Batch or tS3Configuration Apache Spark Batch.

    If you are using Databricks without any configuration component present in your Job, your business data is written directly in DBFS (Databricks Filesystem).

This connection is effective on a per-Job basis.