Оценка тональности финансовых текстов с использованием нейросетевых и гибридных методов
Автор: Кубракова Е.А., Козловский В.Ю., Куликов А.В.
Журнал: Труды Московского физико-технического института @trudy-mipt
Рубрика: Информатика и управление
Статья в выпуске: 2 (70) т.18, 2026 года.
Бесплатный доступ
Исследуется применение нейросетевых и гибридных методов обработки текстовых данных финансово-экономической и биржевой тематики для анализа тональности новостных заголовков и построения русскоязычного классификатора сентимента. Существующие state-of-the-art (SOTA) решения, в основном ориентированные на англоязычные данные, не обеспечивают необходимой точности и адаптивности для анализа текстов на русском языке. Исследования русскоязычного сентимента преимущественно опираются на размеченные данные из смежных областей (маркетинг, продуктовая аналитика), что негативно сказывается на качестве классификации в задачах финансовой аналитики. В работе продемонстрирована возможность адаптации размеченных англоязычных наборов данных для классификации сентимента новостных заголовков, проведено формирование тематического корпуса и словаря, а также обучение ряда классификаторов. Показано, что за счёт конструирования признаков с привлечением экспертных знаний предметной области, их последующей кросс-валидации и подбора оптимальных гиперпараметров можно достичь точности классификации до 90 %. Данный результат превосходит эффективность моделей, рассмотренных в работе [1], и сопоставим с точностью больших языковых моделей (LLM), что позволяет использовать предложенный подход к оценке сентимента на практике.
Анализ тональности, нейросетевые методы, BERT, большая языковая модель, машинное обучение, обработка естественного языка
Короткий адрес: https://sciup.org/142248250
IDR: 142248250 | УДК: 519.25, 519.6
Sentiment analysis of financial texts using neural and hybrid methods
This study explores the application of neural and hybrid methods for processing textual data in the financial, economic, and stock market domains to analyze the sentiment of news headlines and build a Russian-language sentiment classifier. Existing state-of-the-art (SOTA) solutions, primarily focused on English-language data, do not provide the required accuracy and adaptability for analyzing Russian texts. Research on Russian-language sentiment mainly relies on labeled data from related fields (marketing, product analytics), which negatively affects classification quality in financial analytics tasks. The study demonstrates the possibility of adapting labeled English-language datasets for sentiment classification of news headlines, the formation of a domain-specific corpus and dictionary, and the training of several classifiers. It is shown that by constructing features using domain expertise, followed by cross-validation and optimal hyperparameter tuning, classification accuracy of up to 90% can be achieved. This result surpasses the effectiveness of the models discussed in [1] and is comparable to the accuracy of large language models (LLMs), making the proposed sentiment assessment approach suitable for practical applications.
Текст научной статьи Оценка тональности финансовых текстов с использованием нейросетевых и гибридных методов
Анализ тональности — это важное направление исследований как в области обработки естественного языка (Natural Language Processing, NLP), так и в области финансовой аналитики, включающее в себя процесс определения и извлечения эмоциональной окраски/мнения из текста и их классификацию [2].
Проблема заключается в определении эффективности и потенциала использования различных моделей машинного обучения в создании устойчивого классификатора новостных заголовков на русском языке в условиях практического отсутствия тематических размеченных словарей сентимента в предметной области.
Анализ сентимента в финансовой сфере прошел долгий путь от методов, основанных на словарях и правилах, характерных для компьютерной лингвистики на раннем этапе обработки естественного языка, до использования трансформерных архитектур. В последние годы исследователи используют эмбеддинги и архитектуру самовнимания для решения проблемы интерпретации семантической неоднозначности в тексте [3-5]. Все эти методы, так или иначе, остаются актуальными и по сей день и, несмотря на большое разнообразие подходов, могут быть сведены к лингвистическому подходу (на основе словаря или правил) [6,7], методам машинного обучения с учителем или без учителя [8-10], нейросетевым подходам на основе RNN, LSTM, ANN [11] и гибридным методам, которые в той или иной степени являются комбинацией вышеперечисленных обзор [12].
Обучение с переносом, начиная с использования контекстно-независимых векторных представлений слов из неконтролируемых моделей для различных задач обработки естественного языка и заканчивая текущим использованием предобученных трансформеров, достигло в последние годы значительного прогресса. В рамках данного подхода используются модели, которые были обучены на одном наборе данных, а затем адаптируются для решения другой задачи с использованием меньшего объема данных или с использованием данных из другой доменной области. Это сочетание двух этапов обучения можно рассматривать как гибридный подход, достоинством которого является оптимизация вычислительных ресурсов и возможность работы с ограниченными выборками. Использование обучения с переносом существенно снижает потребность в больших объемах данных для обучения новых моделей. Такой подход применительно к русскому языку рассматривается в работе [13]. В своей статье авторы провели эксперименты по дообучению моделей классификации для анализа тональности на русском языке, используя архитектуры, представленные в работах [5,14] и две версии многоязычного универсального кодировщика предложений [15].
Исследования русскоязычного сентимента в основном опираются на размеченные данные из других областей, связанных с маркетингом и продуктовой аналитикой [12,16], что негативно влияет на точность классификации в задачах финансовой аналитики. Также заметим, что SOTA-решения для англоязычных финансовых новостей [11] существенно превосходят аналогичные для русскоязычных [12]. На данном этапе исследования сентимента русскоязычных текстов ведутся в основном в лингвистическом и социокультурном контексте, что определяет тематику собранных и размеченных наборов данных. Источником их являются преимущественно социальные сети. Это в свою очередь накладывает стилистический и жанровый отпечаток на исследуемый текст и хуже согласуется с сентиментом новостных заголовков, которые, как правило, выдержаны в жанре аналитической статьи. Данная специфика ограничивает возможности применения существующих наборов данных для сентимент-анализа в более узких и специализированных областях, таких как финансовая аналитика. Также следует отметить, что в контексте финансовой аналитики существование размеченных данных в открытом доступе сильно ограничено, что обусловлено преимущественно их коммерческим использованием. Кроме того, особенностью российского финансового рынка является большое количество частных инвесторов, подверженных влиянию новостей и склонных к проявлению стадного чувства в периоды высокой волатильности на рынке [17]. Все эти особенности требуют существенной доработки существующих подходов к работе с данными и применяемых алгоритмов в финансово-экономическом домене.
Анализ тональности текстов осуществляется в несколько этапов, включающих в себя предобработку исходного текста, извлечение информативных признаков (векторизацию текста), на основе которых в дальнейшем строится классификатор тональности. В статье [12] справедливо отмечено, что в русском языке парадигмы слов имеют множество различных словоформ, которые похожи по своей семантической нагрузке, однако не всегда содержат полезную информацию. Эта особенность определяет необходимость нормализации слов, то есть представления их в начальной грамматической форме путем разбиения на токены с последующей лемматизацией или стеммингом.
Извлечение признаков из текста прошло несколько исторических этапов: BoW (Bag of Words — «мешок слов») [18], One-Hot Encoding (прямое кодирование) — метод, преобразующий слова в бинарные векторы [19], SVD (Singular Value Decomposition) — метод, преобразующий текст в разреженную матрицу [20], ВРЕ (Byte Pair Encoding) [21]. Решение Glove, предназначенное для агрегирования глобальной статистики совместной встречаемости слов из текстового корпуса и преобразования их в векторные представления, было предложено в Стэнфордском университете [22]. В основе векторизации данного типа лежит матрица, отражающая частоту совместного появления пар слов в контексте, что позволяет выявлять семантические и синтаксические связи между ними за счет минимизации разницы между произведением векторов слов и логарифмом их совместной встречаемости, что обеспечивает точное представление слов в векторном пространстве. Компания Google предложила ряд интересных инструментов векторизации текста, в частности, технологию Word2Vec, способную предсказывать контекст с учетом слова и слово с учетом контекста [23] и BERT (Bidirectional Encoder Representations from Transformers) — нейронную сеть, обученную на большом корпусе текстов [14], которая в дальнейших исследованиях была модифицирована под конкретные предметные области или языки с достижением большей производительности [5,24-29].
В работе рассмотрено применение мультиязычной модели BERT, в основе которой лежит многослойная двунаправленная трансформерная архитектура, которая позволяет анализировать контекст слова с обеих сторон одновременно и анализировать семантические связи между словами, а также ее модификаций DistilBERT и RuBERT [5,27]. BERT состоит только из энкодера трансформера без декодера. Базовая модель BERT base имеет 12 слоев (блоков трансформера), 12 механизмов внимания (по количеству слоев), которые позволяют модели взвешивать важность различных токенов в предложении, 768 скрытых нейронов и более 100 млн параметров. BERT использует WordPiece токенизацию со словарем в 30 000 токенов. Слова, отсутствующие в словаре, разбиваются на части с добавлением специальных символов. BERT объединяет три типа эмбеддингов для каждого токена: эмбеддинг токена (представляет значение слова), эмбеддинг позиции (кодирует позицию токена в последовательности) и эмбеддинг сегмента (различает предложения в паре входных предложений).
Архитектура BERT представляет собой мощный инструмент для понимания естественного языка, способный эффективно захватывать контекстуальные зависимости и адаптироваться к широкому спектру задач обработки текста. Изначально BERT обучался на двух задачах: предсказание замаскированных слов в предложении и определении последовательности предложений.
Многоязычная модель BERT была обучена на 104 языках с использованием Википедии. Размер словаря составляет ~ 120 тыс. субтокенов, из которых ~ 25 тыс. субтокенов (~ 20 %) связаны с русским языком.
В качестве основных методов для применения данной модели к задаче классификации текстов используются дообучение линейного слоя поверх эмбеддинга [CLS] токена, разморозка последних нескольких слоёв модели и их дообучение для кодирования специализированной семантической информации и полное дообучение модели, начиная с предобученных весов [30]. Однако последний метод хотя и демонстрирует более высокое качество, имеет ряд недостатков, таких как высокая склонноств к переобучению, потребноств в больших вычислительных мощностях и большом объеме данных. В нашей работе в силу ограниченности размеченных данных используется дообучение линейного слоя поверх эмбеддинга [CLS] токена и оптимизация гиперпараметров.
Появление диалоговых чат-ботов, первым из которых стала модель ChatGPT [31], и парадигмы промптинга коренным образом изменило подход к анализу тональности. Многие задачи, которые раньше решались с помощью нейронных сетей, стали решаться с помощью промптов [32] в виде ответа на вопрос на естественном языке. Задача анализа тональности перешла из области обучения отдельных моделей в область промпт-инжиниринга и эффективного взаимодействия с большими универсальными языковыми моделями [33,34].
Ключевые подходы к промптингу для сентимент-анализа включают.
1) Zero-Shot промптинг (модели напрямую задают вопрос на естественном языке без каких-либо примеров).
2) Few-Shot промптинг/контекстное обучение (к промпту добавляют несколько примеров с правильными ответами, чтобы модель поняла формат и задачу).
3) Fine-Tuning (специализированное дообучение большой модели на наборе данных с размеченными тональностями).
4) Инструктивное обучение (Instruction Tuning), при котором модели, подобные ChatGPT, которые уже были дообучены следовать инструкциям, показывают наилучшие результаты в zero-shot/few-shot сценариях.
2. Описание данных и используемых метрик
В данной работе рассматривается применение модели YandexGPT [35] в режиме подробного промптинга с заданной ролью, а также с подробным объяснением задачи на нескольких актуальных примерах.
Структура оставшейся части работы следующая. В разделе 2 представлено описание данных и метрик, используемых для оценки результатов классификации. В разделе 3 приведено описание используемых архитектур машинного обучения с оптимизацией параметров и дообучением на синтетических данных для последующего сравнения результатов. В разделе 4 рассматриваются подходы с применением больших языковых моделей на основе BERT (BERT, DistilBERT, RuBERT) и LLM с промптингом (YandexGPT). В заключении приводятся обобщенные результаты рассматриваемых моделей и основные выводы, сделанные в работе.
Корпус текстов, использованных для обучения моделей представляет собой адаптированные с английского языка наборы данных с ручной экспертной разметкой и разделением сентимента на три класса (положительный, нейтральный, отрицательный), на основе чего были обучены несколько моделей-классификаторов для оценки сентимента на российском фондовом рынке (распределение между классами представлено на рис. 1, 2). Процесс отбора данных, характеристики оригинальных новостных датасетов, особенности разметки и процесса адаптации приведены в статье, посвященной использованию трансформерных архитектур для адаптации данных в финансово-экономическом домене [36].
На этапе предварительного анализа и обработки данных была проведена проверка пропущенных значений и удалены дубликаты для получения уникальных записей; проанализировано распределение новостных заголовков по классом в абсолютном и процентном отношении, а также распределение новостных заголовков по количеству слов в предложении; применена функция для расчета максимальной длины новостного заголовка, для последующего применения контекстного окна; выявлены статистические особенности распределения предложений; закодированы категориальные признаки (переведены в числовой формат); создан и токенизирован текстовый корпус; произведена очистка данных: из предложений удалены все числа, символы, знаки препинания и прочая «шумовая» информация, все слова приведены в нижний регистр; создан список наиболее частотных стоп-слов для расширения «встроенного» списка в русскоязычной библиотеке для обработки естественного языка (PyMorphy2), а также отдельный список наиболее частых слов не из стоп-списка для составления представления о тематическом содержании набора данных («мешка слова») и для оценки релевантности этих слов для сентимент-анализа; выделены сущности (entities), наиболее значимые в контексте анализируемого набора данных.
Рис. 1. Распределение новостных заголовков по классам и по количеству слов
Рис. 2. Распределение новостных заголовков по длине предложения в каждом классе
Рис. 3. Оценка важности признаков
На рисунке 3 продемонстрирована регрессионная оценка важности признаков. Очевидно, что индикатор важности признаков очень чувствителен, что означает, что производительность классификаторов может быть улучшена за счет некоторых дополнительных манипуляций с данными, таких как использование векторизации в сочетании с N-граммами, использованием лемматизации и дополнительной балансировки классов.
Данные были разделены на обучающую и тестовую выборки с использованием функции train_test_split из модуля model_selection библиотеки Sklearn в пропорции 80 % обучающая выборка и 20 % тестовая выборка. В процессе обучения используется перемешивание образцов.
Для оценки качества классификации сентимента и производительности базовых алгоритмов используются метрики точности (accuracy) и максимальной Fl-меры ( F 1macr°)‘.
ТР + Т N Т Р
Recal1 = ТР^ЛК ;
Accuracy = —————--——--——; Ргеазгоп = ————;
ТР + TN + FP + FN ТР + FP
2 • Prеcisiоп • RecallF
= Preci8iоп + Recall ; macr° =N где
ТР (True Positives) — количество истинно положительных результатов (правильно классифицированные положительные экземпляры).
TN (True Negatives) — количество истинно отрицательных результатов (правильно классифицированные отрицательные экземпляры).
FP (False Positives) — количество ложно положительных результатов (неправильно классифицированные отрицательные экземпляры как положительные).
FN (False Negatives) — количество ложно отрицательных результатов (неправильно классифицированные положительные экземпляры как отрицательные).
Фитинг модели осуществляется по метрике F 1macr°, как наиболее адекватной при несбалансированных классах.
-
3. Применение базовых архитектур
3.1. Экспериментальная оценка базовых алгоритмов машинного обучения
Для базовой оценки точности классификации на адаптированном наборе данных на первом этапе использованы основные классификационные алгоритмы из библиотеки Sklearn без подбора гиперпараметров. Всего оценено 12 классификаторов, представляющих основные группы алгоритмов: деревья решений, статистические модели, методы опорных векторов и ансамблевого обучения (рис. 4).
Рис. 4. Среднее значение Fl-меры базовых классификаторов
Кросс-валидация производилась на семи подвыборках (фолдах). Стратифицированное разделение данных на обучающие и тестовые наборы означает, что каждый набор будет содержать пропорции классов, аналогичные тем, которые присутствуют в исходном наборе данных, что особенно важно для несбалансированных данных, где один класс может значительно преобладать над другим, а также обеспечивает снижение вариативности для более надежных и стабильных результатов в процессе обучения моделей.
На следующем этапе к данным применена TF-IDF векторизация и обучение с учетом контекста через N-граммы (в диапазоне от 1 до 4). Модель N-грамм — вероятностная языковая модель, которая может предсказывать следующий элемент в последовательности, используя ( п — 1)-порядковую модель Маркова. Проверяемая гипотеза заключалась в том, что совместное использование векторизации (даже в самой простой библиотечной ее реализации) и N-грамм для учета локального контекста без дополнительной обработки данных в виде лемматизации или стемминга позволит улучшить производительность базовых классификаторов.
TF-IDF (Term Frequency-Inverse Document Frequency) — это статистическая мера, используемая для оценки важности слова в контексте документа, входящего в некоторую коллекцию документов (корпус). Она состоит из двух компонентов:
Частота термина (Term Frequency, TF) — простой подсчет частоты, с которой слово появляется в данном документе. Чем чаще слово встречается в документе, тем более важным оно считается в этом документе.
Формула для расчета:
TF(t, d) =
Количество вхождений термина t Общее количество слов в документе d
Обратная частота документа (Inverse Document Frequency, IDF) — это мера того, насколько важно слово в корпусе документов. Если слово встречается во многих документах, то оно, как правило, менее информативно, чем слово, которое встречается в меньшем числе документов. IDF рассчитывается как логарифм от отношения общего числа документов к числу документов, содержащих данное слово.
Формула для расчета:
IDF (t, D) = log
|D|
|{d ED : t E d}| ’
где |D| — общее количество документов в корпусе, |{d E D : t E d}| — количество документов, содержащих термин t.
TF-IDF вычисляется как произведение TF и IDF, что позволяет выявить слова, которые являются наиболее характерными для данного набора данных. Формула для расчета:
TF-IDF (t, d, D) = TF(t, d) • IDF(t, D).
Таблица 1
Результаты классификации при помощи базовых алгоритмов из библиотеки Sklearn с применением векторизации TF-IDF и N-грамм
|
Классификатор |
Асе (train) |
Асе (test) |
Fl (train) |
Fl (test) |
Время (с) |
|
Градиептпый бустипг |
0.74 |
0.69 |
0.72 |
0.66 |
54.64 |
|
Метод опорных векторов |
0.99 |
0.76 |
0.99 |
0.74 |
21.26 |
|
Логистическая регрессия |
0.99 |
0.80 |
0.99 |
0.80 |
167.94 |
|
Случайный лес |
0.99 |
0.78 |
0.99 |
0.78 |
678.73 |
|
Многослойный перцептрон |
0.99 |
0.74 |
0.99 |
0.79 |
988.42 |
|
Стохастический градиентный спуск |
0.99 |
0.80 |
0.99 |
0.80 |
344.98 |
Перед использованием N-грамм текст новостных заголовков был токенизирован и лем-матизирован при помощи библиотеки PyMorphy2 (специфичной для русского языка).
Эксперимент проводился на всех базовых алгоритмах, что позволяет сделать вывод о независимости применяемых методов обработки данных от специфики используемого алгоритма классификации. Использование векторизации TF-IDF в сочетании с N-граммами позволило повысить точность классификации до 79-80 % у лучших алгоритмов (табл. 1).
В результате сравнения базовых моделей машинного обучения с учетом точности классификации и времени обучения алгоритма для дальнейшей оптимизации были выбраны модели стохастического градиентного спуска (SGD) и логистической регрессии. Оптимизация заключалась в подборе гиперпараметров, в том числе оптимального диапазона N-грамм.
Параметры оптимизации и лучшие результаты
Логистическая регрессия
Оптимизированные параметры:
-
• С: [0.1; 1; 10]
-
• penalty: [’1Г; ’12’]
-
• class_weight: [’balanced’]
Лучшие параметры:
-
• С = 10
-
• penalty = ’12’
-
• class_weight = ’balanced’
SGDClassifier
Оптимизированные параметры:
-
• alpha: [0.0001; 0.001; 0.01; 0.1]
-
• penalty: [’1Г; ’12’; ’elasticnet’]
-
• loss: [’hinge’; ’log’; ’modified hub er’; ’squared hinge’; ’perceptron’]
-
• class_weight: [’balanced’]
Лучшие параметры:
• alpha = 0.0001
• penalty = ’12’
• loss = ’hinge’
• class_weight = ’balanced’
3.2. Дообучение алгоритма стохастического градиентного спуска с использованием синтетических данных для балансировки классов
Модель логистической регрессии не показала существенного улучшения точности в результате подбора гиперпараметров, в то время как SGD, благодаря более частому обновлению параметров модели, продемонстрировала увеличение точности по метрикам accuracy и Fl-мера до 81-82 %.
Таким образом, дальнейшая работа по оптимизации результатов классификации осуществлялась с использованием алгоритма стохастического градиентного спуска, как показавшего не только наибольшую точность по метрикам, но и лучшую адаптивность и обобщающую способность.
Таблица 2
Сравнение эффективности классификаторов SGD и логистической регрессии после подбора гиперпараметров
|
Метрика |
Логистическая регрессия |
SGD |
|
Cross-Vai Score |
0.78 |
0.80 |
|
Test Accuracy |
0.80 |
0.82 |
|
Test Fl |
0.80 |
0.81 |
В основе классификационной модели SGD лежит метод оптимизации, используемый для минимизации функции потерь. В отличие от обычного градиентного спуска, который использует все обучающие примеры для вычисления градиента, SGD обновляет параметры модели на основе одного случайно выбранного примера (или небольшого мини-батча) за итерацию. Параметры модели обновляются по формуле:
0 = 0 - р .^J (0; х^у^), (5)
где 0 — параметры модели, р — скорость обучения, ^ J(0; х(\у(')') — градиент функции потерь для примера i.
Стохастичность SGD позволяет алгоритму избегать местных минимумов, что полезно в сложных задачах оптимизации, а мини-батчи (группы примеров) помогают сбалансировать скорость и стабильность обновлений.
К алгоритму SGD был применен метод resample для балансировки данных в каждом из классов. Данный метод заключается в повышении количества образцов в классе с минимальным количеством записей для улучшения обучения модели и повышения точности предсказаний. Дополнительная генерация синтетических данных осуществлялась до значений мажоритарного класса путем использования синонимических замен с сохранением метки сентимента, после чего синтетический и исходный наборы данных были объединены.
Дообучение алгоритма SGD, показавшего наилучшую производительность, на этом наборе данных привело к повышению точности классификации до 89 %, а метрики в изначально самом малочисленном классе с отрицательным сентиментом достигли > 93 % (табл. 3).
Таблица 3
Отчет по метрикам классификации с применением дообогащения за счет синтетических данных для балансировки классов
|
Класс |
Precision |
Recall |
Fl-Score |
|
Нейтральный |
0.85 |
0.87 |
0.86 |
|
Отрицательный |
0.84 |
0.93 |
0.93 |
|
Положительный |
0.88 |
0.88 |
0.88 |
|
Accuracy |
0.89 |
||
|
Macro avg |
0.89 |
0.89 |
0.89 |
|
Weighted avg |
0.89 |
0.89 |
0.89 |
Таким образом, использование вышеперечисленных методов обработки данных (применение TF-IDF векторизации, N-грамм и балансировка классов с использованием дообо-гащенного набора данных) способствует увеличению классификационной точности даже у простых алгоритмов машинного обучения вне зависимости от применяемой архитектуры. Лучшие результаты по итогам работы с данными показал изначально самый «слабый» алгоритм стохастического градиентного спуска (SGD). Прирост точности составил +39 % по сравнению с baseline-моделью. Он оказался оптимальным и по скорости работы, которая при условии подбора гиперпараметров методом grid search составила 344 с, что в два-три раза быстрее, чем у сопоставимых по точности алгоритмов логистической регрессии, случайного леса (Random Forest) и многослойного перцептрона (MLP).
Полученные результаты классификации с использованием базовых моделей машинного обучения свидетельствуют о том, что вне зависимости от используемого алгоритма модель, будучи обученной на адаптированных данных, хорошо справляется с классификацией сен-тимента русскоязычных новостей, что позволяет использовать предложенный нами подход в условиях отсутствия или ограниченности размеченных данных на русском языке в узкоспециализированной доменной области.
-
4. Применение больших языковых моделей (LLM)
4.1. Применение модели BERT и ее модификаций (DistilBERT, RuBERT) для анализа сентимента
В таблице 4 приведены особенности базовой модели и ее модификаций.
Таблица 4
Сравнительные характеристики BERT-моделей
|
Характеристика |
BERT |
DistilBERT |
RuBERT |
|
Слои энкодера |
12 |
6 |
12 |
|
Параметры |
ПОМ |
66М |
ПОМ |
|
Скрытая размерность |
768 |
768 |
768 |
|
Головы внимания |
12 |
12 |
12 |
|
Оптимизация |
Дистилляция |
Русская морфология |
|
|
Токенизатор |
Мультиязычный |
Мультиязычный |
Русскоязычный |
|
Быстродействие |
1.0 х |
1.6 х |
1.0 х |
Формальная постановка задачи
Предположим, что у нас есть задача классификации с К классами, а также набор данных X = {xi,yi }. Для каждого примера Xi у нас есть соответствующая метка ур которая принимает значение от 0 д о К — 1, причем все примеры независимы и взяты из одного распределения. Таким образом, в задаче классификации требуется найти зависимость между исходными данными X и целевыми данными Y в виде функции f : X ^ Y. Предсказанное моделью значение у = f (X, 0), г де в означает параметры, представляющие собой некий массив чисел.
При вероятностном моделировании модель предсказывает распределение вероятностей на множестве Y при заданном значении х G X. Вероятностную модель запишем как р(у|(х,0)). Эта величина определена для всех у G Y и позволяет количественно оценить ошибку через функцию потерь (loss). В качестве функции потерь используется nn.NLLLoss() — отрицательный логарифм правдоподобия (Negative Log Likelihood Loss), типичная для многоклассовой классификации. Она основана на максимизации правдоподобия (likelihood) и минимизации отрицательного логарифма правдоподобия.
В качестве функции активации используется библиотечная реализации функции Softmax. Эта операция принимает на вход логиты ( К чисел в диапазоне от —от до +от): {zi} при i = 1 до К и возвращает распре деление вероятностей {pi} в этом же диапазоне. Функция Softmax представляет собой взятие экспоненты с последующей Li-нормализацией.
Для вектора z размерности К:
&(zi ) =
eZi
E^ i ,
где Zi — элемент вектора, е — основание натуралвного логарифма, К — количество классов.
Предположим, у = softmax(z). тогда градиент д.тя функции потерь L:
dL
О = yi - dzi
К
6i - ^yj ^ j 1=1
где 6i — градиент функции потерь для класса i, yi — выход softmах для класса г.
Эта функция является дифференцируемой, поэтому модель хорошо обучается градиентным спуском. В качестве оптимизатора используется Adam, который обновляет веса модели на основе градиентов и заданной скорости обучения (learning rate).
Используемые гиперпараметры:
• training_args = TrainingArguments(
• output_dir=’ ./results’ , Д выходная директория для сохранения результатов
• num_train_epochs=3, Д количество эпох обучения
• per_device_train_batch_size=64, Д размер батча для обучения
• per_device_eval_batch_size=64, Д размер батча для валидации
• warmup_steps=100, Д количество шагов для разогрева
• logging_steps=100, Д шаг легирования
• learning_rate=2e-5 , Д начальная скорость обучения
• eval_strategy="epoch Д стратегия оценки («за эпоху»)
• save_strategy="epoch Д стратегия сохранения модели в процессе обучения
• remove_unused_columns=True,
• load_best_model_at_end=True, Д сохранение параметров лучшей модели
• metric_f or_best_model="accuracy Д метрика для оценки лучшей модели
• greater_is_better=True
4.2. Применение YandexGPT
Fine-Tuning (дообучение) модели BERT заключается в минимизации функции потерь на целевом наборе данных путем обновления параметров предобученной архитектуры. Процедура дообучения единообразно применяется к нескольким архитектурам: multilingual BERT, DistilBERT и RuBERT, с использованием идентичных гиперпараметров для обеспечения корректного сравнения их эффективности.
В данной работе также была произведена оценка эффективности few-shot промптинга для задачи оценки сентимента русскоязычных новостей. Для экспериментов была выбрана модель YandexGPT [35], обученная под русский язык. На вход подавался нижеприведенный системный промпт, а также новость для классификации.
Достоинствами few-shot промптинга являются:
-
• возможность настройки модели на специфическую задачу без дополнительного обучения;
-
• отсутствие необходимости в тонкой настройке модели;
-
• применимость к широкому спектру задач без изменения архитектуры модели;
-
• прозрачность процесса принятия решений через демонстрационные примеры.
Промпт для анализа новостей
Ты высококвалифицированный аналитик финансовых рынков. Твоя специализация — анализ текстов новостей и определение их тональности (сентимента) относительно финансовых активов (акций, облигаций, валют, сырьевых товаров).
Задача. Проанализируй предоставленный ниже текст новости и определи ее сентимент в контексте финансовых рынков. Сентимент должен быть классифицирован по одной из трех категорий:
-
• позитивный (positive): новость с большой вероятностью окажет положительное влияние на стоимость актива или рынка в целом. Упоминается рост, прибыль, превышение ожиданий, успехи, выигрышные контракты, позитивные прогнозы.
-
• негативный (negative): новость с большой вероятностью окажет отрицательное влияние. Упоминаются убытки, падения, скандалы, провалы, проблемы, санкции, негативные прогнозы.
-
• нейтральный (neutral): новость не содержит выраженного позитивного или негативного тона. Это может быть сообщение о фактах без оценки или новость, в которой позитивные и негативные аспекты уравновешивают друг ДРУга.
Важные указания:
-
• сохраняй фокус на будущем: важно предполагаемое влияние на денежные потоки, риски и стоимость компании/актива;
-
• сентимент определяется для основного актива в новости; если актива нет — для рынка в целом;
-
• избегай субъективизма: опираться только на факты и язык новости;
-
• при анализе будь скептичен, при выборе между позитивным и нейтральным классом делай выбор в пользу нейтрального.
Формат ответа (строго в JSON):
{
"sentiment": "Positive I Negative I Neutral",
"company": "{company_name} I None"
}
Примеры
Вход. Текст новости: «Apple побила рекорды по квартальной выручке, превысив ожидания аналитиков благодаря рекордным продажам iPhone. Акции компании в послеторговую сессию выросли на 5 %».
Ожидаемый выход:
{
"sentiment": "Positive",
"company": "Apple"
}
Вход. Текст новости: «Крупный производитель чипов XYZ предупредил о слабом квартальном прогнозе из-за снижения спроса на ключевом рынке. Инвесторы ожидают коррекции в секторе полупроводников».
Ожидаемый выход:
{
"sentiment": "Negative",
"company": "None"
}
Вход. Текст новости: «Совет директоров компании «Газпром» провел плановое заседание, на котором были утверждена! повестка дня и регламент работы на следующий квартал».
Ожидаемый выход:
{
"sentiment": "Neutral", "company": "None"
}
Выходы модели, которые не подходили под формат JSON (~ 23 %), связанные с дополнительными «размышлениями» модели, были помечены как нейтралвные.
4.3. Сравнение результатов дообучения LLM
Тонкая настройка (fine-tuning) BERT-моделей выявила следующие особенности.
-
• DistilBERT демонстрирует оптимальное соотношение качества и производительности, показывая точность 0.78 при значительно меньшем количестве параметров (66М против 11 ОМ).
-
• RuBERT, специализированный для русского языка, достигает наивысшей точности (0.81), подтверждая важность доменной адаптации.
-
• Полноразмерный BERT показывает достоверное качество (0.78), но уступает оптимизированным аналогам.
Качество классификации по категориям по метрике Accuracy приведено в таблице 5.
Анализ ошибок классификации (нормализованные матрицы ошибок для всех рассмотренных моделей приведены на рис. 5).
-
• Наибольшая путаница наблюдается между нейтральными и позитивными тональностями во всех моделях. Разграничение между этими классами представляет наибольшую сложность, хотя в контексте финансовых рынков правильная классификация негативных новостей играет важную роль, что обусловлено асимметричной и более выраженной реакцией рынка на негативную информацию.
-
• Негативные тональности классифицируются наиболее стабильно, особенно в RuBERT и Yandex GPT (0.89).
-
• DistilBERT показывает сбалансированное качество во всех категориях, хотя и с незначительной потерей точности по сравнению с аналогами.
Основные выводы по дообучению LLM
-
• Дистилляция сохраняет до 95 % качества при сокращении размера модели на 40 %.
-
• Специализация на целевом языке (RuBERT) дает прирост точности на 5-9 % в каждом классе по сравнению с мультиязычными моделями.
-
• Все модели демонстрируют воспроизводимые результаты, подтверждая робастность подхода.
Таблица 5
Предсказанные
Рис. 5. Нормализованные матрицы ошибок LLM
|
0.77 |
0.07 |
0.16 |
|
0.06 |
0.84 |
О.1О |
|
0.18 |
0.05 |
0.77 |
|
Нейтральные |
Негативные Предсказанные YandexGPT |
Позитивные |
|
0.88 |
0.05 |
0.08 |
|
О.1О |
0.89 |
0.01 |
|
0.23 |
0.03 |
0.75 |
|
Нейтральные |
Негативные Предсказанные |
Позитивные |
Качество классификации по категориям
|
Модель |
Нейтральные |
Негативные |
Позитивные |
|
DistilBERT |
0.77 |
0.84 |
0.77 |
|
RuBERT |
0.75 |
0.89 |
0.83 |
|
BERT |
0.70 |
0.80 |
0.89 |
|
YandexGPT |
0.88 |
0.89 |
0.75 |
5. Заключение
В рамках настоящего исследования проведено комплексное сравнение эффективности традиционных машинных алгоритмов и больших языковых моделей в задаче анализа тональности новостных заголовков финансово-экономической тематики. Экспериментальные результаты представлены в табл. 6.
Ранжирование осуществлялось по метрикам accuracy, Fl macro с учетом сбалансированности качества предсказаний по всем классам.
Ключевые достижения
-
• Установлена высокая значимость контекстных признаков — векторные представления с N-граммами (1-4) обеспечили прирост производительности простых ML-алгоритмов на 15-20 % (в среднем до 75 %) по сравнению с базовыми методами.
-
• Применение лингвистической предобработки с использованием морфологического анализатора Pymorphy2 дополнительно повысило точность базовых ML-моделей на 4-5 %, Fl-мера составила 79-80 % для лучших алгоритмов.
-
• Стратегия балансировки классов и аугментации данных позволила увеличить точность классификации еще на 9 %, особенно для миноритарных категорий.
Сравнительный анализ моделей выявил, что оптимизированный алгоритм стохастического градиентного спуска (SGD) демонстрирует наивысшие результаты (Fl-score: 0.89), превосходя специализированные языковые модели. Особенно значимое преимущество SGD наблюдается в классификации негативных тональностей (Fl-score: 0.93) — критически важной категории для финансового домена.
Среди языковых моделей наилучшие результаты показали Yandex GPT (Fl-score: 0.83) и RuBERT (Fl-score: 0.81), что подтверждает важность доменной адаптации и специализации на русскоязычных данных.
Таблица б Итоговое сравнение результатов классификационных алгоритмов
|
Модель |
Класс |
Accuracy |
Precision |
Recall |
Fl |
Ранг |
|
Нейтральные |
0.89 |
0.85 |
0.87 |
0.86 |
||
|
SGD |
Негативные |
0.89 |
0.84 |
0.93 |
0.93 |
1 |
|
Позитивные |
0.89 |
0.88 |
0.88 |
0.88 |
||
|
Нейтральные |
0.83 |
0.85 |
0.88 |
0.86 |
||
|
YandexGPT |
Негативные |
0.83 |
0.82 |
0.89 |
0.85 |
2 |
|
Позитивные |
0.83 |
0.83 |
0.75 |
0.79 |
||
|
Нейтральные |
0.81 |
0.87 |
0.75 |
0.80 |
||
|
RuBERT |
Негативные |
0.81 |
0.77 |
0.89 |
0.83 |
3 |
|
Позитивные |
0.81 |
0.78 |
0.83 |
0.81 |
||
|
Нейтральные |
0.78 |
0.79 |
0.78 |
0.79 |
||
|
DistilBERT |
Негативные |
0.78 |
0.80 |
0.78 |
0.79 |
4 |
|
Позитивные |
0.78 |
0.75 |
0.78 |
0.77 |
||
|
Нейтральные |
0.77 |
0.92 |
0.70 |
0.80 |
||
|
BERT |
Негативные |
0.77 |
0.72 |
0.80 |
0.76 |
5 |
|
Позитивные |
0.77 |
0.65 |
0.89 |
0.75 |
Практическая значимость исследования заключается в демонстрации, что комбинация традиционных ML-методов с продвинутой инженерией признаков позволяет достигать качества, сопоставимого с LLM, при существенно меньших вычислительных затратах. Предложенный подход особенно перспективен для задач реального времени и систем с ограниченными ресурсами.
Перспективные направления дальнейших исследований включают разработку ансамблевых методов, сочетающих сильные стороны традиционных алгоритмов и языковых моделей, использование гибридного подхода к обработке данных в обучении с переносом, а также адаптацию техник few-shot обучения для специфики финансово-экономического домена.