пятница, 6 мая 2011 г.

Как бороться с искажениями информации для принятия решений?


Система управления — систематизированный набор средств влияния на подконтрольный объект для достижения определённых целей данным объектом.
Системы управления с участием людей как объектов управления зачастую называют системами менеджмента, а людей - таким известным и знакомым словом менеджеры. Задачи менеджера в рамках процесса управления, на первый взгляд, достаточно очевидны: поставить задачу, спланировать ее решение, проконтролировать ход, учесть результаты. В бизнес-реалиях акцент, как правило, стоит на планировании и контролинге, и основная оценка деятельности менеджера ведется по этим показателям.
Постараемся взглянуть на описываемую ситуацию с другой стороны: со стороны исполнителя. Каковы его задачи в процессе управления? На первый взгляд - получить задание и отчитаться по выполнению. Но если с отчетами все более-менее понятно и просто, то с первой частью - получением задания - не всегда все очевидно. Казалось бы, почему?




Для более детального изучения этой ситуации временно отойдем от вопросов управления. Представим себе двух человек. Одному из них в голову пришла некоторая идея, оформленная в виде его личных ощущений и понимания мира. Это - некий идеал реализации идеи. Он пытается передать свою мысль другому человеку, при этом облекая ее в слова. Для каждого атомарного образа в своей голове у говорящего есть синоним в словаре русского языка; из таких синонимов он и строит свою речь при объяснении. Часть смысла при этом неминуемо искажается, поскольку даже сам автор может не всегда точно подобрать необходимые эпитеты. Дальше происходит еще более интересная вещь: эти слова попадают в поле восприятия реципиента, который, прежде чем осознать их, пропускает этот поток через призму своих синонимов, но уже в обратном порядке: из слов он подбирает синонимы из своего внутреннего ощущения мира. Таким образом, происходит как бы тройной перевод: "язык" мироощущения первого человека -> язык слов -> "язык" мироощущения второго человека. Добавим сюда возможные помехи в каналах передачи данных (шум на улице, например), и получим 3 "бутылочных горлышка" процесса, состоящего из 3 этапов. Уникально депрессивная картина - на каждом этапе отсеивается часть смысла первоначального посыла. Более позитивным выглядит вариант, при котором осознанное исполнителем резко контрастирует со средой, в которой передавалось сообщение. Это вызывает реакцию отторжения такого сообщения, что выливается в некий сеанс обратной связи, в ходе которого общающиеся стороны могут достигнуть взаимопонимания. Гораздо хуже, когда искажения незаметны с первого взгляда или не могут быть выявлены принципиально. Примером такой ситуации является, например, экспертная оценка или авторитетное мнение.
Поэтому на каждом из этапов необходимо стараться проводить превентивные меры воздействия, расширяющие эти бутылочные горлышки

Описанная выше ситуация не изменяется, когда мы отходим от задачи управления. Пусть стоит аналитическая задача, для решения которой необходимо учитывать частное мнение некоего лица, например - владельца бизнеса. Тогда вектор передачи информации не изменится, но произойдет смена его владельца. Если раньше процесс передачи информации инициировал (и был заинтересован в нем) владелец информации, то теперь эта роль отходит реципиенту, и уже он, со своей стороны, старается расширить узкие места, чтобы упростить свою работу. Таким образом можно выделить два варианта передачи информации: условно “толкание” (инициатор - владелец информации) и “вытягивание” (инициатор - реципиент передачи).

Рассмотрим ситуацию с переводом сообщения из мыслительных образов в слова языка. Пусть идет диалог между двумя коллегами из международной компании, при этом один из них говорит, скажем, на финском, а второй - на японском. Вероятность того, что они поймут друг друга очевидно стремится к нулю. Пусть теперь в компании принимается правило, что международные переговоры ведутся только на английском. Тогда оба собеседника, переключившись на знакомый обоим язык, начнут понимать друг друга. Что изменилось в ситуации глобально? Появилось правило, по которому мысли обращаются в слова.
Наличие такого правила становится очевидным, когда люди говорят на различных языках, однако оно зачастую забывается, когда язык общения один. Тем не менее, даже в рамках одного языка возможно неправильно понимание тех или иных терминов, поэтому критически важным становится наличие тезауруса для корпоративного общения.
Если заранее договориться, какими словами что обозначать в своей речи в рамках одной предметной области, то достаточно большая часть ошибок, связанных с разным пониманием одних и тех же слов при передаче сообщения, просто пропадет.

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

Такую борьбу можно свести к использованию двух типов методик: назовем их "границы" и "уклонения". Рассмотрим их подробнее. "Границы" представляют собой авторитарные механизмы уточнения формулировок. Самым известным примером использования "границ" является применение различных формальных процедур проверки: от простейших чек-листов до сложных принципов. Примеров здесь может быть масса, приведем один: при формулировании целей часто применяется так называемый принцип SMART, представляющий собой авторитарный указатель, какими цели должны быть и в соответствии с чем их формулировать (i.e. расставлены конкретные рамки-"границы", за которые выходить нельзя). Такое ограничение воли человека к формулированию своих мыслей приводит к тому, что другая сторона (исполнитель в модели управления, но глобально - любое заинтересованное лицо) будет иметь больше шансов получить необходимое для своей работы сообщение, не отягченное "мусором". При этом, стоит заметить, такие "границы" могут меняться в зависимости от конкретной ситуации, e.g. для формулирования целей существуют и другие подходы.

