Один з цікавих розділів роботи зі штучним інтелектом — машинне навчання, що стає все популярнішим у різних сферах. Цей напрямок дозволяє навчати комп'ютерні системи, покращуючи їх роботу та розширюючи функціонал без потреби в детальному цільовому програмуванні. Процес максимально схожий до здобуття знань людиною через власний досвід, проте він значно швидший та охоплює куди більше інформації.
У новому матеріалі Denys S. — топ-1 у спеціалізації «Машинне навчання» — поділився деталями цікавого освітнього проєкту, виконаного в рамках співпраці на Freelancehunt.
Інформація про замовника
Компанія КМмедіа — провідний розробник освітніх продуктів, що спеціалізується на створенні навчальних матеріалів для шкіл. Основною цільовою аудиторією цього проєкту є вчителі початкових класів, учні та їхні батьки. Метою замовника було створення інноваційного рішення для підтримки та покращення навчального процесу, автоматизації перевірки уроків та полегшення доступу до навчальних матеріалів.
Проблематика
Вчителі початкових класів часто стикаються з великим обсягом інформації, яку потрібно опрацювати, та обмеженими ресурсами для її аналізу. Це особливо важливо під час підготовки до уроків, де необхідно враховувати різні аспекти викладання, як-от історія, традиції, мистецтво тощо. Крім того, значна частина навчальних матеріалів існує у PDF чи аудіоформаті, що ускладнює їх використання без належного інструментарію.
Завдання та цілі проєкту
Переді мною стояли амбітні завдання:
- Навчити штучний інтелект на основі шкільних PDF-підручників для 1 класу,
- Створити спрощений інтерфейс для тестування.
- Інтегрувати систему розпізнавання тексту з аудіозапису.
Основні цілі проєкту:
- Автоматизувати підтримку вчителів у перевірці на повноту вичитаних уроків.
- Забезпечити зручний доступ до навчальних матеріалів у текстовому та аудіо форматах.
- Підвищити загальну ефективність навчального процесу завдяки сучасним технологіям.
Бюджет
Проєкт був розрахований на 80 годин роботи з рейтом $25/година, що в сумі склало $2000.

Реалізація
Проєкт складався з кількох етапів, кожен з яких вимагав особливого підходу та технологічних рішень.
1. Навчання ШІ
На першому етапі ми із замовником зібрали та проаналізували PDF підручники для 1 класу з різних предметів: «Математика», «Мистецтво», «Українська мова», «Я пізнаю світ». Загальний обсяг матеріалів становив близько 1,5 ГБ даних. Ми використовували LangChain для перетворення PDF на векторну базу даних, а FAISS (Facebook AI Similarity Search) для забезпечення швидкого та точного пошуку інформації.
2. Розробка інтерфейсу
Для зручності користувачів створили інтерфейс на базі Streamlit, який дозволяє вчителям завантажувати текстові й звукові записи лекцій та отримувати результати аналізу у зручному форматі. Також розробили API на основі FastAPI, яке включало такі маршрути:
- POST /process_input: обробка вхідних даних (MP3 аудіофайл чи текст).
- GET /process_input/result: отримання результату обробки завдання.
- POST /process_input/update: оновлення статусу обробки завдання.
- POST /upload_pdf: завантаження PDF для обробки.
3. Система розпізнавання голосу
Інтеграція моделі OpenAI Whisper дозволила забезпечити точну транскрипцію аудіозаписів у текстовий формат, навіть якщо запис був багатоголосим. Це значно полегшило аналіз уроків і дозволило вчителям швидко отримувати зворотний зв'язок.
Що ще почитати на цю тему:

