Цель проекта
Разработать приложение на Node.js, которое будет извлекать именованные сущности из текста на русском языке, используя TensorFlow для обработки естественного языка. Результаты должны представлять собой JSON-объект с нужной структурой.
Функциональные требования
1. Входные данные:
- Текст на русском языке, содержащий инструкции по созданию встреч (например, "Создать встречу на двенадцать часов на сегодня для Иванова Ивана Ивановича, услуга стрижка").
2. Выходные данные:
- JSON-объект, содержащий:
- action: действие, описанное в тексте (например, "создать").
- time: время действия в формате "HH:MM" (например, "12:00").
- date: дата действия в формате "DD.MM.YYYY" (например, "21.12.2025").
- service: наименование услуги (например, "стрижка").
Пример выходных данных:
{
"action": "создать",
"time": "12:00",
"date": "21.12.2025",
"service": "стрижка"
}
3. Обработка текста:
- Приложение должно правильно обрабатывать текст, игнорировать лишние слова и определять время и дату в соответствии с контекстом.
- Необходимо учитывать разные форматы времени (например, "двенадцать часов", "12:00").
- Дата должна быть автоматически преобразована в нужную дату, если используется слово "сегодня", "завтра", "послезавтра".
4. Модель для извлечения сущностей:
- Использовать TensorFlow для создания или применения модели машинного обучения для извлечения именованных сущностей из текста.
- Модель должна иметь методы для обучения/дообучения.
Технические требования
4.1. Технологический стек:
- Node.js 18
- TensorFlow.js
4.2. Система разработки:
- Код должен быть реализован с использованием системы контроля версий Git.
- Структура проекта должна быть четко организована с комментариями и документацией.
4.3. Тестирование:
- Необходимо реализовать модульные тесты для проверки работы приложения на различных примерах текста.
- Добавить тестовые примеры и ожидаемые результаты.
Документация API
- Использовать Swagger для документирования API.
Общие условия
- Фрилансер обязан предоставлять регулярные отчеты о ходе выполнения проекта (не реже одного раза в неделю).
- Все обсуждения и комментарии к проекту должны проходить через Telegram.