Инструкции/Чат-бот/Детекторы произвольных полей (сущностей)

 

Раздел "Детекторы произвольных полей (сущностей)" (NER — Named Entity Recognition) предназначен для создания и управления моделями распознавания сущностей, которые автоматически извлекают структурированные данные из текстовых сообщений пользователей.

Детекторы произвольных полей (сущностей) позволяют ИИ-агентам и чат-ботам автоматически определять в тексте ключевую информацию: имена, телефоны, адреса, номера заказов, даты и любые другие пользовательские поля (сущности). Это значительно повышает эффективность обработки запросов и позволяет автоматически заполнять профили клиентов.

 

  • Детектор произвольных полей (сущностей) (NER) — модель для извлечения структурированных сущностей из неструктурированного текста.
  • Произвольное поле (сущность) — тип данных, который детектор должен находить в тексте (Имя, Телефон, Адрес, Номер счета и т.д.).
  • RegExp — метод детекции с использованием регулярных выражений для поиска шаблонов (например, номера телефонов, email).
  • LLM — метод детекции с использованием языковой модели для семантического извлечения сущностей из контекста.
  • Сохранять результат — определяет, куда будет записано найденное значение: в поле пользователя, поле клиента или временную переменную.
  • Кастомный промпт — пользовательские инструкции для LLM, уточняющие, как именно детектировать сущности.

 

 

Просмотр списка детекторов

В таблице отображаются все созданные детекторы произвольных полей (сущностей) с колонками:

  • Название детектора — имя, идентифицирующее детектор.
  • Кол-во полей для детекции — количество произвольных полей (сущностей), которые настроен находить детектор.
  • Статус — включен или отключен.
  • Действие — кнопка редактирования.

 

Таблица списка детекторов произвольных полей (сущностей)

 

1. Выделение детекторов: Установите флажки в первом столбце таблицы или используйте главный флажок в заголовке для выделения всех.

2. Добавление нового детектора: Нажмите синюю кнопку "Добавить" в верхней панели.

3. Удаление детекторов: Выделите детекторы и нажмите красную кнопку "Удалить" (потребуется подтверждение).

 

 

Вкладки редактирования

При создании или редактировании детектора произвольных полей (сущностей) доступны две вкладки:

1. "Общее" — основная информация о детекторе.

2. "Настройки" — настройка произвольных полей (сущностей), методов детекции и сохранения результатов.

 

Вкладка 'Общее' детектора произвольных полей (сущностей)

Основные настройки детектора:

1. Название инструмента — имя детектора (обязательное поле). Должно быть понятным и отражать назначение (например: "Детектор контактных данных", "Детектор заказов").

2. Описание функции — подробное описание того, какие сущности детектирует инструмент и для каких целей используется.

3. Статус — включение/отключение детектора.

 

Вкладка 'Настройки' детектора произвольных полей (сущностей)

Кастомный промпт-инструкции для детектора:

Переключатель "Кастомный промпт-инструкции для детектора" позволяет включить использование пользовательских инструкций для LLM.

При включении появляется текстовое поле "Описание-инструкции для детектора (Промпт). Если пустое, будет использоваться нативный промпт.", где можно задать:

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

Пример: "Role: Ты — эксперт по обработке естественного языка (NLP) и извлечению структурированных данных. Может быть найдено несколько сущностей. Если не нашлось сущностей, не выводить."

Если кастомный промпт не задан или переключатель выключен, используется нативный промпт системы.

 

В таблице настраиваются поля (сущности), которые детектор должен находить в тексте, и способы их обнаружения.

Структура таблицы:

  • Произвольное поле (сущность) — название поля (например, Имя, Телефон, Адрес, Номер заказа). Поля отображаются в виде списка для выбора из существующих произвольных полей (сущностей) системы.
  • RegExp — использовать регулярное выражение для поиска (включено/выключено).
  • LLM — использовать языковую модель для семантического поиска (включено/выключено).
  • в поле пользователя — сохранять найденное значение в поле пользователя.
  • в поле клиента — сохранять найденное значение в поле клиента.
  • во временную переменную — сохранять найденное значение во временную переменную для дальнейшего использования.

Управление полями (сущностями):

1. Нажмите кнопку "+" в нижней части таблицы для добавления нового поля (сущности).

2. В выпадающем списке выберите нужное произвольное поле (сущность) из существующих в системе.

3. Настройте методы детекции (RegExp и/или LLM) и способы сохранения.

4. Для удаления поля (сущности) нажмите кнопку "✕" в строке поля.

5. Поля (сущности) можно перетаскивать (drag-and-drop) с помощью иконки "↕" для изменения порядка обработки.

Примечание: Поля (сущности) отображаются в виде списка выбора из существующих произвольных полей, что упрощает настройку и предотвращает ошибки ввода.

 

Методы детекции

RegExp (Регулярные выражения):

Используется для поиска текста по заданным шаблонам. Эффективен для структурированных данных с четким форматом.

Примеры шаблонов:

  • Телефон: \+7 \(\d{3}\) \d{3}-\d{2}-\d{2} или 8-800-\d{3}-\d{2}-\d{2}
  • Email: [a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}
  • Номер лицевого счета: \d{20}

LLM (Языковая модель):

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

