- •Реферат
- •Содержание
- •Введение
- •Постановка задачи
- •1. Профилирование пользователей
- •2. Работа с веб-данными
- •2.1 Источники данных
- •2.2 Обработка данных
- •3. Содержимое на основе профиля пользователя
- •3.1 Управление данными
- •3.2 Профилирование пользователя для веб-просмотра
- •3.3 Классификация данных профиля пользователя
- •3.3.1 Индексация и предобработка
- •3.3.2 Извлечение термов
- •3.3.3 Взвешивание термов с использованием статистических мер
- •3.3.4 Перевод текста в векторное представление
- •3.4 Кластеризация данных профиля пользователя
- •4. Нейронные сети
- •4.1 Функции активации
- •4.2 Функция потерь
- •5 Сверточные нейронные сети
- •5.1 Архитектура сверточной нейронной сети
- •5.1.1 Полносвязный слой
- •5.1.2 Сверточный слой
- •5.1.3 Cубдискретизирующий слой
- •5.1.4 Dropout слой
- •5.2 Модели использования сверточной нейронной сети для классификации текстов
- •5.2.1 Посимвольный подход
- •5.2.2 Подход c использованием кодирования слов
- •6 Использование сверточной нейронной сети для профилирования
- •6.1 Алгоритм при векторной репрезентации слов и текстов
- •6.2 Алгоритм при семантической репрезентации слов и текстов
- •6.3 Результаты работы алгоритмов
- •Заключение
- •Библиографический список
- •Приложение
- •Продолжение Приложения
- •Продолжение Приложения
- •Продолжение Приложения
- •Продолжение Приложения
- •Продолжение Приложения
- •Продолжение Приложения
- •Продолжение Приложения
- •Продолжение Приложения
- •Продолжение Приложения
- •Продолжение Приложения
- •Продолжение Приложения
- •Продолжение Приложения
- •Продолжение Приложения
- •Продолжение Приложения
- •Продолжение Приложения
6.3 Результаты работы алгоритмов
Тестирование алгоритмов профилирования пользователя проводились на данных указанных в таблице ниже.
Таблица 6.1: Данные
Выборка |
Число классов |
Размер обучающей выборки |
Размер тестовой выборки |
AgNews |
4 |
100.000 |
7600 |
DBPedia |
13 |
500.000 |
60.000 |
Amazon Review Full |
5 |
3.000.000 |
500.000 |
Agnews− новостные интернет-статьи. Объем обучающей выборки 100.000 объектов, объем тестовой выборки 8000 объектов. Статьи необходимо классифицировать на 4 класса − мировые, спортивные, бизнес и научные новости.
DBPedia− название и аннотации статей из Википедии. Объем обучающей выборки 500.000 объектов, объем тестовой выборки 60.000 объектов. Тексты необходимо классифицировать на 13 классов − компания, образовательное учреждение, политик, спортсмен, актер, средство передвижения, здание, природное место, город, животное, художественное произведение, фильм, литературное произведение.
Amazon Review Full − комментарии с сайта Amazon.com. Объем обучающей выборки 3.000.000 объектов, объем тестовой выборки 500.000 объектов. Тексты необходимо классифицировать на 5 классов − отзывы пользователей от отрицательного до положительного по пятибалльной шкале
Параметры использованной свёрточной нейронной сети для работы с представленными алгоритмами были заданы такими: по 128 фильтрам высотой 3, 4 и 5, размер векторов слов n = 256, число эпох обучения = 100. Обучение и тестирование были реализованы на основе работы Denny Britz [8] с использованием библиотеки TensorFlow (www.tensorflow.org).
В качестве алгоритма для сравнения эффективности был выбран стандартный для профилирования пользователей и классификации текстов: Bag of Words & TF IDF.
Таблица 6.2: Результаты
Данные |
Bag of Words & TF IDF |
CW2V |
CSR |
Ag News |
0.878 |
0.861 |
0.925 |
DBPedia |
0.922 |
0.953 |
0.989 |
Amazon Review Full |
0.552 |
0.569 |
0.613 |
Обозначения, использованные в таблице 6.2:
BagofWords&TFIDF– наиболее популярный способ перевода текста в векторное представление с помощью обычной нейронной сети.
CW2V– свёрточная нейронная сетьcкодированием слов и векторной репрезентацией слов с помощью алгоритмаWord2Vec;
CSR– свёрточная нейронная сеть с использованием семантической репрезентации.
Из таблицы 6.2 видно, что точность классификации при использовании сверточных нейронных сетей и конкретно алгоритма семантической репрезентации гораздо выше, чем при использовании алгоритма векторной репрезентации, и тем более они оба превосходят наиболее популярный алгоритм классификации текстов Bag of Words & TF IDF с помощью обычных нейронных сетей. Хоть, тот и показал себя лучше на отдельной выборке по сравнению с алгоритмом векторной репрезентации, однако общая эффективность на всех выбранных данных его значительно ниже, чем разработанные в ходе работы алгоритмы. Это достигается тем, что при разработке данных алгоритмов мы использовали сверточную нейронную сеть, которая имеет указанные преимущества перед полносвязными нейронными сетями:
Гораздо меньшее количество настраиваемых весов, так как одно ядро весов используется целиком для всего текста, вместо того, чтобы делать для каждого слова входного текста свои персональные весовые коэффициенты. Это подталкивает нейросеть при обучении к обобщению демонстрируемой информации, а не по словному запоминанию каждого показанного текстах в мириадах весовых коэффициентов, как это делает персептрон.
Удобное распараллеливание вычислений, а, следовательно, возможность реализации алгоритмов работы и обучения сети на графических процессорах.
Относительная устойчивость к повороту и сдвигу распознаваемого текста.
Обучение при помощи классического метода обратного распространения ошибки, при этом могут быть задействованы и другие методы обучения сети (в том числе и методы «без учителя», например, patch-based training, когда следующий слой свёртки обучается на кусочках уже обученного первого слоя). Также могут быть задействованы другие технологии глубокого обучения: свёрточный авто-ассоциатор, свёрточная версия каскадных машин Больцмана, обучающихся за счёт математического аппарата, свёрточная версия разреженного кодирования (sparce coding), также известная как развёртывающая сеть (deconvolutional networks, DNN) [22].
При этом, эффективность семантической репрезентации над векторной достигается тем, что:
Меньшая деградация векторов слов благодаря проведенной кластеризация векторов с помощью алгоритма k-means.
Получение вектора предложения, а также всего текста, что помогает точнее классифицировать текст по необходимым тематикам.
Получение уникальной сигнатуры конечного документа, а, следовательно, всего профиля пользователя.
Однако, кроме преимуществ, существуют недостатки, по большей части они связаны именно с использованием сверточных нейронных сетей, т.е.:
Более продолжительное время обучения.
Требование большего количества примеров для обучения.
Большая вариативность параметров сети: количество слоёв, размер ядра свёртки для каждого из слоёв, количество ядер для каждого из слоёв, шаг сдвига, необходимость использования слоёв подвыборки, степень уменьшения ими размерности, функция по уменьшению размерности (выбор максимума, среднего и т.п.), передаточная функция нейронов, наличие и параметры выходной полносвязанной нейросети на выходе свёрточной.
Но все эти недостатки решаемы и связаны с вычислительными мощностями, на которых и будет работать сверточная нейросеть с указанными алгоритмами. Так как сейчас идет ежегодный процесс увеличения вычислительных мощностей, данный недостаток в ближайшем времени не будет являться проблемой.
Таким образом, можно смело утверждать, что разработанные алгоритмы показали свою состоятельность и подходят для практического применения в задачах классификации текстов, а также профилирования пользователей.