com.johnsnowlabs.nlp.annotators.re
RelationExtractionApproach 
            Companion object RelationExtractionApproach
          
      class RelationExtractionApproach extends GenericClassifierApproach with HandleExceptionParams
Trains a TensorFlow model for relation extraction.
For pretrained models, see the documentation of RelationExtractionModel.
To train a custom relation extraction model, you need to first create
a Tensorflow graph using either the TfGraphBuilder annotator or
the tf_graph module. Then, set the path to the Tensorflow graph
using the method setModelFile.
If the parameter relationDirectionCol is set, the model will be
trained using the direction information (see the parameter decription
for details). Otherwise, the model won't have direction between the
relation of the entities. After training a model (using the .fit() method),
the resulting object is of class RelationExtractionModel.
Example
Defining pipeline stages to extract entities first
val documentAssembler = new DocumentAssembler() .setInputCol("text") .setOutputCol("document") val tokenizer = new Tokenizer() .setInputCols(Array("document")) .setOutputCol("tokens") val embedder = WordEmbeddingsModel .pretrained("embeddings_clinical", "en", "clinical/models") .setInputCols(Array("document", "tokens")) .setOutputCol("embeddings") val posTagger = PerceptronModel .pretrained("pos_clinical", "en", "clinical/models") .setInputCols(Array("document", "tokens")) .setOutputCol("posTags") val nerTagger = MedicalNerModel .pretrained("ner_events_clinical", "en", "clinical/models") .setInputCols(Array("document", "tokens", "embeddings")) .setOutputCol("ner_tags") val nerConverter = new NerConverter() .setInputCols(Array("document", "tokens", "ner_tags")) .setOutputCol("nerChunks") val depencyParser = DependencyParserModel .pretrained("dependency_conllu", "en") .setInputCols(Array("document", "posTags", "tokens")) .setOutputCol("dependencies")
Then define RelationExtractionApproach and training parameters
val re = new RelationExtractionApproach() .setInputCols(Array("embeddings", "posTags", "train_ner_chunks", "dependencies")) .setOutputCol("relations_t") .setLabelColumn("target_rel") .setEpochsNumber(300) .setBatchSize(200) .setlearningRate(0.001f) .setModelFile("path/to/graph_file.pb") .setFixImbalance(true) .setValidationSplit(0.05f) .setFromEntity("from_begin", "from_end", "from_label") .setToEntity("to_begin", "to_end", "to_label") val finisher = new Finisher() .setInputCols(Array("relations_t")) .setOutputCols(Array("relations")) .setCleanAnnotations(false) .setValueSplitSymbol(",") .setAnnotationSplitSymbol(",") .setOutputAsArray(false)
Define complete pipeline and start training
val pipeline = new Pipeline() .setStages(Array( documentAssembler, tokenizer, embedder, posTagger, nerTagger, nerConverter, depencyParser, re, finisher)) val model = pipeline.fit(trainData)
- See also
 RelationExtractionModel for pretrained models and how to use it
- Grouped
 - Alphabetic
 - By Inheritance
 
- RelationExtractionApproach
 - GenericClassifierApproach
 - CheckLicense
 - HandleExceptionParams
 - GenericClassifierParams
 - AnnotatorApproach
 - CanBeLazy
 - DefaultParamsWritable
 - MLWritable
 - HasOutputAnnotatorType
 - HasOutputAnnotationCol
 - HasInputAnnotationCols
 - Estimator
 - PipelineStage
 - Logging
 - Params
 - Serializable
 - Serializable
 - Identifiable
 - AnyRef
 - Any
 
- Hide All
 - Show All
 
- Public
 - All
 
Instance Constructors
Type Members
- 
      
      
      
        
      
    
      
        
        type
      
      
        AnnotatorType = String
      
      
      
- Definition Classes
 - HasOutputAnnotatorType
 
 
Value Members
- 
      
      
      
        
      
    
      
        final 
        def
      
      
        !=(arg0: Any): Boolean
      
      
      
- Definition Classes
 - AnyRef → Any
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        ##(): Int
      
      
      
- Definition Classes
 - AnyRef → Any
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        $[T](param: Param[T]): T
      
      
      
- Attributes
 - protected
 - Definition Classes
 - Params
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        ==(arg0: Any): Boolean
      
      
      
- Definition Classes
 - AnyRef → Any
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        _fit(dataset: Dataset[_], recursiveStages: Option[PipelineModel]): GenericClassifierModel
      
      
      