Бывают ситуации, когда использование одних только формальных "границ" не помогает для сокращения бутылочных горлышек. Это может происходить, например, когда владелец информации не может сам сходу привести ее к виду, удовлетворяющему этим границам (или, в худшем случае, не хочет этого делать). В такой ситуации “тянущему” контрагенту не остается ничего другого, кроме как прибегать к помощи тех или иных видов “уклонений” от прямого сбора необходимой информации, позволяющих собирать нужные сведения не напрямую, а косвенно. Случай, когда владелец информации нацеленно не желает ей делиться далее рассматриваться не будет, поскольку является скорее вопросом для изучения таких наук как психология и социология. Когда же возможен конструктивный диалог между контрагентами, появляется возможность прибегнуть к инструментам, способным так или иначе помочь структурировать и проанализировать нужную информацию.

Среди техник “вытягивания” информации BABOK, например, выделяет:
     Мозговые штурмы
     Анализ документов
     Проведение фокус-групп
     Анализ интерфейсов
     Интервьюирование
     Наблюдение
     Прототипирование и имитация
     Семинары и мастер-классы
     Опросы

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

Ниже представлен пример построения стратегической карты компании (СКК), в ходе которого были применены “граничные” рамки наряду со специальными методами “вытягивания” информации.

Построение СКК верхнего уровня было выполнено в следующие этапы:
1.     Формулирование миссии компании
2.     Формулирование стратегических целей компании
3.     Разнесение целей одного уровня на различные перспективы
4.     Выявление связей между целями.

Остановимся более подробно на анализе проведения этапов 2 и 4 этого процесса.

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

На этапе выявления связей между целями, ответственные эксперты часто сталкивались с ситуацией невозможности однозначно определить взаимное отношение силы связей (i.e. какие цели влияют относительно сильнее, а какие относительно слабее друг друга). Для решения такой задачи был разработан подход, основывающийся на методе анализа иерархий. В рамках этого подхода стояла не трудновыполнимая на данном этапе задача сравнить степень влияния всех связных целей на конкретную, а более простая - сравнить попарно степень влияния всех связных целей. С этой задачей экспертам было справиться гораздо проще. Затем, с помощью математического инструментария метода анализа иерархий, было проведено взаимное взвешивание влияния, которое затем, по заранее утвержденному правилу, переводилось в шкалу от 1 до 5, i.e. от “очень слабого влияния” до “очень сильного влияния” (принятую в методологии ARIS по построению СКК).

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

Из всего вышеизложенного можно сделать следующие выводы:
1.      Процесс передачи информации таит в себе много “бутылочных горлышек”, наличие которых продиктовано в первую очередь самой природой информации и организации общения;
2.      Можно выделить два типа передачи информации: “толкание” и “вытягивание”;
3.      Для упрощения организации обмена информацией необходимо наличие единого словаря для всех контрагентов;
4.      Для расширения “бутылочных горлышек” предлагается использование двух типов методов:
a.       “границы”, которые жестко регламентируют то, в каком виде подается информация,
b.      и “уклонения”, которые позволяют собрать необходимую информацию косвенно, через различные побочные или неочевидные источники.

понедельник, 6 декабря 2010 г.

Использование энтропии в определении авторства текста

В продолжение первой части


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


Для начала повторю теоретический бэкграунд такого эксперимента.
В теории информации энтропия — это мера неопределённости информации. Она вычисляется по формуле (1)


   (1)


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

Идея использовать значение энтропии для определения смысла текста не нова. Например в небольшом исследовании на хабре было доказано, что метод определения авторства, основанный на прямом сравнении энтропий текста-фрагмента и эталонного текста, является крайне неточным и не подходит для идентификации текстов из-за большого разброса значений внутри текста. Энтропия сама по себе - показатель обезличенный, что затрудняет его использование в данной области. Постараемся уменьшить степень обезличенности. 

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

Для эксперимента были выбраны несколько сказок Ганса-Христиана Андерсена. Из начального списка более 25 произведений были умышленно вычеркнуты малые по объему (менее 10 кБайт), поскольку небольшой объем обрабатываемого текста, скорее всего, приведет к нерепрезентативности - банально не наберется необходимое для исследования количество слов. Список использованных в работе сказок с номерами, под которыми они будут встречаться далее, представлен ниже:
0 - Тень 
1 - Аисты
2 - Бабушка
3 - Девочка со спичками
4 - Девочка, которая наступила на хлеб
5 - Дикие лебеди
6 - Дочь болотного царя
7 - Дюймовочка
8 - Красные башмаки
9 - Огниво
10 - Оле-Лукойе
11 - Русалочка
12 - Снежная королева
13 - Сон
Для каждой из них были проведены следующие преобразования:
  1. были вырезаны знаки препинания,
  2. все слова были приведены в начальную форму.

Затем для каждой из них были проведены необходимые подсчеты. Например, рассмотрим первую их них - Тень. Сначала для нее было подсчитано (рис.1):
  • количество слов в тексте
  • количество разных (уникальных) слов тексте
  • значение энтропии
  • список наиболее часто встречающихся слов
