Rasa Core - не может получить доступ к действию templateName, так как это имя не зарегистрировано для данного домена - PullRequest
0 голосов
/ 19 апреля 2019

Я создаю свой первый чат-бот, используя Rasa NLU и Rasa Core в Python 3.6.7

Все работало хорошо.Я добавил несколько новых высказываний в раздел шаблонов файла домена и написал несколько историй, чтобы использовать эти высказывания.Теперь ни один из новых шаблонов не работает, и обучение модели выдает следующую ошибку:

File "dialogue_management_model.py", line 46, in <module>
    train_dialogue()
  File "dialogue_management_model.py", line 31, in train_dialogue
    augmentation_factor = 50)
  File "/home/pprasai/anaconda3/envs/nluenv/lib/python3.6/site-packages/rasa_core/agent.py", line 268, in train
    **kwargs)
  File "/home/pprasai/anaconda3/envs/nluenv/lib/python3.6/site-packages/rasa_core/policies/ensemble.py", line 72, in train
    policy.train(training_trackers, domain, **kwargs)
  File "/home/pprasai/anaconda3/envs/nluenv/lib/python3.6/site-packages/rasa_core/policies/memoization.py", line 152, in train
    self._add(trackers_as_states, trackers_as_actions, domain)
  File "/home/pprasai/anaconda3/envs/nluenv/lib/python3.6/site-packages/rasa_core/policies/memoization.py", line 108, in _add
    feature_item = domain.index_for_action(action)
  File "/home/pprasai/anaconda3/envs/nluenv/lib/python3.6/site-packages/rasa_core/domain.py", line 151, in index_for_action
    self._raise_action_not_found_exception(action_name)
  File "/home/pprasai/anaconda3/envs/nluenv/lib/python3.6/site-packages/rasa_core/domain.py", line 159, in _raise_action_not_found_exception
    "Available actions are: \n{}".format(action_name, actions))
Exception: Can not access action 'utter_ask_email_send', as that name is not a registered action for this domain. Available actions are: 
     - action_check_ao
     - action_default_fallback
     - action_listen
     - action_restart
     - action_restaurant
     - action_send_mail
     - utter_ask_budget
     - utter_ask_cuisine
     - utter_ask_howcanhelp
     - utter_ask_location
     - utter_default
     - utter_goodbye
     - utter_greet
     - utter_unsupported_city

Новые созданные мной шаблоны не отображаются в этом списке.Ниже приводится выдержка из моих шаблонов:

templates: 
  utter_sending_email: 
    - "An email is being sent."
  utter_ask_email_send: 
    - "Would you like me to send you an email with details?"
  utter_ask_email_address: 
    - "Could you please tell me your email address?"
  utter_invalid_email: 
    - "It seems you might have entered an invalid email. Would you like to try again?"
  utter_greet: 
    - "hey there! How may i help you"
    - "Hi, How can I help you!"
    - "Hey, How is it going. How May I help you Today"
  utter_goodbye: 
    - "goodbye :("
    - "Bye-bye"
  utter_default: 
    - "I could not process you last query. I am terribly sorry."

И вот как я использую их в файле историй:

* greet
    - utter_greet
* restaurant_search
    - utter_ask_location
* restaurant_search{"location": "tokyo", "cuisine": "chinese"}
    - slot{"location": "tokyo"}
    - slot{"cuisine": "chinese"}
    - utter_ask_budget
* restaurant_search{"budget": "economy"}
    - slot{"budget": "ecnnomy"}
    - action_search_restaurant
    - utter_ask_email_send
* small_talk
    - utter_sending_email
    - utter_invalid_email
* deny
    - utter_goodbye

Я использую Rasa Core version 0.10.1.Может ли кто-нибудь помочь мне разобраться с этим?

ПРИМЕЧАНИЕ Удаление историй с новыми шаблонами устранит ошибку, и обучение будет успешно выполнено.Поэтому я думаю, что ошибка должна быть либо в файле истории, либо в файле домена.

1 Ответ

0 голосов
/ 19 апреля 2019

Это было очень глупо с моей стороны.Я не упомянул новые шаблоны в разделе actions моего domail.yml файла.Добавление utter_ask_email_send в раздел actions решило проблему.Возможно, теперь я никогда не забуду.

...