What does the Internet think? (проект)

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
Ментор Красавина Алина
Учебный семестр Весна 2015
Учебный курс 1-й курс
Проект можно развивать на летней практике


Внимание! Данный проект находится в архиве и реализован не будет.

Что это за проект?

Аналог “What does the Internet think?”

Результат - веб-сервис с простейшим интерфейсом (форма отправки запроса, страница ответа), построенный на анализе статей с некоторого сайта. Например, Кинопоиск: с него будет проще из-за указанной в рецензии оценки; по большому счету, задача здесь сводится к тому чтобы спарсить ответы. Таким образом мы получим набор ответов, который несет в себе информацию о том, как относится интернет-аудитория к какому-то предмету, негативно или позитивно.

Чему вы научитесь?

  • Работе с системами контроля версий,
  • Работе с неструктурированными данными,
  • Использованию регулярных выражений и библиотек для работы с XML,
  • В случае выбора источника со словесными рецензиями - основам работы с естественным языком,
  • При разделении задания на несколько частей (например, в случае работы с несколькими сайтами) - возможность поработать в команде.

Какие начальные требования?

  • Знание Python
  • Знание Google App Engine или любого фреймворка, если есть желание его использовать
  • Желание ознакомиться с обработкой текстов и неструктурированных данных

Какие будут использоваться технологии?

  • Github
  • Google App Engine (или любой другой фреймворк на любом другом языке, связанный с БД)
  • Element Tree или Beautiful Stone Soup
  • Pymorphy

Темы вводных занятий

  • HTML и средства его обработки в Python. Element Tree, Beautiful Stone Soup, регулярные выражения.
  • Средства анализа текста в Python - pymorphy, регулярные выражения. Нормализация текста, стоп-слова.
  • Несколько способов получения словаря негативных и позитивных слов. Набор словаря руками, выбор и получение датасета, получение словаря путем обучения.

Направления развития

  • в случае, когда работа ведется со словесной рецензией, имеющей баллы (как на Кинопоиске), надо определять, не является ли каждая оценка противоречивой (иногда бывает “позитивный” отзыв с оценкой 1/10), надо уметь такое отличать и как-то реагировать, в зависимости от ситуации (проще - выкинуть, сложнее - анализировать текст)
  • добавление морфологии и словосочетаний в запрос и анализ текстов
  • определение имен собственных и совпадающих названий, как бывает часто у фильмов
  • разделение обработки коротких сообщений и больших статей
  • обработка утверждений, содержащих слова, которые могут быть разной полярности, вроде "это кино - мощный отстой"
  • разбор слов по силе выражаемой эмоции - от "не очень понравилось" до "кошмар, смотреть невозможно"

Критерии оценки

4-5: Обрабатывается один сайт (Кинопоиск), с которого берется числовой рейтинг, ответ - среднее арифметическое

6-7: Обработка сайта с числовым рейтингом, разрешение конфликтов в утверждениях (сообщение с рейтингом 1/10 и текстом - "Отличное кино, очень понравилось.") Или обработка сайта с сообщениями (например, твиттер), можно использовать готовый набранный словарь с негативностью слов

8-10: то же, что и для "6-7", с собственными инициативами из направлений развития, использовать хотя бы одну на выбор