Рисунок 1. Расчет энтропии первого порядка.

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

Рисунок 2. Расчет энтропии второго порядка.

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

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

Энтропия первого порядка для рассматриваемого отрывка равна 8,92974. Теперь посчитаем значения энтропий второго порядка для всех означенных ранее слов каждого из текстов. В случае, если совпадения будут явны, можно сделать вывод, что данный текст является частью первого. В ходе проверки было выявлено, что только для одного набора наиболее часто встречающихся слов все слова повторились в данном отрывке с заметной регулярностью, однако значения энтропии для отрывка оказались несколько меньшими (примерно на 15% меньше при том, что размер отрывка составил 50% размера сверяемого изначального текста). Это можно объяснить тем, что существует зависимость энтропии от размера выборки. К слову, это действительно оказался текст, из которого был взят изучаемый отрывок. 

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

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

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

ГлаваЭнтропия
Вступление+Заключение8,19287
Первая глава8,84601
Вторая глава8,90423

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

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








Приложение. Описание работы утилиты.


В основе работы написанной утилиты лежит формула энтропии Шеннона. Для подсчета численного значения энтропии высчитываются вероятностные оценки появления слов в тексте. Такие оценки строятся в зависимости от частот, с которыми слова встречаются в тексте. Для подсчета текст проходит предварительную обработку:
  1. из текста удаляются все знаки препинания,
  2. все слова приводятся в начальную форму.
Утилита позволяет выбрать сразу несколько текстов к обработке, все слова из которых переносятся в отдельные файлы в папке с программой. Так же для всех файлов генерируется .bat файл, при запуске которого происходит создание новых файлов, в которых вместо каждого слова будут записаны начальные формы этого слова. Этот .bat файл в ходе своей работы вызывает специальную утилиту mystem.exe, написанную в компании Яндекс. Описание программы с официального сайта:"Программа mystem производит морфологический анализ текста на русском языке. Для слов, отсутствующих в словаре, порождаются гипотезы." В сгенерированном .bat файле вызов этой программы прописан с такими параметрами, что та находит начальную форму для встреченных слов и выписывает их в файл.


Затем, с созданным таким образом новым файлом уже можно работать. Происходит это следующим образом:
  1. Для каждой начальной формы, имеющейся в файле, утилита подсчитывает количество повторений
  2. Затем, на базу этого количества, утилита рассчитывает вероятности,
  3. которые потом подставляются в формулу энтропии.
Параллельно ведется учет общего количества слов в тексте и количества уникальных слов в тексте.

Утилита позволяет вывести на экран 15 наиболее часто встречаемых слов в тексте.

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

среда, 3 ноября 2010 г.

Введение в понятие Энтропия

Из Теории Информационных Технологий и Систем известно, что информационная энтропия - это мера хаотичности информации [1]. Другими словами, это неопределённость появления какого-либо символа первичного алфавита.
Если предположить, что при передаче информации отсутствуют какие-либо потери или шумы (все переданные символы и только они были получены приемником), то значение энтропии численно равно количеству информации на символ передаваемого сообщения.

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




В информатике большое месте занимает теория информации Шеннона и его подход к понятию энтропия. Если заглянуть в Википедию [2], можно узнать, что родился он в 1916 году в городе Петочки, Мичиган, США. Он закончил Мичиганский Университет и после этого долгое время работал в Массачусетском Технологическом Институте, где защитил степень доктора по математике и магистра по электротехнике. На сегодняшний день Шеннон известен как автор фундаментальных трудов по теории информации, электротехнике и криптографии. Мировую известность Шеннону принесла статья «Математическая теория связи», опубликованная в 1948 году. В ней Шеннон изложил свои идеи, ставшие впоследствии основой современных теорий и техник обработки передачи и хранения информации. Он ввел понятие информации, содержащейся в передаваемых сообщениях и первым начал рассматривать передаваемые сообщения и шумы в каналах связи с точки зрения статистики, рассматривая как конечные множества сообщений, так и непрерывные множества сообщений. Развитая Шенноном теория информации помогла решить главные проблемы, связанные с передачей сообщений, а именно: устранить избыточность передаваемых сообщений, произвести кодирование и передачу сообщений по каналам связи с шумами. 
Числовое значение энтропии и предел максимального сжатия данных устанавливается в теореме Шеннона об источнике шифрования. Эта теорема говорит о том, что минимальная средняя длина передаваемого слова (носителя информации, кодового слова) не может быть меньше, чем энтропия Шеннона, без потери точности информации. Другими словами, устанавливается предел максимального сжатия информации, до которого точность не теряется; и численное значение этого предела и есть значение энтропии Шеннона. Энтропия здесь представляет собой функцию от входного сообщения (случайная величина) и от размера алфавита, в котором происходит передача (или кодирование).
Можно проследить связь между количеством информации и энтропией. [3] Приведем ряд примеров. При бросании монеты выпадает орел или решка, это определенная информация о результатах бросания. При бросании кубика мы получаем информацию о выпадении определенного количества очков. В каким из этих двух случаев мы получаем больше информации?
Известно, что вероятность W выпадения орла равна 1/2, вероятность выпадения трех очков на кости - W=1/6. Реализация менее вероятного события дает больше информации: чем больше неопределенность до получения сообщения о событии (бросание монеты, кости), тем большее количество информации поступает при получении сообщения. Информация I связана с числом равновероятных возможностей P - для монеты P=2, для кости P=6. При бросании двух костей мы получаем вдвое больше информации, чем при бросании одной кости: информация независимых сообщений аддитивна, а числа равновероятных возможностей перемножаются. Значит, если имеются два набора равновероятных событий P1 и P2 , то полное число событий
P=P1*P2, (1)
а количество информации I складывается, т. е.

