Когда кто-то отправляет вам мем, можете ли вы сказать отправителю, что он действительно счастлив, зол или нейтрален? Это делает анализ настроений более важным, чем когда-либо.

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

Вступление

В мемах есть 2 типа контента. первый - визуальный контент, второй - текстовый контент. Для визуального контента я использовал подписи к изображениям. Чтобы мы могли получать данные визуальных эффектов, а для текстового контента я использовал оптическое распознавание символов, чтобы получить данные. После сбора данных мы можем провести сентиментальный анализ.

Набор данных

Для создания подписей к изображениям доступно множество наборов данных с открытым исходным кодом, таких как Flickr 8k (содержащий 8 000 изображений), Flickr 30k (содержащий 30 000 изображений), MS COCO (содержащий 180 000 изображений) и т. Д. Но для целей этого тематического исследования я использовал набор данных MS COCO.

Кроме того, в kaggle доступно множество наборов данных с открытым исходным кодом для мемов, но для этого набор данных предоставляется моими наставниками.

Https://drive.google.com/drive/folders/1CKcUIKK4qzAG-waUuJKhror91tvfTx_9?usp=sharing

Подписи к изображениям

В наборе данных MS COCO есть изображения и их подписи.

Для подписи к изображениям я использовал 2 модели. Inception V3 для извлечения признаков с использованием трансферного обучения, и эти функции используются в качестве входных данных рекуррентной нейронной сети для прогнозирования заголовка.

Здесь мне нужно преобразовать заголовок в векторы для сети. Поэтому я использовал предварительно обученное вложение ПЕРЧАТКИ, чтобы сопоставить каждое слово (индекс) с вектором длиной 200.

Это краткое изложение модели для подписи к изображениям.

Заголовок, созданный моделью

Анализ настроений

Для этого я использовал набор данных мемов, в котором много изображений. Итак, сначала я использовал оптическое распознавание символов (OCR) для извлечения текста из изображения и использовал модель субтитров изображения, чтобы подписать эти мемы.

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

После этого я объединил эти данные OCR и подписи к изображениям. Затем я использовал fastText. fastText - это библиотека, созданная исследовательской лабораторией искусственного интеллекта Facebook для встраивания слов и классификации текста.

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

Спасибо, что прочитали этот блог. Хорошего дня.



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

  1. Https://arxiv.org/abs/1411.4555
  2. Https://machinelearningmaster.com/develop-a-deep-learning-caption-generation-model-in-python/
  3. Https://towardsdatascience.com/fasttext-ea9009dba0e8
  4. Https://cs.stanford.edu/people/karpathy/cvpr2015.pdf
  5. Https://arxiv.org/abs/1703.09137
  6. Https://arxiv.org/abs/1708.02043
  7. Https://www.analyticsvidhya.com/blog/2017/07/word-presentations-text-classification-using-fasttext-nlp-facebook/