SMC. Руководство пользователя: различия между версиями
Материал из Флора AI
KorolkovS (обсуждение | вклад) Нет описания правки |
KorolkovS (обсуждение | вклад) Нет описания правки |
||
| Строка 32: | Строка 32: | ||
<onlyinclude> | |||
{| class="wikitable" style="width: 110%" | {| class="wikitable" style="width: 110%" | ||
</onlyinclude> | |||
|+ | |+ | ||
!style="color:blue;width: 15%"|'''GET/smc/''' | !style="color:blue;width: 15%"|'''GET/smc/''' | ||
| Строка 503: | Строка 505: | ||
<small><code>}</code></small> | <small><code>}</code></small> | ||
|} | | | ||
<onlyinclude> | |||
} | |||
</onlyinclude> | |||
Версия от 12:44, 29 октября 2025
Общее описание
Сервис Short Message Classifier предназначен для классификации текстовых фрагментов (фраз естественной речи). Принимает на вход текстовую строку и возвращает структурированные данные в формате JSON.
Термины и определения
Short Message Classifier (SMC) - сервис классификации текстовых фрагментов.
Модель — предварительно обученная специализированная нейронная сеть классификации коротких фраз.
Swagger UI – интерактивная веб-консоль с кратким описанием методов АPI и возможностью выполнять запросы к сервису SMC.
Описание методов API SMC
Запросы осуществляются по протоколу HTTP 1.1 на адрес сервера с доступным сервисом SMC. По умолчанию используется порт 6181/tcp.
Авторизация запросов не требуется. HTTP-запросы должны содержать заголовок "accept: application/json"
Ответ сервиса представляет собой JSON-документ в кодировке UTF-8 или двоичный файл. Содержимое документа зависит от результата выполнения запроса. При наличии ошибки в качестве ответа вернется переменная error=1 и описание в переменной message. Для удобства проверки методов по ссылке http://АДРЕС:6181 будет отображен интерфейс swagger со всеми методами с возможностью их проверки.
Постобработка
Модель может содержать постобработчик. Это стандартный файл на языке Python, который выполняет произвольные действия с результатом работы модели. Обязательным условием является наличие функции handler, которая должна возвращать данные такого же вида, как и метод GET /smc/classify/{id}.
Пример пустой функции:
def handler(classes=[],text=""):
returns classes
На вход подается результат работы модели, а также начальный текст.
| GET/smc/ | Вывод списка моделей. Выводит только пользовательские модели. Сервисные модели, корпуса, наборы меток не выводит. | |||
|---|---|---|---|---|
| Без входных параметров | { models: [model1,...,modelN] }
| |||
| GET/smc/automark/list | Список заданий на автоматическую разметку корпуса. Метод для использования сервисом ups. | |||
| Без входных параметров | {
| |||
| GET/smc/automark/result/{id} | Получить результат задания на автоматическую разметку корпуса. Метод для использования сервисом ups. | |||
|
{
| |||
| POST/smc/automark/start | Начать автоматическую разметку корпуса. Метод для использования сервисом ups. | |||
[ [класс1,... классН], текст ]]
[ метка, [синоним, синоним2 ... синоним Н], порог ]]
|
{
| |||
| GET/smc/automark/status/{id} | Получить статус задания на автоматическую разметку корпуса. Метод для использования сервисом ups. | |||
|
{
| |||
| GET/smc/automark/stop/{id} | Прервать задание на автоматическую разметку корпуса. Метод для использования сервисом ups. | |||
|
{
| |||
| GET/smc/classify/{id} | Классификация текстовой фразы. В случает если модель была создана из меток в ответе groups и nearest будут пустыми, а ответ будет построен без учета confidenceThreshold из запроса.
В ответе:
| |||
|
{
| |||
| GET/smc/compress | Убирает из фразы слова не влияющие на ее смысл. | |||
|
{
| |||
| GET/smc/confusion/{id}/{type} | Получение изображения матрицы ошибок. | |||
|
Возвращает PNG изображение с матрицей ошибок | |||
| GET/smc/correct | Коррекция правописания. Изменяет неправильно написанные слова меняя их на наиболее близкие правильные (из знакомых модели). Если модель коррекции не смогла предложить правильное написание текста, метод вернет текст неизменным. | |||
|
{
| |||
| GET/smc/data/{id} | Получение архива модели. | |||
|
ZIP-файл с моделью, либо { error: 1, message: DESCRIPTION } | |||
| DELETE/smc/data/{id} | Удаление модели. | |||
|
{ error: INT, message: DESCRIPTION }
| |||
| POST/smc/data/{id} | Добавление модели. Окончание работы проверяется через метод /smc/info/{id}. Модель может быть добавлена следующими способами:
| |||
|
{ error: INT, message: DESCRIPTION }
| |||
| GET/smc/emotion | Анализ эмоций. На выходе один из вариантов positive negative neutral. | |||
|
{ "emotion": "positive", "score": 0.9601 }
| |||
| GET/smc/errors/{id} | Получение файла с ошибками модели. | |||
train - ошибки обучения test - ошибки тестирования mark - ошибки создания модели из меток |
текстовый файл со строками вида:
ИСТИНА<TAB>ОПРЕДЕЛЕНО<TAB>ФРАЗА | |||
| GET/smc/groups/{id} | Поиск групп по ранее полученным меткам. Ищет группы по набору меток. Результат - группы (если найдены) и ближайшие группы с указанием недостающих меток. Позволяет сохранять контекст в виде меток и дозапрашивать группы с учетом контекста. | |||
|
Результат в виде json.{
| |||
| POST/smc/groups/{id} | Добавляет к модели группы. | |||
|
{ "error": 0,"message": "string" }
| |||
| GET/smc/handler/{id} | Получает постобработчик модели. | |||
|
Файл программы обработчика на python | |||
| DELETE/smc/handler/{id} | Удаляет постобработчик модели. | |||
|
{ "error": 0,"message": "string" }
| |||
| POST/smc/handler/{id} | Устанавливает постобработчик модели. | |||
|
{ "error": 0,"message": "string" }
| |||
| GET/smc/info/{id} | Получение информации о модели. В результате выполнения будет возвращен массив с данными о модели. Матрица ошибок отдельно содержат классы, определяющие столбцы и строки матрицы, их количество может быть меньше, т.к. в матрицы попадают только те классы, по которым были ошибки. | |||
|
На выходе будут следующие параметры:
id - идентификатор status - статус classes - список классов в модели groups - список групп в модели trainCorpusName, testCorpusName - названия файлов, использованных при обучении и тестировании trainAccuracy, testAccuracy - точность обучения и тестирования initCorpusLength - начальный размер корпуса обучения trainCorpusLength - размер корпуса после нормализации и синтеза данных testCorpusLength - размер тестового корпуса trainConfusionMatrix - матрица ошибок обучения testConfusionMatrix - матрица ошибок тестирования | |||
| GET/smc/log/{id} | Лог всех действий во время обучения/тестирования модели. | |||
|
Лог содержится в переменной log в виде списка.
| |||
| GET/smc/normalize | Обратная нормализация текста. Пример: двадцать пятого апреля в пятом часу -> 25 апреля в 5-м часу | |||
|
{"text": "<строка после обратной нормализации>"}
| |||
| GET/smc/punctuate | Расстановка знаков препинания. | |||
|
{ "text": "string" }
| |||
| POST/smc/search | Семантический поиск фразы в тексте. | |||
|
{ "error": 0,
| |||
| POST/smc/test/{id} | Тестирование модели. Тестируется заранее подготовленным текстовым файлом со строками вида: КЛАСС<TAB>ФРАЗА
Метод асинхронный. Окончание работы проверяется через метод /smc/info/{id}. | |||
|
{ error: INT, message: DESCRIPTION }
| |||
| GET/smc/toxicity | Определение токсичности высказывания. Высказывание анализируется по 4 параметрам, по каждому выдается вероятность от 0 до 1: | |||
|
{ "insult": 0.13, # оскорбление
|
} |
||