Робо-читатели (robo-readers) - это автоматизированные программы, используемые для анализа большого количества текста, включая новостные статьи и социальные сети. В пространстве финансовых услуг робо-читатели используются инвесторами для изучения того, как взгляды, выраженные в тексте, связаны с будущими финансовыми результатами компаний.

Одним из важных измерений, которое пытаются анализировать робо-читатели, является полярность настроений. Полярность настроения (sentiment polarity) означает, насколько позитивная, негативная или нейтральная фраза или утверждение связана с «целью».

Например, в заявлении «Корпорация XYZ делает потрясающие вещи с помощью нового инновационного продукта» выражается позитивное настроение (то есть, полярность) в отношении корпорации XYZ (то есть, цель настроения).

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

Чтобы показать практическое применение больших данных, мы используем проект финансового прогнозирования для изучения того, насколько эффективно можно классифицировать настроения, выраженные в англоязычных новостных статьях на сервисе LexisNexis (база данных новостей), связанных со всеми компаниями, входящими в индекс в NASDAQ OMX Helsinki (Финляндия).

Чтобы выполнить эту задачу, мы будем следовать этапам построения текстовой модели машинного обучения, описанным ранее:

Курирование, подготовка и первичная обработка текста.

Курирование текста.

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

Текстовые данные получены из Банка Финансовых Фраз (Financial Phrase Bank), размещенного на веб-сайте Researchgate.net.

Архив с данными можно скачать здесь:

https://www.researchgate.net/publication/251231364_financialphrasebank-v10

Файл архива содержит шесть текстовых файлов. Первые два файла - это лицензионная информация и файл readme. Другие четыре файла содержат текстовые данные.

Данные представлены в простом текстовом формате (.txt), который можно просмотреть с помощью любого текстового редактора. Обратите внимание, что это перекрестные данные (не данные временных рядов).

Четыре файла содержат в общей сложности 14,780 предложений. Настроение каждого предложения предварительно размечено как один из трех классов настроений:

  • положительный,
  • нейтральный или
  • отрицательный.

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

В этом проекте используются предложения из двух текстовых файлов (Sentences_AllAgree и Sentences_75Agree), размеченных как классы положительных или отрицательных настроений.

В этих двух файлах содержится в общей сложности 2,180 предложений, в том числе 1,457 предложений с классом положительных настроений и 723 предложения с классом отрицательных настроений.

Контролируемая модель машинного обучения обучается, валидируется и тестируется с использованием этих данных.

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

В Иллюстрации 27 показана выборка из 10 рядов необработанного текста из текстового файла Sentences_AllAgree. Обратите внимание на аннотации настроения в конце каждого предложения - с символом префикса «@».

Иллюстрация 27. Десять образцов предложений и настроений из необработанного текстового файла (Sentences_AllAgree.txt).

Profit before taxes amounted to EUR 56.5 mn , down from EUR 232.9 mn a year ago .@negative

Profit before taxes decreased by 9 % to EUR 187.8 mn in the first nine months of 2008 , compared to EUR 207.1 mn a year earlier .@negative

Profit before taxes decreased to EUR 31.6 mn from EUR 50.0 mn the year before .@negative

Profit before taxes was EUR 4.0 mn , down from EUR 4.9 mn .@negative

The company 's profit before taxes fell to EUR 21.1 mn in the third quarter of 2008 , compared to EUR 35.8 mn in the corresponding period in 2007 .@negative

In August-October 2010 , the company 's result before taxes totalled EUR 9.6 mn , up from EUR 0.5 mn in the corresponding period in 2009 .@positive

Finnish Bore that is owned by the Rettig family has grown recently through the acquisition of smaller shipping companies .@positive

The plan is estimated to generate some EUR 5 million ( USD 6.5 m ) in cost savings on an annual basis .@positive

Finnish pharmaceuticals company Orion reports profit before taxes of EUR 70.0 mn in the third quarter of 2010 , up from EUR 54.9 mn in the corresponding period in 2009 .@positive

Finnish Sampo Bank , of Danish Danske Bank group , reports profit before taxes of EUR 152.3 mn in 2010 , up from EUR 32.7 mn in 2009 .@positive

Подготовка текста (очистка).

Необработанные текстовые данные (то есть предложения) первоначально организованы в таблицу данных. Таблица данных содержит два столбца: первый столбец (Предложение) предназначен для текста, а второй столбец (Настроение) предназначен для соответствующего класса настроения.

Символ разделителя, которым в данном случае является «@», используется для разделения данных на столбцы текста и классов.

