示例#1
0
def test_train_model(pipeline_template, component_builder):
    _config = utilities.base_test_conf(pipeline_template)
    (trained, persisted_path) = utilities.run_train(_config, component_builder)
    assert trained.pipeline
    loaded = utilities.load_interpreter_for_model(_config, persisted_path, component_builder)
    assert loaded.pipeline
    assert loaded.parse("hello", time=None) is not None
def test_train_model(pipeline_template, component_builder):
    _config = utilities.base_test_conf(pipeline_template)
    (trained, persisted_path) = utilities.run_train(_config, component_builder)
    assert trained.pipeline
    loaded = utilities.load_interpreter_for_model(_config, persisted_path,
                                                  component_builder)
    assert loaded.pipeline
示例#3
0
def test_train_model_multithread(pipeline_template, interpreter_builder):
    _config = utilities.base_test_conf(pipeline_template)
    _config['num_threads'] = 2
    (trained, persisted_path) = utilities.run_train(_config)
    assert trained.pipeline
    loaded = utilities.load_interpreter_for_model(_config, persisted_path,
                                                  interpreter_builder)
    assert loaded.pipeline
示例#4
0
def test_train_model_noents(pipeline_template, interpreter_builder):
    _config = utilities.base_test_conf(pipeline_template)
    _config['data'] = "./data/examples/rasa/demo-rasa-noents.json"
    (trained, persisted_path) = utilities.run_train(_config)
    assert trained.pipeline
    loaded = utilities.load_interpreter_for_model(_config, persisted_path,
                                                  interpreter_builder)
    assert loaded.pipeline
示例#5
0
def test_load_and_persist_without_train(component_builder):
    _config = utilities.base_test_conf("all_components")
    trainer = Trainer(_config, component_builder)
    persistor = create_persistor(_config)
    persisted_path = trainer.persist(_config['path'], persistor, model_name=_config['name'])
    loaded = utilities.load_interpreter_for_model(_config, persisted_path, component_builder)
    assert loaded.pipeline
    assert loaded.parse("hello", time=None) is not None
示例#6
0
def test_train_model_noents(component_builder):
    _config = utilities.base_test_conf("all_components")
    _config['data'] = "./data/examples/rasa/demo-rasa-noents.json"
    (trained, persisted_path) = utilities.run_train(_config, component_builder)
    assert trained.pipeline
    loaded = utilities.load_interpreter_for_model(_config, persisted_path, component_builder)
    assert loaded.pipeline
    assert loaded.parse("hello", time=None) is not None
示例#7
0
def test_train_model(pipeline_template, component_builder):
    _config = utilities.base_test_conf(pipeline_template)
    (trained, persisted_path) = utilities.run_train(_config, component_builder)
    assert trained.pipeline
    loaded = utilities.load_interpreter_for_model(_config, persisted_path, component_builder)
    assert loaded.pipeline
    assert loaded.parse("hello") is not None
    assert loaded.parse("Hello today is Monday, again!") is not None
示例#8
0
def test_train_backend(backend_name):
    _config = base_test_conf(backend_name)
    (trained, persisted_path) = utilities.run_train(_config)
    assert trained.entity_extractor is not None
    assert trained.intent_classifier is not None
    loaded = utilities.load_interpreter_for_model(_config, persisted_path)
    assert loaded.extractor is not None
    assert loaded.classifier is not None
示例#9
0
def test_train_model_multithread(component_builder):
    _config = utilities.base_test_conf("all_components")
    _config['num_threads'] = 2
    (trained, persisted_path) = utilities.run_train(_config, component_builder)
    assert trained.pipeline
    loaded = utilities.load_interpreter_for_model(_config, persisted_path, component_builder)
    assert loaded.pipeline
    assert loaded.parse("hello", time=None) is not None
示例#10
0
def test_train_model_noents(component_builder):
    _config = utilities.base_test_conf("all_components")
    _config['data'] = "./data/examples/rasa/demo-rasa-noents.json"
    (trained, persisted_path) = utilities.run_train(_config, component_builder)
    assert trained.pipeline
    loaded = utilities.load_interpreter_for_model(_config, persisted_path,
                                                  component_builder)
    assert loaded.pipeline
    assert loaded.parse("hello", time=None) is not None
