- проверка эссе на соблюдение формальных требований;
- генерация из набора эссе корпуса, пригодного для автоматической оценки качества.
Table of Contents
- Проверка эссе
- Генерация корпуса из эссе
- Установка на локальной машине
- Установка в виртуальной машине
- Возможные проблемы при установке
- Запуск тестов
После установки утилит по адресу http://<host>/submission_checker_v2.html
где host
это адрес локальной или виртуальной машины,
будет доступна веб-форма для проверки эссе.
Для проверки эссе надо выполнить:
./tools/run_checkerv2.sh /home/user/essay.zip
Для проверки нескольких эссе за один раз,
требуется чтобы каждое эссе находилось в отдельной папке;
именем папки должен быть идентификатор эссе.
Идентификатор формируется следующим образом: 2<num>
,
где 2 версия эссе, <num>
трехзначный номер эссе например 102.
Для запуска нужно выполнить:
tools/check_submissions.py /path/to/submissions
Эта команда выдаст сводную информацию по всем эссе которые находились в папке
/path/to/submissions
.
Пример:
id,fatal,serious,medium
2007,0,91,0
2008,0,0,0
2009,0,2,1
В первой колонке указан идентификатор проверенного эссе, в следующих колонках указано количество ошибок каждого типа.
- критические ошибки (fatal): делают исправление эссе очень трудоемким. Эссе, содержащее такие ошибки не должно быть использовано при генерации корпуса,
- серьезные ошибки (serious): должны быть исправлены до генерации корпуса
- средние ошибки (medium): Могут присутствовать при генерации корпуса в небольшом количестве (1-6), если проверяющий посчитал их незначительными.
Чтобы запустить проверку по некоторым эссе нужно запустить программу следующим образом:
tools/check_submissions.py /path/to/submissions /path/to/ids
/path/to/ids
- это файл, содержащий идентификаторы эссе,
которые нужно проверить
(каждый идентификатор с новой строки).
Эссе должны быть размещены в файловой системе, так как это описано в разделе Расположение файлов. Чтобы запустиь процесс генерации нужно выполнить:
./tools/generate_corpus.sh -i /path/to/submissions -o /where/to/store/corpus -s 3
Например:
./tools/generate_corpus.sh -i /opt/apps/submissions -o /opt/apps/corpus -s 3
При этом в папке /opt/apps/corpus
будет создана следующая структура:
.
├── source_retrieval
│ ├── susp
│ │ ├── manually-paraphrased3
│ │ │ ├── 013.txt
│ │ │ ├── 096.txt
│ │ └── manually-paraphrased3.zip
│ └── tasks
│ ├── manually-paraphrased3
│ │ ├── 013.json
│ │ ├── 096.json
│ └── manually-paraphrased3.zip
└── text_alignment
├── src
│ ├── 1.txt
│ ├── 2.txt
│ ├── 3.txt
├── src.zip
├── susp
│ ├── 013.txt
│ ├── 096.txt
├── susp.zip
└── tasks
├── manually-paraphrased3
│ ├── pairs
│ ├── suspicious-document096-source-document1.xml
│ ├── suspicious-document096-source-document2.xml
│ ├── suspicious-document096-source-document3.xml
....
└── manually-paraphrased3.zip
Опция -s
задает суффик в имени папки manually-paraphrased
.
Установка производится с помощью утилиты ansible. Поддерживаются операционные системы Debian 8 и Ubuntu 16.04.
sudo apt-get install libffi-dev python-dev libssl-dev sshpass python-pip
sudo pip install -U pyasn1 ansible==2.3.3
Выкачать исходники из git.
sudo apt-get install git
git clone https://github.com/PlagEvalRus/plag_submissions_utils plag_submissions_utils
Установить зависимости ansible
cd plag_submissions_utils
sudo ansible-galaxy install -r ansible/requirements.yml
Чтобы запустить процесс настройки программы, нужно выполнить:
bash ./setup_localhost.sh
Внимание: в ходе установки и настройки будет сконфигурирован веб-сервер apache, при этом будет удалена дефолтная конфигурация из папки sites-enabled. Дефолтная конфигурация останется в директории sites-available.
Поддерживается установка в виртуальной машине с использованием Vagrant и Docker. Виртуальная машина настраивается с помощью ansible, поэтому требуется выполнить установку ansible, как описано в предыдущем разделе.
Далее нужно установить Vagrant. И запустить в папке проекта:
vagrant up
Чтобы залогиниться в виртуальную машину выполните:
vagrant ssh
Чтобы узнать ip-адрес виртуальной машины выполните команду:
vagrant ssh-config
Формы для проверки эссе будут доступны по адресу: http://<vagrant-ip>
Чтобы собрать докер-образ и запустить контейнер нужно выполнить следующие команды
из директории проекта.
Пользователь должен находится в группе docker
,
чтобы команды выполнились успешно (подробности по настройке).
./build_docker_image.sh
./run_docker.sh
Формы для проверки эссе будут доступны по адресу: http://localhost:8889
Если возникает ошибка:
OSError: [Errno 13] Permission denied: '/home/plagevaluser/.ansible/tmp'
нужно выполнить команду:
sudo chown -R <user>:<user> ~/.ansible
заменив <user>
на имя актуального пользователя.
Перед первым запуском тестов необходимо установить зависимости, выполнив команду:
sudo pip install -r requirements-test.txt
Тесты запускаются из корневой директории командой:
./run_tests.sh