| ... | ... | @@ -271,15 +271,17 @@ |
|
|
|
## 3.3 Загрузка данных сервиса Личный кабинет МИЭМ и начальная предобработка
|
|
|
|
|
|
|
|
**Личный кабинет МИЭМ** хранит информацию об исследовательских и прикладных проектах факультета.
|
|
|
|
|
|
|
|
Сервис получает данные по следующему алгоритму:
|
|
|
|
1) С помощью API Личного кабинета программа получает список проектов, находящихся в статусе «Рабочий» (/public-api/projects) и «В архиве» (/public-api/projects/archive);
|
|
|
|
2) Для каждого проекта получаем описание (/public-api/project/body/{projectId});
|
|
|
|
3) В описании проекта выделяется отдельный блок «Требуемые и приобретаемые навыки», общий для всего проекта;
|
|
|
|
4) В функции предобработки из описаний проектов программа удаляет изображения, ссылки, дополнительные символы, которые снижают качество работы модели;
|
|
|
|
5) В текстовый файл projects.txt записываются описание самого проекта и общие для всех студентов компетенции;
|
|
|
|
6) По запросу /public-api/project/vacancies/{projectId} получаем список вакансий (ролей) для проекта, для каждой вакансии указан список компетенций.
|
|
|
|
7) Для каждого проекта программа получает список студентов и их роли в проекте (/public-api/project/students/{projectId});
|
|
|
|
8) Записываем в файл students_info.json id студентов и соответствующие им компетенции.
|
|
|
|
|
|
|
|
1. С помощью [`API` **Личного кабинета**](https://devcabinet.miem.vmnet.top/api/doc) программа получает список проектов, находящихся в статусе «Рабочий» (`GET` **/public-api/projects**) и «В архиве» (`GET` **/public-api/projects/archive**) ([код](https://git.miem.hse.ru/240/competence-search/-/blob/c911531e19c93a1f7a0dc6b70b70c419284db23d/cabinet/src/trainer/fetch_data.py#L167));
|
|
|
|
2. Для каждого проекта получаем описание (`GET` **/public-api/project/body/{projectId}**) ([код](https://git.miem.hse.ru/240/competence-search/-/blob/c911531e19c93a1f7a0dc6b70b70c419284db23d/cabinet/src/trainer/fetch_data.py#L178));
|
|
|
|
3. В описании проекта выделяется отдельный блок «Требуемые и приобретаемые навыки», общий для всего проекта;
|
|
|
|
4. В функции предобработки из описаний проектов программа удаляет изображения, ссылки, дополнительные символы, которые снижают качество работы модели ([код](https://git.miem.hse.ru/240/competence-search/-/blob/c911531e19c93a1f7a0dc6b70b70c419284db23d/cabinet/src/trainer/fetch_data.py#L179));
|
|
|
|
5. В текстовый файл `projects.txt` записываются описание самого проекта и общие для всех студентов компетенции;
|
|
|
|
6. По запросу `GET` **/public-api/project/vacancies/{projectId}** получаем список вакансий (ролей) для проекта, для каждой вакансии указан список компетенций ([код](https://git.miem.hse.ru/240/competence-search/-/blob/c911531e19c93a1f7a0dc6b70b70c419284db23d/cabinet/src/trainer/fetch_data.py#L81));
|
|
|
|
7. Для каждого проекта программа получает список студентов и их роли в проекте (`GET` **/public-api/project/students/{projectId}**) ([код](https://git.miem.hse.ru/240/competence-search/-/blob/c911531e19c93a1f7a0dc6b70b70c419284db23d/cabinet/src/trainer/fetch_data.py#L175));
|
|
|
|
8. Записываем в файл `students_info.json` `id` студентов и соответствующие им компетенции.
|
|
|
|
|
|
|
|
В модель передаются три типа документов: текстовый массив с описанием каждого проекта `projects.txt` в директории [`cabinet/data`](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/data), `JSON`-файл `projects_info.json` в директории [`cabinet/data`](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/data), в котором помещены данные с `id` проекта и соответствующему ему списком `id` участников, а также файл с информацией о компетенциях каждого пользователя Личного кабинета - `students_info.json` в директории [`cabinet/data`](https://git.miem.hse.ru/240/competence-search/-/tree/master/cabinet/data).
|
|
|
|
|
| ... | ... | |