- Attributes
 - protected
 - Definition Classes
 - AnnotatorApproach
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        asInstanceOf[T0]: T0
      
      
      
- Definition Classes
 - Any
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        batchSize: IntParam
      
      
      
Batch size
Batch size
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        beforeTraining(spark: SparkSession): Unit
      
      
      
- Definition Classes
 - GenericClassifierApproach → AnnotatorApproach
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        checkSchema(schema: StructType, inputAnnotatorType: String): Boolean
      
      
      
- Attributes
 - protected
 - Definition Classes
 - HasInputAnnotationCols
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        checkValidEnvironment(spark: Option[SparkSession], scopes: Seq[String]): Unit
      
      
      
- Definition Classes
 - CheckLicense
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        checkValidScope(scope: String): Unit
      
      
      
- Definition Classes
 - CheckLicense
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        checkValidScopeAndEnvironment(scope: String, spark: Option[SparkSession], checkLp: Boolean): Unit
      
      
      
- Definition Classes
 - CheckLicense
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        checkValidScopesAndEnvironment(scopes: Seq[String], spark: Option[SparkSession], checkLp: Boolean): Unit
      
      
      
- Definition Classes
 - CheckLicense
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        clear(param: Param[_]): RelationExtractionApproach.this.type
      
      
      
- Definition Classes
 - Params
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        clone(): AnyRef
      
      
      
- Attributes
 - protected[lang]
 - Definition Classes
 - AnyRef
 - Annotations
 - @throws( ... ) @native()
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        copy(extra: ParamMap): Estimator[GenericClassifierModel]
      
      
      
- Definition Classes
 - AnnotatorApproach → Estimator → PipelineStage → Params
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        copyValues[T <: Params](to: T, extra: ParamMap): T
      
      
      
- Attributes
 - protected
 - Definition Classes
 - Params
 
 - 
      
      
      
        
      
    
      
        
        var
      
      
        customLabels: CustomLabels
      
      
      
Custom relation labels
 - 
      
      
      
        
      
    
      
        
        val
      
      
        datasetInfo: Param[String]
      
      
      
Descriptive information about the dataset being used.
Descriptive information about the dataset being used.
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        defaultCopy[T <: Params](extra: ParamMap): T
      
      
      
- Attributes
 - protected
 - Definition Classes
 - Params
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        description: String
      
      
      
Trains TensorFlow model for multi-class text classification
Trains TensorFlow model for multi-class text classification
- Definition Classes
 - RelationExtractionApproach → GenericClassifierApproach → AnnotatorApproach
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        directionSensitive: BooleanParam
      
      
      
If it is
true, only relations in the form of "ENTITY1-ENTITY2" will be considered, If it isfalse, both "ENTITY1-ENTITY2" and "ENTITY2-ENTITY1" relations will be considered, - 
      
      
      
        
      
    
      
        
        val
      
      
        doExceptionHandling: BooleanParam
      
      
      
If true, exceptions are handled.
If true, exceptions are handled. If exception causing data is passed to the model, a error annotation is emitted which has the exception message. Processing continues with the next one. This comes with a performance penalty.
- Definition Classes
 - HandleExceptionParams
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        dropout: FloatParam
      
      
      
Dropout coefficient
Dropout coefficient
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        epochsN: IntParam
      
      
      
Maximum number of epochs to train
Maximum number of epochs to train
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        eq(arg0: AnyRef): Boolean
      
      
      
- Definition Classes
 - AnyRef
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        equals(arg0: Any): Boolean
      
      
      
- Definition Classes
 - AnyRef → Any
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        explainParam(param: Param[_]): String
      
      
      
- Definition Classes
 - Params
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        explainParams(): String
      
      
      
- Definition Classes
 - Params
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        extractParamMap(): ParamMap
      
      
      
- Definition Classes
 - Params
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        extractParamMap(extra: ParamMap): ParamMap
      
      
      
- Definition Classes
 - Params
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        featureScaling: Param[String]
      
      
      
Feature scaling method.
Feature scaling method. Possible values are 'zscore', 'minmax' or empty (no scaling)
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        filterByTokenDistance: IntParam
      
      
      
filtering criterion based on number of token between entities.
filtering criterion based on number of token between entities. Model only finds relations that have fewer than the specified number of tokens between them.
 - 
      
      
      
        
      
    
      
        
        def
      
      
        finalize(): Unit
      
      
      
