В лекции я рассказываю про то, что из себя представляет машинное обучение, про то, как этим пользоваться на практике и какие могут быть подводные камни, и на примере чат-бота показываю, как можно на практике применять машинное обучение для решения реальных задач.
20. ОБУЧЕНИЕ БЕЗ УЧИТЕЛЯ
ТОЛЬКО ОБЪЕКТЫ
ЦВЕТ
ФОРМА
ТОЛЩИНА
ДЛИНА
ЦВЕТ
ФОРМА
ТОЛЩИНА
ДЛИНА
ЦВЕТ
ФОРМА
ТОЛЩИНА
ДЛИНА
ЦВЕТ
ФОРМА
ТОЛЩИНА
ДЛИНА
ЦВЕТ
ФОРМА
ТОЛЩИНА
ДЛИНА
25. РЕШЕНИЕ ЗАДАЧ
ЭТАПЫ РЕШЕНИЯ ЗАДАЧИ
1. ПОСТАНОВКА ЗАДАЧИ
2. СБОР ДАННЫХ
3. ПОДГОТОВКА ДАННЫХ
4. ВЫБОР И НАСТРОЙКА АЛГОРИТМА
5. ОБУЧЕНИЕ
6. ИСПОЛЬЗОВАНИЕ
36. РЕШЕНИЕ ЗАДАЧ
ПРОВЕРОЧНЫЙ НАБОР ДАННЫХ
60% 20%
УЧЕБНЫЙ НАБОР
(TRAINING SET)
ТЕСТОВЫЙ НАБОР
(TEST SET)
(CROSS-VALIDATION)
20%
ПРОВЕРОЧНЫЙ НАБОР
(CROSS-VALIDATION SET)
СЛУЧАЙНАЯ
ВЫБОРКА
СЛУЧАЙНАЯ ВЫБОРКА
41. РЕШЕНИЕ ЗАДАЧ
РЕШЕНИЕ ПРОБЛЕМ. СЛАБАЯ МОДЕЛЬ
- Больше обучающих данных
- Дополнительные признаки
- Более сложная модель
- Повышение точности алгоритма (регуляризация)
42. РЕШЕНИЕ ЗАДАЧ
РЕШЕНИЕ ПРОБЛЕМ. ПЕРЕОБУЧЕНИЕ
- Меньше признаков
- Более простая модель
- Уменьшение точности алгоритма (регуляризация)
51. РЕШЕНИЕ ЗАДАЧ
РЕШЕНИЕ ПРОБЛЕМ. ДИАГНОСТИКА
КОЛИЧЕСТВО ПРИМЕРОВ
НОРМАЛЬНО ОБУЧЕННАЯ МОДЕЛЬ
ОШИБКА
УЧЕБНЫЙ НАБОР (TRAINING SET)
ПРОВЕРОЧНЫЙ НАБОР (CROSS-VALIDATION SET)
52. РЕШЕНИЕ ЗАДАЧ
РЕШЕНИЕ ПРОБЛЕМ. ДИАГНОСТИКА
КОЛИЧЕСТВО ПРИМЕРОВ
СЛАБАЯ МОДЕЛЬ
ОШИБКА
УЧЕБНЫЙ НАБОР (TRAINING SET)
ПРОВЕРОЧНЫЙ НАБОР (CROSS-VALIDATION SET)
53. РЕШЕНИЕ ЗАДАЧ
РЕШЕНИЕ ПРОБЛЕМ. ДИАГНОСТИКА
КОЛИЧЕСТВО ПРИМЕРОВ
ПЕРЕОБУЧЕНИЕ
ОШИБКА
УЧЕБНЫЙ НАБОР (TRAINING SET)
ПРОВЕРОЧНЫЙ НАБОР (CROSS-VALIDATION SET)
57. ЧАТ-БОТ
ЭТАПЫ РЕШЕНИЯ ЗАДАЧИ
1. Анализ поисковых запросов и сбор данных
2. Обработка текста
3. Составление словаря
4. Генерация обучающих данных
5. Выбор и настройка модели
6. Обучение
7. Использование
58. ЧАТ-БОТ
АНАЛИЗ И СБОР ДАННЫХ
- Люди пишут боту то же, что и в поисковик
- Есть инструменты для аналитики запросов
- Выгружаем аналитику и получаем реальные данные
- Размечаем данные (выделение типов запросов)
- Делим на три части (60/20/20)
59. ЧАТ-БОТ
ОБРАБОТКА ТЕКСТА
- Приведение к одному регистру
- Токенизация (названия городов, даты и т.п.)
- Стемминг
- Удаление всего, кроме слов
- Коррекция
60. ЧАТ-БОТ
ОБРАБОТКА ТЕКСТА. ПРИМЕР
“Здравствуйте!
Я бы хотела купить пару билетиков из москвы в лосанжелес.
В эту пятницу на две недели. Двое взростлых и один ребеночек.
Здоровья вам. “
здравств я бы хо куп пар билет из %city% в %city% в эт %date%
на %period% %adults% и %children% здоров в
62. ЧАТ-БОТ
ГЕНЕРАЦИЯ ОБУЧАЮЩИХ ДАННЫХ
ДЛЯ КАЖДОГО ПРИМЕРА:
1. Обработать текст (как при составлении словаря)
2. Каждое слово заменить на индекс в словаре
3. Сгенерировать обучающий объект (битовый вектор)
4. Назначить обучающему объекту класс
5. Объект-класс – обучающий пример для модели
64. ЧАТ-БОТ
ГЕНЕРАЦИЯ ОБУЧАЮЩИХ ДАННЫХ
хо куп бил из %city% в %city% на %date%
10 3 8 4 1 6 1 25 2
ЗАМЕНА СЛОВ НА ИДЕНТИФИКАТОРЫ ПО СЛОВАРЮ
10 3 8 4 1 16 25 2
67. ЧАТ-БОТ
ВЫБОР И НАСТРОЙКА МОДЕЛИ. ОБУЧЕНИЕ
- Размер словаря – количество признаков объекта
- Типы запросов – классы
- Задача классификации:
- нейронные сети
- SVM
- random forest
…
68. ЧАТ-БОТ
ИСПОЛЬЗОВАНИЕ
1. Получение запроса
2. Определение типа запроса с использованием модели
2.1. Обработка текста
2.2. Замена слов по словарю
2.3. Сборка объекта (битовый вектор)
2.3. Классификация объекта обученной моделью
3. (для поискового запроса) Извлечение параметров поиска
4. Поиск, получение ответа и генерация ответа пользователю