Содержание

Описание курса

Проектирование и разработка интеллектуальных информационных систем

Рейтинги 2024
До защиты проектов:
Загрузка...
0%
Submission
Pitching 1
23.11.24
Pitching 2
14.12.24

Целью курса является изучение базовых парадигм разработки интеллектуальных информационных систем (ИИС), т.е. систем обладающих способностью собирать, обрабатывать и анализировать большое количество данных, на основе которых она может автоматически принимать решения и выполнять задачи. Такие системы могут быть использованы для широкого круга задач в различных отраслях, включая финансы, здравоохранение, транспорт, производство и множество других областей.

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

Разделы

/iis/overview/plan.png
Course roadmap

[Intro] Введение в ИИС и выравнивание знаний.

Определение, основные принципы, характеристики; анализ существующих примеров ИИС и их роли в различных областях; этические и социальные аспекты разработки и использования ИИС. Оформление кода, разработка проектов на языке Python, а также хранение и извлечение данных.

Вопросы
  • Отличающие характеристики интеллектуальных системы от информационных;
  • Основные этапы жизненного цикла разработки интеллектуальных информационных систем;
  • Требования к данным, обучающим выборкам и инфраструктуре, при разработке интеллектуальных систем;
  • Структура кода (PEP8) и проекта на Python;
  • Модульное тестирование (автотесты);
  • Типы лицензий;
  • Документирование и журналирование;
  • Роль обучающей, валидационной и тестовой выборок данных при разработке интеллектуальных систем;
  • Несбалансированные данные для обучения моделей;
  • Извлечение данных;
  • Безопасность и конфиденциальность данных;
  • Реляционные и нереляционные базы данных;
  • Графовые базы данных;
  • Векторная базы данных.

[Algo] Алгоритмизация стратегий и решений для разработки ИИС.

Базовые возможности ИИС на примерах задач оптимизации и анализа данных, сравнение эффективности реализаций и основы теории алгоритмов.

Вопросы
  • Концепции разработки алгоритмов;
  • Линейное, вероятностное и функциональное программирование в решении практических задач;
  • Алгоритмы на графах и сетях;
  • Генетические алгоритмы;
  • Алгоритмы решения задач большой размерности;
  • Подходы для ускорения работы алгоритмов.

[ML] Классификация и описание моделей и их метрик в машинном обучении.

Обзор на классические задачи машинного обучения и разбор ключевых алгоритмов, с точки зрения их принципа работы и сравнения при помощи базовых метрик оценки.

Вопросы
  • Модели и метрики, общий подход
  • Обучение с учителем
  • Обучение без учителя
    • Модели кластеризации и её метрики
    • Ансамблевые модели и метрики
    • Снижение размерности
  • Рекомендательные системы

[NLP] Техники и Модели обработки естественного языка (NLP).

Формирование понятийного аппарата и обзор открытых инструментов в области анализа естественного языка, навыки поиска и использования готовых NLP-моделей, и создание исследовательского цикла от исходных текстовых данных до отчета с артефактами.

Вопросы
  • Терминология, базовые возможности и инструменты в NLP
  • Векторизация и группировка (embedding) слов
  • Рекуррентная нейросеть (RNN) в NLP
  • Тональность и эмоциональная классификация текста
  • NER

[LLM] Большие языковые модели (LLM) для ИИС.

На основе OpenAI API и комбинации запросов, создание приложений для генеративной текстовой модели (>GPT-3.5).

Вопросы
  • Работа с OpenAI API
  • Базовые понятия в Prompt Engineering

Задания

[Intro] Введение в ИИС и выравнивание знаний.

  1. Python, Numpy, Pandas:  Manual,  Notebook,  Titanic data,  Iris data
  2. Работа с данными:  Notebook
  1. Визуализация данными:  Notebook,  Cereal data

[Algo] Алгоритмизация стратегий и решений для разработки ИИС.

  1. Временные ряды, часть 1:  Notebook,  Market data,  BTC data
  2. Алгоритмы на графах:  Notebook

[ML] Классификация и описание моделей и их метрик в машинном обучении.

  1. Основы машинного обучения:  Notebook
  2. Деревья решений (Decision Tree):  Notebook,  ans data,  train data,  test data

[NLP] Техники и Модели обработки естественного языка (NLP).

  1. Word Embeddings:  Notebook
  2. Streamlit:  Notebook
  3. Латентное размещение Дирихле (LDA):  Notebook,  Elon Musk data
  4. Анализ текста:  Notebook 1,  Notebook 2,  Text data

Проекты

👶 Простые:

Проект: Визуализация данных о заболеваемости COVID-19

  • Описание: Разработка интерактивного веб-приложения для визуализации статистики заболеваемости COVID-19 по регионам, странам и времени. Приложение позволяет пользователям выбирать регионы и периоды времени для анализа графиков и тенденций.
  • Стек: , ,
  • Источник данных: Our World in Data, Johns Hopkins University
  • Источник модели: Не требуется
  • Системные характеристики: CPU с 2 ядрами, 4 ГБ ОЗУ, 10 ГБ свободного места на диске
  • Роли в команде:
    • – отвечает за сбор, очистку и обработку данных из внешних источников, интеграцию данных в приложение, настройку сервера и API.
    • – создает пользовательский интерфейс, настраивает визуализацию данных с помощью Plotly и Streamlit, следит за отзывчивостью интерфейса.
    • – анализирует данные, выявляет тренды и паттерны, предоставляет рекомендации по улучшению визуализаций.
    • – проверяет функциональность и корректность приложения, управляет задачами и сроками команды.

Проект: Приложение для отслеживания личных финансов

  • Описание: Веб-приложение для управления личными финансами с возможностью учета доходов и расходов, анализа и генерации отчетов.
  • Стек: , или , ,
  • Источник данных: Открытые API банков (Plaid API)
  • Источник модели: Не требуется
  • Системные характеристики: CPU с 2 ядрами, 4 ГБ ОЗУ, 10 ГБ свободного места на диске
  • Роли в команде:
    • – создает серверную часть приложения, интегрирует API для получения данных банков, обрабатывает данные и настраивает их хранение в базе данных.
    • – отвечает за визуальное представление данных, создает формы ввода и таблицы, разрабатывает адаптивный интерфейс с использованием Bootstrap.
    • – создает алгоритмы для анализа финансовых данных, разрабатывает отчеты и инструменты визуализации для пользователя.
    • – проектирует пользовательский интерфейс, разрабатывает макеты и взаимодействия, оптимизирует приложение для удобства использования.

Проект: Telegram-бот для рекомендаций фильмов

  • Описание: Создание Telegram-бота, который предоставляет рекомендации фильмов на основе жанра, года выпуска или рейтинга.
  • Стек: , ,
  • Источник данных: OMDb API
  • Источник модели: Не требуется
  • Системные характеристики: CPU с 2 ядрами, 4 ГБ ОЗУ, 5 ГБ свободного места на диске
  • Роли в команде:
    • – реализует функциональность бота, создает логику обработки команд и ответов, интегрирует бот с Telegram API.
    • – отвечает за подключение к OMDb API, получение данных о фильмах и их обработку.
    • – проверяет работу бота, управляет контентом (данные фильмов), создает тестовые сценарии.
    • – разрабатывает текстовые и визуальные элементы взаимодействия с ботом, улучшает пользовательский опыт.

Проект: Приложение для учёта спортивных достижений

  • Описание: Веб-приложение для спортсменов, позволяющее отслеживать спортивные достижения и прогресс (например, бег, велосипед, плавание).
  • Стек: , , ,
  • Источник данных: Strava API
  • Источник модели: Не требуется
  • Системные характеристики: CPU с 2 ядрами, 4 ГБ ОЗУ, 10 ГБ свободного места на диске
  • Роли в команде:
    • – создает API для работы с данными пользователей, интегрирует Strava API для получения данных о спортивных достижениях.
    • – разрабатывает интерфейс приложения, настраивает визуализацию данных с использованием Chart.js.
    • – анализирует спортивные данные, создает отчеты и графики прогресса.
    • – организует процессы разработки, тестирует функциональность и координирует команду.

Проект: Приложение для планирования задач с использованием Kanban-доски

  • Описание: Приложение для планирования задач, основанное на методологии Kanban, с функциями добавления, изменения и удаления задач.
  • Стек: , ,
  • Источник данных: Нет (приложение использует внутренние данные пользователя)
  • Источник модели: Не требуется
  • Системные характеристики: CPU с 2 ядрами, 4 ГБ ОЗУ, 10 ГБ свободного места на диске
  • Роли в команде:
    • – разрабатывает серверную часть приложения, отвечает за управление данными задач, их хранение и обработку.
    • – создает пользовательский интерфейс Kanban-доски, настраивает взаимодействие с сервером.
    • – проводит тестирование функциональности приложения, выявляет и исправляет ошибки.
    • – проектирует макеты Kanban-доски, улучшает пользовательский опыт и удобство использования.

Проект: Приложение для рекомендаций книг по жанрам

  • Описание: Веб-приложение, которое предлагает пользователю книги для чтения на основе выбранных жанров.
  • Стек: , , ,
  • Источник данных: Goodreads API
  • Источник модели: Не требуется
  • Системные характеристики: CPU с 2 ядрами, 4 ГБ ОЗУ, 10 ГБ свободного места на диске
  • Роли в команде:
    • – реализует взаимодействие с Goodreads API, получает и обрабатывает данные о книгах.
    • – создает интерфейс для выбора и просмотра книг, разрабатывает страницы с использованием Bootstrap.
    • – управляет базой данных книг, следит за актуальностью и качеством данных.
    • – проектирует и улучшает внешний вид приложения, разрабатывает макеты интерфейсов.