- Attributes
 - protected[lang]
 - Definition Classes
 - AnyRef
 - Annotations
 - @throws( classOf[java.lang.Throwable] )
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        fit(dataset: Dataset[_]): GenericClassifierModel
      
      
      
- Definition Classes
 - AnnotatorApproach → Estimator
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        fit(dataset: Dataset[_], paramMaps: Seq[ParamMap]): Seq[GenericClassifierModel]
      
      
      
- Definition Classes
 - Estimator
 - Annotations
 - @Since( "2.0.0" )
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        fit(dataset: Dataset[_], paramMap: ParamMap): GenericClassifierModel
      
      
      
- Definition Classes
 - Estimator
 - Annotations
 - @Since( "2.0.0" )
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        fit(dataset: Dataset[_], firstParamPair: ParamPair[_], otherParamPairs: ParamPair[_]*): GenericClassifierModel
      
      
      
- Definition Classes
 - Estimator
 - Annotations
 - @Since( "2.0.0" ) @varargs()
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        fixImbalance: BooleanParam
      
      
      
Fix the imbalance in the training set by replicating examples of under represented categories
Fix the imbalance in the training set by replicating examples of under represented categories
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        fromEntityBeginCol: Param[String]
      
      
      
Column for beginning of 'from' entity
 - 
      
      
      
        
      
    
      
        
        val
      
      
        fromEntityEndCol: Param[String]
      
      
      
Column for end of 'from' entity
 - 
      
      
      
        
      
    
      
        
        val
      
      
        fromEntityLabelCol: Param[String]
      
      
      
Column for 'from' entity label
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        get[T](param: Param[T]): Option[T]
      
      
      
- Definition Classes
 - Params
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getBatchSize: Int
      
      
      
Batch size
Batch size
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        getClass(): Class[_]
      
      
      
- Definition Classes
 - AnyRef → Any
 - Annotations
 - @native()
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getCustomLabels: Map[String, String]
      
      
      
Get custom labels
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getDatasetInfo: String
      
      
      
get descriptive information about the dataset being used
get descriptive information about the dataset being used
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        getDefault[T](param: Param[T]): Option[T]
      
      
      
- Definition Classes
 - Params
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getDropout: Float
      
      
      
Dropout coefficient
Dropout coefficient
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getExistingLabels(): Array[String]
      
      
      
- Attributes
 - protected
 - Definition Classes
 - RelationExtractionApproach → GenericClassifierApproach
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getFeatureScaling: String
      
      
      
Get feature scaling method
Get feature scaling method
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getFixImbalance: Boolean
      
      
      
Fix imbalance in training set
Fix imbalance in training set
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getFromEntityBeginCol: String
      
      
      
Column for beginning of 'from' entity
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getFromEntityEndCol: String
      
      
      
Column for end of 'from' entity
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getFromEntityLabelCol: String
      
      
      
Column for 'from' entity label
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getInputCols: Array[String]
      
      
      
- Definition Classes
 - HasInputAnnotationCols
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getLabelColumn: String
      
      
      
Column with label per each document
Column with label per each document
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getLazyAnnotator: Boolean
      
      
      
- Definition Classes
 - CanBeLazy
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getLearningRate: Float
      
      
      
Learning Rate
Learning Rate
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getMaxEpochs: Int
      
      
      
Maximum number of epochs to train
Maximum number of epochs to train
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getMaxSyntacticDistance: Int
      
      
      
Maximal syntactic distance, as threshold (Default: 0)
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getModelFile: String
      
      
      
Model file name
Model file name
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getMultiClass: Boolean
      
      
      
Gets the model multi class prediction mode
Gets the model multi class prediction mode
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        getOrDefault[T](param: Param[T]): T
      
      
      
- Definition Classes
 - Params
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        getOutputCol: String
      
      
      
- Definition Classes
 - HasOutputAnnotationCol
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getOutputLogsPath: String
      
      
      
Get output logs path
Get output logs path
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getOverrideExistingLabels: Boolean
      
      
      
Whether to override already learned labels when using a pretrained model to initialize the new model.
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getParam(paramName: String): Param[Any]
      
      
      
- Definition Classes
 - Params
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getRelationDirectionCol: String
      
      
      
Get relation direction
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getScopeWindow: (Int, Int)
      
      
      
