def test_drop_intents_below_freq(): td = training_data.load_data('data/examples/rasa/demo-rasa.json') clean_td = drop_intents_below_freq(td, 0) assert clean_td.intents == {'affirm', 'goodbye', 'greet', 'restaurant_search'} clean_td = drop_intents_below_freq(td, 10) assert clean_td.intents == {'affirm', 'restaurant_search'}
def test_drop_intents_below_freq(): td = training_data.load_data('data/examples/rasa/demo-rasa.json') clean_td = drop_intents_below_freq(td, 0) assert clean_td.intents == {'affirm', 'goodbye', 'greet', 'restaurant_search'} clean_td = drop_intents_below_freq(td, 10) assert clean_td.intents == {'affirm', 'restaurant_search'}
def cross_validation(data_path, config_path): # same as rasa_nlu's evaluate interface data = training_data.load_data(data_path) data = drop_intents_below_freq(data, cutoff=5) # same as rasa_nlu's evaluate interface default_folds = 10 # same as rasa_nlu's evaluate interface nlu_config = config.load(config_path) intent_results, entity_results = run_cv_evaluation(data, default_folds, nlu_config) template_result = { 'intent': { 'train': {}, 'test': {} }, 'entity': { 'train': {}, 'test': {} }, } set_template_result(intent_results.train, template_result['intent']['train']) set_template_result(intent_results.test, template_result['intent']['test']) set_template_result(entity_results.train.values()[0], template_result['entity']['train']) set_template_result(entity_results.test.values()[0], template_result['entity']['test']) return template_result