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

问题描述 投票:1回答:1

首先,我想说我对这个话题完全不熟悉。我试图用Rasa构建一个Chatbot。在关注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输出。我真的希望能得到一些帮助。

python rasa-nlu
1个回答
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')
© www.soinside.com 2019 - 2024. All rights reserved.