Get scope window
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getTFWrapper(): TensorflowWrapper
      
      
      
- Attributes
 - protected
 - Definition Classes
 - RelationExtractionApproach → GenericClassifierApproach
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getToEntityBeginCol: String
      
      
      
Column for beginning of 'to' entity
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getToEntityEndCol: String
      
      
      
Column for end of 'to' entity
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getToEntityLabelCol: String
      
      
      
Column for 'to' entity label
 - 
      
      
      
        
      
    
      
        
        def
      
      
        getValidationSplit: Float
      
      
      
Choose the proportion of training dataset to be validated against the model on each Epoch.
Choose the proportion of training dataset to be validated against the model on each Epoch. The value should be between 0.0 and 1.0 and by default it is 0.0 and off.
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        hasDefault[T](param: Param[T]): Boolean
      
      
      
- Definition Classes
 - Params
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        hasParam(paramName: String): Boolean
      
      
      
- Definition Classes
 - Params
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        hashCode(): Int
      
      
      
- Definition Classes
 - AnyRef → Any
 - Annotations
 - @native()
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        initializeLogIfNecessary(isInterpreter: Boolean, silent: Boolean): Boolean
      
      
      
- Attributes
 - protected
 - Definition Classes
 - Logging
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        initializeLogIfNecessary(isInterpreter: Boolean): Unit
      
      
      
- Attributes
 - protected
 - Definition Classes
 - Logging
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        inputAnnotatorTypes: Array[AnnotatorType]
      
      
      
Input annotator type : WORD_EMBEDDINGS, POS, CHUNK, DEPENDENCY
Input annotator type : WORD_EMBEDDINGS, POS, CHUNK, DEPENDENCY
- Definition Classes
 - RelationExtractionApproach → GenericClassifierApproach → HasInputAnnotationCols
 
 - 
      
      
      
        
      
    
      
        final 
        val
      
      
        inputCols: StringArrayParam
      
      
      
- Attributes
 - protected
 - Definition Classes
 - HasInputAnnotationCols
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        isDefined(param: Param[_]): Boolean
      
      
      
- Definition Classes
 - Params
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        isInstanceOf[T0]: Boolean
      
      
      
- Definition Classes
 - Any
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        isSet(param: Param[_]): Boolean
      
      
      
- Definition Classes
 - Params
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        isTraceEnabled(): Boolean
      
      
      
- Attributes
 - protected
 - Definition Classes
 - Logging
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        labelColumn: Param[String]
      
      
      
Column with label per each document
Column with label per each document
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        lazyAnnotator: BooleanParam
      
      
      
- Definition Classes
 - CanBeLazy
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        learningRate: FloatParam
      
      
      
Learning Rate
Learning Rate
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        log: Logger
      
      
      
- Attributes
 - protected
 - Definition Classes
 - Logging
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        logDebug(msg: ⇒ String, throwable: Throwable): Unit
      
      
      
- Attributes
 - protected
 - Definition Classes
 - Logging
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        logDebug(msg: ⇒ String): Unit
      
      
      
- Attributes
 - protected
 - Definition Classes
 - Logging
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        logError(msg: ⇒ String, throwable: Throwable): Unit
      
      
      
- Attributes
 - protected
 - Definition Classes
 - Logging
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        logError(msg: ⇒ String): Unit
      
      
      
- Attributes
 - protected
 - Definition Classes
 - Logging
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        logInfo(msg: ⇒ String, throwable: Throwable): Unit
      
      
      
- Attributes
 - protected
 - Definition Classes
 - Logging
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        logInfo(msg: ⇒ String): Unit
      
      
      
- Attributes
 - protected
 - Definition Classes
 - Logging
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        logName: String
      
      
      
- Attributes
 - protected
 - Definition Classes
 - Logging
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        logTrace(msg: ⇒ String, throwable: Throwable): Unit
      
      
      
- Attributes
 - protected
 - Definition Classes
 - Logging
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        logTrace(msg: ⇒ String): Unit
      
      
      
- Attributes
 - protected
 - Definition Classes
 - Logging
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        logWarning(msg: ⇒ String, throwable: Throwable): Unit
      
      
      
- Attributes
 - protected
 - Definition Classes
 - Logging
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        logWarning(msg: ⇒ String): Unit
      
      
      
