Общее описание
Сервис Simple Biometry Server предназначен для извлечения именованных сущностей из текстовых фрагментов (фраз естественной речи). Принимает на вход текстовую строку и возвращает структурированные данные в формате JSON.
Термины и определения
Simple Biometry Server (SBS) — сервис извлечения метаданных.
Swagger UI — интерактивная веб-консоль с кратким описанием методов API и возможностью выполнять запросы к сервису SBS.
Описание методов API сервиса биометрии (SBS)
Запросы осуществляются по протоколу HTTP 1.1 на адрес сервера с доступным сервисом SBS. По умолчанию используется порт 6185/tcp.
Авторизация запросов не требуется. HTTP-запросы должны содержать заголовок "accept: application/json"
Ответ сервиса представляет собой JSON-документ в кодировке UTF-8 или двоичный файл. Содержимое документа зависит от результата выполнения запроса. При наличии ошибки в качестве ответа вернется переменная error=1 и описание в переменной message. Для удобства проверки методов по ссылке http://АДРЕС:6185 будет отображен интерфейс Swagger со всеми методами с возможностью их проверки.
Описание методов API
| POST/sbs/analyze
|
Получение аналитических метаданных из голосового фрагмента. Вернется массив с метаданными голосового фрагмента.
|
|
|
Пример:
{
age: {
class: 20-29, # {"00-05", "06-12", "13-19", "20-29", "30-39", "40-49", "50-59", "60+"}
confidence: 0.99
},
emotion: {
class: SADNESS, # { "ANGER", "BORE", "DISAPPOINTMENT", "DISGUST", "EXCITEMENT", "FEAR",
<<"NEUTRAL", "PAIN", "PLEASURE", "SADNESS", "SUPRISE"}
confidence: 0.99
},
gender: {
class: FEMALE, # { "MALE", "FEMALE" }
confidence: 0.99
},
multispeaker : {
class: YES, # { "YES", "NO" }
confidence: 0.99
},
"synth": {
"class": "NO",
"confidence": 0.73
}
}
|
| POST/sbs/noiselevel
|
Возвращает процент зашумленности аудио
|
|
|
Пример ответа:
{ error: 0, message: 'success', 'noise': 0.79 }
|
| POST/sbs/search
|
Поиск говорящего по базе слепков.
|
- wav — файл для анализа
- threshold — порог совпадения спикера, от 0 до 1
- text — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то поиск не будет осуществлен, если распознанный текст будет сильно отличаться от text.
- textSimilarity - порог похожести текста и распознанного аудио
|
Пример ответа:
{ error: 0, speaker: Ivan, confidence: 0.79 }
|
| POST/sbs/verify/{id}
|
Сравнение wav-файла cо слепком в базе. В ответе - вероятность совпадения от 0 до 1.
|
- wav — файл для поиска
- id — идентификатор говорящего
- text — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, но слепок не будет проверен, если распознанный текст будет сильно отличаться от text.
- textSimilarity - порог похожести текста и распознанного аудио
|
{ "error": 0, "confidence": 0.78 }
|
| POST/sbs/speakers/add
|
Добавление слепка в базу.
|
- name — имя говорящего
- wav — файл для создания оцифрованного представления говорящего
- text — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, но слепок не будет создан, если распознанный текст будет сильно отличаться от text.
- textSimilarity - порог похожести текста и распознанного аудио
|
{
"error": 0,
"id": "251f78d7-ee50-4ba1-a669-ee89fdaf5433"
}
|
| DELETE/sbs/speakers/delete/{id}
|
Удаление слепка из базы.
|
- id — идентификатор говорящего
|
{ error: INT, message: DESCRIPTION }
|
| GET/sbs/speakers/list
|
Получение списка всех слепков.
|
| Входные параметры отсутствуют
|
[
{
"id": "251f78d7-ee50-4ba1-a669-ee89fdaf5433",
"name": "наименование слепка"
}
]
|
| POST/sbs/speakers/modify/{id}
|
Дообучение слепка.
|
- id — идентификатор слепка
- text — текст для сравнения с распознанным текстом из wav, необязательный параметр. Если указан, то слепок не будет дообучен, если распознанный текст будет сильно отличаться от text.
- textSimilarity - порог похожести текста и распознанного аудио
|
{
"error": 0,
"message": "Success"
}
|