Когда кто-то отправляет вам мем, можете ли вы сказать отправителю, что он действительно счастлив, зол или нейтрален? Это делает анализ настроений более важным, чем когда-либо.
Анализ настроений, также называемый интеллектуальным анализом мнений, - это процесс определения и категоризации мнений в данном фрагменте текста на положительные, отрицательные или нейтральные. С расширением возможностей технологий анализ эмоций становится все более используемым инструментом для бизнеса, влияющим на общество.
Вступление
В мемах есть 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 для классификации текста по настроениям.
Спасибо, что прочитали этот блог. Хорошего дня.
использованная литература
- Https://arxiv.org/abs/1411.4555
- Https://machinelearningmaster.com/develop-a-deep-learning-caption-generation-model-in-python/
- Https://towardsdatascience.com/fasttext-ea9009dba0e8
- Https://cs.stanford.edu/people/karpathy/cvpr2015.pdf
- Https://arxiv.org/abs/1703.09137
- Https://arxiv.org/abs/1708.02043
- Https://www.analyticsvidhya.com/blog/2017/07/word-presentations-text-classification-using-fasttext-nlp-facebook/