- Attributes
 - protected
 - Definition Classes
 - Logging
 
 - 
      
      
      
        
      
    
      
        
        var
      
      
        maxSyntacticDistance: IntParam
      
      
      
Maximal syntactic distance, as threshold (Default: 0)
 - 
      
      
      
        
      
    
      
        
        val
      
      
        modelFile: Param[String]
      
      
      
Location of file of the model used for classification
Location of file of the model used for classification
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        msgHelper(schema: StructType): String
      
      
      
- Attributes
 - protected
 - Definition Classes
 - HasInputAnnotationCols
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        multiClass: BooleanParam
      
      
      
If multiClass is set, the model will return all the labels with corresponding scores.
If multiClass is set, the model will return all the labels with corresponding scores. By default, multiClass is false.
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        ne(arg0: AnyRef): Boolean
      
      
      
- Definition Classes
 - AnyRef
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        notify(): Unit
      
      
      
- Definition Classes
 - AnyRef
 - Annotations
 - @native()
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        notifyAll(): Unit
      
      
      
- Definition Classes
 - AnyRef
 - Annotations
 - @native()
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        onTrained(model: GenericClassifierModel, spark: SparkSession): Unit
      
      
      
- Definition Classes
 - AnnotatorApproach
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        optionalInputAnnotatorTypes: Array[String]
      
      
      
- Definition Classes
 - HasInputAnnotationCols
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        outputAnnotatorType: String
      
      
      
Output annotator type : CATEGORY
Output annotator type : CATEGORY
- Definition Classes
 - GenericClassifierApproach → HasOutputAnnotatorType
 
 - 
      
      
      
        
      
    
      
        final 
        val
      
      
        outputCol: Param[String]
      
      
      
- Attributes
 - protected
 - Definition Classes
 - HasOutputAnnotationCol
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        outputLogsPath: Param[String]
      
      
      
Folder path to save training logs.
Folder path to save training logs. If no path is specified, the logs won't be stored in disk. The path can be a local file path, a distributed file path (HDFS, DBFS), or a cloud storage (S3).
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        overrideExistingLabels: BooleanParam
      
      
      
Controls whether to override already learned lebels when using a pretrained model to initialize the new model.
Controls whether to override already learned lebels when using a pretrained model to initialize the new model. A value of
truewill override existing lab els. - 
      
      
      
        
      
    
      
        
        lazy val
      
      
        params: Array[Param[_]]
      
      
      
- Definition Classes
 - Params
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        pretrainedModelPath: Param[String]
      
      
      
Path to an already trained RelationExtractionModel.
Path to an already trained RelationExtractionModel.
This pretrained model will be used as a starting point for training the new one. The path can be a local file path, a distributed file path (HDFS, DBFS), or a cloud storage (S3).
 - 
      
      
      
        
      
    
      
        
        var
      
      
        relationDirectionCol: Param[String]
      
      
      
Relation direction column (possible values are: "none", "left" or "right").
Relation direction column (possible values are: "none", "left" or "right").
If this parameter is not set, the model will not have direction between the relation of the entities.
 - 
      
      
      
        
      
    
      
        
        def
      
      
        resumeTraining: Boolean
      
      
      
- Attributes
 - protected
 - Definition Classes
 - RelationExtractionApproach → GenericClassifierApproach
 
 -  def resumeTrainingFromModel(model: RelationExtractionModel): RelationExtractionApproach.this.type
 - 
      
      
      
        
      
    
      
        
        def
      
      
        save(path: String): Unit
      
      
      
- Definition Classes
 - MLWritable
 - Annotations
 - @Since( "1.6.0" ) @throws( ... )
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        scopeWindow: IntArrayParam
      
      
      
The scope window of the assertion (whole sentence by default)
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        set(paramPair: ParamPair[_]): RelationExtractionApproach.this.type
      
      
      
- Attributes
 - protected
 - Definition Classes
 - Params
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        set(param: String, value: Any): RelationExtractionApproach.this.type
      
      
      
- Attributes
 - protected
 - Definition Classes
 - Params
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        set[T](param: Param[T], value: T): RelationExtractionApproach.this.type
      
      
      
- Definition Classes
 - Params
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        setBatchSize(batch: Int): RelationExtractionApproach.this.type
      
      
      
Batch size
Batch size
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        setCustomLabels(labels: Map[String, String]): RelationExtractionApproach.this.type
      
      
      
