1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xulucky-easy-smarthome

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Система диалогов в сфере домашнего хозяйства

Простое внедрение устройств: кондиционер, шторы, лампы, электрическая плита, вентилятор, микроволновая печь, увлажнитель воздуха. Добавление фиксированных фраз для приветствия и основных функциональных запросов.

Распознавание намерений и извлечение сущностей

*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 — извлечение соответствующих значений слотов на основе действия и ответ, если необходимые значения слотов отсутствуют, то запрос

main.py

# Распознавание намерения и извлечение слотов
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 )

Вы можете оставить комментарий после Вход в систему

Введение

Лёгкие модели NLU и DM, построенные на данных из области домохозяйства. Расширить Свернуть
MulanPSL-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/xulucky-easy-smarthome.git
git@gitlife.ru:oschina-mirror/xulucky-easy-smarthome.git
oschina-mirror
xulucky-easy-smarthome
xulucky-easy-smarthome
master