SEE. Руководство пользователя: различия между версиями
Материал из Флора AI
Нет описания правки |
|||
| (не показана 1 промежуточная версия 1 участника) | |||
| Строка 5: | Строка 5: | ||
===== '''Термины и определения''' ===== | ===== '''Термины и определения''' ===== | ||
Simple Entity Extractor (SEE) | Simple Entity Extractor (SEE) — сервис извлечения именованных сущностей. | ||
Модель — предварительно подготовленная специализированная модель распознавания и извлечения именованных сущностей из коротких фраз. | Модель — предварительно подготовленная специализированная модель распознавания и извлечения именованных сущностей из коротких фраз. | ||
| Строка 11: | Строка 11: | ||
Именованная сущность — слово или словосочетание, выделяющее определенный предмет или явление из ряда однотипных предметов или явлений. Например, это названия городов, стран, валют, имен. | Именованная сущность — слово или словосочетание, выделяющее определенный предмет или явление из ряда однотипных предметов или явлений. Например, это названия городов, стран, валют, имен. | ||
Swagger UI | Swagger UI — интерактивная веб-консоль с кратким описанием методов API и возможностью выполнять запросы к сервису SEE. | ||
| Строка 44: | Строка 45: | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''id''' | * <small>'''id''' — идентификатор модели</small> | ||
* <small>'''type''' — тип данных для построения матрицы.</small> | |||
* <small>'''type''' | | colspan="2" style="width: 50%" |<small>Возвращает PNG-изображение с матрицей ошибок.</small> | ||
| colspan="2" style="width: 50%" |<small>Возвращает PNG изображение с матрицей ошибок</small> | |||
|- | |- | ||
! style="color:red;width: 15%" |'''DELETE/see/data/{id}''' | ! style="color:red;width: 15%" |'''DELETE/see/data/{id}''' | ||
| Строка 53: | Строка 53: | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''id''' | * <small>'''id''' — идентификатор модели.</small> | ||
| colspan="2" style="width: 50%" |<small><code>{ error: INT, message: DESCRIPTION }</code></small> | | colspan="2" style="width: 50%" |<small><code>{ error: INT, message: DESCRIPTION }</code></small> | ||
|- | |- | ||
| Строка 60: | Строка 60: | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''id''' | * <small>'''id''' — идентификатор модели.</small> | ||
| colspan="2" style="width: 50%" |<small>Возвращает zip файл с моделью</small> | | colspan="2" style="width: 50%" |<small>Возвращает zip-файл с моделью.</small> | ||
|- | |- | ||
! style="color:green;width: 15%" |'''POST/see/data/{id}''' | ! style="color:green;width: 15%" |'''POST/see/data/{id}''' | ||
| Строка 67: | Строка 67: | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small>'''id''' | * <small>'''id''' — идентификатор модели;</small> | ||
* <small>'''zip-model''' | * <small>'''zip-model''' — zip-архив с файлами модели; или</small> | ||
* <small>'''from-existing-model''' | * <small>'''from-existing-model''' — название модели, которое должно быть переименовано в id; или</small> | ||
* <small>'''csv | * <small>'''csv''' — текстовый файл для обучения модели, со строками СУЩНОСТЬ<TAB>ФРАЗА;</small> | ||
* <small>'''noise''' | * <small>'''noise''' — уровень шума для генерации синтезированных данных для обучения модели, от 1 до 5, по умолчанию 2.</small> | ||
| colspan="2" style="width: 50%" |<small><code>{ error: INT, message: DESCRIPTION }</code></small> | | colspan="2" style="width: 50%" |<small><code>{ error: INT, message: DESCRIPTION }</code></small> | ||
|- | |- | ||
! style="color:blue;width: 15%" |'''GET/see/entities/{id}''' | ! style="color:blue;width: 15%" |'''GET/see/entities/{id}''' | ||
! colspan="3" style="width: 85%" |<small>Поиск сущностей. Вернется массив со всеми моделями, в которых были найдены сущности | ! colspan="3" style="width: 85%" |<small>Поиск сущностей. Вернется массив со всеми моделями, в которых были найдены сущности (модели для поиска указываются в поле id). Каждая переменная с названием модели будет содержать список всех найденных сущностей.</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small> | * <small>id — идентификатор[ы] модели. Может быть указано несколько через запятую, тогда запрос будет обработан всеми указанными моделями.</small> | ||
* <small> | * <small>text — текст для анализа.</small> | ||
* <small> | * <small>similarity — порог похожести найденной сущности на эталонные, %. По умолчанию 70.</small> | ||
| colspan="2" style="width: 50%" |<small><code>{</code></small> <small><code>ID-модели: [</code></small> | | colspan="2" style="width: 50%" |<small><code>{</code></small> <small><code>ID-модели: [</code></small> | ||
| Строка 100: | Строка 100: | ||
|- | |- | ||
! style="color:blue;width: 15%" |'''GET/see/errors/{id}''' | ! style="color:blue;width: 15%" |'''GET/see/errors/{id}''' | ||
! colspan="3" style="width: 85%" |<small>Получение файла с ошибками модели. В случае, если производилось тестирование модели, то файл содержит ошибки тестирования. Если не производилось | ! colspan="3" style="width: 85%" |<small>Получение файла с ошибками модели. В случае, если производилось тестирование модели, то файл содержит ошибки тестирования. Если не производилось — ошибки после обучения.</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small> | * '''<small>id</small>''' <small>— идентификатор модели.</small> | ||
| colspan="2" style="width: 50%" |<small>текстовый файл со строками вида:</small> | | colspan="2" style="width: 50%" |<small>текстовый файл со строками вида:</small> | ||
<small>ИСТИНА<TAB>ОПРЕДЕЛЕНО<TAB>ФРАЗА</small> | <small>ИСТИНА<TAB>ОПРЕДЕЛЕНО<TAB>ФРАЗА</small> | ||
| Строка 111: | Строка 111: | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small> | * '''<small>id</small>''' <small>— идентификатор модели.</small> | ||
| colspan="2" style="width: 50%" |<small><code>{ error: INT, message: DESCRIPTION }</code></small> | | colspan="2" style="width: 50%" |<small><code>{ error: INT, message: DESCRIPTION }</code></small> | ||
|- | |- | ||
| Строка 118: | Строка 118: | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small> | * '''<small>id</small>''' <small>— идентификатор модели.</small> | ||
| colspan="2" style="width: 50%" |<small>Файл handler.py</small> | | colspan="2" style="width: 50%" |<small>Файл handler.py</small> | ||
|- | |- | ||
| Строка 125: | Строка 125: | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small> | * '''<small>id</small>''' <small>— идентификатор модели.</small> | ||
| colspan="2" style="width: 50%" |<small><code>{ error: INT, message: DESCRIPTION }</code></small> | | colspan="2" style="width: 50%" |<small><code>{ error: INT, message: DESCRIPTION }</code></small> | ||
|- | |- | ||
| Строка 132: | Строка 132: | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small> | * '''<small>id</small>''' <small>— идентификатор модели.</small> | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small> | * <small>id — идентификатор</small> | ||
* <small> | * <small>status — статус</small> | ||
* <small> | * <small>classes — список сущностей в модели</small> | ||
* <small> | * <small>entityMaxWords — максимальная длина сущности в корпусе обучения</small> | ||
* <small> | * <small>sequenceLength — максимальная длина последовательности при обучении</small> | ||
* <small> | * <small>noiseLevel — уровень шума, использованный при обучении модели</small> | ||
* <small> | * <small>trainCorpusName — название файла, использованного при обучении</small> | ||
* <small> | * <small>trainAccuracy — точность обучения и тестирования</small> | ||
* <small> | * <small>testCorpusLength — размер тестового корпуса</small> | ||
* <small> | * <small>trainCorpusLength — размер обучающего корпуса</small> | ||
* <small> | * <small>trainConfusionMatrix — матрица ошибок обучения</small> | ||
* <small> | * <small>testConfusionMatrix — матрица ошибок тестирования.</small> | ||
|- | |- | ||
! style="color:blue;width: 15%" |'''GET/see/log/{id}''' | ! style="color:blue;width: 15%" |'''GET/see/log/{id}''' | ||
! colspan="3" style="width: 85%" |Лог всех действий во время обучения/тестирования модели. | ! colspan="3" style="width: 85%" |<small>Лог всех действий во время обучения/тестирования модели.</small> | ||
|- | |- | ||
| colspan="2" style="width: 50%" | | | colspan="2" style="width: 50%" | | ||
* <small> | * '''<small>id</small>''' <small>— идентификатор модели.</small> | ||
| colspan="2" style="width: 50%" |<small>Лог содержится в переменной log в виде списка.</small> | | colspan="2" style="width: 50%" |<small>Лог содержится в переменной log в виде списка.</small> | ||
Текущая версия от 08:59, 3 июля 2025
Общее описание
Сервис Simple Entity Extractor предназначен для извлечения именованных сущностей из текстовых фрагментов (фраз естественной речи). Принимает на вход текстовую строку и возвращает структурированные данные в формате JSON.
Термины и определения
Simple Entity Extractor (SEE) — сервис извлечения именованных сущностей.
Модель — предварительно подготовленная специализированная модель распознавания и извлечения именованных сущностей из коротких фраз.
Именованная сущность — слово или словосочетание, выделяющее определенный предмет или явление из ряда однотипных предметов или явлений. Например, это названия городов, стран, валют, имен.
Swagger UI — интерактивная веб-консоль с кратким описанием методов API и возможностью выполнять запросы к сервису SEE.
Описание методов API SEE
Запросы осуществляются по протоколу HTTP 1.1 на адрес сервера с доступным сервисом SEE. По умолчанию используется порт 6184/tcp.
Авторизация запросов не требуется. HTTP-запросы должны содержать заголовок "accept: application/json"
Ответ сервиса SEE представляет собой JSON-документ в кодировке UTF-8 или двоичный файл. Содержимое документа зависит от результата выполнения запроса. При наличии ошибки в качестве ответа вернется переменная error=1 и описание в переменной message. Для удобства проверки методов по ссылке http://АДРЕС:6184 будет отображен интерфейс swagger со всеми методами с возможностью их проверки.
Модель может содержать постобработчик. Это стандартный файл на языке Python, который выполняет произвольные действия с результатом работы модели. Обязательным условием является наличие функции handler, которая должна возвращать данные такого же вида, как и метод GET /see/entities/{id}.
Пример пустой функции, которая просто повторяет на выходе результат:
def handler(entities=[],text=""):
returns entities
На вход подается результат работы модели, а также начальный текст.
| GET/see/ | Вывод списка моделей. | ||
|---|---|---|---|
| Входные параметры отсутствуют | { models: [model1,...,modelN] }
| ||
| GET/see/confusion/{id}/{type} | Получение изображения матрицы ошибок. | ||
|
Возвращает PNG-изображение с матрицей ошибок. | ||
| DELETE/see/data/{id} | Удаление модели. | ||
|
{ error: INT, message: DESCRIPTION }
| ||
| GET/see/data/{id} | Получение архива модели. | ||
|
Возвращает zip-файл с моделью. | ||
| POST/see/data/{id} | Добавление модели. Метод асинхронный. Окончание работы проверяется через метод /see/info/{id}. | ||
|
{ error: INT, message: DESCRIPTION }
| ||
| GET/see/entities/{id} | Поиск сущностей. Вернется массив со всеми моделями, в которых были найдены сущности (модели для поиска указываются в поле id). Каждая переменная с названием модели будет содержать список всех найденных сущностей. | ||
|
{ ID-модели: [
| ||
| GET/see/errors/{id} | Получение файла с ошибками модели. В случае, если производилось тестирование модели, то файл содержит ошибки тестирования. Если не производилось — ошибки после обучения. | ||
|
текстовый файл со строками вида:
ИСТИНА<TAB>ОПРЕДЕЛЕНО<TAB>ФРАЗА | ||
| DELETE/see/handler/{id} | Удаление постобработчика. | ||
|
{ error: INT, message: DESCRIPTION }
| ||
| GET/see/handler/{id} | Получение файла-постобработчика. | ||
|
Файл handler.py | ||
| POST/see/handler/{id} | Отправка файла-постобработчика в указанную модель. Становится активным сразу после успешной отправки. | ||
|
{ error: INT, message: DESCRIPTION }
| ||
| GET/see/info/{id} | Получение информации о модели. В результате выполнения будет возвращен массив с данными о модели. Матрица ошибок отдельно содержат классы, определяющие столбцы и строки матрицы, их количество может быть меньше, т.к. в матрицы попадают только те классы, по которым были ошибки. | ||
|
| ||
| GET/see/log/{id} | Лог всех действий во время обучения/тестирования модели. | ||
|
Лог содержится в переменной log в виде списка.
| ||