I(P)=I(P1*P2)=I(P1)+ I(P2).    (2)
Известно, что правилам (1) и (2) подчиняются логарифмические функции, т. е. зависимость количества информации I от числа равновероятных событий должна иметь вид
I=A*log(P)
где постоянная А и основание логарифма могут быть выбраны по соглашению. В теории информации условились полагать А=1, а основание логарифма двум, т. е.
I=log2(P). (3)
При бросании монеты получается информация (Р=2), которую примем за единицу информации I=1:
log2(2)=1 бит
В общем виде формула (3) принимает вид (вывод опускается)[3]:

Такая величина (4) названа Шенноном информационной энтропией.
В начале работы была постулирована идея о том, что различные буквы встречаются в языке с разными вероятностями. Для того, чтобы подтвердить или опровергнуть данное утверждение, можно провести небольшое исследование: возьмем достаточно большой набор слов русского языка и подсчитаем вероятности появления различных символов. В качестве источника слов возьмем "Толковый словарь русского языка в 4-х т." - всего 86702 слова. Чтобы обработать этот объем информации воспользуемся утилитой, написанной автором этой работы на первом курсе обучения в ГУ-ВШЭ.
 
Утилита была создана в том числе для подсчета вероятностей встречи различных символов в тексте и расчета энтропии. Проведем это с выбранным словарем. Результаты показаны на рисунках 1 и 2.
 

Рисунок 1. Результаты анализа толкового словаря
 

Рисунок 2. Результаты анализа толкового словаря (продолжение)
 
Как видно из результатов, наименьшая вероятность встретить знак "Ъ", наибольшая - буквы "А", "В", "Е", "Н" "О", "Р", "С", "Т". Интересное наблюдение: расположение букв на клавиатуре таково, что наиболее часто встречающиеся буквы находятся в центре (можно посмотреть на полученный ряд и центр клавиатуры), а самые популярные "А" и "О" отмечены точками для расположения указательных пальцев. Английская же раскладка организована по другому принципу - самые популярные буквы расположены на удалении друг от друга, что диктовалось технологией реализации первых клавиатур печатных машинок и со временем так укоренилось в обществе, что нынче проект перевода общества на более эргономичную клавиатуру сопряжен с невероятно большими издержками, что делает его невыполнимым (в литературе такая ситуация получила название "QWERTY"-эффект).
Для наглядности распределения вероятностей средствами утилиты можно построить диаграмму (см. рис. 3).
 

Рисунок 3. Диаграмма соотношения вероятностей появления различных символов
 
Наиболее крупные ячейки и есть самые часто встречаемые символы.
Однако, можно предположить, что в разных профессиональных средах это распределение нарушается и изменяется. Для сравнения возьмем два крупных текста: отрывок художественного произведения и отрывок деловой прозы (технического текста).
В качестве художественного произведения взят отрывок в первые 2700 слов "Анны Карениной". Для чистоты эксперимента из текста были удалены все знаки препинания.
 

Рисунок 4. Вероятности появления символов и энтропия для художественного текста.
В качестве примера технического текста взята инструкция по эксплуатация герметизированных свинцово-кислотных аккумуляторов с регулирующими клапанами (2700 слов). Для чистоты эксперимента из текста так же были удалены все знаки препинания.
 

Рисунок 5. Вероятности появления символов и энтропия для технического текста.
 
Как видно, распределение вероятностей в целом не изменилось, хотя конкретные значения несильно исказились. В целом мера неопределенности несильно выросла, что можно объяснить, например, большим использованием специфических терминов, в которых используются редкие для художественной речи сочетания букв.
Выше были подсчитаны вероятности встретить каждую букву при случайном выборе одной буквы из массива связного текста. Однако интересно, изменяются ли эти вероятности внутри одного слова? Если мы случайным образом выберем первую букву, то будет ли распределение вероятностей при выявлении следующей буквы такой же, как и при выборе первой буквы?
Можно провести мысленный эксперимент. Вероятность, что первой попавшейся буквой будет "О", достаточно велика, в то время, как вероятность выбрать "Ь" очень мала, но она есть. Пусть первой буквой в слове попалась "О". Поскольку в русском языке не встречаются буквосочетания "ОЬ", то вероятность встретить следующей буквой "Ь" станет не та, малая, что была раньше, а ноль. Поэтому можно сделать вывод, что вероятности при последующей встрече букв в рамках одного слова будут отличаться от вероятностей встретить эти буквы в качестве первых. Следовательно, неопределенность падает и каждая последующая буква несет меньшее количество информации, чем предыдущая.
 
К сожалению, доступных автору технических средств недостаточно для подсчета энтропии связного текста, имея слова как атомарные единицы. Это обуславливается в первую очередь сложностью обработки слов русского языка, связанной со сложноформализуемым алгоритмом образования разных форм одного и того же слова. Однако, можно предположить, что те же выкладки характерны и в этой ситуации:
Пусть каждое слово есть атомарный (в рамках текста) источник информации, тогда текст есть совокупность этих источников, несущая общий смысл (сообщение). Так, к связному тексту, состоящему из слов, применимы те же понятия, что и к любому коду, среди них и понятие энтропии. Точно так же вероятность встретить каждое новое слово в рамках одного связного предложения изменяется при наличии ранее выбранных слов, а степень неопределенности уменьшается при появлении каждого нового слова.
В ходе работы были получены следующие результаты:
было получено определение понятия энтропии - это мера хаотичности информации, или неопределённость появления какого-либо символа первичного алфавита.
было введено понятие информационной энтропии Шеннона.
были подсчитаны вероятности появления различных символов в текстах разного рода - словарь (список существительных), художественный текст, технический текст. Был подсчитан показатель энтропии и сделаны выводы по изменению вероятностей появления символов в зависимости от расположения буквы в слове.
была высказана идея о вероятной идентичности поведения слов внутри связных текстов поведению букв внутри слов языка.



Список использованных источников информации

1. Кирсанов А.П. Теория информационных технологий и систем. Курс лекций, ГУ-ВШЭ, 2007
2. http://ru.wikipedia.org/wiki/Шеннон,_Клод_Эдвуд , дата обращения 21.09.2010
3. Дульнев Г.Н., Ипатов А.П., Агеев И.Л. Электронный учебник по дисциплине: "Синергетика". http://de.ifmo.ru/bk_netra/page.php?tutindex=13 - дата обращения 21.09.2010
4. Толковый словарь русского языка: В 4 т. - М.: Сов. энцикл.: ОГИЗ - http://feb-web.ru/feb/ushakov/ush-abc/11/us1146515.htm - дата обращения 21.09.2010 


вторник, 2 ноября 2010 г.

Сборище нелепостей

Сегодня только ленивые не собирают смешные нелепости, которые они встречают на улицах, на работе, в интернете. Результаты общей работы оседают на страницах блогов и развлекательных сайтов, аккумулируются на ресурсах а-ля Идиотека Лебедева или на выступлениях Задорнова. Под катом внесу свои пять копеек

Самое первое, что следует за нами везде и всегда - опечатки. Они окружают нас повсюду: в рекламе, в объявлениях. Например, вот маршрутка номер 99м: "м. Сокол- м. Крылатское". Одна из остановок носит гордое название "М-Видио".
(названия остановок в маршрутке 99м)

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

(рекламное объявление в автобусе)

А вот тут тоже зовут не куда-нибудь, а "собиседоваться". 
(ТЦ "Кочубей")

Дальше - самое любимое. Не знаю почему, но, увидев, очень долго смеялся:
(Белорусский вокзал, ларек с сувенирами)

Последним в данной линейке выступит один из флагманов тяжелого машиностроения ФРГ, минный заградитель "Скарпион":
(воинская часть 58142: 45 инженерно-маскировочный полк,
стенд в учебном корпусе)


К сожалению или к счастью, опечатками окружающая нас действительность не ограничивается. Очень многие люди проявляют свои смекалку и стремление к самореализации на улицах. Иногда получается забавно, иногда - меньше. Такой вот плакат встречал людей на выходе из метро Сокол пару месяцев назад:
(рядом с м. Сокол)

А вот такое объявление висело в подъезде некоего дома в Москве.
(подъезд жилого дома)

К той же серии - довольно часто встречаются на улице "капитанизмы". Очень яркий пример:
(СК "Олимпийский")

Вдвойне забавно, когда в изначально креативной сфере возникает переизбыток этого самого креатива, выливающийся в порой довольно забавные вещи. Я говорю о наружной рекламе. Если верить вот этому плакату, то все, что нужно женщине...
(ВДНХ)

... это мед и медовуха. Не поспоришь. Вот такое объявление в маршрутке меня тоже воодушевило до глубины души:
(одна из городских марштурок)

Вообще тема маршрутных такси практически неисчерпаема. Погуглив, можно найти миллионы забавных плакатов и объявлений в них. Поэтому забудем о них и пойдем дальше. Раньше я думал, что жизнь обидела людей с именами Параша, Даблин или Гигант. Но такое... :
(афиша в городе)

 А вот такой фитнес-зал находится в поселке Дубки, что в Подмосковье:
(пос. Дубки)

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

объявления без контекста:
(городская поликлиника 199)

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


Отдельно мне в свое время очень понравилась такая вот новогодняя игрушка. Так и вижу: куча маленьких сатанистиков кричат "Купи! Купи!":
(Новогодняя игрушка. ТД "Детский мир")

Напоследок просто часы, которые показывают полдесятого. Ровно.
(часы на улице. Крылатское)

среда, 20 октября 2010 г.

Я - система

