Розробка AI-системи сентимент-аналізу фінансових новин

Потік новин зростає, а ручна оцінка тональності не встигає за ним і дає розбіжності між аналітиками. Ми розробляємо системи сентимент-аналізу під ключ: збираємо потік, розмічаємо, налаштовуємо оцінку тональності та передаємо регламенти вашій команді. Час на підготовку зведень скорочується в рази.
Часті запитання

Чому сентимент-аналіз фінансових новин ламається на живому потоці

Жива стрічка влаштована не так, як розмічений набір для навчання. Одна й та сама подія надходить кількома редакціями, а поруч із сухим фактом стоїть колонка аналітика, де та сама цифра подана з оцінкою.

Якщо сентимент-аналіз фінансових новин читає весь текст одразу, модель згладжує різницю між подією та її трактуванням — і оцінка тональності починає відображати думку автора, а не стан справ.

Усередині новини майже завжди є чужі голоси: цитата брокера, коментар регулятора, посилання на минулий прогноз. Заперечення всередині цитати переважує сам факт, а заголовки з іронією ламають словникові ознаки: формально позитивні слова несуть зворотний сигнал. Без окремого шару перевірки такі матеріали потрапляють у потік непрочитаними.

Далі підключаються шум у новинній стрічці та затримка надходження новин. Одна подія виходить десятками передруків з різною тональністю, і потік перекошується в бік того, хто продублював швидше, а не точніше.

Якщо стрічка надходить із лагом, сигнал спирається на вже відіграний рух — раннього попередження не виходить.

Якість розмітки тональності — корінь усіх цих збоїв. Розмітники розходяться на спірних матеріалах, а мітки часто ставлять за заголовком, не читаючи тіло, і модель упевнено відтворює цю помилку на живих даних.

Показники на охайній вибірці при цьому залишаються високими, тому збій випливає вже в роботі. Розбираємо, як це закривається.

Ефект від системи оцінки тональності: що змінюється

Швидкість реакції на ринкові події вимірюється не часом обчислення моделі, а відрізком від публікації до готового сигналу в черзі.

Стрічка проходить через конвеєр із пріоритетами — спершу біржові оголошення та заголовки профільних видань, потім решта потоку, — і аналітик бачить оцінку в перші хвилини після виходу новини замість півгодини ручного читання.

Частка автоматичного оброблення новин — показник, за яким видно, чи окупилася система. Основна маса публікацій проходить без ручного втручання, на розбір залишаються пограничні випадки: короткі замітки без контексту, сарказм, переказ чужих прогнозів.

Ці приклади потрапляють у чергу додаткової розмітки й стають навчальною вибіркою для наступної ітерації моделі.

Зменшення ручної розмітки вивільняє аналітиків для інтерпретації, а не сортування: замість проставляння емоційного забарвлення вручну команда перевіряє аномалії та розбіжності між сигналом і фактичною реакцією ринку.

Стійкість до хибних сигналів тримається на порозі впевненості: якщо модель вагається між нейтральною та негативною оцінкою, сигнал не йде як торговий, а позначається як такий, що потребує перевірки.

Окремо знімається клас помилок на передруках — дедуплікація згортає дублі однієї новини до єдиної події, і сплеск тональності не розмножується по всьому потоку.

Контури оброблення: порівняння підходів і режимів

Новинний потік неоднорідний: агенції дають стислі заголовки, аналітики — довгі тексти із застереженнями, регулятор — формулювання, де тональність змінюється від одного слова.

Тому контур обирають не за моделлю, а за межею даних і припустимою затримкою: пакетне оброблення за розкладом або потокове оброблення новин у міру публікації.

Контур Коли підходить Обмеження
Готова галузева модель із донавчанням на вашому архіві Є історія публікацій і мітки; потрібен швидкий вихід на робочу якість Якість упирається в обсяг і чистоту архіву; лексика поза навчальним корпусом деградує
Власна модель під ваш словник Термінологія унікальна, є експерти для розмітки галузевої лексики Довший вихід на якість; словник і ваги потрібно супроводжувати постійно
Гібрид правил і статистики Є жорсткі регуляторні маркери та вимога пояснити кожну оцінку Правила конфліктують між собою, кількість винятків поступово зростає
Зовнішній сервіс розмітки Потрібен старт без власного корпусу та власної інфраструктури Закритий контур оброблення даних неможливий; потік обмежений квотами й форматом відповіді

На практиці стійкий результат дає зв'язка: галузева модель, донавчена на вашому архіві, плюс правила для формулювань, які статистика плутає.

Розмітку галузевої лексики та перенавчання ведуть усередині закритого контуру оброблення даних — словник і ваги не залишають ваш периметр, а потокове оброблення новин іде без зупинки збору.

Як влаштований проєкт: етапи інженерної роботи

