Структурированные данные Google. Отчет о структурированных данных

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

Массивы представляют собой формальное объединение нескольких однотипных объектов (чисел, символов, строк и т.п.), рассматриваемое как единое целое. Все компоненты массива – это данные одного типа.

Общий вид определения массива:

Type A = array [тип индекса массива] of [тип компонент массива]

Например, М1=array of real;

Строки – это массив символов, но количество символов в строке может меняться. Строка трактуется как цепочка символов произвольной длины. Максимальное количество символов не более 255. Каждый символ в строке имеет свой индекс (номер).

Запись – это структура данных, состоящая из фиксированного числа компонентов, называемых полями записи. В отличие от массива, компоненты записи (поля) могут быть различного типа. Записи позволяют объединять значения различных типов.

Month: (Jan, Feb, Mar, Apr, May, Jun, July, Aug, Sept, Oct, Nov, Dec);

Year: 2000..2050;

Множества – это наборы однотипных, логически связанных друг с другом объектов. Количество элементов, входящих в множество может меняться от 0 до 256. Именно непостоянством своих элементов множества отличаются от массивов и записей.

Digits = Set of 1..5;

Файл – именованная область внешней памяти. Файл содержит компоненты одного типа, кроме файлов (т.е. нельзя создать «файл файлов»). Длина файла не оговаривается и ограничивается только ёмкостью устройств внешней памяти.

F: File of Integer;

Более подробно со структурированными типами ознакомимся при дальнейшем изучении языка.

      1. Указатель (ссылочный тип)

Cодержит адрес байта памяти, в котором находится значение данных определённого типа. Этот тип называют также ссылочным. Для описания используется символ ^ и идентификатор типа. Например, P=^integer;

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

    1. Константы

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

    Числовые константы служат для записи чисел. Различают следующие их виды:

Целые числа: записываются со знаком + или -, или без знака, по обычным арифметическим правилам: -10 +5 5

Вещественные числа могут записываться в одной из двух форм:

обычная запись : 2.5 -3.14 2. - обратите внимание, что целая часть отделяется от дробной символом точки;

экспоненциальная форма: в этой записи вещественное число представляется в виде m*10 p , где m – мантисса или основание числа, 0.1≤|m|≤1, p – порядок числа, это целочисленная константа. Действительно, любое вещественное число можно представить в экспоненциальной форме:

153.5 -0.1535*10 3

99.005 0.99005*10 2

Во всех IBM-совместимых компьютерах вещественные числа хранятся как совокупность мантиссы и порядка, что позволяет упростить операции над ними, используя специальную арифметику, отдельно обрабатывающую мантиссу и порядок. Для программной записи числа в экспоненциальной форме вместо "умножить на 10 в степени" используется обозначение E или e (латинская):

153.5 -0.1535*10 3 -0.1535E3 или -1.535E02

99.005 0.99005*10 2 0.99005E+2 или 9.9005e+01

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

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

Шестнадцатеричные числа состоит из шестнадцатеричных цифр, которым предшествует знак $. Диапазон шестнадцатеричных чисел – от $00000000 до $FFFFFFFF.

Кроме числовых констант существуют и другие их виды:

    Логические константы.

Служат для проверки истинности или ложности некоторых условий в программе и могут принимать только одно из двух значений : служебное слово true обозначает истину, а false – ложь;

    Символьные константы.

Могут принимать значение любого печатаемого символа и записываются как символ, заключенный в апострофы ("одинарные кавычки"):

