Прогнозирование событий и Data Mining — вперед в будущее

в 14:38, , рубрики: Business Intelligence, data mining, OSINT, python, Блог компании «Group-IB», метки: ,

В Сети появился интересный сервис мониторинга информации по открытым источникам — Recorded Future.

Он позволяет аккумулировать информацию из более чем 150 000 различных СМИ с возможностью хранения архива до 5 лет с возможностью последующего анализа и извлечения знаний о возможных последствиях произошедшего и будущих событиях.

Автором сервиса является Chris Holden, любезно предложивший нам воспользоваться Recorded Future без внесения оплаты, хотя полный функционал доступен только на коммерческой основе.

Например, сейчас сервис осуществляет непрерывный мониторинг более 8 000 политических лидеров различных государств мира, позволяя отслеживать куда и зачем поедет какой-либо известный деятель. Порой, хорошая аналитика этих событий позволяет установить взаимосвязи в международных отношениях и спрогнозировать наиболее вероятные модели их развития путем анализа истории путешествий выбранного деятеля.

Наиболее интересные кейсы, демонстрирующие возможности системы, отражены на следующих прикладных примерах:

отслеживание возникающих киберугроз и действий хакеров в мире
анализ содержимого писем из круга приближенных Усамы Бин-Ладена
анализ протестной активности
анализ выборов в Греции и Египте

Recorded Future в действии

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

Аналитика позволяет отслеживать события, связанные с появлением какой-либо новой технологии, заключения контрактов, смены членов совета директоров или ключевых лиц компании, что уже представляет собой очень мощный и удобный аналитический инструмент с возможностью оценки эмоциональной окраски («позитив», «негатив»):

Фьючерс — «Что наметила Apple на 2012/2013 год»

Прогнозирование событий и Data Mining — вперед в будущее

Сервис предлагает платное API (http://code.google.com/p/recordedfuture/wiki/RecordedFutureAPI), позволяющее гибко задавать метки для отслеживания по заданным критериям, включая географию:

Прогноз протестной активности на август 2012 года в отношении РФ

Прогнозирование событий и Data Mining — вперед в будущее

Пример создания запроса (Python):

import urllib, json, datetime, zlib, sys, time

def query(q, usecompression=True):
	"""
        Результатом выполнения запроса будет являться JSON-объект
	"""
	try:
		url = 'http://api.recordedfuture.com/ws/rfq/instances?%s'

		if usecompression:
			url = url + '&compress=1'

		for i in range(3):
			try:
				data = urllib.urlopen(url % urllib.urlencode({"q":q}))

				if type(data) != str:
					data = data.read()

				if usecompression:
					data = zlib.decompress(data)
				break
			except:
				print >>sys.stderr, "Retrying failed API call."
				time.sleep(1)

                res = json.loads(data)

                if res['status'] != "SUCCESS":
                        print >>sys.stderr, "Error",str(res['errors'])

		return res
	except Exception, e:
		print str(e)
		return {'status': 'FAILURE', 'errors': str(e)}

Идея, используемая в сервисе, очень проста — из всех источников выделяются даты в различных нотациях (числовом, символьном) после чего события, которые за ними закреплены, — регистрируются. При этом анализируется, когда именно это событие произойдет («скоро», «через несколько месяцев», «в далеком будущем»). Сервис постоянно высылает обновления по наиболее интересным сферам для отслеживания:

Прогнозирование событий и Data Mining — вперед в будущее

Использование подготовленного класса на Python:

python company-entquery.py MYTOKEN tickerfile.txt 2010-06-14 2010-06-20 > entoutputfile.txt,
python company-aggquery.py MYTOKEN tickerfile.txt 2010-06-14 2010-06-20 > aggrawoutputfile.txt
где:

MYTOKEN — полученный хэш доступа к API;
tickerfile.txt — специальный файл, директивы которого указывают на СМИ и ресурсы, которые требуется анализировать.

Сводный отчет будет представлять собой вывод вида:

Ticker,Entity,Time,Count,Momentum,Positive,Negative
MSFT,33312449,2011-11-01 19:30:00,780,0.43689,0.062,0.00461
GOOG,33321272,2011-11-01 19:30:00,1707,0.72436,0.07052,0.0254
AMZN,33328212,2011-11-01 19:30:00,344,0.20139,0.05491,0.01374
CHK,33511577,2011-11-01 19:30:00,6,0.00817,0,0
MSFT,33312449,2011-11-02 19:30:00,1235,0.4538,0.04981,0.0137
GOOG,33321272,2011-11-02 19:30:00,2602,0.80317,0.06482,0.02282
AMZN,33328212,2011-11-02 19:30:00,619,0.22222,0.06884,0.00787
CHK,33511577,2011-11-02 19:30:00,45,0.02334,0,0.02581

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

Автор: skvz

* - обязательные к заполнению поля