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

Содержание

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

Рейтинги 2024
До защиты проектов:
Срок достигнут!
100%
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, управления задачами и отслеживания прогресса.
Реализация и полнота проектаКачество кода и архитектурыИспользование технологий и моделейАнализ данных и обучение моделейИнтерфейс (UX/UI)Документация и презентация проектаИнновационность и оригинальность решенияКомандная работа и организация процессаКритерии оценки проекта

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

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

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

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

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

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

  • Высокое качество UX/UI и презентации: проект удобен и понятен пользователям.
  • Но слабую техническую реализацию: средние и низкие оценки за реализацию, код и анализ данных, что снижает его эффективность.
Реализация проектаКод и архитектураТехнологии и моделиДанные и обучение моделиИнтерфейс (UX/UI)Презентация проектаОригинальность решенияОрганизация процессаПроект AПроект BОценка проекта

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SeptemberSep 08Sep 15Sep 22Sep 29Oct 06Oct 13Oct 20Oct 27Nov 03Nov 10Nov 17Nov 24DecemberDec 08Dec 15Dec 22Формирование командыВыбор темыРазработкаФинальная разработкаПитчинг 1Питчинг 2Защита
Про 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