Набор для корпуса "Сделай сам"
Ментор | Дмитрий Фролов |
Учебный семестр | Весна 2016 |
Учебный курс | 1-й курс |
Максимальное количество студентов, выбравших проект: 5 | |
Содержание |
Что это за проект?
На факультете филологии НИУ ВШЭ имеется проект по сбору всех текстов, которые есть в Интернете (в том числе в соцсетях) на языках народов России. То есть получаются отдельные коллекции для башкирского, удмуртского, чувашского и т.д. Разного размера. В той части, которая вытянута из соцсетей, известно много об авторе: пол, возраст, дата рождения, город. Необходим веб-сервис, который позволял бы не просто скачать все тексты архивом, а умел реагировать на такие, например, запросы от пользователя: "хочу коллекцию текстов на ингушском языке объёмом 100 000 слов, чтобы она состояла из записей в соцсетях людей из Назрани от 20 до 38 лет". В запросной форме пользователь отмечает галочки, посылает запрос к серверу, а он позволяет скачать архив с набором файлов (в XML) и метатаблицей.
Функциональность интерфейса
- сначала выбирается язык (один из имеющихся), а потом всё остальное.
- пользователь может выбрать, хочет он корпус текстов только из соц.сети, только из интернета, просто N (захардкоженное число) токенов текста на одном из имеющихся у нас языков или всё целиком
- только текст на этом языке или с вкраплениями русского
- выбор по всяким параметрам авторов в соц.сети (пол, возраст, город говорящего).
- сохранять или не сохранять диалоговую структуру ВК-стены
Примеры запросов:
- хочу получить все тексты только на этом языке, написанные мужчинами до 24 лет
- хочу получить тексты из соц.сетей с сохранением структуры диалога и с русским текстом
- тоже самое, только без русского текста
- хочу получить тексты из интернета с 5 доменов.
Чему вы научитесь?
- Основы проектирования и разработки клиент-серверных приложений
- Базовые знания Unix Shell
- Работа с нереляционными базами данных
Какие начальные требования?
- Представление о технологиях создания веб-страниц
- Основы языка программирования Python
Какие будут использоваться технологии?
- HTML/CSS, JavaScript, JQuery
- Python 2.7
- WebPy/Web2Py/Django
- Ubuntu Linux/OpenSUSE/FreeBSD, GNU Emacs или Vim - на выбор
- MongoDB
- git, github/bitbucket
- http-сервер Nginx/Apache (возможно - в связке с WSGI-сервером (Gunicorn))
Темы вводных занятий
- Архитектура клиент-серверных приложений и основные принципы разработки. Средства разработки клиентской и серверной частей.
- Нереляционные базы данных, преимущества, недостатки, особенности использования
Ориентировочное расписание занятий
СР 18.30-20.30
Формат данных для скачанных файлов
json в таком формате:
{ "downloaded_by": "Tester", "download_date": "2016-01-25 10:28:15.197639", "url": "http://www.abazashta.com/club/forum/forum2/topic2/messages/?PAGEN_1=2", "domain": "www.abazashta.com", "language": "abq", "header": "", "text": { "85": { "language": "abq", "text": "Адац-ач1выйа йг1аныпщтуа сахща?" }, … }
Пример: https://yadi.sk/d/uU8n-O9XoxR5q (адыгейский)
Нам бы хотелось, чтобы был вариант выгрузки в XML.
Все данные из VK
https://yadi.sk/d/BHF4aMU-ozyJz
Списки доменов для крупных языков
- Башкирский: https://yadi.sk/d/kxWvlU_Wm7gAT
- Татарский: https://yadi.sk/d/KLfAB1ulm7gbG
- Якутский: https://yadi.sk/d/J9xKQjPKm7ghi
Отсюда для обработки нужны: url_type1_by_folders.txt и url_type2.txt