Проект: Приложение для управления списками покупок

  • Описание: Веб-приложение для создания и управления списками покупок с возможностью делиться ими с другими пользователями.
  • Стек: , , ,
  • Источник данных: Нет (локальные данные пользователя)
  • Источник модели: Не требуется
  • Системные характеристики: CPU с 2 ядрами, 4 ГБ ОЗУ, 10 ГБ свободного места на диске
  • Роли в команде:
    • – разрабатывает серверную логику для управления списками покупок, настраивает базы данных.
    • – создает интерфейс приложения, реализует взаимодействие с сервером и базой данных.
    • – проверяет функциональность приложения, устраняет ошибки и улучшает производительность.
    • – проектирует пользовательский интерфейс, оптимизирует приложение для лучшего опыта.

Проект: Веб-приложение для изучения иностранных языков

  • Описание: Приложение, которое помогает учить новые слова и фразы, используя флэш-карты и мини-тесты.
  • Стек: , , ,
  • Источник данных: Open Multilingual Wordnet
  • Источник модели: Не требуется
  • Системные характеристики: CPU с 2 ядрами, 4 ГБ ОЗУ, 10 ГБ свободного места на диске
  • Роли в команде:
    • – создает серверную часть приложения, отвечает за хранение и обработку данных о словах и тестах.
    • – создает интерфейс приложения, разрабатывает компоненты для флэш-карт и тестов.
    • – управляет базой данных слов и выражений, следит за их актуальностью и полнотой.
    • – проверяет корректность работы приложения, выявляет и устраняет баги.

Проект: Интерактивное приложение для расчета калорийности блюд

  • Описание: Веб-приложение, которое позволяет пользователям вводить ингредиенты и рассчитывать калорийность блюда.
  • Стек: , , ,
  • Источник данных: USDA Food Data Central
  • Источник модели: Не требуется
  • Системные характеристики: CPU с 2 ядрами, 4 ГБ ОЗУ, 10 ГБ свободного места на диске
  • Роли в команде:
    • – интегрирует приложение с базой данных продуктов, реализует API для обработки пользовательских запросов.
    • – разрабатывает интерфейс приложения, настраивает визуализацию данных с использованием Chart.js.
    • – тестирует приложение, выявляет и исправляет ошибки.
    • – разрабатывает макеты интерфейса, оптимизирует приложение для удобства использования.

Проект: Приложение для мониторинга уровня шума в городах

  • Описание: Приложение для сбора и отображения данных о уровне шума в разных частях города. Использует данные, полученные с мобильных устройств пользователей.
  • Стек: , , ,
  • Источник данных: London Datastore, данные пользователей
  • Источник модели: Не требуется
  • Системные характеристики: CPU с 2 ядрами, 4 ГБ ОЗУ, 10 ГБ свободного места на диске
  • Роли в команде:
    • – разрабатывает серверную часть приложения, настраивает базы данных для хранения и обработки данных о шуме.
    • – создает интерфейс для отображения данных о шуме, интегрирует карты и визуализации.
    • – проверяет корректность работы приложения, находит и исправляет баги.
    • – анализирует данные о шуме, выявляет паттерны и тренды, предлагает улучшения.
👨‍💻 Средние:

Проект: Прогнозирование цен акций российских компаний с использованием LSTM

  • Описание: Разработка системы прогнозирования цен акций российских компаний, таких как “Сбербанк”, “Газпром”, “Яндекс”, с использованием методов глубокого обучения (Long Short-Term Memory — LSTM). Система анализирует исторические данные с Московской Биржи (MOEX) и предсказывает цены на основе временных рядов.
  • Стек: , , , ,
  • Источник данных: Московская Биржа (MOEX), Alpha Vantage API
  • Источник модели: Предобученная LSTM модель с TensorFlow Hub
  • Системные характеристики: GPU (например, NVIDIA с поддержкой CUDA), 8 ГБ ОЗУ, 50 ГБ свободного места на диске
  • Роли в команде:
    • – обучает модели LSTM для прогнозирования цен акций, настраивает гиперпараметры и проводит экспериментирование.
    • – интегрирует данные с Московской Биржи и Alpha Vantage API, настраивает API для получения данных в реальном времени.
    • – анализирует финансовые данные, готовит датасеты для обучения моделей, проводит визуализацию результатов.
    • – тестирует производительность и точность модели, отвечает за координацию команды и управление сроками.

Проект: Система рекомендаций для российских интернет-магазинов

  • Описание: Разработка системы рекомендаций для российских интернет-магазинов, которая анализирует поведение пользователей и предлагает персонализированные товары и услуги в реальном времени.
  • Стек: , , , ,
  • Источник данных: Открытые данные маркетплейсов (Ozon, Wildberries), Kaggle (E-commerce Data)
  • Источник модели: Модель рекомендаций BERT4Rec с HuggingFace
  • Системные характеристики: CPU с 8 ядрами, 16 ГБ ОЗУ, 200 ГБ свободного места на диске
  • Роли в команде:
    • – обучает рекомендательные модели, настраивает их параметры и тестирует на реальных данных.
    • – настраивает API для обработки данных в реальном времени, интегрирует систему с данными от Ozon и Wildberries.
    • – создает интерфейс для отображения рекомендаций пользователям, улучшает визуальное восприятие.
    • – проводит тестирование системы, оценивает качество рекомендаций и предлагает улучшения.

