I tried to create my first chatbot on my own with the help of Rasa and this tutorial .
p>He proposes to use Spacy , a library for advanced processing of natural language in Python
mike@mike-thinks:~/Programing/Rasa_tutorial/rasa_nlu$ python -m rasa_nlu.train -c config_spacy.json
usage: train.py [-h] [-o PATH] (-d DATA | -u URL) -c CONFIG [-t NUM_THREADS]
[--project PROJECT] [--fixed_model_name FIXED_MODEL_NAME]
[--storage STORAGE] [--debug] [-v]
train.py: error: one of the arguments -d/--data -u/--url is required
mike@mike-thinks:~/Programing/Rasa_tutorial/rasa_nlu$ python3 -m rasa_nlu.train -c config_spacy.json
Traceback (most recent call last):
File "/usr/lib/python3.5/runpy.py", line 184, in _run_module_as_main
"__main__", mod_spec)
File "/usr/lib/python3.5/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/mike/Programing/Rasa_tutorial/rasa_nlu/rasa_nlu/train.py", line 14, in <module>
from rasa_nlu import utils, config
File "/home/mike/Programing/Rasa_tutorial/rasa_nlu/rasa_nlu/utils/__init__.py", line 19, in <module>
from future.utils import PY3
ImportError: No module named 'future'
While trying to analyze my problem very "veterinary clinic" I looked at the file train.py of rasal_nlu
from __future__ import a...
import argparse
import logging
import typing
from typing ...
from rasa_nlu import ...
...
def create_argument_parser():
parser = argparse.ArgumentParser(
description='train a custom language parser')
parser.add_argument('-o', '--path',
default=None,
help="Path where model files will be saved")
group = parser.add_mutually_exclusive_group(required=True)
group.add_argument('-d', '--data',
default=None,
help="Location of the training data. For JSON and "
"markdown data, this can either be a single file "
"or a directory containing multiple training "
"data files.")
group.add_argument('-u', '--url',
default=None,
help="URL from which to retrieve training data.")
parser.add_argument('-c', '--config',
required=True,
help="Rasa NLU configuration file")
...
return parser
class TrainingException(Exception):
...
return self.message
def create_persistor(persistor):
...
return None
def do_train_in_worker(cfg, # type: RasaNLUModelConfig
data, # type: Text
path, # type: Text
project=None, # type: Optional[Text]
fixed_model_name=None, # type: Optional[Text]
storage=None, # type: Text
component_builder=None
# type: Optional[ComponentBuilder]
):
...
def do_train(cfg, # type: RasaNLUModelConfig
data, # type: Text
path=None, # type: Optional[Text]
project=None, # type: Optional[Text]
fixed_model_name=None, # type: Optional[Text]
storage=None, # type: Optional[Text]
component_builder=None, # type: Optional[ComponentBuilder]
url=None, # type: Optional[Text]
**kwargs # type: Any
...
return trainer, interpreter, persisted_path
if __name__ == '__main__':
cmdline_args = create_argument_parser().parse_args()
utils.configure_colored_logging(cmdline_args.loglevel)
do_train(config.load(cmdline_args.config),
cmdline_args.data,
cmdline_args.path,
cmdline_args.project,
cmdline_args.fixed_model_name,
cmdline_args.storage,
url=cmdline_args.url,
num_threads=cmdline_args.num_threads)
logger.info("Finished training")
I came to the conclusion that I had to give .JSON to the train.py file as an argument. However, when I gave him a complete file:
mike@mike-thinks:~/Programing/Rasa_tutorial/rasa_nlu/data/test$ ls
demo-rasa-noents.json dialogflow_en_converted_to_rasa.json luis_converted_to_rasa.json multiple_files_json
demo-rasa-small.json dialogflow_es_converted_to_rasa.json markdown_single_sections multiple_files_markdown
demo-rasa-zh.json json_converted_to_md.md md_converted_to_json.json wit_converted_to_rasa.json
he did not accept it:
mike@mike-thinks:~/Programing/Rasa_tutorial/rasa_nlu$ python -m rasa_nlu.train -d/--data ~/Programing/Rasa_tutorial/rasa_nlu/data/test/*.json -c config_spacy.json
usage: train.py [-h] [-o PATH] (-d DATA | -u URL) -c CONFIG [-t NUM_THREADS]
[--project PROJECT] [--fixed_model_name FIXED_MODEL_NAME]
[--storage STORAGE] [--debug] [-v]
train.py: error: unrecognized arguments: /home/mike/Programing/Rasa_tutorial/rasa_nlu/data/test/demo-rasa-noents.json /home/mike/Programing/Rasa_tutorial/rasa_nlu/data/test/demo-rasa-small.json /home/mike/Programing/Rasa_tutorial/rasa_nlu/data/test/demo-rasa-zh.json /home/mike/Programing/Rasa_tutorial/rasa_nlu/data/test/dialogflow_en_converted_to_rasa.json /home/mike/Programing/Rasa_tutorial/rasa_nlu/data/test/dialogflow_es_converted_to_rasa.json /home/mike/Programing/Rasa_tutorial/rasa_nlu/data/test/luis_converted_to_rasa.json /home/mike/Programing/Rasa_tutorial/rasa_nlu/data/test/md_converted_to_json.json /home/mike/Programing/Rasa_tutorial/rasa_nlu/data/test/wit_converted_to_rasa.json