4. Аналіз записів уроків та конспектів
Особливу увагу в рамках проєкту приділили аналізу аудіозаписів уроків та текстових конспектів вчителів. Система аналізувала ці матеріали для визначення, що можна додати чи покращити у навчальній програмі. Вчителі отримували рекомендації щодо того, які теми були недостатньо висвітлені та як продовжити урок від кінця запису чи конспекту. Це дозволило забезпечити повну та якісну вичитку програми.
Складнощі та їх подолання
На цьому шляху ми зіткнулися з деякими викликами. Спочатку шукали оптимальні налаштування для FAISS, що забезпечило б максимальну ефективність пошуку. Це включало підбір оптимальних параметрів для векторної бази даних та налаштування класифікатора для визначення книги, з якої був зачитаний урок.
Крім того, ми активно використовували запити в ChatGPT для отримання структурованого виводу даних та правильної обробки й агрегації інформації. Це дозволило нам створити систему, яка могла б ефективно розподіляти контент на окремі уроки та параграфи, а також забезпечувати високу швидкість та точність пошуку інформації.
Наприклад, використовуючи запити на зразок «Розділити цей текст на логічні абзаци та надати заголовки до кожного з них», ми могли отримувати чітко структуровані блоки інформації. Інший запит, як-от «Надати детальний огляд теми з використанням прикладів та додаткових пояснень», допомагав нам доповнювати матеріали для уроків, роблячи їх більш зрозумілими та інформативними. Завдяки запитам на кшталт «Згенерувати список запитань для перевірки розуміння прочитаного матеріалу» ми могли швидко створювати тести для учнів, що суттєво підвищувало ефективність навчального процесу.
Запити:
SYSTEM_PROMPT_TEMPLATE = """Ти вчитель, маєш продовжити вже розпочатий урок у реальному часі.
Твоє завдання — гармонійно продовжити урок, використовуючи оригінальний матеріал.
Використовуй оригінальний матеріал, але додавай власні приклади.
Ти повинен завершити урок, повністю висвітливши тему, яка була в прочитаному матеріалі.
Вітатися з учнями не обов'язково, тож уникни цього у своїй відповіді."""
USER_PROMPT_TEMPLATE = """ОРИГІНАЛЬНИЙ МАТЕРІАЛ: {original_content}.
ПРОЧИТАНИЙ МАТЕРІАЛ: {read_content}"""
ASSISTANT_PROMPT_TEMPLATE = "Відповідь має містити лише текст продовження уроку. Згенеруй текст українською мовою, дотримуючись правил правопису, для логічного ПРОДОВЖЕННЯ уроку."
BASE_MODEL = "gpt-3.5-turbo"
LONG_MODEL = "gpt-3.5-turbo-16k"
BASE_MODEL_TOKEN_LIMIT = 4000
У чому особливість проєкту
Цей проєкт вирізняється новаторським підходом до використання штучного інтелекту для аналізу навчальних матеріалів. Використання GPT для аналізу тексту та створення векторної бази даних на основі FAISS дозволило значно підвищити точність і швидкість пошуку інформації.
Точність пошуку зросла на 35%, а швидкість обробки запитів збільшилася на 50%.
Таке рішення є вагомим кроком у напрямку автоматизації освітнього процесу, що полегшує роботу вчителів та покращує якість навчання.
Результат
Компанія КМмедіа отримала функціональний продукт, який значно спрощує процес аналізу та перевірки уроків. Вчителі можуть завантажувати текстові файли й аудіозаписи лекцій, отримуючи детальний зворотний зв'язок щодо пропущених тем та якості викладання. Цей продукт допомагає вчителям ефективніше планувати уроки та забезпечує глибше розуміння учнями навчального матеріалу.
Тестування продукту
На етапі тестування ми провели кілька сценаріїв для перевірки коректності роботи системи. Наприклад, зачитали урок на тему «Заклади культури» з підручника та проаналізували, які підтеми не були обговорені.
Користь продукту для клієнта та його бізнесу
Впровадження нашого рішення принесло компанії КМмедіа значні переваги та прибутки. Автоматизація процесів перевірки уроків дозволила зекономити час вчителів, який вони тепер можуть використовувати для підготовки нових цікавих занять. Це підвищило загальну продуктивність навчального процесу та якість освіти.
Додатково новий метод перевірки вчителів на платформі КМмедіа став справжньою інновацією. Завдяки інтеграції нашого продукту вчителі тепер можуть отримувати миттєвий зворотний зв'язок про якість проведених уроків. Це дозволяє швидко виявляти слабкі місця в програмі та коригувати навчальний процес у реальному часі.
З економічного погляду впровадження цієї технології значно зменшило витрати на ручну перевірку та управління освітнім контентом. Крім того, нові функції привернули увагу нових клієнтів до платформи КМмедіа, що допомогло збільшити абонентську базу та підвищити доходи компанії.
Розширення функціонала платформи та надання таких важливих послуг, як перевірка уроків та аналіз їх ефективності, дозволило КМмедіа зайняти лідерську позицію на ринку освітніх продуктів. Інноваційний підхід до розв'язання нагальних проблем в освіті не лише підвищив репутацію компанії, а й приніс стабільний прибуток.
Дякуємо Денисові, що поділився таким цікавим та пізнавальним досвідом співпраці на фрилансі!
Якщо також маєте потребу в спеціалістах, які допоможуть втілити ваш креативний та амбітний задум у життя, зверніться до виконавців на Freelancehunt.
