Аннотирование текстовых данных в социальных сетях
- Авторы: Непряхин Б.О.1
-
Учреждения:
- Самарский госудаственный университет им. Королева
- Выпуск: № 2(25) (2024)
- Страницы: 119-125
- Раздел: Информатика и вычислительная техника
- Дата публикации: 30.12.2024
- URL: https://vmuis.ru/smus/article/view/27340
- ID: 27340
Цитировать
Полный текст
Аннотация
В данной работе было доказано значительное превосходство современных методов обработки текста перед классическими подходами, применявшимися ранее. Путём анализа и разметки данных, собранных из социальной сети, была осуществлена подготовка исходного набора данных, на основе которого была обучена нейронная сеть. Процесс обучения включал в себя не только саму подстройку параметров сети, но и её оптимизацию с целью достижения максимальной точности классификации текстов по типам публикуемого контента. Затем было проведено тщательное тестирование обученной модели для оценки её точности и надёжности в реальных условиях. Полученные результаты подтвердили высокую эффективность и точность предложенного подхода. Это позволяет классифицировать текст, публикуемый в социальных сетях, по различным тематикам контента, что имеет большое значение для анализа и понимания информационных потоков в современном интернете.
Полный текст
Эта работа приобретает особую важность в контексте не только улучшения методов анализа данных [1], но и в свете растущей важности социальных сетей как основного канала информационного обмена. Анализ и классификация контента, размещаемого в таких сетях, становятся ключевыми задачами для понимания поведения пользователей, выявления трендов и даже обнаружения потенциальных угроз. Поэтому разработка эффективных методов обработки текста, способных автоматически классифицировать контент [2, 3] по различным тематикам, не только повышает качество аналитики, но и обеспечивает более глубокое понимание динамики сетевого взаимодействия. Полученные в этом исследовании результаты подтверждают, что предложенный подход открывает новые возможности для эффективного анализа информации в социальных сетях [4], что является важным шагом в развитии средств мониторинга [5] и аналитики для современных информационных систем.
Условия и методы исследования
Для данного исследования использовался исходный набор данных, состоящий из постов в сообществах социальной сети ВКонтакте. Общий корпус исходных данных составил более 150 тысяч постов.
Предварительная разметка данных для обучения классификации производилась по 7 различным типам категорий текстов.
После разметки, для дальнейшего анализа текста, данные были векторизованы при помощи метрики TF-IDF (Term Frequency-Inverse Document Frequency). Эта метрика позволяет оценить важность слова в контексте документа, учитывая частоту его употребления в других документах.
Визуализация полученных векторов осуществлялась с помощью алгоритма латентно-семантического анализа (индексирования).
После того как все исходные данные были первично размечены, началось изучение точности определения категории типа контента с использованием методов классического машинного и глубокого обучения.
Были протестированы
- Наивный байесовский классификатор (Naive Bayesian): Эффективный и быстрый алгоритм классификации, основанный на применении теоремы Байеса с предположением о независимости признаков.
- Метод опорных векторов (Support Vector Machine - SVM): Мощный алгоритм машинного обучения для классификации, который находит оптимальную гиперплоскость, разделяющую данные в пространстве признаков.
- Дерево принятия решений (Decision Tree): Алгоритм, который строит дерево решений на основе входных данных и использует его для принятия решений.
- Случайный лес (Random Forest): Метод, который создает множество деревьев решений в процессе обучения и объединяет их для получения более точного и устойчивого предсказания.
- Метод k-ближайших соседей (KNeighbors): Простой алгоритм классификации, основанный на том, что объекты данных классифицируются по большинству голосов их k ближайших соседей в пространстве признаков.
- Логистическая регрессия (Logistic Regression): Статистический метод для анализа данных, который используется для прогнозирования вероятности возникновения события путем подгонки логистической кривой к набору данных.
- GRU (Gated Recurrent Unit): Тип рекуррентной нейронной сети, который используется для анализа последовательных данных, сохраняя информацию о длительных зависимостях.
- BERT (Bidirectional Encoder Representations from Transformers): Модель глубокого обучения, основанная на трансформерах, способная эффективно понимать семантику текста и выделять его важные признаки.
- BiLSTM (Bidirectional Long Short-Term Memory): Рекуррентная нейронная сеть с двунаправленной связью, способная эффективно учитывать контекст при анализе последовательных данных.
Результаты и их обсуждение
Применение различных методов классического машинного обучения к задаче классификации текстовых данных дало различный результат на тесте.
Для каждого метода использовался пакет scikit-learn в Python:
Random Forest: Метод Random Forest был реализован с помощью класса RandomForestClassifier из scikit-learn. Применялся метод GridSearchCV для подбора оптимальных гиперпараметров на основе кросс-валидации.
K-Nearest Neighbors: для метода K-Nearest Neighbors использовался класс KNeighborsClassifier из scikit-learn. Производилась оценка точности модели на основе обучающих данных.
Logistic Regression: Логистическая регрессия была реализована с использованием класса LogisticRegression из scikit-learn. Применялся метод GridSearchCV для оптимизации гиперпараметров модели.
SVM: Для метода опорных векторов использовался класс SVC из scikit-learn. Точность модели оценивалась с помощью кросс-валидации и метода GridSearchCV для настройки гиперпараметров.
Decision Tree: для построения дерева принятия решений применялся класс DecisionTreeClassifier из scikit-learn. Оценка точности модели также проводилась с использованием GridSearchCV.
Naive Bayesian: Наивный байесовский классификатор был реализован с помощью класса MultinomialNB из scikit-learn. GridSearchCV использовался для настройки гиперпараметров и оценки точности модели с параметрами:
parameters = { 'vect__max_features': [10000, 15000, 20000],
'vect__ngram_range': [(1, 1), (1, 2)],
'vect__min_df': [1, 2],
'vect__max_df': [0.9, 0.95],
'clf__alpha': [0.1, 0.5, 1.0] }
В результате использования классических методов машинного обучения для задачи классификации типов текстовых данных были получены следующие показатели точности определения категорий (Таблица 1):
Таблица 1 – Статистические показатели классических методов машинного обучения
Метод | Accuracy |
Random Forest | 79,9% |
K-Nearest Neighbors | 72,5% |
Logistic Regression | 84,2% |
SVM | 81,0% |
Decision Tree | 78,0% |
Naive Bayesian | 77,0% |
Логистическая регрессия показала лучший результат при использовании в качестве метода классификации c точностью 84,2 %.
Закончив тестирование моделей классического машинного обучение перешли к современным моделям глубокого обучения [5], начав с Gated Recurrent Unit (GRU), использование которой включает в себя следующие шаги:
Выбор параметры модели:
Активации (activations): Это функции активации, которые применяются к выходным данным каждого нейрона в сети. В данном случае доступны следующие варианты: ReLU, линейная функция, гиперболический тангенс, софтмакс, ELU и SELU.
Размер пакета (batch_sizes): Это количество образцов данных, обрабатываемых нейронной сетью за один проход. Заданные варианты размеров пакета: 16, 32, 64.
Размер скрытого слоя (hidden_layer_sizes): Это количество нейронов в скрытом слое GRU. Заданные варианты размеров скрытого слоя: 32, 64, 128.
Эпохи (epochs_values): Это количество полных проходов через весь набор обучающих данных. Заданные варианты количества эпох: 5, 10, 15.
Применение модели GRU включает в себя выбор оптимальных комбинаций этих параметров с целью достижения наилучшей производительности и точности модели.
Тестирование и результативность подели отражена на рисунке 1
Рисунок 1 Результаты тестирования GRU
По итогу тестирования гиперпараметров выбраны оптимальные:
Activation=softmax, Batch Size=32, Hidden Layer Size=32, Epochs=15 с
На рисунке 2 изображен процесс обучения модели для наиболее эффективных гиперпараметров
Рисунок 2 Графики обучения модели на основе GRU для оптимальных гиперпараметров.
Далее была изучена возможность классификации текстов с использованием нейронной сети на основе BiLSTM (Bidirectional Long Short-Term Memory) с заданными параметрами, которые включают в себя следующие шаги:
Инициализация модели: Модель инициализируется как последовательная модель с помощью Sequential() из библиотеки Keras.
Добавление слоев:
Embedding: Добавляется слой Embedding для преобразования входных слов в векторные представления. В данном случае, задается размер словаря (input_dim), размерность выходных векторов (output_dim) и максимальная длина входных последовательностей (input_length).
Bidirectional LSTM: Добавляется слой Bidirectional LSTM, который включает два набора LSTM-нейронов, обрабатывающих последовательность в прямом и обратном направлениях. Задаются размерность выходных нейронов (units) и коэффициент L2 регуляризации ядра (kernel_regularizer).
Dropout: Добавляется слой Dropout для регуляризации модели и предотвращения переобучения. Задается вероятность отключения нейронов (0.5).
Dense: Добавляется полносвязный слой с функцией активации softmax для прогнозирования категорий. Количество выходных нейронов соответствует количеству категорий текста.
Компиляция модели: Модель компилируется с использованием функции потерь 'categorical_crossentropy' для многоклассовой классификации, оптимизатора Adam и метрики точности.
Точность предсказания категории типа контента – 98,09%
Обучение модели: Модель обучается на обучающем наборе данных с использованием метода fit(), задавая количество эпох обучения и размер пакета данных.
В результате настройки и обучения модели BiLSTM с заданными параметрами, модель готова для классификации текста по заданным категориям.
На рисунке 3 показан процесс обучения модели BiLSTM с оптимальными параметрами сети
Рисунок 3 процесс обучения BiLSTM
Точность предсказания категории типа контента – 99,04%
Последней моделью для исследования был transformer BERT [6]. Процесс обучения и валидации данной модели включает следующие шаги:
Разделение на датасеты для обучения и валидации: Исходный датасет разделяется на обучающий и валидационный с использованием метода случайного разделения данных.
Выбор гиперпараметров: Задаются гиперпараметры для обучения модели, такие как скорость обучения (learning rate), размер пакета (batch size) и количество эпох (epochs). В данном случае были выбраны следующие параметры:
- Скорость обучения (learning rate): 0.00005
- Размер пакета (batch size): 64
- Количество эпох (epochs): 12
Инициализация загрузчиков данных: Создаются загрузчики данных DataLoader для обучающего и валидационного датасетов.
Подготовка модели: Инициализируется модель BertForSequenceClassification и оптимизатор AdamW с заданной скоростью обучения. Также инициализируется планировщик (scheduler) для изменения скорости обучения во время обучения.
Обучение модели: Происходит обучение модели на обучающем датасете в течение заданного количества эпох. Для каждой эпохи проходятся все пакеты данных из обучающего датасета, рассчитывается функция ошибки (loss) и производится обновление весов модели с помощью оптимизатора и планировщика.
Валидация модели: После каждой эпохи производится валидация модели на валидационном датасете. Для этого используются данные из валидационного загрузчика DataLoader. Рассчитывается точность модели на валидационном датасете для оценки ее производительности.
Подготовка к предсказанию: После завершения обучения модели, она готова к использованию для предсказания на новых данных. Модель переносится на доступное устройство (GPU, если доступен).
Таким образом, процесс обучения и валидации модели на основе BERT включает в себя выбор гиперпараметров, инициализацию модели и оптимизатора, обучение модели на обучающем датасете и валидацию ее производительности на валидационном датасете.
На рисунке 4 представлен процесс обучения модели которая обучалась на 2х видеокартах T4 в течении 1,5 часов и получила итоговую точность определения категорий в 98%. Несмотря на то, чо значение оказалось ниже чем у предыдущих моделей машинного обучения именно BERTможно назвать победителем данных тестов т.к. на новых тестовых данных именно ей удалось показать самую высокую точность (две предыдущие модели показали размытие данных из за переобучения)
Рисунок 4 Процесс обучения BERT модели
Заключение
В заключение эксперименты с различными моделями машинного и глубокого обучения показали, что логистическая регрессия продемонстрировала лучшую точность в классификации текстов. Однако, современные модели, такие как GRU, BiLSTM и BERT, показали высокую эффективность в обобщении данных и предсказании на новых тестовых данных. Именно BERT проявил наилучшие результаты на новых данных, несмотря на некоторое снижение точности в обучении.
Важность развития Large Language Models (LLM) в задачах классификации текстовых данных необходимо подчеркнуть. Эти модели, такие как BERT, имеют потенциал для обработки и понимания больших объемов текста, что позволяет им выявлять сложные зависимости в данных и достигать высокой точности в задачах классификации. Развитие LLM моделей стимулирует прогресс в области искусственного интеллекта и обеспечивает более точные и эффективные решения для разнообразных прикладных задач, включая классификацию текстовых данных в социальных сетях.
Об авторах
Богдан Олегович Непряхин
Самарский госудаственный университет им. Королева
Автор, ответственный за переписку.
Email: bogdann163@yandex.ru
Россия
Дополнительные файлы
