Skip to content

Latest commit

 

History

History
37 lines (26 loc) · 3.34 KB

AdditionalHW.md

File metadata and controls

37 lines (26 loc) · 3.34 KB

pymystem3 & pymorphy2

Необязательное задание

Задание дает возможность поднять накопленную оценку. У тех, кто его сделает, накопленная за д/з будет разделена на 8, а у тех, кто не сделает, — на 7 (по количеству выполненных работ).

Написать flask-приложение, с которым можно разговаривать: пользователь пишет ему реплику, а оно отвечает предложением, в котором все слова заменены на какие-то случайные другие слова той же части речи и с теми же грамматическими характеристиками. Предложение-ответ должно быть согласованным. Ответ должен появляться на той же странице, где пользователь вводит фразу.

Например, на фразу "Мама мыла раму" программа может ответить "Девочка пела песню".

Для такой программы вам понадобится большой список русских слов:

  • можно взять список словоформ с сайта НКРЯ - http://ruscorpora.ru/corpora-freq.html
  • можно взять просто любой большой текст, вытащить из него слова и использовать их

Из этого списка вам нужен только список разных лемм разных частей речи, и затем нужно будет использовать функции parse и inflect из pymorphy2.

NB! Задание выполняется в виде обычного .py скрипта (или нескольких скриптов).

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

Балл Критерий
1 Программа запускается и оформлена по PEP8. Соответствие PEP8 можно проверить с помощью команды pycodestyle my_script_name.py в командной строке.
1 Список слов взят с сайта НКРЯ или сопоставим по объему (т.е. список из 100-200 слов не подойдет).
2 Программа генерирует ответ. Ответ выводится на той же странице, что и форма ввода, форма ввода никуда не исчезает.
2 Все слова в ответе заменены на слова с такими же грамматическими характеристиками. Слова выбираются случайным образом. Слова, введенные пользователем, не используются в ответе.
2 Ответ программы (будь то предложение или просто словосочетание) грамматически согласован.
2 Сайт оформлен с помощью bootstrap

Дедлайн

Группа Дедлайн
1 15 мая, 10.00
2 13 мая, 10.00
3 15 мая, 10.00
4 24 мая, 10.00