- PVSM.RU - https://www.pvsm.ru -

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

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

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

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

План

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

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

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

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

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

UA+WORLD

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

Фильтрация

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

Поиск

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

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

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

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

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

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

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

Заключение

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

Автор: бро

Источник [4]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/python/274425

Ссылки в тексте:

[1] Здесь: http://github.com/Miroslav972/GeoTagMesg

[2] Цензор.НЕТ: http://censor.net.ua

[3] Zelv.RU: http://zelv.ru/

[4] Источник: http://habrahabr.ru/sandbox/114192/