GithubHelp home page GithubHelp logo

news_processing's Introduction

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

Актуальность решаемой задачи. Как известно, в пост-индустриальном обществе самым ценным ресурсом является информация. В связи с развитием сети интернет, количество информационных ресурсов и потоков сведений настолько огромно, что для анализа и переработки текста, а также для мониторинга связей уже не хватает ресурсов человеческого мозга. Таким образом, приложение, способное решить проблему нехватки времени и сил, которое поможет избежать ошибок, к которым приводит персонализированное восприятие, способно принести немалую ценность в различных областях, начиная от развлекательных целей и заканчивая выявлением схем, способных привести практически любого человека к успеху(маркетинг, финансовые операции, и т.д.). В данном проекте рассматривается приложение, отвечающее за автоматическую обработку новостей, что ценно по крайней мере тем, что позволяет выявить настроения людей относительно происходящих событий, что может существенно прояснить дальнейшее его развитие. Так, в моем случае, я начинаю разработку приложения с анализа новостей о выборах в США, точнее, об ассоциациях, возникающих у читателя, с Дональдом Трампом и Хилари Клинтон. Среди наиболее популярных решений, которые используются для анализа и мониторинга информации, в том числе в СМИ, стоит отметить программу "Доктор Ватсон", использующуюся, в основном, аналитиками, работающими с текстовыми данными, специалистами служб безопасности и конкурентной разведки и маркетологами. Решение позволяет структурировать большой объем информации, распознать сущности и связи и сгенерировать отчет, отражающий особенности, интересующие пользователя.Также, довольно известным решением является программа "Сайт Спутник", предназначенная для организации профессионального поиска, сбора информации, размещенной в интернете и ее мониторинга. Она интересна тем, что в приложении, использующем программу, разработаны средства получения как новой, так и старой информации на актуальные темы. Проект выполняется на языке python, наиболее простом и удобном для веб программирования. Используемые библиотеки, например, urllib (для поиска необходимых новостей в сети), beautifulsoup4 (для парсинга текста статей) и pymorphy2(для непосредственного анализа текста), позволяют написать программу в несколько строчек, создающую матрицы связей и ассоциаций слов в исследуемых новостях. Также в проекте используется NLPub — каталог лингвистических ресурсов для обработки русского языка, состоящий из нескольких разделов: инструменты, ресурсы, методы, обзор рынка, мероприятия, персоналии, литература. Цель NLPub — содействовать развитию исследований и разработок в области автоматической обработки русского языка. План работы по реализации функциональности проекта: ТЗ - конец декабря 2016 года + моими задачами к данной контрольной точке были: 1)Определение новостного источника - газета Коммерсантъ. 2)Создание документа с 300-400 url адресами, отвечающими статьям, в которых встречаются фамилии Трамп и Хиллари. 3)Установка beautifulsoup4 + pymorphy2. 4)Создание кода на python, который с помощью парсера создает для каждой статьи отдельаный документ и перемещает в него лишь текст статьи. 5)Ознакомление с документацией pymorphy2. 6)Создание кода на python, который с помощью pymorphy2 проводит анализ статей, изменяя все слова на начальную форму. Текущим заданием является создание матрицы встречаемости различных слов в статьях с помощью кода на python. Прототип - К концу января 2017 года. Сбор обратной связи и уточнение ТЗ - около середины февраля 2017 года. Итоговая версия - середина марта 2017 года. Подготовка отчета 20-25 марта 2017 года. Затем реализация дополнительного функционала + выбор и реализация анализа темы, интересной студенту - апрель - май 2017 года.

1)Приложение, которые будет создано на основе данной скриптовой модели, будет иметь следующую архитектуру: Пользователи приложения - аналитики, журналисты, политики, компьютерные лингвисты. Взаимодействие с помощью web-интерфейса, обращаться к нему можно через web-сервисы. Сервиса будет 2: предоставляющий графики зависимостей(анализатор-граф) и таблицы зависимостей (анализатор-таблица(Excel)). Система будет экспортировать/импортировать данные из файлов с адресами новостей/новостями. 2)Скрипт на питоне запускается через любую среду разработки python 3, предварительно необходимо проверить наличие библиотеки beautifulsoup4 (при отсутствии загрузить), для запуска скрипта необходимо иметь 402 адреса статей(прикреплены в репозитории), и задать в скрипте путь к ним (так как модель на компьютере не переносима) Затем необходимо снимать комментирование с кода по кускам (для сокращения времени работы скрипта) и запускать его. 3)В коде наличествуют комментарии построчно, детально описывающие процесс создания косинусной зависимости между словами, найденными в статьях. Если кратко, скрипт перерабатывает адреса страниц со статьями, открывая каждую, копируя весь текст html-страницы, парсером избавляется от всех деталей, кроме непосредственно текста статьи, текст, с помощью библиотеки pymorphy, переводится пословно в начальную форму, находится частота встречаемости слов в каждой статье и в общем корпусе текстов, строится матрица частот, на ее основе, с помощью восприятия слов, как векторы, строится косинусная зависимость между каждой парой слов, с помощью которой и будет проведен анализ статей. Работа, выполняемая этим скриптом, является моделью процесса, который будет выполнять приложение, выполняющее автоматический анализ новостей.

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

Код располагается на сервере, взаимодействие происходит с помощью программы winscp, testing.py - на основе адресов статей находит tf-idf слов в статьях и относительно него и их частоты распределяет по временным промежуткам самые важные, а затем считает связь между ними с помощью косинусной зависимости, по силе этих связей строится граф - сильная связь - наличие ребра. Ребра записываются в json файл. Файл подгружается в код html страницы, где с помощью библиотеки d3.js строится svg-граф зависимостей. Все коды и прможетучоные файлы приложены.

news_processing's People

Contributors

edsukhodolskaya avatar

Watchers

James Cloos avatar Rostislav Yavorskiy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.