1.26M
Category: internetinternet

Применение методов искусственного интеллекта для обучения диалогового бота на текстах из социальных сетей

1.

Федеральное государственное автономное образовательное учреждение
высшего профессионального образования
«Казанский (Приволжский) федеральный университет»
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
Применение методов искусственного интеллекта
для обучения диалогового бота на текстах из
социальных сетей
Тукбаева Тансылу Зуфаровна
студент 4 курса, группы 09-961
Гафаров Фаиль Мубаракович
кандидат физико-математических наук, доцент
Казань-2023

2.

Актуальность
Обучение диалогового бота — это один из самых перспективных
проектов в области технологий машинного обучения. Его
инновационность заключается в создании бота с применением
передовых технологий и алгоритмов. Внедрение в жизнь чат-бота
принесет много пользы и упростит жизнь многих людей.

3.

Цель работы
Создание бота, основанного на предварительно обученных текстах
из социальных сетей и способного разговаривать с пользователями
и обрабатывать запросы.
Задачи
Изучение методов искусственного интеллекта;
Получение данных из цифровой среды;
Формирование функций для диалогового бота;
Реализация бота, обученного на текстах из социальной
сети.

4.

Используемые технологии
Для разработки диалогового бота использовался язык Python.
Основными инструментами языка для разработки являются
пакеты библиотеки Scikit-learn.
Для интеграции Python и социальной сети Vk использовалась
библиотека vk_api.
Написание скриптов, их тестирование и отладка производилась
в среде разработки для языка Python - PyCharm.

5.

Этапы работы
1. Настройка диалогового бота
Создание бота в Vk
Инициализация бота при помощи получения доступа к API ВКонтакте
Создание программы бота через LongPoolVK

6.

2. Сбор данных
Для обучения диалогового бота на текстах из социальных сетей
требуется большое количество данных. Основное место в разработке чатбота — это получение реалистичных, ориентированных на задачи
диалоговых данных для обучения этих систем с помощью методов
машинного обучения.
Скачивание архива сообщений было выполнено на площадке Vkontakte в
разделе «Порядок управления данными», скачивание информации из
сообществ — в программе с помощью метода vk.wall.get.

7.

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

8.

4. Анализ текста с помощью Scikit-Learn
Библиотека Scikit-learn позволяет использовать готовые алгоритмы машинного
обучения. Шаги, необходимые для создания модели классификации текста в Python:
Импорт библиотек
класс LogisticRegression из библиотеки scikit-learn.linear_model
класс TfidfVectorizer из библиотеки sklearn.feature_extraction.text
Предварительная обработка текста
request.lower()
request.strip()
re.sub()
Преобразование текста в числа. Векторизация - общий процесс преобразования
набора текстовых документов в числовые векторы признаков.

9.

Экземпляр TfidfVectorizer с параметрами analyzer="char" и ngram_range=(2, 3))
fit_transform() - преобразование за один шаг
Модель классификации обучающего текста и прогнозирование настроения.
Классификация текстов - процесс классификации текстовых строк или
документов по различным категориям в зависимости от содержимого строк.
Экземпляр классификатора LogisticRegression
fit() - обучение (тренировка) модели на обучающей выборке

10.

5. Создание дополнительных функций
Определение набора правил и ответов для диалогового бота. В данной работе
были использованы функции, которые позволяли по запросам пользователя
вывести необходимые данные (вывод рецептов и фильмов).
1. Кнопки в диалоге с ботом

11.

Статистика текстов
Количество данных в архиве сообщений составило 3715 файлов. После преобразования
получилось около 178 тысяч строк.
Публикации из сообществ с информацией о фильмах составили 3 тысячи строк.
Рецепты — 5,5 тысяч строк.

12.

Результаты работы
При переходе в диалог с ботом пользователя встречает приветствие. Таким
образом, клиент понимает, какие функции выполняет диалоговый бот.
2. Приветственное сообщение

13.

Разговор с ботом
Бот понимает слова клиента и
разговаривает с ним чётко и
складно. Сообщения от
программы отправляются очень
быстро, что является заметным
плюсом в работе. Запросы
пользователей не ограничены в
лимитах, поэтому клиент может
разговаривать с ботом весь день.
3. Общение с ботом

14.

Получение рецепта
Программа ищет в своей базе
данных определенное блюдо и
выводит в диалог текст
пользователю с ингредиентами и
подробной инструкцией.
4. Пример запроса с рецептом

15.

Получение фильма
Программа получает на вход
название жанра и после выбора
необходимых данных отправляет
информацию пользователю.
Программа понимает просьбу
клиента и успешно выполняет
свою работу.
5. Пример запроса с фильмом

16.

Результаты работы
Изучены методы искусственного интеллекта, которые позволяют
получить наиболее вероятное намерение пользователя и подобрать
ответ на основе поиска максимального совпадения;
Разработан алгоритм получения и обработки текстов, которые позволят
боту эффективно работать с большим объемом данных из социальных
сетей;
Создан диалоговый
пользователей.
бот,
способный
обрабатывать
запросы

17.

Конкурс «Студенческий стартап»
Участие в конкурсе «Студенческий стартап» (очередь III) в
рамках федерального проекта «Платформа университетского
технологического предпринимательства».

18.

Спасибо за внимание!
Тукбаева Тансылу Зуфаровна
студент 4 курса, группы 09-961
English     Русский Rules