示例#11
0
def test_train_model_multithread(component_builder):
    _config = utilities.base_test_conf("all_components")
    _config['num_threads'] = 2
    (trained, persisted_path) = utilities.run_train(_config, component_builder)
    assert trained.pipeline
    loaded = utilities.load_interpreter_for_model(_config, persisted_path,
                                                  component_builder)
    assert loaded.pipeline
    assert loaded.parse("hello", time=None) is not None
示例#12
0
def test_load_and_persist_without_train(component_builder):
    _config = utilities.base_test_conf("all_components")
    trainer = Trainer(_config, component_builder)
    persistor = create_persistor(_config)
    persisted_path = trainer.persist(_config['path'], persistor, model_name=_config['name'])
    loaded = utilities.load_interpreter_for_model(_config, persisted_path, component_builder)
    assert loaded.pipeline
    assert loaded.parse("hello") is not None
    assert loaded.parse("Hello today is Monday, again!") is not None
示例#13
0
def test_train_model_noents(component_builder):
    _config = utilities.base_test_conf("all_components")
    _config['data'] = "./data/examples/mynlu/demo-mynlu-noents.json"
    (trained, persisted_path) = utilities.run_train(_config, component_builder)
    assert trained.pipeline
    loaded = utilities.load_interpreter_for_model(_config, persisted_path, component_builder)
    assert loaded.pipeline
    assert loaded.parse("hello") is not None
    assert loaded.parse("Hello today is Monday, again!") is not None
示例#14
0
def test_train_backend_noents(backend_name):
    _config = base_test_conf(backend_name)
    _config['data'] = "./data/examples/rasa/demo-rasa-noents.json"
    (trained, persisted_path) = utilities.run_train(_config)
    assert trained.entity_extractor is None
    assert trained.intent_classifier is not None
    loaded = utilities.load_interpreter_for_model(_config, persisted_path)
    assert loaded.extractor is None
    assert loaded.classifier is not None
示例#15
0
def test_train_with_empty_data(component_builder):
    _config = utilities.base_test_conf("all_components")
    trainer = Trainer(_config, component_builder)
    trainer.train(TrainingData())
    persistor = create_persistor(_config)
    persisted_path = trainer.persist(_config['path'], persistor, model_name=_config['name'])
    loaded = utilities.load_interpreter_for_model(_config, persisted_path, component_builder)
    assert loaded.pipeline
    assert loaded.parse("hello") is not None
    assert loaded.parse("Hello today is Monday, again!") is not None
示例#16
0
def test_train_backend_multithread(backend_name, spacy_nlp_en):
    # basic conf
    _config = base_test_conf(backend_name)
    _config['num_threads'] = 2
    (trained, persisted_path) = utilities.run_train(_config)
    assert trained.entity_extractor is not None
    assert trained.intent_classifier is not None
    loaded = utilities.load_interpreter_for_model(spacy_nlp_en, _config,
                                                  persisted_path)
    assert loaded.extractor is not None
    assert loaded.classifier is not None
示例#17
0
def test_train_with_empty_data(component_builder):
    _config = utilities.base_test_conf("all_components")
    trainer = Trainer(_config, component_builder)
    trainer.train(TrainingData())
    persistor = create_persistor(_config)
    persisted_path = trainer.persist(_config['path'],
                                     persistor,
                                     model_name=_config['name'])
    loaded = utilities.load_interpreter_for_model(_config, persisted_path,
                                                  component_builder)
    assert loaded.pipeline
    assert loaded.parse("hello", time=None) is not None
示例#18
0
def test_train_spacy_sklearn_finetune_ner(interpreter_builder):
    _config = utilities.base_test_conf("spacy_sklearn")
    _config['fine_tune_spacy_ner'] = True
    (trained, persisted_path) = utilities.run_train(_config)
    assert trained.pipeline
    loaded = utilities.load_interpreter_for_model(_config, persisted_path,
                                                  interpreter_builder)
    result = loaded.parse(u"I am living in New York now.")
    entities = result['entities']
    # Although the model is trained on restaurant entities, we can use the entities (`GPE`, `DATE`)
    # from spacy since we are fine tuning. This should even be the case if the rasa-entity training data changes!
    assert {
        u'start': 15,
        u'end': 23,
        u'value': u'New York',
        u'entity': u'GPE'
    } in entities