Проект: Платформа анализа потребностей в туристических услугах

  • Описание: Платформа для анализа данных о туристических поездках по России, включая интеграцию с социальными сетями и автоматизацию маркетинговых стратегий для туристических агентств.
  • Стек: , , , ,
  • Источник данных: Открытые данные Ростуризма, Twitter API
  • Источник модели: Модель анализа тональности (Russian Sentiment Analysis) с HuggingFace
  • Системные характеристики: CPU с 8 ядрами, 16 ГБ ОЗУ, 250 ГБ свободного места на диске
  • Роли в команде:
    • – интегрирует платформу с данными Ростуризма и Twitter API, обрабатывает данные и управляет базой данных.
    • – создает интерфейс для визуализации анализа и отчетов по потребностям туристов.
    • – анализирует данные из социальных сетей и источников по туризму, использует модели анализа тональности.
    • – проводит тестирование системы, управляет процессами разработки и сроками.

Проект: Интеллектуальная система для управления городским транспортом

  • Описание: Платформа для анализа и прогнозирования пассажиропотока в городском транспорте на основе данных о движении автобусов, метро, трамваев и троллейбусов в Москве.
  • Стек: , , , ,
  • Источник данных: Открытые данные Московского транспорта, Яндекс API
  • Источник модели: Модели временных рядов для анализа пассажиропотока с HuggingFace
  • Системные характеристики: CPU с 4 ядрами, 8 ГБ ОЗУ, 100 ГБ свободного места на диске
  • Роли в команде:
    • – обучает модели для прогнозирования пассажиропотока, анализирует результаты и оптимизирует алгоритмы.
    • – создает API для интеграции данных о движении транспорта и пассажиропотока, настраивает связи с Яндекс API.
    • – анализирует данные о движении транспорта, разрабатывает стратегии для оптимизации пассажиропотока.
    • – тестирует интерфейс, улучшает пользовательский опыт и разрабатывает макеты.

Проект: Система предсказания отказов оборудования для российских заводов

  • Описание: Использование методов машинного обучения для анализа данных с датчиков российских заводов и предсказания вероятности отказа оборудования, что позволяет предотвратить поломки и снизить затраты на ремонт.
  • Стек: , , ,
  • Источник данных: Открытые данные Российского промышленного сектора, Kaggle (Machine Failure Data)
  • Источник модели: Модель классификации отказов оборудования с TensorFlow Hub
  • Системные характеристики: CPU с 4 ядрами, 8 ГБ ОЗУ, 50 ГБ свободного места на диске
  • Роли в команде:
    • – обучает модели для предсказания отказов оборудования, проводит оптимизацию и анализирует результаты.
    • – интегрирует приложение с датчиками и внешними системами заводов, создает API для обмена данными.
    • – анализирует данные с датчиков, готовит их для обучения моделей.
    • – проверяет производительность системы, управляет задачами и сроками выполнения.
👨‍🎓 Сложные:

Проект: Интеллектуальная система управления энергопотреблением в умных домах

  • Описание: Разработка системы для управления энергопотреблением в умных домах, использующей данные с IoT-датчиков для оптимизации использования электроэнергии и снижения затрат.
  • Стек: , , , , ,
  • Источник данных: Открытые данные энергетики России, Open Power System Data
  • Источник модели: Модель прогнозирования энергопотребления с TensorFlow Hub
  • Системные характеристики: GPU (NVIDIA RTX 3090), 32 ГБ ОЗУ, 1 ТБ SSD
  • Роли в команде:
    • – обучает и оптимизирует модели для прогнозирования энергопотребления, анализирует результаты и улучшает точность.
    • – создает инфраструктуру для развертывания и масштабирования системы, интегрирует Docker и Apache Kafka.
    • – анализирует данные с датчиков, выявляет паттерны и проводит исследование для улучшения точности моделей.
    • – тестирует работоспособность системы, управляет задачами и сроками.

Проект: Автоматизация обнаружения мошенничества в банковских операциях

  • Описание: Разработка системы для автоматизированного обнаружения мошенничества в банковских операциях, использующей машинное обучение и анализ поведения пользователей.
  • Стек: , , , ,
  • Источник данных: Открытые банковские данные России, Kaggle (Fraud Detection Datasets)
  • Источник модели: Модель для обнаружения аномалий с HuggingFace
  • Системные характеристики: GPU (NVIDIA A100), 64 ГБ ОЗУ, 2 ТБ SSD
  • Роли в команде:
    • – разрабатывает и обучает модели для обнаружения мошенничества, проводит тестирование и оптимизацию.
    • – отвечает за обработку и подготовку данных, разработку потоков данных и интеграцию с банковскими системами.
    • – анализирует результаты моделей, выявляет аномалии и улучшает алгоритмы.
    • – проверяет безопасность системы, устраняет уязвимости и управляет рисками.

