SEE. Руководство пользователя: различия между версиями
Материал из Флора AI
| Строка 67: | Строка 67: | ||
<small>'''- создание новой модели из обучающего корпуса''', текстового файла со строками СУЩНОСТЬ<TAB>ФРАЗА в переменной '''csv'''</small> | <small>'''- создание новой модели из обучающего корпуса''', текстового файла со строками СУЩНОСТЬ<TAB>ФРАЗА в переменной '''csv'''</small> | ||
|- | |- | ||
|colspan="2" style="width: 50%"| | |colspan="2" style="width: 50%"| | ||
|colspan="2" style="width: 50%"| | * <small>'''id''' - идентификатор модели</small> | ||
* <small>'''zip-model''' - zip-архив с файлами модели</small> | |||
* <small>'''from-existing-model''' - название модели, которое должно быть переименовано в '''id'''</small> | |||
* <small>'''csv-file''' - текстовый файл для обучения модели</small> | |||
* <small>'''noise''' - уровень шума для генерации синтезированных данных для обучения модели, от 1 до 5, по умолчанию 2.</small> | |||
|colspan="2" style="width: 50%"|<small>{ error: INT, message: DESCRIPTION }</small> | |||
|- | |- | ||
!style="color:blue;width: 15%"|'''GET/see/entities/{id}''' | !style="color:blue;width: 15%"|'''GET/see/entities/{id}''' | ||
!colspan="3" style="width: 85%"|Поиск сущностей | !colspan="3" style="width: 85%"|Поиск сущностей. <small>Вернется массив со всеми моделями, в которых были найдены сущности.(модели для поиска указываются в поле id) Каждая переменная с названием модели будет содержать список всех найденных сущностей.</small> | ||
|- | |- | ||
|colspan="2" style="width: 50%"|text | |colspan="2" style="width: 50%"| | ||
|colspan="2" style="width: 50%"|text | * <small>'''id''' - идентификатор[ы] модели. Может быть указано несколько через запятую, тогда запрос будет обработан всеми указанными моделями</small> | ||
* <small>'''text''' - текст для анализа</small> | |||
* <small>'''similarity''' - порог похожести найденной сущности на эталонные, %. По умолчанию 70.</small> | |||
|colspan="2" style="width: 50%"|<small>{ID-модели: [</small> | |||
<small>{position: 0,</small> | |||
<small>confidence: 1,</small> | |||
<small>text: текст сущности,</small> | |||
<small>calculated: vaktsinatsiya</small> | |||
<small>}, {...}</small> | |||
<small>]}</small> | |||
<small>'''position''' - позиция слова начала фрагмента, определяющего сущность</small> | |||
<small>'''confidence''' - вероятность правильного определения сущности</small> | |||
<small>'''calculated''' - поле, содержащее значение сущности либо код сущности, использованный при обучении модели</small> | |||
|- | |- | ||
!style="color:blue;width: 15%"|'''GET/see/errors/{id}''' | !style="color:blue;width: 15%"|'''GET/see/errors/{id}''' | ||
!colspan="3" style="width: 85%"|Получение файла с ошибками модели. <small>В случае, если производилось тестирование модели, то файл содержит ошибки тестирования. Если не производилось - ошибки после обучения.</small> | !colspan="3" style="width: 85%"|Получение файла с ошибками модели. <small>В случае, если производилось тестирование модели, то файл содержит ошибки тестирования. Если не производилось - ошибки после обучения.</small> | ||
|- | |- | ||
|colspan="2" style="width: 50%"| | |colspan="2" style="width: 50%"| | ||
|colspan="2" style="width: 50%"| | * <small>'''id''' - идентификатор модели</small> | ||
|colspan="2" style="width: 50%"|<small>текстовый файл со строками вида:</small> | |||
<small>ИСТИНА<TAB>ОПРЕДЕЛЕНО<TAB>ФРАЗА</small> | |||
|- | |- | ||
!style="color:red;width: 15%"|'''DELETE/see/handler/{id}''' | !style="color:red;width: 15%"|'''DELETE/see/handler/{id}''' | ||
!colspan="3" style="width: 85%"|Удаление постобработчика | !colspan="3" style="width: 85%"|Удаление постобработчика | ||
|- | |- | ||
|colspan="2" style="width: 50%"| | |colspan="2" style="width: 50%"| | ||
|colspan="2" style="width: 50%"| | * <small>'''id''' - идентификатор модели</small> | ||
|colspan="2" style="width: 50%"|<small>{ error: INT, message: DESCRIPTION }</small> | |||
|- | |- | ||
!style="color:blue;width: 15%"|'''GET/see/handler/{id}''' | !style="color:blue;width: 15%"|'''GET/see/handler/{id}''' | ||
!colspan="3" style="width: 85%"|Получение файла-постобработчика | !colspan="3" style="width: 85%"|Получение файла-постобработчика | ||
|- | |- | ||
|colspan="2" style="width: 50%"| | |colspan="2" style="width: 50%"| | ||
|colspan="2" style="width: 50%"| | * <small>'''id''' - идентификатор модели</small> | ||
|colspan="2" style="width: 50%"|<small>Файл handler.py</small> | |||
|- | |- | ||
!style="color:green;width: 15%"|'''POST/see/handler/{id}''' | !style="color:green;width: 15%"|'''POST/see/handler/{id}''' | ||
!colspan="3" style="width: 85%"|Отправка файла-постобработчика в указанную модель. <small>Становится активным сразу после успешной отправки.</small> | !colspan="3" style="width: 85%"|Отправка файла-постобработчика в указанную модель. <small>Становится активным сразу после успешной отправки.</small> | ||
|- | |- | ||
|colspan="2" style="width: 50%"| | |colspan="2" style="width: 50%"| | ||
|colspan="2" style="width: 50%"| | * <small>'''id''' - идентификатор модели</small> | ||
|colspan="2" style="width: 50%"|<small>{ error: INT, message: DESCRIPTION }</small> | |||
|- | |- | ||
!style="color:blue;width: 15%"|'''GET/see/info/{id}''' | !style="color:blue;width: 15%"|'''GET/see/info/{id}''' | ||
!colspan="3" style="width: 85%"|Получение информации о модели. | !colspan="3" style="width: 85%"|Получение информации о модели. <small>В результате выполнения будет возвращен массив с данными о модели. Матрица ошибок отдельно содержат классы, определяющие столбцы и строки матрицы, их количество может быть меньше, т.к. в матрицы попадают только те классы, по которым были ошибки.</small> | ||
|- | |- | ||
|colspan="2" style="width: 50%"| | |colspan="2" style="width: 50%"| | ||
|colspan="2" style="width: 50%"| | * <small>'''id''' - идентификатор модели</small> | ||
|colspan="2" style="width: 50%"| | |||
* <small>'''id''' - идентификатор</small> | |||
* <small>'''status''' - статус</small> | |||
* <small>'''classes''' - список сущностей в модели</small> | |||
* <small>'''entityMaxWords''' - максимальная длина сущности в корпусе обучения</small> | |||
* <small>'''sequenceLength''' - максимальная длина последовательности при обучении</small> | |||
* <small>'''noiseLevel''' - уровень шума использованный при обучении модели</small> | |||
* <small>'''trainCorpusName''' - название файла, использованного при обучении</small> | |||
* <small>'''trainAccuracy''' - точность обучения и тестирования</small> | |||
* <small>'''testCorpusLength''' - размер тестового корпуса</small> | |||
* <small>'''trainCorpusLength''' - размер обучающего корпуса</small> | |||
* <small>'''trainConfusionMatrix''' - матрица ошибок обучения</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%"|Лог всех действий во время обучения/тестирования модели. | ||
|- | |- | ||
|colspan="2" style="width: 50%"| | |colspan="2" style="width: 50%"| | ||
|colspan="2" style="width: 50%"| | * <small>'''id''' - идентификатор модели</small> | ||
|colspan="2" style="width: 50%"|<small>Лог содержится в переменной log в виде списка.</small> | |||
<small>{</small> | |||
<small> <<"log": [</small> | |||
<small> "training",</small> | |||
<small> "macroEpoch: 1, microEpoch: 1 loss: 1.23790...",</small> | |||
<small> ...</small> | |||
<small> ]</small> | |||
<small>}</small> | |||
|} | |} | ||
{| class="wikitable" | {| class="wikitable" | ||
Версия от 14:54, 21 октября 2024
Общее описание
Сервис Simple Entity Extractor предназначен для извлечения именованных сущностей из текстовых фрагментов (фраз естественной речи). Принимает на вход текстовую строку и возвращает структурированные данные в формате JSON.
Термины и определения
Simple Entity Extractor (SEE) - сервис извлечения именованных сущностей.
Модель — предварительно подготовленная специализированная модель распознавания и извлечения именованных сущностей из коротких фраз.
Именованная сущность — слово или словосочетание, выделяющее определенный предмет или явление из ряда однотипных предметов или явлений. Например, это названия городов, стран, валют, имен.
Swagger UI – интерактивная веб-консоль с кратким описанием методов АPI и возможностью выполнять запросы к сервису 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} | Получение архива модели | ||
| text | text | ||
| POST/see/data/{id} | Добавление модели. Метод асинхронный. Окончание работы проверяется через метод /see/info/{id}. Модель может быть добавлена следующими способами:
- файл архива модели - переименование существующей модели если указана переменная from-existing-model. В данном случае происходит переименование модели на сервере from-existing-model -> id - создание новой модели из обучающего корпуса, текстового файла со строками СУЩНОСТЬ<TAB>ФРАЗА в переменной csv | ||
|
{ error: INT, message: DESCRIPTION } | ||
| GET/see/entities/{id} | Поиск сущностей. Вернется массив со всеми моделями, в которых были найдены сущности.(модели для поиска указываются в поле id) Каждая переменная с названием модели будет содержать список всех найденных сущностей. | ||
|
{ID-модели: [
{position: 0, confidence: 1, text: текст сущности, calculated: vaktsinatsiya }, {...} ]} position - позиция слова начала фрагмента, определяющего сущность confidence - вероятность правильного определения сущности calculated - поле, содержащее значение сущности либо код сущности, использованный при обучении модели | ||
| 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 в виде списка.
{ <<"log": [ "training", "macroEpoch: 1, microEpoch: 1 loss: 1.23790...", ... ] } | ||
| Метод | Тип | Описание | Входные параметры | Ответ |
|---|---|---|---|---|
| /see/ | GET | Вывод списка моделей | - | { models: [model1,...,modelN] }
|
| /see/confusion/{id}/{type} | GET | Получение изображения матрицы ошибок | id - идентификатор модели
type - тип данных для построения матрицы, только train. |
Возвращает PNG изображение с матрицей ошибок |
| /see/data/{id} | DELETE | Удаление модели | id - идентификатор модели | { error: INT, message: DESCRIPTION }
|
| /see/data/{id} | POST | Добавление модели. Метод асинхронный. Окончание работы проверяется через метод /see/info/{id}. Модель может быть добавлена следующими способами:
|
|
{ error: INT, message: DESCRIPTION }
|
| /see/data/{id} | GET | Получение архива модели | id - идентификатор модели | ZIP-файл с моделью, либо { error: 1, message: DESCRIPTION }
|
| /see/entities/{id} | GET | Поиск сущностей |
|
Вернется массив со всеми моделями, в которых были найдены сущности.(модели для поиска указываются в поле id) Каждая переменная с названием модели будет содержать список всех найденных сущностей.
position - позиция слова начала фрагмента, определяющего сущность confidence - вероятность правильного определения сущности calculated - поле, содержащее значение сущности либо код сущности, использованный при обучении модели |
| /see/errors/{id} | GET | Получение файла с ошибками модели. В случае, если производилось тестирование модели, то файл содержит ошибки тестирования. Если не производилось - ошибки после обучения. | id - идентификатор модели | текстовый файл со строками вида:
ИСТИНА<TAB>ОПРЕДЕЛЕНО<TAB>ФРАЗА |
| /see/handler/{id} | DELETE | Удаление постобработчика | id - идентификатор модели | { error: INT, message: DESCRIPTION }
|
| /see/handler/{id} | POST | Отправка файла-постобработчика в указанную модель. Становится активным сразу после успешной отправки. |
|
{ error: INT, message: DESCRIPTION }
|
| /see/handler/{id} | GET | Получение файла-постобработчика | id - идентификатор модели | Файл handler.py |
| /see/info/{id} | GET | Получение информации о модели. | id - идентификатор модели | В результате выполнения будет возвращен массив с данными о модели. Матрица ошибок отдельно содержат классы, определяющие столбцы и строки матрицы, их количество может быть меньше, т.к. в матрицы попадают только те классы, по которым были ошибки.
|
| /see/log/{id} | GET | Лог всех действий во время обучения/тестирования модели. | id - идентификатор модели | Лог содержится в переменной log в виде списка.
<<"log": [
"training",
"macroEpoch: 1, microEpoch: 1 loss: 1.23790...",
|