Роботу розбиваємо на етапи з перевірюваним результатом на кожному — замовник бачить, де перебуває проєкт і що саме можна прийняти частково. Порядок не випадковий: поки не зафіксовано схему розмітки, навчання моделі перетворюється на перебір гіпотез без критерію зупинки.

  1. Аудит джерел новин. Розбираємо, які стрічки, біржові зведення, аналітичні огляди та пресрелізи реально потрапляють у потік: доступність, регулярність, мова, дублі, затримка публікації. На виході — перелік джерел з оцінкою придатності та правилом пріоритету в разі розбіжності оцінок.
  2. Схема розмітки тональності. Задаємо шкалу, правила для змішаних новин і врахування суб'єкта — тональність компанії та тональність ринку в одному тексті розходяться. Фіксуємо словник маркерів та інструкцію, за якою різні розмітники доходять узгодженого результату.
  3. Збір і підготовка даних. Знімаємо архів публікацій, чистимо від дублів і нерелевантних рубрик, приводимо до єдиного формату. Навчальну та контрольну частини розділяємо за часом без перетину періодів — інакше оцінка якості виявиться завищеною.
  4. Розмітка та навчання. Переносимо схему на реальні тексти, розбираємо спірні випадки, навчаємо модель і налаштовуємо поріг спрацювання під вимоги замовника.
  5. Перевірка на контрольній вибірці. Рахуємо точність за класами, окремо дивимося новини з іронією, запереченнями та цитатами. Системний провал повертає нас на крок до розмітки, а не до перенавчання наосліп.
  6. Приймання якості моделі. Цільові показники узгоджуємо до старту, потім порівнюємо з ними результат і показуємо поведінку на даних, зсунутих у часі вперед.
  7. Передача та регламент супроводу. Віддаємо документацію з розмітки, відтворюваний конвеєр, інструкцію з донавчання та порядок моніторингу дрейфу тональності з оновленням словника.

Артефакти проєкту: моделі, схеми розмітки, регламенти

Цінність проєкту сентимент-аналізу визначається не демонстрацією, а тим, що фізично залишається в контурі замовника після здачі. Усі артефакти передаємо до вашого репозиторію з історією змін та описом, щоб запуск моделі й донавчання не залежали від нас.

  • Навчена модель і ваги — запускається в контейнері із зафіксованими залежностями: відтворюваний результат на нових даних без повторного збирання середовища.
  • Схема розмітки та словники — правила анотації зі спірними прикладами, словники фінансової тональності, списки тікерів, заперечень і модальних конструкцій: розмітка залишається узгодженою при розширенні корпусу.
  • Звіт про якість — метрики на відкладеній вибірці за кожним класом, матриця помилок і розбір хибних спрацювань на звітності компаній і коротких заголовках.
  • Інтеграційні специфікації — контракти обміну з внутрішніми системами, формати повідомлень, правила повторів і поведінка при недоступності джерела.
  • Політики доступу до даних — ролі, розмежування за джерелами та журналювання запитів: роботу з чутливими даними підтверджують журнали, а не домовленості.
  • Регламенти експлуатації — моніторинг дрейфу якості, вікно донавчання, процедура відкату на попередню версію моделі.
  • Інструкції для аналітиків — як читати оцінку тональності, пороги впевненості та що робити в нейтральній зоні.

На прийманні проходимо за списком рядок за рядком: кожен пункт має працювати у вас без нашої участі.

Кейс: потік галузевих новин для аналітичного відділу

До впровадження потік галузевих новин розбирали вручну: чотири аналітики по черзі переглядали випуски, коментарі брокерів і замітки профільних видань.

Стрічка давала кілька сотень публікацій на добу, тому за зміну встигали прочитати близько третини — решта йшла в архів, і значущі події іноді спливали лише наступного дня, коли реакція вже втрачала сенс.

Спочатку ми зібрали розмітку разом з аналітиками: корпус публікацій із чотирма класами тональності та окремою міткою невизначеності для випадків, де формулювання не дає однозначного висновку.

Модель навчили на галузевій лексиці й пов'язали з потоком: публікація нижче порога впевненості не йде в сигнал, а потрапляє в чергу ручного розбору — так відділ бачить зони сумнівів і поповнює розмітку.

Метрика До Після
Частка публікацій з автоматичною розміткою ~15% за словниковими правилами 92%
Час від публікації до сигналу 3-4 години 6-8 хвилин
Пропущені значущі події 4-6 на місяць 0-1 за квартал
Ручна вибірка на контроль якості суцільний перегляд 5-7% на тиждень

Контроль якості тримаємо на самому потоці Dow Jones Newswires: щотижня аналітики наосліп розмічають вибірку, розбіжності повертаються в донавчання.

Частка спірних публікацій знизилася, і відділ переключився з читання стрічки на розбір причин — сигнал надходить раніше, а рішення щодо позиції обговорюється по суті, а не за фактом учорашньої новини.

Що робити, якщо потік новин неоднорідний за мовами та форматами?

Єдиний класифікатор на всі випадки тут не працює: маршрутизація будується на вході, до моделі тональності. Спочатку публікація проходить визначення мови та жанру, і лише потім потрапляє до своєї гілки оброблення — з окремим словником, розміткою та набором ознак.