В последнем случае значение символьной константы равно символу пробела. Если требуется записать сам символ апострофа как символьную константу, внутри внешних апострофов он удваивается: """"

К символьным также относятся константы вида #X, где X – числовое значение от 0 до 255 включительно, представляющее собой десятичный ASCII -код символа. Таблицы ASCII-кодов, используемых операционными системами DOS и Windows, приведены в Приложении 1. Например, значение #65 будет соответствовать коду символа "A" латинской.

    Строковые константы.

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

"Введите значение X:"

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

Константы в Турбо Паскале могут быть именованными. Неименованные константы используются, например, при выводе текста сообщений в предыдущем примере. Именованные константы описываются в разделе описаний программы оператором следующего вида:

const Имя1=Значение1;

Имя2=Значение2;

ИмяN=ЗначениеN;

Здесь ключевое слово const показывает начало раздела описаний именованных констант. Ясно, что зачастую удобнее обращаться к константе по имени, чем каждый раз переписывать ее числовое или строковое значение. Пример раздела констант:

const e=2.7182818285;

lang="Turbo Pascal 7.1";

Здесь описана числовая константа e со значением основания натурального логарифма и строковая константа с именем lang, содержащая строку "Turbo Pascal 7.1".

Каждое даваемое программистом имя должно быть уникальным в пределах одной программы. Если мы включим этот раздел в свою программу, мы уже не сможем создать в ней других объектов с именами e и lang.

Примеры

Если вы не знаете, как добавить код разметки на сайт, воспользуйтесь инструментом Маркер .

Вы также можете изучить порядок работы со структурированными данными и добавить разметку на сайт вручную.

Как разметить веб-страницу или письмо

Разметку можно разместить на HTML-странице или в HTML-файле письма электронной почты.

Как разметить веб-страницу

Выполните следующие действия:

Как разметить письмо в формате HTML

Выполните следующие действия:

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

Чтобы сохранить разметку в том виде, в каком она существует в данный момент, создайте для страницы закладку в браузере. Мастер разметки структурированных данных "запомнит" разметку, включая все ее значения, на месяц.

Как удалить теги

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

Как удалить отдельный тег

  1. Откройте образец страницы или сообщения электронной почты и нажмите на нужный тег.
  2. В появившемся меню выберите Удалить тег .

Также вы можете найти нужный элемент в столбце "Мои элементы данных", навести на него указатель мыши и нажать "Х" справа.

Как удалить все теги

Расширенная разметка дат

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

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

Как добавлять один тег для даты

  1. Начните выполнять разметку в соответствии с инструкциями для страницы или письма .
  2. На странице добавления тегов выделите с помощью мыши дату, например 2 июня 2012 г.
  3. В открывшемся меню выберите Дата > Дата/время или диапазон .
  4. страницы или письма .

Добавление тегов для фрагментов дат

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

Учтите, что Мастер разметки не распознает даты, которые разделены на фрагменты и при этом представляют собой диапазон (например, 4–5 июня и 2012 ).

Как добавить теги для фрагментов дат

  1. Начните выполнять разметку в соответствие с инструкциями для страницы или письма .
  2. На странице добавления тегов выберите фрагмент даты с помощью мыши, например "июня ".
  3. В открывшемся меню выберите Дата > Дополнительно > нужный фрагмент . Пример: Дата > Дополнительно > Месяц .

    Мастер разметки добавит дату в столбец "Мои элементы данных".

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

Примеры тегов для дат

Ниже приведены примеры дат, которые вы можете отметить.

  • Отдельная дата. Например, можно пометить следующие варианты:
    • 2012 г., 4 июня
    • 4 июня 2012 г.
    • 13.04.2012 – ваши теги могут включать другие разделители и четырехзначное значение года, например 13-4-2012 . В случае с датами, которые можно читать по-разному, Google интерпретирует первое число как месяц. Например, дата 6/4/12 распознается как 4 июня 2012 г., а 13/4/12 – как 13 апреля 2012 г.
    Вы можете отметить несколько дат на странице. Например, если отметить 4 июня 2012 г. и 6 июня 2012 г. , то это будет означать, что мероприятие пройдет дважды: первый раз 4 июня, а второй – 6 июня.
  • Диапазон дней. Например, 4-7 июня 2012 г.
    Обратите внимание, что разделитель между начальной и конечной датой должен быть дефисом (-).
  • Даты с указанием времени. Например, можно отметить следующие даты:
    • 4 июня 2012 г. 3 pm – дата и время (am или pm). Если не указано, утреннее или вечернее время, Google интерпретирует данные с учетом стандартного рабочего времени. Например, 11 будет считаться за 11 am, а 2 – за 2 pm.
    • 4 июня 2012 г., 15:00 – 24-часовой формат времени.
    • 4 июня 2012 г. 3 pm EST или 4 июня 2012 г. 3 pm -5:00 – время с указанием часового пояса или отклонения по UTC/GMT.
    • 4 июня 2012 г., 2-3 pm или 4-5 июня 2012 г., 2-3 pm – диапазоны времени с диапазоном дат или без него.
  • Фрагменты дат.Вы можете использовать расширенные настройки тегов, чтобы отметить следующие фрагменты текста как отдельную дату:
    • День: 4 июня, среда . Год: 2013 .
    • 4 июня | Время: 7:30pm-9:30pm и 2012
    Google не распознает диапазоны дат, распределенные по нескольким тегам. Например, следующие теги для дат являются недействительными:
    • 4-5 июня и 2012

Как указать формат даты вручную

Мастер разметки распознает даты на странице в соответствии с правилами форматирования, заданными для языка этой страницы. Например, если на странице используется американский английский (en-US), дата 12-06-12 будет означать 6 декабря 2012 г. Но если на странице используется британский английский (en-GB), то та же дата будет интерпретироваться как 12 июня 2012 г. Мастер разметки автоматически определяет язык страницы и использует соответствующие правила.

Чтобы задать другой формат даты для Мастера разметки, выполните следующие действия:

  1. В открывшемся окне выберите формат даты из соответствующего списка.
  2. Нажмите Сохранить .

Как добавить недостающие данные

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

Добавить недостающие данные, а также изменить или удалить их, можно в любое время.

Как добавить, изменить или удалить данные

  1. Нажмите Добавить отсутствующие теги в нижней части столбца "Мои элементы данных".
  2. Выполните любое из следующих действий:
    • Выберите тег из списка и введите значение. Например, вы можете выбрать тег Категория и ввести значение "Русские народные песни".
    • Удалите существующие данные, нажав X в текстовом поле.
    • Измените значение в поле.
  3. Нажмите Сохранить .
    Изменения отобразятся в столбце "Мои элементы данных"

Как изменить язык страницы

Мастер разметки структурированных данных автоматически определяет язык образца страницы или сообщения электронной почты, чтобы лучше распознавать данные. Если инструмент ошибся, вы можете задать правильный язык самостоятельно.

Для этого выполните следующие действия:

    Нажмите на значок настроек и выберите .

  1. В открывшемся окне укажите язык.
  2. Нажмите Сохранить .

Что такое schema.org

schema.org – это результат совместной работы Google, Microsoft и Yahoo! по усовершенствованию Интернета путем создания общего стандарта для описания веб-данных. Если вы добавите на свои HTML-страницы разметку schema.org, многие компании и системы, включая Google Поиск, смогут распознать информацию на вашем сайте. Аналогичным образом, если вы добавите разметку schema.org в электронное письмо в формате HTML, его данные сможет распознавать не только Gmail, но и другие почтовые сервисы.

Разметка и микроформаты становятся невероятно важными элементами локального ранжирования. Schema.org был создан в прошлом году именно для того, чтобы создать общий язык взаимодействия крупнейших поисковых систем — Google, Bing и Yahoo — который позволял бы идентифицировать тип контента, предоставляемого поисковой системе веб-сайтами. Мы лишь начинаем открывать для себя все возможности schema, однако факты таковы, что если вы не присоединитесь к нам сейчас, вы рискуете остаться в хвосте.

Начнем с основ: добавления schema-разметки к адресу вашего веб-сайта или блога. Если ваш бизнес завязан на конкретной гео-локации или сфере услуг, вам непременно следует указывать на сайте свой физический адрес.

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

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

Давайте начнем с почтового адреса. Воспользуйтесь Schema-Creator.org и сделайте несколько первых шагов. Здесь вы можете указать саму организацию, а также более конкретно задать сферу ее деятельности, если таковая найдется среди имеющихся в списке.

Можете удалить строку с описанием, чтобы сэкономить место. Убедитесь лишь, что вы не тронули название компании, URL и физический адрес. Можете также поколдовать со стилями, однако перед использованием протестируйте код на странице проверки структурированной разметки в Google .

Schema-Creator.org также добавляет в код построчную разбивку, из-за чего адрес начинает выглядеть «неестественно». Избавьтесь от тех фрагментов кода, что разделяют город, регион, почтовый индекс и страну. В примере выше вы можете видеть, насколько «странно» адрес будет выглядеть для читателя, если вы этого не сделаете.

После того как приложение создаст код для вашей компании, вы можете добавить его на свой сайт, вновь проверив оформление и точность введенной информации. Скорее всего, вы вставите адрес в футер или разместите в боковой панели, а может еще в разделе «о нас» и на странице для обратной связи. Не стесняйте себя, вы можете разместить код сколь угодное число раз.
Если же вы решите создать разметку, включающую ваш контактный телефон, вам придется воспользоваться другим инструментом, поскольку Schema-Creator.org не позволяет добавлять номер телефона в качестве данных об организации. Воспользуйтесь Microtdatagenerator.com .

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

Не забывайте: Название компании и Телефон здесь являются фрагментами Local Business Schema, в то время как физический адрес магазина входит в Postal Address schema. По моему мнению, наиболее запутанным аспектом Schema является комбинирование различных схем. Их очень легко объединять, однако следует соблюдать осторожность и следить за правильностью интерпретации подобных комбинаций. Один пропукщенный

и мы получем абсолютно нечитабельный фрагмент.

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

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

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

Mindy\’s Kitten Movie Store


123 Angry Cat Lane
Glenwood Springs ,
CO
81601

Phone: < span itemprop="telephone«>970-555-CATZ

Далее мы должны отправиться на Schema.org и найти синтаксис для широты и долготы. Эти данные являются частью другой схемы, которую можно найти в разделе «Thing > Intangible > StructuredValue > GeoCoordinates» на сайте schema.org.

Следует убедиться, что мы правильно вставляем эту информацию в наш код. Вы можете видеть это на примере схем «LocalBusiness» и «PostalAddress» структурированных по-разному и имеющих отличающиеся div-теги. Мы можем использовать то, чему уже научились ранее и добавить новый div для Latitude и Longitude — широты и долготы. После этого наш код будет выглядеть следующим образом

Mindy\’s Kitten Movie Store


123 Angry Cat Lane
Glenwood Springs ,
CO
81601

Phone: 970-555-CATZ


38.8977 N
77.0366 W

Здесь действует правило известное всем с начальной школы: красный цвет — это плохо!

Итак, теперь вы знаете, как создавать, редактировать, править и проверять разметку для адреса и местоположения вашей компании с помощью Schema.org. Если вы пользуетесь более удобным методом или у вас есть какие-нибудь вопросы — не стесняйтесь, оставляйте сообщения ниже. Я без ума от новых возможностей разметки и буду рада ответить на любые вопросы или помочь в решении проблем.

От редакции

Обратите внимание, господа, статья - 2012-го года. Сколько воды утекло с тех пор, сколько тенденций сменилось, сколько появилось новых инструментов и возможностей.

Вам нужен разработчик, который не только в курсе всех нововведений, но и умеет смотреть за горизонт?

Рекомендуем обратиться к участникам объективного и независимого рейтинга веб-студий !

На каждом предприятии существует множество различных баз данных, которые пополняются от источников структурированных данных. Структурированные данные – данные, которые вводятся в базы данных в определенной форме, например, таблиц Excel, со строго определенными полями. Совокупность баз данных предприятия называется в англоязычной литературе Enterprise Data Warehouse (EDW) – буквально «склад данных». В русскоязычной литературе мне пока не встречалось аналога этого термина, поэтому назовем это «склад данных предприятия». Для красоты будем использовать английскую аббревиатуру EDW.

Источники структурированных данных – это приложения, которые снимают данные различных транзакций. Например, это могут быть CDR в сети оператора, извещения об авариях на сети (trouble tickets), финансовые транзакции по банковским счетам, данные системы ER (Enterprise Resource Planning), данные прикладных программ, и др.

Бизнес-аналитика BI (Business Intelligence) – компонент обработки данных. Это различные приложения, инструменты и утилиты, которые позволяют анализировать собранные в EDW данные и принимать решения на их основе. Это системы генерации операционных отчет, выборочные запросы, приложения OLAP (On-Line Analytical Processing), т.н. «дисруптивная аналитика», системы предиктивного анализа и визуализации данных. Попросту говоря, менеджер должен видеть бизнес-процесс в удобной для восприятия форме, лучше всего графической и анимационной, чтобы быстро принимать оптимальные решения. Первый закон бизнеса: правильное решение – это решение принятое вовремя. Если правильное решение для вчерашнего дня принято сегодня, не факт, что оно еще остается правильным.

А что делать, если источники данных – неструктурированные, разнородные, полученные из разных источников? Как будут работать с ними аналитические системы? Попробуйте выделить мышкой несколько ячеек с данными в таблице Excel и вставить в простой текстовый редактор (например, Notepad) и вы увидите, что такое «неструктурированные данные» (Unstructured Data). Примеры неструктурированных данных: электронная почта, информация из соцсетей, данные XML, файлы видео-, аудио- и изображений, данные GPS, спутниковые изображения, данные с сенсоров, веб-логи, данные о перемещении мобильного абонента в хендовере, тэги RFID, документы PDF…

Для хранения подобной информации в центрах обработки данных (ЦОД) используется распределенная файловая система Hadoop, HDFS (Hadoop Distributed File System). HDFS может хранить все типы данных: структурированные, неструктурированные и полу-структрированные.

Приложения Big Data для бизнес-аналитики – компонент не только обработки, но и с данными, как структурированными, так и нет. Они включают приложения, инструменты и утилиты, помогают анализировать большие объемы данных и принимать решения, на основе данных Hadoop и других нереляционных систем хранения. Он не включают традиционные приложения BI-аналитики, а также инструменты расширения самого Hadoop.

Кроме того, важным компонентом Hadoop является система MapReduce. Она предназначена для управления ресурсами и обработкой данных в Hadoop, чтобы обеспечить надежность хранения и оптимизированное размещение данных в географически распределенных ЦОД. Система MapReduce состоит из двух основных компонетов – Мар, которая распределяет дубликаты блоков неструктурированных данных по различным узлам системы хранения (с целью надежности сохранения информации), и Reduce – компонента удаления идентичных данных, как с целью уменьшения требуемого общего объема хранения, так и повышения корректности последующих действий над данными. MapReduce примечательна тем, что обрабатывает данные там, где они и хранятся (т.е. в HDFS), вместо того, чтобы их куда-то перемещать для обработки, а потом ещё куда-то записывать результаты, что обычно и делается в обычных EDW. MapReduce также имеет встроенную систему восстановления данных, т.е. если один узел хранения отказывает, MapReduce всегда знает, куда надо лезть за копией потерянных данных.

Хотя скорость обработки данных MapReduce на порядок превосходит традиционные методы обработки с «выемкой» данных, все же, вследствие несравнимо больших объемов данных (на то они и Big Data), в MapReduce обычно используют параллельную обработку потоков данных (batch mode). В версии Hadoop 2.0 функция управления ресурсами выделена в отдельную функциональность (называется YARN), поэтому MapReduce более не является «бутылочным горлышком» в Big Data.

Переход на системы Big Data вовсе не означает, что традиционные EDW надо отправить в утиль. Напротив, их можно использовать совместно, чтобы использовать преимущество тех и других, а также извлекать новые ценности бизнеса за счет их синергии.

Для чего это все нужно.

Среди потребителей ИТ- и телеком-оборудования широко бытует мнение, что все эти эффектные иностранные слово- и буквосочетания – Cloud Computing, Big Data и разные прочие IMS с софтсвитчами придумываются хитрыми поставщиками оборудования, чтобы поддерживать свою маржинальность. То есть, чтобы впаривать, впаривать и впаривать новые разработки. А иначе не будет выполнен план по продажам и Билл Джобс Чемберс скажет «ай-яй-яй». И «накрылась премия в квартал».

Поэтому поговорим о нужности этого всего и тенденциях.

Наверное, многие еще не забыли страшный вирус гриппа H1N1. Были опасения, что он может оказаться даже сильнее испанки 1918 года, когда счет жертв шел на десятки миллионов. Хотя врачи должны были регулярно сообщать об участившихся случаях заболеваний (и они таки сообщали), однако анализ этой информации запаздывал на 1-2 недели. И сами люди обращались, как правило, через 3-5 дней после начала болезни. Т.е., меры принимались, по большому счету, задним числом.

Зависимость ценности информации в от времени обычно имеет вид U-образной кривой.

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

Компания Google, хранящая многолетнюю историю запросов, решила проанализировать 50 миллионов наиболее популярных запросов из мест очага предыдущих эпидемий гриппа, и сравнить их с данными медицинской статистики во время этих эпидемий. Была разработана система установления корреляции между частотой определенных запросов и найдено 40-50 типичных запросов. Коэффициент корреляции достигал 97%.

В 2009 году и удалось избежать серьезных последствий эпидемии H1N1, именно потому, что данные были получены сразу, а не спустя 1-2 недели, когда в поликлиниках в местах эпидемии уже было бы не протолкнуться. Это было, пожалуй, самое первое использование технологии «больших данных», хотя в то время они еще так не назывались.

Хорошо известно, что цена авиабилета – вещь очень непредсказуемая, и зависящая от многих факторов. Недавно я оказался в ситуации, когда можно было купить один и тот же билет экономкласса, одной и той же авиакомпании в один и тот же город в двух возможных вариантах. На рейс, улетающий вечером через три часа, билет стоил 12 тыс. рублей, а на раннее утро завтрашнего дня – 1500 рублей. Повторю, авиакомпания – одна и даже самолет на обоих рейсах одного типа. Обычно цена на билет тем дороже, чем ближе время вылета. На цену билета влияют еще много разных факторов – как-то раз агент по бронированию объяснял мне суть этого сонма тарифов, но я так ничего и не понял. Возможны случаи, когда цена на билет, наоборот, падает, если при приближении даты вылета остается много непроданных мест, в случае проведения каких либо акций и пр.

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

Приобретя выборку из 12 тысяч транзакций на сайте одного из туристических агентств, он создал модель прогнозирования цен на авиабилеты. Система анализировала только цены и даты, не учитывая никаких факторов. Только «что» и «сколько», без анализа «почему». На выходе получалась прогностическая вероятность снижения или повышения цены на рейс, на основе истории изменений цен на другие рейсы. В результате ученый основал небольшую консультационную фирму Farecast (игра слов: Fare — тариф, цена; Forecast — прогноз) по прогнозированию цен на авиабилеты, на основе большой базы данных по бронированию рейсов, которая, конечно, не давала 100%-ную точность (что указывалось в пользовательском соглашении), но с достаточной степенью вероятности могла ответить на вопрос, покупать билет прямо сейчас, или подождать. Чтобы еще больше обезопаситься от судебных исков, система также выдавала «оценку доверия самой себе» примерно в таком виде: «С вероятностью 83,65% цена на билет будет ниже через три дня».

Потом компанию Farecast за несколько миллиардов долларов купила Microsoft и встроила ее модель в свой поисковик Bing. (И, как это чаще всего бывает у Microsoft , об этом функционале больше ничего не слышно, т.к. этим Bing’ом мало кто пользуется, а кто пользуется, ничего об этой функции не знает).

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

Что же это все-таки такое — Big Data?

Для «больших данных» нет строгого определения. По мере появления технологий для работы с большими объемами данных, для которых уже не хватало памяти одного компьютера и их приходилось где-то хранить, (MapReduce, Apache Hadoop), появилась возможность оперировать намного бóльшими объемами данных, чем прежде. При этом данные могли быть неструктурированными.

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

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

Еще в 2000 году количество оцифрованной информации, составляло лишь 25% общего количества информации в мире. К настоящему времени количество хранимой информации в мире составляет величину порядка зетабайт, из которых на нецифровую информацию приходится менее 2%.

По данным историков, с 1453 по 1503 год (за 50 лет) напечатано около 8 миллионов книг. Это больше всех рукописных книг, написанных писцами с Рождества Христова. Другими словами, потребовалось 50 лет, чтобы приблизительно вдвое увеличить информационный фонд. Сегодня это происходит каждые три дня.

Чтобы понять ценность «больших данных» и механизм их работы, приведем такой простой пример. До изобретения фотографии, для того, чтобы нарисовать портрет человека, требовалось от нескольких часов до нескольких дней или даже недель. При этом художник делал определенное количество мазков или штрихов, число которых (для достижения «потретного сходства») можно измерить сотнями и тысячами. При этом важно было КАК рисовать, как класть краски, как штриховать и пр. С изобретением фотографии, число «зерен» в аналоговой фотографии, или число «пикселов» в цифровой изменилось на несколько порядков, и то КАК их расположить нам неважно – за нас это делает фотоаппарат.

Однако результат по большому счету один – изображение человека. Но есть и различия. В рукописном портрете точность сходства весьма относительна и зависит от «видения» художника, неизбежны искажения пропорций, добавление оттенков и деталей, которых в «оригинале», т.е. в человеческом лице, не было. Фотография точно и скрупулезно передает «ЧТО», оставляя «КАК» на заднем плане.

С некоторой аллегорией можно сказать, что фотография – это Big Data для рукописного портрета.

А теперь будем фиксировать каждое движение человека через строго определенные и достаточно малые интервалы времени. Получится кинофильм. Кинофильм – это «большие данные» по отношению к фотографии. Увеличили количество данных, соответствующим образом их обработали – получили новое качество – движущееся изображение. Изменяя количество, добавляя алгоритм обработки, мы получаем новое качество.

Теперь уже и сами видео-изображения служат пищей для компьютерных систем Big Data.

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

Ну, и кратко о еще двух аспектах больших данных.

Точность .

Системы Big Data могут анализировать огромное массивы данных, а в некоторых случаях - все данные, а НЕ их выборки. Используя все данные, мы получаем более точный результат и можем увидеть нюансы, недоступные при ограничении выборочного анализа. Однако, при этом приходится довольствоваться общим представлением, а не пониманием явления вплоть до мельчайших деталей. Однако, неточности на микро-уровне позволяют при большом количестве данных позволяют делать открытия на макро-уровне.

Причинность .

Мы привыкли во всем искать причины. На этом, собственно, и основан научный анализ. В мире больших данных причинность не так важна. Важнее – корреляции между данными, которые могут дать необходимые знания. Корреляции не могут дать ответ на вопрос «почему», но хорошо прогнозирует «что» произойдет, в случае обнаружения тех или иных корреляций. И чаще всего именно это и требуется.

***