Целью работы является создание алгоритмов, определяющих возраст и образование людей по текстам, которые они пишут.

Предлагается разработать и реализовать два алгоритма:

  • Определение возраста по тексту. На вход подается список текстов, принадлежащих одному автору. Выходом алгоритма должен быть один из классов: "<=17","18-24", "25-34", "35-44", ">=45".
  • Определения образования по тексту. Вход такой же, как в предыдущей задаче. Выход один из классов: "lower", "middle", "high".

Практическое задание - правила игры (обновлено 23.10.2017)

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

  • классификатор в файле solution.py. В файле должен содержаться класс Solution. В классе должны присутствовать методы
    • train(self, training_corpus). На вход метод train получает тренировочный корпус: jloads каждой строчки из обучающего файла. Метод train ничего не возвращает. Внимание: метод train будет вызываться отдельно, так что не стоит вызывать его в конструкторе класса. Также для ускорения проверки рекомендуется сохранять натренированные модели с помощью библиотеки Pickle, и присылать их вместе с решением, если позволяет размер. При наличии сохраненных моделей функция train должна автоматически загружать их.
    • get_age (self, texts), который получает на вход список сообщений от одного автора и возвращает интервал, в котором находится его возраст. Допустимые значения: "<=17","18-24", "25-34", "35-44", ">=45"
    • get_education (self, texts), который на вход получает список сообщений от одного автора и возвращает уровень его образования: "high" - высшее, "middle" - среднее, "lower" - ниже среднего.
  • (Пустой) файл __init__.py в корне архива. (Требования к пакетам Python).
  • Описание применяемых алгоритмов в файле description.txt. Пожалуйста, напишите подробное описание, какие методы и признаки использовались. Это описание будет выложено вместе с решением после завершения курса.
  • Все используемые внешние библиотеки, кроме библиотек описанных выше.

Шаблон решения: solution_template.zip