Exemplo n.º 1
0
    def create_component(self, component_config: Dict[Text, Any],
                         cfg: RasaNLUModelConfig) -> Component:
        """Tries to retrieve a component from the cache,
        calls `create` to create a new component."""
        from rasa.nlu import registry
        from rasa.nlu.model import Metadata

        try:
            component, cache_key = self.__get_cached_component(
                component_config, Metadata(cfg.as_dict(), None))
            if component is None:
                component = registry.create_component_by_config(
                    component_config, cfg)
                self.__add_to_cache(component, cache_key)
            return component
        except MissingArgumentError as e:  # pragma: no cover
            raise Exception("Failed to create component `{}`. "
                            "{}".format(component_config["name"], e))
Exemplo n.º 2
0
def test_ltp(text):
    message = Message(text)
    component_meta = {
        "name": "ltp",
        "path": "/Users/zhangzhen/data/ltp_data_v3.4.0",
        "lexicon": "lexicon",
        "dimension": {
            "Nh": "PER",
            "Ni": "ORG",
            "Ns": "LOC"
        },
        "class": "litemind.nlu.utils.ltp.LtpHelper"
    }
    model_dir = 'models/coref/model_20190515-150912'
    ltp = ComponentBuilder().load_component(component_meta, model_dir,
                                            Metadata({}, None))
    ltp.process(message)
    pprint.pprint(message.data)
Exemplo n.º 3
0
def test_train_nlu(run_in_simple_project: Callable[..., RunResult]):
    run_in_simple_project(
        "train",
        "nlu",
        "-c",
        "config.yml",
        "--nlu",
        "data/nlu.md",
        "--out",
        "train_models",
    )

    assert os.path.exists("train_models")
    files = rasa.shared.utils.io.list_files("train_models")
    assert len(files) == 1
    assert os.path.basename(files[0]).startswith("nlu-")
    model_dir = model.get_model("train_models")
    assert model_dir is not None
    metadata = Metadata.load(os.path.join(model_dir, "nlu"))
    assert metadata.get("training_data") is None
    assert not os.path.exists(
        os.path.join(model_dir, "nlu",
                     training_data.DEFAULT_TRAINING_DATA_OUTPUT_PATH))
Exemplo n.º 4
0
def test_train_nlu_persist_nlu_data(run_in_default_project):
    run_in_default_project(
        "train",
        "nlu",
        "-c",
        "config.yml",
        "--nlu",
        "data/nlu.md",
        "--out",
        "train_models",
        "--persist-nlu-data",
    )

    assert os.path.exists("train_models")
    files = io_utils.list_files("train_models")
    assert len(files) == 1
    assert os.path.basename(files[0]).startswith("nlu-")
    model_dir = model.get_model("train_models")
    assert model_dir is not None
    metadata = Metadata.load(os.path.join(model_dir, "nlu"))
    assert metadata.get("training_data") is not None
    assert os.path.exists(
        os.path.join(model_dir, "nlu",
                     training_data.DEFAULT_TRAINING_DATA_OUTPUT_PATH))
Exemplo n.º 5
0
def test_builder_load_unknown(component_builder):
    with pytest.raises(Exception) as excinfo:
        component_meta = {"name": "my_made_up_componment"}
        component_builder.load_component(component_meta, "", Metadata({},
                                                                      None))
    assert "Cannot find class" in str(excinfo.value)
Exemplo n.º 6
0
def interpreter_for_model(component_builder, model_dir):
    metadata = Metadata.load(model_dir)
    return Interpreter.create(metadata, component_builder)
Exemplo n.º 7
0
 def _fallback_model(self):
     meta = Metadata({"pipeline": [{
         "name": "KeywordIntentClassifier",
         "class": utils.module_path_from_object(KeywordIntentClassifier())
     }]}, "")
     return Interpreter.create(meta, self._component_builder)
Exemplo n.º 8
0
           "被盗狼青狗特征:是一条1年半的狼青狗,高约60公分,长约80公分,现市场价值2000余元。" \
           "涉案总价值2000余元。案件性质关键词:撬门压锁。, 出生地北京,现居住在新疆"
    text = "小明,男,身高180cm,上个月去北京站坐G22到新疆,与他同行的有30岁的小黑,他们开着一辆白色法拉利逃跑。"
    context = {}
    time = datetime.datetime.now()
    default_output_attributes = {
        "intent": {
            "name": None,
            "confidence": 0.0
        },
        "entities": []
    }
    message = Message(text, data=default_output_attributes, time=time)

    model_dir = './models/link/model_20190517-113416'
    model_metadata = Metadata.load(model_dir)

    jieba_meta = model_metadata.for_component(index=0)
    jie = JiebaTokenizer.load(meta=jieba_meta,
                              model_dir=model_dir,
                              model_metadata=Metadata.load(model_dir))

    pprint.pprint(message.data)
    jie.process(message)

    ltp_meta = model_metadata.for_component(index=5)
    ltp = LtpHelper.load(meta=ltp_meta,
                         model_dir=model_dir,
                         model_metadata=Metadata.load(model_dir))

    pprint.pprint(message.data)