Specify train/test file in rasa train/test nlu

it seems like rasa train nlu or rasa test nlu takes all the files in data folder by default and treat as train/test set. I’m not sure how rasa picks up the train/test files and split the train/test accordingly.

Personally I’m looking for a way to specify train file and test file on the command line, something along the line of

rasa train nlu --train data/train.json --val data/test.json
rasa test nlu --test data/test.json

I was unable to find such thing in the documentation. Could someone point me to the right direction? Thanks.

Hi @wakandan, the way rasa test nlu tests is that if you do not provide a model, it will use cross validation; if you do provide a model, it will evaluate that model on the provided data. So what I would suggest in this case is creating subfolders (or just files in your data folder, but adjust the paths if necessary:

rasa train nlu --nlu data/train
rasa test nlu -m models/<timestamp> --nlu data/test

(you can also just use -m models to get the most recent model in the directory instead of putting in the timestamp)

2 Likes