На языке Python необходимо реализовать приложение, состоящее из трех частей:
Краулер должен считывать новостную ленту с первой страницы сайта. Периодичность повторения устанавливается пользователем. Данные заполняются в БД MongoDB. Обязательные поля для текста новости:
- Название новости
- Дата новости
- Ссылка на новость
- Текст новости
- Ссылка на видео (если есть)
- Количество просмотров новости (если есть)
- Количество комментариев новости (если есть)
При учередном проходе краулера для существующих в БД новостей (определяется по - Название новости, Дата новости, Ссылка на новость) поля количества просмотров и комментариев обновляются.
Сайт - https://v1.ru/
Web-интерфейс главной страницы выглядит следующим образом:
Выделить с помощью Томита- парсера упоминание в тексте значимых персон Волгоградской области и достопримечательностей. Зафиксировать в БД предложения с их упоминанием для дальнейшего анализа тональности. Создать программный модуль для проведения с помощью Spark MlLib анализ модели word2vec на всем объеме новостных статей из БД. Для персон Волгоградской области и достопримечательностей определить контектные синонимы и слова, с которыми они упоминались в тексте.
Персоны https://global-volgograd.ru/person
Достопримечательности https://avolgograd.com/sights?obl=vgg
Модель word2vec была обучена на новостных статьях из Базы Данных объем которых составлял примерно 70000. Модуль записывает контекстные синонимы в БД и осуществляет следующий вывод:
'Поиск контекстных синонимов персон:'
'------------------------------'
'Бочаров Андрей Иванович'
бочаров
андрей
губернатор
попков
куприков
'------------------------------'
'Мержоева Зина Османовна'
зина
мержоева
вицегубернатор
эксвицегубернатор
выстропов
....
Также, модуль имеет web-интерфейс:
Программный модуль для выявления тональности высказываний по отношению к персонам Волгоградской области и достопримечательностям.
Можно использовать либо подход на основе правил и словарей, либо методы машинного обучения.
Анализ тональности текста осуществляется с помощью библиотеки: Dostoevsky
- https://github.com/bureaucratic-labs/dostoevsky
Web-интерфейс выглядит следующим образом: