Компьютерная система описания маршрута в удобном для человека формате
Пестун М. В.
Институт прикладной математики им. М.В. Келдыша РАН тах.ре5Шп @ gmail. сот
Аннотация. В данной статье рассматриваются общие методы построения навигационных когнитивных карт, а также реализация конкретной клиент-серверной компьютерной системы, предоставляющей удобное для человека описание маршрута из точки А в точку В (в городском окружении). Система учитывает персональные знания пользователя об объектах недвижимости и организациях. В случае, если местность незнакома или малознакома пользователю, то в описании маршрута используются популярные с точки зрения общественного мнения объекты.
Ключевые слова: навигация, маршрут, когнитивная карта, человек, компьютерная система, программа.
1 Введение
Данная статья состоит из двух логических частей: общего рассмотрения методов построения навигационных когнитивных карт и описания реализации конкретной компьютерной системы, описывающей маршрут из точки А в точку В (в городском окружении) в удобном для человека виде с учетом его знаний о местности.
2 Цель исследования
Целью исследования, рассмотренного в первой части статьи, является разработка методов построения когнитивных навигационных карт (также разработка методов навигации по ним) для упрощения взаимодействия человека с компьютером в области описания маршрута.
Целью исследования, описанного во второй части статьи, является создание клиент-серверной компьютерной системы, предоставляющей описание маршрута из точки А в точку В (в городском окружении), учитывающей персональные знания пользователя об объектах на местности, где прокладывается маршрут.
3 Актуальность исследования
На сегодняшний день карты не подстраиваются под пользователя и не выделяют важную только для него информацию, усложняя тем самым их использование.
Также следует отметить, что существующие методы хранения карт обладают избыточной информацией, поэтому с целью уменьшения объема
необходимо сконцентрироваться только на важных деталях, расставив им приоритеты.
Взаимодействие компьютера с человеком при описании маршрута (указания к перемещению, как, например, в автомобильном навигаторе) обладает слабой выразительностью, что осложняет восприятие (см. пример в разделе «Пример использования когнитивной карты»).
Проблема описания маршрута актуальна и на сегодняшний день недостаточно исследована.
3.1 Пример использования когнитивной карты
Обычные растровые или векторные карты, представляющие из себя изображение местности с видом сверху, позволяют человеку легко сориентироваться на местности, однако неудобны для пошаговой навигации при описании маршрута. Ниже приведены сравнительные примеры интуитивно понятного для человека описания маршрута и сгенерированного роботом при помощи существующих на сегодняшний день алгоритмов, используемых почти в любом навигаторе. Человек объясняет маршрут (вариант 1):
a. стоишь у библиотеки им. Ленина;
b. поворачиваешься к Кремлю;
c. идешь прямо до Манежа;
d. далее поворачиваешься налево и идешь полкилометра до входа в Охотный ряд;
e. здесь место встречи.
Навигатор объясняет маршрут (вариант 2, основан на результатах Google Maps):
a. старт: ул. Воздвиженка;
b. следуйте на восток по ул. Воздвиженка в сторону ул. Моховая (идти 130 м);
c. резкий поворот налево на ул. Моховая (идти 600 м);
d. поверните направо на пл. Манежная (идти 40 м);
e. финиш: пл. Манежная.
Первый вариант более легок для восприятия, так как именно таким способом тысячи лет люди передавали друг другу знания о маршрутах. Кроме того, он более легок для запоминания, так как оперирует близкими человеку понятиями (другую сторону, переход, до входа и т.д.), вместо четких, но сложных для восприятия фактов (четкие расстояния и направления).
3.2 Актуальность применения описания маршрута в удобном для человека виде
Описание маршрута от точки А до Б в удобном для человека виде актуально в следующих задачах:
a. навигация внутри зданий со сложной планировкой;
■ В современном мире здания стали иметь очень большие размеры, постоянно расширяются и достраиваются. В связи с этим, часто бывает осложнена навигация по ним. Система таблиц и указателей часто упрощает навигацию, но не всегда бывает достаточной: указатели на все интересующие человека места физически невозможно разместить повсеместно. На сегодняшний день наибольшие трудности вызывают следующие здания: торговые центры, аэропорты, многоэтажные парковки на тысячи автомобилей и другие крупные сооружения. Иногда встречаются здания с планировкой, когда, например, на второй этаж можно попасть только с третьего, но не с первого. Решением с целью упрощения навигации является расстановка небольших терминалов, где пользователь может выбрать интересующий его объект (конкретный магазин, парковочное место, кабинет) и система в текстовом виде расскажет ему, как до него добраться. Такой текст должен быть легко запоминаем и однозначно понятен.
b. навигация в городском окружении;
■ Использование навигационных систем (например, автомобильного навигатора) частично решает проблему поиска нужного места в сложной системе дорог, однако ее рекомендации не всегда бывают удобны для водителя, из-за чего ему требуется отвлекаться на монитор устройства с изображением карты и нарисованной поверх траектории движения. Инструкция «поверните налево через 712 метров» может быть оформлена в более удобный вид: «поверните налево на втором светофоре» [Allen, 1971].
c. указание компьютеру о следовании по специальному маршруту;
■ На сегодняшний день навигационные системы для широкой аудитории не предлагают возможности задать маршрут, они могут лишь сами предлагать варианты для выбора. Однако, порой необходимо узнать время в пути по конкретному маршруту. Для этого нужно будет описать маршрут в приблизительном виде, и компьютер должен предложить варианты, наиболее подходящие под описание. В случае необходимости, можно уточнить маршрут. Существующие навигационные системы для решения этой задачи используют интерфейс, где пользователь может поставить на карте точки, через которые должен проходить маршрут. Однако такой ввод данных становится неактуальным в связи с развитием голосового ввода информации (Google Now, Sin).
4 Методы построения навигационных когнитивных карт
4.1 Когнитивная карта и ее типы
Когнитивная карта (от лат. cognitio — знание, познание) — образ знакомого пространственного окружения. Навигация — процесс управления некоторым объектом в определённом пространстве передвижения. Подзадачами навигации являются: маршрутизация, выбор оптимального пути следования объекта в пространстве.
Человек строит когнитивную карту в своем сознании при перемещении в пространстве, со временем карта дополняется и уточняется. Обычно выделяют две основные системы координат: аллоцентрическая и эгоцентрическая. Карта, представляющая собой местность с объектами в абсолютных координатах, не принимающая в расчет местоположение человека, называется аллоцентрической. В противном случае, если положение человека влияет на текущее представление карты, она называется эгоцентрической. Иногда выделяют третий вариант - геоцентрический [Paillard, 1971], представляющий собой смесь аллоцентрической и эгоцентрической систем с установленным направлением гравитации.
4.2 Описание координат объектов
Эгоцентрическая система координат основывается на пространственном положении субъекта. Объекты в его окружении задаются при помощи относительного угла и расстояния. Ввиду этого, эгоцентрическая система координат отличается от аллоцентрической лишь способом задания параметров, а не методом ее построения.
У любого объекта в любой системе координат есть базовые параметры. Производные параметры основываются на базовых и могут быть получены из них путем вычислений, состоящих из конечного числа шагов. Совокупности данных параметров позволяют определить расположение объекта (координаты) и его направление (угол поворота), а также объем, площадь и т.д.
Точка является наименьшей структурой, представляемой в любой системе координат; имеет базовые параметры. Объект является более сложной структурой, представимой из набора точек; обладает производивши параметрами.
Направление объекта задается относительными углами отклонения от некоторого наперед заданного вектора [Klatzky, 1997]. Далее в статье под направлением объекта будет всегда пониматься направление в аллоцентрической системе координат.
4.3 Построение навигационных когнитивных карт в памяти компьютера
Построение когнитивных карт в памяти компьютера подразделяется на несколько этапов:
a. преобразование информации из обычной карты с видом сверху в структуру данных когнитивной карты;
b. сбор данных о пользователе когнитивной карты;
c. объединение результатов пунктов а. и Ь. для персонализации карты и уменьшения объема хранимых данных.
4.3.1 Структура данных когнитивной карты
Структура данных для представления когнитивной карты представляет из себя связный граф с циклами [Уеар, 2000]:
a. ребра графа представляют собой дороги и другие пути, по которым может передвигаться человек;
b. вершины графа символизируют объекты недвижимости (здания, сады, офисы компаний и т.д., обычно это висячие вершины), а также пересечения дорог.
c. ребра имеют набор параметров, характеризующих элемент пути: (1. ширину (популярность) дороги;
е. название улицы, если оно применимо; £ направление (актуально для одностороннего движения);
статистические параметры, основанные на перемещении пользователя карты.
Вершины, представляющие собой перекрестки дорог, обладают следующими параметрами:
a. географическими координатами;
b. углы, под которыми выходят из нее ребра.
И, последние, вершины, представляющие собой объекты, обладают параметрами:
a. географическими координатами;
b. названием (или несколькими), если оно применимо (адрес);
c. словесным описанием;
с1. содержащимися внутри организациями;
е. и другими индивидуальными для каждого пользователя параметрами (частотой посещения, предпочтениями, известностью и т.д.).
Псрскрсстки дорог, соединенные дорогами [ ] Объекты (здания, парки, автобусные остановки и т.д.) | I Обьекты, знакомые пользователю
Рис. 11. Пример графа когнитивной карты (ребра, соединяющие вершины, описывающие объекты, на рисунке не отображены с целью облегчения изображения)
4.3.2 Формирование карты
Процесс формирования карты происходит автоматически на основе существующих карт (например, Google Maps или Яндекс.Карты), содержащих избыточную информацию как о самой схеме дорог и адресах зданий, так и об организациях, расположенных внутри. Кроме того, из них можно получить информацию о популярности организации, типе предлагаемых услуг, а также оценку ее деятельности (обычно в баллах от 1 до 5).
4.3.3 Сбор данных о пользователе
Для создания персонализированной когнитивной карты для конкретного пользователя требуется сбор подробной о нем информации:
a. пол;
b. возраст;
c. вкусовые предпочтения;
d. основные места пребывания;
e. и другие.
Получение таких данных возможно из социальных сетей. Сервис Foursquare, если он имеет актуальность для конкретного пользователя, содержит огромное количество информации, позволяющей создать персонализированную карту (в нем содержится информация о перемещениях, посещенных местах, понравившихся местах и т.д.). Возможно использование и других социальных сетей или мобильных приложений, отслеживающих перемещение пользователей.
5 Клиент-серверная компьютерная система,
предоставляющая описание маршрута из точки А в точку В
5.1 Архитектура системы
В рамках диссертационного исследования была разработана сетевая компьютерная система (далее «система»), состоящая из клиентской и серверной частей. Клиентская часть - та, с которой непосредственно взаимодействует пользователь, работает под управлением любого современного веб-браузера (Chrome, Firefox и другие). Для ее создания использовались технологии HTML5 (HTML, CSS, JavaScript). В качестве серверной части выступает сервер Apache, раздающие запрашиваемые клиентом ресурсы через Ajax. Все вычисления и логика производятся на клиентской стороне.
5.2 База объектов
В системе используется база объектов, знакомых пользователю. Каждый объект описывается следующими полями:
a. ID - уникальный идентификатор объекта;
b. долгота и широта - координаты нахождения объекта;
c. адрес - строковое представление адреса объекта;
d. название - наименование организации внутри здания или самого объекта, если оно существует;
e. степень значимости для пользователя - значение от 0 до 5, где 0 -малозначимо и малоизвестно для пользователя, 5 - известно очень хорошо.
Все объекты хранятся в локальной базе данных веб-браузера, созданной с использованием технологии HTML5 Web Storage.
Наполнение базы данными не входит в рамки задач данной системы, однако оно рассматривается в качестве дополнения. Подробнее об этом написано в разделе «Развитие системы».
5.3 Получение данных о маршруте
С целью повторного использования уже готовых технологий в качестве провайдера карт и поиска маршрута используется Google Maps.
Для работы с системой используется специальное API на базе JavaScript, позволяющее выполнять поисковые запросы непосредственно с клиентской части (из веб-браузера).
Для получения данных о маршруте из точки А в точку В необходимо через API передать на сервера Google следующий набор данных:
a. долготу и широту точки А (место начала маршрута);
b. долготу и широту точки В (место окончания маршрута);
c. тип передвижения (на автомобиле, велосипеде, общественным транспортом или пешком);
d. возможны также другие опциональные уточняющие параметры, такие как вид используемых дорог (магистрали, платные), время в дороге, точки трансфера и другие.
В ответ на такой запрос вернется набор данных в формате JSON в виде массива, каждый элемент которого описывает найденные варианты маршрута. Из него для данного исследования интересны следующие пункты:
a. описание маршрута в виде полигональной кривой, координаты точек которой заданы долготой и широтой;
b. расстояния, которые необходимо преодолеть между вершинами полигональной кривой.
5.4 Формирование инструкций
После получения данных о предлагаемых маршрутах от серверов Google происходит следующая последовательность действий:
1) Анализируется, на каком из предложенных маршрутов находится наибольшее число знакомых пользователю объектов, для этого:
a. Рассчитывается расстояние этих объектов до полигона маршрута через географические координаты;
b. Учитывается их степень значимости для пользователя;
2) Выбранный вариант маршрута преобразуется в словестно-структурированное описание.
Целью данного исследования не является синтезирование текста, близкого к человеческой речи. Поэтому, под словесно-структурированным описанием подразумевается такое описание, которое обладает всеми необходимыми данными на основе которых может быть построено человеческое описание синтезатором текста [Cousins, 1983].
5.5 Словесно-структурированное описание
Для создания словесно-структурированного описания [КМгку, 1990; Ьоопш, 1999] используется формальный язык. Ниже приведен список основных лексем для описания маршрута:
a. двигаться до <объект>;
b. повернуться в сторону <объект>;
c. повернуться налево/направо; (1. пройти мимо <объект>;
e. не доходя до <объект>;
f. идти спримерное расстояние>;
Последняя лексема с расстоянием, которое необходимо преодолеть пользователю, используется в крайних случаях, когда иного варианта описания не существует (например, дорога в поле без строений и каких-либо объектов). Но для упрощения восприятия человеком расстояние указывается округленным до легко запоминающихся значений, например, «полтора километра» (вместо «1357 метров»).
5.6 Конечный результат
Результатом работы программы является описание маршрута, удобное для использования человеком. Оно представляется в структурированной форме и содержит знакомые пользователю объекты в качестве ориентиров. В отличие от строгой пошаговой инструкции, выдаваемой современными навигационными системами, такое описание легче запоминается и воспринимается человеком.
5.7 Развитие системы
В качестве развития системы служит интеграция с социальными сетями для извлечения мест, знакомых пользователю. Такими могут выступить онлайновые системы, где человек может отмечать свое текущее местоположение, например:
a. Ботэдиаге (https://foursquare.com/);
b. РасеЬоок (https://www.facebook.com/);
c. Google+ (https://plus.google.com/).
6 Заключение
Развитие технологий голосового взаимодействия человека и машин (компьютеров, роботов) приведет к ситуациям, когда станет необходима передача знания о маршруте от машины к человеку и наоборот в форме, удобной именно человеку. Вычислительная система всегда может быть приспособлена к особенностям восприятия и передачи информации человеком, но не наоборот. Именно для этих проблемных ситуаций и
разрабатывается комплекс систем по описанию маршрута в удобном для человека формате, часть которого была рассмотрена в данной статье.
7 Список литературы
[Allen, 1971] Allen, G.L., Kirasic, К.С., Siegel, A.W. and Herman, J.F.. Development Issues in Cognitive Mapping: The Selection and Utilization of Environmental Landmarks, Child Development 50, 1979, pp. 1062-1070.
[Cousins, 1983] Cousins, J.H., Siegel, A.W. and Maxwell, S.E.. Way-Finding And Cognitive Mapping in Large-Scale Environments: A Test of a Developmental Model, Journal of Experimental Child Psychology 35, 1983, pp. 1-20.
[Klatzky, 1997] Klatzky R.L., Freksa C., Habel C., Wender K.F.. Allocentric and Egocentric Spatial Representations: Definitions, Distinctions, and Interconnections, Artificial Intelligence (Eds.), Springer, 1997, v.1404, pp. 1-17.
[Klatzky, 1990] Klatzky, R. L., Loomis, J. M., Golledge, R. G., Cicinelli, J. G, Doherty, S., & Pellegrino, J. W.. Acquisition of route and survey knowledge in the absence of vision. Journal of Motor Behavior, 22, 1990, pp. 19-43.
[Loomis, 1999] Loomis, J. M., Klatzky, R. L., & Golledge, R. G. (in press). Human navigation by path integration. In R. Golledge (Ed.), Wayfinding: Cognitive mapping and spatial behavior. Baltimore, MD: Johns Hopkins University, 1999.
[Paillard, 1971] Paillard J.. The motor determinants of spatial organization, Cahiers de Psychologie, 1971, v.14, pp. 261-316.
[Yeap, 2000] Yeap W.K., Jefferies M.E.. On early cognitive mapping. Spatial Cognition and Computation, The Netherlands: Kluwer Academic Publishers, 2000, v.2(2), pp. 85-116.