Node.js (TensorFlow) приложение для извлечения именованных сущностей

Цель проекта

Разработать приложение на 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.

Читайте на 123ru.net