Проект: Система прогнозирования запасов для ритейла

  • Описание: Создание системы прогнозирования запасов для крупной сети розничных магазинов, использующей временные ряды и данные о продажах для оптимизации логистики и снижения издержек.
  • Стек: , , , ,
  • Источник данных: Открытые данные ритейла, Kaggle (Retail Sales Datasets)
  • Источник модели: Модель прогнозирования продаж с Facebook Prophet
  • Системные характеристики: GPU (NVIDIA RTX 3080), 32 ГБ ОЗУ, 1 ТБ SSD
  • Роли в команде:
    • – обучает модели прогнозирования, настраивает гиперпараметры и проводит тестирование.
    • – отвечает за сбор, очистку и подготовку данных для моделей.
    • – анализирует результаты прогноза, предоставляет рекомендации по улучшению моделей и стратегии закупок.
    • – тестирует систему, управляет проектом и координирует задачи команды.

Проект: Система автоматического распознавания лиц для безопасности на предприятиях

  • Описание: Разработка системы автоматического распознавания лиц для контроля доступа на предприятии, использующей нейросети и компьютерное зрение.
  • Стек: , , , ,
  • Источник данных: Открытые данные изображений лиц, Kaggle (Face Recognition Datasets)
  • Источник модели: Модель для распознавания лиц с FaceNet
  • Системные характеристики: GPU (NVIDIA RTX 3090), 64 ГБ ОЗУ, 1 ТБ SSD
  • Роли в команде:
    • – разрабатывает и обучает модели для распознавания лиц, оптимизирует их производительность.
    • – разворачивает и масштабирует систему с использованием Docker и Kubernetes.
    • – анализирует точность моделей и улучшает алгоритмы.
    • – управляет рисками и проверяет уязвимости системы.

Проект: Автоматизированная система прогнозирования урожайности в сельском хозяйстве

  • Описание: Разработка системы для прогнозирования урожайности сельскохозяйственных культур на основе данных о погоде, почве и состоянии растений.

  • Стек: , , , ,

  • Источник данных: Открытые данные сельского хозяйства России, NASA Earth Data

  • Источник модели: Модель прогнозирования урожайности с DeepMind’s Alpha Fold

  • Системные характеристики: GPU (NVIDIA A100), 128 ГБ ОЗУ, 4 ТБ SSD

  • Роли в команде:

    • – обучает модели на данных о погоде и состоянии растений, оптимизирует их для различных культур.
    • – собирает и обрабатывает данные из различных источников, интегрирует их в систему.
    • – анализирует данные о почве и погоде, улучшает модели прогноза.
    • – проверяет точность системы, управляет проектом и координирует работу команды.

Проект: Система предсказания дорожных заторов и аварий в реальном времени

  • Описание: Разработка системы предсказания заторов и аварий на дорогах крупных городов, используя данные с камер наблюдения, GPS и социальные сети.
  • Стек: , , , ,
  • Источник данных: Открытые данные транспорта России, API Яндекс.Пробки
  • Источник модели: Модель обнаружения объектов и прогнозирования трафика с YOLO (You Only Look Once)
  • Системные характеристики: GPU (NVIDIA RTX 4090), 64 ГБ ОЗУ, 2 ТБ SSD
  • Роли в команде:
    • – обучает модели для анализа трафика и предсказания аварий, оптимизирует их для реального времени.
    • – разворачивает систему на сервере, масштабирует и обеспечивает бесперебойную работу.
    • – анализирует данные о движении, улучшает точность прогнозов.
    • – следит за защитой данных, проверяет систему на уязвимости.

Проект: Платформа для автоматизации анализа медицинских изображений

  • Описание: Создание системы для автоматического анализа медицинских изображений (например, рентгеновских снимков, КТ) с целью диагностики заболеваний.
  • Стек: , , , ,
  • Источник данных: Открытые медицинские данные России, Kaggle (Medical Image Datasets)
  • Источник модели: Модель глубокого обучения для анализа изображений с CheXNet
  • Системные характеристики: GPU (NVIDIA RTX 4090), 128 ГБ ОЗУ, 2 ТБ SSD
  • Роли в команде:
    • – разрабатывает и обучает модели для анализа медицинских изображений, оптимизирует их точность.
    • – отвечает за развертывание и масштабирование системы на сервере с помощью Docker и Kubernetes.
    • – анализирует результаты диагностики, улучшает алгоритмы анализа изображений.
    • – тестирует систему на корректность и безопасность, устраняет уязвимости.

Проект: Платформа анализа настроений и отзывов клиентов для крупного бизнеса

  • Описание: Разработка системы для анализа настроений и отзывов клиентов по социальным сетям и отзывам на сайтах, использующей технологии NLP и машинное обучение.
  • Стек: , , , ,
  • Источник данных: Открытые данные социальных сетей, API VK, Twitter API
  • Источник модели: Модель для анализа тональности текстов с RuBERT
  • Системные характеристики: GPU (NVIDIA RTX 3090), 64 ГБ ОЗУ, 2 ТБ SSD
  • Роли в команде:
    • – обучает модели анализа тональности, оптимизирует их для конкретных доменов.
    • – собирает данные из социальных сетей и отзывов, готовит их для обучения моделей.
    • – создает интерфейс для визуализации анализа отзывов и настроений.
    • – тестирует систему, управляет проектом и контролирует выполнение задач.

Проект: Система автоматического анализа юридических документов

  • Описание: Разработка системы для автоматизированного анализа и обработки юридических документов, включая определение ключевых рисков и возможностей.
  • Стек: , , , ,
  • Источник данных: Открытые юридические данные России, Kaggle (Legal Text Datasets)
  • Источник модели: Модель NLP для анализа юридических текстов с BERT for Legal
  • Системные характеристики: GPU (NVIDIA RTX 3090), 64 ГБ ОЗУ, 1 ТБ SSD
  • Роли в команде:
    • – обучает модели для анализа юридических текстов, оптимизирует их для конкретных задач.
    • – отвечает за сбор и подготовку юридических документов для анализа.
    • – анализирует результаты моделей, находит паттерны и риски в юридических документах.
    • – тестирует систему, проверяет на уязвимости и улучшает безопасность.

Проект: Платформа для мониторинга и управления климатом в сельском хозяйстве

  • Описание: Разработка системы мониторинга и управления климатическими условиями для фермеров, включающей прогнозирование погоды и управление поливом.
  • Стек: , , , ,
  • Источник данных: Открытые данные метеорологии России, NASA Earth Data
  • Источник модели: Модель прогнозирования погоды с WeatherBench
  • Системные характеристики: GPU (NVIDIA RTX 4090), 128 ГБ ОЗУ, 2 ТБ SSD
  • Роли в команде:
    • – обучает модели для прогнозирования климатических условий, улучшает их точность.
    • – интегрирует систему с IoT-устройствами для сбора данных с полей.
    • – анализирует климатические данные, предлагает стратегии управления.
    • – тестирует работоспособность системы, управляет задачами и сроками.

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

Цитата
Вы должны уметь правильно формулировать свою мысль вне зависимости от ее наличия!
  1. Реализация и полнота проекта (20%)

    • Соответствие требованиям: проект должен соответствовать первоначально заявленным требованиям и задачам. Оценивается полнота и качество выполнения поставленных задач.
    • Функциональность: система должна корректно выполнять заявленные функции. Проверяется наличие всех ключевых функций, их работоспособность и правильность выполнения.
    • Завершенность: оценивается, завершен ли проект полностью или остались незакрытые задачи или ошибки.
  2. Качество кода и архитектуры (15%)

    • Чистота и читаемость кода: код должен быть структурированным, хорошо документированным и читаемым. Следование лучшим практикам программирования, включая использование комментариев, ясных имен переменных и функций.
    • Архитектура проекта: оценивается выбор архитектурных решений, их соответствие задачам проекта, гибкость и масштабируемость. Наличие логической структуры, модульности и разделения ответственности.
    • Эффективность и оптимизация: оценка эффективности работы системы, включая использование ресурсов (памяти, процессора), быстродействие и оптимизация запросов к базе данных.
  3. Использование технологий и моделей (20%)

    • Правильность выбора технологий и моделей: соответствие выбранных технологий и моделей задачам проекта. Оценивается уместность и целесообразность их использования.
    • Интеграция и использование внешних библиотек и API: умение эффективно использовать внешние библиотеки и API, их правильная интеграция в проект.
    • Актуальность моделей и методов: оценка актуальности и новизны использованных методов и моделей машинного обучения, наличие инновационных подходов.
  4. Анализ данных и обучение моделей (15%)

    • Качество данных и подготовка: оценивается качество исходных данных, их очистка, обработка и подготовка для анализа и обучения моделей.
    • Точность и адекватность моделей: оценка точности обученных моделей, их адекватности решаемой задаче. Использование метрик оценки качества, таких как точность (accuracy), полнота (recall), F1-мера и другие.
    • Обоснование выбора моделей и методов: насколько обоснован выбор использованных моделей и методов, их преимуществ и ограничений для конкретного проекта.
  5. Интерфейс и пользовательский опыт (UX/UI) (10%)

    • Дизайн и удобство использования: оценивается удобство и интуитивность интерфейса, соответствие современным стандартам UX/UI-дизайна.
    • Эргономика и адаптивность: проверка на эргономичность и адаптивность интерфейса под различные устройства и платформы.
    • Качество визуализации данных: оценивается качество и информативность визуализаций, используемых в проекте (графики, диаграммы, интерактивные панели).
  6. Документация и презентация проекта (5%)

    • Качество документации: наличие и качество документации к проекту, включая техническую документацию, инструкции для пользователей, установочные руководства и комментарии в коде.
    • Презентация проекта: оценивается качество презентации, включающей демонстрацию функционала, основных особенностей и преимуществ проекта.
    • Обоснование решений: способность команды обосновать выбранные решения, подходы и методы.
  7. Инновационность и оригинальность решения (10%)

    • Инновационность подходов: использование инновационных технологий, методов и подходов. Оценка новизны идеи и оригинальности проекта.
    • Решение новых или сложных задач: способность проекта решать новые или особенно сложные задачи, которые до этого не имели эффективных решений.
  8. Командная работа и организация процесса (5%)

    • Эффективность командной работы: оценивается взаимодействие в команде, распределение ролей и задач, соблюдение сроков.
    • Управление проектом: оценка качества управления проектом, использования методов Agile/Scrum, управления задачами и отслеживания прогресса.

Важность баланса в проекте

На визуализации представлены два проекта — Проект A и Проект B, демонстрирующие, насколько важно соблюдать баланс в работе над проектом.

Проект A: Сильная реализация, слабое оформление

Проект A получил высокие оценки за:

  • Техническую реализацию: сильные стороны в разработке, качестве кода, использовании технологий и анализе данных.
  • Однако слаб в оформлении: низкие оценки за UX/UI и презентацию. Проект может быть труден в использовании и плохо воспринимается пользователями.

Проект B: Хорошее оформление, слабая реализация

Проект B показывает:

  • Высокое качество UX/UI и презентации: проект удобен и понятен пользователям.
  • Но слабую техническую реализацию: средние и низкие оценки за реализацию, код и анализ данных, что снижает его эффективность.

Успешный проект требует сочетания сильной технической реализации и качественного оформления. Хорошо разработанный продукт должен быть не только функциональным, но и удобным в использовании. Помните: баланс — ключ к успеху любого проекта!

План работы над проектом

1. Выбор темы проекта

Определите проблему или задачу: начните с выявления актуальной проблемы, которая требует решения. Тема должна быть значимой, интересной и иметь потенциал для инноваций. Рассмотрите направления в области интеллектуальных информационных систем (ИИС), такие как прогнозирование, автоматизация, анализ данных или машинное обучение.

Рекомендации
  • Проанализируйте тренды в ИИС и определите области, где можно внедрить инновационные решения. Например, изучите популярные направления на Kaggle или Towards Data Science.
  • Посмотрите исследования и примеры успешных проектов на PapersWithCode и Arxiv.org.

2. Формирование команды

Подберите команду с разными навыками: команда должна включать специалистов с навыками программирования, анализа данных, дизайна, управления проектами и маркетинга. Убедитесь, что роли четко распределены.

Рекомендации
  • Используйте методы командной динамики, такие как моделирование ролей по методике Belbin или SWOT-анализ навыков команды.
  • Определите ключевые роли (разработчик, аналитик данных, UX/UI дизайнер, менеджер проекта) и распределите задачи в соответствии с компетенциями.
  • Изучите материалы по командной работе на MindTools и Scrum Guide.

3. Первый питчинг (представление концепции проекта)

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

Рекомендации
  • Используйте структуру презентации «Проблема-Решение-Рынок» для наглядного представления. Подготовьте краткие слайды с ключевыми моментами.
  • Рассмотрите шаблоны питч-деков, такие как Guy Kawasaki’s 10/20/30 Rule.
  • Для визуализации данных и концепции используйте инструменты, такие как Canva или Google Slides.

4. Разработка и тестирование проекта

Реализуйте проект: начните с создания минимально жизнеспособного продукта (MVP), протестируйте основные функции и обеспечьте устойчивость системы. Проводите итерации разработки, тестируя и улучшая каждый модуль.

Рекомендации
  • Используйте Agile/Scrum методы управления проектами: делите работу на спринты, устанавливайте короткие сроки для достижения каждой цели.
  • Проводите регулярные тестирования с участием всех членов команды: автоматизированные тесты для проверки функциональности, UX/UI тесты для оценки удобства использования.
  • Полезные материалы: Agile Manifesto, JUnit, Usability.gov.

5. Второй питчинг (тестирование и промежуточная презентация)

Представьте MVP и промежуточные результаты: покажите работу прототипа, опишите текущий прогресс, выявленные проблемы и предложенные улучшения. Получите обратную связь от экспертов и потенциальных пользователей.

Рекомендации
  • Подготовьте интерактивную демонстрацию и используйте видео или живую демонстрацию работы продукта.
  • Попросите целевую аудиторию или менторов оценить проект по ключевым критериям и дать обратную связь.
  • Используйте инструменты для сбора обратной связи, такие как Google Forms или SurveyMonkey.

6. Финальная разработка и подготовка к защите