Set custom labels
 - 
      
      
      
        
      
    
      
        
        def
      
      
        setDatasetInfo(value: String): RelationExtractionApproach.this.type
      
      
      
set descriptive information about the dataset being used
set descriptive information about the dataset being used
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        setDefault(paramPairs: ParamPair[_]*): RelationExtractionApproach.this.type
      
      
      
- Attributes
 - protected
 - Definition Classes
 - Params
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        setDefault[T](param: Param[T], value: T): RelationExtractionApproach.this.type
      
      
      
- Attributes
 - protected[org.apache.spark.ml]
 - Definition Classes
 - Params
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        setDirectionSensitive(value: Boolean): RelationExtractionApproach.this.type
      
      
      
If it is
true, only relations in the form of "ENTITY1-ENTITY2" will be considered, If it isfalse, both "ENTITY1-ENTITY2" and "ENTITY2-ENTITY1" relations will be considered, - 
      
      
      
        
      
    
      
        
        def
      
      
        setDoExceptionHandling(value: Boolean): RelationExtractionApproach.this.type
      
      
      
If true, exceptions are handled.
If true, exceptions are handled. If exception causing data is passed to the model, a error annotation is emitted which has the exception message. Processing continues with the next one. This comes with a performance penalty.
- Definition Classes
 - HandleExceptionParams
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        setDropout(dropout: Float): RelationExtractionApproach.this.type
      
      
      
Dropout coefficient
Dropout coefficient
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        setEpochsNumber(epochs: Int): RelationExtractionApproach.this.type
      
      
      
Maximum number of epochs to train
Maximum number of epochs to train
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        setFeatureScaling(featureScaling: String): RelationExtractionApproach.this.type
      
      
      
Set the feature scaling method.
Set the feature scaling method. Possible values are 'zscore', 'minmax' or empty (no scaling)
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        setFilterByTokenDistance(value: Int): RelationExtractionApproach.this.type
      
      
      
filtering criterion based on number of token between entities.
filtering criterion based on number of token between entities. Model only finds relations that have fewer than the specified number of tokens between them
 - 
      
      
      
        
      
    
      
        
        def
      
      
        setFixImbalance(fix: Boolean): RelationExtractionApproach.this.type
      
      
      
Fix imbalance of training set
Fix imbalance of training set
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        setFromEntity(beginCol: String, endCol: String, labelCol: String): RelationExtractionApproach.this.type
      
      
      
Set
fromentity - 
      
      
      
        
      
    
      
        final 
        def
      
      
        setInputCols(value: String*): RelationExtractionApproach.this.type
      
      
      
- Definition Classes
 - HasInputAnnotationCols
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        setInputCols(value: Array[String]): RelationExtractionApproach.this.type
      
      
      
- Definition Classes
 - HasInputAnnotationCols
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        setLabelColumn(column: String): RelationExtractionApproach.this.type
      
      
      
Column with label per each document
Column with label per each document
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        setLazyAnnotator(value: Boolean): RelationExtractionApproach.this.type
      
      
      
- Definition Classes
 - CanBeLazy
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        setMaxSyntacticDistance(maxSyntacticDistance: Int): RelationExtractionApproach.this.type
      
      
      
Maximal syntactic distance, as threshold (Default: 0)
 - 
      
      
      
        
      
    
      
        
        def
      
      
        setModelFile(modelFile: String): RelationExtractionApproach.this.type
      
      
      
Set the model file name
Set the model file name
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        setMultiClass(value: Boolean): RelationExtractionApproach.this.type
      
      
      
Sets the model in multi class prediction mode
Sets the model in multi class prediction mode
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        setOutputCol(value: String): RelationExtractionApproach.this.type
      
      
      
- Definition Classes
 - HasOutputAnnotationCol
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        setOutputLogsPath(outputLogsPath: String): RelationExtractionApproach.this.type
      
      
      
Set the output log path
Set the output log path
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        setOverrideExistingLabels(value: Boolean): RelationExtractionApproach.this.type
      
      
      
Controls whether to override already learned labels when using a pretrained model to initialize the new model.
Controls whether to override already learned labels when using a pretrained model to initialize the new model. A value of
truewill override existing labels. - 
      
      
      
        
      
    
      
        
        def
      
      
        setPretrainedModelPath(path: String): RelationExtractionApproach.this.type
      
      
      
