Рассмотрим подготовку, первичную обработку и изучение текстовых данных для проекта финансового прогнозирования с помощью машинного обучения, - в рамках изучения количественных методов по программе CFA (Уровень II).
Робо-читатели (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. Обратите внимание на аннотации настроения в конце каждого предложения - с символом префикса «@».
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 предложений из корпуса таблицы данных.
Предложение |
Настроение |
---|---|
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 показан образец текста после очистки. Очищенный текст не содержит знаков пунктуации и чисел, а также содержит полезные замены.
Предложение |
Настроение |
---|---|
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 quarter 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 |
Очищенный текст необходимо нормализовать с помощью следующих процедур нормализации:
После выполнения всех этих операций повторно выполняется удаление пустых пространств.
В рамках нормализации текста различные аббревиатуры валют, такие как EUR и USD, могут быть преобразованы в единый токен, такой как «currencysign».
Поскольку мы имеем дело с текстом из финансовой области, произведенная ранее замена знака доллара также может быть заменена токеном «currencysign». Этот шаг удалит избыточные схожие токены, сохранив при этом их значение.
Благодаря тщательному изучению текста и использованию знаний в финансовой области, можно выполнить аналогичные замены избыточных токенов.
Иллюстрация 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).
"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 создается после дальнейшего анализа и выполнения таких операций, как исследовательский анализ данных и выбор признаков.