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

30 000 руб. за проект
23 декабря 2024, 17:12 • 5 откликов • 37 просмотров
Цель проекта

Разработать приложение на Node.js, которое будет извлекать именованные сущности из текста на русском языке, используя TensorFlow для обработки естественного языка. Результаты должны представлять собой JSON-объект с нужной структурой.

Функциональные требования

1. Входные данные:
- Текст на русском языке, содержащий инструкции по созданию встреч (например, "Создать встречу на двенадцать часов на сегодня для Иванова Ивана Ивановича, услуга стрижка").

2. Выходные данные:
- JSON-объект, содержащий:
- action: действие, описанное в тексте (например, "создать").
- name: Иванов Иван Иванович
- time: время действия в формате "HH:MM" (например, "12:00").
- date: дата действия в формате "DD.MM.YYYY" (например, "21.12.2025").
- service: наименование услуги (например, "стрижка").

Пример выходных данных:

{
"action": "создать",
"name": "Иванов Иван Иванович"
"time": "12:00",
"date": "21.12.2025",
"service": "стрижка"
}

3. Обработка текста:
- Приложение должно правильно обрабатывать текст, игнорировать лишние слова и определять время и дату в соответствии с контекстом.
- Необходимо учитывать разные форматы времени (например, "двенадцать часов", "12:00").
- Дата должна быть автоматически преобразована в нужную дату, если используется слово "сегодня", "завтра", "послезавтра".

4. Модель для извлечения сущностей:
- Использовать TensorFlow для создания или применения модели машинного обучения для извлечения именованных сущностей из текста.
- Модель должна иметь методы для обучения/дообучения.

Технические требования

5.1. Технологический стек:
- Node.js 18
- TensorFlow.js

5.2. Система разработки:
- Код должен быть реализован с использованием системы контроля версий Git.
- Структура проекта должна быть четко организована с комментариями и документацией.

5.3. Тестирование:
- Необходимо реализовать модульные тесты для проверки работы приложения на различных примерах текста.
- Добавить тестовые примеры и ожидаемые результаты.

5.4 Требование к железу
- Модель должна работать на железе 2 ядра, 4 GB RAM, 10GB диск
- До обучаться модель должна на том-же железе в срок от 1 до 24 часов. Желательно до 1 часа

6. Документация API
- Использовать Swagger для документирования API.

7. Общие условия
- Фрилансер обязан предоставлять регулярные отчеты о ходе выполнения проекта (не реже одного раза в неделю).
- Все обсуждения и комментарии к проекту должны проходить через Telegram.