Мы создадим классификатор с использованием Keras, чтобы различать положительные и отрицательные настроения для фильмов. Затем мы загрузим модель в браузер для предсказания пользователя.

Код

Я создал репозиторий на GitHub с кодом, необходимым для следования руководству. Если вы заметили какую-либо ошибку или столкнулись с какими-либо проблемами, поднимите вопрос здесь.

Набор данных

Мы будем использовать набор данных для классификации настроений. Набор данных содержит 7086 утверждения о фильмах с метками. метка 1 означает позитивное настроение, а 0 означает негативное мнение.

Предварительная обработка данных

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

Затем после этого нам нужно будет создать словарь word_index, который будет отображать слова в целые числа для встраивания. Обратите внимание, что длина словаря может быть огромной, поэтому мы считаем количество каждого слова в обучающем наборе и включаем только слова, которые повторяются больше некоторого порога.

Метод процесса будет создавать слова из утверждений, удаляя знаки препинания.

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

Теперь мы можем создать последовательность целых чисел, используя наш словарь word_index. Обратите внимание, что мы создаем фиксированное количество последовательностей длиной max_tokens, которые имеют наибольшее количество токенов. Мы используем предварительное заполнение, так как это дает лучшие результаты

Теперь мы готовы создать модель кераса. Первый слой - это встраиваемый слой. Далее следуем 3 слоями ГРУ. Наконец, мы создаем плотный слой с сигмовидной активацией. Компилируем модель с помощью оптимизатора Adam

Затем мы обучаем модель для 5 эпох с 5% разбиением для проверки с размером пакета 32.

Мы достигаем точности 97% на наборе для проверки.

Мы можем увидеть сводку модели, используя

Сохраним модель в формате .h5

Теперь, когда мы закончили с моделью, мы импортируем ее для запуска в браузере. Сначала нам нужно преобразовать его в формат json. Перед этим шагом вам нужно будет установить инструменты tensorflowjs, используя

Преобразуйте модель keras в модель, понятную tensorflowjs

Это создаст один файл json, который содержит мета-переменные и некоторые другие переменные с именами типа group1-shard1of1, который содержит вычисленные значения весов.

Перенос модели в браузер

Для простой обработки загрузим словарь, сгенерированный кодом keras.

Следовательно, word_index теперь будет содержать то же слово и индексную пару, что и в предыдущем разделе. После этого нам нужно создать несколько вспомогательных методов для обработки текста, tokenize он затем сопоставит его с целыми числами с помощью словаря.

Теперь мы можем загрузить это в браузер с помощью tensorflow.js

Наконец, мы объединяем все шаги одним методом

Используя образец текста, мы получаем значение прогноза 0.98 , которое очень близко к 1.

использованная литература