Простое внедрение устройств: кондиционер, шторы, лампы, электрическая плита, вентилятор, микроволновая печь, увлажнитель воздуха. Добавление фиксированных фраз для приветствия и основных функциональных запросов.
*1 ner_model — модель файла
*2 ner_model_weight — вес модели
*3 forward_ner_model — прямое моделирование
*4 predict_ner — прогнозирование модели
*1 dialogue_pipeline State_Form.py — таблица состояний устройства
*2 dialogue_pipeline get_state.py — получение текущего устройства, передача намерения и слота в таблицу состояний.
Один, модель:
*1 DM_model — файл модели
*2 DM_model_weight — вес модели
*3 forward_DM_model — прямое моделирование
*4 predict_DM — прогнозирование модели
Два, правила:
*1 DM_model construct_story_map.ipynb — построение story_map из набора данных story
*2 actions story_map — сопоставление ввода с набором данных story, при успешном сопоставлении вывод соответствующего действия
*1 actions Action — определение различных ответов
*2 actions Universal_expression — определение фиксированных ответов
*3 actions Run_action — извлечение соответствующих значений слотов на основе действия и ответ, если необходимые значения слотов отсутствуют, то запрос
# Распознавание намерения и извлечение слотов
intent, entities, entities_dic = ner.predict(input_text)
# Определение, является ли намерение болтовнёй или управлением устройством
if re.findall(chatbot, intent):
action = intent
bot_utter = action_basic_run(action)
else:
# Отслеживание состояния, наследование намерения и сущностей
tracker, device, _ = trackers.get_DM_input([intent, entities_dic], device)
# Оценка состояния устройства
flag = trackers.check_device(intent, device_name, state_dic,device)
# Проверка поддержки текущего устройства и заполнения слотов устройства, уменьшение вероятности ошибок ответа
if flag == 0:
action = 'No_device'
bot_utter = action_basic_run(action)
else:
# Оценка возможности сопоставления пути
action, flag_1 = story2action(tracker[1:], stories)
if flag_1 == 0:
action = [DM.predict(tracker)]
print('режим выбора mode')
else:
action = action
print('режим выбора rule')
# Проверка соответствия действия устройству, намерение указывает устройство, наследует предыдущее устройство
action = i2c_check(intent, action, device_name, device)
# Отслеживание состояния, наследование действия
tracker, device, state_dic = trackers.get_DM_input([intent, entities_dic, action], device)
# Ответ системы
bot_utter, flags = action_run(action, state_dic)
# Обновление таблицы состояний, флаги указывают, завершена ли задача, завершение очищает необязательные слоты в таблице состояний
trackers.From_Reset(device, state_dic, flags)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )