Действия

SMC. Руководство пользователя

Материал из Флора AI

Версия от 13:27, 8 июня 2023; Ka.shapovalov (обсуждение | вклад) (Новая страница: «===== '''Общее описание''' ===== Сервис Short  Message Classifier предназначен для классификации текстовых фрагментов (фраз естественной речи). Принимает на вход текстовую строку и возвращает структурированные данные в формате JSON. ===== '''Термины и определения''' ===== Short  M...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Общее описание

Сервис Short  Message Classifier предназначен для классификации текстовых фрагментов (фраз естественной речи). Принимает на вход текстовую строку и возвращает структурированные данные в формате JSON.


Термины и определения

Short  Message Classifier (SMC) - сервис классификации текстовых фрагментов.

Модель — предварительно обученная специализированная нейронная сеть классификации коротких фраз.

Swagger UI – интерактивная  веб-консоль с кратким описанием методов АPI и возможностью выполнять запросы к сервису SMC.


Описание методов API

Запросы осуществляются по протоколу HTTP 1.1 на адрес сервера с доступным сервисом SMC. По умолчанию используется порт 6181/tcp.

Авторизация запросов не требуется. HTTP-запросы должны содержать заголовок "accept: application/json"

Ответ сервиса представляет собой JSON-документ в кодировке UTF-8 или двоичный файл. Содержимое документа зависит от результата выполнения запроса. При наличии ошибки в качестве ответа вернется переменная error=1 и описание в переменной message. Для удобства проверки методов по ссылке http://АДРЕС:6183 будет отображен интерфейс swagger со всеми методами с возможностью их проверки.

Метод Тип Описание Входные параметры Ответ
/smc/ GET Вывод списка моделей - { models: [model1,...,modelN] }
/smc/classify/{id} GET Классификация текстовой фразы id - идентификатор модели

text - текст, подлежащий классификации multiclass - опция запроса нескольких классов при их наличии, если multiclass=1

Если multiclass=0 ответ будет в виде массива с одним классом, иначе - список массивов. Ниже пример такого списка.

[ { class: Appointment, calculated: Appointment, confidence: 0.9993352, start: 0, length: 2 }, {...} ] start - позиция слова начала фрагмента, определяющего класс length - количество слов во фрагменте, определяющим класс confidence - вероятность правильного определения класса calculated - поле, содержащее измененное постобработчиком (при его наличии) значение класса.

/smc/confusion/{id}/{type} GET Получение изображения матрицы ошибок id - идентификатор модели

type - тип данных для построения матрицы, train или test

Возвращает PNG изображение с матрицей ошибок
/smc/data/{id} GET Получение архива модели id - идентификатор модели ZIP-файл с моделью, либо { error: 1, message: DESCRIPTION }
/smc/data/{id} POST Добавление модели. Может быть добавлена следующими способами:
  • файл архива модели
  • переименование существующей модели если указана переменная from-existing-model. В данном случае происходит переименование модели на сервере from-existing-model -> id
  • создание новой модели из обучающего корпуса, текстового файла со строками CLASS<TAB>TEXT в переменной csv-file
id - идентификатор модели

zip-model - zip-архив с файлами модели from-existing-model - название модели, которое до

{ error: INT, message: DESCRIPTION }
/smc/data/{id} DELETE Удаление модели id - идентификатор модели { error: INT, message: DESCRIPTION }
/smc/stt/{id} POST Отправка файла на распознавание речи. Моно-файлы до 30 секунд распознаются без разбивки на фрагменты. Многоканальные файлы и файлы длиннее 30 секунд предварительно разбиваются на фрагменты по отсутствию речи. Настройка данных параметров описана в руководстве администратора. В случае отправки переменной speakers=1, дополнительно производится поиск говорящих и получение метаданных по каждому говорящему. id - идентификатор модели

wav - файл для распознавания speakers - опция разделения по говорящим

text заполняется только для файлов менее 60 секунд. speakers, speaker, confidence (вероятность правильности определения говорящего) возвращаются только при отправке speakers=1.

{ model: модель, text: текст без разбивки, speakers: [ { gender: пол, age: возраст, emotion: эмоция, id: идентификатор }, ... ], splitted": [ { start: "00:00:02.255", stop: "00:00:10.995", channel: канал в файле, duration: 00:00:08.740, start_ms: 2255, stop_ms: 10995, duration_ms: 8740, speaker: индекс говорящего, confidence: 0.9541002174024272, text: распознанный текст}, ... ] }