def load(cls, model_dir=None, # type: Optional[Text] model_metadata=None, # type: Optional[Metadata] cached_component=None, # type: Optional[EntitySynonymMapper] **kwargs # type: **Any ): # type: (...) -> EntitySynonymMapper meta = model_metadata.for_component(cls.name) file_name = meta.get("synonyms_file", ENTITY_SYNONYMS_FILE_NAME) entity_synonyms_file = os.path.join(model_dir, file_name) if os.path.isfile(entity_synonyms_file): synonyms = utils.read_json_file(entity_synonyms_file) else: synonyms = None warnings.warn("Failed to load synonyms file from '{}'" "".format(entity_synonyms_file)) lookuptables_filename = meta.get("lookup_tables_file", ENTITY_LOOKUPTABLES_FILE_NAME) entity_lookuptables_file = os.path.join(model_dir, lookuptables_filename) if os.path.isfile(entity_lookuptables_file): lookup_tables = utils.read_json_file(entity_lookuptables_file) else: lookup_tables = None warnings.warn("Failed to load lookup_tables file from '{}'" "".format(entity_lookuptables_file)) return EntitySynonymMapper(meta, synonyms,lookup_tables)
def _read_examples_js(self, fn, language, fformat): """Infer and load the example file based on the root filename and root format.""" examples_type = "usersays" if fformat == DIALOGFLOW_INTENT else "entries" examples_fn_ending = "_{}_{}.json".format(examples_type, language) examples_fn = fn.replace(".json", examples_fn_ending) if os.path.isfile(examples_fn): return utils.read_json_file(examples_fn) else: return None
def load(cls, model_dir: Optional[Text] = None, model_metadata: Optional['Metadata'] = None, cached_component: Optional['RegexFeaturizer'] = None, **kwargs: Any) -> 'RegexFeaturizer': meta = model_metadata.for_component(cls.name) file_name = meta.get("regex_file", REGEX_FEATURIZER_FILE_NAME) regex_file = os.path.join(model_dir, file_name) if os.path.exists(regex_file): known_patterns = utils.read_json_file(regex_file) return RegexFeaturizer(meta, known_patterns=known_patterns) else: return RegexFeaturizer(meta)
def load(model_dir): # type: (Text) -> 'Metadata' """Loads the metadata from a models directory. Args: model_dir (str): the directory where the model is saved. Returns: Metadata: A metadata object describing the model """ try: metadata_file = os.path.join(model_dir, 'metadata.json') data = utils.read_json_file(metadata_file) return Metadata(data, model_dir) except Exception as e: abspath = os.path.abspath(os.path.join(model_dir, 'metadata.json')) raise InvalidProjectError("Failed to load model metadata " "from '{}'. {}".format(abspath, e))
def load( cls, model_dir=None, # type: Optional[Text] model_metadata=None, # type: Optional[Metadata] cached_component=None, # type: Optional[RegexFeaturizer] **kwargs # type: **Any ): # type: (...) -> RegexFeaturizer meta = model_metadata.for_component(cls.name) file_name = meta.get("regex_file", REGEX_FEATURIZER_FILE_NAME) regex_file = os.path.join(model_dir, file_name) if os.path.exists(regex_file): known_patterns = utils.read_json_file(regex_file) return RegexFeaturizer(meta, known_patterns=known_patterns) else: return RegexFeaturizer(meta)
def read(self, fn, **kwargs): # type: ([Text]) -> TrainingData """Loads training data stored in the Dialogflow data format.""" language = kwargs["language"] fformat = kwargs["fformat"] if fformat not in {DIALOGFLOW_INTENT, DIALOGFLOW_ENTITIES}: raise ValueError("fformat must be either {}, or {}".format( DIALOGFLOW_INTENT, DIALOGFLOW_ENTITIES)) root_js = utils.read_json_file(fn) examples_js = self._read_examples_js(fn, language, fformat) if not examples_js: logger.warning( "No training examples found for dialogflow file {}!".format( fn)) return TrainingData() elif fformat == DIALOGFLOW_INTENT: return self._read_intent(root_js, examples_js) elif fformat == DIALOGFLOW_ENTITIES: return self._read_entities(examples_js)