Set the location of an already trained RelationExtractionModel, which is used as a starting point for training the new model.
 - 
      
      
      
        
      
    
      
        
        def
      
      
        setRelationDirectionCol(value: String): RelationExtractionApproach.this.type
      
      
      
Set relation direction column
 - 
      
      
      
        
      
    
      
        
        def
      
      
        setScopeWindow(window: (Int, Int)): RelationExtractionApproach.this.type
      
      
      
Max possible length of a sentence.
 - 
      
      
      
        
      
    
      
        
        def
      
      
        setToEntity(beginCol: String, endCol: String, labelCol: String): RelationExtractionApproach.this.type
      
      
      
Set
toentity - 
      
      
      
        
      
    
      
        
        def
      
      
        setValidationSplit(validationSplit: Float): RelationExtractionApproach.this.type
      
      
      
Choose the proportion of training dataset to be validated against the model on each Epoch.
Choose the proportion of training dataset to be validated against the model on each Epoch. The value should be between 0.0 and 1.0 and by default it is 0.0 and off.
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        setlearningRate(lr: Float): RelationExtractionApproach.this.type
      
      
      
Learning Rate
Learning Rate
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        synchronized[T0](arg0: ⇒ T0): T0
      
      
      
- Definition Classes
 - AnyRef
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        toEntityBeginCol: Param[String]
      
      
      
Column for beginning of 'to' entity
 - 
      
      
      
        
      
    
      
        
        val
      
      
        toEntityEndCol: Param[String]
      
      
      
Column for end of 'to' entity
 - 
      
      
      
        
      
    
      
        
        val
      
      
        toEntityLabelCol: Param[String]
      
      
      
Column for 'to' entity label
 - 
      
      
      
        
      
    
      
        
        def
      
      
        toString(): String
      
      
      
- Definition Classes
 - Identifiable → AnyRef → Any
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        train(dataset: Dataset[_], recursivePipeline: Option[PipelineModel]): RelationExtractionModel
      
      
      
- Definition Classes
 - RelationExtractionApproach → GenericClassifierApproach → AnnotatorApproach
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        transformSchema(schema: StructType): StructType
      
      
      
- Definition Classes
 - AnnotatorApproach → PipelineStage
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        transformSchema(schema: StructType, logging: Boolean): StructType
      
      
      
- Attributes
 - protected
 - Definition Classes
 - PipelineStage
 - Annotations
 - @DeveloperApi()
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        uid: String
      
      
      
- Definition Classes
 - RelationExtractionApproach → GenericClassifierApproach → Identifiable
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        validate(schema: StructType): Boolean
      
      
      
- Attributes
 - protected
 - Definition Classes
 - AnnotatorApproach
 
 - 
      
      
      
        
      
    
      
        
        val
      
      
        validationSplit: FloatParam
      
      
      
The proportion of training dataset to be used as validation set.
The proportion of training dataset to be used as validation set.
The model will be validated against this dataset on each Epoch and will not be used for training. The value should be between 0.0 and 1.0.
- Definition Classes
 - GenericClassifierParams
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(): Unit
      
      
      
- Definition Classes
 - AnyRef
 - Annotations
 - @throws( ... )
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(arg0: Long, arg1: Int): Unit
      
      
      
- Definition Classes
 - AnyRef
 - Annotations
 - @throws( ... )
 
 - 
      
      
      
        
      
    
      
        final 
        def
      
      
        wait(arg0: Long): Unit
      
      
      
- Definition Classes
 - AnyRef
 - Annotations
 - @throws( ... ) @native()
 
 - 
      
      
      
        
      
    
      
        
        def
      
      
        write: MLWriter
      
      
      
- Definition Classes
 - DefaultParamsWritable → MLWritable
 
 
Inherited from GenericClassifierApproach
Inherited from CheckLicense
Inherited from HandleExceptionParams
Inherited from GenericClassifierParams
Inherited from AnnotatorApproach[GenericClassifierModel]
Inherited from CanBeLazy
Inherited from DefaultParamsWritable
Inherited from MLWritable
Inherited from HasOutputAnnotatorType
Inherited from HasOutputAnnotationCol
Inherited from HasInputAnnotationCols
Inherited from Estimator[GenericClassifierModel]
Inherited from PipelineStage
Inherited from Logging
Inherited from Params
Inherited from Serializable
Inherited from Serializable
Inherited from Identifiable
Inherited from AnyRef
Inherited from Any
Parameters
Annotator types
Required input and expected output annotator types