Ну и где эта шаблон
Перейти к содержимому

Ну и где эта шаблон

  • автор:

Ну и где эта шаблон

Статья 30. Про шаблоны

Шаблоны можно разделить (условно, конечно) на множество категорий. Но вначале мы должны определиться, зачем нам шаблон?
Ну, самый простой ответ будет у читателя: — Чтобы легче было работать. Но это не самое главное в этом вопросе. Главное, сколько вы можете себе позволить времени на разработку. Чем длительнее этот процесс, тем качественнее будет шаблон.

Интеллектуальный

Самый первый мой шаблон брался из старого проекта и клепался на новый лад. Никакого времени на новый шаблон не требовалось. И так я достаточно долго работал. Потом мне представилась возможность сделать шаблон для двух тысяч объектов. В этом случае сроки сдачи были отодвинуты в далекое будущее, и ставка была на результат. Я начал все с чистого листа. Абсолютно все. Новые рамки, штампы, фигуры и идея. На тот момент вышел очень компактный, сверхсложный (как мне тогда казалось) и полностью автоматический шаблон. Пользователь лишь вводил данные и все. Объект готов. Но тут надо сделать отступление и рассказать вот о чем: В каждом шаблоне есть постоянная и переменная части. Что такое постоянная часть? Это титульный лист, штампы, адреса объектов, и возможно что-то из наполнения. Что такое переменная часть? Это та ситуация, которая есть на данном объекте. И тут встает самый главный вопрос перед разработчиком шаблонов. Конечное ли количество вариантов на объектах. Если ответ да, то насколько? Будет ли оправдано создание шаблона в этом случае. Поэтому в первом случае получалось 72 варианта на 2000 объектов. Соотношение более чем приемлемое для разработки шаблона. И именно из-за огромного количества времени на разработку я смог подумать и о таком факторе как компактность. Для простоты классификации такой тип шаблона я назвал интеллектуальным.

Шаблон с базой данных

Этот тип шаблона я также разрабатывал впервые. Было 18 конечных вариантов и около сотни объектов. Но времени было очень мало. Поэтому переменная часть бралась из базы данных и постоянная разрабатывалась без учета компактности. Сразу приходит на ум совместить эти два типа — интеллектуальный и с базой данных. Да, конечно, но пока такой задачи не ставилось. Хотя жутко интересный бы получился шаблон. Открыл, выбрал объект по базе и файл готов на печать.

Протошаблон

Это простой шаблон. Шаблон только с постоянной частью. Он может быть интеллектуальным или нет, это все на усмотрение разработчика. Но самое главное, надо понимать, что этот шаблон также создается. Хотя, конечно же, велик соблазн взять уже готовый шаблон, выкинуть из него все лишнее и вот, шаблон готов. На самом деле это не так. Любой шаблон содержит ошибки, но не ошибки разработчика шаблонов, а программ. Я уже не раз сталкивался с тем, что привнесенные в шаблон объекты «портили» шаблон и его уже нельзя было использовать по назначению. Возникали частые ошибки и т. д. Про удобство работы с шаблоном также не стоит забывать. Когда сам разработчик работает с шаблоном, это одно, а когда посторонний человек, это совсем другое. Хороший шаблон — это такой шаблон, с которым может работать любой пользователь, а не только Visio профи, или просто Visio пользователь.

В начало раздела Автор: Ничков Алексей (a.k.a. Digitall)

Синтаксис шаблонов

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

Для этого при добавлении нового интента используйте шаблоны с определенным синтаксисом.

По умолчанию, когда вы переходите в редактирование блока Интенты и начинаете добавлять строки, они добавляются как примеры фраз, а не как шаблоны. Об этом свидетельствует иконка

слева от каждой фразы. Чтобы сделать фразу шаблоном, нажмите на иконку

напротив каждой фразы. Она изменится на иконку

Что такое шаблоны фраз​

Шаблон — это последовательность слов и сущностей, которые обязательно должны встретиться во фразе клиента, чтобы бот на нее отреагировал.

При этом Aimylogic не будет расширять шаблон синонимами. Это похоже на регулярные выражения, но только с тем отличием, что шаблоны в Aimylogic имеют очень простой синтаксис, адаптированный к обработке запросов на естественном языке.

Синтаксис шаблонов​

Чтобы написать шаблон, нужно использовать специальный синтаксис. С помощью него можно описать очень гибкие выражения, которые должен понимать ваш бот.

Вот несколько простых примеров:

Этот шаблон, состоящий только из одного слова, позволяет боту реагировать только на точную фразу «привет». Если фраза будет отличаться хотя бы на один символ, она не будет распознана ботом.

  • * привет* *

В данном случае у слова «привет» могут быть разные окончания, а также до и после него может быть любое количество слов.

Этот шаблон позволяет боту реагировать на фразы наподобие «привет», «приветы», «приветики», «ну привет Алиса», «снова привет», «скажи мне привет» и подобные.

  • * ~яблоко *

Шаблон включает все словоформы существительного «яблоко», а также любое количество слов до и после данного слова.

Этот шаблон сработает, например, на фразе «дай мне два яблока, пожалуйста».

Так как тильда распознает только формы той части речи, в которой вы указываете слово в шаблоне, на словосочетание «яблочный сок» бот реагировать не будет. Также не будут распознаваться родственные слова с суффиксами, например, слово «яблочко».

Ниже представлен весь синтаксис шаблонов Aimylogic.

Слово​

Слово в шаблоне не расширяется синонимами, поэтому во фразе клиента оно должно появиться именно в том виде, в котором указано в шаблоне.

Звездочка​

Этот символ в шаблоне означает, что на его месте во фразе клиента

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *