Skip to content

Sergey1888888/News-analysis-vlg

Repository files navigation

Анализ новостей Волгограда с сайта novostivolgograda.ru

Можно посмотреть на работу Тестовый страничка Обновление происходит каждые 6 часов.

Проект разделен на три части:

  1. Парсинг данных с новостного сайта с занесением их в БД MongoDB.
  2. Выделение с помощью Томита-парсера упоминание в тексте значимых персон Волгоградской области и достопримечательностей. Занесение в БД предложения с их упоминанием для дальнейшего анализа тональности. Создать программный модуль для проведения с помощью Spark MlLib анализ модели word2vec на всем объеме новостных статей из БД. Для персон Волгоградской области и достопримечательностей определить контектные синонимы и слова, с которыми они упоминались в тексте.
  3. Создать программный модуль для выявления тональности высказываний по отношению к персонам Волгоградской области и достопримечательностям.

Парсер

Парсер новостного сайта (parser/scrapper.py) — проходит по новостям сайта novostivolgograda.ru и собирает ссылки на статьи. Затем заходит по всем собранным ссылкам и получает дату новости, её текст и название. Все данные записываются в коллекцию data.  

Модуль для анализа новостей из БД

Выделение персон и достопримечательностей и помещение их в таблицу analysis выполняет скрипт tomita.py. Перед запуском необходимо его поместить в папку с файлами persons.cxx, attractions.cxx, mydic.gzt и facttypes.proto.

Модель word2vec была обучена на новостных статьях из базы данных, объем которой составлял примерно 45000 статей. Модель находится в папке ./word2vec/model/kurs_model/. Запуск модуля осуществляется запуском программы ./word2vec/main.py. Модуль записывает контекстные синонимы в БД и осуществляет следующий вывод:

'Контекстные синонимы слов, полученные из модели, обученной на статьях:'
'--------------------'
'алимов'
Row(word='зампредседателя', similarity=0.816402792930603)
Row(word='облздрава', similarity=0.781923234462738)
Row(word='себелев', similarity=0.7760810852050781)
Row(word='лукьяненко', similarity=0.7573933601379395)
Row(word='семисотов', similarity=0.7363854050636292)
'--------------------'
'бочаров'
Row(word='губернатор', similarity=0.9528191685676575)
Row(word='андрей', similarity=0.9124425649642944)
Row(word='бочаровглава', similarity=0.910007655620575)
Row(word='поручил', similarity=0.8725244402885437)
Row(word='проинспектировал', similarity=0.8666603565216064) 

Модуль для выявления тональности высказываний

Тональность определяется у предложений, выявленных томита-парсером на втором этапе работы. Для анализа была использована библиотека Dostoevsky - https://github.com/bureaucratic-labs/dostoevsky. Запуск модуля осуществляется запуском программы tonality/dos.py. В результате работы модуль записывает в БД id предложений и их тональность, также.

Команда

Сердюков В.А.

Заборонок С.В.

Хаиров Р.М.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •