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

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

Внимание! Регистрация будет закрыта в первой половине Ноября!

После регистрации и входа в систему появится поле для загрузки файла, личная страница со статистикой, а также ссылка на тренировочный корпус*.

  • На основной странице находится таблица с рейтингами студентов (имя студента, количество очков) и лучшими результатами за прошлую неделю (имя, достоверность, балл)
  • На личной странице есть статистика со всеми результатами в т.ч. результатами последнего тестирования (дата, описание, достоверность)

Для загрузки файла надо выбрать файл и заполнить форму (содержательное название алгоритма). Загружаемый файл должен представлять собой zip архив с любым именем. Архив должен обязательно содержать:

  • классификатор в файле solution.py. В файле должен содержаться класс SentimentAnalyzer. Кроме того в классе должен присутствовать метод getClasses (self,texts), который получает на вход список текстовых сообщений и возвращает список из {0,1}, где "0" означает отрицательный отзыв, а "1" - положительный.
  • дамп обученного классификатора в файле solution.pkl. Для созданий дампа нужно воспользоваться стандартным модулем cPickle.
  • описание применяемых алгоритмов в файле description.txt
  • все используемые внешние библиотеки, кроме библиотек пакетов NLTK, scikit-learn и BeautifulSoup (они доступны автоматически).

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

Результаты тестирования появятся на личной странице, как только закончится тестирование.

Ограничения:

  • каждую неделю можно послать только 10 версий программы
  • размер архива не может превышать 15Мб

Подсчет очков
В течении недели студенты не видят прогресс своих коллег и могут посмотреть только свой результат. В конце каждой недели (каждый четверг в 23.59.59) производится ранжирование (по F1 мере) всех присланных программ и начисляются очки: за 1 место – 10 очков, 2-9 и т.д. Все программы выше baseline получают по 1 очку. После этого результаты становятся доступны всем на главной странице.

Baseline
В качестве нижней границы используется один из стандартных алгоритмов классификации с N-граммами в качестве признаков. Его достоверность (accuracy) равна 0.7699.

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

Тренировочный корпус является частью корпуса РОМИП и предназначен только для учебных целях в рамках данного спецкурса. По вопросам использования корпуса в других целях следует обратиться к организаторам РОМИП.

Критерии выполнения задания

Для допуска к экзамену необходимо набрать 5 и более очков.

Дополнительные вопросы

Все вопросы относительно проверки заданий просьба присылать на fedorenko(-a-t-)ispras.ru или писать здесь в комментариях.

Для установки внешних модулей (NLTK, scikit-learn, BeautifulSoup) рекомендуется использовать easy_install из пакета setuptools.

19 thoughts on “Практическое задание 2013”

  1. Насколько я понимаю, оценка 0 в тренировочном корпусе означает вовсе не минимальную оценку, а её отсутствие: многие из этих отзывов явно положительные, в отличие от отзывов с оценками 1, 2 и пр. Однако, в функции deserialize из шаблона такие отзывы относятся к негативным. Это можно исправить при обучении, но учтено ли это при тестировании?

    1. Тернировочный и тестовый корпуса были получены из корпусов РОМИП, в которых стоят оценки от 0 до 10. Разделение на тренировочный и тестовый корпуса производилось случайным образом.
      При загрузке происходит преобразование оценок - все что больше 5 в 1, все что меньше или равно в 0. Никакой дополнительной обработки не производится.

  2. Когда я пытаюсь загрузить архив с решением, сервер выдает
    Server Error (500)
    There's been an error. It's been reported to the site administrators via e-mail and should be fixed shortly. Thanks for your patience.

    А попытки загрузки все равно вычитаются.
    Что происходит?

    1. 1. Все файлы нужно класть в корень архива - никаких подкаталогов (forSubmission, solution и т.п.) создавать дополнительно не нужно.
      2. Также у вас отсутствует файл solution.pkl (точнее, дамп классификатора есть, но называется он иначе - нужно переименовать).
      3. В архиве много мусора (например, pyc-файлы) - это не критично, но желательно отправлять только необходимое.

      Насчет 3-его пункта, многие еще любят положить файлы с обучающей и тестовой выборкой. Пожалуйста, не делайте этого. Если вы как-то преобразовывали dataset, лучше просто подробно опишите это в файле description.txt.

  3. Почему-то все заявки загружаются с результатом: error. solution.pkl есть, все файлы в корне архива.

    1. Когда отправляли последний раз?
      Ошибка возникает после тестирования или сразу, после отправки архива на сервер (Server Error (500))?

  4. Здравствуйте! Не могли бы вы уточнить, а экзамен будет проходить 6 декабря в 18.00 в 612 или в какой-то другой аудитории? Правильно ли я понимаю, что он будет устный?

  5. Будет ли еще в какой-нибудь день проводиться экзамен по спецкурсу? И можно ли еще отправлять решения? Есть желание сдать этот спецкурс!

    1. Отправлять решения можно до пятницы. Для допуска к экзамену надо набрать 4 балла.
      Если Вы допущены, но не можете прийти на экзамен, то можно договориться со мной, и сдать во время сессии.

  6. Денис Юрьевич, здравствуйте! у меня, как и у других студентов, которые забыли захватить с собой ведомость на экзамен, возникает вопрос, когда и где Вас можно будет найти?

  7. Добрый день! Я забыла взять ведомость по мат. спецкурсу до экзамена, скажите, пожалуйста, когда можно будет проставить оценку?

  8. Здравствуйте! В посте о проставлении оценок в ведомость написано, что в январе вы будете в университете. Вы не могли бы уточнить, в какие дни, во сколько и где вас можно найти в университете в январе для проставления оценки в ведомость?

Leave a Reply to Настя Cancel reply

Your email address will not be published. Required fields are marked *

*