Всегда трудно начинать письменные работы, особенно если предполагается, что они должны быть выполнены в формате эссе. Более формализованные виды работ имеют набор штампов, с помощью которых можно ввести читателя в предметную область и плавно перейти к сути. Здесь их применение не уместно, и сделать такой переход гораздо сложнее. Казалось бы, что стоит оформить поток мыслей в письменную форму и назвать емким словом "эссе"? Пока те самые мысли находятся в голове, они подвержены метаморфозам, могут свободно перетекать одна в другую, остаются понятными нам, даже если мы что-то себе недоговариваем или опускаем часть фактов. Такой подвижный, изменчивый и расширяющийся поток идей выстраивается в голове в четкую, логичную последовательность, которую и хочется донести до читателя. Однако, стоит только начать переносить эту последовательность на бумагу (пусть и электронную), как строй сбивается, логика оказывается нарушенной, общая нить куда-то пропадает. Поэтому в результате такой работы очень часто получается совершенно не такой текст, который родился в голове у автора в момент создания.

Так получилось и сейчас, с темой "Я - система". Первая моя мысль была: начать с объяснения того, что такое система, а затем плавно показать, что все ее признаки выполняются и во мне самом. Но удивительное дело, стоит только выписать перед глазами список каких-то формальных требований (в данном случае - признаков системы), как автоматически перестраиваешься и начинаешь "подгонять факты", т.е. выискивать порой даже суррогатные подтверждения того, что подтвердить надо. Поэтому с намеченного заранее пути пришлось свернуть примерно на половине и пойти с обратной стороны. А именно начать с осознания того, что же такое "я".

Если обратиться к философскому словарю, то "Я - фундаментальная категория философских концепций личности, выражающая рефлексивно осознанную самотождественность индивида". Определение сложное, но осмыслить его вполне реально. Т.е. получается, что "я" - это то, как человек сам себя вопринимает, то, чем он считает сам себя. Но вот что интересно: существует множество наук по изучению человека, которые смотрят на него с совершенно разных точек зрения. Самое первое, что приходит на ум - биология. Много веков изучалось человеческое тело, из чего оно состоит, какие в нем органы, как они взаимодействуют друг с другом, какие процессы там протекают. Благодаря школьномым урокам почти все мы сегодня представляем, как мы там внутри устроены. Но возникает вопрос - а где вот в этом вот во всем я? Ведь "я" - это очевидно не только тело. Оттуда "я" получает только сигналы, причем императивного характера: тело отправило сигнал - "я" пошло выполнять. В спектакле Е. Гришковца "Одновременно" герой задется аналогичным вопросом и предлагает такой ответ: "Наверное, я в голове". Логично же, мы видим мир как бы из нее, относительно нее воспринимаем наше тело; это место обработки всех эмоций, переживаний, там работает воображение. Можно предположить, что "я" - это наш живущий в голове разум. Но следущий пример, взятый из того же спектакля, рушит это предположение:
Идет фильм, и главную роль играет актриса, которая кажется мне знакомой. Я говорю смотрящим со мной друзьям: "Это хорошая актриса, только вот как ее зовут я не помню. Да и где она играла не припомню никак...". И идет фильм, а я его уже не смотрю - я судорожно пытаюсь вспомнить, где же я ее видел. Как же ее зовут. И фильм прошел мимо, и вспомнить не удалось. А потом, через неделю или две, просыпаюсь среди ночи и - вспомнил! Вспомнил и как звали актрису, и где она играла. Только вот уже не понятно, а зачем вспоминал? Не будешь же звонить среди ночи друзьям и говорить про нее.  Да и мне эта информация не нужна.
Получается, что даже если и кажется, что "я" - это где-то там, в разуме, то на самом деле это не совсем так, иначе почему же голова не всегда работает так, как нам надо, не всегда получается достать из нее те воспоминания, которые нам нужны (хотя мы знаем, и это факт, что они там точно есть). Другая дисциплина, в некотором роде диаметрально противоположенная предыдущей, говорит нам, что "я" - это душа, а тело всего лишь временная ее оболочка, в то время как душа бессмертна и живет вечно, меняя такие оболочки. Но из определения, данного в начале работы, следует, что если человек не осознает себя как свою душу, то ее нельзя назвать своим "я". Действительно, трудно отождествлять себя единственно с тем, что мы не можем осязать и к чьей памяти мы не можем обратиться.
Если подвести промежуточный итог, то "я" - это не единственное тело, не единственный разум и не единственная душа, но частично каждое из них. На правах автора работы на данном этапе предлагаю взять небольшую паузу и перейти ко второй части темы эссе, а сюда вернуться чуть-чуть позже.

