{
    "componentChunkName": "component---src-templates-doc-page-js",
    "path": "/docs/ru/NLU_core/rule_activation/",
    "result": {"data":{"site":{"siteMetadata":{"title":"Gatsby-doc-engine"}},"markdownRemark":{"id":"8dd14c43-5572-513e-873d-10b37c268468","excerpt":"Настройка правил активации Разработчик чатбота может сам определить механизм срабатывания стейтов при совместном использовании интентов, паттернов и групп…","html":"<h1>Настройка правил активации</h1>\n<hr>\n<p>Разработчик чатбота может сам определить <a href=\"/1.10.3/docs/ru/NLU_core/intent_detection\">механизм срабатывания стейтов при совместном использовании интентов, паттернов и групп примеров</a>.</p>\n<p>Функция-обработчик в качестве параметра получает контекст <code class=\"language-text\">ctx</code>, содержащий поле <code class=\"language-text\">nluResults</code>. Объект <code class=\"language-text\">nluResults</code> содержит следующие поля:</p>\n<ul>\n<li><code class=\"language-text\">patterns</code> — массив результатов от паттерн-матчера;</li>\n<li><code class=\"language-text\">examples</code> — массив результатов от примеров;</li>\n<li><code class=\"language-text\">intents</code> — массив результатов от интентов;</li>\n<li><code class=\"language-text\">selected</code> — результат, выбранный по умолчанию.</li>\n</ul>\n<p class='tip'>Для изменения источника результата измените значение поля <code class=\"language-text\">selected</code>.</p>\n</br>\n<h4>Пример</h4>\n<div class=\"gatsby-highlight\" data-language=\"sc\"><pre class=\"language-sc\"><code class=\"language-sc\"><span class=\"token keyword\">theme:</span>/\r\n\r\n    <span class=\"token keyword\">init:</span>                                                       //объявляем обработчик\r\n      \r\n        bind(\"selectNLUResult\", function(ctx) {                 //задаем обработчик для фазы `selectNLUResult`\r\n            log(ctx.nluResults);                                <span class=\"token comment\">// выводим результаты в лог</span>\r\n            \r\n        if (ctx.nluResults.intents.length > 0){\r\n          ctx.nluResults.selected = ctx.nluResults.intents[0];  <span class=\"token comment\">// используем результат от интентов</span>\r\n          return;\r\n        }\r\n        \r\n        if (ctx.nluResults.patterns.length > 0){\r\n          ctx.nluResults.selected = ctx.nluResults.patterns[0];  <span class=\"token comment\">// если результата от интентов нет, используем паттерны</span>\r\n          return;\r\n        }\r\n        \r\n        if (ctx.nluResults.examples.length > 0){\r\n          ctx.nluResults.selected = ctx.nluResults.examples[0];  <span class=\"token comment\">// если результата от интентов и паттернов нет, используем примеры</span>\r\n        }\r\n\r\n        })</code></pre></div>\n<ol>\n<li>В секции <a href=\"/1.10.3/docs/ru/JAICP_DSL/tags/declarative_tags/init\"><code class=\"language-text\">init</code></a> объявляем обработчик. Вы также можете задать обработчик в отдельном js-файле и подключить его в сценарии при помощи <a href=\"/1.10.3/docs/ru/JAICP_DSL/tags/declarative_tags/require\"><code class=\"language-text\">require</code></a>.</li>\n<li>Задаем обработчик для фазы <code class=\"language-text\">selectNLUResult</code>.</li>\n<li>Выведем результаты в лог: <code class=\"language-text\">log(ctx.nluResults)</code>.</li>\n<li>Далее задаем порядок использования результатов:\n<ul>\n<li>использовать результат от интентов: <code class=\"language-text\">ctx.nluResults.selected = ctx.nluResults.intents[0]</code>;</li>\n<li>использовать результат от паттерн-матчера: <code class=\"language-text\">ctx.nluResults.selected = ctx.nluResults.patterns[0]</code>;</li>\n<li>использовать результат от примеров: <code class=\"language-text\">ctx.nluResults.selected = ctx.nluResults.examples[0]</code>.</li>\n</ul>\n</li>\n</ol>","frontmatter":{"title":"","description":null},"headings":[{"value":"Настройка правил активации"}]}},"pageContext":{"slug":"/docs/ru/NLU_core/rule_activation/","previous":{"fields":{"slug":"/docs/ru/NLU_core/slot_filling/"},"frontmatter":{"title":"","description":null}},"next":{"fields":{"slug":"/docs/ru/NLU_core/project_migration/"},"frontmatter":{"title":"","description":null}}}},
    "staticQueryHashes": ["1209419333"]}