Улучшите проект на основе полученной обратной связи: внесите изменения и доработки, исправьте ошибки и оптимизируйте проект перед финальной защитой.

Рекомендации
  • Проведите повторное тестирование всех функций проекта, убедитесь, что он работает стабильно и эффективно.
  • Подготовьте финальную презентацию, которая акцентирует внимание на сильных сторонах проекта, достигнутых результатах и инновациях.
  • Используйте Trello или Asana для организации и отслеживания всех задач.

7. Финальная защита проекта

Подготовьте защиту: создайте презентацию, в которой кратко и убедительно продемонстрируйте решение, результаты и достижения. Отметьте уникальные особенности проекта и его ценность для пользователей.

Рекомендации
  • Используйте методику презентации TED Talks для создания интересной и запоминающейся истории.
  • Тренируйте публичное выступление, чтобы уверенно представить проект и ответить на вопросы аудитории.
  • Примеры успешных защит и выступлений можно найти на YouTube или SlideShare.

Рекомендации

Про IDE

JupyterLab – гибкая, интегрируемая и легко расширяемая среда, поддерживающая одновременную работу с несколькими блокнотами Jupyter (*.ipynb), текстовыми файлами, датасетами и терминалами (поддерживает также изображения, CSV, JSON, Markdown, PDF и другие форматы).

Spyder – бесплатная среда разработки предназначенная для ученых, инженеров и аналитиков данных, интерфейс очень похож на RStudio.

Про online IDE
  • Deepnote – удобная платформа для командной работы, имеет множество возможностей для интеграции, имеется educatiaon plan (Python, R, SQL).
  • HEX – мощная онлайн платформа делающая упор на работу с данными, интегрированные инструменты позволяют не только подключить данные из множества источников, но и увидеть множество вариантов визуализации (Python, R, SQL).
  • GoogleColab – относительно хорошая производительность бесплатно предоставляемых мощностей (Python).
Про табличный формат
  • EmEditorкоммерческий текстовый редактор для Windows, способный работать с очень большими объемами табличных данных (до 248 ГБ или 2,1 миллиарда строк).
Про хостинг

Источники

[Intro] Введение в ИИС и выравнивание знаний.

/iis/overview/cover_intro.png

📚 Библиография:

[1] Андрейчиков Александр – Интеллектуальные информационные системы и методы искусственного интеллекта, 2023.

[2] Остроух Андрей, Николаев Андрей – Интеллектуальные информационные системы и технологии : монография, 2021.

[3] Асхат Уразбаев – Управление DS проектами и продуктами при помощи Lean Data Science, 2020.

[4] Коул Роб, Скотчер Эдвард – Блистательный Agile. Гибкое управление проектами с помощью Agile, Scrum и Kanban, 2019.

[5] Леврик Михаэль, Линк Патрик, Лейфер Ларри – Дизайн-мышление. От инсайта к новым продуктам и рынкам, 2020.

[6] Кеннет Рейтц, Таня Шлюссер – Автостопом по Python, 2017.

[7] Яворски Михал, Зиаде Тарек – Pythoп. Лучшие практики и инструменты. 4-е изд., 2024.

[8] Танимура Кэти – SQL для анализа данных, 2024.

[9] Серхио Рохас-Галеано – ChatGPT: ваш наставник по Python, 2023.

***

[Algo] Алгоритмизация стратегий и решений для разработки ИИС.

/iis/overview/cover_algo.png

📚 Библиография:

[1] Ахмад Имран – 40 алгоритмов, которые должен знать каждый программист на Python, 2023.

[2] Кохендерфер Микель, Уилер Тим, Рэй Кайл – Алгоритмы принятия решений, 2023.

[3] Луридас Панос – Алгоритмы для начинающих: теория и практика для разработчика, 2018.

[4] LeetCode: Online Programming Learning Platform – https://leetcode.com

[5] LeetCode & Coding Interview Guide – https://doocs.github.io/leetcode/#/README_EN

[6] Leonardo Vanneschi, Sara Silva – Lectures on Intelligent Systems, 2023.

***

[ML] Классификация и описание моделей и их метрик в машинном обучении.

📚 Библиография:

[1] Протодьяконов А.В. – Алгоритмы DataScience и их практическая реализация на Python, 2022.

[2] labml.ai: Annotated PyTorch Paper Implementations – https://nn.labml.ai

***

[NLP] Техники и Модели обработки естественного языка (NLP).

📚 Библиография:

[1] NLP Course | For You – https://lena-voita.github.io/nlp_course.html

[2] Хобсон Лейн, Ханнес Хапке, Коул Ховард – Обработка естественного языка в действии, 2020.

***

[LLM] Большие языковые модели (LLM) для ИИС.

📚 Библиография:

[1] Aймен Эль Амри – GPT-3: программирование на Python в примерах, 2023.

[2]

[3] Brex’s Prompt Engineering Guide – https://github.com/brexhq/prompt-engineering