Rasa nlu model is not working. AttributeError: 'str' object has no attribute 'load'

Rasa nlu model is not working. AttributeError: 'str' object has no attribute 'load'

首先我想说我对这个话题完全陌生。 我试图用 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 输出。 我真的希望我能得到一些帮助。

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')