Перейти к основному содержимому

Экспорт и импорт сущностей

Вы можете использовать в новых проектах сущности, ранее созданные в других проектах. Для этого воспользуйтесь функциями экспорта и импорта сущностей.

Для каждой сущности также можно отдельно импортировать записи в формате справочников именованных сущностей.

Экспорт

Для экспорта сущностей проекта перейдите в раздел Сущности и нажмите над списком сущностей. Будет скачан файл в формате JSON, содержащий сущности и их настройки. Вы можете использовать этот файл для импорта сущностей в новый проект.

подсказка
Вы также можете экспортировать проект полностью. Для этого напротив названия проекта нажмите Скачать. В экспортированном архиве в файле nlu.json содержатся данные NLU, в том числе сущности и их настройки.

Импорт

Для импорта сущностей перейдите в раздел Сущности и нажмите Импорт на верхней панели. Выберите файл и поведение системы при совпадении путей или названий сущностей. Нажмите Импортировать.

подсказка
В файле содержится массив сущностей со всеми базовыми и расширенными настройками, а также со всеми записями в справочнике.

Структура файла

Каждый объект в массиве содержит два поля: entity, содержащий настройки сущности, и records с данными по записям в справочнике.

Сущности

Объект в поле entity, содержащий настройки сущности, содержит следующие поля:

ПолеТипОписание
idЧислоИдентификатор сущности
nameСтрокаНазвание сущности
typeСтрокаТип сущности. Поддерживается только тип annotation
enabledЛогическийВключено ли распознавание сущности
noSpellingЛогическийОтключено ли исправление орфографии
noMorphЛогическийОтключено ли приведение слов к нормальной форме
fuzzySearchЛогическийВключен ли нечеткий поиск / поиск по подстроке
clientЛогическийЯвляется ли сущность клиентской

Записи справочника

Массив в поле records, описывающий записи в справочнике, содержит объекты со следующими полями:

ПолеТипЗначение
idЧислоИдентификатор записи
typeСтрокаТип записи: pattern для паттернов, synonyms для списка синонимов
ruleМассив строкПравила распознавания сущности
valueСтрокаСправочные данные по записи

Пример файла

Импортируемый файл должен быть в формате JSON. Пример корректного файла:

[
{
"entity": {
"id": 45002,
"name": "Сity",
"type": "annotation",
"enabled": true,
"noSpelling": true,
"noMorph": false,
"fuzzySearch": false,
"client": false
},
"records": [
{
"type": "pattern",
"rule": [
"(Москв*/МСК)"
],
"value": "{\n \"name\": \"Москва\"\n}",
"id": 1798875
},
{
"type": "synonyms",
"rule": [
"Санкт Петербург",
"СПб",
"Ленинград"
],
"value": "{\n \"name\": \"Санкт-Петербург\"\n}",
"id": 1798874
}
]
}
]

Импорт CSV

Вы также можете импортировать записи для отдельной сущности как справочник формата CSV. Для этого в поле Справочник для сущности нажмите Импорт справочника и загрузите нужный файл.

подсказка
Формат импортируемого файла полностью соответствует формату справочников именованных сущностей, подключаемых к сценарию.

Пример справочника сущностей для импорта:

1;Москва, МСК;{"name": "Москва"}
2;Санкт-Петербург, СПб, Ленинград;{"name": "Санкт-Петербург"}

При импорте справочника слова, перечисленные во втором столбце через запятую, переводятся в синонимы сущности. Объекты в третьем столбце будут сохранены как справочные данные по записи.