Создаем свою нейросеть для оценки отзыва на товар
Задумывались ли вы, как создать свою нейросеть для работы с текстом? Если да, то в этом посте мы будем создавать свою нейросеть, которая будет сокращать текст и выставлять оценку товару. Эта статья рассчитана на людей, которые могут читать код на языке python и знают как можно установить нужный пакет. Для остальных есть больше постов у меня в телеграм канале, которые помогут понять этот материал, так же там есть все файлы и небольшой набор отзывов для обучения модели.
Для упрощения работы нейросеть будет выставлять оценку от 0.0 до 1.0 при этом "хороший" отзыв будет если вернется больше или равно 0.5, всё что меньше будет означать что отзыв "плохой".
Чтобы обучить модель нейросети нам нужен набор отзывов, датасет тут разместить не могу, его можно взять в телеграмме. Так же нам нужно написать код для обучения модели, для этого создаем файл с названием, например train.py, и в самое начало добавляем туда
Затем добавляем блок для обработки нашего датасета, в моем примере у нас 2 колонки в файле product_review - текст отзыва и product_rating - оценка отзыва, обратите внимание, что разделитель ";". А чтобы нейросети было проще обрабатывать оценки мы их преобразуем из 1,2,3 в 0 и 4,5 в 1.
Затем добавляем блок с обработкой текста.
tokenizer.texts_to_sequences преобразует слова в числовые последовательности
pad_sequences выравнивает все тексты до длины 1000, параметром maxlen можно менять эту длину, главное чтобы эта цифра совпадала в блоке создания модели input_length и в файле сервера, иначе будет вылезать ошибка.
Затем добавляем блок создания модели:
Немного про модель:
- Использует Embedding для преобразования текста в числовые векторы
- LSTM для анализа последовательности слов
- Sigmoid для бинарного предсказания (0-1)
Важный параметр epochs отвечает за количество эпох/итераций при обучении нейросети, чем их больше, тем модель точнее, но после определенного количества(индивидуально) результат меняться не будет.
Еще можно усложнить модель и заменить например на:
И теперь нам нужно указать куда и в каком формате сохранять нашу модель:
Теперь нужно запустить наш файл train.py командой:
Файл с отзывами должен быть расположен рядом с train.py.
Теперь перейдем к запуску обученной нами модели, для этого можно сделать простой сервер на flask, для этого сохраняем код в файл server.py
Модель и файл сервера должны находиться в одной папке, запускаем наш сервер командой:
Теперь отправляем запрос например через терминал, командой:
Теперь модель работает, мы это сделали, мы молодцы!