09 ноября 2010

Идея курсовой, а то и диплома, для любителей карт и crowdsourcing

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



Помимо всего прочего, на карту можно наносить Points Of Interest -- магазины, аптеки, рестораны и прочие заведения, которые могут быть людям интересны. У нас в России с такими заведениями есть проблема: они быстро исчезают и заменяются другими. Магазин, просуществовавший три года, можно считать старожилом.

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

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

Соответственно идея инженерная: сделать приложение для контактега, которое будет раз в день (иначе надоест) спрашивать пользователя "скажи, кафе 'Сачок' ещё работает или уже склеило ласты?". И две кнопки -- "да" и "нет". Ответ нужно записывать где-нибудь на server-side и потом обрабатывать. Если 10 человек скажут что "Сачок" накрылся, значит он наверное и правда накрылся и можно уведомить об этом смотрителя Петродворцового района на OpenStreetMaps/Bugs.

А идея математическая такая: я конечно не буду счастлив отвечать на вопросы про Купчино, где я почти никогда не бываю и даже про те места, где я бываю, я не буду счастлив отвечать 10 раз подряд. Нужна такая модель, которая будет разумно составлять пары (пользователь, POI) и показывать их. Учитывать географические данные пользователя. Учитывать как часто его уже спрашивали об этой точке. Учитывать насколько устарели данные об этой точке. Учитывать то что часто спрашивать нельзя и выбирать только наиболее актуальные вопросы.

Если кому интересно этим заняться, под моим руководством или под чьим-то ещё, feel free.