def from_config( cls, config: Config, feature_config: ModelInputConfig, target_config: TargetConfig, **kwargs, ): """Factory method to construct an instance of ContextualIntentSlotModelDataHandler object from the module's config, model input config and target config. Args: config (Config): Configuration object specifying all the parameters of ContextualIntentSlotModelDataHandler. feature_config (ModelInputConfig): Configuration object specifying model input. target_config (TargetConfig): Configuration object specifying target. Returns: type: An instance of ContextualIntentSlotModelDataHandler. """ features: Dict[str, Field] = create_fields( feature_config, { ModelInput.TEXT: TextFeatureField, ModelInput.DICT: DictFeatureField, ModelInput.CHAR: CharFeatureField, ModelInput.CONTEXTUAL_TOKEN_EMBEDDING: ContextualTokenEmbeddingField, ModelInput.SEQ: SeqFeatureField, ModelInput.DENSE: FloatVectorField, }, ) # Label fields. labels: Dict[str, Field] = create_label_fields( target_config, { DocLabelConfig._name: DocLabelField, WordLabelConfig._name: WordLabelField, }, ) extra_fields: Dict[str, Field] = { ExtraField.DOC_WEIGHT: FloatField(), ExtraField.WORD_WEIGHT: FloatField(), ExtraField.RAW_WORD_LABEL: RawField(), ExtraField.TOKEN_RANGE: RawField(), ExtraField.UTTERANCE: RawField(), } kwargs.update(config.items()) return cls( raw_columns=config.columns_to_read, labels=labels, features=features, extra_fields=extra_fields, **kwargs, )
def from_config( cls, config: Config, feature_config: ModelInputConfig, target_config: TargetConfig, **kwargs, ): features: Dict[str, Field] = create_fields( feature_config, { ModelInput.TEXT1: TextFeatureField, ModelInput.TEXT2: TextFeatureField }, ) assert len(features) == 2 # share the processing field features[ModelInput.TEXT2] = features[ModelInput.TEXT1] labels: Dict[str, Field] = create_label_fields( target_config, {DocLabelConfig._name: DocLabelField}) extra_fields: Dict[str, Field] = { ExtraField.UTTERANCE_PAIR: RawField() } kwargs.update(config.items()) return cls( raw_columns=config.columns_to_read, labels=labels, features=features, extra_fields=extra_fields, **kwargs, )
def from_config( cls, config: Config, model_input_config: ModelInputConfig, target_config: TargetConfig, **kwargs, ): """ Factory method to construct an instance of `DocClassificationDataHandler` from the module's config object and feature config object. Args: config (DocClassificationDataHandler.Config): Configuration object specifying all the parameters of `DocClassificationDataHandler`. model_input_config (ModelInputConfig): Configuration object specifying all the parameters of the model config. target_config (TargetConfig): Configuration object specifying all the parameters of the target. Returns: type: An instance of `KDDocClassificationDataHandler`. """ model_input_fields: Dict[str, Field] = create_fields( model_input_config, { ModelInput.WORD_FEAT: TextFeatureField, ModelInput.DICT_FEAT: DictFeatureField, ModelInput.CHAR_FEAT: CharFeatureField, ModelInput.PRETRAINED_MODEL_EMBEDDING: PretrainedModelEmbeddingField, }, ) target_fields: Dict[str, Field] = create_label_fields( target_config, {DocLabelConfig._name: DocLabelField}) extra_fields: Dict[str, Field] = {ExtraField.RAW_TEXT: RawField()} if target_config.target_prob: target_fields[Target.TARGET_PROB_FIELD] = RawField() target_fields[Target.TARGET_LOGITS_FIELD] = RawField() if target_config.target_prob: extra_fields[Target.TARGET_LABEL_FIELD] = RawField() kwargs.update(config.items()) return cls( raw_columns=config.columns_to_read, labels=target_fields, features=model_input_fields, extra_fields=extra_fields, **kwargs, )
def from_config( cls, config: Config, feature_config: FeatureConfig, label_configs: Union[DocLabelConfig, WordLabelConfig, List[TargetConfigBase]], **kwargs, ): features: Dict[str, Field] = create_fields( feature_config, { DatasetFieldName.TEXT_FIELD: TextFeatureField, DatasetFieldName.DICT_FIELD: DictFeatureField, DatasetFieldName.CHAR_FIELD: CharFeatureField, DatasetFieldName.DENSE_FIELD: FloatVectorField, DatasetFieldName.PRETRAINED_MODEL_EMBEDDING: PretrainedModelEmbeddingField, }, ) # Label fields. labels: Dict[str, Field] = create_label_fields( label_configs, { DocLabelConfig._name: DocLabelField, WordLabelConfig._name: WordLabelField, }, ) has_word_label = WordLabelConfig._name in labels extra_fields: Dict[str, Field] = { DatasetFieldName.DOC_WEIGHT_FIELD: FloatField(), DatasetFieldName.WORD_WEIGHT_FIELD: FloatField(), DatasetFieldName.TOKEN_RANGE: RawField(), DatasetFieldName.UTTERANCE_FIELD: RawField(), } if has_word_label: extra_fields[DatasetFieldName.RAW_WORD_LABEL] = RawField() kwargs.update(config.items()) return cls( raw_columns=config.columns_to_read, labels=labels, features=features, extra_fields=extra_fields, **kwargs, )