Rasa nlu模型不起作用。 AttributeError:“ str”对象没有属性“ load”

时间:2019-04-05 09:52:01

标签: python rasa-nlu

首先,我想说我对这个话题完全陌生。 我试图与Rasa建立一个聊天机器人。 遵循YouTube上的教程时:https://www.youtube.com/watch?v=xu6D_vLP5vY&t=514s 我遇到了nlu_model.py文件的问题。

由于本教程是在前一段时间进行的,因此进行了一些更改。 我尝试了旧版本和新版本,但都无法使用。

from rasa_nlu.training_data import load_data
from rasa_nlu import config
from rasa_nlu.model import Trainer

def train_nlu(data, config, model_dir):
    training_data = load_data(data)
    trainer = Trainer(config.load(configs))
    trainer.train(training_data)
    model_directory = trainer.persist(model_dir, fixed_model_name = 'weathernlu')

if __name__ == '__main__':
    train_nlu('./data/data.json', 'config_spacy.json', './models/nlu')

这是我的nlu_model.py文件

C:\Users\Yannic\Documents\Waetherbot>python nlu_model.py
Traceback (most recent call last):
  File "nlu_model.py", line 12, in <module>
    train_nlu('./data/data.json', 'config_spacy.json', './models/nlu')
  File "nlu_model.py", line 7, in train_nlu
    trainer = Trainer(config.load(configs))
AttributeError: 'str' object has no attribute 'load'

这是我的Shell输出。 我真的希望我能得到一些帮助。

1 个答案:

答案 0 :(得分:0)

config是从rasa_nlu导入的模块,但是您在函数中使用参数config对其进行了阴影处理。我认为您打算将函数参数命名为configs

固定代码:

from rasa_nlu.training_data import load_data
from rasa_nlu import config
from rasa_nlu.model import Trainer

def train_nlu(data, configs, model_dir):
    training_data = load_data(data)
    trainer = Trainer(config.load(configs))
    trainer.train(training_data)
    model_directory = trainer.persist(model_dir, fixed_model_name = 'weathernlu')

if __name__ == '__main__':
    train_nlu('./data/data.json', 'config_spacy.json', './models/nlu')