Контекстозависимость: зачем машине понимать мир людей Андрей Письменный
Контекстозависимость: зачем машине понимать мир людей
Андрей Письменный
Опубликовано 25 декабря 2012 года
Что человеку нужно? Чего он хочет, и чем можно ему помочь? Какие настройки наиболее полезны именно сейчас? Наши гаджеты до сих пор ждут подсказки, хотя зачастую вполне способны угадать ответы на эти вопросы самостоятельно.
В 1994 году Билл Шилит, исследователь из легендарной лаборатории Xerox PARC, опубликовал работу под названием "Контекстозависимые компьютерные приложения". В ней описывались программы, автоматически меняющие своё поведение в зависимости от внешних условий. Спустя два десятка лет идеи Шилита, наконец, перестают быть чистой теорией. Над контекстозависимыми решениями уже работают в Google, Apple и Microsoft.
Что такое контексты
"Действия людей часто можно предсказать, исходя из ситуации. В библиотеке, на кухне и в офисе мы делаем разные вещи. Контекстозависимые системы должны извлекать пользу из этой закономерности, — писал Шилит. — Одна из задач распределённых компьютерных систем сводится к возможности учитывать изменяющееся окружение при помощи нового класса приложений, которые были бы в курсе своего контекста. Контекстозависимые приложения приспосабливаются к местоположению, присутствию людей, других компьютеров и устройств, а также к изменениям этих вещей со временем".
Контекстом может служить практически что угодно: место, время, наличие доступа к определённым ресурсам или присутствие нужных людей. Профессор Цзяньхуа Ма из Хосейского Университета выделяет восемь типов контекстов, которые могут быть учтены компьютерами.
Личностные контексты: личные черты пользователя и его нужды
Пространственные контексты: температура, свет, шум
Социальные контексты: люди рядом, деятельность, календарь
Контексты, связанные с ресурсами: близость, доступность
Вычислительные контексты: процессорное время, операционная система, память, интерфейсы
Сетевые контексты: проводные/беспроводные сети, скорость и надёжность соединения
Физиологические контексты: давление крови, пульс, тон голоса
Психологические контексты: эмоции, усталость
В работе Шилита тоже была предпринята попытка категоризации. Он предложил различать два типа контекстов: автоматические и переключаемые вручную. К автоматическим контекстам относятся контекстная смена настроек программ и завязанные на контекст действия. К контекстам, переключаемым вручную, — выбор на основании расстояния (к примеру, вывод изображения на ближайший экран) и предоставление контекстной информации. Так, сделанный для примера интерфейс отображал список принтеров, сортируя их по степени удалённости от пользователя.
Первый контекстозависимый компьютер
Идеи Шилита, как это порой случается, несколько опередили время. В 1994 году подходящих устройств просто не было, и приходилось мастерить импровизированные прототипы. Сотрудникам Xerox PARC раздали портативные устройства под названием ParcTab, напоминающее карманный компьютер.
ParcTab был намного миниатюрнее портативных устройств того времени. Он умещался на ладони и весил втрое меньше, чем, к примеру, Apple Newton MessagePad 120. Интерфейс устройства (разработанный, кстати, Биллом Бакстоном, который приложил руку к первым тач-интерфейсам) включал в себя три физические кнопки, способные заменить и дополнить использование стилуса. Благодаря им устройством можно было управлять одной рукой. Примечательно, что в устройстве использовалась система рукописного ввода, напоминавшая Graffiti из Palm OS. Но больше всего разработчики гордились адаптером беспроводной сети. Внутри ParcTab скрывался инфракрасный передатчик, связывавшийся с расположенными в комнате маршрутизаторами. Скорость связи составляла 9 600 или 19 200 бод.
Приложения ParcTab учитывали не только непосредственные команды пользователя, но и контекст, то есть то, что происходит вокруг. Например, почтовый клиент ParcTab знал, когда пользователь находится на совещании, и менял своё поведение. Во время совещаний он доставлял лишь важные письма, оставляя прочее на потом. Одна программа помогала находить прочих обладателей ParcTab, видеть, чем они заняты в данный момент, и обмениваться сообщениями. Другая предоставляла доступ к различным данным в зависимости от местоположения пользователя.
Контексты сегодня
Почти все проблемы, стоявшие перед разработчиками ParcTab двадцать лет назад, легко решаются при современном уровне развития техники. Карманными компьютерами и вездесущими беспроводными сетями давно никого не удивишь. Возникает резонный вопрос: где же теперь всё то, что группа Шилита придумала ещё в начале девяностых? Где же контекстозависимые системы?
Зачатки контекстозависимости изредка встречаются в современных гаджетах и приложениях. Узнать, где находятся друзья, позволяют сервисы Google Latitude или Foursquare, причём оба умеют оповещать о приближении знакомых. Контекстозависимость частично реализована и в Siri — автоматическом ассистенте, имеющемся в последних моделях iPhone. Siri можно сказать, например: «Напомни починить ручку двери, когда приду домой,» — и она сделает это. Тем не менее Siri далеко до идеала. Ей не под силу догадаться о том, чем в действительности занят пользователь и когда и о каких делах есть смысл напоминать.
Современные поисковые системы пришли к контекстозависимости другим путём. Двусмысленность естественного языка не позволяет интерпретировать запросы однозначно. В результате поисковикам не остаётся ничего, кроме как пытаться уловить истинные желания пользователя по косвенным признакам — иными словами, по контексту.
Бывший генеральный директор Google Эрик Шмидт ещё в 2007 году предсказывал, что в будущем поисковым системам придётся научиться угадывать намерения пользователей. "Наша цель — сделать так, чтобы пользователи Google могли задавать такие вопросы как «Чем мне заняться завтра?» и «Какую работу мне выбрать?», — говорил Шмидт. Ближе всего к реализации этой полуфантастической идеи разработчики Google подошли в системе Google Now, встроенной в последние версии Android.
Google Now внимательно следит за пользователем, а затем использует полученные знания, чтобы самостоятельно подбирать полезную ему информацию. Когда пользователь отправляется в путь, система заранее предупреждает о пробках на маршруте, который он часто использует в такое время, сама отыскивает результаты спортивных матчей, если замечает интерес к тому или иному виду спорта или команде, и сама напоминает о событиях ещё нескольких типов. Пока что функциональность Google Now оставляет желать лучшего, но в Google планируют значительно расширить её. Чуть ли не каждое подразделение компании готовит собственный модуль, и остается лишь разобраться с ранжированием результатов. Это, впрочем, в Google тоже отлично умеют делать.
Всё это созвучно изначальной идее Шилита «предсказывать действия людей на основании ситуации». Google Now уже умеет извлекать данные из истории запросов к поисковой системе, а в будущем начнёт анализировать и письма из Gmail, календарь, данные о социальных связях из Google+ и так далее.
Проблемы — фундаментальные и не очень
Миниатюризация электроники, распространение GPS и беспроводной связи устранили большинство препятствий, мешавших разработке контекстозависимых устройств и приложений. Но главное, чего не было во времена ParcTab, — это обширные базы данных, которые существуют сегодня. Google, Yelp или Foursquare могут без труда сказать, где находится ближайшая, например, аптека, а в будущем, вероятно, такие сервисы будут знать и о том, какие в этой аптеке есть лекарства.
Важное подспорье для электронных помощников — социальные сети. Они хранят бесценные архивы наших личных данных, знают всё о наших социальных связях и даже о наших предпочтениях. Представим простую жизненную ситуацию: один пользователь хочет пригласить в кино другого, но нужно определиться с деталями: когда и куда идти? Какой фильм смотреть? Не проблема: система, которой известны вкусы обоих пользователей, расположение кинотеатров и их программа, легко может выдать рекомендации, отсортированные в порядке потенциальной полезности.
Всё это не значит, что проблем не осталось. Некоторых ключевых технологий по-прежнему не хватает. Например, до сих пор нет стандартного средства определения местоположения внутри зданий (инфракрасная сеть ParcTab, кстати, давала эту возможность, но в реальных офисах или магазинах, вероятнее всего, шанс есть у аналогов технологии, разрабатываемой в Nokia). Не помешал бы и протокол, по которому телефоны могли бы опознавать присутствие друг друга, чтобы, к примеру, напомнить хозяевам обсудить какое-то дело или передать вещь.
Есть и более фундаментальные препятствия. Зачастую очень трудно понять, что именно делает и хочет сделать человек. И неудивительно — люди и сами не всегда ясно осознают это. Предположим, что пользователь зашёл в комнату, где находится предмет, о котором система должна напомнить. С одной стороны, её долг — напомнить пользователю об этом. Но с другой, если в этот момент человек занят чем-то совсем другим, то напоминание лишь отвлечёт его.
Идеальная контекстозависимая система должна понимать, чем в действительности занят пользователь. Для полного решения этой задачи необходим искусственный интеллект, которого пока, увы, нет. Впрочем, справились же, пусть и неидеально, с автоматическим переводом или распознаванием речи. Контексты никак не труднее. Тем не менее эта проблема существенно усложняет разработку контекстозависимых систем. Если даже такие простые вещи, как напоминания, срабатывающие при смене местоположения, сложны в реализации, то что говорить о более изощрённых случаях?
Если ограничить сферу применения контекстозависимой системы, сократив тем самым количество факторов, которые необходимо учитывать, то она будет способна худо-бедно обойтись и без настоящего понимания происходящего. Кирпичики для таких персональных систем уже доступны. Среди них — программы, автоматически меняющие настройки компьютера в зависимости от локации. В пример можно привести приложения Sidekick и MarcoPolo для Mac OS X, способные автоматически сменить множество настроек компьютера при изменении тех или иных условий.
Ещё одна программа для той же системы — Airlock позволяет выполнять разные действия в зависимости от приближения или удаления мобильного телефона, использующего Bluetooth. Кроме программ есть и устройства — например, Twine. Эти универсальные датчики можно разложить по дому и самостоятельно запрограммировать реакцию на срабатывание.
Другая трудность, связанная с контекстозависимыми системами, не имеет технического решения. Она сводится к тому, что всезнающие программы и устройства по определению знают о человеке всё. Даже если мы доверяем им, остаётся множество вопросов, связанных с приватностью. Всегда ли мы хотим, чтобы друзья и знакомые видели, где мы находимся и что делаем? Хотим ли мы, чтобы офисное здание всегда знало, в какой мы комнате? Безусловно, это будет полезно для многих приложений, но заодно работодатель сумеет без труда подсчитать, сколько времени было проведено за рабочим столом, а сколько — в курилке. Для кого-то это может прозвучать как лишний довод в пользу тотального контроля и учёта, но не всем нравится лишний раз ощущать себя винтиками большого механизма, а уж об опасениях по поводу возможных утечек и неправомерного использования информации и говорить нечего. С учётом приватности и разграничения доступа к личным данным разработка контекстозависимых систем усложняется ещё сильнее.
Однако выигрыш от применения контекстов велик и по большей части очевиден. Устройства могут напомнить нам о сотнях дел или просто повышать комфорт — к примеру, автоматически регулировать громкость музыки, управлять освещением и обогревом. Примеров можно придумать множество. Любое из этих приложений стоит усилий, а также проб и ошибок, которые предстоит совершить первопроходцам.
К оглавлению
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
NVivo: как узнать отношение известных людей к актуальным проблемам Андрей Васильков
NVivo: как узнать отношение известных людей к актуальным проблемам Андрей Васильков Опубликовано 30 октября 2013 Порой известные люди говорят быстро или неразборчиво, стараясь избежать ответов на неприятные вопросы и обойти щекотливые темы.
Вещь дня: фотоаппарат Pentax I-10 Андрей Письменный
Вещь дня: фотоаппарат Pentax I-10 Андрей Письменный Опубликовано 29 июля 2010 года Первая мысль, приходящая в голову при виде этого фотоаппарата — «ой, какая маленькая и симпатичная штучка!». Скорее всего, дизайнеры, работавшие над его наружностью
Как спасти Microsoft Андрей Письменный
Как спасти Microsoft Андрей Письменный Опубликовано 11 августа 2010 года За последние десять лет в Microsoft создали много хорошего, хотя и глупостей наделали порядочно. С финансами у корпорации всё в порядке, и хоть она пока не теряет деньги, с каждым провалом
Microsoft Office переезжает в веб Андрей Письменный
Microsoft Office переезжает в веб Андрей Письменный Опубликовано 18 мая 2010 года Компания Facebook объявила о многих важных нововведениях во время конференции f8 21 апреля 2010 года. Анонс сервиса docs.com, созданного в Microsoft специально для Facebook, даже слегка затерялся
В чём секрет многозадачности iOS4 Андрей Письменный
В чём секрет многозадачности iOS4 Андрей Письменный Опубликовано 22 июня 2010 года У обладателей айфонов и плееров iPod Touch наступил небольшой, но весёлый праздник – день обновления операционной системы. Ритуал, связанный с ним, прост: телефон или плеер
"Нивал" и 1С о выставке E3 2010 Андрей Письменный
"Нивал" и 1С о выставке E3 2010 Андрей Письменный Опубликовано 22 июня 2010 года На игровой выставке E3 2010 было объявлено несколько интереснейших проектов, среди которых – новый Xbox 360 и Microsoft Kinect, Nintendo 3DS, а также множество игр. Представители российских
Разработчики «Колибри» об ОС на ассемблере Андрей Письменный
Разработчики «Колибри» об ОС на ассемблере Андрей Письменный Опубликовано 16 ноября 2011 года Мысль написать операционную систему целиком на ассемблере странна, но привлекательна. Её главные плюсы — исключительная производительность и малый объём
Microsoft: что пошло не так Андрей Письменный
Microsoft: что пошло не так Андрей Письменный Опубликовано 05 июля 2010 года В 2007 году эссе Пола Грэма о том, что «Microsoft мертва» наделало немало шума. Может показаться, что он ошибался, ведь компания и по сей день вполне жива и весьма прибыльна, но Грэм имел в
Карманные магазины Андрей Письменный
Карманные магазины Андрей Письменный Телефоны Nokia, Google, Microsoft и Samsung вслед за iPhone обзавелись встроенными магазинами приложений. С одной стороны, такие магазины выгодны и для пользователей, и для разработчиков. С другой — они ограничивают возможности
Окажется ли в плюсе Google+ Андрей Письменный
Окажется ли в плюсе Google+ Андрей Письменный Опубликовано 08 июля 2011 года Ещё недавно слова Google и «социальные сети», встреченные в одном предложении, вызывали улыбку. Слишком уж часто эта компания делала неловкие попытки запустить собственную
Пиратский клаудкомпьютинг Андрей Письменный
Пиратский клаудкомпьютинг Андрей Письменный Опубликовано 11 мая 2010 года Технология BitTorrent, изначально предназначенная для разделения нагрузки при скачивании файла, ныне широко востребована пиратами. Но создатели BitTorrent в своё время решили не
Зачем сооснователь Microsoft судится с Google и Facebook Андрей Письменный
Зачем сооснователь Microsoft судится с Google и Facebook Андрей Письменный ОпубликованоАндрей Письменный Пол Аллен — сооснователь компании Microsoft и один из богатейших людей в мире, внезапно решил подать в суд на Google, Facebook, eBay и ещё восемь компаний, использующих
Зачем Google инвестирует в игры Андрей Письменный
Зачем Google инвестирует в игры Андрей Письменный Опубликовано 12 июля 2010 года Стало известно, что компания Google инвестировала 100 млн. долларов в создателя социальных игр Zynga. В первую очередь Zynga известна благодаря таким играм как Farmville и Mafiawars, очень
Wi-Vi: как видеть сквозь стены и отслеживать перемещения людей по сигналу Wi-Fi Андрей Васильков
Wi-Vi: как видеть сквозь стены и отслеживать перемещения людей по сигналу Wi-Fi Андрей Васильков Опубликовано 29 июня 2013 В фантастических фильмах иногда показывают установки, позволяющие видеть людей за стенами и укрытиями. Благодаря усилиям