Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
dissa2.docx
Скачиваний:
57
Добавлен:
12.06.2018
Размер:
896.17 Кб
Скачать

5.2.2 Подход c использованием кодирования слов

В данном подходе каждому слову в тексте сопоставляется вектор фиксированной длины, затем из полученных векторов для каждого объекта выборки составляется матрица, которая аналогично изображениям подается на вход сверточной нейронной сети. На Рис. 5.7 приведен пример сверточной нейронной сети cиспользованием кодирования слов.

Рисунок 5.7: Кодирование слов

6 Использование сверточной нейронной сети для профилирования

При профилировании пользователей, а точнее классификации текстов с использованием сверточной нейронной сети:

1) фильтр имеет такую же ширину m, как матрица (на вход нейронной сети поступают целые слова);

2) можно применять одновременно разные фильтры с разными высотами для выделения различных признаков.

Сверточная нейронная сеть является очень эффективным методом представления текстов. Поэтому при работе с ней мы будем использовать два алгоритма классификации текстов: векторной репрезентации и семантической репрезентации.

6.1 Алгоритм при векторной репрезентации слов и текстов

Есть множество методов и технологий представления текстовой информации в виде векторного представления: GloVe, AdaGram, Text2Vec, Seq2Vec и другие, но наиболее популярной технологией является Word2Vec.

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

В Word2Vec можно использовать две различных архитектуры нейронной сети для перевода слова в вектор: Continuous Bag of Words и Skipgram. Модель Continuous Bag of Words(CBOW) представляет собой метод поиска ассоциированных слов. МодельSkipgram– поиска взаимозаменяемых слов.

Continuous Bag of Words (CBoW) – мешок слов. В данном подходе весь текст просматривается окном шириныи в каждом окне нейронная сеть предсказывает центральное слово окна, по всем остальным словам в этом окне, где. Таким образом, при использовании данной модели происходит выделения слова вместе с его окружением, иначе говоря, происходит поиск ассоциированных слов для выбранного центрального слова.

В общем случае, когда хотим предсказать слово по C словам из текста, на входном уровне будет нейронов. Выходной сигнал на скрытом уровне вычисляется по формуле:

Здесь − вектор соответствующийi−ому входному слову.

На рисунке 6.1, что представлен ниже, показана архитектура модели CBoWв общем виде.

Рисунок 6.1: Общий случай модели CBoW

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

Skipgram– В данном подходе весь текст просматривается окном шириныи в каждом окне нейронная сеть предсказывает слова в этом окне, гдепо центральному слову окна.

Модель Skipgramпозволяет предсказывать близлежащие слова на основании центрального слова. В этом случае задача нейронной сети заключается в вычислении для данного слова вероятностей появления рядом с ним других слов, согласно словарю. Под словом «рядом» понимается фиксированный размер окна. Таким образом, при использовании данной модели, с точки зрения семантической составляющей, происходит поиск взаимозамяемых слов для выбранного центрального.

На Рис. 6.2 приведен пример архитектуры сети для skipgram модели. Согласно внешнему виду, данная модель напоминает «вывернутую наизнанку» модель CBoW.

В данной модели выходной сигнал на j−ом выходном нейроне для предсказываемого слова под номеромc:

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

Рисунок 6.2: Общий случай модели Skipgram

Из формулы Байеса

понятно, что увеличение повлечет за собой увеличение.

В вышеописанных моделях вычисление функции активации софтмакс линейно зависит по времени от объема словаря V. В реальных задачахVможет достигать нескольких сотен тысяч, тогда использование данной функции активации очень затратно по времени, поэтому в реализации Word2Vec используются метод для быстрого вычисления функции активации: иерархический софтмакс (Hierarchical Softmax).

В иерархическом софтмаксе в словаре строится дерево Хафмана по всем словам.

В полученном дереве Vвисячих вершин (листьев). Условная вероятность в этом случае вычисляется следующим образом:

σ(·)−сигмоидная функция активации.

path(v)−путь от вершины до корня.

Оценим вычислительную сложность обучения моделей из Word2Vec. Сложность модели Continuous Bag of Words . Cложность модели Skipgram.

C− максимальное расстояние между словами в одном окне.

V− число слов в словаре.

N− число слов в обучающих данных.

D− число нейронов на скрытом уровне.

Skipgram модель работает медленнее, но обычно с помощью нее достигается лучшее качество классификации текстов.

Ниже представлены примеры работы алгоритмов Word2Vec:

Ассоциированные слова (модель CBoW)для слова «кофе»

зернах 0.757635

растворимый 0.709936

чая 0.709579

коффе 0.704036

mellanrost 0.694822

сублемированный 0.694553

молотый 0.690066

кофейные 0.680409

Взаимозаменяемые слова (модель Skipgram)для слова «кофе»

коффе 0.734483

чая 0.690234

чай 0.688656

капучино 0.666638

кофн 0.636362

какао 0.619801

эспрессо 0.599390

Обобщение нескольких слов (A+B): мобильный телефон

сотовый 0.811114

телефона 0.776416

смартфон 0.730191

телфон 0.719766

мобильного 0.717972

мобильник 0.706131

Преимуществами являются:

  • Нейронная сеть с данным алгоритмом учится весьма быстро на неподготовленных текстах.

  • Снижаемая размерность, т.е. словарь с 2.5 млн. токенов ужимается до 256 элементов вектора действительных чисел;

Негативным эффектом векторной репрезентации является быстрая деградация векторов при операциях над ними. Сложение векторов двух слов демонстрирует то общее, что есть между этими словами, при условии, что слова действительно связаны в реальном мире, но попытка увеличить количество слагаемых очень быстро приводит к потере какого-либо практически ценного результата. Сложить слова одной фразы ещё выполнимо, сложить слова нескольких фраз уже нет.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]