Примеры:

  • Из фразы "Меня зовут Иван Петров" LLM извлечет "Имя" → "Иван Петров".
  • Из фразы "Мой номер +7 999 123-45-67" LLM извлечет "Телефон" → "+7 999 123-45-67".
  • Из фразы "Я живу по адресу ул. Ленина, д. 5, кв. 12" LLM извлечет "Адрес" → "ул. Ленина, д. 5, кв. 12".

Рекомендуется использовать комбинацию методов: RegExp для четких шаблонов и LLM для нестандартных формулировок.

 

Сохранение результатов

в поле пользователя — данные сохраняются в профиль пользователя в чате. Используется для персонализации общения.

в поле клиента — данные сохраняются в карточку клиента в CRM-системе. Используется для ведения клиентской базы.

во временную переменную — данные сохраняются во временную переменную сессии. Используется для промежуточных вычислений и передачи данных между сценариями.

Можно выбрать несколько вариантов сохранения одновременно.

 

1. Сохранить: Нажмите синюю кнопку "Сохранить" в верхней панели для сохранения всех настроек и создания/обновления детектора.

2. Назад: Нажмите серую кнопку "Назад" для возврата к списку без сохранения изменений.

При нажатии "Назад" система предупредит о несохраненных изменениях.

 

 

Связь между модулями

Созданные детекторы произвольных полей (сущностей) используются ИИ-агентами для автоматического извлечения структурированных данных из сообщений пользователей.

Как это работает:

1. Вы создаете детектор и настраиваете поля (сущности), которые он должен находить.

2. В настройках ИИ-агента на вкладке "Настройки" в разделе "Настройки детектора сущностей" выбираете нужный детектор.

3. При обработке сообщения пользователя ИИ-агент передает текст в детектор.

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

5. ИИ-агент использует извлеченные данные для формирования ответа или сохранения в профиль пользователя.

 

 

 

1. Понятные названия: Называйте детекторы так, чтобы было понятно, какие поля (сущности) они определяют (например: "Детектор контактных данных", "Детектор заказов", "Детектор финансовой информации").

2. Описание: Заполняйте поле описания детектора, указывая, для каких задач он предназначен.

3. Группировка: Создавайте отдельные детекторы для разных типов задач, чтобы упростить управление.

 

1. Для структурированных данных: Используйте RegExp для точного поиска по шаблонам (телефоны, email, номера документов).

2. Для неструктурированных данных: Используйте LLM для семантического извлечения (имена, адреса, описания).

3. Комбинированный подход: Включайте оба метода для максимальной точности. RegExp отлавливает точные совпадения, LLM обрабатывает нестандартные формулировки.

4. Приоритеты: Учитывайте, что при наличии обоих методов результат может обрабатываться в порядке приоритета.

 

1. Четкая роль: Определите роль детектора (эксперт по извлечению данных, анализатор текста).

2. Формат вывода: Укажите, в каком формате возвращать найденные сущности.

3. Обработка ошибок: Опишите, что делать, если сущность не найдена (например, "Если не нашлось сущностей, не выводить").

4. Примеры: Приводите примеры корректного и некорректного извлечения.

Кастомный промпт особенно полезен для специфических предметных областей (медицина, юриспруденция, финансы), где требуется точное понимание контекста. Промпт можно оставить пустым для использования нативного промпта системы.

 

1. Поле пользователя: Сохраняйте данные, которые нужны для персонализации общения в рамках чата.

2. Поле клиента: Сохраняйте данные, которые должны быть доступны в CRM-системе для ведения клиентской базы.

3. Временная переменная: Используйте для промежуточных данных, которые нужны только в рамках текущего сеанса диалога.

4. Избегайте дублирования: Сохраняйте данные только в те места, где они действительно нужны.

 

 

Детектор не находит нужные данные:

1. Проверьте статус детектора — должен быть "Включено".

2. Убедитесь, что нужное произвольное поле (сущность) добавлено в настройки детектора.

3. Проверьте включен ли метод детекции (RegExp или LLM) для данного поля (сущности).

4. Проверьте кастомный промпт — возможно, инструкции неполные или некорректные.

5. Проверьте текст сообщения — содержит ли он искомые данные в правильном формате.

 

RegExp не срабатывает для шаблона:

1. Проверьте синтаксис регулярного выражения — возможно, допущена ошибка.

2. Убедитесь, что формат данных соответствует шаблону (проверьте пробелы, знаки препинания).

3. Проверьте регистр символов — используйте флаг i для поиска без учета регистра.

4. Протестируйте регулярное выражение на тестовых данных в отдельном инструменте.

 

LLM детектирует неправильные данные:

1. Уточните кастомный промпт — добавьте более четкие инструкции и примеры.

2. Укажите в промпте формат вывода и правила извлечения.

3. Добавьте в промпт исключения — какие данные не должны считаться сущностями.

4. Проверьте, что в промпте корректно описана роль детектора.

 

Найденные данные не сохраняются:

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

2. Убедитесь, что в системе существует соответствующее поле для сохранения.

3. Проверьте права доступа на запись в профиль пользователя или карточку клиента.

4. Проверьте логи системы на наличие ошибок при сохранении.

 

Ошибки при сохранении настроек:

1. Проверьте, что заполнено обязательное поле "Название инструмента".

2. Убедитесь, что все настройки полей (сущностей) заполнены корректно.

3. Проверьте, что вы выбрали существующие произвольные поля (сущности) из списка.

4. Если ошибка сохраняется — попробуйте сохранить настройки по одной вкладке за раз.