Жанр у спірних випадках важливіший за мову. Біржове зведення, пресреліз, аналітична колонка та розшифрування ефіру дають різну щільність оцінної лексики: у зведенні її майже немає, у колонці — половина тексту. Якщо змішати їх в одному потоці, модель почне видавати нейтральне за емоційне і навпаки.

Маршрутизація за джерелами задається таблицею правил: для кожної стрічки прописані мова, жанр, періодичність і вага при конфлікті сигналів.

Один реліз, що розійшовся трьома мовами, склеюється в загальний запис з єдиним ідентифікатором — сигнал не подвоюється, а переклад не вважається окремою подією.

Поріг ручної перевірки — не константа, а калібрована межа. У чергу на розбір потрапляє те, де впевненість моделі нижча за поріг або мови змішані всередині одного тексту: аналітик перевіряє, а його правки повертаються в навчальну вибірку. Поріг рухають за часткою ручних розборів — якщо вона зростає, зростає й навантаження на аналітиків.

Контроль тримається на трьох числах: частка автоматично розібраних публікацій, точність окремо за кожною мовою та розподіл впевненості за жанрами. Просідання за однією мовою при загальній нормі — сигнал, що час донавчати модель, а не піднімати поріг.

Технічні сумніви: якість, розмітка, підтримка моделі

Сумніви щодо якості зазвичай стосуються не середньої точності, а вузьких місць: сарказм у коментарях аналітиків, цитати й переказ чужих слів, галузева лексика на кшталт «шорт-сквіз» або «інверсія кривої».

Ми перевіряємо такі місця окремими наборами прикладів, а не однією усередненою метрикою по всій вибірці — інакше рідкісні класи розмиваються на тлі нейтральних новин.

Нижче — те, про що найчастіше запитують на прийманні. Для кожного пункту зазначено, як перевіряється стійкість результату і що саме передається разом із моделлю.

Як модель відрізняє сарказм від прямої оцінки?

Саркастичні фрагменти розмічаються окремим класом там, де інтонація змінює знак оцінки. У ознаки йдуть лапки, модальні слова та сусідні речення. Помилки рахуються окремою метрикою: якщо її частка не зростає після додавання нових джерел, правило працює.

Що з цитатами та переказом чужих слів?

Межі цитати визначаються до класифікації, тональність приписується джерелу висловлювання, а не автору новини. У звітності ці оцінки розділені, тому різке слово в інтерв'ю не спотворює тон самого матеріалу.

Як контролюється розмітка навчального набору?

Спірні фрагменти розмічають двоє, розбіжності вище порога йдуть до аналітика. Ведемо журнал рішень і переглядаємо правила в міру появи нових формулювань — узгодженість розмітників вимірюється до старту навчання.

Як враховується галузева лексика?

Словники термінів і скорочень оновлюються разом із джерелами, рідкісні звороти перевіряються на окремому наборі. Розмітку ведемо в Label Studio всередині ізольованого контуру, тому чутливі дані не залишають периметр.

Закритий контур — це обов'язково?

Так, якщо новини або угоди не повинні виходити назовні: навчання, виведення та зберігання розмітки працюють усередині інфраструктури замовника, зовнішні сервіси не викликаються. Оновлення моделей іде тим самим шляхом, що й звичайні релізи.

Що відбувається з перенавчанням після передачі?

Фіксуємо еталонний набір і базову версію моделі, описуємо регламент перенавчання та умови відкату на попередню версію. Команда замовника може оновлювати модель самостійно, ми підключаємося на змінах словників і правил розмітки.

Обговоримо ваше завдання оцінки тональності та обсяг даних

Предметна розмова про оцінку тональності починається не з вибору моделі, а з опису корпусу та режиму роботи сигналу. Чим точніше видно, з чого складається потік публікацій і як швидко потрібна мітка, тим менше припущень закладаємо в оцінку та план робіт.

Що варто підготувати до обговорення завдання оцінки тональності:

  • Приклади публікацій — 30–50 реальних текстів, серед них однозначні та спірні: на них фіксуємо розмітку й поріг спрацювання.
  • Список джерел публікацій: стрічки агенцій, канали компаній, галузеві розсилки, вивантаження аналітиків — з форматом подання (xml, html, pdf) і мовою для кожного.
  • Вимоги до затримки сигналу: від появи новини до готової мітки. Хвилини потребують потокового оброблення, години допускають розбір пакетами.
  • Обмеження за контуром оброблення: чи допустимі зовнішні сервіси або розрахунок іде всередині вашого контуру, де зберігаються тексти та логи, у кого є доступ.
  • Глибина історичного зрізу: за який період потрібна розмітка архіву, щоб зіставити мітки з фактичною динамікою ринку.
  • Склад приймальної команди: хто відповідає за джерела, хто валідує розмітку, хто приймає результат.
  • Критерій приймання: частка правильних міток на спірних прикладах, відтворюваність при повторному прогоні, поведінка на шумному тексті.

Якщо частина даних закрита — не відкладайте розмову: працюємо з тим, що є, решту фіксуємо як умову запуску. Опишіть завдання та надішліть приклади публікацій — повернемося з оцінкою, планом і складом метрик.

Напрямки AI-розробки

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1543
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1374
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1142