Pull to refresh

Автоматическое геотегирование новостных сообщений или как я писал свой диплом

Всем привет. Сегодня я хочу рассказать о результате моей дипломной роботы, а именно описании программы, которая занимается геотегированием (привязкой к карте) новостных сообщений веб-сайта. Другими словами, программа позволяет автоматически отображать на карте теги (метки и кластеры) новостных сообщений, которые берутся с сайтов. Еще есть возможность просмотра простой ленты новостей.

Здесь можно ознакомится с программой. Предупреждаю сразу, программа находиться в режиме тестирования, а так же текст интерфейса написан на украинском языке.



План

1. Входные данные.
2. База данных названий населенных пунктов.
3. Фильтрация текста.
4. Поиск названий населенных пунктов в новосном сообщении.
5. Геотегирование новостного сообщения и генерация карты.
6. Дополнительные возможности программы.

Парсинг сайтов

Для решения даной задачи, я выбрал два новостных сайта, а именно Цензор.НЕТ и Zelv.RU. Для сбора данных, к ним были написаны парсера. Извлеченная информация сохраняется в базе данных (All_Pars_BD), которая состоит из следующих таблиц: ссылка, время публикации, заголовок, текст новости, количество просмотров и источник (новостной сайт).



Это все реализовано в PARSER.py. Особенностю скрипта, есть проверка сообщений на наличие дубликатов относительно базы даных.

UA+WORLD

Кроме базы данных сообщений, нужно иметь базу данных названий населенных пунктов (UA+WORLD). За щет чего будет реализован поиск в сообщении названий населенных пунктов. Изначально в задаче был определен мониторинг новостей Украины. Из-за этого база данных примерно на половину состоит из украинских названий населенных пунктов. Другая половина, состоит из названий мировых крупных городов. На данный момент база состоит из 993 объектов. Кроме того в базе предусмотрено наличие столбца, в котором хранятся географические координаты назв населенных пунктов.

Фильтрация

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

Поиск

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



Геотегирование и генерация карты

После удачной фильтрации и нахождения названий населенных пунктов в сообщении, следует завершающий этап — геотегирования. По сути, происходит замена текстовых данных (этих самых названий населенных пунктов) на географические координаты. После этого вся полученная информация отображается на карте (Google Map). Тут следует отметить удобность и простоту использования Gmap JS API. Особенно приятно было делать реализацию кластеризации (объединения) меток.

Новостная лента

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



Заключение

Даная программа частично решает задачу автоматизации процесса обработки информации. За щет использования агрегирования и геотегирования новостных сообщений. Думаю это будет полезно в первую очередь для аналитиков. Вот и в принципе все. Буду ждать Вашей объективной оценки моей разработки.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.