Система, ссылаясь на курс лекций по "Теории систем и системному анализу", - это совокупность элементов, находящихся во взаимодействии. Существенное здесь то, что элементы должны быть взаимозависимыми и/или взаимодействующими. Различные объекты можно семантически объединить в единое целое, но это целое еще не система, пока не сформирован, например, некоторый механизм. В чем разница между механизмом и набором деталей? В том, что механизм имеет некоторую функцию, которую он выполняет. Перефразируя, можно сказать, что механизм имеет цель. Именно наличие цели и является одним из основных признаков того, что перед нами система. В свою очередь, любая система может являться частью более крупной системы (надсистемы) или быть разбита на более мелкие (подсистемы). Возникает резонный вопрос, как определить границы системы. Ответ на этот вопрос заложен в целях и задачах проводимого анализа. Джон О'Шонесси в книге "Принципы организации управления фирмой" приводит такой пример:
Возьмем, например, проектирование такой машины, как токарный станок. Если считать сам станок системой, то в этом случае недостаточное внимание обращается на физические ограничения человека-оператора. Эргономисты сегодня говорят о 'человеко-машинной' системе, подчеркивая этим, что зачастую человек и машина образуют единую систему; следовательно, отдельные части станка, такие, как рукоятки и циферблаты, должны проектироваться с учетом физиологии человека.
При идентификации и анализе систем специалисты опираются на ряд критериев, называемых свойствами системы. Здесь стоит вспомнить, как ранее, при определении понятия "я" было выделено несколько основных компонент, никакой из которых нельзя назвать отождествлением "я" в чистом виде. Попробуем предположить, что "я" спрятано в совокупности этих составных частей, находящихся в тесном взаимодействии (по определению - системе). Теперь проверим это предположение, опираясь на свойства системы, и посмотрим, выполняются ли они. Сначала проверим ряд критериев, связанных со взаимодействием с окружающей средой:
  1. Коммуникативность — существование сложной системы коммуникаций со средой. 
  2. Взаимодействие и взаимозависимость системы и внешней среды.
  3. Адаптивность — стремление к состоянию устойчивого равновесия, которое предполагает адаптацию параметров системы к изменяющимся параметрам внешней среды (однако «неустойчивость» не во всех случаях является дисфункциональной для системы, она может выступать и в качестве условия динамического развития).
  4. Надёжность — функционирование системы при выходе из строя одной из её компонент.
Как видно, наше "я" через свое тело отвечает всем этим компонентам. Организм обеспечивает обмен веществами с внешней средой, подстраивается под изменения параметров (перепады давления, температуры и т.д.), продолжает функционировать при травмах. При этом, если перестает работать более глобальная компонента, например, всё тело, то система в целом ("я") не распадается. Например, парализованные люди не теряют своего "я" из-за болезни.
Следующий ряд критериев к проверке связан со структурой и функциями системы. Первые два критерия были уже не раз доказаны в ходе этого эссе: Структурность и Иерархичность. Эти критерии говорят, что возможна декомпозиция системы на компоненты и установление связей между ними, при этом каждый компонент может быть рассмотрен как система. Именно на основе этих двух свойств систем были объеденены в предположении выше три ранее описанных компоненты в одно целое. Теперь очевидно, что такое объеднение вполне правомерно в рамках системного анализа.
Как было сказано выше, система обязана иметь цель. Стоит добавить, что при этом наличествует приоритет интересов системы более широкого (глобального) уровня перед интересами её компонентов. Приведем такой пример: когда человек занят каким-то делом, он может ограничивать себя в еде, отдыхе и сне для достижения ее. Таким образом интересы этого человека в целом - выполнение работы - оказываются приоритетнее чем насущные потребности его частей.

До сих пор, во время применения критериев систем к понятию "я", был сознательно опущен тот факт, что "я", на самом деле, не сводится к тем выделенным подсистемам. Может показаться, что это означает, что что-то упущенно, какой-то новый компонент, в котором это самое "я" и хранится. На самом деле это не так, вернее не обязательно так. Теория систем говорит, что любая система характеризуется эмерджентностью, т.е. целостностью и неаддитивностью. Говоря простым языком, целое первично относительно частей, следовательно система может обладать новым качеством, органично вытекающим из составных элементов, но не принадлежащим ни одному из них. Другими словами, свойства системы принципиально не сводимы к сумме свойств составляющих её компонентов.
Таким образом, применяя системный подход к определению понятия "я", можно сделать вывод, что "я" полностью попадает под определение системы. Существует множество классификаций систем по характерным особенностям, таким как динамичность, естественность, качественный состав компонентов и т.д. При желании не сложно выделить, к каким типам систем относится понятие "я" и на вопрос "Что такое я?" вполне можно отвечать такой фразой:


"Я" - это биологическая (живая) абстрактно-материальная (состаящая из материальных и нематериальных частей) открытая (взаимодействующая с внешней средой) динамическая система.

воскресенье, 20 июня 2010 г.

Issac Albeniz - Asturias

пятница, 18 июня 2010 г.

Планирование рекламных кампаний в Интернет

Планирование проведения рекламных кампаний (РК) в Интернет - процесс комплексный, состоящий из двух составных частей:
  1. Определение таргетингов
  2. Распределение показов
Первый из них, определение настроек таргетинга, подразумевает выбор из всех возможных рекламных площадок в Интернет тех, на которых рекламодатель хотел бы показывать рекламу (таргетинг по площадкам), а так же выделение из всей аудитории той, которой эта реклама адресована. Такое выделение возможно несколькими способами: по географическому размещению пользователей (геотаргетинг), по юзер-агентам пользователей, по регистрационным данным пользователей (демотаргетинг), и т.д.

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

              трафик    стоимость   средний ctr*
Сайт1:       t1            p1                c1
Сайт2:       t1            p2                c2
Бюджет РК: $B

