AttributeError: 'NoneType' object has no attribute 'get' on rasa.com and tensorflow backend

AttributeError: 'NoneType' object has no attribute 'get' on rasa.com and tensorflow backend

我正在使用 rasa.com、apixu、api.slack 研究聊天机器人。但是当时想要训练数据,像这样平均出错误。 你能帮我解决这个问题吗?

顺便说下我用的是anaconda3,python3.6.


C:\Program Files\Anaconda3>python train_init.py

C:\Program Files\Anaconda3\lib\site-packages\h5py__init__.py:34:FutureWarning:将 issubdtype 的第二个参数从 float 转换为 np.floating已弃用。以后会被当作np.float64 == np.dtype(float).type.

from ._conv import register_converters as _register_converters

使用 TensorFlow 后端。

回溯(最后一次调用): 文件 "train_init.py",第 17 行,位于 agent = Agent('weather_domain.yml', policies = [MemoizationPolicy(), KerasPolicy()])

文件 "C:\Program Files\Anaconda3\lib\site-packages\rasa_core\agent.py",第 42 行,在 init

self.domain = self._create_domain(domain)

文件 "C:\Program Files\Anaconda3\lib\site-packages\rasa_core\agent.py",第 237 行,在 _create_domain

return TemplateDomain.load(domain)

文件 "C:\Program Files\Anaconda3\lib\site-packages\rasa_core\domain.py",第 435 行,加载中

slots = cls.collect_slots(data.get("slots", {}))

文件 "C:\Program Files\Anaconda3\lib\site-packages\rasa_core\domain.py",第 479 行,在 collect_slots

slot_class = Slot.resolve_by_type(slot_dict[slot_name].get("type"))

AttributeError: 'NoneType' 对象没有属性 'get'

在你的例子中 slot_dict[slot_name]None。确保它不是 None 而是某个对象。 这是以简化方式反映在您的场景中发生的情况的相同错误:

>>> d = {'key': None}
>>> d['key'].get('type')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute 'get'