Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • C competence search
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Terraform modules
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • 240 Поисковик компетенций
  • competence search
  • Wiki
  • Руководство разработчика

Руководство разработчика · Changes

Page history
3.3 format authored May 13, 2021 by Григорий Хромов's avatar Григорий Хромов
Hide whitespace changes
Inline Side-by-side
Руководство-разработчика.md
View page @ 4f62069f
......@@ -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).
......
Clone repository
  • Home
  • Архитектура проекта
  • Руководство администратора
  • Руководство разработчика