, где Сайт1 и Сайт2 - рекламные площадки в Интернет,
трафик - суточный трафик площадки,
средний ctr - средний показатель ctr по площадке (ctr - click-though-rate - показатель эффективности Интернет-рекламы, измеряемый как отношение числа кликов по баннеру к числу показов баннера),
пересечения строк и столбцов - значение показателя для конкретного сайта.

В математическом выражении эти ограничения выглядят так:
Пусть xi - количество показов рекламы на конкретном сайте, тогда:
бюджетное ограничение: p1*x1+p2*x2 <= B              (1)
ограничение по трафику: x1 <= t1 ; x2 <= t2              (2)
условие неотрицательности: x1, x2 >= 0              (3)
Целевая функция: c1*x1 + c2*x2 -> max              (4)

В простейшем случае с двумя рекламными площадками и таким набором ограничений задача решается в течение пары минут. Однако, в жизни все как правило несколько сложнее. Первое, что усложняет ситуацию - обратный таргетинг (использование слайсов). Слайс - это некоторый процент трафика площадки, который та выделяет под конкретного рекламодателя. Например, в нашем случае это:
Сайт1: s1
Сайт2: s2
Тогда ограниения по трафику (2) должны изменяться на эти показатели:
 x1 <= t1*s1 ; x2 <= t2*s2              (5)
В остальном схема та же.

Более интересный случай, при котором каждый сайт предлагает разные условия в разное время или целевая аудитория неравномерно распределена по суткам, что вытекает в разные значения ctr для разных временных интервалов. В таком случае каждый временной интервал для каждого сайта можно рассматривать как отдельную площадку со своими условиями, например:
Сайт1: утро: c1 вечер c'1
Сайт2: утро: c2 вечер c'2
Тогда формально задача сводится к такой:
Пусть x1 - количество показов на площадке 1 утром, x'1 - вечером, а x2 - количество показов на второй площадке утром, x'2 - вечером, тогда:

бюджетное ограничение: p1*(x1+x'1)+p2*(x2+x'2) <= B                        (6)
ограничение по трафику: (x1+x'1) <= t1*s1 ; (x2+x'2) <= t2*s2              (7)
условие неотрицательности: x1, x2, x'1, x'2>= 0                                      (8)
Целевая функция: c1*x1 + c2*x2 + c'1*x'1 + c'2*x'2 -> max                   (9)

В общем виде такого рода задачи можно представить как:  (10)
P*∑Xj <= B
∑Xj <= T*S
Xij >=0
∑∑(Cij*Xij) -> max
, где P - вектор цен сайтов
T - вектор трафиков сайтов
S - вектор слайсов сайтов
Cij - ctr i-того сайта в j-ый период
Xij - количество показов на i-ом сайте в j-ый период
∑Xj - вектор суммарных количеств показов для каждого сайта за все периоды


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

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

∑∑(Cij*Xij) = K
∑Xj <= T*S
Xij >=0
P*∑Xj -> min

, где условие бюджетного ограничения перетекло в целевую функцию, которая должна быть минимизирована, в то время как целевая функция перешла в новое ограничение: сумма всех кликов (ctr*показы) должна равняться определенному значению K.

Использование симплекс-метода в решении задач планирования РК имеет ряд преимуществ:

  1. Гарантированное нахождение оптимального решения в заданных рамках (если оно существует)
  2. Возможность использования результатов предыдущих вычислений ответа с целью анализа изменений
Второй пункт стоит пояснить. Линейное программирование предоставляет инструмент учета устойчивости решения, с помощью которого можно прогнозировать изменение оптимального решения в ответ на те или иные изменения окружения задачи (изменения ограничений или целевой функции). Примерами таких изменений могут послужить колебания ctr сайтов, изменения цен или величины бюджета.

Пример1.
Пусть даны такие начальные условия:
                       трафик    стоимость   средний ctr*
Сайт1:       1000            1                0,2
Сайт2:       2000            2                0,1
Бюджет РК: $1000
Тогда ограничения:
бюджетное: x1+2*x2 <= 1000
на трафик: x1 <= 1000 ; x2 <= 2000
целевая функция: 0,2*x1 + 0,1*x2 -> max

Строим график:

Линия А-В - бюджетное ограничение, рассматрвиаем только положительную область, т.к. работаем с натуральными показателями. Выделенная область - область допустимых значений x1 и x2. Ограниченя на трафик не изменяют выделенной области. Кол-во кликов растет вдоль вектора grad = (2, 1) (градиент целевой функции), отсюда следует вывод об оптимальности точки B, т.е. все показы совершаются на сайте 1. Логично, что при отсутствии лимитирующих ограничений на трафик, ниболее выгодно все показы совершать на том сайте, где выгоднее отношение ctr к цене. Другая ситуация рассмотрена в примере 2.
Пример2
Добавим в предыдущий пример ограничение на слайсы. Пусть первый сайт выделяет 50% трафика, а второй - 95%. Тогда ограничения изменятся следующим образом:
бюджетное: x1+2*x2 <= 1000
на трафик: x1 <= 1000*0,5 ; x2 <= 2000*0,95
целевая функция: 0,2*x1 + 0,1*x2 -> max

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