Коллекция текстовых данных в любой форме, включая список, матрицу или таблицу данных, называется корпусом (corpus).

В Иллюстрации 28 показана выборка из 10 предложений из корпуса таблицы данных.

Иллюстрация 28. Десять строк из таблицы данных (корпуса).

Предложение

Настроение

Profit before taxes amounted to EUR 56.5 mn , down from EUR 232.9 mn a year ago .

negative

Profit before taxes decreased by 9 % to EUR 187.8 mn in the first nine months of 2008 , compared to EUR 207.1 mn a year earlier .

negative

Profit before taxes decreased to EUR 31.6 mn from EUR 50.0 mn the year before .

negative

Profit before taxes was EUR 4.0 mn , down from EUR 4.9 mn .

negative

The company 's profit before taxes fell to EUR 21.1 mn in the third quarter of 2008 , compared to EUR 35.8 mn in the corresponding period in 2007 .

negative

In August-October 2010 , the company 's result before taxes totalled EUR 9.6 mn , up from EUR 0.5 mn in the corresponding period in 2009 .

positive

Finnish Bore that is owned by the Rettig family has grown recently through the acquisition of smaller shipping companies .

positive

The plan is estimated to generate some EUR 5 million ( USD 6.5 m ) in cost savings on an annual basis .

positive

Finnish pharmaceuticals company Orion reports profit before taxes of EUR 70.0 mn in the third quarter of 2010 , up from EUR 54.9 mn in the corresponding period in 2009 .

positive

Finnish Sampo Bank , of Danish Danske Bank group , reports profit before taxes of EUR 152.3 mn in 2010 , up from EUR 32.7 mn in 2009 .

positive

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

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


Знаки пунктуации: знаки пунктуации, символы процента и валют заменяются словесными аннотациями, чтобы сохранить их сущность в финансовых текстах.

Поскольку предложения уже были идентифицированы и извлечены из исходного текста, знаки пунктуации, полезные для определения дискретных предложений (таких как точка, точка с запятой и запятые), удаляются.

Некоторые специальные символы, такие как «+» и «©», также должны быть удалены. Хорошей практикой является выполнение замены символов словесными аннотациями, прежде чем удалить остальные знаки пунктуации.


Числа: Числовые значения в тексте не имеют существенной полезности для прогнозирования настроений в этом проекте, потому что настроения в первую очередь зависит от слов в предложении.

Вот пример предложения: «Компания Ragutis, расположенная во втором по величине городе Литвы, Каунасе, усилила свои продажи в прошлом году на 22.3% до 36.4 миллионов литов».

Слово «усилила» подразумевает, что наблюдался рост продаж, поэтому анализ этого настроения не должен полагаться на интерпретацию числовых текстовых данных.

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

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

Однако, перед удалением чисел, сокращения, представляющие порядки величин, такие как миллион (обычно указываются как «m», «mln» или «mn»), миллиард или триллион, заменяются полным словом.

Наличие этих слов сохраняет исходное значение текста и может быть полезно при прогнозировании настроения предложений.


Пробелы и пустые пространства (white spaces): В необработанном тексте присутствуют пробелы. Дополнительные пустые пространства могут появляться после выполнения вышеуказанных операций по удалению посторонних символов.

Пустые пространства необходимо удалить, чтобы сохранить текст нетронутым. В Иллюстрации 29 показан образец текста после очистки. Очищенный текст не содержит знаков пунктуации и чисел, а также содержит полезные замены.

Иллюстрация 29. Десять рядов выборки после процесса очистки.

Предложение

Настроение

Profit before taxes amounted to EUR million down from EUR million a year ago

negative

Profit before taxes decreased by percentSign to EUR million in the first nine months of compared to EUR million a year earlier

negative

Profit before taxes decreased to EUR million from EUR million the year before

negative

Profit before taxes was EUR million down from EUR million

negative

The companys profit before taxes fell to EUR million in the third quarter of compared to EUR million in the corresponding period in

negative

In August October the companys result before taxes totalled EUR million up from EUR million in the corresponding period in

positive

Finnish Bore that is owned by the Rettig family has grown recently through the acquisition of smaller shipping companies

positive

The plan is estimated to generate some EUR million USD million in cost savings on an annual basis

positive

Finnish pharmaceuticals company Orion reports profit before taxes of EUR million in the third quar­ter of up from EUR million in the corresponding period in

positive

Finnish Sampo Bank of Danish Danske Bank group reports profit before taxes of EUR million in up from EUR million in

positive

Первичная обработка текста (предварительная обработка).

Очищенный текст необходимо нормализовать с помощью следующих процедур нормализации:

  1. Преобразование всего текста в нижний регистр для консолидации дублирующихся слов (например,  «THE», «The» и «the»).
  2. Стоп-слова не удаляются, потому что некоторые стоп-слова (например, «not», «more», «very» и «few») имеют важный смысл в финансовых текстах, полезный для прогнозирования настроений.
    Некоторые стоп-слова, такие как артикли (a, an, the), также могут быть удалены. Тем не менее, чтобы избежать путаницы, на этом этапе эти слова не удаляются.
    Эта проблема будет пересмотрена на этапе исследования данных, на котором текст будет тщательно изучен с использованием частотного анализа и будут найдены дополнительные стоп-слова для этих конкретных текстовых данных.
  3. Стемминг, преобразование различных форм слова в базовое слово (stem), применяется к тексту, поскольку эту операцию просто выполнить, и она подходит для обучения модели при прогнозировании настроений.

После выполнения всех этих операций повторно выполняется удаление пустых пространств.

В рамках нормализации текста различные аббревиатуры валют, такие как EUR и USD, могут быть преобразованы в единый токен, такой как «currencysign».

Поскольку мы имеем дело с текстом из финансовой области, произведенная ранее замена знака доллара также может быть заменена токеном «currencysign». Этот шаг удалит избыточные схожие токены, сохранив при этом их значение.

Благодаря тщательному изучению текста и использованию знаний в финансовой области, можно выполнить аналогичные замены избыточных токенов.

Иллюстрация 30 показывает образцы текста после нормализации.

Иллюстрация 30. Десять рядов текста после процесса нормализации.

Предложение

Настроение

profit befor tax amount to currencysign million down from currencysign million a year ago

negative

profit befor tax decreas by percentsign to currencysign million in the first nine month of compar to currencysign million a year earlier

negative

profit before tax decreas to currencysign million from currencysign million the year befor

negative

profit befor tax was currencysign million down from currencysign million

negative

the compani profit befor tax fell to currencysign million in the third quarter of compar to currency- sign million in the correspond period in

negative

in august octob the compani result befor tax total currencysign million up from currencysign million in the correspond period in

positive

finnish bore that is own by the rettig famili has grown recent through the acquisit of smaller shipping company

positive

the plan is estim to generat some currencysign million currencysign million in cost save on an annual basi

positive

finnish pharmaceut compani orion report profit befor tax of currencysign million in the third quarter of up from currencysign million in the correspond period in

positive

finnish sampo bank of danish danske bank group report profit befor tax of currencysign million in up from currencysign million in

positive

Нормализованный текст был токенизирован, что дало 2,673 уникальных токена. В целом, эти уникальные токены включают в себя мешок слов (BOW) текстового корпуса.

В Иллюстрации 31 показан пример 100 токенов из мешка слов. Этот предварительный мешок слов, состоящий из юниграмм, можно использовать для построения терм-документной матрицы (DTM).

Иллюстрация 31. Выборка из 100 токенов из предварительного мешка слов.

"for"

"foundri"

"quarter"

"shop"

"currencysign"

"nokia"

"same"

"plan"

"move"

"nokian"

"tax"

"earn"

"percentsign"

"director"

"rose"

"dividned"

"report"

"as"

"chain"

"number"

"prior"

"last"

"machin"

"componenta"

"led"

"from"

"announc"

"a"

"handset"

"pre"

"fourth"

"loss"

"board"

"oper"

"propos"

"repres"

"user"

"retail"

"market"

"is"

"the"

"divis"

"of"

"helsinki"

"million"

"after"

"period"

"team"

"zero"

"tyre"

"profit"

"beat"

"and"

"will"

"correspond"

"per"

"cloth"

"decemb"

"sepp"

"custom"

"net"

"share"

"to"

"year"

"sanyo"

"it"

"in"

"expect"

"by"

"total"

"megafon"

"talentum"

"consolid"

"accord"

"compar"

"afx"

"doubl"

"higher"

"with"

"while"

"g"

"analyst"

"increas"

"said"

"paid"

"finnish"

"base"

"late"

"amount"

"estim"

"sale"

"close"

"earlier"

"manufactur"

"third"

"dealer"

"up"

"subscrib"

"reach"

"teliasonera"

Окончательный DTM для обучения модели будет подготовлен после стадии исследования данных. Исследование данных может выявить ненужные токены или аномалии в данных.

Любые ненужные токены, которые не являются информативными, должны быть удалены, что также повлияет на создание n-грамм.

Таким образом, окончательный DTM создается после дальнейшего анализа и выполнения таких операций, как исследовательский анализ данных и выбор признаков.